第3章 控制基础与车辆动力学

本章聚焦自动驾驶控制领域的核心算法(PID、LQR、MPC)与车辆建模知识。面试中常被要求对比算法优劣、解释模型差异,并展示实际调参与项目经验。以下先用表格快速厘清三大算法的本质与适用场景。

算法核心原理模型依赖约束处理实时性典型应用
PID偏差的比例-积分-微分无模型无法直接处理极高(微秒级)纵向速度/转向执行器底层
LQR线性状态反馈最优控制线性定常系统软约束(加权)较高(毫秒级)高速车道保持、线控转向
MPC滚动时域优化求解线性/非线性模型显式硬约束中等(10-100ms)避障、轨迹跟踪、自动驾驶规划
面试高频词:“模型复杂度 vs 实时性”、“约束处理能力”、“参数整定经验”

一、回答框架图:如何结构化对比LQR与MPC

对比LQR与MPC的回答框架 ① 定义算法类型 ② 模型与假设 ③ 优化目标与约束 ④ 实时性对比 LQR: 线性系统 MPC: 可处理非线性 MPC支持显式硬约束 LQR更快(毫秒级) ⑤ 总结应用场景
加分技巧:回答对比类问题时,先用一句话定义两者归属(LQR是无限时域最优控制,MPC是有限时域滚动优化),再逐项对比。示例:“LQR假设线性且无约束,求解快但保守;MPC可处理非线性与约束,但计算开销大。在高速无动态障碍场景用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。”
追问路径图:从PID参数到工程陷阱 PID三个参数怎么调? 积分饱和如何解决? 微分项在噪声下怎么办? 实际调试遇到过震荡吗? 描述一种积分分离实现 低通滤波怎么设计? 如何通过数据分析根因?
追问路径提示:面试官常从基础参数出发,依次探测你对工程陷阱(积分饱和、噪声滤波)的具体处理方式。建议准备至少两种积分分离(开关法、退饱和算反法)和低通滤波截止频率的选取依据。