一、路径规划与轨迹规划:到底差在哪?

说实话,我刚入行那会儿,也搞混过这两个概念。那时候带我的老工程师问我:「你做的到底是路径规划还是轨迹规划?」我愣了半天,答不上来。

后来踩过坑才明白——路径规划只管「怎么走」,轨迹规划管的是「什么时候走到哪」。一个是几何问题,一个是时间问题。

1.1 路径 vs 轨迹:一张图说清楚

我习惯这么理解:

  • 路径(Path):就是一系列空间点的集合。比如从A点到B点,中间经过哪些位置。它只关心「空间形状」,不关心速度。
  • 轨迹(Trajectory):路径 + 时间信息。每个点都带上了时间戳,或者速度、加速度信息。

举个例子:

你让机器人从桌子左边移动到右边。路径规划告诉你:「先往前10cm,再右转20cm,再往前5cm」。轨迹规划告诉你:「前2秒加速到0.5m/s,中间3秒匀速,最后1秒减速停下」。

核心区别就一句话:路径是几何的,轨迹是时间的。

1.2 几何路径 vs 时间律

这里我要展开说说。路径规划的输出,本质上是一个几何曲线。它可以是直线、圆弧、B样条曲线,甚至是一堆离散点。

但轨迹规划不一样。它要在路径的基础上,加上时间律——也就是运动规律。

我做过一个项目,机械臂抓取零件。路径规划算出来一条很漂亮的曲线,结果一跑起来,末端抖动得厉害。为什么?因为轨迹规划没做好,加速度突变太大。

常见的几种时间律:

类型 特点 适用场景
梯形速度 加速-匀速-减速 简单运动,对冲击不敏感
S形速度 加加速度连续 高精度、低冲击要求
多项式插值 位置/速度/加速度连续 复杂轨迹,多约束场景

我的经验:能选S形速度就别选梯形。虽然计算量大一点,但电机寿命长很多。我曾经为了省计算资源用梯形,结果半年换了三次减速器……

1.3 约束条件分类:别让机器人「撞墙」

做轨迹规划,最头疼的就是约束条件。我把它分成三大类:

1.3.1 运动学约束

说白了就是机器人「能不能做到」。比如:

  • 关节角度限制(别让手臂拧成麻花)
  • 速度上限(电机转不了那么快)
  • 加速度上限(急停会抖)

1.3.2 动力学约束

这个更狠,涉及力和力矩。比如:

  • 关节力矩上限(别把电机烧了)
  • 末端负载能力(拿不动就别硬拿)
  • 惯性力影响(高速运动时特别明显)

1.3.3 环境约束

这个我踩过坑。有一次做AGV导航,路径规划明明避开了所有障碍物,结果一跑起来,车尾扫到了货架。为什么?因为只考虑了车体中心点,没考虑外形尺寸。

  • 障碍物避碰(包括自身碰撞)
  • 工作空间边界(别跑出范围)
  • 奇异点规避(关节卡死的位置)

避坑指南:我曾经在一个项目中,只加了运动学约束,没加动力学约束。结果轨迹看起来完美,实际跑起来电机过载报警。从那以后,我每个项目都至少检查三遍约束条件列表。

1.4 一张图看懂本章知识体系

下面这张图,是我自己总结的路径规划与轨迹规划的关系。你看完应该能记住80%。

路径规划 vs 轨迹规划 知识体系 路径规划 几何路径 • 只关心空间位置 • 输出:点序列 / 曲线 • 典型算法:A*、RRT、Dijkstra • 约束:几何避障、运动学 轨迹规划 路径 + 时间律 • 关心位置 + 速度 + 加速度 • 输出:时间-位置曲线 • 典型方法:梯形/S形/多项式 • 约束:动力学、力矩、冲击 输入 约束条件分类 运动学约束 • 关节角度限制 • 速度上限 • 加速度上限 动力学约束 • 关节力矩上限 • 末端负载能力 • 惯性力影响 环境约束 • 障碍物避碰 • 工作空间边界 • 奇异点规避 路径规划 + 时间律 + 约束条件 = 完整轨迹规划

1.5 实际项目中的选择策略

你可能会问:「那我到底该用路径规划还是轨迹规划?」

我的建议是:

  • 如果只是简单移动(比如AGV从A到B,中间没障碍),直接做轨迹规划就够了。路径就是一条直线。
  • 如果有复杂障碍(比如机械臂在狭小空间作业),先做路径规划,再做轨迹规划。两步走,稳。
  • 如果对时间有严格要求(比如流水线节拍控制),轨迹规划必须精细到毫秒级。

记住:路径规划是轨迹规划的前提,轨迹规划是路径规划的落地。两者缺一不可。

好了,这一章就到这里。下一章我们聊聊具体的路径规划算法——A*和RRT,我会把我在项目中调参的血泪史都抖出来。


公众号:蓝海资料掘金营,微信deep3321