一、轨迹规划概述

什么是轨迹规划?

说实话,我刚入行那会儿,也搞混过「路径规划」和「轨迹规划」。

路径规划只管「怎么走」——从A点到B点,避开障碍物就行。但轨迹规划不一样,它还要管「怎么走得好」——速度、加速度、时间、平滑度,全都要考虑。

我习惯这么定义:轨迹规划,就是给机器人设计一条带时间信息的运动曲线。说白了,就是告诉机器人:

  • 什么时间
  • 到达什么位置
  • 以什么速度运动
  • 加速度变化是否平缓

举个例子。你让机械臂去抓一个杯子。路径规划只告诉你「绕过桌子,别撞墙」。但轨迹规划会告诉你:前2秒加速到0.5m/s,中间3秒匀速,最后1秒减速到零。这样抓取才稳,不会把杯子甩出去。

核心公式(简化版):

轨迹 = 路径 + 时间律

路径:几何上的点序列

时间律:每个点对应的速度、加速度

轨迹规划在机器人中的应用

我这些年做过的项目里,轨迹规划几乎无处不在。给你列几个典型的:

应用场景 典型需求 我踩过的坑
工业机械臂 高速搬运、焊接、喷涂 加速度突变导致末端抖动,焊偏了三条焊缝才意识到
移动机器人 仓储AGV、扫地机器人 急转弯时货物侧翻,后来加了向心加速度约束
无人机 航拍、巡检、编队飞行 风扰下轨迹跟踪误差大,改用了鲁棒控制
人形机器人 行走、跳跃、上下楼梯 ZMP(零力矩点)约束没处理好,摔了好几次

嗯,这里要注意:不同机器人的轨迹约束完全不同。机械臂关心关节限位和奇异性,移动机器人关心非完整约束,无人机关心动力学可行性。千万别拿一套方法到处套。

强化学习与传统方法的对比

传统轨迹规划方法,我做过不少。比如:

  • 多项式插值:简单,但容易产生震荡
  • B样条曲线:平滑性好,但参数调整麻烦
  • 最优控制:理论上最优,但计算量大,实时性差

这些方法有个共同问题:需要精确的数学模型。你想想看,机器人动力学参数稍微变一点,比如负载变了、关节磨损了,传统方法就得重新建模、重新调参。

我曾经在一个喷涂项目上吃过这个亏。机器人用了半年,关节摩擦力增大,原来的轨迹参数全废了。我花了整整两周重新标定,那叫一个痛苦。

强化学习就不一样了。它不依赖精确模型,而是通过「试错+奖励」来学习。说白了:

传统方法: 我知道物理规律 → 我算出轨迹 → 机器人执行

强化学习: 我不知道物理规律 → 我让机器人自己试 → 试对了给奖励 → 慢慢学会好轨迹

我整理了一个对比表,方便你理解:

维度 传统方法 强化学习
模型依赖 需要精确动力学模型 无需模型,从数据中学习
泛化能力 换场景需重新设计 训练好可迁移到类似场景
实时性 在线计算快(毫秒级) 推理快,但训练慢(小时~天)
最优性 可证明最优(凸优化) 近似最优,无严格保证
安全性 可硬约束(如避障) 难保证,需额外处理
调试难度 调参数,物理意义明确 调奖励函数,玄学成分大

我的建议:

别急着二选一。实际项目中,我经常把两者结合:

先用传统方法生成一条安全轨迹作为「示范」

再用强化学习微调,适应环境变化

这叫「模仿学习 + 强化学习」,效果往往比单用好

避坑指南:

我曾经在一个项目里,一上来就用强化学习做轨迹规划。结果训练了三天,机器人还是撞墙。后来发现,问题出在奖励函数设计上——我给的奖励太稀疏,机器人根本不知道什么动作是对的。

所以我的经验是:先跑通传统方法,再上强化学习。至少你得知道「好轨迹」长什么样,才能设计出合理的奖励函数。

本章知识体系

下面这张图,是我自己梳理的轨迹规划知识框架。你可以把它当作整个课程的地图:

轨迹规划 传统方法 强化学习 混合方法 多项式插值 B样条曲线 最优控制 DDPG PPO SAC 奖励函数设计 模仿学习 示范+微调 安全约束RL 应用场景:机械臂 · 移动机器人 · 无人机 · 人形机器人 核心约束:运动学 · 动力学 · 安全性 · 平滑性 · 实时性

这张图我画了好几个版本,最后选了这种「中心发散」的结构。你看,轨迹规划这个主题,从传统方法到强化学习,再到两者的混合,其实是一个逐步演进的过程。后面的课程,我们会沿着这个框架,一层一层往下拆。

学习建议:

这一章是概览,不用死记硬背。你只需要记住三件事:

  1. 轨迹规划 = 路径 + 时间律
  2. 不同机器人约束不同,别混用
  3. 传统方法和强化学习各有优劣,结合使用效果更好

后面的章节,我们会一个一个深入。到时候你自然就理解了。

可可精品资料库