1. 轨迹规划基础
各位同学好,我是老张。在工业自动化这行摸爬滚打了十几年,今天咱们来聊聊轨迹规划。说实话,这玩意儿是机器人控制的核心中的核心。你想想看,一个机械臂能不能干好活,90% 取决于轨迹规划做得好不好。
1.1 轨迹规划到底是个啥?
先给个定义。轨迹规划,说白了就是在满足各种约束的前提下,计算出运动对象从起点到终点的时间序列。这里的约束包括速度、加速度、加加速度(Jerk),还有电机力矩极限等等。
我习惯把轨迹规划拆成两个层面来看:
- 路径层面:只关心空间几何形状,不管时间。比如从A点到B点走直线还是圆弧。
- 轨迹层面:在路径上加上时间信息。比如什么时候加速、什么时候减速、以多快的速度通过某个点。
嗯,这里要注意:轨迹 = 路径 + 时间律。没有时间信息的路径,机器人是没法执行的。
核心公式(一维情况):
位置:q(t)
速度:v(t) = dq/dt
加速度:a(t) = dv/dt
加加速度:j(t) = da/dt
轨迹规划的任务,就是找到满足边界条件的 q(t)。
1.2 应用场景——我踩过的坑
轨迹规划不是纸上谈兵,它在三个领域用得最多。每个领域我都吃过亏,跟大家分享一下。
工业机器人
焊接、喷涂、搬运、装配,这些活儿都离不开轨迹规划。我记得刚入行时做的一个焊接项目,焊枪在拐角处总是抖动,焊缝质量一塌糊涂。后来才发现是轨迹规划没做平滑处理,加速度突变导致机器人振动。
工业机器人最常用的轨迹类型:
- PTP(点到点):只关心起点终点,中间路径不约束。适合搬运。
- LIN(直线):末端走直线。适合涂胶、焊接。
- CIRC(圆弧):走圆弧路径。适合弧焊、打磨。
- SPLINE(样条):通过多个路径点,平滑过渡。适合复杂曲面加工。
避坑指南:我曾经在一条汽车产线上,用直线插补做车门焊接,结果每个拐角都停一下,节拍完全跟不上。后来换成样条插补+前瞻规划,节拍提升了30%。记住:不是所有场合都用直线,要根据工艺选轨迹。
数控机床
数控机床的轨迹规划和机器人不太一样。机床更看重轮廓精度和表面光洁度。你想想看,加工一个模具曲面,如果轨迹规划不好,铣出来全是刀痕,那模具就废了。
数控加工中常见的轨迹规划问题:
- 拐角减速:高速加工时,拐角处必须减速,否则过切。
- 速度前瞻:提前看后面几十个程序段,规划速度曲线。
- S形加减速:避免加速度突变,减少机床振动。
我做过一个五轴机床的项目,刚开始用梯形加减速,加工出来的叶片表面有振纹。后来改成S形加减速,问题就解决了。说白了,加速度的连续性直接影响加工质量。
自动驾驶
自动驾驶的轨迹规划更复杂,因为它要处理动态环境。路上的行人、车辆都是不确定的,轨迹必须实时重规划。
自动驾驶轨迹规划的分层架构:
- 全局路径规划:从A到B走哪条路(高精地图层面)。
- 行为决策:要不要变道、要不要超车。
- 局部轨迹规划:生成未来几秒内的具体轨迹(考虑障碍物、动力学约束)。
- 控制执行:把轨迹转成方向盘、油门、刹车信号。
嗯,这里要注意:自动驾驶的轨迹规划必须实时,通常要求在10-50ms内完成一次重规划。工业机器人可以离线算好再跑,但自动驾驶不行。
1.3 轨迹规划 vs 路径规划——别再搞混了
我面试过不少工程师,很多人把这两个概念混为一谈。其实它们有本质区别。
| 对比维度 | 路径规划 | 轨迹规划 |
|---|---|---|
| 核心问题 | 怎么走(几何路径) | 什么时候走到什么位置(时间序列) |
| 输入 | 起点、终点、障碍物 | 路径、速度/加速度约束、时间 |
| 输出 | 一系列路径点(无时间戳) | 位置-速度-加速度随时间的变化 |
| 典型算法 | A*、Dijkstra、RRT、PRM | 梯形/S形加减速、样条插补、多项式规划 |
| 应用场景 | 避障、导航、探索 | 运动控制、加工、焊接、自动驾驶 |
| 是否考虑动力学 | 通常不考虑 | 必须考虑(速度、加速度、力矩) |
举个例子你就明白了。路径规划告诉你:从A到B,绕过桌子,走这条折线。但轨迹规划告诉你:前2秒加速到1m/s,中间3秒匀速,最后2秒减速到0,每个时刻的位置和速度是多少。
我个人习惯这样记:路径规划管"走哪条路",轨迹规划管"怎么走好这条路"。两者是上下游关系——先有路径,再在路径上规划轨迹。
注意:在工业机器人领域,很多人把"轨迹规划"和"插补"混用。严格来说,轨迹规划是生成运动曲线,插补是把曲线离散成控制周期能执行的指令点。后面章节我会详细讲插补算法。
1.4 本章知识体系
下面这张图总结了本章的核心内容,我建议你保存下来,后面学完整个课程再回来看,会有更深的理解。
1.5 本章小结
这一章我们讲了三个核心问题:
- 轨迹规划的定义:在约束下求运动的时间序列,核心是位置、速度、加速度、加加速度。
- 三大应用场景:工业机器人(焊接/搬运)、数控机床(轮廓加工)、自动驾驶(实时重规划),每个场景的侧重点不同。
- 与路径规划的区别:路径规划管几何路径,轨迹规划管时间序列。两者是上下游关系。
我个人觉得,学轨迹规划最重要的是建立"约束思维"。你想想看,任何运动都受物理限制——电机不能无限加速、结构不能承受无限冲击、工艺要求不能随便改。好的轨迹规划,就是在这些约束的夹缝中找到最优解。