这几年,机器人正在变得越来越“聪明”。

从传统工业机器人,到协作机器人,再到近年来持续升温的具身智能,机器人正在快速获得越来越强的视觉感知、环境理解、路径规划和自主决策能力。尤其是AI技术进入机器人领域之后,机器人开始从过去的“按照固定程序重复动作”,逐渐向“感知环境—理解任务—自主决策—执行动作”的方向发展。

过去我们讨论机器人,更多关注的是:

  • 机械臂能不能动得更快?
  • 控制精度够不够高?
  • 视觉识别准不准?
  • AI算法够不够聪明?
  • 算力够不够强?

但当机器人真正开始走向复杂环境,一个看似基础的问题反而越来越重要:

机器人做出正确判断之后,能不能在正确的时间完成动作?

这就是实时性。

更准确地说,是确定性的实时响应能力。


一、机器人“聪明”了,为什么还需要实时性?

理解这个问题,可以先把一个机器人的工作过程简单拆开。

例如,一台机器人要完成“发现物体并抓取”的任务,大致会经历:

传感器采集

视觉/环境感知

AI识别与决策

路径规划

运动控制

电机驱动

机械结构执行

整个过程看起来像是一条连续的数据链路。

其中,AI主要负责解决:

“我看到了什么?”

“我应该做什么?”

而控制系统则需要解决:

“应该在什么时候做?”

“具体应该怎么动作?”

这两个问题其实并不完全相同。

例如,视觉系统发现一个目标后,AI经过计算判断机械臂应该向右移动10厘米。

但如果控制指令没有在预期时间内下发,或者控制任务受到其他计算任务影响,机械臂实际执行的动作就可能出现延迟。

因此:

AI决定机器人“想做什么”,实时控制决定机器人“能不能及时做到”。

这也是为什么AI越深入机器人系统,底层实时性反而越值得关注。


二、实时性不是简单的“速度快”

提到实时系统,很多人的第一反应是:

“是不是CPU越快,实时性就越好?”

其实并不完全如此。

实时系统真正关注的核心概念之一,是:

确定性(Determinism)

也就是说,系统不仅要快,更要能够预测:

一个任务最坏情况下需要多长时间才能得到响应。

举一个简单的例子。

假设一个机器人控制任务理论上要求在1毫秒以内完成响应。

系统A的响应时间可能是:

0.85ms 0.92ms 0.97ms 1.01ms 0.95ms

系统B可能是:

0.30ms 0.40ms 0.50ms 0.60ms 8.00ms

如果只看平均响应时间,系统B可能看起来并不差。

但对于机器人控制来说,真正值得关注的可能恰恰是那个:

8ms

因为机器人不是每次都在等待一个平均值。

而是在实时运行的物理世界里不断执行控制闭环。

一次不可预测的长延迟,就可能影响某一个控制周期。


三、实时系统最怕的,其实是“抖动”

在实时系统中,经常会看到一个概念:

Jitter——延迟抖动。

简单理解,就是:

同一个任务每次响应所花费的时间并不完全一样。

例如某个控制任务理论上每1ms运行一次。

理想状态:

1ms → 1ms → 1ms → 1ms → 1ms

这意味着系统具有非常稳定的周期性。

但实际系统可能出现:

0.8ms → 1.1ms → 0.9ms → 1.4ms → 3.2ms

这就是一种响应时间抖动。

对于普通应用程序而言,这种波动可能并不会产生明显影响。

但对于机器人运动控制、工业控制等需要持续闭环运行的系统来说,抖动越大,系统的确定性通常越难保证。

因此,实时系统通常需要同时关注:

平均延迟

最大延迟

延迟抖动

任务调度延迟

中断响应时间

而不仅仅是CPU主频或者单次执行速度。


四、机器人为什么特别容易遇到实时性问题?

因为现代机器人已经不是单一任务系统。

一台机器人可能同时运行:

  • 摄像头
  • 激光雷达
  • IMU
  • 力传感器
  • 视觉算法
  • AI推理
  • 路径规划
  • ROS相关节点
  • 网络通信
  • 电机控制
  • 状态监控
  • 日志系统

