笔记

机器人操作 / 仿真 / 约 8 分钟

规划成功不等于抓取成功:机器人操作中的碰撞与运输连续性

Planning ≠ Manipulation

从 FR3 仿真记录出发,拆开路径、碰撞、抓取、运输和放置之间的工程边界。

2026公开笔记

问题

在机械臂仿真里,“规划器返回了一条路径”只是开始。FR3 从预抓取进入抓取、抬升、运输和放置时,碰撞对象、载荷归属和目标坐标会持续变化。只检查起点与终点,无法回答中间是否穿过障碍、物体是否仍随夹爪运动,也无法证明放置语义正确。

本文只讨论 MuJoCo 与 CoppeliaSim 中留下的仿真验证记录,不把这些结果描述成真实机械臂执行。

为什么终点可达还不够

一轮预抓取检查中,最终关节姿态本身有效,但旧的单段关节插值在中间路径发生碰撞:HFD8X30 的结构与目标支撑物顶部区域相交。终点无碰撞,并不意味着连接到终点的边是安全的。

对应的回退方案没有把一次求解结果直接当作成功,而是构造确定性的分段 waypoint 候选,并在 MuJoCo 中逐段做碰撞检查。CoppeliaSim 的 OMPL 路线也记录了同一原则:除了规划器状态,还要对路径边进行足够密的后验验证,并把自碰撞、桌面、支撑物、夹爪与相机等对象纳入明确的碰撞集合。

抓取之后,系统状态变了

预抓取阶段只关心机器人与环境;夹爪闭合后,问题变成“机器人加上载荷”是否连续成立。MuJoCo 记录为此使用了显式的归属转换:物体先属于源支撑,抓取后切换为夹爪附着,放置后再切换到目标支撑。

这种附着是仿真中的受控状态,不是“仅靠摩擦即可稳定持有”的物理证据。它的价值是让每个阶段的语义可以被检查:何时允许抬升,运输时物体是否与夹爪保持一致,释放后是否归属目标区域。

运输连续性

一条路径在空载时无碰撞,带载后仍可能失败。工程记录里曾出现横向运输导致滑移的分类;对应修正只允许调整运输轨迹、时序或分段,不借机改变抓取姿态和其他已冻结模块。

因此运输验证至少要同时观察三件事:机械臂与环境的碰撞、载荷相对夹爪的位姿连续性、以及进入预放置状态时的几何余量。任何一项中断,都不能用“规划成功”覆盖过去。

放置需要正确的坐标语义

放置阶段还暴露过另一类问题:目标看似相对支撑物定义,实际却沿用了旧的世界坐标目标,导致当前目标位置下出现约 93 mm 的平面偏差。修正不是手工补一个偏移量,而是重新建立目标支撑物局部坐标到无人机放置位姿、再到夹爪位姿的变换链。

这说明 placement 不是路径末端的一个关节数组。它还包含“相对于哪个对象”“目标移动后是否仍成立”“何时释放并退出”的语义。

工程决策

当前更可靠的判断顺序是:

  1. 先检查起点与终点的姿态可行性;
  2. 再验证连接路径和完整碰撞集合;
  3. 单独验证夹爪闭合与载荷归属;
  4. 在抬升和运输阶段持续检查附着关系;
  5. 使用目标局部坐标定义预放置与放置;
  6. 最后验证释放、目标附着与机械臂退出。

这个顺序让失败落在具体阶段,而不是都归类为“规划失败”或“抓取失败”。

还没有解决什么

仿真中的碰撞几何、摩擦参数和显式附着仍是模型。真实 FR3、真实夹爪、线缆干涉、物体公差和相机误差尚不能由这些记录替代。当前能确认的是一套分阶段验证方法,以及仿真链路中已经暴露并修正的边界;真实物理执行与成功率仍需要独立证据。