3. 路径与轨迹的区别:从几何到时间的跨越
很多刚入行的同学会把「路径」和「轨迹」混着用。说实话,我当年也犯过这个错。直到有一次在产线上调试AGV,明明路径规划得好好的,车跑起来却一顿一顿的,电机还过热报警。后来才意识到——我给的只是路径,不是轨迹。
这两者的区别,说白了就是:路径只管「走哪条路」,轨迹还要管「怎么走」。一个只关心空间几何,另一个把时间拉了进来。
一句话总结:路径 = 空间上的点集;轨迹 = 路径 + 时间信息 + 运动约束。
3.1 路径定义:纯几何的骨架
路径(Path)是一系列连续的空间位姿点。它只描述机器人从起点到终点要经过哪些位置,不包含任何时间信息。
举个例子,一个二维平面上的路径可以表示为:
// 路径:一系列空间点
Path = {P₀, P₁, P₂, ..., Pₙ}
其中 Pᵢ = (xᵢ, yᵢ, θᵢ) // 位置 + 朝向
路径有几个关键特性:
- 几何性:只关心形状,不关心速度
- 顺序性:点之间有先后顺序,但没时间刻度
- 可逆性:理论上可以反向走,路径本身不变
我在做机械臂喷涂项目时,路径规划器给了一堆点。看着挺漂亮,但一跑起来就露馅了——转角处机器人急停急启,漆面厚度不均匀。嗯,这就是典型的「有路径没轨迹」的问题。
3.2 轨迹定义:给路径装上时钟
轨迹(Trajectory)是在路径的基础上,给每个点分配了时间戳。它告诉机器人:什么时间,应该到达哪个位置,速度是多少。
// 轨迹:路径 + 时间
Trajectory = {(P₀, t₀, v₀), (P₁, t₁, v₁), ..., (Pₙ, tₙ, vₙ)}
其中 tᵢ 是时间,vᵢ 是速度
轨迹的核心要素有三个:
| 要素 | 含义 | 工程意义 |
|---|---|---|
| 空间位置 | 机器人末端或车体的位姿 | 决定能不能到达目标点 |
| 时间戳 | 每个位置对应的时刻 | 决定运动节奏和同步性 |
| 运动状态 | 速度、加速度、加加速度 | 决定运动是否平滑、是否冲击 |
我的经验:在调试协作机器人时,我习惯先看轨迹的时间戳分布。如果相邻点的时间差忽大忽小,那运动一定不平滑。先调时间参数,再调路径形状,这个顺序别搞反了。
3.3 时间参数化:把路径变成轨迹的桥梁
时间参数化(Time Parameterization)是连接路径和轨迹的关键步骤。它把路径上的几何参数 s(比如弧长)映射到时间 t 上。
你想想看,路径上的点只有位置信息,没有「什么时候到」的概念。时间参数化就是给路径加上一个时间轴:
// 路径参数化
s ∈ [0, S] // s 是路径长度参数
P(s) = (x(s), y(s), θ(s)) // 路径的几何表示
// 时间参数化
t ∈ [0, T] // t 是时间
s = s(t) // 路径长度随时间变化
P(t) = P(s(t)) // 轨迹:随时间变化的位置
这里有个关键点:s(t) 的导数就是速度。ds/dt 越大,说明在路径上移动得越快。
常见的参数化方式有:
- 匀速参数化:s(t) = v·t,最简单但加速度不连续
- 梯形速度参数化:加速-匀速-减速三段,工业上最常用
- S形参数化:加加速度连续,适合高精度场景
我曾经踩过的坑:在AGV项目中,我直接用匀速参数化把路径转成轨迹。结果车在转弯时因为向心力突变,货物直接侧翻了。后来改成梯形速度参数化,转弯前提前减速,问题才解决。记住:路径的几何曲率越大,时间参数化时越要降速。
3.4 速度/加速度轮廓:运动的「心电图」
速度轮廓和加速度轮廓,是轨迹规划的输出结果,也是评价轨迹质量的核心指标。
我习惯把速度轮廓看作运动的「心电图」——好的轮廓应该平滑、连续、没有毛刺。加速度轮廓则更敏感,它直接反映了机器人受到的惯性力。
3.4.1 速度轮廓的类型
| 类型 | 形状 | 特点 | 适用场景 |
|---|---|---|---|
| 矩形轮廓 | 瞬间加速到最大速度 | 加速度无穷大,冲击大 | 理论分析,实际不用 |
| 梯形轮廓 | 加速-匀速-减速 | 加速度分段常数,有冲击 | 工业搬运、码垛 |
| S形轮廓 | 加加速-匀加速-减加速-匀速-... | 加速度连续,加加速度有限 | 精密装配、医疗机器人 |
3.4.2 加速度轮廓的约束
实际工程中,加速度不是你想设多少就设多少。主要受限于:
- 电机力矩:加速度太大,电机过载
- 结构刚度:加速度产生惯性力,可能导致振动
- 工艺要求:比如喷涂、焊接,加速度过大会影响质量
我做过一个激光切割项目,加速度限制设得太松,结果切割头在拐角处抖动,切出来的工件边缘全是毛刺。后来把加速度上限砍掉一半,加加速度也做了限制,效果立竿见影。
工程口诀:速度看效率,加速度看平稳,加加速度看寿命。三个指标要平衡,别只盯着一个优化。
3.5 路径与轨迹的对比总结
为了让你看得更清楚,我把核心区别整理成一张表:
| 维度 | 路径 | 轨迹 |
|---|---|---|
| 维度 | 空间 (x, y, z, θ) | 空间 + 时间 (x, y, z, θ, t) |
| 变量 | 路径参数 s | 时间 t |
| 导数 | 无 | 速度、加速度、加加速度 |
| 约束 | 几何约束(避障、可达性) | 运动学约束(速度限、加速度限) |
| 输出 | 点序列 | 时间-位置-速度表 |
| 评价指标 | 路径长度、平滑度 | 运动时间、冲击度、能耗 |
3.6 知识体系框架图
下面这张图展示了路径与轨迹的完整关系,以及时间参数化在其中的位置:
从这张图可以看得很清楚:路径是基础,时间参数化是转换器,轨迹是最终产物。而速度轮廓和加速度轮廓,则是评价轨迹质量的两个核心维度。
我的建议:在实际项目中,别急着调路径形状。先把时间参数化做好,把速度轮廓和加速度轮廓调平滑了,再回头优化路径。这个顺序能帮你省掉大量调试时间。