PART 01 · CHAPTER 02

机器人怎样工作:任务—感知—估计—规划—控制闭环

一句话理解

机器人持续把“想完成什么”翻译成“此刻应施加什么动作”,再用传感器检查结果并修正下一步。

约 2,394 字约 5 分钟3 个来源2 幅教学图

一条闭环,多个时间尺度

假设任务是“从桌面拿起杯子并放入托盘”。任务层先把自然语言或业务指令转成可验证目标:杯子被稳定抓住、路径无碰撞、最终位姿位于托盘区域。感知层从相机、深度传感器、编码器和力传感器获得测量。状态估计层把带噪声、不同频率、不同坐标系的数据融合成“杯子在哪、机器人在哪、抓取是否接触”等内部状态。规划层选择抓取姿态、手臂路径和动作顺序。控制层在毫秒级计算关节电流、力矩、速度或位置命令。执行器产生真实运动,新的传感器数据又回到系统。

可以把通用闭环写成:

\[\mathbf x_{k+1}=f(\mathbf x_k,\mathbf u_k,\mathbf w_k),\qquad \mathbf z_k=h(\mathbf x_k,\mathbf v_k),\qquad \mathbf u_k=\pi(\hat{\mathbf x}_k,\mathbf g)\]

\(\mathbf x_k\) 是时刻 \(k\) 的真实状态,例如关节角、速度、物体姿态;\(\mathbf u_k\) 是控制输入;\(\mathbf w_k\) 表示模型没有描述清楚的扰动;\(\mathbf z_k\) 是传感器测量;\(\mathbf v_k\) 是测量噪声;\(\hat{\mathbf x}_k\) 是估计状态;\(\mathbf g\) 是任务目标;\(\pi\) 是根据估计和目标生成动作的策略。这个表达提醒我们:控制器很少直接看到真实世界,它看到的是估计;真实系统也不会精确服从模型,它总带扰动。

机器人里同时运行多层闭环。电机电流环可能以 10—40 kHz 运行,关节速度或位置环在数百赫兹到数千赫兹,全身控制常在数百赫兹,视觉感知可能只有 10—60 Hz,任务规划则可能每秒或事件触发一次。频率越高,容许的计算时延越小;高层输出若突然跳变,低层即使“跟得很准”也会制造冲击。因此各层之间需要限幅、插值、时间戳和状态机。

开环、闭环与前馈

烤面包机按固定时间加热是一种开环思路:系统发出动作后不检查结果。机械臂只回放一条预录轨迹也近似开环,一旦工件偏了就会抓空。闭环控制将目标 \(r(t)\) 与测量 \(y(t)\) 比较,误差为

FIGURE 01多时间尺度机器人闭环安全监督判断行动校验。安全监督高层目标与低层伺服通过状态和约束衔接。
图 1 机器人在不同时间尺度上重复同一件事:观察、判断、行动、校验。
\[e(t)=r(t)-y(t).\]

控制器依据 \(e(t)\) 调整输入。闭环能抵抗扰动,但测量噪声、时延和执行器限制也通过闭环进入系统。前馈利用已知模型预先给出大部分动作,例如根据机械臂动力学计算抵消重力的力矩;反馈再修正模型误差。工程中常把二者叠加:

\[\mathbf u=\mathbf u_{\mathrm{ff}}+\mathbf u_{\mathrm{fb}}.\]

任务成功需要可观测、可控和可恢复

“把杯子放好”若没有定义成功条件,机器人无法可靠收尾。可验证任务至少包含目标、约束、失败条件与恢复策略。目标可以是杯子中心进入托盘多边形且姿态保持直立;约束包括碰撞距离、夹爪力和速度;失败条件包括视觉丢失、抓取滑动、控制超时;恢复策略可以是退回安全位、重新观察或请求人工接管。

系统还要区分“世界没发生变化”和“传感器没看到变化”。相机遮挡时直接判断杯子消失,会让规划器产生错误动作;更稳妥的做法是降低置信度,主动换视角或暂停执行。闭环的价值也在这里:它持续检查证据强度,代码运行结束只是一条很弱的完成信号。

层与层之间需要明确契约

闭环失效常发生在模块交界处。规划器说“轨迹生成成功”,控制器仍需知道轨迹在哪个坐标系下生效、从什么时刻开始、可以使用多久、速度与力矩限制是什么;感知器说“检测到杯子”,任务层还需知道测量时间、位姿置信区间、遮挡状态和对象身份是否稳定。接口只传一个位置数组,会把这些前提藏进代码与口头约定,换硬件或调整频率后便容易出错。

一份可执行的模块契约至少描述数据语义、单位、坐标系、时间戳、有效期、质量指标和失效值。消费者在使用前检查这些条件。比如局部规划器可以规定激光数据最大年龄为 100 毫秒;超过时限便减速或停车。用“最近收到的一帧”继续运行会让通信正常掩盖数据陈旧。零值也要谨慎:距离为零可能表示紧贴传感器,也可能表示没有有效回波,二者需要不同编码。

不同频率之间还要定义保持与插值。视觉以 20 Hz 输出物体位姿,控制器以 1 kHz 运行;控制器不能把一帧观测当作每毫秒更新的新真值。它可以在短时间内按状态模型预测,在不确定性超过上限后停止接近。高层轨迹发送较稀疏的路点时,低层应生成连续的位置、速度和加速度参考;直接阶跃会把软件边界变成机械冲击。

FIGURE 02抓杯任务的证据链目标杯子入托盘并回读确认完成动作不等于完成任务终态需要传感器证据。安全监督成功条件和恢复策略是闭环的一部分。
图 2 完成动作不等于完成任务,终态需要传感器证据。

多个模块可能同时请求执行器:任务控制要求前进,避障要求转向,安全系统要求制动。系统必须规定仲裁优先级、抢占语义和命令过期规则。安全限制应当始终有效;新的运动目标只有在旧目标明确取消或完成后才能接管。若两个控制器轮流覆盖同一速度主题,机器人表面表现为抖动,根因却在所有权不清。

工程推演:传送带上的动态抓取

杯子随传送带移动时,一次静态“看见—规划—执行”很快过期。视觉给出杯子位姿与速度及其采集时刻,估计器预测机器人预计接触时的杯子位置,规划器生成带绝对时间的拦截轨迹,控制器跟踪并持续检查最新预测。若杯子加速度超出模型、图像连续丢失或预计拦截点越出工作空间,任务应在进入危险区域前放弃本次抓取。

这里的终态也分层验证:夹爪电流变化说明发生接触,试抬后的视觉与夹爪宽度共同说明杯子随手移动,传送带上目标消失只提供辅助证据。任何单一信号都可能误导,例如夹爪夹到传送带边缘也会出现电流峰值。闭环设计要把“证据组合”和“何时停止相信旧状态”写进任务逻辑。

工程例子:移动机器人停在玻璃门前

一个常见故障链是:激光雷达对透明玻璃回波不稳定,地图上门口看似可通行;全局规划器给出路径;局部规划器临近后反复看到稀疏障碍,速度在前进和刹停之间振荡。单独调低避障阈值会增加撞门风险,调高阈值又可能让机器人永远不通过。

完整解法需沿闭环定位责任:在感知层融合视觉或门禁状态;在地图层标注玻璃区域;在任务层允许请求开门并等待确认;在局部控制层设置停止距离和超时;在异常层把“多次重规划仍无进展”转成可恢复状态。这个例子说明,机器人问题很少天然属于某一个算法模块。

深入阅读