一、轨迹规划概述:到底什么是轨迹规划?
各位同学,欢迎来到《轨迹规划能力提升手册》的第一章。
先问大家一个问题:你让机器人从A点走到B点,它怎么走?
有人会说:「给它一条路径不就行了?」
嗯,没那么简单。路径只是「走哪条路」,而轨迹规划要回答的是——什么时间,走到哪个位置,速度多快,加速度多大。说白了,路径是几何问题,轨迹是时间问题。
我刚开始做机器人那会儿,也把这两个概念混着用。直到有一次,机械臂在抓取时突然抖动了一下,工件直接飞了出去……后来排查才发现,路径是对的,但速度曲线没规划好,加速度突变导致冲击。从那以后,我再也不敢轻视轨迹规划了。
核心定义:轨迹规划 = 路径(几何) + 运动律(时间)。它输出的是位置、速度、加速度随时间变化的序列。
1.1 轨迹规划在机器人系统中的地位
如果把机器人比作一个人,那轨迹规划就是「小脑」——负责协调运动、控制力度、保证平稳。
在一个完整的机器人系统中,轨迹规划处于决策层与执行层之间:
- 上层:任务规划、路径规划(决定去哪、走哪条路)
- 中层:轨迹规划(决定怎么走、走多快)
- 下层:运动控制、伺服驱动(执行轨迹)
你想想看,如果轨迹规划做得不好,上层规划得再好也没用。路径再短,速度一抖,照样出问题。
我记得有一次做移动机器人项目,全局路径规划已经给出了最优路径,但因为没有做速度平滑,机器人每到一个拐角就急刹急停,电池续航直接掉了30%。后来加了梯形速度规划,续航就正常了。
我的经验:轨迹规划是「承上启下」的关键环节。上层规划决定了「能不能到」,轨迹规划决定了「到得好不好」。
1.2 轨迹规划 vs 路径规划:别再搞混了
很多新手容易把这两个概念混为一谈。我特意做了个对比表,你一看就明白:
| 对比维度 | 路径规划 | 轨迹规划 |
|---|---|---|
| 输出内容 | 空间中的点序列(路径点) | 时间-位置-速度-加速度序列 |
| 关注点 | 避障、最短路径、可达性 | 运动平滑性、时间最优、冲击最小 |
| 典型算法 | A*、Dijkstra、RRT、PRM | 梯形速度、S形曲线、多项式插值、B样条 |
| 是否包含时间 | 否(只关心空间) | 是(时间维度必须考虑) |
| 应用场景 | 导航、地图探索 | 机械臂抓取、焊接、移动机器人跟踪 |
简单来说:路径规划告诉你「走哪条路」,轨迹规划告诉你「怎么走才稳」。
实际项目中,两者往往是串联使用的。先做路径规划得到一系列路径点,再做轨迹规划给每个路径点分配时间、速度和加速度。
避坑指南:我曾经在一个焊接机器人项目里,直接用路径规划的结果去驱动电机,结果焊缝表面凹凸不平。后来才发现,路径规划只给了位置点,没有考虑焊接速度的连续性。加上轨迹规划后,焊缝质量明显提升。
1.3 常见应用场景
轨迹规划不是纸上谈兵,它在三个主要领域都有广泛应用。我分别说说:
1.3.1 机械臂
机械臂的轨迹规划,核心是关节空间和笛卡尔空间两种方式。
- 关节空间规划:直接规划每个关节的角度变化,计算快,但末端轨迹不可控。
- 笛卡尔空间规划:规划末端执行器的位姿轨迹,直观但计算量大,且可能遇到奇异点。
我个人的习惯是:点到点运动用关节空间,连续路径(如焊接、涂胶)用笛卡尔空间。
举个例子,一个典型的机械臂抓取任务:
// 伪代码:机械臂轨迹规划流程
1. 路径规划:A* 或 RRT 生成无碰撞路径点
2. 轨迹规划:对路径点进行插值(如三次多项式)
3. 速度规划:梯形或S形速度曲线
4. 输出:每个控制周期的关节角度指令
1.3.2 移动机器人
移动机器人的轨迹规划,更关注运动学约束和动力学约束。
比如一个差速轮机器人,它不能像全向轮那样横着走。轨迹规划必须考虑:
- 最大线速度、最大角速度
- 最大加速度(防止打滑)
- 曲率约束(转弯半径不能太小)
我记得做AGV项目时,一开始只做了路径规划,结果机器人每次转弯都甩尾。后来加了曲率约束的轨迹规划,转弯就稳了。
小技巧:移动机器人常用「DWA(动态窗口法)」做局部轨迹规划,它能在考虑速度约束的同时实时避障,非常适合动态环境。
1.3.3 自动驾驶
自动驾驶的轨迹规划,可以说是最复杂的——因为它要同时考虑:
- 安全性:不能撞车、不能撞人
- 舒适性:加速度变化率(jerk)要小,乘客不晕车
- 实时性:毫秒级更新
- 交通规则:车道线、红绿灯、限速
自动驾驶的轨迹规划通常分两层:
- 全局轨迹规划:基于高精地图,规划从起点到终点的参考轨迹
- 局部轨迹规划:实时感知周围环境,对全局轨迹进行微调或重规划
你想想看,高速上120km/h行驶,每秒钟移动33米。轨迹规划必须在几十毫秒内完成,还要保证舒适性。这就是为什么自动驾驶对轨迹规划的要求极高。
1.4 本章知识体系总览
为了让你对本章内容有个整体认识,我画了一张结构图:
这张图把本章的核心知识点串起来了。你可以看到,轨迹规划不是孤立存在的,它和路径规划、运动控制紧密相连。
1.5 小结
这一章我们聊了:
- 轨迹规划到底是什么——路径 + 时间
- 它在系统中的位置——承上启下
- 和路径规划的区别——几何 vs 时间
- 三大应用场景——机械臂、移动机器人、自动驾驶
说实话,轨迹规划这个领域,入门容易精通难。但只要你把基础概念搞清楚了,后面的算法学起来就会顺畅很多。