第3章 控制基础与车辆动力学
本章聚焦自动驾驶控制领域的核心算法(PID、LQR、MPC)与车辆建模知识。面试中常被要求对比算法优劣、解释模型差异,并展示实际调参与项目经验。以下先用表格快速厘清三大算法的本质与适用场景。
| 算法 | 核心原理 | 模型依赖 | 约束处理 | 实时性 | 典型应用 |
|---|---|---|---|---|---|
| PID | 偏差的比例-积分-微分 | 无模型 | 无法直接处理 | 极高(微秒级) | 纵向速度/转向执行器底层 |
| LQR | 线性状态反馈最优控制 | 线性定常系统 | 软约束(加权) | 较高(毫秒级) | 高速车道保持、线控转向 |
| MPC | 滚动时域优化求解 | 线性/非线性模型 | 显式硬约束 | 中等(10-100ms) | 避障、轨迹跟踪、自动驾驶规划 |
一、回答框架图:如何结构化对比LQR与MPC
二、面试问答卡片
Q1:请解释PID控制原理,并说明在纵向控制中如何调节参数
考察点:对PID本质的理解 + 实际调参经验 + 工程直觉
回答框架:先阐述各环节作用,再结合场景给出调节步骤,最后提一句抗饱和措施。
示例回答:“P与当前误差成比例,I消除稳态误差但可能引起震荡,D预测误差趋势。纵向控制中先调P至稳定临界,加I消除爬坡误差,最后加D抑制超调。我曾在仿真中遇到过I饱和,通过积分分离或钳位解决。”
可能追问:“积分饱和如何产生?有哪些解决方案?”
避坑:别只背公式,要结合实例说明调节过程;若未提积分分离或抗饱和,会被认为缺乏工程经验。
Q2:LQR和MPC在横向控制中的核心区别是什么?如何选择?
考察点:算法原理理解深度 + 工程决策能力
回答框架:模型假设→优化时域→约束处理→实时性→典型场景。
示例回答:“LQR假设线性时不变系统,无约束解析求解;MPC可处理非线性与硬约束,滚动优化。选择上:高速车道居中无明显障碍时用LQR(计算快);避障或曲率变化大时用MPC。我在项目中先用LQR预瞄,后切MPC处理极限工况。”
可能追问:“MPC的预测时域怎么选?权重矩阵怎么调?”
避坑:不要只说“MPC更好”,要强调取舍;避免将LQR说成完全无法处理约束(可通过加权近似)。
Q3:运动学模型和动力学模型有什么区别?控制中如何选择?
考察点:车辆建模基础 + 场景适配能力
回答框架:输入/输出差异→忽略的物理量→适用速度→精度开销。
示例回答:“运动学模型基于几何关系(单车模型),忽略轮胎滑移,适合低速(<10m/s)规划;动力学模型考虑轮胎力与横摆,适合高速。实习时我用运动学模型做路径跟踪,调参简单;高速测试中改为动力学模型并加入轮胎侧偏刚度的在线估计。”
可能追问:“动力学模型中哪些参数最难获取?如何在线辨识?”
避坑:不要混淆“运动学”与“动力学”的适用速度范围;强调线性轮胎模型假设的局限性。
三、项目案例模板:基于MPC的横向车道保持系统
| 项目名称 | 基于非线性MPC的L4级车道保持控制器 |
| 业务背景 | 消除传统PID在急弯道处的蛇行现象,提升舒适性与跟踪精度 |
| 规模指标 | 时速0-110km/h,最大横向误差≤0.15m,控制频率50Hz |
| 技术栈 | Python/C++、CasADi、OSQP、PreScan仿真 + 实车测试 |
| 核心难点 | 非线性轮胎模型导致的求解实时性不足;预测时域与约束松紧度平衡 |
| 面试高频追问 | MPC的Q/R矩阵怎么调节?热启动如何加速?约束软化处理? |
| 可迁移回答话术 | “我采用了shooting法离散非线性模型,并用上一时刻解作为热启动,使求解时间从80ms降至12ms。” |