4. 轨迹规划概论
轨迹规划,说白了就是回答三个问题:去哪、怎么去、去得怎么样。我刚开始接触这个领域时,总觉得它跟路径规划差不多。后来踩过几次坑才明白——路径只关心空间位置,轨迹还要加上时间维度。你想想看,同样一条路径,走快了可能抖得跟筛子似的,走慢了又影响效率。这就是轨迹规划要解决的核心矛盾。
4.1 轨迹规划的定义
轨迹规划,是在给定起点、终点和约束条件的前提下,生成一条满足运动学/动力学限制的、连续平滑的位置-时间曲线。它跟路径规划最大的区别在于:路径规划输出的是几何路径(只有空间信息),而轨迹规划输出的是带时间戳的运动序列。
核心公式:轨迹 = 路径 + 时间律
用数学语言描述:轨迹规划就是求解函数 q(t),使得 q(t) 在 [t₀, t₁] 上连续可微,且满足速度、加速度、加加速度等约束。
我在项目中遇到过不少工程师,把路径规划和轨迹规划混为一谈。结果呢?路径跑通了,一上速度就报警。嗯,这里要注意:路径是几何问题,轨迹是运动学问题,两者不能划等号。
4.2 轨迹规划的分类
轨迹规划可以从多个维度分类。我个人习惯按应用场景和算法特性来划分,这样更贴近工程实践。
| 分类维度 | 类型 | 典型场景 | 代表方法 |
|---|---|---|---|
| 空间维度 | 关节空间 / 笛卡尔空间 | 工业机器人 / 移动机器人 | 多项式插值 / 直线圆弧插补 |
| 优化目标 | 时间最优 / 能量最优 / 平滑最优 | 高速分拣 / 节能搬运 / 精密装配 | 梯形速度 / S形速度 / 最小加加速度 |
| 实时性 | 离线规划 / 在线重规划 | 预编程路径 / 动态避障 | 全局优化 / 局部滚动优化 |
| 约束类型 | 硬约束 / 软约束 | 安全限位 / 性能偏好 | 约束满足 / 惩罚函数 |
关节空间规划,说白了就是控制每个电机怎么转。笛卡尔空间规划,则是控制末端执行器怎么走直线、画圆弧。我建议初学者先从关节空间入手,因为不用处理逆运动学的奇异性问题,调试起来更友好。
4.3 轨迹规划的评价指标
评价一条轨迹好不好,不能光看它能不能到终点。我总结了五个核心指标,你在实际项目中可以对照着来选型。
- 平滑性:轨迹的加加速度(Jerk)越小越平滑。高加加速度会激发机械谐振,缩短设备寿命。
- 时间效率:在满足约束的前提下,运动时间越短越好。但一味追求快,往往牺牲平滑性。
- 能量效率:电机发热、能耗成本。对于电池供电的移动机器人,这个指标尤其重要。
- 精度:实际轨迹与规划轨迹的偏差。受制于伺服跟踪误差和模型不确定性。
- 鲁棒性:面对参数摄动、外部扰动时,轨迹是否还能保持稳定。
我的经验:这五个指标往往互相矛盾。比如时间最优和平滑性就是一对冤家。我曾经在一个高速分拣项目里,为了抢节拍把加速度推到极限,结果末端抖动导致抓取失败。后来把加加速度约束加进去,节拍慢了5%,但成功率从82%提到了99%。
4.4 轨迹规划的挑战
做轨迹规划这么多年,我觉得真正的难点不在算法本身,而在工程落地。下面这几个坑,我几乎每个项目都遇到过。
4.4.1 约束耦合
速度、加速度、加加速度不是独立的。你压低了速度,加速度自然就小了。但反过来,你想提高速度,加速度和加加速度都会跟着涨。这种耦合关系让多目标优化变得非常棘手。
4.4.2 实时性要求
在线重规划必须在毫秒级完成。我记得有个焊接项目,机器人需要实时避开移动的工件。离线算好的轨迹根本不能用,只能上模型预测控制(MPC)。但MPC的计算量又大,最后折腾了好久才把求解时间压到5ms以内。
4.4.3 模型不确定性
你规划的轨迹再完美,实际系统也不一定跑得出来。摩擦、间隙、柔性变形,这些因素在建模时很难精确描述。我曾经遇到过一台老旧的六轴机器人,按理论模型规划的轨迹,跑起来末端误差超过2mm。后来加了在线补偿才勉强达标。
避坑指南:千万不要完全相信仿真结果。仿真里跑得丝滑的轨迹,到实际设备上可能抖成筛子。我建议你在规划阶段就预留20%的裕量,给实际系统的非线性留点余地。
4.4.4 奇异性问题
笛卡尔空间规划时,如果路径经过奇异位形,关节速度会瞬间飙升到无穷大。这不是算法能解决的,必须从路径层面规避。我一般会在规划前做奇异位形检测,如果路径离奇异点太近,就绕道走。
4.5 轨迹规划的知识体系
下面这张图是我梳理的轨迹规划知识体系,你可以把它当作学习路线图。
这张图把轨迹规划的核心要素串起来了。从定义出发,到分类、评价指标,再到工程挑战,每一步都有对应的技术选型。我个人建议你把它打印出来贴在工位上,做项目时对照着看,不容易漏掉关键环节。
4.6 小结
轨迹规划不是孤立的技术,它跟运动学、动力学、控制理论都紧密相关。这一章我们理清了基本概念和评价体系,后面几章会深入具体的规划算法。记住一点:没有最好的轨迹,只有最合适的轨迹。选型时多问问自己——我的系统最在意什么?是速度、精度,还是稳定性?想清楚了再动手。