一、轨迹规划概述:到底什么是轨迹规划?
大家好,我是你们这门课的主讲。在机器人领域摸爬滚打了十几年,我见过太多新手一上来就怼着运动学、动力学猛啃,结果真到了让机器人动起来的时候,反而卡住了。
为什么?因为缺了最关键的一环——轨迹规划。
说白了,轨迹规划就是回答三个问题:
「去哪儿?」「怎么去?」「路上别撞到啥?」
你给机械臂一个目标点,它不能「嗖」一下瞬移过去。它得考虑:路径直不直?速度会不会太猛?关节会不会拧成麻花?这些,都是轨迹规划要干的活。
核心定义:轨迹规划 = 在满足运动学/动力学约束、避障要求的前提下,生成一条从起点到终点的、时间参数化的运动序列。
注意,是「时间参数化」。路径规划只给路,轨迹规划还给「什么时候走到哪」。这是本质区别。
1.1 轨迹规划在机器人系统中的地位
我习惯把机器人软件系统比作一个「感知-决策-控制」的闭环。轨迹规划就卡在决策层和控制层中间。你想想看:
- 上层:感知告诉你「桌上有杯子」,全局规划告诉你「去杯子那」。
- 中间层:轨迹规划告诉你「手先抬到安全高度,再平移过去,最后缓缓下降」。它把抽象任务翻译成具体的、带时间戳的位置、速度、加速度。
- 下层:底层控制器照着这个轨迹去算力矩、发指令。
没有轨迹规划,控制器就像无头苍蝇。我记得有一次在产线上调试,底层PID参数调得再好,轨迹规划给的路径有突变,机器人照样抖得像帕金森。嗯,从那以后我明白了:轨迹规划是「承上启下」的腰杆子,腰杆子硬了,整个系统才稳。
我的经验:很多团队花80%精力优化底层控制,却忽略了轨迹规划的质量。其实,一个平滑的轨迹,比一个复杂的控制算法更能直接提升运动品质。先规划,后控制,顺序别搞反。
1.2 常见应用场景
轨迹规划不是纸上谈兵。我在这三个领域都踩过坑,今天把干货掏出来给你们看看。
1. 机械臂:从「点到点」到「连续路径」
机械臂的轨迹规划,最常见的就是两类:
- 关节空间规划:我只关心每个关节从角度A转到角度B,中间不关心末端走什么曲线。适合抓取、码垛。
- 笛卡尔空间规划:我要求末端必须走直线、走圆弧。适合焊接、涂胶。
我曾经在汽车焊装线上遇到过一个问题:要求机械臂末端走一条精确的圆弧焊缝,结果用关节空间规划,末端走的路径歪歪扭扭,焊缝质量一塌糊涂。后来换成笛卡尔空间规划,问题才解决。所以,选对空间,事半功倍。
| 规划空间 | 优点 | 缺点 | 典型应用 |
|---|---|---|---|
| 关节空间 | 计算快,无奇异点问题 | 末端路径不可控 | 码垛、搬运 |
| 笛卡尔空间 | 末端路径精确可控 | 计算量大,可能遇到奇异点 | 焊接、铣削、涂胶 |
2. 移动机器人:从「全局路径」到「局部轨迹」
移动机器人(AGV/AMR)的轨迹规划,我习惯拆成两层:
- 全局规划:用A*或Dijkstra算出一条从A到B的粗路径。它不考虑机器人运动学,只考虑地图障碍物。
- 局部规划:把全局路径切成小段,考虑机器人转弯半径、最大速度、加速度,生成一条平滑的、可执行的轨迹。DWA(动态窗口法)就是典型代表。
你想想看,如果只做全局规划,机器人走到墙角才发现转不过去,那就尴尬了。局部规划就是干这个的——实时调整,保证不撞墙、不翻车。
避坑指南:我曾经在仓储AGV项目里,全局路径规划得好好的,结果局部规划没考虑地面摩擦系数,机器人高速转弯时直接侧滑撞货架。从那以后,我所有移动机器人的轨迹规划都会加上动力学约束,尤其是加速度和向心力限制。
3. 无人机:从「三维航点」到「时间最优轨迹」
无人机轨迹规划,比地面机器人多了一个维度——Z轴。而且无人机对轨迹的平滑性要求极高,因为姿态变化太剧烈会导致炸机。
常见的做法是:
- 给定一系列三维航点(Waypoints)。
- 用多项式曲线(比如最小加加速度轨迹)把这些点连起来。
- 优化目标:时间最短、能量最省、或者两者兼顾。
我记得在做一个航拍跟拍项目时,无人机需要平滑地绕过一个建筑物。如果用简单的线性插值,轨迹在拐角处会有加速度突变,画面直接「抽搐」。后来改用分段多项式优化,加加速度(Jerk)连续,画面才稳如老狗。
1.3 本章知识体系总览
下面这张图,是我自己梳理的轨迹规划知识框架。你可以把它当成整个课程的地图。后面每一章,都会在这个框架里展开。
这张图把轨迹规划拆成了三个维度:规划空间、约束类型、优化目标。后面我们会逐一深入。你每次学完一章,都可以回来看看这张图,确认自己当前学到哪个位置了。
1.4 本章小结
这一章,我们只做了一件事:建立共识。
- 轨迹规划不是路径规划,它带上了时间轴。
- 它在机器人系统里承上启下,地位关键。
- 机械臂、移动机器人、无人机,各有各的侧重点,但底层逻辑相通。