DocProgress

你在 Plan / Motion / Manipulation

先确认本页回答什么问题,再决定读完后回路线、资源还是项目。

阅读前提
有目标状态,但不知道如何转成路径、运动或抓取动作。
读完产出
能区分 path planning、motion planning、trajectory optimization 和 task planning。
下一步
做 Planning Lab 或 tabletop pick-and-place。
失败模式入口
规划器没有使用真实约束,导致路径可画但机器人不可执行。

05 规划、导航与操作

本章抓手

  • 规划把目标转成可执行意图,但几何可行、动力学可行和控制可跟踪是三件事。
  • 导航主线是 localization + map + costmap + planner + controller。
  • 操作主线是 object state + grasp / task plan + IK / motion planning + contact control。

它解决什么问题

规划把“我要完成什么任务”转化成“下一步怎么运动”。在 robotics 中,规划不只是找一条路线,还要满足碰撞、运动学、动力学、接触、安全和实时性约束。

规划可以分成三层:

  • Task planning:做什么,顺序是什么。
  • Motion planning:几何上怎么动。
  • Trajectory generation / optimization:随时间如何执行。

Configuration Space

Configuration space 是 motion planning 的核心概念。机器人每一种可能姿态或关节配置都是空间中的一个点。

例子:

  • 2D 小车:x, y, theta
  • 机械臂:每个关节角组成 q
  • 无人机:位置、姿态、速度组成状态。

关键概念:

  • Free space:不碰撞的配置集合。
  • Obstacle space:会碰撞的配置集合。
  • Constraint manifold:满足约束的低维集合,例如末端保持水平。
  • Kinodynamic planning:同时考虑运动学和动力学约束。

学习关键词:configuration space, collision checking, constraint manifold, kinodynamic planning。

路径规划 Path Planning

路径规划关注从起点到终点的几何路径,通常不直接考虑时间参数。

代表算法:

  • Dijkstra:最短路基础算法。
  • A*:用 heuristic 加速搜索。
  • D* / D* Lite:适合环境变化后的重规划。
  • Hybrid A*:考虑车辆非完整约束 nonholonomic constraints。
  • PRM:先采样路网,再查询路径。
  • RRT / RRT*:在高维空间中快速探索。

适用判断:

  • 栅格地图和低维空间:A* 系列常用。
  • 高维机械臂:RRT-Connect 常用。
  • 需要渐近最优:RRT* / PRM*。
  • 车辆转弯半径约束:Hybrid A*。

学习关键词:A*, D*, PRM, RRT, RRT-Connect, Hybrid A*。

轨迹优化 Trajectory Optimization

轨迹优化把路径变成带时间的、可执行的轨迹,并优化平滑度、能耗、时间、安全距离等目标。

常见目标:

  • 最短时间。
  • 最小加速度或 jerk。
  • 最大安全距离。
  • 最小能耗。
  • 最小控制输入。

代表方法:

  • CHOMP:用梯度优化平滑和避障代价。
  • STOMP:随机轨迹优化。
  • TrajOpt:把碰撞和运动约束写进优化。
  • Direct collocation:把连续控制问题离散成非线性规划。
  • Minimum snap trajectory:无人机常用。
  • MPC:在线滚动优化。

学习关键词:trajectory optimization, CHOMP, STOMP, TrajOpt, direct collocation, minimum snap。

导航 Navigation

导航把定位、地图、规划和控制组合成移动机器人闭环。

典型 pipeline:

localization -> global costmap -> global planner
-> local costmap -> local planner / controller
-> velocity command

关键组件:

  • Global planner:长距离路径。
  • Local planner:短时避障和轨迹跟踪。
  • Costmap:把障碍、安全距离和语义约束转成代价。
  • Recovery behavior:卡住时恢复。
  • Dynamic obstacle handling:处理移动人和车。

代表方法:

  • NavFn / A* global planning。
  • Dynamic Window Approach。
  • Timed Elastic Band。
  • MPC local planner。
  • Social navigation。

学习关键词:robot navigation, costmap, local planner, DWA, TEB, social navigation。

机械臂运动规划 Manipulator Motion Planning

机械臂规划在高维关节空间中找一条无碰撞路径,并满足末端任务约束。

难点:

  • 高维 configuration space。
  • 碰撞检测昂贵。
  • Inverse kinematics 可能多解或无解。
  • 奇异点 singularity。
  • 窄通道 narrow passage。

常见方法:

  • IK + sampling-based planner。
  • RRT-Connect。
  • Constraint-based planning。
  • Trajectory optimization。
  • Planning scene + collision checking。

学习关键词:manipulator planning, inverse kinematics, collision checking, MoveIt, RRT-Connect。

抓取 Grasping

抓取是 manipulation 的基础问题:如何选择接触点、夹爪姿态和执行策略,让物体稳定被拿起。

核心概念:

  • Force closure:接触力能抵抗任意外部扰动。
  • Form closure:几何约束锁住物体。
  • Grasp quality:抓取稳定性的评分。
  • Antipodal grasp:常见二指夹爪抓取结构。
  • Pregrasp pose:抓取前的靠近位姿。

代表方法:

  • Analytic grasp synthesis。
  • Grasp pose detection from point cloud。
  • Learning-based grasp scoring。
  • Dex-Net style grasp dataset。
  • Diffusion / transformer based grasp policy。

学习关键词:robot grasping, force closure, grasp quality, antipodal grasp, 6D grasp pose。

长时程任务 Task and Motion Planning

很多真实任务不是一次移动,而是一连串符号动作和几何动作。

例子:

打开柜门 -> 找到杯子 -> 抓杯子 -> 移到水龙头 -> 接水 -> 放到桌上

Task and Motion Planning 同时处理:

  • Symbolic preconditions:动作前提是否满足。
  • Geometric feasibility:动作几何上是否可行。
  • Object state:物体位置、开关状态、容器内容。
  • Replanning:失败后如何恢复。

代表方法:

  • PDDL + motion planner。
  • Hierarchical planning。
  • Behavior tree。
  • LLM as high-level planner + robot controller。

学习关键词:task and motion planning, PDDL, behavior tree, hierarchical planning, long-horizon manipulation。

与感知、估计和控制的关系

  • 感知提供障碍、物体和可操作区域。
  • 状态估计提供机器人和目标的当前状态。
  • 规划生成期望路径或轨迹。
  • 控制负责跟踪轨迹并处理扰动。
  • 学习方法可以提供 cost function、heuristic、grasp proposal 或 high-level plan。

常见失败模式

  • 规划器找到几何路径,但动力学上无法执行。
  • 轨迹可执行,但控制器跟踪误差导致碰撞。
  • 地图过时,动态障碍没有被及时反映。
  • IK 解跳变导致机械臂动作不连续。
  • 长时程任务中一个子动作失败后没有恢复策略。

学习关键词

motion planning, path planning, trajectory optimization, navigation, manipulation, grasping, task and motion planning, collision checking。

Continue