1. 轨迹规划概述

1.1 什么是轨迹规划

轨迹规划,说白了就是回答三个问题:去哪儿、怎么去、什么时候到。

我刚开始接触这个领域时,觉得它不就是路径规划吗?后来踩了坑才明白——路径规划只关心空间上的路线,而轨迹规划还要加上时间维度。你想想看,两个机器人走同一条路,一个慢悠悠晃过去,一个全速冲刺,这能一样吗?

用专业点的话说:轨迹规划 = 路径规划 + 速度规划。它要生成一条满足运动学/动力学约束的、平滑的、时间参数化的运动曲线。

核心要素:

  • 空间约束:避开障碍物、保持在道路边界内
  • 时间约束:到达时间、速度限制、加速度限制
  • 动力学约束:最大转向角、最大加速度、 jerk 限制
  • 最优性:最短时间、最省能量、最舒适

1.2 轨迹规划在机器人/自动驾驶中的应用

我做过几年移动机器人,也参与过自动驾驶项目。说实话,轨迹规划在这两个领域的核心思想是相通的,但具体实现上差异不小。

应用场景 典型需求 我遇到的坑
工业机械臂 高精度、重复性、避奇异点 曾经有一次,轨迹在奇异点附近突然抖动,差点撞坏工件
移动机器人 避障、平滑、实时性 在仓库里,AGV 急转弯时货物滑落,后来加了 jerk 约束
自动驾驶 安全、舒适、交通规则 有一次变道轨迹太激进,乘客直接投诉了
无人机 三维空间、动态避障 风大时轨迹跟踪偏差大,后来加了鲁棒控制

我个人习惯把应用分为两类:结构化环境(如工厂、高速公路)和非结构化环境(如野外、停车场)。前者约束明确,后者不确定性大,对算法的鲁棒性要求更高。

1.3 课程整体框架

这个课程我设计了 30 章,从基础到实战,一步步带你吃透轨迹规划与跟踪。下面这张图是我亲手画的,你看一眼就能明白整个知识体系。

轨迹规划与跟踪 · 课程知识体系 第1-5章 · 基础篇 坐标系变换 · 运动学建模 · 路径表示 · 插值与拟合 · 约束分析 第6-15章 · 规划方法篇 图搜索(A*、Dijkstra) · 采样方法(RRT、PRM) · 优化方法(QP、MPC) 多项式轨迹 · 贝塞尔曲线 · B样条 · 时间最优轨迹 第16-23章 · 跟踪控制篇 PID控制 · 纯追踪 · Stanley · LQR · MPC跟踪 · 鲁棒控制 前馈+反馈 · 状态估计融合 · 控制分配 第24-30章 · 实战篇 ROS2实现 · Carla/SUMO仿真 · 实车部署 · 性能调优 故障诊断 · 多传感器融合 · 项目实战:自动泊车/园区物流

💡 我的建议:别急着跳着看。基础篇虽然枯燥,但后面所有高级内容都依赖它。我曾经带过一个实习生,直接跳到 MPC 章节,结果连状态空间方程都写不对,又回头补基础,反而多花了两周时间。

1.4 学习路径与避坑指南

如果你问我,学轨迹规划最重要的是什么?我的答案是:动手。

光看书、看,你永远不知道实际跑起来会出什么问题。我建议你按这个路径来:

  1. 先跑通一个简单案例(比如第2章里的直线轨迹插值)
  2. 理解数学原理(别怕公式,我会用代码帮你拆解)
  3. 改参数、看效果(这是最快的学习方式)
  4. 尝试自己写一个(哪怕很丑,跑起来就是胜利)

⚠️ 我曾经踩过的坑:

  • 一开始就追求完美算法,结果连基本框架都没搭起来
  • 忽略了坐标系转换,导致轨迹在真实机器人上完全跑偏
  • 仿真里跑得飞起,实车上一跑就抖——忘了加执行器延迟模型

这些坑,我会在课程里一一帮你避开。

1.5 你需要准备什么

工具/技能 用途 备注
Python 3.8+ 算法原型验证 推荐用 Anaconda 管理环境
NumPy / SciPy 矩阵运算、优化求解 必须熟练
Matplotlib 轨迹可视化 调试利器
ROS2 (可选) 机器人实战 第24章开始会用到
线性代数基础 理解变换矩阵、优化问题 我会在需要时复习

嗯,第一章就到这里。记住一句话:轨迹规划不是玄学,是数学 + 工程 + 经验的结合。后面每一章我都会带着代码和案例,咱们一步步来。

核心要点回顾:

  • 轨迹规划 = 路径 + 时间 + 约束
  • 不同场景对轨迹的要求不同,没有万能算法
  • 动手实践比看书重要十倍
  • 遇到问题先检查基础,别急着换高级算法