一、轨迹规划概述

1.1 什么是轨迹规划

轨迹规划,说白了就是让机器人知道「怎么动」的问题。

你想想看,我们给机器人一个目标——比如「把螺丝拧到那个孔里」。但机器人自己得琢磨:我的手该走哪条路?速度多快?什么时候加速、什么时候减速?这些问题的答案,就是轨迹规划要解决的。

我个人习惯把轨迹规划拆成两个层面来看:

  • 路径规划:只关心「走哪条路」,不关心速度。比如从A点到B点,绕过障碍物,这就是路径。
  • 轨迹规划:在路径的基础上,加上时间信息。什么时刻到哪个位置?速度曲线长什么样?加速度有没有超限?

举个例子你就明白了。路径规划告诉你「沿着这条S形曲线走」,轨迹规划告诉你「前2秒加速到0.5m/s,中间3秒匀速,最后1秒减速停下来」。没有轨迹规划,机器人要么急停急启抖得像筛子,要么撞到东西还浑然不知。

核心定义:轨迹规划 = 路径 + 时间 + 运动约束

它输出的是一系列随时间变化的位置、速度、加速度指令,驱动执行器平滑运动。

1.2 轨迹规划在机器人系统中的位置

我经常跟团队里的新人说,别把轨迹规划当成一个孤立的模块。它在整个机器人系统里,位置其实挺微妙的——夹在「决策层」和「控制层」之间。

来看这张图,你就清楚了:

机器人系统架构中的轨迹规划位置 感知层 传感器数据采集 · 环境建模 · 目标识别 · 状态估计 决策层 任务分解 · 行为选择 · 全局路径规划 · 避障策略 ★ 轨迹规划层(本章核心) 时间参数化 · 速度/加速度规划 · 平滑插值 · 约束检查 控制层 PID控制 · 力矩控制 · 伺服驱动 · 实时反馈调节 数据流向

看到没?轨迹规划正好卡在中间。上面决策层告诉你「去哪」,下面控制层负责「怎么执行」。而轨迹规划要做的,就是把「去哪」翻译成「怎么动」——具体到每一毫秒的位置指令。

我在项目中遇到过好几次这样的情况:决策层规划的路径明明没问题,但直接丢给控制层,机器人要么抖得厉害,要么电机过载报警。为什么?就是因为跳过了轨迹规划这一步,没有做速度平滑和约束检查。

我的经验:轨迹规划是「承上启下」的关键环节。决策层可以粗糙一点,控制层可以鲁棒一点,但轨迹规划必须精细。它决定了机器人最终的运动品质。

1.3 实时性要求与挑战

好了,现在问题来了——轨迹规划不是算一次就完事的。在真实任务中,环境在变,目标在变,机器人自身状态也在变。所以轨迹规划必须「实时」完成。

什么叫实时?我举个例子你就懂了。

你正在操控机械臂抓取一个移动的传送带上的零件。零件位置每秒钟都在变,你的轨迹规划必须在几毫秒内重新算出一条新轨迹。如果算慢了,零件已经跑远了,机械臂抓了个空。

实时轨迹规划的挑战,我总结为三个字:快、稳、全。

挑战 具体问题 我的踩坑经历
快 计算必须在控制周期内完成(通常1-10ms) 我曾经在一个焊接机器人项目里,用了复杂的B样条优化,结果单次规划耗时50ms,控制周期才5ms。机器人每走一步都要等规划,运动一顿一顿的。后来换成多项式插值+查表法,才压到3ms以内。
稳 轨迹必须连续平滑,不能有速度/加速度跳变 有一次我图省事,直接用线性插值做轨迹。结果机器人每到拐点就「咔」地一声,电机电流瞬间飙升。后来检查发现加速度不连续,产生了冲击力。从那以后,我至少保证加速度连续,最好加加速度(Jerk)也连续。
全 必须同时满足多种约束 约束包括:关节限位、速度上限、加速度上限、力矩上限、避障距离、末端执行器姿态... 我见过最夸张的一个项目,约束条件列了20多条。少考虑一条,现场就出事故。

⚠️ 特别注意:实时轨迹规划最怕的就是「算力不够」。你想想看,控制周期是固定的,但规划算法的复杂度可能随环境变化。如果某次规划超时了怎么办?

我的做法是:永远准备一个「保底轨迹」——比如紧急减速停车的轨迹。一旦规划超时,立刻切换到保底轨迹,保证安全。

1.4 实时轨迹规划的核心矛盾

说到这儿,我想跟你聊聊这个领域最核心的矛盾——最优性 vs 实时性。

理论上,我们可以用非线性优化、模型预测控制(MPC)这些高大上的方法,算出一条最优轨迹——时间最短、能耗最低、冲击最小。但问题是,这些算法算得太慢了。

反过来,如果你用简单的梯形速度曲线,算得飞快,但轨迹不够平滑,效率也不高。

我个人习惯的做法是:分层处理。

  • 离线层:提前算好一些「模板轨迹」或者「参考路径」,存起来。
  • 在线层:实时运行时,根据当前状态,快速调整模板轨迹的参数(比如缩放速度、偏移位置)。

这样做的好处是,在线计算量很小,几毫秒就能搞定。坏处是灵活性受限——如果环境变化太大,模板可能不适用。

一句话总结本章:

轨迹规划就是把「去哪」变成「怎么动」,它卡在决策层和控制层之间,必须又快又稳又全。实时性是最硬的约束,所有算法选择都要围绕它来权衡。

嗯,这一章就聊到这儿。下一章我们深入讲讲轨迹规划的数学基础——那些多项式、样条曲线到底是怎么让机器人走得更顺的。


可可精品资料库