开环控制与闭环控制:为什么反馈会赢
反馈是开环控制与闭环控制之间的分界线。它如何重塑你采集什么、策略如何训练,以及各自会在哪里失效。
一个开环机器人就像一支掷出去的飞镖。它只瞄准一次,然后执行一段固定的动作序列,指望世界恰好停在它预期的地方。把每个物体都固定死,把每一处扰动都去掉,这套办法就漂亮得很。可只要一个零件挪动两毫米,整段动作就会从目标旁边飞过去。
一个闭环机器人则在运动时一边看。它把感知到的与意图中的不断比较,并持续修正。就这一个区别,即策略是否对反馈作出反应,几乎改变了上游的一切:你需要的控制频率、你必须读取的传感器,以及最要紧的,你为训练它而必须采集的数据。
这道鸿沟之所以重要,是因为大多数机器人学习一边默默假设闭环行为,一边采集只支持开环执行的数据。正是这种错配,让许多本有希望的策略在与现实接触时死掉。
这两个词到底是什么意思
在开环控制中,策略产生一个计划,然后盲目地执行它。反馈如果有的话,也只用在运动开始之前,而不是运动进行之中。它快、也简单,同时脆弱得恰如你所料。模型与世界之间的任何误差都会累积,因为没有任何东西在盯着去纠正它。
开环并不是一个错误,也不是一件遗物。在结构化、可重复的场景里,它可能才是正确的选择。一个每个零件都装在夹具里、以已知位姿定位好的抓取与放置工位,用开环跑得又快又稳,因为没有不确定性需要反馈去消解。麻烦从世界不再配合的那一刻开始,而在夹具之外,多数时候世界都不配合。
闭环控制则把感知放进了动作环路之内。策略观测、动作、再观测、再调整,每秒重复许多次。现代视觉运动策略几乎按定义就是闭环的:像 NVIDIA Isaac GR00T 背后那样的网络,把最新的相机画面与关节状态映射到下一个动作,然后不断重复。反馈不是外挂上去的特性,它就是架构本身。
为什么反馈改变了你必须采集的东西
下面这一点常常让团队措手不及。训练一个闭环策略,需要的不只是对理想轨迹的一段干净录制。它需要看到专家在事情稍稍出错时如何反应,因为那个反应,才是你真正想学的行为。
想想一位示范者在抓取打滑时会做什么。他感觉到了,调整握力,重新摆位,然后恢复,这一切都不经意识。开环数据集把这些统统丢掉,只留下那条平滑的成功路径。而闭环数据集必须捕捉到这些修正:那些只因为人在实时感知反馈才存在的、微小的反应性调整。这正是像 DROID 这样、由人处在控制环路之中录制的遥操作数据集,携带着脚本化或回放轨迹根本不具备的信号的原因之一。
为什么完美的示范还不够
这里有一个众所周知的陷阱。只用专家那些无瑕的运行来训练,策略就永远看不到它自己那些小错误将把它带入的状态。第一个误差把它带到训练数据从未去过的地方,从那里开始,它便不知所措。经典的解法,是去采集策略真正会经过的那些状态上的数据,包括那些专家自己永远不会走到的别扭状态。这很贵,而这恰恰是开环采集装置记录不下来的那种数据。
它同时抬高了对同步与频率的要求。如果那次纠正性反应发生在 50 毫秒内,而你的采集把视觉与力记录在不同的时钟上,那么恰恰是教会恢复的那个信号,就被抹糊掉了。Berkeley BAIR blog 关于反应式操作的研究一再回到这一点:价值在于快速反馈,而快速反馈对时序毫不宽容。
把差异数清楚
这两种控制范式提出的要求确实不同,既对机器人,也对其背后的数据集。
| 维度 | 开环 | 闭环 |
|---|---|---|
| 运动中的感知 | 不使用 | 连续 |
| 典型控制频率 | 规划一次,执行 | 10 至 200 以上 Hz |
| 对扰动的鲁棒性 | 低 | 高 |
| 数据需求 | 理想轨迹 | 反应、修正、恢复 |
| 主要失效模式 | 累积漂移 | 延迟、时序错误 |
顺着最后两行读下来,教训就很清楚了。一份只有完美运行的数据集,就是一份开环数据集,无论你日后在它上面训练的是什么架构。
动作分块,务实的折中
纯粹的逐步闭环控制有它的代价:一次只预测一个动作,会让运动抖动、运行起来也昂贵。于是一种流行的折中出现了。预测未来一小段动作分块,执行其中一部分,然后用新的观测重新规划。它在分块边界处是闭环的,在分块内部则是开环的。
这正是若干近期策略背后的模式,包括 Physical Intelligence blog 所描述的工作。它换来了更平滑的运动和更低的算力,又没有完全放弃反馈。对采集而言,这意味着分块长度是一个你必须尊重的参数:你的数据必须能支持策略在它真正运行的那个频率上重新规划。
延迟是人们最容易低估的失效模式。一个反应太慢的闭环策略,实际上又变回了开环:等它响应过来,它本该纠正的那个时机早已过去。这就是为什么控制频率和端到端延迟值得被当作数据集的头等属性来对待,而不是事后才想起的东西。一段以目标机器人无法匹配的频率录制的示范,教的是机器人永远执行不了的反应。
一份只有完美轨迹的数据集,教会机器人如何成功,却从不教它如何恢复。而部署两者都需要。
为你将要运行的那个环路而采集
开环与闭环并不是让你二选一的对立哲学。几乎每一个有能力的机器人,在要紧之处都是闭环的,真正有意思的决定,是关于频率、感知,以及数据必须包含什么。陷阱很微妙。你可以搭一个闭环架构,却用开环数据去训练它,然后永远想不明白为什么它在世界一推回来的那一刻就崩了。采集那些修正,尊重那个时序,并让数据匹配机器人真正要闭合的那个环路。这就是一个只擅长示范的策略,与一个能熬过真实轮班的策略之间的区别。