一、轨迹规划概述:从“怎么走”到“走得好”

大家好,我是老张。在机器人这行摸爬滚打了十几年,今天咱们聊聊轨迹规划。

说白了,轨迹规划就是回答一个问题:机器人怎么从A点走到B点?

你可能会说,这还不简单?直线走过去不就行了?嗯,如果路上空无一物,确实可以。但现实世界哪有那么干净?

我2018年做一个仓储机器人项目时,就遇到过这种情况。仓库里堆满了货架,机器人要穿过一条只有60厘米宽的通道,两侧全是易碎品。直线走?撞得稀碎。绕远路?效率太低。这时候,轨迹规划的价值就体现出来了。

1.1 什么是轨迹规划?

轨迹规划,不是简单的路径规划。

路径规划只告诉你“走哪条路”,比如从北京到上海,走京沪高速。但轨迹规划要告诉你:什么时候加速、什么时候减速、拐弯时速度多快、最终停在哪个精确位置。

用公式表达就是:

轨迹 = 路径 + 时间信息
即:q(t) = [x(t), y(t), θ(t), v(t), ω(t)]

其中q(t)是机器人在t时刻的状态,包括位置、朝向、线速度、角速度。

我个人习惯把轨迹规划分成两类:

  • 全局轨迹规划:事先规划好整条轨迹,适合静态环境
  • 局部轨迹规划:边走边规划,适合动态环境

复杂避障场景,两者缺一不可。

1.2 为什么在复杂避障场景中它如此重要?

你想想看,一个工厂车间里,有移动的AGV、有突然出现的工人、有临时堆放的物料。如果机器人只会走直线,那它就是个“瞎子”。

我做过一个汽车焊装车间的项目,机器人要在20秒内完成焊接,同时避开3台移动的AGV。有一次,AGV突然急刹车,机器人如果按原轨迹走,肯定撞上。幸好轨迹规划算法实时调整了速度曲线,在最后0.3秒刹住了车。

为什么会这样?因为轨迹规划提供了三个关键能力:

能力 作用 我的经验
避障能力 实时检测障碍物并调整轨迹 别只依赖传感器,算法要留余量
平滑能力 避免急停急转,保护机械结构 电机抖动多半是轨迹不平滑
实时能力 毫秒级响应,适应动态环境 我曾经吃过10ms延迟的亏

1.3 核心评价指标:平滑性、安全性、实时性

这三个指标,是衡量轨迹规划好坏的“三把尺子”。

1.3.1 平滑性

平滑性,说白了就是轨迹“顺不顺”。

我见过一些新手写的轨迹,速度曲线像锯齿一样,机器人走起来一卡一卡的。这不仅影响效率,还会加速电机磨损。

平滑性的量化指标通常有:

  • 加加速度(Jerk):加速度的变化率,越小越平滑
  • 曲率连续性:路径曲率不能突变
  • 速度波动率:实际速度与目标速度的偏差

我的经验:加加速度控制在 0.5 m/s³ 以内,人基本感觉不到顿挫。超过 1.0 m/s³,坐在机器人上就像坐过山车。

1.3.2 安全性

安全是底线,没得商量。

安全性不只是“不撞墙”,还包括:

  • 碰撞检测:轨迹与障碍物保持安全距离
  • 动态避障:对移动障碍物有预测能力
  • 紧急制动:突发情况能安全停车

避坑指南:我曾经在安全距离上吃过亏。当时设了5cm的安全阈值,觉得够了。结果传感器有3cm的误差,加上控制延迟,实际距离只剩2cm。后来我改成10cm,再也没出过问题。记住:安全距离 = 传感器误差 + 控制延迟 + 机械间隙 + 你的心理余量。

1.3.3 实时性

实时性,就是“快不快”。

在复杂避障场景中,环境每秒钟都在变化。轨迹规划必须在几毫秒内完成计算。

我一般这样要求:

场景 允许延迟 说明
静态环境 100ms 可以离线规划
低速动态 20ms 如仓储AGV
高速动态 5ms 如自动驾驶

小技巧:如果实时性不够,可以试试“分层规划”。先粗规划,再细优化。我常用的做法是:全局规划用A*,局部规划用DWA,两者配合,实时性提升40%。

1.4 知识体系总览

下面这张图,是我自己总结的轨迹规划知识体系。你可以把它当成一张“地图”,后面每章都会对应到其中的一个节点。

轨迹规划知识体系 轨迹规划 全局轨迹规划 局部轨迹规划 混合规划 A* / RRT / PRM / 样条曲线 DWA / TEB / MPC / 人工势场 全局+局部融合 / 分层规划 平滑性:Jerk / 曲率 / 速度波动 安全性:碰撞检测 / 安全距离 实时性:计算延迟 / 响应频率 仓储物流 工业制造 自动驾驶 核心目标:安全、平滑、实时地到达目标点

嗯,这张图基本涵盖了轨迹规划的核心内容。后面每一章,我们都会深入其中一个模块。

1.5 本章小结

这一章,我们聊了:

  • 轨迹规划是什么——不只是路径,还有时间
  • 为什么重要——复杂环境下的“保命符”
  • 三个核心指标——平滑性、安全性、实时性

我个人觉得,这三个指标里,安全性永远是第一位的。平滑性和实时性可以妥协,但安全不行。你想想看,一个轨迹规划算法,就算再平滑、再快,如果撞了人,那一切归零。

下一章,我们会深入全局轨迹规划,聊聊A*算法和RRT算法在实际项目中的坑与技巧。到时候见。

可可精品资料库