跳到正文
EMBODIED INTELLIGENCE · 身体与运动控制

目标位置正确,走过去的路仍可能撞上障碍

逆运动学找一个姿态,运动规划连接起点与终点,轨迹生成再决定何时经过哪里。理解配置空间、碰撞检测、路径与时间参数化,才能把“手伸过去”变成机器人可以检查、执行和中断的运动。

机械臂面对障碍物和目标盒子,比较被挡住的直线路径与绕开的候选路线,表达规划需要检查整个身体。
直觉总览:机械臂面对障碍物和目标盒子,比较被挡住的直线路径与绕开的候选路线,表达规划需要检查整个身体。 生成插画不承载精确结构、尺寸或安全保证,正文机制图为准。 查看原图 ↗
01 · 手没撞,不代表肘没撞

规划的是整个配置,不只是一个点

搬沙发穿过门洞时,不能只盯住沙发中心。姿态、边角和整条通过过程都要考虑。机械臂也一样:末端绕开桌角时,肘部可能扫过显示器。配置空间把所有关节的组合看成一个点,让“完整身体是否碰撞”成为这个点能否使用的条件。

q=(q1,…,qn),Cfree=C∖Cobs,q(s)∈Cfree,  s∈[0,1]q=(q_1,\ldots,q_n),\qquad \mathcal C_{\rm free}=\mathcal C\setminus\mathcal C_{\rm obs},\qquad q(s)\in\mathcal C_{\rm free},\;s\in[0,1]
q 是关节配置,C 是配置空间,C_obs 是发生碰撞或被禁止的配置集合。路径 q(s) 应在整个参数区间内可行;s 是路径进度,不是时间。

二维空间中的一块长方形障碍,映射到关节配置空间后可能成为复杂曲线区域。七关节机械臂的搜索空间有七个关节维度,不能直接把它当成一张平面地图。自碰撞、关节限位、抓着的物体和工具都需要纳入检查。

碰撞模型常用比外观模型更简单的几何表达以减少计算量,但简化必须保守、经过验证。忽略夹爪里新抓起的物体,会让规划器以为空间仍然足够宽;环境模型更新太慢,也会让“可行路径”在执行前过期。

03 · 路线还缺一只钟

路径回答经过哪里,轨迹回答什么时候到

q(t)=q(s(t)),q˙=q′(s)s˙,q¨=q′′(s)s˙2+q′(s)s¨q(t)=q(s(t)),\quad \dot q=q'(s)\dot s,\quad \ddot q=q''(s)\dot s^2+q'(s)\ddot s
把几何路径 q(s) 与时间进度 s(t) 组合成轨迹。同一路径改变速度,不仅改变关节速度,也通过曲率项改变加速度。

教学例子:一维关节从静止到静止移动 1 rad,速度上限 1 rad/s,加速度上限 2 rad/s²。加速到上限需 0.5 s,走过 0.25 rad;减速同样需要 0.5 s 与 0.25 rad;中间 0.5 rad 匀速需要 0.5 s,总时间 1.5 s。忽略加速度而只算距离除以速度,会错误得到 1 s。

这个梯形速度例子还没有限制加加速度(jerk,即加速度的时间导数),也没有检查力矩、振动与负载。实际控制还可能需要平滑加速度变化。各关节必须协调时间,不能每个关节独立“最快到达”后就当成完整末端轨迹。

MoveIt 官方时间参数化文档把速度、加速度限制与路径处理分开讨论,并提醒某些处理会在容差范围内改变轨迹,需要额外碰撞检查。这正说明一个阶段通过,不会自动把有效性传给所有后处理阶段。官方说明。

04 · 真实执行仍然在变化

规划成功不是碰撞不会发生的证明

人走进工作区、物体被移动、手臂负载改变,都可能让原来的轨迹失效。执行器也有跟踪误差。因此规划输出需要与在线监测、误差阈值、重规划和停止行为衔接,而不是“轨迹一发就不再看环境”。

BEFORE

执行前

确认起始状态与计划一致、场景仍新鲜、附着物已登记,且目标和限制属于当前机器人配置。失败就拒绝执行,而不是勉强套用旧轨迹。

DURING

执行中

监测跟踪误差、动作有效期、传感器状态和新障碍。停止也有制动距离;碰撞余量应包含检测与制动响应,而不只是几何间隙。

AFTER

执行后

确认真实末端和对象状态。关节到位不代表物体被抓住;计划完成和任务成功需要不同的观测证据。

规划评测应记录起点、目标、场景、随机种子、时间预算、成功判定、路径代价和最小间隙。报告“某次找到了路”可以证明该次可行,不能证明任意任务可解。接下来把这条运动与任务层连接,才能回答什么时候抓、什么时候松、失败后做什么。

KNOWLEDGE CONNECTIONS

把这一层放回完整机器人

返回具身智能知识地图,或沿本专栏继续展开:

RESEARCH LEDGER

一手来源与证据边界

优先使用论文、官方文档、官方模型卡和代码仓库。页面中的数字只代表来源所述设置,不自动外推到其他模型与数据。