1、课程导论:为什么自动驾驶需要运动学与动力学模型?课程目标与学习路径。
1.1 一个让我印象深刻的教训
我记得刚入行那会儿,参与过一个L4级泊车项目。
当时团队里有个哥们儿,特别自信。他说:「规划路径嘛,给个几何曲线不就行了?车又不是火箭,要什么动力学模型?」
结果呢?
实车测试那天,车在低速泊入时,方向盘打到底,车身却因为轮胎侧偏,硬生生蹭上了旁边的锥桶。现场一片沉默。
嗯,从那以后,我们团队再也没人敢说「运动学模型没用」这种话了。
说白了,自动驾驶的决策规划,不能只把车当成一个「质点」或者「矩形框」。
你得知道它怎么转弯、怎么加速、怎么受地面摩擦力的影响。否则,你规划出来的轨迹,车根本执行不了。
1.2 为什么自动驾驶需要运动学与动力学模型?
你想想看,自动驾驶的核心任务是什么?
感知、决策、规划、控制。这四个环节,每一个都离不开对车辆运动特性的理解。
- 规划层:规划出一条平滑、可执行的轨迹。如果不懂运动学,你规划出的路径可能曲率突变,车根本转不过去。
- 控制层:跟踪这条轨迹。如果不懂动力学,你的PID控制器可能永远调不好,车会来回震荡,甚至失控。
- 状态估计:比如卡尔曼滤波预测车辆位置。没有运动模型,你拿什么预测?
- 安全验证:紧急避障时,车能不能刹住?会不会侧翻?这得靠动力学模型算。
核心观点:运动学模型告诉你「车能怎么动」,动力学模型告诉你「车实际会怎么动」。两者缺一不可。
1.3 运动学 vs 动力学:到底有什么区别?
很多初学者容易搞混。我简单解释一下。
| 维度 | 运动学模型 | 动力学模型 |
|---|---|---|
| 关注点 | 几何约束、速度、加速度关系 | 力、力矩、质量、惯性 |
| 典型模型 | 自行车模型、阿克曼转向模型 | 二自由度模型、七自由度模型 |
| 适用场景 | 低速、小角度转向、路径规划 | 高速、大侧向加速度、稳定性控制 |
| 计算复杂度 | 低,适合实时计算 | 高,需要更多参数 |
| 我的经验 | 泊车、园区低速场景,我基本只用运动学 | 高速变道、紧急避障,必须上动力学 |
一个小技巧:实际项目中,我习惯先跑运动学模型做初版规划,再用动力学模型做可行性校验。这样既快又稳。
1.4 课程目标:学完你能做什么?
这门课不是纯理论推导。我的目标是让你学完就能用。
- 掌握核心模型:能独立推导并实现自行车模型、二自由度模型。
- 看懂工程代码:能读懂Apollo、Autoware中的运动学/动力学相关模块。
- 解决实际问题:比如「为什么我的车在弯道里总是偏离轨迹?」——你能用模型分析出原因。
- 避坑指南:我会分享我在项目中踩过的坑,比如轮胎参数标定不准导致的控制发散。
1.5 学习路径:我建议你这样走
我个人习惯把学习路径分成三个阶段。别急,一步步来。
- 第一阶段:打好基础(第1-3章)
- 搞懂坐标系变换、车辆几何约束。
- 手推一遍自行车模型。
- 用Python写一个简单的运动学仿真。
- 第二阶段:深入动力学(第4-6章)
- 理解轮胎模型(魔术公式、Pacejka模型)。
- 推导二自由度动力学模型。
- 在Simulink或C++中实现。
- 第三阶段:工程实战(第7-9章)
- 结合控制算法(MPC、LQR)做轨迹跟踪。
- 分析真实路测数据,调参优化。
- 完成一个综合项目:从规划到控制的全链路仿真。
注意:我曾经见过有人一上来就啃《车辆动力学》大部头,结果一个月后放弃了。别贪多,先跑通一个简单的自行车模型,成就感会推着你往前走。
1.6 写在最后
这门课不会让你成为理论物理学家,但会让你成为一个「懂车」的自动驾驶工程师。
你想想看,当你的车在高速上稳稳地完成一次自动变道,而你知道背后是运动学与动力学模型在支撑——那种感觉,挺爽的。
准备好了吗?我们开始吧。