一、轨迹规划概述
什么是轨迹规划?
说实话,我刚入行那会儿,也搞混过「路径规划」和「轨迹规划」。
路径规划只管「怎么走」——从A点到B点,避开障碍物就行。但轨迹规划不一样,它还要管「怎么走得好」——速度、加速度、时间、平滑度,全都要考虑。
我习惯这么定义:轨迹规划,就是给机器人设计一条带时间信息的运动曲线。说白了,就是告诉机器人:
- 什么时间
- 到达什么位置
- 以什么速度运动
- 加速度变化是否平缓
举个例子。你让机械臂去抓一个杯子。路径规划只告诉你「绕过桌子,别撞墙」。但轨迹规划会告诉你:前2秒加速到0.5m/s,中间3秒匀速,最后1秒减速到零。这样抓取才稳,不会把杯子甩出去。
核心公式(简化版):
轨迹 = 路径 + 时间律
路径:几何上的点序列
时间律:每个点对应的速度、加速度
轨迹规划在机器人中的应用
我这些年做过的项目里,轨迹规划几乎无处不在。给你列几个典型的:
| 应用场景 | 典型需求 | 我踩过的坑 |
|---|---|---|
| 工业机械臂 | 高速搬运、焊接、喷涂 | 加速度突变导致末端抖动,焊偏了三条焊缝才意识到 |
| 移动机器人 | 仓储AGV、扫地机器人 | 急转弯时货物侧翻,后来加了向心加速度约束 |
| 无人机 | 航拍、巡检、编队飞行 | 风扰下轨迹跟踪误差大,改用了鲁棒控制 |
| 人形机器人 | 行走、跳跃、上下楼梯 | ZMP(零力矩点)约束没处理好,摔了好几次 |
嗯,这里要注意:不同机器人的轨迹约束完全不同。机械臂关心关节限位和奇异性,移动机器人关心非完整约束,无人机关心动力学可行性。千万别拿一套方法到处套。
强化学习与传统方法的对比
传统轨迹规划方法,我做过不少。比如:
- 多项式插值:简单,但容易产生震荡
- B样条曲线:平滑性好,但参数调整麻烦
- 最优控制:理论上最优,但计算量大,实时性差
这些方法有个共同问题:需要精确的数学模型。你想想看,机器人动力学参数稍微变一点,比如负载变了、关节磨损了,传统方法就得重新建模、重新调参。
我曾经在一个喷涂项目上吃过这个亏。机器人用了半年,关节摩擦力增大,原来的轨迹参数全废了。我花了整整两周重新标定,那叫一个痛苦。
强化学习就不一样了。它不依赖精确模型,而是通过「试错+奖励」来学习。说白了:
传统方法: 我知道物理规律 → 我算出轨迹 → 机器人执行
强化学习: 我不知道物理规律 → 我让机器人自己试 → 试对了给奖励 → 慢慢学会好轨迹
我整理了一个对比表,方便你理解:
| 维度 | 传统方法 | 强化学习 |
|---|---|---|
| 模型依赖 | 需要精确动力学模型 | 无需模型,从数据中学习 |
| 泛化能力 | 换场景需重新设计 | 训练好可迁移到类似场景 |
| 实时性 | 在线计算快(毫秒级) | 推理快,但训练慢(小时~天) |
| 最优性 | 可证明最优(凸优化) | 近似最优,无严格保证 |
| 安全性 | 可硬约束(如避障) | 难保证,需额外处理 |
| 调试难度 | 调参数,物理意义明确 | 调奖励函数,玄学成分大 |
我的建议:
别急着二选一。实际项目中,我经常把两者结合:
先用传统方法生成一条安全轨迹作为「示范」
再用强化学习微调,适应环境变化
这叫「模仿学习 + 强化学习」,效果往往比单用好
避坑指南:
我曾经在一个项目里,一上来就用强化学习做轨迹规划。结果训练了三天,机器人还是撞墙。后来发现,问题出在奖励函数设计上——我给的奖励太稀疏,机器人根本不知道什么动作是对的。
所以我的经验是:先跑通传统方法,再上强化学习。至少你得知道「好轨迹」长什么样,才能设计出合理的奖励函数。
本章知识体系
下面这张图,是我自己梳理的轨迹规划知识框架。你可以把它当作整个课程的地图:
这张图我画了好几个版本,最后选了这种「中心发散」的结构。你看,轨迹规划这个主题,从传统方法到强化学习,再到两者的混合,其实是一个逐步演进的过程。后面的课程,我们会沿着这个框架,一层一层往下拆。
学习建议:
这一章是概览,不用死记硬背。你只需要记住三件事:
- 轨迹规划 = 路径 + 时间律
- 不同机器人约束不同,别混用
- 传统方法和强化学习各有优劣,结合使用效果更好
后面的章节,我们会一个一个深入。到时候你自然就理解了。
可可精品资料库