这些任务对计算资源的需求并不一样。

例如:

视觉算法

可能需要大量CPU/GPU计算。

AI推理

可能需要持续占用大量算力。

日志和数据记录

可能产生大量磁盘或者网络I/O。

但:

电机控制任务

可能只需要很少的计算量,却要求极高的时间确定性。

这就形成了一个非常典型的矛盾:

计算量最大的任务,不一定是时间要求最严格的任务。

如果操作系统没有很好地处理不同任务之间的优先级关系,就可能出现:

AI任务很忙,控制任务却在等待。

而对于机器人而言,这显然不是理想状态。


五、Linux在机器人领域为什么如此重要?

说到机器人操作系统,Linux是绕不开的。

原因很简单:

Linux拥有非常成熟的软件生态。

从驱动、网络、文件系统,到编译工具、开发框架以及各种开源软件,Linux已经成为现代机器人和嵌入式计算平台的重要基础。

同时,机器人领域大量使用的:

  • ROS/ROS 2
  • OpenCV
  • Python
  • C/C++
  • CUDA相关生态
  • 各类AI框架

都能够很好地与Linux环境结合。

因此,机器人开发者通常并不希望为了实时性而完全放弃Linux生态。

真正的问题变成了:

能不能在保留Linux生态优势的同时,让关键控制任务拥有更好的实时响应能力?

这也是实时Linux技术受到关注的重要原因。


六、普通Linux为什么不一定适合严格实时控制?

Linux是一套通用操作系统。

它需要同时负责:

  • 进程调度
  • 内存管理
  • 文件系统
  • 网络通信
  • 设备驱动
  • 中断处理
  • 多任务运行

通用操作系统需要在性能、吞吐量、响应能力和系统功能之间进行综合平衡。

但实时系统的要求有所不同。

对于一个实时任务来说,它可能更加关心:

我什么时候能够得到CPU?

高优先级任务能不能及时抢占低优先级任务?

发生硬件中断之后,系统多久能够响应?

系统负载升高之后,最坏响应时间会不会突然增加?

这些问题涉及Linux内核的调度、抢占、中断以及锁等底层机制。

所以:

实时Linux并不是简单地把Linux“跑快一点”,而是要进一步控制系统响应时间的可预测性。


七、操作系统调度为什么会影响机器人?

假设机器人当前正在执行一个电机控制任务。

此时系统中同时运行:

  • AI推理
  • 图像处理
  • 网络通信
  • 文件写入
  • 日志记录

如果这些任务与控制任务竞争CPU资源,那么操作系统就必须进行调度。

对于普通应用来说:

“晚一点执行也没关系。”

但对于控制任务:

晚一点可能就意味着错过当前控制周期。

因此,实时操作系统通常会给不同任务设置不同优先级。

例如:

高优先级:电机控制
        ↓
中优先级:传感器处理
        ↓
低优先级:日志、数据记录

当高优先级实时任务需要运行时,系统需要尽可能快速地让它获得执行机会。

这背后涉及的就是:

任务抢占、调度策略以及内核实时化。


八、中断响应同样是实时系统的关键

除了任务调度之外,还有一个经常被忽略的问题:

中断。

机器人系统中存在大量需要及时处理的硬件事件。

例如:

  • 传感器数据到达
  • 编码器产生信号
  • 网卡接收到数据
  • 电机控制器产生事件

硬件发生事件之后,会通知CPU进行处理。

从事件产生到系统真正开始处理,中间存在一个时间窗口。

如果这个时间窗口不稳定,就会形成:

中断响应延迟。

因此,一个真正的实时系统,需要同时关注:

中断响应

任务唤醒

任务调度

任务执行

这整个链路的时间确定性。


九、实时Linux和硬实时是一回事吗?

这里也需要特别区分。

实时Linux更多描述的是一种面向Linux生态的实时增强技术或操作系统方案。

而:

硬实时(Hard Real-Time)

强调的是任务的时间约束。

例如一个任务规定:

必须在100微秒以内完成。

如果偶尔超过这个时间,就可能导致系统功能失败。

这就是非常严格的硬实时要求。

因此:

