能跑百米纪录的机器人,最难的一关是停下站住
2022 年,俄勒冈州立大学的双足机器人 Cassie 以 24.73 秒跑完 100 米,创下吉尼斯世界纪录。同一场试跑里最让团队紧张的,不是冲刺阶段的速度,而是过终点后的那几米:机器人能不能稳稳站住。项目参与者 Alan Fern 后来用一句话点破了这件事:站立状态下的起步和停止,比奔跑本身更难,就像起飞降落比巡航更难。这句话初听反直觉:跑都跑得这么快了,停下不过是把速度设成零。而整篇要读的,正是它压出来的那个问句:为什么能跑不等于能安全停,"能安全停"又由谁来保证?Cassie 100m
做过机器人控制的人知道,"停下来"不是把速度设成零那么简单:机器人有惯性、有接触、有跌倒动力学,停止本身就是一项受控任务,动力学并不把"停"当成默认能力。所以问句的后半段,"由谁保证",必须由设计来答。答案是生产机器人的安全分水岭:不在把碰撞和损伤惩罚调得更重,而在于把任务策略降格成一个随时能被否决的提议者。只有独立安全层确认系统仍处于可恢复域、并保有安全停机路径时,动作才允许执行。
1. 成功率再高,也抵不过那一次停不下来
开篇那句 Alan Fern 的话,把全文要面对的问题压成了一个问句:为什么能跑不等于能安全停,而"能安全停"这件事,又由谁来保证?前半句是现象:机器人的动力学并不把"停"当成默认能力;后半句是设计:即使停很难,也要有一层独立机制握着否决权替它兜底。两个半句是同一个问题的两面,不是两个并列的话题。这一章先答前半句,从动力学和任务层各找一份证据,说明停得住不是速度的副产品,成功率那张平均数的账本也看不见它;证据摆完,后半句"由谁保证"自然落到眼前。
停止是一条受控轨迹,不是"不再发动作"
先看 Cassie 的百米控制器是怎么组织的。它由五个阶段拼接而成:起跑线后站立、加速到顶速、稳态奔跑、过终点减速至原地踏步、落脚恢复静态站立。论文里说得直白:阶段 1、4、5 是拿纪录的必要条件,它们不决定成绩,但搞砸任何一个,纪录就没了。也就是说,成绩是靠速度跑出来的,纪录却是靠"停得住"保下来的。看仿真里的速度曲线:

图注:Cassie 百米跑的仿真速度曲线。竖线是过终点线的时刻,之后速度没有瞬间归零,而是先减速、进入原地踏步(step-in-place),最后才稳定回零;圆点标出奔跑策略与站立策略之间的切换点。Cassie 100m
为什么减速段要拆成"减速加原地踏步"这么曲折?因为奔跑和站立是两套不同的控制器。奔跑策略被特化了正向速度,它做不到静态站立,最接近"停"的表现是速度指令给零时在原地踏步;而原地踏步策略恰恰拥有撑起稳定站姿的能力,能在脚摆到最高点时把身体带向动量方向、形成宽站姿。麻烦在于,站立策略没有"相位"概念,它不知道自己现在该抬左脚还是右脚,所以交接不能等一个定时器,必须等一个步态相位事件:某只脚到达最高点的瞬间。
论文把这段交接做成了一份失败率阶梯。完全不加同步时,站停几乎必然失败,硬件和仿真里的成功率都不到 10%;加上 apex 相位等待,成功率升到约三分之二;再补一招,把奔跑策略的速度指令设成一个小的负值,让它能外推着"倒着踏步"贴回站立策略,成功率才升到 100%,模拟中 20 余次试跑全部成功。Cassie 100m

