安全执行
安全执行
目的
不具备特权的软件提议如何变成物理扭矩,以及看门人凭什么及时拒绝它?
神经策略可能提出违反几何净距、超出关节速度极限、或使执行器扭矩饱和的指令。 一旦未经验证的指令被转换为电机相电流,检测神经网络的幻觉就为时已晚:动能已经投入。 一条独立的实时执行路径必须在候选提案跨越因果边界之前对其进行评估,并保留不容妥协的硬件权威,在严格的亚毫秒级时限内拒绝或投影这些提案。
及时的拒绝本身并不充分;所选的备用响应必须在实际物理状态下保持动态可行。 机械制动无法提供理想化的减速度,如果热饱和或供电轨电压跌落会劣化转矩生成。 运行时执行将控制屏障函数与实时反馈回路配对,以验证停止包络始终严格位于已验证的净空余量之内。 在物理人工智能栈中,执行体现了确定性神经系统的核心职责:在来自大脑的统计性提案与身体的物理执行之间维持一条毫不退让的许可路径。
学习目标
- 解释跟踪精度、指令授权与执行器边界处独立执行三者之间的关系
- 诊断更新率、反馈延迟与执行器饱和如何限制纠偏控制
- 根据响应延迟、制动、定位与跟踪误差计算最终停车预算及其设定的速度上限
- 评估一个随速度变化的屏障:由已受理提议计算出的跟踪器指令必须被接受、投影还是拒绝
- 在感知、计算或执行器限制使常规执行失效时,选择备用响应
- 构造一份执行记录,将每次检查绑定到其检测器、备用响应及其所消费的记录
确定性的把关者
安全微控制器(MCU)仅在匹配到的停止后缀(其轨迹记录中指定的 轨迹契约)驻留于 MCU 内存中,且从承诺前可达的每个状态都可行时,才允许仓库移动操作臂沿通道运行。 该准入检查只针对计划执行一次,在运动开始之前。 随后,机器以每毫秒一个时间步的方式执行该计划;在每个时间步,实时状态都可能偏离规划者所假设的状态。 基座滞后于其指令参考值,人员在货架末端走出,载荷加载到机械臂,或分块策略提出了该准入计划从未包含的设定值。 接下来是每次时间步所做的检查,以及它在连驻留内存的停车方案都不再可行时所选择的行为。
那些命令背后的学习式提议者可能发出不可行的轨迹,或超出执行器扭矩极限的关节指令;依据 四条基石定律 的不可逆性定律,没有任何异常处理程序能够召回绕组中的电流所赋予的动量,因此一条错误的命令必须在它到达驱动器之前被中止。
因此,强制机制在保留学习策略的任务能力的同时,剥夺其对几何净空、热极限和人身安全不变量的授权。 多速率节拍 中的强制器,即许可路径上每个控制周期的守门人,位于提议边界的许可一侧。 它是一个硬实时组件,负责评估候选提议、验证不变量状态边界,并独占硬件授权以允许电流通过或命令回退停止。
在本章所遵循的设计中,强制器运行于裸机微控制器硬件上,直接连接电机驱动器与关节编码器,并在每个毫秒控制周期内,依据经验证的约束使用 控制屏障函数(CBFs)1 (Ames 等 2019年) 评估传入的设定值。 当提议是安全的,它原样传递给电机驱动器。 当提议仅轻微威胁边界时,主动集二次规划(CBF-QP)以最小方式修改指令,在满足推导出的约束的同时最小化力矩偏差。2 当提议在结构上无效,或提议方保持沉默时,看门人切断指令通道并触发自主减速序列。
然而,强制器无法保证超出其下方控制环跟踪保真度的安全性,因为每张屏障证书都假设跟踪控制器在有限误差内跟随指令参考量。
跟踪器交出什么
跟踪器(将每个被接纳的参考量转换为每一拍上的力矩指令的反馈控制器 规划器移交的内容)将强制器与被控对象的内部力学隔离开来,而它的全部保证中,只有一项跨越接口向上传递。 该保证是对机器被指令所处的位置与其质量实际所在位置之间的最坏情况跟踪误差的显式界(\(\epsilon_{\text{track}}\))。 在经验证的参考加速度、载荷、温度与扰动的包络内,跟踪器可为整个动作过程提供瞬态界 \(\|x(t) - r(t)\| \le \epsilon_{\text{track}}\)。 强制器不检查传递函数、根轨迹或控制器增益;对于环路之上的软件而言,跟踪器是一个黑箱,它将物理运动保持在指令轨迹的误差限\(\epsilon_{\text{track}}\)之内。
该误差上界是一个由转子转动惯量、传动柔顺性和执行器扭矩极限决定的物理距离。 稳态刚度计算将未建模扰动与闭环刚度的恢复作用相平衡,但它并不能给出瞬态超调或稳定过程的界限,因此该误差上界还需要经过验证的动态特性或全机动测试3。
在仓库移动机械臂的底座上,全机动验证确立了\(\epsilon_{\text{track}} =\) 40 mm(示例性;参见读者指南)。 控制器仅在三个条件成立时保持该界限。 参考轨迹不能要求超出驱动器可提供的加速度,外部扰动必须低于\(d_{\text{max}}\),执行器必须运行在@sec-body-thermal-duty-cycles 的连续热降额限值及其电压轨限值的范围之内。 当参考轨迹要求的加速度超过峰值扭矩允许的范围时,回路 饱和,积分器发生积分饱和,底座落后于参考轨迹的量随每毫秒的饱和时间而增长。 在其额定包络之外,控制器完全不提供任何界限。
由于底座可能落后于参考轨迹最多\(\epsilon_{\text{track}}\),强制执行层评估的每一个几何与动态裕量都按该距离内缩。 一条与机架末端保持净空距离 \(c\) 的参考轨迹,只能保证底座具有 \(c - \epsilon_{\text{track}}\) 的净空距离;因此强制执行层以所需净空距离加上 40 mm 为阈值检查参考轨迹,而 节 1.5 将该内缩量带入制动距离,其中延迟与定位误差同样消耗净空度。 若磨损的驱动轴承、轮胎磨损或改变后的电机参数将真实误差放大至 80 mm 而记录未随之改变,则基座将额外消耗 40 mm 的净空度,而强制执行层仍认为其保有该净空度。 跟踪误差界的退化会静默侵蚀其上层的全部裕量。
↰ 前置条件: 由传感器协方差与传输延迟内缩得到的空间净空度,源自 空间误差与净空边界。
一个在运行时从未被校验的跟踪边界,只是假设,而非契约。 神经系统必须连同验证其的工况一并发布 \(\epsilon_{\text{track}}\),并在每个节拍上监控瞬时误差 \(e(t) = \|x(t) - r(t)\|\)。 当 \(e(t)\) 超过界限时,在扰动尖峰或热节流条件下,合同已失效,许可路径必须在未建模偏转造成损坏之前,使位于其上方的滤波器的空间假设失效。
Systems Perspective 1.1: 内缩裕量不变量
跟踪控制器的综合、观测器与扰动抑制属于控制文献 (Slotine 和 Li 1991年; Åström 和 Murray 2021年)。 在现代物理 AI 实现中,“追踪器”(tracker)很少是一个初等的单输入单输出反馈回路;它通常被构造成一个级联控制层级(将笛卡尔路径目标转换为关节速度参考,再将速度转换为磁场定向相电流,频率为 \(10\text{--}25\text{ kHz}\)),或者是一个高频率的追踪模型预测控制器(MPC),它在裸机固件中以 \(100\text{--}500\text{ Hz}\) 的速率运行,用于求解一个局部二次规划问题,以实现动态扰动抑制。 然而,无论其内部数学精妙程度如何,一个最优追踪器在语义上仍然是盲的:它不具备障碍物净空、任务意图或人员接近度的内部模型,并且会以与无遮挡自由空间相同的动态保真度执行一条碰撞路径,直至撞上钢制立柱。 此外,当出现未建模的物理扰动时——例如表面油污导致严重的轮胎滑移,或突发的热电流降额——即使是最优跟踪控制器也只能在其合格误差管\(\epsilon_{\text{track}}\)之内保证跟踪。 因此,强制执行层将追踪器严格视为契约边界:它将整个反馈控制栈封装在认证边界\(\epsilon_{\text{track}}\)之内,在任何指令到达跟踪层之前,先依据前向不变性障碍证书评估候选提案。
强制执行组件所处位置
强制执行组件在信号管线中的位置由动力学的时间尺度以及为其提供输入的信道延迟共同决定;每一台将学习得到的提案转化为运动的机器,都自然存在两个位置。 位于反馈回路上游的运动学参考检查器 在进入跟踪回路之前,先校验航点、坐标目标或速度矢量;在规划速率 \(10\) 至 \(50\text{ Hz}\) 下,它能够对一个 \(300\text{ ms}\) 的轨迹段进行工作空间边界与自碰撞模型的检查。 其优势在于空间预见性,而局限在于对被控对象实际状态的盲目,因此,一个与机架立柱的净距小于基座瞬态过冲量的参考指令,能够通过所有上游检查,而基座仍会撞击立柱。
↳ 下游: 将强制执行组件划分并部署到隔离微控制器区域的异构芯片分区方案,映射见 同一芯片上的两条路径。
在反馈控制器下游、靠近功率电子器件处,一条指令检查器在指令写入硬件寄存器之前立即检查相电流、占空比和关节扭矩参考量。 它以机器 1 kHz 内环速率运行,通过裁剪或清零超出被控对象额定值的信号来防止过流、过扭矩和热失控,但它放弃了预见性。 一个远低于其连续额定值的扭矩对标量钳制器而言看起来是安全的,即使它正加速下降的臂关节以快于剩余行程可吸收的速度冲向包装工位;钳制器直到没有任何允许的逆扭矩能够阻止碰撞发生才记录故障。
这种拆分以延迟为代价换取可见性。 以这些规划速率运行的参考检查器可以看到数步之远,却无法应对共振、噪声放大,或超过其更新速率的不稳定性。 命令检查器在每个节拍都采取行动,但其一步视野会在其中形成动态陷阱:在到达不可恢复的状态之前,每一个瞬时力矩都是合法的。
放置方式还决定了强制执行组件如何接入计算体系结构。 内联强制执行组件在下一级读取命令之前检查每一条命令,这虽然做到无一条命令未经检查,却把其最坏情况执行时间置于 1000 μs 循环的关键路径上,一旦超时会令整个周期故障。 位于独立核心上的并行监视器能够保持循环时序,并在检测到违规时打开安全接触器或把驱动器切换到动态制动,但其检测与信号延迟受监视器周期和总线抖动 所限,必须以更宽的裕量或更低的速度来支付。
由于单一位置既无法同时提供动态前瞻与瞬时保护,物理人工智能体系结构便通过 双阶段执行模式 化解这一张力。 该模式对应机器模型(权限路径的执行位置)的双处理器实现:
- 上游阶段(在应用处理器上的建议性走廊预检) 以分块速率(20 \(\text{Hz}\) 在本机)运行于非特权应用微处理器核心,该阶段依据最坏制动参数下的动态停车走廊和静态工作区包络,对由学习策略发出的多步轨迹分块进行筛选,随后将航点打包为租用的分块提案,经 RPMsg 发送。 该阶段属于建议性环节。 它能够为 MCU 预先剔除本会失败的提案,但它位于提案边界的提出方一侧,因此,对轨迹及其停车后缀作出具有约束力的准入决定的权限仍由 MCU 掌握(接缝处的行为)。
- 下游阶段(裸机 MCU 上的瞬时 CBF-QP 安全屏蔽层): 该阶段运行在隔离 MCU 上严格的 1 kHz(1000 μs)定时器中断循环内,从共享 SRAM 接收拟设定值,验证跟踪误差边界,在预分配的静态 SRAM 中求解一个 采用有效集法的控制屏障函数(CBF-QP) 二次规划,并在直接写入 PWM 定时器寄存器之前,直接钳制原始电流与力矩指令。 该屏障所施加的约束可归结为一次单步凸投影(节 1.7),其执行时间必须在所选硬件上受到限。
建议性预检会在发送一个数据块之前筛查是否存在可行的停车状态,而驱动侧阶段则会在每个节拍检查当前观测与指令;但这两个阶段都无法恢复一个已经耗尽制动余量的状态。
若强制执行组件的输入与被检查部件共享失效模式,那么即使放置位置正确也无济于事。 一个从由同一神经感知模型规划运动所生成的深度图中计算碰撞距离的强制执行组件,会被同一类分布外伪影所欺骗,因此独立执行需要独立的感知与隔离的计算。 MCU 读取连接至其自身 GPIO 与定时器捕获寄存器的编码器与限位开关,位于 Linux 虚拟内存空间与调度器之外;而碰撞检查则读取一台安全激光雷达或接近传感器,其信号调理采用确定性阈值逻辑而非学习推理。 若不存在独立的传感器(例如底座车轮下的摩擦力,或仅由估计器推断出的载荷质量),则无法建立独立的物理保证,该论断的强度仅取决于估计器的有界不确定性,或记录所陈述的前提。 无论校验器在上游还是在电机端子处检查的不变量,都仍然假设被控对象在越过禁止边界之前保有自行制动的能力。
Systems Perspective 1.2: 监控器独立性规则
停止包络
拥有停止项的章节各自在机架末端的仓库移动机械臂预算中加入了该项,其中仍剩一项。 停止包络是从其中经校验的制动响应能在到达边界前使运动停止的状态集合,不可逆性定律(原理 The irreversibility law)设定其判据,即 \(d_{\text{stop}} \le D_{\text{clear}}\),其中 \(d_{\text{stop}}\) 的每一项均取自该机械机的实测极限。 保留该响应会牺牲可达速度,因为速度使盲行距离线性增加,而制动距离按平方增加。 机器必须在故障或不安全的提案发生之前始终处于该包络之内。
机械动量 的制动距离中的制动前延迟 \(\tau_{\text{delay}}\) 已包含强制执行器自身许可循环的节拍,多速率节拍 将该节拍与租约路径一并纳入预算。 剩下的,就是参考量与跟随该参考量的被控对象之间的差距。
许可路径以 节 1.2 中的跟踪界 \(\epsilon_{\text{track}}\) 弥合这一缺口,并以该跟踪界为内缩量收紧停车许可范围,从而保障 equation 所给出的停车距离。 只有当被控对象——其滞后于该参考量的幅度最多为 \(\epsilon_{\text{track}}\)——仍能停在 \(D_{\text{clear}}\) 之内时,指令参考量才可获准。 准入条件即停车包络:6 \[v\,\tau_{\text{delay}} + \frac{v^2}{2a_{\text{eff}}} + \delta_{\text{loc}} + \delta_{\text{margin}} + \epsilon_{\text{track}} \le D_{\text{clear}} \tag{1}\] 此处 \(a_{\text{eff}}\) 是机器内置停止响应实际采用的减速度,等于恒定减速度停车的可信减速度 \(a_{\text{brake}}\),并在停车按 接缝处的行为 塑形时更小;\(\delta_{\text{loc}}\) 为定位界,\(\delta_{\text{margin}}\) 为固定防护净距。 左侧为 equation 所定义的停车距离 \(d_{\text{stop}}(v)\) 与跟踪内缩量 \(\epsilon_{\text{track}}\) 之和。
在上述延迟、估计与制动假设下,任何将机器置于沿运动方向距物理约束小于 \(d_{\text{stop}}(v) + \epsilon_{\text{track}}\) 的 公式 1 之内的轨迹提议都是不安全的,且在物理上不可行。 停止包络本质上是各向异性的;位于瞬时速度矢量后方的障碍物只需为位置跟踪误差 \(\epsilon_{\text{track}}\) 留出余量。
对于仓库移动操作臂,内缩裕量是基座的跟踪误差界 40 mm,并且它是预算所接收的最后一个距离项。 在 1.5 m/s 驱动极限处,接缝处的行为 的匹配停止后缀已经使累计值达到 1,194.15 mm,超过了货架末端的 1.10 m 安全距离。 内缩裕量将其提高到 1,234.15 mm,比安全距离多出 134.15 mm。
公式 1 中的其余各项现已由各自所属的章节确定:可信减速度与固定开销由 机械动量 确定,租赁路径由 多速率节拍 确定,观测年龄由 传感器转导与标定 确定,停止的形状由 接缝处的行为 确定,以及此处的跟踪误差内缩裕量。 速度是唯一仍可由机器选择的项。 在 \(\tau_{\text{delay}} =\) 133.6 ms 以及后缀的 \(a_{\text{eff}} =\) 1.33 m/s²(equation)条件下,公式 1 的上限为 1.39 m/s。 因此,最终预算将通道速度设定为 1.3 m/s,低于该上限。 在通道速度下,停车需要 997.4 mm,并留下 102.6 mm 的可用距离未被使用。表 1 列出两种速度下的每一行,图 1 将其绘制出来。
| 行 | 附加于 | 项 | 在驱动上限下(mm) | 运行总量(毫米) | \(D_{\text{clear}}\) 的剩余量(mm) | 在通道速度下(毫米) |
|---|---|---|---|---|---|---|
| 1 | 机械动量 | 制动,\(v^2/2a_{\text{brake}}\) | 562.5 | 562.5 | 537.5 | 422.5 |
| 2 | 机械动量 | 附加距离开销,\(\delta_{\text{loc}}+\delta_{\text{margin}}\) | 150 | 712.5 | 387.5 | 150 |
| 3 | 机械动量 | 制动起始,\(vT_{\text{act}}\) | 30 | 742.5 | 357.5 | 26 |
| — | 供给、新鲜度与内存墙 | 仅时间:分块策略可以续订租约;意图模型的 98.0 ms 权重扫描则不行 | — | — | — | — |
| 4 | 多速率节拍 | 租约路径,\(v(T_{\text{lease}}+T_{\text{tick}}+T_{\text{bus}})\),对应的时间跨度为 62 ms | 93 | 835.5 | 264.5 | 80.6 |
| 5 | 传感器转导与标定 | 观测年龄,\(v\,t_{\text{age}}\),对应的时间跨度为 51.6 ms | 77.4 | 912.9 | 187.1 | 67.08 |
| — | 遮挡下的信念 | 仅时间:被遮挡的机架端部已清空这一信念在 31.25 ms 内过期,不足两个相机帧,因此记忆无法为其背书 | — | — | — | — |
| 6 | 接缝处的行为 | \(C^2\) 停止后缀,\(0.75v^2/a_{\text{brake}}\) 取代 \(0.5v^2/a_{\text{brake}}\) | 281.25 | 1,194.15 | \(-94.15\) | 211.25 |
| 7 | 节 1.5 | 跟踪误差内缩裕量,\(\epsilon_{\text{track}}\) | 40 | 1,234.15 | \(-134.15\) | 40 |
| 总计 | 1,234.15 | 997.43 | ||||
| \(D_{\text{clear}}\) 的剩余量 | \(-134.15\) | 102.57 |
成品预算保护了位于 \(D_{\text{clear}}\) 的静止障碍物,例如从货架旁走出并停下的人,或一个掉落的周转箱,因此它假定该障碍物在整个停车过程中始终保持在停车开始时的位置。 在整个停止过程中持续走向底座的人,也会从远侧闭合间隙(遮挡下的信念),若在该成品预算之上计入这一接近,则此货架端的底座上限将被压至 0.46 m/s。 若将通道速度限制为该速度,则每一次可被穿越规则挡在停止之外的相遇都会使每次运行都变慢;因此,站点以规则而非速度来应对行走中的人,而 残余主张登记表 则将规则所依赖的前提,即停止期间没有人接近货架端,保留为尚待验证的条件。 因此,执行器保证的是针对静止障碍物的预算,而非一个持续走入停止中的人的安全性。
后续章节要么消耗掉剩余部分,要么限制其下方的前提。 在通道速度下,未花费的距离持续 78.9 ms(权威权移交)。 可信的减速仅适用于摩擦系数至少为 0.204 的地面,因为 \(a=\min(a_{\text{brake}},\mu g)\);因此,对于检验至 0.12 的地面,速度上限会降至 1.09 m/s(残余主张登记表)。
一个停滞的提议者将花费超过整个剩余量。 若将 节 1.3 的块状租赁交由主机去履行,那么一个权限持续时间为 200 ms、而非租约期限 60 ms 的最后提议,将向停止量增加 182 mm,并使移动底盘超出货架端的净距,超出距离为 79.4 mm。
同一预算同样用于确定任何独立于提议者使移动底盘停车的保护性感知。 移动底盘可通过依据适用的车辆与机械标准设计的风险评估保护场来感知机架末端,包括 ISO 3691-4 和 ISO 13849,例如 图 2 所示的飞行时间安全激光扫描仪,且该保护场必须至少与停止预算一样长。
在 图 3 的距离–速度平面中,停车方程在仍可停车的状态与已耗尽净距的状态之间绘出一条抛物线边界,而与仅制动曲线的间隙来自制动前的延迟所消耗的净距、匹配停车的较缓减速度以及固定余量。 正如 roofline 模型 (Williams 等 2009年) 以内存带宽限制可达吞吐量,停止包络则以净距限制合法速度,无论 chunk 策略提出得多快。 要跑得更快,工程师必须提高可信减速度 \(a_{\text{brake}}\)、缩短 \(\tau_{\text{delay}}\),或收紧 \(\epsilon_{\text{track}}\) 与 \(\delta_{\text{loc}}\)。
这些参数并非静止的。 抓取器中的物体会提高机械臂的转动惯量,并在峰值扭矩下降低其关节可产生的减速度;地板上的油污会降低底座下可信减速度所对应的附着力;而反复的硬停车会使转子与逆变器发热并进入热降额 (热工作占空比)。 把 \(a_{\text{brake}}\) 当作数据手册常数处理的安全约束执行机制,会在重载条件下低估包络,因此必须使用独立限定的制动能力,并在验证后的摩擦、载荷或热条件发生变化时降低允许车速;不确定的估计本身无法恢复保证。
适应只在安全约束执行机制的状态估计足够准确、且执行器仍能输出相应力时有效。 若污染使牵引力趋向于零,或持续占空比使绕组超过其上限,则假定的减速度消失;一旦所需扭矩超过硬件可产生的扭矩,安全约束执行机制虽能察觉违规,却已无法阻止它。
安全集作为条件许可
一旦计入其偏置扭矩,节 1.6 的下降臂需要 79.45 mm 的工具点行程才能停下,且该行程随接近速度的平方增长。 因此,在一种速度下足够的安全距离,在更高的速度下就太短了;约束器需要一个同时涵盖位置与速度的谓词,以便在每个控制时钟节拍上都能对其进行求值。 在控制理论中,安全集 \(\mathcal{C}\) 被定义为连续可微标量证书 \(h(x): \mathcal{X} \to \mathbb{R}\) 的零上水平集,使得 \[\mathcal{C} = \{x \in \mathcal{X} \mid h(x) \ge 0\}, \quad \partial \mathcal{C} = \{x \in \mathcal{X} \mid h(x) = 0\}.\] 前向不变性 的数学基础由 Blanchini (Blanchini 1999年) 建立,经由 Hamilton-Jacobi 可达性分析与 可生存核 由 Mitchell、Bayen 和 Tomlin (Mitchell 等 2005年) 提出,并通过 控制屏障函数 由 Ames 等 (2014年) 和 Ames 等 (2019年) 加以扩展,8 刻画了在何种条件下,一个可容许控制器能够将状态保持在可行集内。 仅凭几何安全裕度并不构成该集合,当停止扭矩为有限值时。
Definition 1.1: 控制屏障函数安全过滤器
控制屏障函数安全滤波器 是带约束的优化滤波器,它通过求解二次规划,将未经验证的标称控制提案 \(\mathbf{u}_{\text{nom}}\) 投影到正向不变的安全集 \(\mathcal{C} = \{\mathbf{x} \mid h(\mathbf{x}) \ge 0\}\) 上; \[\min_{\mathbf{u}} \frac{1}{2}\|\mathbf{u} - \mathbf{u}_{\text{nom}}\|^2 \quad \text{s.t.} \quad \mathbf{a}(\mathbf{x})^\top \mathbf{u} \le b(\mathbf{x}), \quad \mathbf{u}_{\min} \le \mathbf{u} \le \mathbf{u}_{\max}\] 该滤波器施加线性制动半空间约束(\(\mathbf{a}(\mathbf{x})^\top \mathbf{u} \le b(\mathbf{x})\)),对满足安全边界的候选输入保持不动,并对违反约束的输入在控制空间中作最小投影。
- 意义:与其试图在数十亿个不可解释的神经网络权重上证明形式安全性这一不可能的任务,CBF-QP 滤波器将高层策略创新与低层安全执行解耦。 学到的模型可以自由探索复杂的操作或导航策略,而确定性的执行器可以在其物理假设仍然成立时,保持一个已验证的可行集。
- 区别:与独立饱和控制通道、从而破坏多轴协同的启发式钳制不同,CBF-QP 滤波器在控制空间中执行最优正交投影,最小化所选力矩空间距离;它并不自动保持笛卡尔路径。
- 常见误区:使用原始几何坐标而未考虑相对度(\(r = 2\))或制动惯性来构造障碍约束。 如果障碍约束未纳入停车距离(\(\Delta d_{\text{stop}} = v\,\tau_{\text{delay}} + v^2 / 2a_{\text{brake}}\)),滤波器介入过晚,此时车辆的动量已经使边界碰撞不可避免。
当跟踪器将学到的策略未经验证的设定值转换为名义力矩 \(\mathbf{u}_{\text{nom}}\) 时,执行器并不会预测机器未来的整条路径。 它在当前状态 \(\mathbf{x}\) 处评估一个单侧半空间不等式,即约束安全逼近边界的线性约束。 若提议的动作满足 \(\mathbf{a}(\mathbf{x})^\top \mathbf{u}_{\text{nom}} \le b(\mathbf{x})\),执行器将其原样交给电机;若它违反某个可行半空间,执行器则投影其力矩向量。
仅对机械臂到站台的距离设置障碍,只会等到动量已经使接触不可避免时才触发9;因此障碍必须同时包含动能停止角(\(\omega^2 / 2\alpha\),其中 \(\omega\) 为接近角速度,\(\alpha\) 为制动角加速度界限)以及位置,这一要求由相对度 relative degree 推出。 执行器指令电流与力矩,力矩产生加速度,因而位置距输入有两个积分: \[\text{驱动 } u \xrightarrow{\int \frac{1}{m} dt} \text{速度 } v \xrightarrow{\int dt} \text{位置 } x\] 这一两级级联定义了相对度 \(r = 2\)。 对间隙求导一次即得速度: \[\dot{d} = -v\] 输入 \(u\) 尚未出现,因为电机无法瞬时改变速度。 只有二阶导数引入了牛顿第二定律(\(m \ddot{x} = u - d_{\text{ext}}\)): \[\ddot{d} = -\dot{v} = -\left( \frac{u - d_{\text{ext}}}{m} \right)\]
一条原始距离规则 \(\dot d\ge-\gamma d\) 无法直接约束该力矩输入:\(\dot d=-v\) 中不含 \(u\)。 对于逼近的机械臂,令 \(D=d_{\text{tool}}/\ell\) 表示剩余角向余量,\(\omega>0\) 表示其接近速度,\(J\dot\omega=\tau+\tau_{\text{bias}}\),且 \(\alpha\) 为可用角向制动能力的已验证下界。 定义动能壁垒 \[h(D,\omega)=D-\frac{\omega^2}{2\alpha},\qquad \dot h=-\omega-\frac{\omega(\tau+\tau_{\text{bias}})}{J\alpha}. \tag{3}\] 原始距离 \(D\) 的相对度为二;该速度相关的 \(h\) 对 \(\omega>0\) 具有相对度一。 要求 \(\dot h+\gamma h\ge0\) 即产生实际的仿射力矩半空间。 \[\tau\le-\tau_{\text{bias}}+J\alpha\left(\frac{\gamma h}{\omega}-1\right),\qquad -\tau_{\max}\le\tau\le\tau_{\max}. \tag{4}\] 在静止(\(\omega=0\))时,控制器使用独立的“不接近”与加速度准入检查;它不会除以零。
将 节 1.6 的下降臂场景带入本道屏障:\(J=\) 3 kg·m²、\(\tau_{\text{bias}}=\) 65.25 N·m 朝向工位,\(|\tau|\le\) 87 N·m、\(\alpha=(\tau_{\max}-\tau_{\text{bias}})/J=\) 7.25 \(\text{rad/s}^2\)、\(\ell=\) 0.80 m、\(\omega=\) 1.2 \(\text{rad/s}\),以及 \(\gamma=\) 10 \(\text{s}^{-1}\)。 这些是关节层面的场景输入;偏置不能仅由载荷质量推断。 在距工位表面 110 mm 的工具净空处,\(D=\) 0.1375 \(\text{rad}\) 与 \(h=\) 0.0382 \(\text{rad}\),因此 公式 4 要求关节至少以 80.1 N·m 制动。 在 79.45 mm,\(h=0\) 与要求达到 87 N·m,即关节的峰值扭矩。 在 70 mm,它需要 89.1 N·m,超过关节能够产生的能力,因此该状态已超出建模后的可行集。 安全约束监督模块必须阻止进入该状态;在此处启动的兜底动作无法恢复已损失的净空。
真实的机器既无法实现精确的状态反馈,也无法实现瞬时力矩。 定子电流上升、母线抖动以及减速箱的柔性会延迟并削弱这一纠正动作,因此安全约束监督模块针对由它们造成的最坏情况停车不足而内缩的边界评估势垒,并在轨迹中更早介入。
势垒计算所提供的安全保证是严格有条件的。 前向不变性主张需要可行的势垒以及下列有界条件;该清单对本设计而言是必要的,而非穷举的当且仅当检验:
- 模型保真度:标称系统动力学 \(f(x)\) 和 \(g(x)\) 必须在认证参数误差界内捕捉真实的系统动力学。
- 扰动界: 作用于质量的扰动力和未建模摩擦必须严格位于建模扰动包络 \(|d(t)| \le d_{\max}\) 之内。
- 执行机构权限: 物理执行机构必须具备足够的电压、电流和热裕量,以在不饱和的前提下实现所指令的校正力(\(u^* \in [u_{\min}, u_{\max}]\))。
- 求解器确定性: 优化求解器或投影算法必须严格在其分配的执行预算内终止(\(T_{\text{solve}} \le T_{\text{budget}} < T_{\text{loop}}\))。
- 离散化不变性: 离散采样间隔 \(T_{\text{ctrl}}\) 必须足够小,使得采样间隔内的状态漂移不突破连续时间不变性边界。
每个条件都对应一项预算。 模型保真度与扰动界来自台架上的系统辨识与负载试验,执行机构权限来自测功机曲线与热限制(热工作占空比),求解器确定性来自 MCU 上的静态最坏情况执行时间分析,离散化则来自循环周期,该周期在 \(T_{\text{ctrl}} =\) 1 ms 下必须使零阶保持的采样间漂移限制在 \(\delta_{\text{margin}}\) 的一部分以内。
未被任何检测器观察的条件是一种假设,因此许可路径为每一条附加一个:扰动观测器在每个周期比较预测加速度与实测加速度,逆变器状态寄存器与电流分流器报告执行器饱和,硬件看门狗和周期计数器测量求解器的执行耗时,并对照其截止时间检查是否超时,传感器总线上的时间戳计数器捕获抖动与采样遗漏。
只要任一检测器触发,安全集的假设即告失败,安全约束监督模块不得以乐观参数重新计算屏障。 它通过输出选择器将控制权交给状态匹配的回退控制器,其响应时间与制动余量在故障发生前已被预留;一旦失去可行集,后续各层的作用便仅限于减轻损害。 安全集在其运行契约完整时才是有效的许可,而许可路径通过识别该契约何时失效来强制执行安全性。
最小干预
假设分块策略提出的设定值使跟踪器计算出的扭矩被@eq-enforce-kinetic-torque 的动能屏障所禁止。 用手工设计的保守控制器替换学习得到的指令,会丢弃支撑该模型的能力;在首次触及边界时急刹,则会产生加速度尖峰并中断任务。 最小干预原则 则使已获准的建议在满足全部活跃约束时保持不变,仅在投影既必要又可行时才对其进行修改。 安全约束执行随后充当安全盾(投影算子),将提议视为默认意图,并计算出使系统保持在不变集内的最小修正。
↰ 前置条件: 名义轨迹设定值与前馈力矩由规划器在@sec-planning-goal-to-trajectory 中综合生成。
该滤波器是1.1 (Ames 等 2016年) 的 CBF-QP。 在每个裸金属微控制器的离散控制间隔\(T_{\text{ctrl}} = 1.0\text{ ms}\) 内,跟踪器依据已获准的参考(规划器移交的内容),在每个节拍计算名义力矩指令 \(\mathbf{u}_{\text{nom}} \in \mathbb{R}^m\),而强制器求解该凸问题10。 \[\min_{\mathbf{u}} \frac{1}{2}\|\mathbf{u} - \mathbf{u}_{\text{nom}}\|^2 \quad \text{s.t.} \quad \mathbf{a}(\mathbf{x})^\top \mathbf{u} \le b(\mathbf{x}), \quad \mathbf{u}_{\min} \le \mathbf{u} \le \mathbf{u}_{\max} \tag{5}\] 其中\(\mathbf{a}(\mathbf{x})^\top \mathbf{u} \le b(\mathbf{x})\) 表示由速度相关屏障(例如@eq-enforce-kinetic-torque,11)导出的力矩约束,\([\mathbf{u}_{\min}, \mathbf{u}_{\max}]\) 表示经验证的执行器力矩包络。
当在 公式 5 中施加单个处于激活状态的线性障碍约束 \(\mathbf{a}^\top \mathbf{u} \le b\) 时,优化问题存在精确的闭式正交投影,推导见 Minimal-intervention quadratic program: \[\mathbf{u}^* = \mathbf{u}_{\text{nom}} - \frac{\mathbf{a}^\top \mathbf{u}_{\text{nom}} - b}{\|\mathbf{a}\|^2} \mathbf{a} \tag{6}\] 其中最优拉格朗日乘子 \(\lambda^* = (\mathbf{a}^\top \mathbf{u}_{\text{nom}} - b) / \|\mathbf{a}\|^2\) 缩放最小干预向量 \(\Delta \mathbf{u} = -\lambda^* \mathbf{a}\)。
投影算术在具有示意性取值的两轴机械臂上最为清晰。 其跟踪器依据无约束神经策略给出的设定值,计算名义关节力矩 \(\mathbf{u}_{\text{nom}} = [\) 3.5, 3 \(]^\top\text{ N}\cdot\text{m}\)。 假设已经推导并验证了一个抽象的安全半空间,\(\mathbf{a}^\top \mathbf{u} \le b\),其中 \(\mathbf{a} = [\) 2, 1 \(]^\top\),\(b =\) 5 \(\text{N}\cdot\text{m}\),各关节执行器力矩限制为 $$5 \(\text{N}\cdot\text{m}\)。 该候选解给出 \(\mathbf{a}^\top \mathbf{u}_{\text{nom}} =\) 10 \(\text{N}\cdot\text{m}\),并越出边界 5 \(\text{N}\cdot\text{m}\)。
由 公式 6 给出,\(\lambda^* =\) 1,最小干预指令为 \(\mathbf{u}^* = [\) 1.5, 2 \(]^\top\text{ N}\cdot\text{m}\),该指令恰好满足半空间约束,同时两个关节均保持在各自限值内,干预范数为 2.236 \(\text{N}\cdot\text{m}\)。
逐轴钳制说明了为何需要投影。 将 关节 1 钳制到 2 \(\text{N}\cdot\text{m}\),同时让 关节 2 以 3 \(\text{N}\cdot\text{m}\) 通过,得到 \(\mathbf{a}^\top \mathbf{u}_{\text{clip}} =\) 7 \(\text{N}\cdot\text{m}\),仍然 2 \(\text{N}\cdot\text{m}\) 违反约束,并且它使扭矩向量由 40.6\(^\circ\) 偏转为 56.3\(^\circ\)。 因此,钳制既违反约束又扭曲了指令。 投影以尽可能小的扭矩变化满足约束,尽管它同样旋转了扭矩向量,因此末端执行器轨迹仍需针对耦合被控模型进行检查。
图 4 展示了两种视图。 在状态空间(面板 a)中,会穿越障碍的提议沿内嵌边界 \(\partial \mathcal{C}\) 被偏折;在控制空间(面板 b)中,安全约束实施模块将 \(\mathbf{u}_{\text{nom}}\) 投影到半空间 \(\mathbf{a}^\top \mathbf{u} \le b\) 上,而独立钳制的向量则留在该半空间之外。
滤波器选择将一条数学条件与实测的执行预算以及机器可用的制动能力结合起来。 如 表 2 所述,架构选择在相对度、求解器最坏情况执行时间(WCET)、前向不变性保证和方向保真度方面的处理各不相同。 独立的钳制可能遗漏耦合约束;一个 CBF-QP 若可行且能在验证周期内完成,即可强制施加推导出的半空间。 预测滤波器 (Wabersich 和 Zeilinger 2021年) 以依赖配置的计算开销为代价,换取更长的预测时域。
| 筛选 | 输入与条件 | 它能确立什么 | 主要验证任务 |
|---|---|---|---|
| 独立扭矩钳制 | 每个轴分别检查 | 硬件幅值限制,而非耦合制动余量 | 测试耦合广义力(力与力矩)与制动行为 |
| 一阶 CBF-QP | 首导数包含输入的势垒 | 由可行初始状态得到的条件不变性 | 验证模型、可行力矩集与周期上界 |
| 动能 / 高阶势垒 | 含速度与可用制动能力的位置约束 | 几何接触前的条件式停止余量 | 对偏置力矩、延迟、估计误差与离散化进行界约束 |
| 预计算可行域 | 状态到许可输入的查表 | 将状态保持在所建模区域内的保证 | 验证查找覆盖与插值 |
| 预测性安全滤波器 | 有限时域轨迹与终端集 | 仅在终端与时间假设下保证递归可行性 | 限定完整求解时间并在超时后回退 |
在活跃安全集边界附近运行可能产生颤振。 若学习得到的策略反复提出不安全指令,采样式强制可能在间隔为 1 ms 的连续节拍之间切换活跃约束。 取决于被控对象与控制器,快速的力矩变化可能激发结构模态,或增加电机发热与传动磨损。 经过测试的边界层或迟滞可以减小切换,但其附加跟踪误差必须落在已验证的停车裕量之内。
干预向量 \(\Delta u = u^* - u_{\text{nom}}\) 同样度量上游策略健康度。 运行于其训练分布之内的策略在多数周期上产生零干预,因此干预频率或幅度的上升可能指示提案漂移、任务变更或被控对象变化。 在示例滚动窗口 \(W = 500\text{ ms}\) 上,以 \(\sum_{k} \|u_k^* - u_{\text{nom}, k}\| \Delta t\) 求和,该指标可让许可路径对发散进行标记以用于记录或操作员通知,而逐拍限制仍保护被控对象。
在这个异构设计中,屏蔽逻辑在 MCU 的 1 kHz 定时器中断服务程序内执行。 一次无负载工况下的采集、校验与典型活动集求解周期约需 135 \(\mu\text{s}\),这只是一个示意性估算,而非上界。 而经过资格鉴定的执行路径则声明整个周期(Real-Time Timers, Watchdogs, and Schedulability)的最坏情况执行时间为 250 \(\mu\text{s}\),并在下述各阶段之间分摊,且整个序列必须在 400 \(\mu\text{s}\) 的截止时间内完成:
- 中断进入与状态采集(30 \(\mu\text{s}\)): 硬件定时器触发 ISR,固件锁存车轮编码器寄存器与关节编码器寄存器,以及最新的 IMU 采样。
- 提议与租约验证(15 \(\mu\text{s}\)): MCU 检查由应用处理器经 RPMsg 或共享内存填充的共享 SRAM 环形缓冲区。 它校验校验和,确认序列顺序,读取提议的证据 epoch,并针对该 epoch 与租约各做一次时效性检查。 提案所依据证据的上限年龄,在发出时盖章,不得超过 51.8 ms 拒绝阈值,即 51.6 ms 停止预算所计的观察年龄加上 0.2 ms 时钟换算界(观测契约)。 提案自身在 MCU 时钟上的年龄不得超过 60 ms 分片租约。 MCU 还读取主机心跳计时器,该计时器在 30 ms 超时内未收到心跳时标记主机为静默。
- 跟踪契约验证(10 \(\mu\text{s}\)): 固件将瞬时跟踪误差 \(e(t) = \|x(t) - r(t)\|\) 与认证界 \(\epsilon_{\text{track}}\) 进行比较。
- CBF-QP 安全屏蔽求解(150 \(\mu\text{s}\)): 一个运行于预分配静态 DTCM SRAM(权限路径的执行位置)中的活跃集 QP 求解器评估活跃障碍不等式并计算 \(u^* = \arg\min_u \frac{1}{2}\|u - u_{\text{nom}}\|^2\)。 固定的迭代上限将求解限制在其份额之内,即使约束几何条件病态;针对一个或两个活跃约束的标称求解均能在该时间份额内完成,且留有充足的时间余量。 禁止动态分配内存,因为堆搜索没有有界的持续时间。
- 输出选择与设定值暂存(15 \(\mu\text{s}\)): 若 QP 可行且约束成立,\(u^*\) 被暂存为已获准入的设定值,供下一帧 EtherCAT 发送至驱动器,驱动器的电流控制环应用该设定值,其扭矩精度经测试而非由其速率推断;未能通过校验的提议使先前已采纳的设定值继续有效。 若分片租约已过期、主机心跳已停止、共享控制轨报欠压、跟踪误差超过 \(\epsilon_{\text{track}}\)、执行器饱和使可行控制集为空(\(\mathcal{U}_{\text{safe}} = \emptyset\)),或运行契约检测器(如扰动观测器或求解器时限)触发,则输出选择器撤销该策略并选择状态匹配型停止。 在静止状态下,同样的租约、心跳或欠压触发则选择通电保持。
- 完成与预留(30 \(\mu\text{s}\)): MCU 仅在周期成功后才检查寄存器写入并服务自身的看门狗。 储备层吸收上述各阶段的波动;未在截止时刻前完成的周期,会在下一个 tick 之前将权限移交给常驻回退方案。 因此,漏掉一个 tick 的成本是在通道速度下多走 1.3 mm 的行程。测试分离性 用于检验声明的 WCET 在负载下是否仍然成立,从而避免漏掉 tick。
本周期的每个阶段都假设求解返回的是可行指令。 当饱和性使可容许的力矩集合变为空集、租约失效,或周期超出其截止时刻时,投影便无响应可返回,而许可路径必须已经持有无需提议者即可执行的响应。
回退阶梯
回退方案必须在可容许集合变为空集之前被选定。 一旦为空,兜底措施可以遏制故障或限制危害,但不能承诺避免越界。 响应也不能只是单一开关。 每当提案触及屏障裕度时,就切断母线电源,会产生不协调的减速并导致任务持续中止;而依赖软件优化来应对逆变器直通(执行器传动限制),则会在中断处理程序运行之前烧毁栅极驱动器。 因此,许可路径包含若干常驻响应,并在它们之间确定性地选择,从可行的投影到针对装置的受控停车或扭矩移除。
正如行为式机器人的仲裁与包容式架构 (Brooks 1986年) 允许某个条件选择由哪一层驱动执行器一样,兜底阶梯 是一组四个确定性响应(project:最小干预 QP 投影;hold:主动位置保持;stop:受控动力学停车;inhibit:驱动扭矩抑制),每个响应都在其触发条件所对应的、能够存活下来的执行子系统中运行,许可路径依据检查失败项以及检查失败时被控对象的状态从中进行选择,而不是按顺序逐级升级。
第一级为最小二乘投影,它在可行控制集非空时(\(\mathcal{U}_{\text{safe}} \neq \emptyset\))于每个周期运行,并在其150 \(\mu\text{s}\)占用的周期份额内求解\(u^* = \arg\min_u \|u - u_{\text{nom}}\|^2\),以当前生效的障碍不等式为约束。 它仅在障碍约束与可达力矩相交时才能成功,因此准入执行路径必须在饱和使\(\mathcal{U}_{\text{safe}}\)变为空集之前保持可行性。 若无论如何仍不可行,MCU 撤销该提议,并调用最佳可用的状态匹配响应。
当被控对象可以保持位置而非停止时,响应为受控减速进入通电位置保持,类似于 2 类停止.12 许可路径会制动并闭环保持当前坐标\(x_{\text{hold}}\),驱动器仍在对重力与载荷进行电流调制。 该级消耗电能并在绕组(热工作占空比)中累积热债,但它不磨损制动器且保持运动学状态,因此在新的提议与状态检查之后,安全强制执行组件(enforcer)无需回零即可恢复执行。 在该仓库移动操作臂上,这一级仅在静止时才对租约过期或心跳静默作出响应。 运动中的同一失效选择停止档,因为驻留停止是唯一被制动预算接纳其时间与距离的减速。 若跟踪超出其限值,MCU 选择经校验的停止,且保持仅在可用转矩与反馈支持它时才仍然适当。
当运动中的物体所持提案的授权失效,或跟踪假设或模型假设失效时,响应是一次受控的动态停车,相当于 IEC 60204-1 下的 1 类停车。 在该仓库移动操作臂的基座上,这一条执行随轨迹一同通过准入的驻留停车后缀(接缝处的行为),而不是在故障发生的时刻临时组合停车。 从 1.3 m/s 的巷道速度出发,\(C^2\) 后缀以 2 m/s² 的可靠减速度达到峰值,持续 975 ms,并覆盖 633.75 mm 的制动距离,该制动项已在 节 1.5 的停车预算中预先预留。 停车所消除的动能经逆变器回馈至直流母线(电气功率完整性),因此母线电容与制动斩波必须吸收该尖峰,而不能产生过压故障。13 若规定切断动力,则应在实测确认静止后执行。
可另设一项“最后手段”驱动函数,以抑制电机产生的转矩。 驱动安全转矩关断(STO)本身不会断开直流母线、施加机械制动,也不会停止运转中的电机;电机可能继续滑行。 在所示架构中,外部安全控制器还可命令一个独立额定值的接触器以及弹簧施加式制动器。 该响应与制动能力必须作为一条针对特定设备的完整路径来测量,因为若在仍依赖动力制动才能停住的重力负载机械臂或移动车辆上仅移除转矩,反而可能加剧危险。 在该仓储移动操作臂的这条路径上,STO 加上九个弹簧制动器在线圈电流衰减后于 30 ms 至 80 ms 的时间范围内接合,即构成该抑制逻辑段,且它未被纳入预算。 它只回答 MCU 自身周期丢失这一问题,且没有任何制动或释放结论建立于它之上。
供电中断不会导向该处。 许可路径运行在一条隔离母线上,该母线可维持供电 2 s(哪一项预算最先成为约束),因此共享控制母线上的电压跌落表现为欠压标志,执行监督机制以受控停止级响应。 供电维持时长超过执行监督机制在包络内能够命令执行的最长受控停止过程的持续时间。 停止动作在欠压标志出现后的 22 ms 内开始:从 1.09 m/s 上限工况开始的驻留停止,在经检查确认摩擦系数为 0.12 的地板上需要 1395.4 ms,制动器在静止状态下于 80 ms 内接合,因此每个制动器都在标志之后 1497.35 ms 接合,并留有 502.65 ms 的保持余量。
↰ 前置条件: 硬件跳闸区与低侧 MOSFET 动态分流制动在 执行权限 中引入。
物理人工智能系统工程师在配置终端回退时,必须区分 失效安全 与 失效运行 的装置。 在一台机械上已处于机械约束下的静止状态时,在验证约束之后移除驱动扭矩可能是安全的。 然而,在欠驱动、开环不稳定或高动量机器中,突然断电致动器本身就是一种危险:
- 空中平台(多旋翼与 eVTOL):电机扭矩骤降使空气动力推力降至零,将空中机器人变成不受控自由落体的弹道抛体。
- 动态腿足系统(双足人形):在 \(1.5\text{ m/s}\) 的动态步态运动中,质心位于支撑面之外。 突然移除维持平衡所需的扭矩可能导致摔倒;其方向与后果取决于步态相位和可用的约束。
- 高速自动驾驶车辆:以高速公路行驶速度行驶时移除动力转向或制动,可能消除完成可控停车所需的控制权限;结果取决于车辆动力学与备用驱动。
对于此类动态系统,最终兜底措施不能简单等同于一次未协调的断电。 相反,权限路径必须执行一个确定性的 最小风险操作(Minimal Risk Maneuver, MRM),该操作运行于一个独立的、经过资格鉴定的控制器上,并具备所需的传感与执行器权限。 对于空中机器人与足式机器人,任何受控下降或平衡恢复都必须验证剩余的推进、接触、能量与状态估计权限。 一辆路面车辆需要一条经过风险评估的带动力制动与转向路径。 承载扭矩移除请求的线路是 执行权限 (图 5) 的带外互锁,它使弹簧施加的制动器保持在自身路径上,因为移除扭矩与制动移动载荷是两种不同的功能,各自承载着不同的验证证据。
独立、硬件级跳闸电路的架构必要性,由以软件决策逻辑取代物理联锁所带来的历史后果(1.1)得到证明。
War Story 1.1: Therac-25 软件联锁消除
机制:在先前的机型(Therac-6 与 Therac-20)中,物理安全性由独立的硬件联锁保证:机电微动开关、机械转盘定位止动,以及模拟二极管电流导向电路,这些装置在钨束流展平靶未机械锁定时,从物理上阻止加速器发射大电流束流。 在 Therac-25 中,工程师为降低制造成本而移除了全部物理硬件联锁,将排他性的安全执行完全交由软件承担。 与此同时,两个潜在的软件缺陷击败了软件检查:一个 8 位共享变量(Class3)在设置过程中由 255 溢出至 0(\(0\text{xFF} \to 0\text{x00}\)),绕过了联锁评估;而一个竞态条件允许快速终端按键(< 8 秒)在未将物理转盘位置与所指令的高电流束流能量进行对账的情况下更新运行模式。
影响:1985 至 1987 年间,六名患者接受了高达 \(25{,}000\text{ rad}\) 的过量辐射(超过预定治疗剂量的 100 倍以上),导致灾难性辐射灼伤、严重身体创伤,以及若干患者死亡。
回应:监管机构叫停了相关机器运行,促成了全面调查,进而形成了现代医疗器械软件工程标准、强制性的独立硬件安全联锁装置,以及对安全关键并发状态的形式化验证。
系统层面的教训:仅靠软件安全过滤器,在复杂、非确定性的计算栈上执行,无法替代独立的裸机硬件跳闸区。 Therac-25 事故是公认的历史性证明:以软件决策逻辑取代物理联锁,会将瞬时的并发缺陷与算术溢出直接转化为灾难性的物理能量释放。 在物理人工智能中,软件控制屏障函数与运行时投影屏蔽属于建议性安全滤波器;终端抑制环节必须始终终止于经过适用于该设备的资格鉴定的硬件联锁,例如 Safe Torque Off 与机械制动。
各环节以介入时间、可用的控制权限以及恢复成本进行权衡。 受控停车需要预留安全距离并具备可用的驱动能力,且每个环节针对具体设备的响应都必须针对其可进入的状态逐一验证。图 6 则按照选择各该环节所依据的故障条件,对四个环节进行排列。
Definition 1.2: 动态回退阶梯
动态回退阶梯 是驻留的保护性响应集合 \(u \in \{\mathcal{P}_{\mathcal{C}}(u_{\text{nom}}), u_{\text{hold}}, u_{\text{brake}}, u_{\text{STO}}\}\),确定性仲裁器依据所失败的检查(不变量违反、时序超程,或硬件故障)以及被控对象的实测状态,在每个节拍从中选取一个;因此,同一个触发条件在运动状态和静止状态下可能选中不同的阶梯级。
- 意义:物理人工智能系统不能对所有故障一视同仁;在动态、欠驱动或高动量被控对象上切断执行器功率(例如高速行走机器人、飞行中的多旋翼)可能导致坠落或翻滚,因此需要在最终扭矩移除之前实施与状态相匹配的减速。
- 区别:与软件异常处理程序(展开调用栈或终止进程线程)不同,动态回退阶梯针对物理惯性进行设计,将每一级与仍然有效的感知、控制权限以及预留的制动距离相匹配。
- 常见误区:将各阶梯级理解为一种升级过程,即较低的阶梯级(如 Safe Torque Off,STO)能够提供更快速或更安全的制动。 每一级都有各自的进入条件,且抑制级本身不产生制动,仅移除扭矩。
War Story 1.2: 巡航(Cruise)碰撞后兜底策略(2023 年)
机制:Cruise 车辆最初制动并停车。 其系统随后将该事件误分类为侧面碰撞,并在碰撞前数秒内仅间歇性地跟踪行人后,于接触后约 \(1.83\text{ s}\) 发起靠边停车。 车辆将行人拖行了约 \(20\text{ ft}\),最高报告车速为 \(7.7\text{ mph}\)。
响应:独立的碰撞与车底占用响应应当撤销普通策略授权,保留可控停车所需的制动与转向,并在车辆静止时保持车辆不动。
系统教训:接触后的操纵无法从缺失的跟踪物体推断出无障碍空间。 该回退必须使用独立证据,并保留制动与保持的能力。
IEC 60204-1 的停止类别命名的是驱动功能,而非装置响应;表 3 将每一类别所命名的功能与仍然必须测试的物理响应区分开来。
| 响应 | 电机转矩与功率 | 物理停止义务 | 适当使用 |
|---|---|---|---|
| 允许的滤波 | 驱动仍保持激活 | 每个时间步重新检查可行的动能势垒与跟踪边界 | 在验证包络内正常运行 |
| 受控保持(类别 2 / SS2 类似) | 制动与保持仍有可用功率 | 验证制动距离、热裕量与静态载荷支撑 | 反馈与扭矩权限仍可用时保持 |
| 受控停车后移除扭矩(类别 1 / 类 SS1) | 减速期间保持供电;随后移除扭矩 | 在负载条件下验证完整的制动与过渡时间 | 具有足够预留净距的移动机器 |
| 移除扭矩(类别 0 / 类 STO) | 驱动器无法产生指令扭矩;直流母线隔离属于独立功能 | 移动的电机可能自由滑行;独立的制动或机械约束需要自己的时序与额定值 | 已证明失去扭矩后仍属安全的状态 |
Checkpoint 1.2: 选择物理后备方案
在选择防御性兜底策略之前,先核实你对状态依赖式停止方式、安全函数和时序余量的理解:
强制如何出错
回退梯级的每一级都假设执行它的硬件独立于选中该级的那个故障。 主计算模块旁的一枚次级处理器看似独立,但共用的稳压器、晶振或地平面可能在同一瞬间重置、中止或损坏这两枚芯片,例如主机侧短路使轨压低于微控制器的阈值,或电机驱动器回流使地平面在其总线下方被抬升。 任一芯片上的软件都无法观测到这些故障,因此许可路径保留自己的供电、时钟与地(硬件隔离)。
隔离式执行器仍会在其计算与被控对象不同步时失效,因为超出节拍的一次求解所作用的状态,机器早已离开;而在欠阻尼机构中,针对该较早状态计算出的制动扭矩可能激发结构共振,而非对其进行阻尼。 会中止迟到周期的看门狗无法召回计算超时期间累积的运动,因此时序结论依赖于声明的 WCET 以及 测试分离性 的负载实测值。
执行器只能通过状态估计来观察被控对象,因此滤波器群时延、传动柔顺性、编码器滑移和热偏置漂移可能使报告出的状态始终处于其限值之内,而物理链路早已越过了这些限值。 与独立编码器或扭矩传感器进行交叉校验可以捕捉到大幅偏差,但缓慢的亚阈值漂移会一直隐藏在接触发生之前。
确定性保证计算在固定数量的周期内结束并输出逐位相同的输出,但它对计算出的方程是否与对象相符一无所知。 一个假定底座摩擦前提为0.204的执行器,在地板已被油浸滑的情况下,会恰好按预定时刻执行常驻停止,而轮胎无法提供相应的减速度,于是底座会越过料架末端,同时满足所有时限。 没有任何时序监控器能够发现这一失效,而@sec-frontier-residual-claims-register 则将其摩擦前提保留为尚待验证的条件。
对片上系统(SoC)共享互连的争用可能击败满足自身截止期限的执法者,因为相机直接内存访问(DMA)突发或批量闪存写入会在求解后占用总线矩阵,直接增加驱动器处的命令年龄,而此时逆变器仍保持其最后设定值。 该机器将许可路径置于该总线之外(共享资源争用),因此应用处理器上的突发仅以证据年龄的形式到达它,而周期的第 2 阶段会拒绝任何因该突发传输而使年龄超过拒绝阈值的提案。
作为实时操作系统任务而非裸机中断托管的执法者,会在操作系统层引入优先级反转:一个低优先级遥测线程持有运行频率为1 kHz的执法者所需的互斥锁,而一个中等优先级线程又阻止持有者运行,因此该检查会无界等待。 该机器通过设计中的定时器中断和无锁邮箱排除了这一情形。 在任务托管的执法者上,优先级继承PTHREAD_PRIO_INHERIT或上限锁将等待限制在界内,而@sec-nervous-deterministic-fieldbuses 则考察航空航天飞行硬件中的这一失效。
Therac-25 放疗加速器展示了一个并发故障,其背后没有任何独立支撑。 在其前身各自拥有独立的保护电路与机械联锁装置的情况下,Therac-25 主要依赖运行于治疗所用同一台计算机上的软件,其中操作者数据录入的竞态以及会溢出归零的一字节计数器,各自都使机器能够在靶未就位时发射高电流束流(Leveson 和 Turner 1993年)。 1985 至 1987 年间,六名患者接受了严重超量照射,其中数人因此死亡。
执行层中的每一种失效模式,都可追溯到独立性丧失,或内部被控对象模型与物理现实之间的偏差。 屏障证书、双核芯片封装与零抖动调度器,仅在供给保持隔离、估计值与机械实际一致、且满足时限的包络内才确立安全性;因此,一个要针对这些失效模式接受审计的执行器,必须事先声明该包络:它假设了什么、每个节拍检查了什么,以及每次检查失败时选择何种响应。
执行记录
当仓库移动操作臂的基座在货架末端拒绝某个提议时,日志的后续读者必须能够指出失效的是哪个阈值、由哪个检测器测得,以及它选择了哪一级。 执行记录 是规范契约与运行时审计账本:在每个控制节拍,驱动器获得的是 \(u_{\text{nom}}\) 投影到安全集上的结果,或者回退阶梯响应,除此之外别无其他。
该记录消费四个前驱,取自在此交汇的两条记录链。 离线链记录被控对象能够做什么,以及提议者已证明自身能够做什么;运行时链记录提议者当前提出的内容。 轨迹契约 的轨迹记录提供被接纳的参考轨迹及其匹配的停止后缀。 评估日志 的评估记录提供运行时监控规范与覆盖缺口目录,二者成为该记录的监控通道。 策略清单 策略清单 提供声明的 ODD,有效性区域保持在其中被采样的部分之内。 限制记录 测量机器自身的极限 提供制动、触发与执行器限制及其条件。 这些内容之外,执行记录补充了许可路径所保证的内容:已验证的跟踪边界 \(\epsilon_{\text{track}}\)、停车时间与停车距离(\(t_{\text{stop}}, d_{\text{stop}}\),为消除被控对象动量所需的持续时间与位移提供上界)、控制屏障函数 系数、循环周期、每个检查点的阈值及其回退阶梯档位,以及有效性区域。
↳ 下游: 高频执行器拒绝事件填充了 《控制权限日志》 所分析的取证证据日志。
填入机器后,该记录将移动底座在机架端的制停行为、机械臂的有效性区域以及门与包装站的通道固定如下:
- 跟踪边界 \(\epsilon_{\text{track}}\) 为 40 mm,即@tbl-enforcement-stopping-budget 中第 7 行的内缩量。
- 常驻制停过程为 \(C^2\) 后缀:从巷道速度 1.3 m/s 开始制停时,持续时间为 975 ms,行程为 633.75 mm;从驱动限速 1.5 m/s 开始制停时,持续时间为 1125 ms,行程为 843.75 mm。
- 循环周期为 1 ms,在 400 \(\mu\text{s}\) 的截止期限内声明的 WCET 为 250 \(\mu\text{s}\)。 另有三个定时器与之并行运行:60 ms 的 chunk 租约、100 \(\text{Hz}\) 主机心跳及其 30 ms 静默超时,以及 5 ms 自身看门狗。
- 机械臂的有效性区域覆盖门与包装站。 门口处,它是目标 ODD 评估日志,仅接纳标称板件、门自身的负载、停止的底座以及受保护的接近路径。 在装箱工位,它接纳在当前有效的意图租约(意图租约)下从传送带取杯的操作,以及随后发生的交接。
- 机械臂的通道是执行监督机制施加于工具点的上限。 评估记录中
runtime_monitor_specs的接近速度通道将其限制在门区内的 0.03 m/s。 取杯操作在 1 m/s 自由空间 TCP 限幅下运行。 当同事持续持有accept_item授权(人类对执行机构的权威)时,一个交接通道将接近同事手的动作限制在 0.10 m/s,低于 0.118 m/s 接触力上限,并且它在手进入由机械臂带偏置的制停距离与其盲行距离之和界定的范围之前生效。 - 对于移动底座,在摩擦系数不低于 0.204 的地板上,其常规配置有效,此时可信减速度起约束作用。 受限配置的有效范围可延伸至受检地板的摩擦系数 0.12;其后缀针对该地板允许的 1.177 m/s² 峰值进行设计,并从 1 m/s 起需要 1274.6 ms 与 637.3 mm 才能停下,受 1.09 m/s 受检地板上限约束。 每种配置都带有自身的摘要,而发布清单 (《发布清单》) 同时列出两者。
记录中的每个数值条目都带有其限值记录 (测量机器自身的极限) 的证据类别,即实测、推导、数据手册或示意,且各类别的现实置信度差异很大。 移动底座的 975 ms 停车时间是推导得到的。 这一结论源于 \(C^2\) 后缀的形状,以及其本身即为示意的可信减速度,并且它假设驱动系统提供指令电流、轮胎在整个停车过程中保持抓地。 只有在实际地板上进行带载制停试验,才能使该制停时间成为实测值;这些试验揭示了任何推导都不包含的内容,其中包括制动触发时刻的离散度以及实际地板表面的摩擦特性。 即便如此,测量样本也只有在具备合理的最坏情况故障假设并明确运行条件时,才仅代表该界限。 记录类别可防止系统集成方将推导出的停止误认为实测硬件限值。
记录将分别通过资格校验的阈值映射到保护动作;在机器上,路由取决于物体是否处于运动状态。 路由不依赖粗粒度的错误字符串或未经量化的健康标志。 移动底座保持在投影层级,其中 CBF-QP 可调整指令;只要跟踪误差满足 \(e(t) \le \epsilon_{\text{track}} =\) 40 mm、动能屏障保持可行、求解器保持在声明的 150 \(\mu\text{s}\) 周期预算份额之内,移动底座即保持在该层级。 若新提案在有效租约(active lease)期间未能通过校验,则予以拒绝;此前已受理的设定值在该租约失效前继续有效。 在运动状态下,租约失效、心跳静默、公共控制轨上的欠压标志、超出 \(\epsilon_{\text{track}}\) 的跟踪误差、清空可行控制集的饱和,或触发运行合同检测器(扰动观测器或求解器超时)中的任一情况,都会选择停止环节,该环节在基座执行常驻停止、在机械臂执行状态匹配停止。 在静止状态下,同样的租约或心跳过期,或同样的欠压标志,则选择保持环节,因为已无运动需要制动。 5 ms MCU 自身看门狗会检测遗漏的成功周期;该设计还假设存在独立接线的监督器输出或外部跳闸,以在 MCU 发生故障时请求 抑制梯级。 其总脱扣响应必须予以测量。 接触器(若配置)是一项独立计时的电源隔离功能。
记录中的每个字段要么是完整性字段,要么是这些检查之一所读取的阈值:提案的序列号与校验和、与 51.8 ms 拒绝阈值(预算观测年龄加上时钟换算界)比较的证据年龄、与租约比较的提案自身年龄、跟踪界、关节速度与力矩变化率上限、屏障余量、相电流与母线电压限值,以及看门狗超时。 记录将每个阈值绑定到测量该阈值的独立硬件,以及检查失败时所选择的保护动作层级。表 4 依据失败检查后仍然保持活动的权威路径,将这些保护动作层级分组,并给出触发每个层级的定时器。
↳ 字节布局: 执行记录(enforcement record)的字段、类型和单位见 Enforcement record。
| 状态 | 触发与权威 | 计时检查 | 待验证的物理响应 |
|---|---|---|---|
PROJECT |
新鲜提案、心跳健康、动能势垒可行;若在未过期的租约下提案未能通过校验,则拒绝该提案,且已接纳的设定值继续生效 | \(1\text{ ms}\) 周期;声明的全周期最坏情况执行时间(WCET)为 250 \(\mu\text{s}\),在 400 \(\mu\text{s}\) 的截止期限内 | 在合格误差与制动余量范围内跟踪已接纳的扭矩 |
HOLD |
在静止状态下,提案年龄超过60 ms 租约,主机心跳超过30 ms 保持静默,或共用电轨欠压 | 在 MCU 时钟上于一个节拍内检测到过期 | 在重力与载荷作用下保持通电位置保持;仅在收到新鲜接纳的提案后才恢复 |
STOP |
在运动状态下且通电制动仍然可用时,租约或心跳过期、共轨欠压、跟踪误差超过 \(\epsilon_{\text{track}}\)、可行控制集为空,或扰动观测器触发或求解器超过截止期限 | 包含检测、调度、驱动上升和制动响应 | 底座上的驻留停车,机械臂上的状态匹配停车;负载下的实测停车距离;可行性丧失后不作停车承诺 |
INHIBIT |
独立的有线监督器或外部脱扣可检测 MCU 周期丢失 | 假设 5 ms 检测,加上实测的驱动、接触器或制动响应 | STO 移除电机扭矩,弹簧制动器在励磁衰减后抱闸;未纳入预算,因此不以其作为停车依据 |
当机器在其设计物理环境之外运行时,不存在执行保证;因此该记录将被控对象动力学限定在一个显式的有效区域内。 机械臂在门口的速度上限依据证据设定。 仅凭算术本会采纳分块策略的0.10 m/s方案,即@sec-enforcement-authority-refuse,其2.5 ms接触截止时间仍高于2 ms接触循环;但支撑该策略的演示与评估试验并不包含这一速度@sec-evaluation-logs,因此执行监督机制将提议投影为0.03 m/s,并记录约束该提议的通道。 交接速度上限则依据接触模型设定,低于接触力上限所对应的速度,即对同事的手发生非计划触碰时会达到接触判据的速度@sec-intervention-human-authority;更快的提议以同样的方式被投影并记录。
机器估计器检测到位于有效性区域之外的实时状态,例如清单从未声明的载荷,会被像任何其他失败检查一样拒绝,而标记该状态的监督监控器会撤销策略派发,并选择与状态匹配的停车。 低于基础摩擦前提的地板并不是这种状态,因为机器上的任何传感器都无法观测其车轮下的摩擦。 因此,常规配置以该摩擦为前提,而受限配置则以检查地板(残余主张登记表)为基础。
一条执行记录将拟定的运动与已验证的假设、阈值以及实际观察到的降级响应连接起来。 执行平台在负载条件下仍须满足其时序与物理制动契约。 置于共享内存总线上的安全约束监管组件在数学上可被验证,但当该总线在高速度机动期间饱和时仍会停滞;此时故障发生在时序上而非逻辑上。
谬误与陷阱
物理执行在机器发生碰撞之前将其停止,仅当其执行是及时的且其状态反馈可用时。 因此,故障测试应在任一假设失效时演练响应,而非仅演练滤波器本身的标称方程。
陷阱:假设高层策略计算机能够可靠地执行优雅关机。
仓库移动机械臂的应用处理器发生内核恐慌,而基座运行在1.3 m/s。 故障主机无法生成减速轨迹,且将驱动使能降为零扭矩会使基座凭惯性继续滑向货架末端。 MCU 反而在其30 ms超时内检测到静默心跳,该超时处于预算预留的租约路径之内,且留有充足的时序裕量,并播放常驻\(C^2\)后缀,使基座在975 ms内于633.75 mm停止。 主机关机处理程序可能在正常运行中协调有序停机,但针对主机故障的保护需要一个主机进程消失后仍然保留的停机路径、制动所需的空间净空与扭矩权限。
谬误:数学上正确的安全滤波器能保证安全,即使底层状态反馈已经漂移。
基座的跟踪误差界 40 mm 限制的是参考点与其车轮编码器所报告状态之间的差距,而不是该状态与地面之间的差距。 车轮打滑或编码器存在偏差 可能使基座看起来比实际更远离货架末端,随后 CBF-QP 求解器 会在这一漂移后的估计上满足其不等式,而实际的物理基座则消耗了预算从未授予的净空。 只有独立的通道,例如 IMU 或安全扫描仪到货架的距离,才能暴露这一分歧,而且只有在故障能够通过该通道被观测到时才行。 验证必须确定检测到故障之前估计漂移量的上界,而预算必须将该误差计入定位裕量,因为跟踪内缩无法吸收它。
陷阱:将安全制动权限耦合到随机的语义分类,而非确定的空间净空。
当制动依赖上游分类与路径预测时,一个被检测到的物体仍可能无法触发有效的停车。 2018 年 3 月坦佩碰撞(图 7)中,开发阶段的自动驾驶系统先于碰撞检测到了行人 \(5.6\text{ s}\),但未预测其行进路径。 它在碰撞发生前识别出即将发生的碰撞 \(1.2\text{ s}\),抑制动作一秒,随后规划渐进减速而非紧急制动;NTSB 并未确立每次分类变化都触发卡尔曼滤波重置。 车辆原有的沃尔沃碰撞预警和紧急制动功能在 ADS 运行期间(当边界失效时)被禁用。 独立的几何净空检查需要其自身的验证过的感知、制动权限和时序。 它依据距离和接近速度拒绝,无论该物体被赋予什么标签。
摘要
物理人工智能系统会将执行器权限分配给一条独立于学习生成的提议的路径。 当状态误差、模型失配、执行与响应延迟均保持在各自声明的界限内时,动能屏障有助于维持一个已验证的可行集。 若制动权限或净空丧失,安全约束监管组件可以撤销该提议,但不能声称后续回退恢复了原来的安全集。
保护机器的物理净空从来不是静态的几何测量值。 它是一个复合余量,叠加了制动前的延迟、按可信减速度制动、定位与防护余量,以及跟踪裕度。 仓库移动操作机在其 1.3 m/s 巷道速度下显示出这一总和。 在 \(\tau_{\text{delay}}\) 延迟时段内,盲行进占用的预算为 173.68 mm,\(C^2\) 制动后缀占用的预算为 633.75 mm,定位边界与保护净距占用的预算为 150 mm,跟踪内缩占用的预算为 40 mm。 它们合计需要的距离为 997.43 mm,货架端部的可用净距为 1.10 m,剩余距离为 102.57 mm。 若预算只计入恒定减速度制动,就会放行驱动限值;而最终预算则超出净距。
规划器检查未来轨迹;局部动能屏障将当前提议与建模出的制动能力相比较。 对于扭矩控制运动,原始净空具有二重相对度。 速度相关的屏障在 公式 3 中产生仿射扭矩条件 公式 4,适用于正向接近速度。 该局部计算仍然依赖预留的停车、准确的状态以及及时的扭矩交付。
当提议来源停滞时,许可路径需要一个独立的响应。 在仓库移动操作臂上,60 ms 分块租约、30 ms 主机心跳超时和 5 ms MCU 看门狗分别检测不同的故障。 MCU 撤销提案授权,并选择预验证的状态匹配响应;扭矩移除仅针对 MCU 自身周期的丢失,因为记录中路由的其余每个触发条件都选择运动中的预算停止或静止保持。
执行记录是两条记录线索交汇之处。 每条条目保留其证据类别,因此记录以与所检查内容同样明确地陈述许可路径的假设。
要点回顾: 条件执行与物理制动
- 跟踪是有界的先验: 稳态误差不能给出瞬态误差的界限,因此净空内缩量需要采用在工作包络内针对完整机动过程验证过的瞬态误差界。
- 最终预算决定了速度: 盲行、驻留制动、瞬态跟踪误差和位置估计误差都进入同一次准入检查,因此决定机器可移动速度的是净距,而非驱动限速。
- 受控的势垒包含速度: 原始距离对扭矩具有相对二阶度。 动能制动屏障在正接近速度下产生力矩半空间,位于屏障的操作合同之内。
- 回退取决于状态: 可行投影、动力保持、受控制动和驱动扭矩抑制具有不同的前置条件。 空的可行集合无法保证安全停车。
- 独立时钟检测不同的故障: 证据年龄、提案年龄、主机心跳、MCU 周期进度和外部触发分别检查;没有任何一个超时构成通用的制动保证。
- 拒绝必须留下记录: 执行记录将每个阈值绑定到测量它的检测器以及检查失败时所选的回退层级,因此每个保证的前提都可以在硅片上测试并在发布时判定。
回退阶梯将“提议不等于许可”这一法则转化为 MCU 在每个节拍上执行的检查,因为每次失败的检查都会选择预先为故障预留的层级,而提议者既无法延迟该选择,也无法覆盖它。 动能屏障将这条法则与不可逆性联系起来,使许可同时取决于速度与位置,因为一旦从某一状态出发,系统驻留的停车方案已无法在剩余空间内完成停车,即使尚未触及任何边界,该状态也已不可挽回。
后续内容: 从屏障证书到异构 SoC 布局
脚注
控制屏障函数与正向不变性:控制屏障函数定义了一个连续可微的证书 \(h(\mathbf{x}) \ge 0\),覆盖一个可容许的安全集 \(\mathcal{C}\),并施加净距的方向导数约束 \(\dot{h}(\mathbf{x}, \mathbf{u}) \ge -\gamma(h(\mathbf{x}))\)。 施加该不等式使 \(\mathcal{C}\) 成为正向不变的:在可行集内初始化的状态可以保持在该集合中,只要屏障可行且所陈述的模型与定时假设成立。 当接近边界时,约束迫使产生方向相反的驱动输入,从而在发生物理接触之前制止动量。↩︎
主动集二次规划用于安全屏蔽:在裸机微控制器上,一个将线性约束限制为活跃边界接触、且不分配任何动态内存的主动集求解器,可以在已测试平台上以固定的迭代上限界定终止;从求解器类型无法推出普适的 \(150\,\mu\text{s}\) 上限。 若数值病态性在循环截止前阻碍收敛,求解器将优雅地中止,回退至自主减速兜底。↩︎
闭环跟踪刚度与扰动界限:持续的力和有效闭环刚度决定静态挠度。 瞬态跟踪还取决于惯性、阻尼、指令形状和饱和。 验证包络之外的扰动会使所声称的管域失效;它们不必产生指数发散。↩︎
Remote Processor Messaging:Linux RPMsg 提供基于 virtio 的处理器间消息传递。 缓冲所有权、拷贝、调度延迟和最坏情况交接时间取决于平台;OpenAMP 提供独立的无拷贝 API。 租约要求一条已经过测量且有界的交付路径。↩︎
硬件断开电路和 PWM 触发区: 已配置的定时器外部断开输入(例如
TIMx_BKIN)可将 PWM 输出强制为指定状态,而无需等待中断。EPWM_TZFRC是软件强制机制,而非外部触发输入。 输出状态与响应时间取决于定时器、栅极驱动、走线和资格测试;触发仍需一条物理上合适的停止路径。↩︎运动学停车距离与延迟分量:本模型中的内缩停车距离由五项构成:盲驶距离、按可信减速度计算的制动距离、定位界、固定防护净距,以及瞬态跟踪界。 若省略计算传输延迟或跟踪误差,则机器在峰值制动能够生效之前就会过早侵入物理障碍物。 详见 Kinematic Stopping Envelopes and Information Age Lag 中的形式运动学推导。↩︎
执行器偏置力矩与制动余量损失:当执行器分配连续基线扭矩以抵消重力载荷或稳态摩擦时,可用的紧急制动余量将按比例耗尽。 在垂直轴和重载轴上,这种净动态扭矩的耗尽会使制动距离在看似不大的偏置载荷下变为原来的四倍。 控制能力饱和与制动余量收缩的详细推导见 Safety and Control Barrier Functions。↩︎
Nagumo 可生存性定理与边界切锥:Nagumo 定理确立了闭集是前向不变的,当且仅当系统速度向量在每个边界点都属于该集合的相依切锥。 控制屏障函数 将该几何条件综合为执行器扭矩上的实时仿射不等式约束。 违反这一子切性条件会导致立即离开该集合,使得未来的边界约束无法实现;参见 Safety and Control Barrier Functions。↩︎
相对度与考虑惯性的障碍证书、、:当安全障碍监视位置而执行器指令力矩时,控制输入与约束之间隔着两次时间积分(\(r=2\))。 在不嵌入动能制动距离的情况下强制零阶空间障碍,会产生一个在边界上控制权限为零的优化问题。 一个与速度相关的障碍可以在制动仍然可行、且状态、时延与跟踪裕度成立时支撑条件正向不变性论证;参见 Safety and Control Barrier Functions。↩︎
最坏情况执行时间与活动集 QP 复杂度: 在裸机安全微控制器上,QP 安全滤波器在静态内存数组内执行,并采用固定的迭代上限。 典型的活动集求解耗时介于 \(60\text{--}120\ \mu\text{s}\) 之间;而在病态或近乎退化的约束几何下,无上限求解可运行至 \(600\ \mu\text{s}\),长于整个授权截止时间。 设置固定迭代上限,正是为了排除上述情形。 它将该求解器限制在其声明的周期份额内,因此时间预算覆盖的是带上限的求解器,而非无上限的最坏情况。↩︎
控制障碍函数与李导数: 在非线性控制理论中,无强迫漂移与执行器控制权限借助李导数(\(L_f h(x)\) 与 \(L_g h(x)\))予以形式化。 当安全边界具有相对度为一时,控制输入直接出现在障碍函数的第一次时间导数中,从而对指令扭矩形成瞬时仿射约束。 若相对度为二,则安全约束监督模块必须评估更高阶导数,以防止执行器饱和使边界违反成为不可避免;参见 Safety and Control Barrier Functions。↩︎
机器停止功能: IEC 60204-1 区分不受控的断电(0 类)、受控停止后断电(1 类),以及受控停止并保留电源(2 类)。 IEC 61800-5-2 驱动器功能,如 STO、SS1 和 SS2,可能实现这些响应的一部分。 所需性能等级、电路架构和合适的停止由机器特定的风险评估确定;ISO 13849-1 并不规定统一的 PL 或通道数。↩︎
动态制动斩波与直流母线过压钳制: 在再生式 1 类停车中,机械动能经逆变器桥流入直流母线电容(\(\Delta E = \frac{1}{2} m v^2\))。 当直流母线电压升高时,额定合适的斩波与电阻可耗散该能量;但切换阈值、脉冲能量额定值与热行为必须针对停车曲线加以验证。 其他设计采用机械耗散,或采用可接受再充电的电池。↩︎



