轨迹规划
轨迹规划
目的
当下一个神经轨迹片段迟到时,物理机器在那段未预算的毫秒内会做什么?
一台运动的物理机器持续携带动量,而高容量神经策略正在计算后续轨迹片段。 若执行动作序列在其后继到达前即告终止,盲目滑行将消耗安全停车所需的净距。 反之,将一条不受约束的建议直接拼接进进行中的轨迹,则要求瞬时关节加速度,会违反执行器扭矩限制,或在机械传动中激发破坏性结构共振。
轨迹规划通过把离散模型推断转化为连续、运动学可行的运动轮廓,化解这一计算—物理失配。 每个已分派的轨迹片段都必须保证跨片段接缝的 \(C^2\) 连续性,并携带一个不变的、预先验证过的停止后缀。 该停车续段确保实时执行层能在当前净距约束内安全制动,以应对下游计算尾延迟或硬件故障。 在物理人工智能栈中,规划协调了 Brain 的异步、可变延迟推理与 Nervous System 的硬实时执行节拍。
学习目标
- 从替换延迟、目标证据的年龄以及停止所需的时间中选取轨迹时域
- 依据机体的执行器与传动限制,评估轨迹的可行性与接缝连续性
- 区分可在执行前检测到的轨迹失败与需要在物理运动过程中进行监控的失败
- 计算匹配的停止后缀为机器的停止预算增加的距离,并将其与净距离进行比较
- 规定一条迟到或从未到达的替换轨迹所受的承诺截止时间与匹配的停止
- 构造一条可由许可路径按内容接纳的轨迹记录,其依据来自父租约、截止时间与停止
连续轨迹
仓库移动操作臂伸向正在运动的传送带上的一只杯子,具有物理质量、结构惯性 \(\mathbf{M}(\mathbf{q})\) 以及连续的动能 \(E_k = \frac{1}{2} \dot{\mathbf{q}}^T \mathbf{M}(\mathbf{q}) \dot{\mathbf{q}}\)。 它无法瞬时改变速度或方向。 即使上游自主系统授予了限时意图租约,授权朝向已定位语义目标的运动,仅凭该语义许可也无法驱动电机轴。 该机器必须在目标证据仍然有效期间合成连续的标称运动,并额外具备经单独授权的停止续行,以防跟踪授权终止。 在该机器上,操作臂的关节跟踪回路以 1 kHz 的周期评估反馈与设定值(数据手册;参见读者指南);该周期并不规定物理停止响应。 该回路之上是 Brain,现代机器人学习策略(如 Action Chunking with Transformers(ACT)(Zhao 等 2023年) 或基于分数的 Diffusion Policies (Chi 等 2024年))处理多模态观测,在应用处理器上合成未来的参考轨迹。1 推理延迟随工作负载与竞争情况而变化。 机器的分块策略在 P99 下按每轮示例值 40 ms 编制预算,包含视觉;但内存或调度干扰可能使单轮执行超出 150 ms,因此规划时域依据部署后推理延迟分布的尾部而非预算来确定。
↰ 前置条件: 动能(\(E_k\))与关节力矩限制已在 机械动量 中确立。
若某架构预测一步之内的动作(\(N = 1\)),电机跟踪回路将缺少后续设定值。 若它生成一个覆盖有限未来时域的多步动作分块,包含 \(N > 1\) 个设定值,则机器必须跨越一道 执行接缝,即一个分块的设定值让位于下一个分块的衔接处。 当一个正在执行的分块轨迹在其替换分块经历推理延迟分布尾部的长延迟并完成推理之前执行完毕,控制器便面临执行不连续。 若控制器钳制到最终位置,参考速度会阶跃为零,并要求驱动器在单个伺服周期内消除机械臂的动量。 若新到达的片段以与运动机构物理状态相背离的速度或加速度开始,则指令扭矩阶跃并激发结构。
Definition 1.1: 动力学—运动学可行性包络
动力学—运动学可行性包络 是指状态空间中物理机器能够跟踪候选轨迹、同时严格满足执行器扭矩上限、速度上限与加加速度约束的状态子集,其中位置、速度与加速度在分段接缝处连续,且不超出机械制动余量。
- 意义:几何上的无碰撞自由是必要的,但不足以支撑物理执行;机械臂可能沿一条无碰撞路径运动,却仍需要超出连续热额定值的电机扭矩,或产生使欠驱动基座倾覆的加速度。 该包络给出了模型预测可跟踪运动所依据的条件;运行时感知与执行器检查仍须对其加以验证。
- 区别:与纯粹的位姿可达性(它评估机器人的连杆能否达到某种空间构型)不同,运动学—动力学可行性还纳入了时间参数化、执行器力矩与力限、等效转动惯量以及机械制动跑道。
- 常见误区:仅在离散航点处检查可行性。 在采样点之间插值样条曲线,可能产生相邻采样点之间的速度超调与力矩尖峰,即使每个航点单独都通过校验,也会突破电机限幅。
意图界定可接受的最终目标;规划则提供实现该目标所需的连续运动、时间参数化与动力学限幅。 在提案边界(《五层机器》)处,一个计划并非写入执行器寄存器的指令。 它是一条无特权提案,由应用处理器发送至安全微控制器(MCU),在该安全 MCU 上,跟踪控制器跟踪该提案,许可路径(安全执行)则对其进行检查。2 由于推理延迟具有长尾特性,本设计中的下游控制器依据自身时钟消费已获准的参考量,因而无法在等待模型完成期间暂停物理运动。 因此,一个计划必须是自包含的。 它自带接缝状态,在加速度(\(C^2\))上连续,3 自带截止时间,以及它自己的停止动作——与标称运动一并获准的停止后缀,使得停止续段在它被需要之前就已存在。
↰ 前置条件: 会到期的意图租约提供了有界时间窗,轨迹须满足这些时间窗施加的约束,参见 意图租约。
动量、较长的推理尾迹,以及必须保持连续的连接处,共同决定了计划必须包含什么。 因此,第一个决策是规划器在手臂仍在运动时交给跟踪控制器和许可路径的内容。
规划器移交的内容
对于双关节机械臂,一对关节角 \((q_1,q_2)\) 是 构型空间 \(\mathcal{C}\) 中的一个点。 障碍物排除了部分角度对,留下 \(\mathcal{C}_{\mathrm{free}}=\mathcal{C}\setminus\mathcal{C}_{\mathrm{obs}}\)。 穿过该自由集的曲线说明了机械臂可以移动到何处,但没有说明它可以移动得多快,也没有说明其电机能否提供所需的扭矩(Lozano-Pérez 1983年)。 一条 轨迹 为曲线分配了时间,并暴露出 \(\mathbf{x}(t)=[\mathbf{q}(t)^T,\dot{\mathbf{q}}(t)^T,\ddot{\mathbf{q}}(t)^T]^T\)。 规划器提出该时间索引的参考轨迹,权限路径检查在设定值送达驱动器之前对其进行校验。 仅凭几何路径既不提供时序,也不提供回退余量。
规划器移交的是一条 轨迹记录,即跟踪控制器遵循、权限路径接纳的不可变提案。 它给出坐标帧 \(\mathcal{F}\),证据时间 \(t_0\),初始参考状态,以及四个位于 MCU 单调时钟域中的截止时间:名义跟踪自 \(t_{\mathrm{start}}\) 开始,名义设定值于 \(t_{\mathrm{plan\_exp}}\) 结束,替换在 \(t_{\mathrm{commit}}\) 关闭,被接纳的停止在 \(t_{\mathrm{stop\_end}}\) 结束。 它还关联到当前意图的过期时间 \(t_{\mathrm{intent\_exp}}\)。 由传感器时钟与主机时钟的换算带有有界误差。 规划器将每次替换安排到更早的目标,即混合截止时间 \(t_{\mathrm{blend}}\),其后继应当不晚于该时刻被接纳,且在此处最后一次检查机械臂的障碍物净空;它是调度表的目标,而非该记录的字段。
权限路径仅在意图与计划均有效时允许名义 TRACK,因此意图的过期会立即终止 TRACK,无论记录自身的截止时间允许到什么程度。 第二时钟同样约束 TRACK。 分块策略同时提出底座速度和机械臂关节目标,因此一个分块租约 多速率节拍 同时管辖两个物体,且只有被接纳的分块才能续期,本机上每 50 ms 一次。 当租约在最后一次接纳之后到期 60 ms,每个物体各自进入自己的停止:底座进入其常驻停止,机械臂进入与其状态匹配的备用停止,该备用停止经过独立验证,并依据实测状态重新求解其匹配后缀的 \(C^2\) 轮廓。 机械臂需要这个独立的备用停止,因为其匹配停止后缀锚定于机械臂在 \(t_{\mathrm{commit}}\) 时将占据的位置。 在意图过期,或故障在 \(t_{\mathrm{commit}}\) 之前使路径失效时,机械臂都会前往该同一备用停止。
租约到期后,机械臂的停止在经过一个权限检查时钟节拍、一个总线周期以及一次制动启动延迟之后开始;连同租约本身,这些延迟共同构成从续期到启动的 多速率节拍 延迟。 承诺将租期封顶,因为停止必须最迟在 \(t_{\mathrm{commit}}\) 时开始,因此没有任何租期可以长于 \(t_{\mathrm{commit}}\) 减去这三项延迟。 只有接近该上限运行的租期,才可能让一条记录在无需后继的情况下到达 \(t_{\mathrm{commit}}\);这样一条记录会依据其匹配的停止后缀转移到 STOP,而该停止后缀所执行的停止可能在其意图的跟踪许可过期之后才完成。 在这台机器上,60 ms 租期远早于承诺即告失效,因此受阻的提议者遇到的是“续期至触发”延迟而非上限,而 节 1.5 则将这一延迟计入机械臂的障碍物净空预算。
两个消费者读取的是记录的不同部分。 跟踪器对已接纳的参考点、时间戳和前馈项进行插值,以驱动执行器沿平滑轨迹运行。 独立的许可路径读取谱系、时序、动力学假设、有效性边界和停止后缀,并监控电流限制与授权,而不将规划器的可行性主张作为证明继承;新的障碍物、变化的载荷或接触事件可以撤销 TRACK 并触发状态匹配的兜底路径。 由于交接中的每个字段都对应一次运行时检查,神经系统可以允许快速运动,而无需假设下一个推理周期会成功。 生成这样一份记录,始于一个完全不带时间信息的目标。
从目标到轨迹
手臂为包装工位的同事从传送带上取走咖啡杯的意图租约,授予了一个目标区域和广义驱动力上限(意图租约),但没有任何执行器能够执行一个区域。 跟踪控制器需要一条轨迹,该轨迹在一段有界区间内分配状态目标、前馈项和时间戳。 如果某个学习策略能够在 1 kHz 关节环路的速率下输出有效的电机电流,那么规划就不会作为架构中的一个阶段存在,机器将以高速反馈控制器的形式运行。 学到的策略反而需要几十甚至几百毫秒才能计算出一段运动序列,而跟踪控制器与许可路径则以固定的毫秒级周期确定性运行。
经典的基于采样的规划器回答了该问题的几何部分。 一条概率路线图 (Kavraki 等 1996年) 或一棵快速探索随机树 (LaValle 1998年) 在\(\mathcal{C}_{\text{free}}\) 中搜索一条无碰撞路径,而无需构建障碍物的显式模型。 来自此类搜索的一条路径,如同来自学到的策略的一个片段,仍然不含时序、不含其端点的导数、也不含停止动作,而本章正是为此提供这些内容。
学到的提议者通过滚动时域动作分块(供给、新鲜度与内存墙)弥合缓慢的推理与快速的执行器控制,即预测一个多步序列、执行其前缀,并在新的观测下重新规划。 三类提议者填补了这一角色,而它们在这里的重要性都体现在其输出所具有的延迟与连续性上。 ACT (Zhao 等 2023年) 一次预测 \(N\) 个未来的关节设定值,并通过 供给、新鲜度与内存墙 的时间序列集成将重叠片段融合起来,该方法平均设定值,但将分块接缝处的导数连续性留待本章处理。 扩散策略 (Diffusion Policy, Chi 等 2024年) 对长度为 \(T_p\) 的片段(Push-T 真实设置中为 16 步)进行去噪,执行其中子集 \(T_a\)(那里为六步),并在下一个观测上重新规划;其迭代去噪会引入随工作负载变化的延迟与方差。 对于带约束的轨迹优化器,一种学习得到的热启动若落在可收敛到可行解的吸引域附近,可减少求解器迭代次数,但也可能选择障碍物的错误一侧,或错过截止时间。 这些输出均非可行性证明,只有完整路径、接缝、力矩与停止检查全部通过的候选解才会被采纳。
这种滚动时域结构对应于经典的 模型预测控制(MPC) 与轨迹优化,其中优化器在有限时域 \(T\) 上规划一条轨迹,执行一个初始前缀,并在下一个周期根据更新后的状态重新求解该问题。 经典 MPC 将轨迹合成表述为一个显式的带约束数值优化问题:在解析系统动力学(\(\dot{\mathbf{x}} = f(\mathbf{x}, \mathbf{u})\))和物理边界(\(\mathbf{x} \in \mathcal{X}_{\text{safe}}\))、执行器力矩(\(\mathbf{u} \in \mathcal{U}_{\text{adm}}\))上的硬不等式约束条件下,最小化代价函数。 当解析模型能够准确刻画物理装置、且状态维度保持紧凑时,MPC 能够提供约束满足与闭环稳定性的严格保证。 然而,当经典轨迹优化应用于非结构化的开放世界操作时,会撞上 “经典壁垒” 的“经典之墙”:数值求解器无法直接摄入高维语义 词元(如原始相机像素或自然语言指令),并且非光滑接触力学或可变形物体引入了组合式局部极小值,使得在线数值优化在实时控制周期内不可行。 生成式动作切分通过直接从视觉演示中学习连续的多模态轨迹分布来解决语义摄入问题,但牺牲了分析性保证。 因此,物理 AI 架构将学到的切分策略视为跨多秒任务时长的非特权语义提议者,依赖本章开发的运动学动力学可行性检查与接缝契约,在驱动前保证物理可采纳性。 执行这些可行性检查并无缝替换当前轨迹,会引入计算与传输延迟,必须在各替换周期内被严格限定。
调度量是 替换延迟 \(L\):从新提案所需的观测到传输、推理、全轨迹验证和准入之间的经过时间。 机器分块策略的示意阶段账目包含 15 ms 的感知、5 ms 的 DMA、策略的 40 ms 的推理、2 ms 的反序列化、18 ms 的验证和 1 ms 的激活,总计 81 ms。 当阶段重叠或共享争用时,阶段百分位的和并非和的百分位(测量新鲜度),因此地平线依据 \(L\) 的端到端分布来设定。
\[L = t_{\mathrm{sense\_ingress}} + t_{\mathrm{ipc\_dma}} + t_{\mathrm{infer}} + t_{\mathrm{deser}} + t_{\mathrm{validate}} + t_{\mathrm{admit}} \tag{1}\]
动作分块预测地平线 \(H\) 的选择引入了计算摊薄与反应式响应性(图 1)之间的根本性系统困境。 高容量视觉-语言-动作(VLA)模型和扩散策略需要可观的推理延迟(\(t_{\mathrm{infer}} \approx 180\ \text{ms}\) 在嵌入式加速器上)。 若规划器以单步方式(\(H = 1\))评估动作,计算占空比将超过 100 %(\(t_{\mathrm{infer}} / \Delta t = 900\%\)),使 50 Hz 控制回路(\(\Delta t = 20\ \text{ms}\))被饿死,并导致机器人在相邻步骤之间停顿和抖动。 扩展预测视界 \(H\) 可将推理在多步执行窗口间摊薄,使加速器占空比在 \(H \ge 18\) 后降至 50 %以下。 然而,以开环方式执行一段较长的动作块会抬高对动态障碍物的平均反应延迟,\(\tau_{\mathrm{react}} \approx \frac{1}{2} H \Delta t + t_{\mathrm{infer}}\)。 当 \(H > 36\)(\(>720\ \text{ms}\) 物理窗口)下的反应延迟超过动态障碍物规避阈值(\(\sim 350\ \text{ms}\))时,动态环境中的闭环任务成功率会从 90 %骤降至个位数。 将动作块视界设定为帕累托最优窗口 \(H^* \in [16, 24]\) 可实现所需的平衡:计算占空比在 38 至 45 %之间得到充分摊薄,同时反应延迟保持在 400 ms 以下,从而在静态与动态运行条件下均维持较高的闭环成功率。
公式 1 中的分量之和是一条已耗时长替换路径,而非绝对时间戳。 考虑一台比本机器分块更新更慢的通用重规划器,在十分钟任务中以 5 Hz 的重规划频率完成 \(K=3000\) 次交接。 若每次交接独立地以 \(0.01\) 的概率超出 \(P_{99}\) 预算,则迟到的交接次数期望为 30,而 全部 准时到达的概率为 \((0.99)^{3000}\approx8 \times 10^{-14}\)。 相关争用会使超出延迟预算的事件成簇发生,从而破坏该算术所假设的独立性。 将任务超量目标 \(\epsilon_{\mathrm{mission}}=10^{-3}\) 均等分配,则按并集界可得每次交接的目标为 \(\epsilon\le\epsilon_{\mathrm{mission}}/K\approx3.3 \times 10^{-7}\)。 对应的 \(P_{99.99997}\) 是 设计分位数目标,属于风险分配,而非实测延迟。 部署要么以代表性负载测试和保守界支撑它,要么接受更高的回退率。
下一个请求在活跃分片开始后不晚于 \(T_{\mathrm{request}}\) 离开。 准入必须在 之前完成 \(t_{\mathrm{commit}}\),而不仅仅是早于最后一个标称设定值。 给定替换延迟目标 \(Q_{1-\epsilon}(L)\) 与预留 \(T_{\mathrm{reserve}}\),要求 \(t_{\mathrm{commit}}-t_{\mathrm{start}}\ge T_{\mathrm{request}}+Q_{1-\epsilon}(L)+T_{\mathrm{reserve}}\)。 获准执行的停止随后还需要额外的 \(T_{\mathrm{stop}}\) 时长,且停止过程由 MCU 掌控。 无论采用何种编码,记录必须覆盖的完整 时间范围 \(T_{\mathrm{record}}\) 具有如下下界:
\[T_{\mathrm{record}}\ge T_{\mathrm{request}}+Q_{1-\epsilon}(L)+T_{\mathrm{reserve}}+T_{\mathrm{stop}} \tag{2}\]
完整时长 公式 2 包含停止后缀。 机器分块策略每 20 ms 发出一个设定值(设定值周期 \(\Delta t_{\text{step}}\)),16 至一个分块,因此一个分块承载 320 ms 的标称运动。 对于传送带跟踪臂,所选请求延迟 60 ms、替换目标 160 ms 与预留 20 ms,以及单独校验的 300 ms 停止,需要至少 540 ms 的完整运动授权,或 27 个设定值周期 时长当量。 这并不意味着 27 个已存储的设定值:记录中的 \(N\) 仅统计标称样本;停止由单独校验的多项式系数表示。 仅覆盖请求延迟、替换目标与预留的授权时域会遗漏停止滑跑。
分块策略在每个分块启动后于续期槽 50 ms 发出其下一个请求(供给、新鲜度与内存墙),因此在稳态运行中同时有多条请求在途,每个 50 ms 到达一个被接纳的分块,其延迟相互重叠。 该界限将 \(T_{\mathrm{request}}\) 设为该槽位时间加上 10 ms,因此对于最多延迟这么长时间发出的请求,该界限仍然成立。
替换目标是整个替换路径的设计尾分位数,因此它明显超出策略的 40 ms P99 通过以及 81 ms 阶段账本。 混合截止必须至少晚于开始 240 ms,即请求延迟、替换目标与预留之和;而 节 1.5 中算例的承诺时长为 300 ms,比该目标多出 60 ms 的裕量。 在算例臂中,该分段的标称设定值结束于 320 ms,而获准的停止完成于 600 ms,因此完整的授权窗口跨 30 个设定值周期时长当量。
替换窗口 240 ms 是该臂的极限,而非其运行情形。 共享租约 节 1.2 在分块获准接纳的时间落后于其槽位超过 10 ms 时即告失效,因此采用完整设计尾的替换会在混合截止之前很久就落入该臂的状态匹配回退,而该窗口反而设定了本臂上任何租约可运行的时长。
该时间下界与目标证据的年龄相互竞争。 即便在合格的局部跟踪器下,只有传送带的残余滑动将杯子带离跟踪器的预测,会过期的目标 仍发现,单个观测保持在抓取容差内的时间少于 300 ms 承诺。 因此,单个观测不足以将名义跟踪论证到承诺。 跟踪器必须在其地平线结束前提供新鲜证据;否则 TRACK 会在证据过期时结束,而 MCU 会使用其状态匹配的回退方案。 由于计算尾部较长而延长目标时间戳,将颠倒权限规则。
无论提出方是谁,系统接口都将学到的模型视为运动分片的随机产生器,其特征由经验延迟曲线和输出视界 \(N\) 刻画;扩散调度、注意力缓存和词元生成会影响该曲线,但位于首个可预算量之下。 执行缓冲区吸收推理延迟,同时控制器仍能对扰动做出反应,Push-T 的 图 2 恢复过程即为例证。 依据已验证的延迟分布对 \(N\) 进行量级设计,可降低延迟替换过晚的风险;受保护的停止处理则应对未命中情况。
替代规划器必须在其计算过程中考虑运动。 在一个示例性的 80 ms 延迟、恒定关节速度为 0.50 rad/s 的情况下,请求发起时刻的陈旧位姿落后于移动参考点 0.040 rad(2.29°)。 所提出的替代方案可以改为从当前计划在其预期接缝处的投影参考点出发:
\[\Delta q_{\mathrm{reference}}=\int_{t_0}^{t_{\mathrm{seam}}}\dot q_A(t)\,dt,\qquad \hat{\mathbf{x}}_{\mathrm{seam}}=\mathbf{x}_A(t_{\mathrm{seam}}) \tag{3}\]
公式 3 中的投影接缝可用于构造候选;接触、跟踪误差或调度变化则可能使实际结果与计划不同。 因此,MCU 测量当前编码器状态,校验实际接缝 \((q,\dot q,\ddot q)\) 及任何桥接,并拒绝超出许可区域的候选。 匹配两条 参考 轨迹可使参考轨迹具有 \(C^2\) 连续性,但不保证被控对象的实际运动也具有该连续性。
Definition 1.2: 未来状态条件化
未来状态条件化 是指在执行时刻锚定于预期状态、而非计划启动时测得的陈旧状态,来生成候选运动计划的做法。
- 意义:补偿计算延迟 \(\Delta t_{\text{plan}}\),从而消除基于陈旧状态规划会在轨迹交接时产生的参考跳变,且无需在分段之间插入零速度停车。
- 区别:与状态估计或滤波不同;它是一种参考规划策略,将已采纳的轨迹向前推进,而不是过滤传感器噪声。
- 常见误区:把预测的执行状态当作测量得到的状态;如果扰动使执行机构在规划期间发生位移,候选方案会一直不可采纳,直到 MCU 用编码器状态检查接缝。
此时,地平线同时服从两把时钟。 它必须足够长,使替代计划在设计所采用的尾延迟情形下仍能在提交时限之前到达,且其后仍留有停车轨迹;同一时间窗也限定了租约。 与此同时,目标背后的证据必须保持新鲜,直至 TRACK 运行结束。 然而,及时到达的替换物,只能保证计划在时间上的连续性。 它所携带的设定值也必须落在关节能够提供的范围内,并在接缝处与机构实际的角速度与角加速度相衔接。
Checkpoint 1.1: 动作分块时域与尾延迟预算
在从替换时机转向运动本身的可行性之前,先验证你是否有能力针对延迟尾部来标定动作分块时域:
运动学与动力学可行性
候选轨迹是几何与时间上的提议,而非移动许可。 在提交之前,规划器通过检验已验证的初始状态是否位于候选的运动学与动力学可行性包络内对其进行筛选,评估关节位置与速度、预测的驱动器扭矩与电流、接触限制、障碍物净空,以及匹配停止后缀,覆盖所提议的地平线。 对于机械臂,刚体模型将 \(\mathbf{q}(t)\)、\(\dot{\mathbf{q}}(t)\) 和 \(\ddot{\mathbf{q}}(t)\) 映射为 \(\boldsymbol{\tau}(t)=\mathbf{M}(\mathbf{q})\ddot{\mathbf{q}}+\mathbf{C}(\mathbf{q},\dot{\mathbf{q}})\dot{\mathbf{q}}+\mathbf{g}(\mathbf{q})\) 与 \(I_i(t)=\tau_i(t)/k_{\tau,i}\) (Craig 2005年; Lynch 和 Park 2017年)。 规划器的筛选并不等于准入;MCU 会重复执行决定性检查,仅当其配置的限制与完成整个停车过程所需的净空条件在经核实的初始状态下均得到满足时,才准入该有界轨迹;随后它在执行过程中检查跟踪、新鲜度以及剩余停车预算。 优化器可以平滑一条路径或减小与障碍物的接近程度,但运动许可由被准入的轨迹与驻留停车决定,而非优化器的目标值(图 3)。
↰ 前置条件: 执行器扭矩饱和限制与转子惯性缩放(\(N^2 J\))在 执行器传动限制 中推导得出。
仅在路点处检查可行性,并不等同于运动的可行性。 机制在间隔为 \(T_s\) 的采样点之间沿插值路径运动,因此仅在 \(t_k = k T_s\) 处检查,会使导数在 \([t_k, t_{k+1}]\) 区间内超出其界限。 若插值器在每个采样间隔内最多可施加 \(a_{\max}\),则采样中点处的最坏情况三角加速度反向,可使速度超出采样值最多 \(\Delta v \le \frac{1}{4} a_{\max} T_s\),因此两个略低于 \(v_{\max}\) 的采样点可以夹住高于该值的峰值,并在两个有效航点之间触发超速钳制。 为在连续时间中约束速度而无需逐点求值,准入滤波器测试一个收缩后的限值 \(|\dot{q}_k| \le v_{\max} - \frac{1}{4} a_{\max} T_s\),该限值吸收了采样间隔内的最大超调。
拼接各自可行的片段可能产生不可行的接缝。 仅匹配位置(\(C^0\))可能留下速度跳变;仅匹配速度(\(C^1\))可能留下有限的加速度与力矩跳变。 在刚体转动惯量近似下,将指令速度变化 \(\Delta\dot q\) 分摊到伺服周期 \(T_c\) 所要求的力矩为 公式 4,其中 \(J_{\mathrm{eff}}=J_L+N_g^2J_{\text{rotor}}\) 为输出侧转动惯量,即负载惯量加上经齿轮比 \(N_g\) 折算的转子惯量。 物理驱动器根据其电流限制与柔顺性,对该请求进行饱和限制或滤波。图 4 将该请求与其对策并列,即一个有限的 \(C^2\) 桥接,以消除参考速度跳变。
\[\tau_{\mathrm{request}}=J_{\mathrm{eff}}\frac{\Delta\dot q}{T_c} \tag{4}\]
Definition 1.3: C² 样条接缝
一条 \(C^2\) 样条接缝 是轨迹连接点,它在相邻运动段之间强制位置及其一阶、二阶时间导数(速度、加速度)均连续。
- 意义:避免轨迹分段之间出现瞬时的加速度跳变,从而限制执行器所承受的惯性力矩尖峰\(\tau_{\text{step}} = J_{\text{eff}} \Delta\ddot{q}\)。
- 区别:不同于\(C^1\) 连续性(仅匹配速度并允许有限的加速度跳变)和\(C^0\) 连续性(仅匹配位置并允许无限的加速度冲量)。
- 常见误区:假设 \(C^2\) 连续性保证力矩可行性;虽然加速度连续,但混合桥内部的速度、加速度或加加速度仍可能违反物理执行器或间隙限制。
传动机构影响驱动器输出所引发的响应。 对于具有负载惯量 \(J_L\)、折算电机惯量 \(J_{\text{ref}}=N_g^2J_{\text{rotor}}\) 与耦合刚度 \(k_\theta\) 的双惯量模型,其反共振频率与共振频率 分别为该模型 是 \(\frac{1}{2\pi}\sqrt{k_\theta/J_L}\) 与 \(\frac{1}{2\pi}\sqrt{k_\theta(1/J_L+1/J_{\text{ref}})}\)。 在机械臂的谐波减速器关节中,折算转子惯量与柔性传动可能放大急剧的参考量变化,因此运动计划执行前的准入审查需依据关节的已辨识、随负载变化的模态,将桥接极值、转矩与驱动器限幅与之对照。 若无实测参数,不同产品之间不存在可迁移的频率、刚度或加加速度范围。4
对接缝处速度跳变的平滑需要在线 \(C^2\) 轨迹样条混合 ,必须将其视为全新运动计划的综合,而非单纯的表面滤波。 当规划器在过渡区间 \(T_{\mathrm{blend}}\) 内插入一条多项式桥接段 \(\theta_{\mathrm{blend}}(t)\),其时长与混合截止时刻 \(t_{\mathrm{blend}}\) 不同,用于连接动作块 \(A\) 与传入的动作块 \(B\) 时,该桥接段必须接受与主动作块完全相同的动力学可行性检查。5
桥接曲线采用五阶(五次)多项式,因为力矩跟随加速度(在刚性惯性模型中为 \(\tau = J_{\mathrm{eff}}\ddot\theta\)),因此仅匹配速度的桥接曲线仍会留下加速度跳变,并随之留下 \(J_{\mathrm{eff}}\Delta\ddot\theta\) 的力矩跳变。 为满足接缝处的 \(C^2\) 连续性,桥接曲线必须在两个端点处分别匹配位置、速度和加速度,共计六条边界条件: \[\theta(0) = \theta_0, \quad \dot{\theta}(0) = \dot{\theta}_0, \quad \ddot{\theta}(0) = \ddot{\theta}_0\] \[\theta(T_{\mathrm{blend}}) = \theta_1, \quad \dot{\theta}(T_{\mathrm{blend}}) = \dot{\theta}_1, \quad \ddot{\theta}(T_{\mathrm{blend}}) = \ddot{\theta}_1\] 其中 \((\theta_0, \dot{\theta}_0, \ddot{\theta}_0)\) 表示 动作块 \(A\) 在接缝时刻的终端物理状态,而 \((\theta_1, \dot{\theta}_1, \ddot{\theta}_1)\) 表示 传入的动作块 \(B\) 在 \(t = T_{\mathrm{blend}}\) 处的目标状态。 匹配六条边界条件需要六个独立系数(\(a_0 \dots a_5\)),从而唯一确定一个五阶多项式: \[\theta(t) = a_0 + a_1 t + a_2 t^2 + a_3 t^3 + a_4 t^4 + a_5 t^5\] 这六个系数可由上述边界条件闭式解出(Smooth Trajectories and Bumpless Transfer),且桥接曲线的加加速度随时间呈二次变化,在有限混合区间内有限。 准入检查必须考察其极值与实测关节响应;仅检查 \(C^2\) 端点并不能抑制全部共振能量。
固定次数的多项式可在某个控制器上按轴以有界工作量求值。 系数综合与整条轨迹的极值检查在准入时进行;实测最坏情况执行时间(含内存访问与监控)必须适配所配置的伺服周期。
表示方式影响准入时能够证明什么。表 1 将表示方式提供的连续性,与仍然需要的动态检查区分开来。 次数为 \(p\) 的 B 样条在重数为 \(r\) 的内节点处具有 \(C^{p-r}\) 阶连续性;其控制点凸包约束位置,而非自动约束速度、力矩或净空。 最小化积分加加速度目标需要求解该优化问题;选择 B 样条本身并不解决它。
| 表示方式 | 原生接缝属性 | 执行前的检查 |
|---|---|---|
| 五次桥接曲线 | 两端可匹配 \(q,\dot q,\ddot q\);加加速度通常为二次曲线。 | 检查内部极值、扭矩、间隙和定时准入。 |
| B 样条 | 连续性取决于多项式次数与结点的重数。 | 检查导数、动力学、净空以及优化器结果。 |
| ACT 动作块 | 离散设定值;零阶保持在离散时刻发生跳变,线性插值为 \(C^0\)。 | 构造可行的桥接方案与停止方案,并对两者进行准入审查。 |
| 扩散动作块 | 离散采样的动作;本身不具备执行器控制能力。 | 校验时序、状态、桥接、限制与停止条件。 |
Napkin Math 1.1: 接缝处的加速度与扭矩请求
学习提案中的输出抖动是一种相关失效。 随机采样可能产生连续片段,其中每个样本都满足位置与速度限制,而指令加速度迅速改变符号;每次符号反转都要求驱动器执行扭矩反转,若驱动器跟踪该指令,则会带来随之而来的电流过渡与 \(I^2R\) 发热 执行器传动限制。6 系统工程师将该类变化预算为执行器热升与传动疲劳,而非感知层面的粗糙度;无论轨迹的航点多么贴合任务,只要它激发结构共振或超出驱动器热极限,即为不可行。 即使候选方案通过了所有内部与接缝检查,仍必须为“从未到来的替换”预留方案。
接缝处的行为
假设分块策略在机械臂伸向杯子时卡住了。 在这台机器上,共享租约在最后一次准入之后结束等待 60 ms,机械臂沿 节 1.2 的续期到起始段路径进入状态匹配的兜底。 记录自身的截止时间决定任何租期最多可运行多久,因为停止尚未开始时,机械臂仍在运动,而 MCU 每等待一毫秒,都会消耗一部分原本可用于停止的行程。 因此,让租期运行至其上限,使混合截止时间 \(t_{\mathrm{blend}}\) 已过,仍无替换轨迹获准接纳。 将 节 1.2 的四个截止时间与 \(t_{\mathrm{intent\_exp}}\) 在 MCU 单调时钟下进行比较,现在决定会发生什么。 替换仍可能在该截止时间 \(t_{\mathrm{commit}}\) 之前被接纳,该截止时间对应匹配停止后缀的进入时刻,其持续时间为 \(T_{\mathrm{stop}}=t_{\mathrm{stop\_end}}-t_{\mathrm{commit}}\)。 它必须在该截止点之前通过完整的接纳检查;迟到的主机进度报告没有权限。
对于一条巡航进入指令,其 \(q(t_{\mathrm{commit}})=q_c\)、速度 \(v_c>0\),且进入加速度为零,则使用 \(u=(t-t_{\mathrm{commit}})/T\) 的持续时长 \(T\) 的 \(C^2\) 位置与速度匹配停车控制为:
\[q(u)=q_c+v_cT\left(u-u^3+\tfrac12u^4\right),\qquad 0\le u\le1 \tag{5}\]
对 公式 5 求导可得速度 \(v_c(1-3u^2+2u^3)\) 与加速度 \(-6v_c u(1-u)/T\),峰值减速度为 \(1.5v_c/T\),制动距离为 \(v_cT/2\)。 与恒定减速度切换不同,其加速度从零开始、也回到零结束。 将峰值固定在可信减速度 \(a_{\text{brake}}\) 上,可确定 \(T=1.5v_c/a_{\text{brake}}\) 以及距离 \(0.75v_c^2/a_{\text{brake}}\),该距离为恒定减速度距离 \(v_c^2/2a_{\text{brake}}\) 的 1.5 倍,因此在制动预算中,后缀的表现如同以 \(a_{\text{eff}}=a_{\text{brake}}/1.5\) 恒定制动。 非零的实测入口加速度要求使用一条一般的五次曲线,使其在入口处匹配实际的 \((q,\dot q,\ddot q)\),且终端速度与加速度均为零;许可路径会检查其内部速度、加速度、加加速度、扭矩与净空。
在已工作的机械臂情形中,混合截止时刻为 240 ms,匹配承诺为 300 ms,标称设定值结束时刻为 320 ms,停止结束时刻为 600 ms,因此 \(T\) 为 300 ms。 在机械臂的 1 m/s TCP 速度上限下,后缀的峰值减速量为 5 m/s²,其位移为 150 mm。 净空在最后于混合截止时刻检查,因此从 240 ms 到物理制动起始时刻 300 ms 的巡航段计入该净空,并占用 60 mm;完整的 210 mm 仅留下 90 mm 的 300 mm 净空。 感知误差与模型误差仍须由该几何裕量中扣除。 给定的 300 ms 为 后缀的物理起始时刻,因此 MCU 必须在该时刻减去 \(\delta\) 之前关闭替换准入,并预触发任何通信或执行器延迟 \(\delta\)。 若不然,则增加 \(v_c\delta\) 的位移并相应后移停止结束时刻;此时 90 mm 的裕量将变小。 标称设定值在 320 ms 结束,而 MCU STOP 一直持续到 600 ms,该情形假设新的目标证据足以使 TRACK 在该时段内保持有效(节 1.3)。图 5 将这些时刻置于同一时间轴上,并区分两种授权归属,因此标称参考跟踪的结束点可与单独授权的停止指令相对照,该指令将机械臂移至静止。
该机械臂上的停滞始终不会达到承诺。 一次授权打点、一次总线周期以及制动起始,22 ms 三者共同作用,使机械臂在最后一次准入后 82 ms 开始停止,这相当于在 TCP 速度上限下行进 82 mm。 从零加速度巡航状态开始的 \(C^2\) 停止轨迹无论何时启动,都能与机械臂的状态匹配,因此状态匹配的回退轨迹与匹配停止后缀具有相同的 150 mm。 因此,从续期到起始的路径使用 232 mm 的 300 mm 余量,并留下 68 mm,而停止在承诺时开始则为 90 mm。 由于停止起始必须在 300 ms 承诺之前到来,租约至多可运行 278 ms。
在机械臂上,承诺(commitment)决定了 90 mm 余量是否得以保留。 若租约时长比机械臂的 278 ms 上限长出 200 ms,跟踪就会在承诺时刻之后继续运行那么久,而 TCP 极限巡航会在同一停止前增加 200 mm,从而违反 300 mm 净距 110 mm。 较晚的停止点仍须与其实际进入状态相匹配;该反事实仅将巡航速度固定不变,以显示所损失的净空。 等待如此久久的机械臂,可能已经处于某个状态,其中任何物理上可容许的控制都无法避开障碍物。
Definition 1.4: 必然碰撞状态
不可避免的碰撞状态(ICS)是指被控对象的任意动态状态 \(\mathbf{x}(t) \in \mathcal{X}\),从该状态出发,每一个物理上可行的未来控制轨迹 \(\mathbf{u}_{[t, \infty)} \in \mathcal{U}\) 都不可避免地导致与障碍物或约束边界的碰撞: \[\mathbf{x} \in \text{ICS}(\mathcal{X}_{\text{obs}}) \iff \forall \mathbf{u}(\cdot) \in \mathcal{U}, \; \exists \tau \ge t \text{ such that } \mathbf{x}(\tau) \in \mathcal{X}_{\text{obs}}\] 其中 \(\mathcal{U}\) 表示受执行器扭矩、牵引力和制动极限约束的可行控制输入集。
- 意义:在滚动时域规划中设定承诺截止时间 \(t_{\text{commit}}\);若在此之后继续名义运动且未获得被许可的后继动作,则可能将系统带入 ICS,而任何更晚的重规划都无法将其带出。
- 区别:与仅评估瞬时空间重叠的静态几何碰撞检查(\(\mathbf{x} \in \mathcal{X}_{\text{obs}}\))不同,ICS 识别出动力学上被困的状态,其中当前的动量与有限的制动扭矩使得未来越界在物理上不可避免。
- 常见误区:指望过期的神经规划器完成一条规避路径而推迟紧急制动,却忽略了运动质量在进入几何接触发生之前很久便已进入 ICS。
这些截止时间及其所保护的停车在接纳时即已固定,早于运动开始。 候选者声明载荷、接触、力与障碍假设。 MCU 首先校验其固定表头与谱系,然后检查完整的有界轨迹与后缀,包括接缝 \((q,\dot q,\ddot q)\) 与其当前编码器状态、内部极值、净空、制动距离,以及提交前每个可达状态下的可行响应。 对 \(N\) 设定值的一次扫描为 \(O(N)\),即使固定最大 \(N\) 并测得最坏情况执行时间;在准入之后,一次针对每个时钟滴答的独立 \(O(1)\) 检查读取当前状态与局部参考值。 在混合截止之后接收的替代方案通过同一检查,仍须通过极值检查确认其压缩桥所需的更高加速度与扭矩满足约束;若该检查无法在提交前完成,MCU 保留当前记录。 在提交之后接收的候选者无法恢复已消耗的余量。
规划器提出后缀,但 MCU 在启用 TRACK 之前 将校验通过的载荷与制动系数锁存进受保护内存,并在承诺时刻选择该常驻路径;此时无需读取主机 DRAM,因此主机崩溃、总线阻塞或共享包损坏都无法抹掉制动。7 若实测状态落在锁存后缀的进入区域之外,MCU 采用状态匹配的回退方案;扭矩禁用或弹簧制动并非可控停止的通用替代,尤其是在悬挂载荷的情况下 (回退阶梯)。
移动操作机的底座以同样的方式制动,而且有其自身的理由。 满载的周转箱架只有在减速过程足够渐进时,才能承受机器可信的减速;若停车过程开始和结束时的加速度均为零,其停车距离为同样峰值下急减速停车距离的 1.5 倍。 该成本现已计入制动预算。 在 1.5 m/s 的驱动极限下,峰值为可信 2 m/s² 的后缀持续 1,125 ms、行进 843.75 mm,而恒定减速制动在 equation 中的制动距离为 562.5 mm。 因此,该后缀向 传感器转导与标定 中此前累计为 912.9 mm 的制动距离预算增加了 281.25 mm,累计为 1,194.15 mm。 该总距离超出机架端净距 1.10 m 达 94.15 mm。 这是原则 The irreversibility law 的制动条件,多出一项,因为负载可承受的制动属于更长的制动,而它所增加的距离取自同一净距。 在这种制动下,机器已无法以驱动极限运行,同时仍能停在已走出机架端的人之前。 预算条款中,只有速度可以补回这段距离,而 停止包络 在最后一项填入后将其设定。
对于任一物体,表 2 中的准入与回退决策均不同于紧急断电。
| 状态 | 触发 | MCU 动作与所需证据 |
|---|---|---|
| TRACK,普通交接 | 替代方案在承诺前通过完整的准入检查。 | 锁定新的标称路径及其配套的停止方案,然后在经过检查的 \(C^2\) 接缝处转移。 |
| TRACK,迟到候选 | 候选在混合截止后到达,但在提交前。 | 仅当压缩后的桥接、完整路径、停止方案和时序仍然满足条件时才放行;否则保留当前记录。 |
| STOP,匹配的尾缀 | 提交时没有放行后继。 | MCU 从其验证过的进入状态沿受保护的尾缀继续;标称跟踪可能结束,而 STOP 继续。 |
| STOP,较早的失效 | 提交前发生租约失效、意图过期、接触、状态不匹配或故障。 | MCU 选择保留净距的状态匹配回退方案。 |
| 故障响应 | 无法从测量状态保证可控停车。 | 仅在其验证过的载荷与定时假设下使用机型特定的风险响应(可能包括驱动抑制、制动或顺应)。 |
Checkpoint 1.2: 承诺与完整停止过程所需的空间净距
在将自主机器承诺到某个动作片段之前,先核实你对承诺时限、停止预算和轨迹连续性的理解:
表 2 的每一行都预设其触发信号能及时送达 MCU。 失败可能首先出现在候选方案、接缝处或环境中,且各自到达 MCU 的时刻表各不相同。
计划为何出错
计划可能在执行时变为不可行。 在学习策略的合成与因果边界处的执行(因果边界)之间,机器状态发生漂移,环境发生变化,或相邻片段之间的接缝违反动力学约束。 失效首次显现之处,决定了哪个子系统承载该信号,以及它有多少时间检测并否决该计划。
最早的失效是一个在到达驱动器之前就已无效的片段。 一个预执行边界检查器在准入时逐个评估每个候选方案,依据固定的运动学与动力学限值,在每个轨迹点上计算裕量\(M(t) = L_{\mathrm{limit}} - |x(t)|\),分别针对位置\(q\)、速度\(\dot{q}\)和加速度\(\ddot{q}\)。 任何超出其限值的采样点都会使\(M(t)\)在该时刻变为负值,检查器随即以故障记录否决该片段,记录中指明关节通道、限值、违规时刻以及负裕量。 准入时的否决不会引起任何动力学扰动,因为机器仍停留在其先前已验证的轨迹上。
一个边界检查器是 节 1.4 接缝的准入时刻保护机制。 它将该候选方案与当前计划及实测关节状态在 \(t_{\mathrm{seam}}\) 处进行比较,并纳入 \(\Delta q\)、\(\Delta\dot q\) 和 \(\Delta\ddot q\),同时依据 公式 4 对接缝所需的扭矩进行限界。
对于轨迹接缝计算笔记本中的 CSG-25-50 关节,仅将其 0.25 kg·m² 折算转子惯量计入一个 1 ms 周期,并将整个 127 N·m 重复峰值额定值分配给该加速度,由此得到 理想化上限 为 0.51 rad/s(以 \(\Delta\dot q\) 计)。 在计入连杆与负载惯量、重力、摩擦、其他指令扭矩、电流上升时间以及热或母线限制后,可用余量更小。 权限路径必须使用该状态相关的余量与实测驱动器响应来评估有限桥接。 即使其单周期算术结果低于该上限,它仍会拒绝直接的速度不连续;仍然需要有界的 \(C^2\) 桥接及其内部检查8。
即使预执行与边界检查全部通过,物理世界的变化仍可能使计划不可行。 被抓取的工件可能从其预期的 \(\mathrm{SE}(3)\) 位姿滑脱,未建模的障碍物可能进入工作空间,或结构跟踪误差可能累积到超出允许的公差。运行时监视器 通过观察四个专用信号来检测世界变化导致的不可行性,即关节状态发散、跟踪误差速度、意外的接触力与力矩,以及记录所声明的几何假设失效(节 1.7)。 跟踪误差裕量 \(\epsilon_{\mathrm{pos}}\) 是扫掠体积净空,即规划轨迹的扫掠体积与最近障碍物边界之间的距离,减去结构挠度与减速器柔度裕量 \(\delta_{\mathrm{deflect}}\)。 对于移动机械臂越过传送带护罩的情形,预算的扫掠体积净空为 0.020 m,未建模的负载挠度与减速器柔度裕量 \(\delta_{\mathrm{deflect}}\) 为 0.005 m,二者相减后剩余的裕量 \(\epsilon_{\mathrm{pos}}\) 为 0.015 m。 该裕量限制跟踪边界,而非替换它。 机械臂跟踪器自身的经校验边界,即 跟踪器交出什么 为基座校验的 \(\epsilon_{\text{track}}\) 在机械臂上的实例,必须位于这些 0.015 m 之内,而逐时刻检查会在 \(\epsilon_{\text{track}}\) 上触发。 若实测笛卡尔工具位置误差 \(\|\mathbf{x}_{\mathrm{tool,actual}}(t)-\mathbf{x}_{\mathrm{tool,planned}}(t)\|\) 超过 \(\epsilon_{\text{track}}\),或六轴力/力矩传感器在本自由空间示例中报告了一个未建模的 10 N 接触,则监视器撤销名义跟踪,并请求经校验的状态匹配回退。 实际减速始于实测检测、调度与执行器响应延迟之后。
一个计划也可能在下一个候选通过准入之前耗尽其名义参考。 MCU 不得等待执行指针跑出数组,也不得将末位保持当作停止。 在本机器上,分块租约首先终止等待;而租约运行至其上限时,则达到 节 1.5 的提交规则,该规则由 MCU 在其自身的单调时钟中应用。 完整停止净距包含检测、调度、执行器响应以及所选轮廓下的运动;对 示例中具体演算的 \(C^2\) 后缀而言,假设恒定减速是不够的。
本节中的每个检测器都依赖于轨迹生成器与执行运行时之间的一份显式契约。 若计划以原始坐标列表的形式交付,而缺少其有效寿命、净空边界、边界导数与回退策略,则许可路径便无法判断一次持续运动究竟是仍然安全,还是已经漂移为不可行。
轨迹契约
每当分块策略为朝向杯子的抓取提议 16 个新设定值时,许可路径必须在完全不询问规划器的情况下,决定是接纳它们还是拒绝它们。 轨迹记录不可变,并在每个重规划周期移交,因而使得该决定成为可能。 其名义设定值中的任何一个,除非记录中匹配的停止后缀驻留且从 \(t_{\text{commit}}\) 之前可达的每一个状态都可行,否则一律不予接纳。 它回应 意图租约 的意图租赁,并将其摘要作为父项承载;它所提出的每一个设定值都追求该租赁的目标,且不超出该租赁规定的执行作用量(如力、力矩)上限。 记录以设定值数组或样条系数保存运动,连同采样节拍(在本机为 20 ms 周期 \(\Delta t_{\text{step}}\)、50 Hz 设定值流)、标称结束时刻 \(t_{\mathrm{plan\_exp}}\)(每段为 320 ms)以及 SI 单位。 在手交中给定帧与证据时刻 节 1.2、单位与节拍后,关节控制器插值设定值并计算导数,不会出现坐标系不匹配,也不依赖环境系统时钟。
↳ 下游: 轨迹可行性提议在 安全集作为条件许可 中单独与条件控制屏障函数核对。
物理可行性取决于用于验证该计划的场景与载荷。 因此,不可变侧车文件标识障碍地图时段、载荷与摩擦假设、限制、验证器版本、实测裕量以及来源观测,而固定表头中的摘要将其与设定值绑定。 校验器仅在上述假设下证明停车可行,且这些假设及可行性声明的适用范围不得超出评估实际采样覆盖的条件,因此侧车声明的载荷与摩擦必须落在目标 ODD 评估日志 之内。 许可路径在实时状态偏离这些条件时撤销 TRACK,因为所记录的余量仅对计算时所针对的场景成立。 求解器种子与模型哈希应置于可复现性所需的审计侧车中(在工具链支持之处),而非伺服的逐 tick 路径中。
在本机器上,分块策略的输出仅为每条轨迹记录提供标称部分。 规划添加了接缝状态、四个截止时间以及匹配的停车后缀,因此许可路径接纳一条记录流。 固定表头按用途将每条记录的字段分组。 谱系字段给出序号、证据时间 \(t_0\),以及父意图租约的摘要。 时序字段给出 节 1.2 的四个截止时间,该记录的跟踪授权在以下各项中最早者处终止:其提交截止时间、分块租约(多速率节拍)在最后一个获准分块之后经过 60 ms 到期、父意图的过期,以及目标证据的过期。 接缝字段给出坐标系、每个关节的进入状态 \((q,\dot q,\ddot q)\),以及停止后缀系数。 内容字段给出载荷类型与大小,以及针对设定点载荷与侧车的单一摘要。 变长设定点载荷与不可变的溯源/假设侧车位于固定表头之外,MCU 在 节 1.5 的准入检查之前核验其摘要。 载荷摘要约束内容,父摘要约束谱系。 该记录不含使用密钥的认证标签,因为权限路径依据其内容而非其来源接纳提案(多速率节拍)。
↳ 字节布局: 轨迹记录的字段偏移量与大小见 Trajectory payload。
针对一次机械臂伸向杯子的运动填写完整后,记录即为具名字段的 图 5 时间线。 其父项是杯子的意图租约,以摘要绑定;其坐标系是机器的基坐标系,且所有时间字段均位于 MCU 单调时钟内。 以 \(t_{\mathrm{start}}\) 为基准测量,时序字段包含 300 ms 承诺、由 16 设定值在 20 ms 下给出的 320 ms 名义结束,以及 600 ms 停止结束;而 240 ms 混合截止是调度表的目标,而非一个字段。 接缝字段承载一个 300 ms \(C^2\) 后缀,峰值为 5 m/s²,并使其从 1 m/s TCP 极限在 150 mm 内静止。 在记录有效期内,60 ms 分块租约约束其跟踪;租约失效则导致状态匹配的回退,沿一条从 300 mm 的可用净空中消耗 232 mm 距离的路径;承诺将该租约上限设为 278 ms。 侧车声明的载荷至多 3 kg,抓取前的自由空间,以及处于目标 ODD 内的场景。 许可路径会在准入时检查各字段,或在每个 tick 监控各字段,而不必询问规划器它是什么意思。
在算例中,截止时间满足 \(t_{\mathrm{start}}\le t_{\mathrm{commit}}<t_{\mathrm{plan\_exp}}<t_{\mathrm{stop\_end}}\)。 MCU 依据 节 1.2 的 TRACK 与 STOP 规则应用这些截止时间,而头部时间戳无法使不匹配的 后缀 变得安全。 日志在统一的换算域中记录证据、请求、校验、准入、激活、转移和停止完成时间,以便测量实际响应延迟。
运行时链中的每条记录,从观测契约经信念记录与意图租约直至轨迹记录本身,现在都标明其依据是什么以及何时过期。 轨迹记录只能证明规划器能够预见的内容,即在承诺前可达状态、结合其 侧车 中的场景与负载,停止是可行的。 后文列举的若干谬误,都误将这一适用范围有限的证明当作更一般的证明。
谬误与陷阱
一条轨迹仅在物理假设于分块边界处成立、且在回退期间成立时,才保持可行。 准入与执行检查必须同时覆盖这些过渡以及标称路径。
谬误:静态的准入检查能够在主动执行过程中保护机器免受障碍物位移的影响。
机械臂以传送带护板避开其扫掠体积的状态,开始一次已获准入的伸向杯子的运动。 执行过程中,一位同事将周转箱滑入工具的运动路径。 准入检查针对此前的几何构型是正确的,但已不再支持继续运动。 执行监控必须察觉已改变的净空距离,并在仍有足够制动距离时开始减速。 设计必须约束工作空间变化经由传感器总线延迟显现的速度,并预留足以在更新后的几何构型变得无法避免之前作出响应的制动余量。
陷阱:逐个检查每个动作片段,而不考察这些片段所构成的运动。
机械臂依次接收到逐段反转某个关节运动方向的片段。 每个分片都通过自身的加速度与加加速度检查,但序列却产生振荡运动,可能通过齿轮箱的柔顺性激发传动系统的共振频率。 准入检查必须在每个接缝处比较各阶导数,并保留足够的近期运动历史,以检测会驱动定子产生焦耳热的往复反转(\(I^2R\))。 电机与传动机构执行该合成轨迹;将分片视为独立请求,会掩盖仅在请求拼接后才会显现的行为。
陷阱:将回退切换推迟到硬性停止边界之外,寄望于延迟计算最终完成。
当租约运行达到其278 ms上限时,工作臂记录中的标称设定值序列在320 ms时刻结束,并带有300 ms匹配停止后缀,该后缀必须在600 ms前完成;因此 MCU 必须在300 ms时刻承诺执行回退,除非它已准入一个有效的替代方案。 到那时,应用处理器报告推理几乎完成,但它尚未交付一份可执行计划。 等待消耗了为减速预留的跑道。 MCU 必须在承诺点遵循匹配的停止后缀。 进度报告不能延长机械制动预算;只有新验证过的轨迹才能证明继续执行是合理的。
常见陷阱:仅依赖前馈动力学模型,当物理接触或载荷质量可能突然变化时。
机械臂用针对已装载机械臂计算的前馈力矩,抬起接近其 3 kg 载荷上限的物品。 物品从夹爪滑脱,但驱动器仍对现已卸载的机械臂施加同样的提升力矩,于是它向上加速。 获批的轨迹并未改变;使其指令变得适当的动力学却已改变。 反馈监测 必须检测由此产生的跟踪误差,并在撞击机械限位或热降额之前将指令限制在可用裕量范围内。 前馈模型可改善标称跟踪,但它无法替代针对载荷或接触突变情况下的运行时检查。
谬误:如果预期替换计划能够及时到达,轨迹就可以省略一个可实现的终端停止后缀。
在其1.5 m/s驱动极限处,移动操作机的基座需要一个\(C^2\)后缀\(T=1.5v_c/a_{\text{brake}}\),1,125 ms在可信的2 m/s²下,才能在不超出该减速度时停止。 一个按恒定减速度时间\(v_c/a_{\text{brake}}\)定尺的后缀比之短三分之一,因此其轨迹峰值达到\(1.5a_{\text{brake}}\),超出所加载机架所能承受的范围。 预期下一个计划能够到达,并不意味着这一回退方案可执行。 准入门必须检查 \(T_{\mathrm{stop}} \ge 1.5\,v_c/a_{\text{brake}}\),以它所锁定的 \(C^2\) 配置,并拒绝一条不满足该检查的记录。 每条被接受的轨迹都必须存在一条物理上可实现的终止路径 ,以应对“无法获得替换”的情形。
摘要
轨迹是一个带时标的提议,而决定其形态的是“下一个提议迟到”这一情形。 推理延迟分位数是一个调度风险目标,而非安全证书。 它规定了机器应当预期出现迟到的替换的频率,而驻留停止则是机器在替换计划到应交付时仍未到达的情况下所采取的动作。 两支时钟从相反的两侧约束规划时域。 计算尾部将承诺点推后,而目标证据则按其自身节奏失效;在传送带上,即便对杯子的跟踪观测,也会先于算例中 300 ms 的承诺时刻(会过期的目标)而失效,因此跟踪如此长的轨迹需要新的证据,而非更晚的时间戳。
承诺正是这些结果交汇之处。 替换项必须在 \(t_{\mathrm{commit}}\) 之前通过完整准入,而不仅仅是在最后一个标称设定值之前。 在这台机器上,共享 60 ms 租约在承诺点之前很久就终止停滞,并将机械臂送往与其状态匹配的备用方案,此时还留有 68 mm 的净空距离;承诺将该租约限制在 278 ms,而一条到达承诺点时仍没有后继的记录,会播放 MCU 在运动开始之前锁定的 \(C^2\) 后缀。 工作机械臂的 60 mm 巡航与 150 mm 后缀,在不确定性与未预留延迟之前,留下了 90 mm 的几何余量。 在移动机械臂的底盘上,托架架所能承受的尾部后缀将驱动极限下的停车预算提高到 1,194.15 mm,超过 1.10 m 的架端净距。
要点回顾: 计时运动与独立制动
- 延迟分位数是一个风险目标:设计尾部的替换目标分配了计划迟到的风险,但绝不保证计划按期到达,因此每条被接纳的轨迹都带有用于应对计划未按期到达的驻留制动方案。
- 在跑道耗尽之前提交:接纳在 \(t_{\mathrm{commit}}\) 关闭,该期限的选择使得匹配的制动仍然适配,而提交则封顶了最先结束停滞的 chunk 租约。 在机械臂上,若租约在提交时刻之后继续运行 200 ms,则会超出 300 mm 的净空限值,超限距离为 110 mm。
- 证据年龄与计算尾部相互分离:长尾部将提交推迟,而目标证据则按其自身时钟过期。 跟踪超出证据时域需要一次新的观测,而非延长的时间戳。
- 柔和制动等于更长的制动距离:在相同峰值减速度下,\(C^2\) 制动的距离为恒定减速度制动距离的 1.5 倍;在移动机械臂上加入这一项后,在驱动极限工况下,预算会超出机架末端净空距离。
- 最先看到故障的阶段由它来承担:非法数据块、不可行的拼接处以及变化的世界,分别最先在准入阶段、拼接处和运动过程中显现,因此每个阶段各自保留自己的信号与自己的时间预算,用于拒绝该计划。
- 连续性不等于可行性:\(C^2\) 拼接消除了参考跳变,但桥的段内加加速度、扭矩、共振和净空仍须针对实际驱动器进行检查。
- 规划器提出,MCU 准入:轨迹记录在其父租约的摘要下绑定设定点、截止时间与制动系数,因此许可路径依据提案的内容进行判断,并保留任何主机故障都无法抹除的制动。
后续内容: 从已准入的计划到逐时刻许可
脚注
动作分块表示:ACT 与 Diffusion Policy 分块均不含边界导数约束,因此规划器必须在每个重规划接缝处提出过渡桥,并由许可路径在准入前对其进行校验。↩︎
确定性提案验证 :许可路径将非特权轨迹提案隔离在硬件管理的暂存缓冲区中,并仅在在那里检查之后才接纳其中一个(节 1.5),因此没有任何未经检查的控制设定值进入电机控制寄存器。 关于运行时安全滤波架构,参见 确定性的把关者。↩︎
\(C^2\) 导数连续性 :\(C^2\) 连续性意味着位置、速度和加速度在轨迹边界处保持为时间上的不间断函数。 在永磁同步电机(PMSM)中,电磁转矩直接耦合于交轴定子电流(\(\tau = K_t I_q\))。 在该模型下,加速度阶跃要求有限的转矩与电流阶跃,而速度阶跃则意味着理想的加速度冲量。↩︎
采样与机械模态 :快于机械模态的控制周期有助于解析该模态,但并不能构成稳定性证明。 必须对已识别的关节验证控制器的相位裕度、传感器延迟、阻尼、滤波以及执行器带宽。↩︎
轨迹加加速度 :加加速度目标可使某个特定的桥接段更平滑。 仅凭有限的加加速度约束并不能排除测量到的共振点附近的能量;必须对关节和负载的完整指令频谱与闭环响应进行检查。↩︎
执行器热降额: 绕组中的焦耳发热(\(I^2R\))会升高定子温度,超过其限值后会使磁通和绝缘劣化,因此电机控制器会强制降额曲线以限制连续扭矩。 忽略该热降额约束的速度剖面会在轨迹中段遇到电流限制,从而失去跟踪。↩︎
跨核共享内存契约 :共享内存实现需要所有权协议、按需的缓存一致性维护,以及释放/获取的排序。 MCU 校验一个已完成候选,并在激活前将获准的计划与制动写入受保护内存。↩︎
驱动与共振响应:一个陡峭的指令可能激发关节的已辨识柔性模态,但其频率与阻尼取决于传动机构与负载。 当前的限流、去饱和检测、直流母线响应与关断均取决于所选驱动及其配置;参见 TI 栅极驱动器保护说明.↩︎