图注:Cassie 原地踏步两个步态周期内左右脚的高度曲线。竖虚线标出每只脚到达最高的时刻,控制器等这个相位事件出现才切换恢复策略。恢复控制器的交接是按步态相位同步的,不是按时钟延迟。Cassie 100m
这段过程没有一个动作是把奖励调得更重换来的。每一步提升都是把一个控制协议补完整:加同步门、加踏步桥接、最后加负速度指令。它证明了一件事,停止不是一个"不再发动作"的默认能力,而是一段必须被专门设计出来的受控减速轨迹。
平均数的账本里,藏着一批"成功但违规"的回合
双足机器人的故事是动力学层的证据。顺着任务层再看,数据同样刺眼:高成功率和不安全,本来就不是一回事。
SafeVLA-Bench 在 LIBERO 桌面上评测了当前最强的 VLA(视觉-语言-动作)模型。三支最强的基线的平均成功率都超过 94%,但按任务专用的形式化安全规范复核,安全回合率只有 85% 到 87%。也就是说每一百个回合里,有十三到十五个是违规回合:任务判定完成了,过程里却撞倒了东西、杯子斜得快洒了、或者关节输出越了限。成功率是平均数的游戏,两千次里出一次严重事故,成功率照样是 99.95%,平均数把灾难摊薄了。SafeVLA-Bench

图注:左图为成功率(横轴)与安全率(纵轴)的散点,虚曲线是非支配前沿;右图按场景交互、物体操作、执行三类违规展示回合违规率热图。点向右移动不必然向上移动,两轴明显不共线,高成功率与高安全率不是一回事。SafeVLA-Bench
ForesightSafety-VLA 从过程级给了同向证据:把安全拆成 13 类后逐个测,所有基线的累计安全成本都不是零,最强的模型也在 12.5% 的成功回合里带着违规完成。ForesightSafety-VLA
这些数据指向一个尴尬的处境:模型的灵活性和安全合规很难兼得。工业面板操作是典型场景,手册分散、安全条款强依赖设备状态,传统脚本安全但僵硬,大模型规划灵活但动不动就违规。这正是全文要面对的问题:

图注:工业面板操作的核心困境。传统脚本方法安全但僵硬,foundation-model 规划灵活但容易违规;目标是保留灵活性的同时获得可验证、可闭环纠错的安全规划。PanelShield
到这里,开篇问句的前半句已经有了答案。成功率高是平均数的游戏,一次灾难可以被大量成功摊薄;停止是受动力学约束的控制任务,必须当独立一环设计。那么后半句就摆在面前:如果不能指望模型自己变安全,动作落地之前,由谁把关?
2. 安全由谁说了算:让模型只提议,让独立层否决
Simplex:把提议、监控、恢复拆成三个角色
"谁把关"这个问题,上世纪 90 年代的 Simplex 架构给过一个经典答案:把不可信的部分和可信的部分分开。高性能但不可信的先进控制器(AC)只负责提议动作;可信的恢复控制器(BC)负责兜底;决策模块(DM)盯着系统状态,判断继续用 AC 会不会在可预见的将来越界,一旦越界就切到 BC。AC 在什么时候被换掉,由 DM 决定,和 AC 自己无关。这叫安全与性能解耦:任务策略再怎么聪明,也碰不到安全层的决定权。

图注:左为传统 Simplex 架构,右为 Black-Box Simplex 架构。传统版本要求恢复控制器 BC 与决策模块 DM 都静态可验证,构成可信基;Black-Box 版本把 BC 降级为不必静态验证的前视控制器,改由 DM 在运行时做检查来替代静态验证。BSA
为什么要出现右边这个变体?因为到了 2021 年,人们想把 Simplex 用在模型预测控制(MPC)和神经网络控制器上,这两类东西的输出来自优化和学习,静态验证基本验不动。Black-Box Simplex 的做法是放弃对 BC 的静态验证,把把关责任交给 DM 的运行时检查:DM 拿 AC 的当前指令当种子,让 BC 生成一串候选控制序列,DM 自己检查序列是否安全,最坏情况下回退到最近一次已验证安全并缓存下来的序列。这样 AC 可以是黑箱、BC 也可以是黑箱,安全由 DM 的运行时检查兜住。这个设计在七机器人仿真里真实跑通了:

图注:七个机器人的仿真时间序列(k=1 初始、k=10 演化、k=11 恢复控制器输出不安全序列、k=32 到达目标)。k=11 处决策模块拦截了不安全的候选序列,退回已缓存的安全序列,系统仍完成任务。这是仿真结果,不代表真实部署。BSA
把安全从奖励里拎出来:一个不等式,而不是一笔罚金
Simplex 和它的后继者共享一个形式化框架,叫 Runtime Assurance(RTA,运行时保障)。RTA 把自己插在主控制器和被控对象之间:主控制器输出期望输入 $u_d$,RTA 输出保证安全的实际输入 $u_a$,且 RTA 对主控制器完全无感,换谁当提议者都不影响安全层的正确性。

图注:(a) 是经典的反馈控制回路;(b) 在性能控制器与被控对象之间插入 RTA 块,把状态与期望输入映射为受保障的实际输入。RTA 就是加在性能控制器输出上的一个安全过滤器。RTA Survey
这一步解释了上一章遗留的问题:为什么给奖励加碰撞惩罚不够。Shielded Learning 的对比很直接。把安全折算进奖励函数(reward shaping),本质是把安全变成一项能跟任务收益讨价还价的软约束,权重难调,还可能损伤性能,而且它在运行期不保证任何一次动作安全。RTA 的护盾式做法不同:在动作给出去之前,把越界的输入过滤掉。安全是一个独立子问题,由独立机制执行,这才叫硬约束。RTA Survey
2024 年的 Safety Filter 综述把整个领域收束成一张图:任何正确的安全过滤器都由三件套组成。任务策略 $\pi_T$ 提议控制输入;安全监控器 C 判断这个提议安不安全;干预机制 S 决定放行、修改还是替换;监控器背后通常还站着一个恢复策略 $\pi_R$ 作为兜底参照。论文里还给出了一个统一定理:只要这三件套满足一个监视条件,闭环系统对所有可能的任务策略都保持安全。Safety Filter

图注:安全过滤器的通用结构。不受信任的任务策略 π_T 提出控制输入,安全监控器 C 结合恢复策略 π_R 判断是否安全,干预机制 S 最终输出受保障的输入。这一结构与前面的 RTA 图同构,只是把角色拆得更细。Safety Filter
这一拆,安全就从"可权衡的惩罚项"变成了"不能被任务收益买掉的状态不变量"。所谓可恢复域,就是系统还能被安全拉回来的状态集合;策略的每一步提议,只有在不把系统推出这个集合时才被放行。保证这一点靠的不是更高的模型分数,而是结构:提议者、监控者、恢复者各司其职。Simplex、CBF、可达性分析,全都落在同一套坐标系里。
机制有了,可今天的主角已经从传统控制器换成了大模型规划器。把否决权装进 LLM 规划器时,这套三件套长什么样?
3. 把否决权装进大模型规划器:可定位、可拒绝、可复验
PanelShield:LTL 查时序,Safety FSM 查合法性
2026 年 8 月,华中科技大学团队提交了两篇同作者组的工作,把"提议、监控、恢复"搬到了 LLM 规划器上。PanelShield 处理工业面板操作:用户用自然语言下指令,一个 VLM 规划器生成候选操作序列。难点在于这份序列既要满足跨步骤的时序约束(例如先回 OFF 才能切换方向),又要满足每一步在当前状态下的合法性(互锁触发时这个动作被禁止)。
PanelShield 给候选序列上两道并行检查。LTL(线性时序逻辑)检查跨步骤的时序性质。它表达的是跨步骤的先后顺序与"必须/禁止",能直接指到最早违反的那一步;Safety FSM(安全有限状态机)检查单步动作在当前状态下是否合法,返回首个非法步骤和人可读的原因。两层检查把违规组织成"规则、位置、原因"三元组,喂给修复循环:

图注:PanelShield 核心闭环。VLM 规划器从指令、设备状态和手册证据生成候选计划,转成可计算的执行 run 后,LTL 时序检查与 Safety FSM 合法性检查并行把关;违规触发结构化反例生成与反馈引导修复,循环到两层都通过才输出可执行计划。这是任务级计划闭环,不含底层运动控制回路。PanelShield
"可定位"在这里不是修辞。看具体案例:任务指令是"local 模式下的低速前进冷启动",初版计划被检测出违反"方向切换必须先回 OFF"这条规则。系统不是丢一句"计划有风险"了事,而是把最早违规的步骤、对应的规则、相关手册条款一起回灌给规划器,让它定点修补后重新验证:

图注:一次反例引导的闭环修复。计划违反"方向切换必须先回 OFF"被拒绝执行,违规原因被回灌给生成器,重新生成并重新验证直到通过。这张图只展示一次成功的修复迭代,不代表平均修复成功率。PanelShield
数字上,PanelShield 在 300 条多层级指令上把违规率压到 2.7%,总延迟 4.1 秒。这个数字要读两句。一方面它显著优于"LLM 直接生成加事后裁判"的基线;另一方面,作者自己写明,2.7% 的残存违规对无人值守的安全关键部署不可接受。别把它当成量产许可,它证明的是这条路能跑通。PanelShield
MaCoPlanner:修不好就拒绝,把否决权执行到底
同一天提交的另一篇 MaCoPlanner 补上了"可拒绝"这一环。它先把异构的工业手册编译成类型化的中间表示(程序、安全、参数、关系四类知识),规划时按当前设备状态检索相关证据,并在物理执行之前做主动验证:

图注:MaCoPlanner 三段流水线。(a) 手册被编译成类型化知识库;(b) 证据条件化的初始规划;(c) 物理执行前的主动安全验证,验证不过就在修复预算内迭代,预算耗尽则 fail-closed 拒绝整个任务,不下发任何物理动作。MaCoPlanner
MaCoPlanner 给修复设了预算 K_max=3:三次修复仍过不了验证就直接拒绝。进入规划环的 357 次运行里,26.3% 被显式拒绝,一次物理动作都没下发。要强调两点:这个比例只在修复分析的这个子集里成立,不是总体拒绝率;而"拒绝"本身意味着系统承认修不好,不是自动达成了安全。它证明的是一种态度:宁可放弃任务,也不执行通不过验证的计划。MaCoPlanner
把两篇工作放在一起,真正的收获不是"模型更会答题了",而是系统拥有了一套完整的否决权闭环。违规能被指到最早的步骤,这是可定位;修复预算耗尽会干脆拒绝,这是可拒绝;所有检查基于明确规则和可复现的复核器,这是可复验。这正是 Simplex 三件套在 LLM 规划器时代的形态:VLM 只负责提议,LTL 与 Safety FSM 握着否决。
不过有个数字要时刻清醒:4.1 秒。这个延迟足够检查一条任务计划的语义和时序,但机器人执行动作时,接触力、关节极限、跌倒都发生在毫秒级。4.1 秒的验证,兜不住毫秒级的危险。谁来兜?
4. 4.1 秒的验证,兜不住毫秒级的危险
先划清证据边界
在谈兜底之前,先把前两篇的证据边界说清楚。PanelShield 与 MaCoPlanner 出自同一个作者组(七位作者里六位重合),在同一天提交,各自的 2.7% 违规率是互证关系,不是独立验证。MaCoPlanner 的全部实验都在未接工业负载的面板模拟器上完成,作者在结论里也明说,真实负载和工厂级安全架构下的评估是未来工作。换句话说,2.7% 和 4.1 秒能证明"高层否决闭环在实验室跑得通",不能证明"量产就绪"。PanelShield MaCoPlanner
这个边界本身就是分层设计的证据。任务级检查要在动作被物理执行之前完成,所以它天生是秒级、符号级的;而物理世界的危险是毫秒级、连续的,需要另一层更快的兜底。
CBF:把安全写成一个不等式,越界前做最小修正
毫秒级兜底的典型机制是控制屏障函数(Control Barrier Function,CBF)。思路很干净:把"安全区域"写成一个不等式 $h(x) \geq 0$,安全集的边界就是 $h(x)=0$。CBF 保证的是集合的前向不变性:只要系统在边界附近满足一个单调性条件,从安全集内部出发的状态就永远不会离开它。这正是可恢复域在控制层的化身。CBF
部署时通常走 CBF-QP:每个控制周期解一个二次规划,在"不越出安全集"的约束下,把上游(LLM 规划器、学习策略还是 MPC 都行)给出的期望输入做最小幅度的修正。期望输入本来安全时,这个过滤器什么都不做;一旦越界,它选最小的合法修正:

图注:主动集不变性过滤器(ASIF)的流水线。期望控制输入经过 CBF 层门控,修正后才作为安全控制输入反馈回系统。图展示的是 ASIF 块图结构,二次规划本身的约束要在公式里看。CBF
这个二次规划在毫秒级求解是论文在 ASIF 章节的预期,并未公开实测硬件延迟数据;它正好和 4.1 秒的任务级验证形成时间尺度上的互补。它也不是纸上谈兵:同一篇论文在 Khepera 小车上同时部署车道保持和自适应巡航两组 CBF,仿真和硬件实验里两条安全函数曲线始终非负,也就是约束从头到尾没被违反过:

图注:Khepera 小车自适应巡航与车道保持实验。左图是布局:前导车加受车道与时距约束的跟随车;右图是车道保持(h_lk)与自适应速度调节(h_asr)两条 CBF 安全函数在仿真(虚线)和实验(实线)下的取值,非负即约束得到执行。非负是可验证声明,不承诺具体性能水平。CBF
回头看第 2 章那张七机器人仿真图,同一张图在这里读出第二层含义:DM 在 k=11 拦截不安全序列,那是任务步级的决策;CBF 是在每一个控制周期、以毫秒粒度做同样的"监视加修正"。任务级 LTL/FSM 管秒级语义,CBF、阻抗控制、保护停机管毫秒级物理,两层叠加才是完整的安全栈。
ISO 10218-1:2025 也为这层兜底提供了标准依据:监控静止、停机时间限值和停机距离限值(§5.5.5 至 §5.5.7)被列为独立的安全功能,对应"外部可触发停机"的工业接口。ISO 10218-1:2025
到这里,主线已经闭合了一半:高层闭环给出可审计的否决权,低层闭环给出赶得上物理世界的干预速度。剩下的问题是,工厂的验收到底认什么?
5. 生产门槛:能审计的失效闭环,才接得住"随时能停下"
ISO 10218-1:2025 的三类停机
2025 年 2 月发布的 ISO 10218-1:2025 把"停机"从一件事拆成了三个独立的安全功能:紧急停机、保护停机、正常停机。ISO 10218-1:2025

图注:ISO 10218-1:2025 第 5 章安全功能总览。三类停机功能(Emergency 红、Protective 黄、Normal 绿)与 IEC 60204-1 的停机时序类别 Stop Cat 0/1/2 相连;右侧是 PL/SIL 性能等级双框与 Class I/II 机器人分类。Class I 的数值阈值(≤10 kg、≤50 N、≤250 mm/s)来自 Hartmann 2026 对比综述的复述,不是直接引用标准原文。ISO 10218-1:2025
三类停机的分工是这样的。紧急停机参照 ISO 13850,由操作员无障碍触发,典型对应 Stop Cat 0 或 1,只能手动复位,负责"立刻停下"。保护停机由保护装置触发,比如安全光栅、护栏开关,可自动复位,典型对应 Stop Cat 2 保留电源,负责"受控停下"。正常停机是 2025 版新独立出来的功能,把"任务做完或暂停时的正常停止"也当成一项需要按性能等级实现的安全功能。这里的正常停机,正是本文开头那个问题的工业版本:跑得快不重要,能不能随时按规程站住,才是验收项。
这里必须分清两套常被混用的术语。Stop Cat(停机时序类别,来自 IEC 60204-1)描述电源何时切断;PL/SIL(性能等级,来自 ISO 13849-1)描述安全功能实现的可靠性。两个不同维度的等级,常常在同一段标准里出现,但不能互相换算。Class I/II 则按机器人本体质量、最大力和最大速度把性能要求分成两档:轻量级的 Class I 机器人用较低等级即可(PL b / SIL 1),超过阈值的 Class II 要求更高(PL d / SIL 2,与 2011 版对齐)。需要注明,这些数值阈值来自 Hartmann 2026 的对比综述,作为二次来源复述。ISO 10218-1:2025
把否决权译成验收账单
再看这张映射图,它是全书主线的最后合拢:

