运动规划
引言
运动规划 (Motion Planning) 在路径规划的基础上,进一步考虑机器人的运动学 (Kinematics) 和动力学 (Dynamics) 约束,生成一条可实际执行的轨迹 (Trajectory)。与路径规划仅关注几何可行性不同,运动规划需要生成带有时间参数的状态序列,包括位置、速度、加速度等信息,使机器人能够平滑、安全地完成运动任务。
路径与轨迹的区别
在运动规划中,路径 (Path) 和轨迹 (Trajectory) 是两个不同的概念:
- 路径 (Path):构型空间中的一条几何曲线 ,不包含时间信息
- 轨迹 (Trajectory):带有时间参数的路径 ,指定了机器人在每个时刻的状态
轨迹不仅描述"走哪里",还描述"何时到达"以及"以什么速度到达"。一条可行的轨迹需要同时满足:
其中 和 分别是速度和加速度的可行集合。
构型空间 (Configuration Space)
构型空间 (Configuration Space, C-space) 是运动规划的核心概念。机器人的构型 (Configuration) 是完整描述机器人所有部件位置所需的最小参数集。
定义
对于一个 自由度 (Degrees of Freedom, DOF) 的机器人,其构型空间 是一个 维空间。例如:
- 平面移动机器人:(位置 ),若考虑朝向则
- 六轴机械臂:(六个关节角度),其中 表示圆环(关节角度的周期性)
- 自由飞行刚体:(位置和姿态),共 6 个自由度
障碍物在构型空间中的表示
工作空间中的障碍物映射到构型空间中形成 C-space 障碍物 。自由构型空间定义为:
计算 的显式表达通常非常困难,尤其在高维空间中。因此,实际中多使用碰撞检测 (Collision Detection) 来隐式判断某个构型是否在 中。
基于优化的方法 (Optimization-based Methods)
基于优化的方法将运动规划表述为一个数学优化问题,在满足约束的条件下最小化某个代价函数。
样条曲线 (Spline Curves)
样条曲线通过分段多项式拟合一条平滑轨迹,是运动规划中最常用的轨迹表示方法。
二次样条 (Quadratic Splines): 使用二次多项式拼接各段轨迹,每段的形式为:
二次样条保证位置和速度的连续性( 连续),但加速度在节点处可能不连续。
三次样条 (Cubic Splines): 使用三次多项式拼接各段,每段形式为:
三次样条保证位置、速度和加速度的连续性( 连续),是机械臂轨迹规划中最常用的方法。
连续性条件: 在节点 处需要满足:
五次样条 (Quintic Splines): 当需要控制加加速度 (Jerk) 的连续性时,使用五次多项式( 连续),常用于对平滑性要求极高的场景。
贝塞尔曲线 (Bezier Curves)
阶贝塞尔曲线由 个控制点 定义:
贝塞尔曲线的优点是曲线始终在控制点的凸包内,且起点和终点分别在 和 上,便于控制轨迹形状。
轨迹优化 (Trajectory Optimization)
轨迹优化将运动规划表述为一个约束优化问题:
其中 是阶段代价函数。常见的代价函数包括:
- 最小时间:,最小化总运动时间
- 最小能量:,最小化加速度的平方积分
- 最小加加速度:,最小化加加速度的平方积分(更平滑)
求解方法:
- 直接法 (Direct Methods):将连续优化问题离散化为有限维非线性规划 (NLP) 问题,如直接配置法 (Direct Collocation)、直接打靶法 (Direct Shooting)
- 间接法 (Indirect Methods):利用庞特里亚金最大值原理 (Pontryagin's Maximum Principle) 推导最优条件,求解两点边值问题
基于采样的运动规划 (Sampling-based Motion Planning)
基于采样的方法通过随机采样探索构型空间,适合高维空间和复杂约束的场景。
运动学约束下的 RRT (Kinodynamic RRT)
标准 RRT 不考虑运动学/动力学约束。Kinodynamic RRT 在扩展树的过程中直接考虑系统的运动方程:
扩展步骤中,不是简单地向采样点直线移动,而是在控制输入空间中采样一个控制 ,然后对系统进行前向仿真:
Kinodynamic_RRT_Extend(tree, q_rand):
q_near ← tree 中离 q_rand 最近的节点
for each 候选控制输入 u:
q_new ← 从 q_near 出发,施加 u,前向仿真 Δt
if q_new 无碰撞 且 满足状态约束:
选择使 q_new 最接近 q_rand 的 u
tree.add(q_new)
RRT* 用于运动规划
RRT* 的渐近最优性同样适用于运动规划场景。在构型空间中,RRT* 通过重新连线操作不断优化路径,使其代价渐近收敛到最优值。
PRM 用于运动规划
将 PRM 扩展到运动规划时,需要使用局部规划器 (Local Planner) 来连接两个构型之间的边。局部规划器需要生成满足约束的局部轨迹,而不仅是直线插值。
人工势场法 (Potential Field Methods)
人工势场法也可用于运动规划,生成连续的速度指令。在速度层面,机器人的速度指令由势场梯度决定:
为了处理动力学约束,可以引入阻尼项和惯性项:
其中 是惯性矩阵, 是阻尼矩阵。这种方法也被称为阻抗控制 (Impedance Control) 框架下的运动生成。
动态窗口法 (Dynamic Window Approach, DWA)
DWA 是一种适用于差速驱动移动机器人的实时局部运动规划方法,在速度空间 (Velocity Space) 中搜索最优运动指令。
基本原理
DWA 在每个控制周期内执行以下步骤:
- 确定搜索空间:根据机器人的当前速度和加速度限制,计算下一个控制周期内可达的速度范围(动态窗口)
- 采样候选速度:在动态窗口内均匀采样一组候选速度
- 模拟轨迹:对每个候选速度,预测未来短时间内的运动轨迹
- 评估与选择:根据评价函数选择最优速度
动态窗口 (Dynamic Window)
可达速度集合由以下约束确定:
其中 是速度限制, 是动态窗口(由加速度限制决定), 是安全速度(能在碰撞前停下)。最终的搜索空间为:
评价函数
- :轨迹末端朝向与目标方向的偏差(越小越好)
- :轨迹上离最近障碍物的距离(越大越好)
- :线速度大小(越大越快到达目标)
- :权重系数,用于平衡各项指标
模型预测控制用于运动规划 (MPC for Motion Planning)
模型预测控制 (Model Predictive Control, MPC) 通过滚动优化 (Receding Horizon) 策略实时生成运动指令,天然地将规划与控制结合在一起。
基本公式
在每个控制时刻,MPC 求解以下有限时域优化问题:
其中 是预测步数, 和 是状态和输入的权重矩阵, 是终端代价矩阵, 和 是状态和输入的约束集合。
MPC 用于运动规划的优势
- 显式处理约束:速度、加速度、避障等约束直接嵌入优化问题
- 预测能力:通过预测模型前瞻性地规划未来动作
- 反馈机制:每个控制周期根据最新状态重新规划,天然具有鲁棒性
- 规划与控制统一:无需将路径跟踪和运动规划分开处理
计算挑战
MPC 的主要挑战是计算效率。在每个控制周期内需要求解一个优化问题,对于非线性系统尤其如此。常用的加速方法包括:
- 线性化 MPC:将非线性模型线性化,转化为二次规划 (QP) 问题
- 实时迭代 (Real-time Iteration, RTI):在每个控制周期只执行一步优化迭代
- GPU 加速:利用并行计算加速优化求解
时间最优路径参数化 (Time-Optimal Path Parameterization, TOPP)
TOPP 是一种将运动规划分解为两步的方法:
- 路径规划:首先使用任意方法(如 RRT、A*)生成一条几何路径
- 时间参数化:沿给定路径求解速度曲线,使得运动时间最短,同时满足速度、加速度和力矩约束
问题公式
给定路径 ,其中 是路径参数,定义 为路径参数的时间导数。轨迹的速度和加速度可以表示为:
TOPP 问题转化为在 相平面上的最优控制问题,可以通过数值积分高效求解。
方法对比
| 方法 | 适用场景 | 最优性 | 实时性 | 约束处理 |
|---|---|---|---|---|
| 样条曲线 | 已知路径点的平滑插值 | 局部最优 | 很高 | 有限 |
| 轨迹优化 | 通用轨迹生成 | 局部最优 | 中等 | 好 |
| Kinodynamic RRT | 高维复杂约束 | 否 | 中等 | 好 |
| 人工势场 | 简单环境、实时避障 | 否 | 很高 | 有限 |
| DWA | 移动机器人局部规划 | 局部最优 | 很高 | 好 |
| MPC | 通用、需要反馈 | 局部最优 | 中等 | 很好 |
| TOPP | 已知路径的时间优化 | 全局最优 | 高 | 好 |
参考文献
- LaValle, S. M. (2006). Planning Algorithms. Cambridge University Press. 在线版本
- Choset, H., et al. (2005). Principles of Robot Motion: Theory, Algorithms, and Implementation. MIT Press.
- Siciliano, B., et al. (2010). Robotics: Modelling, Planning and Control. Springer.
- Fox, D., Burgard, W. & Thrun, S. (1997). The Dynamic Window Approach to Collision Avoidance. IEEE Robotics and Automation Magazine, 4(1), 23-33.
- Karaman, S. & Frazzoli, E. (2011). Sampling-based Algorithms for Optimal Motion Planning. International Journal of Robotics Research, 30(7), 846-894.
- Betts, J. T. (1998). Survey of Numerical Methods for Trajectory Optimization. Journal of Guidance, Control, and Dynamics, 21(2), 193-207.
- Bobrow, J. E., Dubowsky, S. & Gibson, J. S. (1985). Time-Optimal Control of Robotic Manipulators Along Specified Paths. International Journal of Robotics Research, 4(3), 3-17.
- Rawlings, J. B., Mayne, D. Q. & Diehl, M. (2017). Model Predictive Control: Theory, Computation, and Design (2nd ed.). Nob Hill Publishing.