实时Linux并不意味着在任何场景下天然满足硬实时要求。

一个系统到底能不能满足具体的硬实时需求,还需要结合:

  • CPU
  • 芯片架构
  • 内核
  • 驱动
  • 中断
  • 调度策略
  • 应用程序
  • 系统负载

等因素进行测试。

这也是为什么讨论实时性能时,不能只看操作系统名称,而需要看实际测试结果。


十、AI越强,实时控制为什么可能越重要?

这可能是未来机器人发展中一个非常值得关注的趋势。

随着AI进入机器人系统,机器人同时承担的计算任务会越来越多。

过去可能只是:

传感器 → 控制器 → 电机

未来则可能变成:

多传感器感知 ↓ 视觉处理 ↓ AI推理 ↓ 环境理解 ↓ 路径规划 ↓ 实时控制 ↓ 电机执行

系统复杂度明显提高。

AI带来的算力需求越来越大,但控制任务对响应确定性的要求并不会因此降低。

相反:

当更多计算任务进入同一个系统之后,如何保证关键实时任务不受到其他任务影响,可能会变得更加重要。

因此,未来机器人基础软件可能越来越需要同时解决两个问题:

第一类:高性能计算

解决:

“算得出来。”

第二类:确定性实时控制

解决:

“及时做得到。”

这两种能力并不是互相替代,而是互相配合。


十一、国产实时操作系统正在成为新的基础软件方向

除了实时性之外,机器人和工业设备对操作系统还有一个越来越重要的要求:

自主可控。

随着国产芯片、国产服务器以及国产工业软硬件生态不断发展,底层操作系统需要解决的问题已经不只是“能不能运行”。

企业还需要关注:

  • 能否适配国产芯片
  • 是否具备实时能力
  • 系统是否安全可靠
  • 软件栈是否自主可控
  • 能否适应工业应用环境
  • 是否能够提供持续的技术支持

因此,国产实时操作系统也逐渐成为工业软件基础设施中的一个重要方向。

以望获OS为例,其定位是全栈国产嵌入式硬实时操作系统研发与技术服务,产品体系包括望获rtLinux、望获rtEuler、望获zepLinux等,重点面向硬实时、工业控制、边缘计算等应用场景。

其关注的核心能力包括:

亚微秒级硬实时、高安全、高可靠、全栈自主可控,以及国产芯片与工业生态兼容。

对于机器人、工业控制等需要确定性响应的设备而言,操作系统已经不再只是一个“把应用程序运行起来”的软件。

它正在逐渐成为连接:

芯片

操作系统

中间件

AI算法

控制应用

执行机构

的重要基础。


十二、机器人未来真正需要的,可能不是“更快”,而是“更确定”

机器人正在快速进入更加复杂的应用环境。

AI让机器人能够理解更多信息,视觉让机器人能够感知环境,算法让机器人能够进行自主决策。

但最终,所有这些能力都必须通过真实的硬件动作体现出来。

因此机器人真正需要解决的问题,可能会从:

“机器人能不能做?”

逐渐变成:

“机器人能不能稳定、准确、及时地做?”

这背后对应的,就是实时性。

未来机器人系统可能会越来越强调:

更高算力

更低延迟

更小抖动

更强确定性

更高可靠性

而操作系统,则是这些能力落地的重要基础。


写在最后

机器人越来越聪明,并不意味着操作系统的重要性下降。

恰恰相反。

当AI、视觉、感知、规划等技术不断进入机器人之后,系统需要同时处理的任务越来越复杂。

AI解决的是:

机器人应该做什么。

实时系统解决的是:

关键任务什么时候做,以及能不能在规定时间内完成。

而真正决定机器人能否稳定工作的,是从算法、操作系统到硬件执行之间的整个链路。

所以,下一阶段机器人技术竞争的重点,可能不仅仅是:

谁的AI模型更聪明。

也可能是:

谁能让AI的决策,以更加稳定、确定和及时的方式作用于现实世界。

从这个角度看,实时性并不是机器人智能化之后被忽略的底层技术,反而可能成为机器人从“会思考”走向“可靠行动”的关键基础能力之一。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