图注:左侧是第 3 章的学术否决回路(LLM/VLA 提议者 → LTL/FSM 检查 → 拒绝/修复/复位),右侧是 ISO 10218-1:2025 的停机功能接口(§5.4 三类停机加 §5.5.5 至 §5.5.7 监控限值)。虚线连线展示语义映射:拒绝信号对应保护停机的外部触发,最早违规反例对应紧急停机的触发来源,审计日志对应停机时间预算。注意这是映射关系,LTL/FSM 不是 ISO 条款,26.3% 拒绝率也不是 ISO 报表要求。ISO 10218-1:2025
这张图回答了"验收认什么":不是认成功率,而是认一组可审计的指标加一条失效降级路径。可审计指标包括停止距离(§5.5.7)、停机时间(§5.5.6)、监控延迟、干预率与拒绝率。§7.5.12 还要求制造商公开安全功能的 PL/SIL、PFH、DC、HFT 与响应时间,让第三方认证机构能独立复核。比演示漂亮更重要的是:停得住、停得下来、停得可查。这条标准化路径并不新鲜,ASTM F3269 已经在无人机领域把运行时保障做成了可审的标准,工业机器人这边轮到 ISO 10218-1 接棒。RTA Survey
收束
回到标题。能跑百米纪录的机器人,最难的一关是停下站住。对 Cassie 是这样,停下是一段要专门设计的受控轨迹;对 VLA 是这样,94% 的成功率底下藏着十三到十五个违规回合;对 LLM 规划器是这样,4.1 秒的验证够不着毫秒级的危险;对工厂是这样,三类停机每一类都要单独做账。真正的安全不是少犯错,而是随时还能安全停下;而"随时还能停下"在工厂里,是一张可以交给第三方核验的账单。任务策略负责提议,独立安全层握有否决,所有动作在验证了可恢复域、保住了停机路径之后才被放行。这就是生产机器人安全的分水岭。
参考文献
本专题引用的核心资料如下,建议深入学习时阅读原文:
- PanelShield: Verifiable Closed-Loop Safe Planning for Robotic Industrial Panel Operation — arXiv:2608.28305
- MaCoPlanner: LLM-Assisted Manual-Compiled Task Planning with Proactive Safety Verification — arXiv:2608.28300
- SafeVLA-Bench: A Benchmark for the Success-Safety Gap in VLA Models — arXiv:2606.00773
- ForesightSafety-VLA: A Unified Diagnostic Safety Benchmark for VLA Models — arXiv:2606.27079
- The Safety Filter: A Unified View of Safety-Critical Control in Autonomous Systems — arXiv:2309.05837
- The Black-Box Simplex Architecture for Runtime Assurance of Autonomous CPS — arXiv:2102.12981
- Runtime Assurance for Safety-Critical Systems: An Introduction to Safety Filtering Approaches — arXiv:2110.03506
- ISO 10218-1:2025 — Robots and robotic devices — Safety requirements for industrial robots — Part 1: Robots — standards.iteh.ai
- Control Barrier Functions: Theory and Applications — arXiv:1903.11199
- Optimizing Bipedal Locomotion for The 100m Dash With Comparison to Human Running — arXiv:2508.03070