第一章:课程导论——车辆运动学模型简介、路径生成与轨迹规划的区别、课程目标与学习路径

各位同学,欢迎来到《车辆运动学约束下的路径生成》课程。

我是这门课的主讲。在自动驾驶领域摸爬滚打这些年,我踩过不少坑,也积累了一些经验。今天开始,我会把这些东西一点一点掰开揉碎了讲给你们听。

先说说这门课到底要干什么。

1.1 车辆运动学模型——说白了就是车怎么动

你想想看,一辆车在路上跑,它不能像人一样原地转圈,也不能像无人机那样横着飞。它有自己的脾气——前轮转向、后轮驱动,转弯半径有限。

这就是运动学约束。

我刚开始做路径规划时,犯过一个低级错误:规划出来的路径,车根本走不了。为什么?因为没考虑最小转弯半径。嗯,那次测试车直接怼上了路沿石,还好速度慢,不然后果...

所以,运动学模型就是描述车辆运动规律的数学工具。最经典的是自行车模型(Bicycle Model),它把四轮车简化成两轮,前轮控制转向,后轮负责驱动。

核心公式(自行车模型):

x_dot = v * cos(θ)
y_dot = v * sin(θ)
θ_dot = v * tan(δ) / L

其中:
(x, y) —— 车辆后轴中心位置
θ —— 航向角
v —— 车速
δ —— 前轮转角
L —— 轴距

这个模型简单,但够用。我在实际项目中,90%的场景都用它。除非你要做高速漂移或者特种车辆控制,那才需要更复杂的模型。

1.2 路径生成 vs 轨迹规划——别搞混了

这两个概念,我见过太多人混为一谈了。

路径生成(Path Generation): 只关心空间上的几何曲线。从A点到B点,怎么走?不考虑时间,不考虑速度。

轨迹规划(Trajectory Planning): 在路径的基础上,加上时间维度。什么时候加速?什么时候减速?什么时候转弯?

举个例子:

对比项 路径生成 轨迹规划
输出 一系列点 (x, y) 一系列点 (x, y, t, v, a)
约束 几何约束(转弯半径、曲率) 几何约束 + 动力学约束(加速度、 jerk)
典型算法 Dubins曲线、Reeds-Shepp曲线 多项式规划、优化方法

我个人习惯:先做路径生成,再做轨迹规划。分两步走,逻辑清晰,调试也方便。我曾经在一个项目中,试图一步到位,结果代码写了一周,bug修了半个月...后来老老实实拆成两步,两天搞定。

避坑指南: 路径生成不考虑时间,但一定要考虑曲率连续性。否则轨迹规划阶段会很难受——加速度跳变,乘客会晕车。

1.3 课程目标——学完你能干什么

这门课不是纯理论课,也不是纯工程课。我的目标是:

  • 理解核心模型: 自行车模型、阿克曼转向模型,以及它们的适用场景
  • 掌握经典算法: Dubins曲线、Reeds-Shepp曲线、多项式曲线、B样条曲线
  • 学会工程实现: 从数学公式到C++/Python代码,能跑通、能调参
  • 具备避坑能力: 哪些参数容易出问题?哪些场景算法会失效?

说白了,学完这门课,你拿到一个路径规划任务,能快速选对算法、写出代码、调通效果。

1.4 学习路径——我建议你这样学

这门课共30章,我建议按这个节奏来:

  1. 前5章: 打好数学基础。运动学模型、坐标系变换、曲线理论。这部分枯燥,但必须啃下来。
  2. 第6-15章: 经典路径生成算法。每章一个算法,从原理到代码。
  3. 第16-25章: 进阶内容。带约束的路径优化、多目标权衡、实时性优化。
  4. 第26-30章: 实战项目。用真实场景数据,跑通完整流程。

注意: 不要跳着看。运动学模型没搞懂,后面学Dubins曲线会一脸懵。我见过太多人上来就啃论文,结果越看越糊涂。

每章我都会留一个小练习。别偷懒,动手写代码才是最快的进步方式。

好了,第一章就到这里。下一章我们开始正式讲自行车模型,我会带着你们一步步推导公式,然后写代码验证。

有什么问题,欢迎随时交流。


公众号:蓝海资料掘金营,微信deep3321