1. 轨迹规划概述

各位同学,欢迎来到《轨迹规划算法工程应用实战》。我是你们这门课的主讲。

先问大家一个问题:什么是轨迹规划?

说白了,就是让机器人知道「怎么动」。不是随便动,而是安全、高效、平滑地动。你想想看,一个机械臂要从A点抓个零件放到B点,中间怎么走?直接直线过去?万一中间有障碍物呢?走快了会不会抖?到了B点怎么减速才能不把零件甩出去?

这些,都是轨迹规划要解决的问题。

核心定义:轨迹规划 = 在满足运动学/动力学约束的前提下,生成一条从起点到终点的、带时间信息的连续运动曲线。

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

我习惯把机器人软件系统分成三层:

  • 感知层:看世界。激光雷达、相机、IMU……告诉机器人「我在哪,周围有什么」。
  • 决策规划层:想怎么走。全局路径规划 + 局部轨迹规划,这是今天的主角。
  • 控制执行层:动起来。PID、MPC 把轨迹转成电机电流。

轨迹规划卡在中间,承上启下。感知给的数据再准,规划层算不出轨迹,机器人就是个瞎子。控制层调得再好,轨迹本身是锯齿状的,机器人照样抖成筛子。

我在项目中遇到过好几次:控制工程师调了一周参数,机器人还是抖。最后发现是轨迹规划输出的速度曲线不连续,加速度跳变。嗯,这里要注意——轨迹规划的质量,直接决定了控制的上限。

机器人软件系统三层架构 感知层 激光雷达 · 相机 · IMU · 里程计 决策规划层 全局路径规划 → 局部轨迹规划 控制执行层 PID · MPC · 电机驱动 数据流向

1.2 常见应用场景

轨迹规划不是实验室里的玩具。我做了十年机器人,三个场景最典型:

1.2.1 机械臂

机械臂的轨迹规划,核心是关节空间 vs 笛卡尔空间。

  • 关节空间规划:只关心每个关节怎么转,计算快,但末端轨迹不可控。
  • 笛卡尔空间规划:末端走直线/圆弧,直观,但可能有奇异点。

我记得有一次给汽车产线做焊接机械臂。客户要求焊枪末端必须走直线,否则焊缝不合格。我选了笛卡尔空间规划,结果在某个姿态下机械臂突然「抽搐」——奇异点问题。后来加了阻尼伪逆才解决。

我的经验:产线场景优先用笛卡尔空间规划,但一定要做奇异点检测。实验室里关节空间规划更省事,但别拿到现场用。

1.2.2 AGV / 移动机器人

AGV 的轨迹规划,核心是全局 vs 局部。

维度 全局路径规划 局部轨迹规划
输入 静态地图 实时传感器数据
输出 离散路径点 连续速度/加速度指令
算法 A*、Dijkstra、RRT TEB、DWA、MPC
频率 低频(秒级) 高频(毫秒级)

我曾经给仓储AGV做过一个项目。全局路径用A*算好了,结果局部规划没处理好动态障碍物——一个叉车突然倒车,AGV直接撞上去了。从那以后,我坚持局部规划必须加碰撞检测的硬约束,不能只靠代价函数软约束。

避坑指南:我曾经以为全局路径够好,局部规划随便写写就行。结果现场跑起来,AGV在走廊里来回「画龙」。后来发现是局部规划的目标点选择太激进,每次都在全局路径上跳来跳去。解决方案:加一个「参考路径跟踪」的软约束,让局部轨迹贴着全局路径走。

1.2.3 无人机

无人机轨迹规划,核心是三维空间 + 动力学约束。

无人机不能像AGV那样急停急转。它有惯性,有最小转弯半径,还有升力限制。我见过一个团队做无人机编队表演,轨迹规划没考虑最大加速度,结果无人机在空中「点头」——俯仰角震荡,差点炸机。

无人机轨迹规划常用方法:

  • 多项式轨迹:最小加加速度(Jerk)轨迹,平滑但计算量大。
  • 贝塞尔曲线:凸包性质好,适合避障。
  • 混合A*:考虑运动学约束,适合狭窄空间。

我个人偏好多项式轨迹。为什么呢?因为它的物理意义清晰——最小化加加速度意味着执行器磨损最小,电池续航最长。当然,实时性是个问题,后面章节我会讲怎么用QP求解器加速。

轨迹规划三大应用场景 机械臂 关节空间 / 笛卡尔空间 奇异点 · 运动学约束 焊接 · 装配 · 喷涂 典型频率:100Hz 常用:多项式 · B样条 AGV / 移动机器人 全局路径 + 局部轨迹 动态避障 · 走廊约束 仓储 · 巡检 · 配送 典型频率:10~50Hz 常用:TEB · DWA · MPC 无人机 三维空间 · 动力学约束 最小Jerk · 编队飞行 航拍 · 巡检 · 物流 典型频率:50~200Hz 常用:多项式 · 混合A*

1.3 本章小结

这一章我们聊了:

  • 轨迹规划是什么——让机器人「怎么动」。
  • 它在系统中的位置——感知和控制的桥梁。
  • 三个典型场景——机械臂、AGV、无人机,各有各的脾气。

你可能会问:这些场景的轨迹规划算法能通用吗?我的答案是:核心思想通用,工程实现各有侧重。后面29章,我会一个一个拆开讲。

一句话记住本章:轨迹规划不是「走哪条路」,而是「怎么走才稳、才快、才安全」。