实时控制
Real-Time Control常用控制程序按固定周期读传感器、算指令、发给电机,每一拍都必须准时完成。
实时控制指控制程序按固定周期(如每 1 毫秒)读取传感器、计算指令并下发给电机,而且每个周期都必须在截止时间前完成。这里的实时强调准时、可预期,而不是算得快:硬实时系统错过一次截止时间就算失败,软实时只会让效果变差。例如 Franka 机械臂的 libfranka 以 1 kHz 执行用户的控制回调,官方要求工作站使用 PREEMPT_RT 实时内核、以实时优先级运行控制程序。具身智能系统里常见的分工是:VLA 等大模型以几到几十 Hz 推理出目标,底层关节控制在实时回路里以数百到上千 Hz 跟踪。
例子用 libfranka 给 Franka FR3 做力矩控制时,回调函数每 1 毫秒被调用一次,读入机器人状态、返回 7 个关节力矩;如果电脑卡顿导致连续 20 个以上数据包丢失,控制回路会抛出 communication_constraints_violation 并停止。
- 也叫
- 实时控制回路、实时控制循环
- 相关
- 控制频率、硬实时、实时操作系统、实时内核补丁、时间抖动、控制延迟
- 来源
- Wikipedia: Real-time computing
Franka FCI 文档:libfranka Overview(1 kHz 控制回路、丢包处理)
Franka FCI 文档:Setting up the Real-Time Kernel