第四章 自动驾驶控制理论基础面试:PID、MPC、LQR、纯追踪算法

本章聚焦面试高频的四种控制算法,从原理、选型、调优到项目落地全面拆解。掌握各算法的核心差异与面试表达框架,能大幅提升回答的结构化程度与说服力。

控制算法问题 原理与数学形式 公式、状态方程、优化目标 适用场景 巡航/避障/泊车/路径跟踪 参数调优方法 超参数调参、标定流程 与其他算法对比 计算量/实时性/鲁棒性
🎯 面试加分点:回答控制算法问题时,建议先用一句话概括核心思想,然后按“原理 → 适用场景 → 调优方法 → 与其他算法对比”的框架展开,最后用项目案例验证理解深度。

问答卡片 1:PID 控制原理与应用

面试问题
请解释 PID 控制原理,并举例说明在自动驾驶中的典型应用。
面试官考察点1. 是否理解比例、积分、微分的物理意义;2. 能结合具体场景(如车道保持、定速巡航)说明参数作用;3. 了解 PID 局限性与改进思路。
回答框架定义 → 三个项的作用 → 示例场景 → 参数整定方法 → 局限性简述。
简短示例回答PID 通过误差的比例(P)、积分(I)、微分(D)计算控制量。在车道保持中,P 项根据横向偏差输出转向,I 消除稳态误差,D 抑制振荡。常用 Ziegler-Nichols 法整定参数,但面对曲率突变时易超调,可加入前馈或模糊 PID 改进。
可能追问积分饱和如何克服?微分项对噪声敏感怎么办?如何选择采样时间?
避坑提醒不要只背公式;避免说“PID 很简单没什么好讲的”;强调实际工程中积分限幅、抗饱和等细节。

问答卡片 2:MPC 与 PID 的对比

面试问题
MPC 相比 PID 有哪些优势?又存在什么不足?在自动驾驶中如何选择?
面试官考察点1. 对 MPC 原理的理解(滚动优化、约束处理);2. 能否分析两类算法的适用边界;3. 对计算实时性的认识。
回答框架先对比核心差异 → MPC 优势(多目标、约束、预测)→ 不足(计算量大、模型敏感)→ 选型建议。
简短示例回答MPC 通过模型预测未来状态并滚动优化,能显式处理执行器饱和、碰撞约束等,适合高速或复杂场景。但计算量比 PID 大一个数量级,对车辆动力学模型精度敏感。工程上,低速泊车常用 PID,高速巡航或紧急避障则用 MPC。
可能追问MPC 的预测时域和控制时域如何选取?线性 MPC 与非线性 MPC 的区别?如何加快求解速度?
避坑提醒不要盲目推崇 MPC 而否定 PID;避免只谈理论不谈实现难点(如求解器选型、模型失配);建议用具体项目数据说明实时性要求(例如 50ms 内必须输出控制量)。

问答卡片 3:LQR 与纯追踪算法在路径跟踪中的区别

面试问题
LQR 和纯追踪(Pure Pursuit)都是常用的路径跟踪算法,请分析它们的核心区别以及在什么情况下分别适用。
面试官考察点1. 对两种算法数学本质的理解(LQR 基于模型最优控制,纯追踪基于几何);2. 能否结合实际车辆动力学评价优劣;3. 对曲率、速度适应性等工程细节的把握。
回答框架LQR 原理(状态反馈、二次型最优)→ 纯追踪原理(预瞄点、横向误差几何关系)→ 核心区别 → 选型场景。
简短示例回答LQR 基于车辆动力学模型和 Riccati 方程求解最优反馈增益,兼顾跟踪精度与控制能量,但需精确模型。纯追踪基于预瞄距离的几何关系,实现简单、参数少,适合低速路径跟踪。在弯道曲率突变的场景下,LQR 跟踪误差更小,而纯追踪容易产生过冲。若车辆模型已知且算力充裕,优先 LQR;若仅需快速原型或低速场景,纯追踪更稳妥。
可能追问LQR 的 Q、R 矩阵如何调参?纯追踪的预瞄距离如何根据车速动态调整?能否将 LQR 与纯追踪结合?
避坑提醒避免把 LQR 复杂化(比如强行推导 Riccati 方程细节)而忽略对比重点;纯追踪的预瞄距离要说明是车速的函数,不是固定值;建议画一个简单对比表(实时性、精度、模型依赖)来辅助回答。
💡 面试建议:三种算法对比常作为综合题出现,建议提前准备一张速查表,包含原理类型、计算复杂度、约束处理能力、典型应用场景。用“首先…其次…最后”的结构组织回答。

📁 项目案例:高速公路自适应巡航(ACC)控制仿真

真实项目模板
项目名称高速公路自适应巡航控制系统仿真(ACC)
业务背景某主机厂要求开发一款自适应巡航控制器,能在高速环境下实现跟车、定速、紧急减速等功能,要求切换平顺、无碰撞风险。
规模指标仿真场景包含 200+ 工况(前车切入、切出、急刹、弯道限速);纵向加速度误差 <0.3 m/s²;跟车间距误差 <1.5m;决策周期 20ms,控制周期 10ms。
技术栈Matlab/Simulink 搭建车辆动力学模型;C++ 实现 MPC 控制器(OSQP 求解器);ROS 实现仿真节点通讯;Python 用于评价指标可视化。
核心难点1. 约束处理:同时考虑加速度限制、 jerk 限制、最小安全间距;2. 模式切换:定速→跟车→减速的平滑过渡(通过权重调整);3. 预测模型误差:线性化二自由度模型在高速下的失配情况,引入前馈补偿。
面试高频追问• 为什么选择 MPC 而不是 PID?
• OSQP 求解器的收敛性如何保证?
• 如何处理预测时域内前车运动不确定性问题?
• 仿真与实车测试的主要差异在哪里?
可迁移回答话术“该项目核心是通过 MPC 实现多约束下的纵向控制。我负责设计代价函数,其中状态量包括相对距离和速度差,控制量是期望加速度。通过权重矩阵调节跟车舒适性与追踪精度,并用热启动策略将求解时间压缩到 8ms 以内。遇到前车紧急切入时,通过减小预测时域来提升响应速度。这个思路同样适用于其他需要处理约束的控制场景,比如轨迹跟踪中的横向/纵向联合控制。”
⚠️ 项目案例避坑:避免只谈过程不谈量化指标;不要忽略仿真与实车的 gap(比如模型不确定性、通讯延迟);如果被追问“为什么不用纯追踪”,要从约束处理、舒适性、预测能力三个角度对比,体现系统思考。