1、课程导论:为什么自动驾驶需要运动学与动力学模型?课程目标与学习路径。

1.1 一个让我印象深刻的教训

我记得刚入行那会儿,参与过一个L4级泊车项目。

当时团队里有个哥们儿,特别自信。他说:「规划路径嘛,给个几何曲线不就行了?车又不是火箭,要什么动力学模型?」

结果呢?

实车测试那天,车在低速泊入时,方向盘打到底,车身却因为轮胎侧偏,硬生生蹭上了旁边的锥桶。现场一片沉默。

嗯,从那以后,我们团队再也没人敢说「运动学模型没用」这种话了。

说白了,自动驾驶的决策规划,不能只把车当成一个「质点」或者「矩形框」。

你得知道它怎么转弯、怎么加速、怎么受地面摩擦力的影响。否则,你规划出来的轨迹,车根本执行不了。

1.2 为什么自动驾驶需要运动学与动力学模型?

你想想看,自动驾驶的核心任务是什么?

感知、决策、规划、控制。这四个环节,每一个都离不开对车辆运动特性的理解。

  • 规划层:规划出一条平滑、可执行的轨迹。如果不懂运动学,你规划出的路径可能曲率突变,车根本转不过去。
  • 控制层:跟踪这条轨迹。如果不懂动力学,你的PID控制器可能永远调不好,车会来回震荡,甚至失控。
  • 状态估计:比如卡尔曼滤波预测车辆位置。没有运动模型,你拿什么预测?
  • 安全验证:紧急避障时,车能不能刹住?会不会侧翻?这得靠动力学模型算。

核心观点:运动学模型告诉你「车能怎么动」,动力学模型告诉你「车实际会怎么动」。两者缺一不可。

1.3 运动学 vs 动力学:到底有什么区别?

很多初学者容易搞混。我简单解释一下。

维度 运动学模型 动力学模型
关注点 几何约束、速度、加速度关系 力、力矩、质量、惯性
典型模型 自行车模型、阿克曼转向模型 二自由度模型、七自由度模型
适用场景 低速、小角度转向、路径规划 高速、大侧向加速度、稳定性控制
计算复杂度 低,适合实时计算 高,需要更多参数
我的经验 泊车、园区低速场景,我基本只用运动学 高速变道、紧急避障,必须上动力学

一个小技巧:实际项目中,我习惯先跑运动学模型做初版规划,再用动力学模型做可行性校验。这样既快又稳。

1.4 课程目标:学完你能做什么?

这门课不是纯理论推导。我的目标是让你学完就能用。

  1. 掌握核心模型:能独立推导并实现自行车模型、二自由度模型。
  2. 看懂工程代码:能读懂Apollo、Autoware中的运动学/动力学相关模块。
  3. 解决实际问题:比如「为什么我的车在弯道里总是偏离轨迹?」——你能用模型分析出原因。
  4. 避坑指南:我会分享我在项目中踩过的坑,比如轮胎参数标定不准导致的控制发散。

1.5 学习路径:我建议你这样走

我个人习惯把学习路径分成三个阶段。别急,一步步来。

  • 第一阶段:打好基础(第1-3章)
    • 搞懂坐标系变换、车辆几何约束。
    • 手推一遍自行车模型。
    • 用Python写一个简单的运动学仿真。
  • 第二阶段:深入动力学(第4-6章)
    • 理解轮胎模型(魔术公式、Pacejka模型)。
    • 推导二自由度动力学模型。
    • 在Simulink或C++中实现。
  • 第三阶段:工程实战(第7-9章)
    • 结合控制算法(MPC、LQR)做轨迹跟踪。
    • 分析真实路测数据,调参优化。
    • 完成一个综合项目:从规划到控制的全链路仿真。

注意:我曾经见过有人一上来就啃《车辆动力学》大部头,结果一个月后放弃了。别贪多,先跑通一个简单的自行车模型,成就感会推着你往前走。

1.6 写在最后

这门课不会让你成为理论物理学家,但会让你成为一个「懂车」的自动驾驶工程师。

你想想看,当你的车在高速上稳稳地完成一次自动变道,而你知道背后是运动学与动力学模型在支撑——那种感觉,挺爽的。

准备好了吗?我们开始吧。