第4章 高频面试题之轨迹优化:二次规划(QP)、模型预测控制(MPC)、样条曲线拟合

轨迹优化是自动驾驶规划系统的核心能力,面试中QP建模、MPC滚动优化、样条曲线平滑三大方向几乎必考。本章拆解高频问题的回答框架与考察意图,帮助你把算法原理转化为面试官认可的工程表达。

方法 核心思想 典型应用场景 面试高频考点 复杂度与实时性
二次规划(QP) 凸优化 + 线性约束,最小化二次型代价函数 轨迹平滑、走廊约束、速度规划 凸性保证、约束松弛、求解器选型 ⭐⭐ 毫秒级可解
模型预测控制(MPC) 滚动时域 + 预测模型 + 反馈校正 轨迹跟踪、避障重规划、横纵向联合控制 预测时域设计、稳定性、计算延时补偿 ⭐⭐⭐ 需优化求解效率
样条曲线拟合 分段多项式 + 连续性约束 + 控制点调节 路径平滑、曲率连续、参考线生成 连续阶次、端点条件、曲率约束处理 ⭐ 计算轻量
面试策略提示:回答轨迹优化问题时,先明确问题类型(路径平滑 / 跟踪控制 / 避障重规划),再定位方法,最后展开建模与约束细节。以下框架图帮你快速组织回答逻辑。
① 明确问题场景 确定轨迹类型与优化目标 ② 选择优化方法 QP / MPC / 样条曲线 ③ 构建数学模型 目标函数 + 约束条件 ④ 求解与验证 求解器实现 + 实时性验证 ⑤ 总结与延伸 优缺点对比 + 优化方向 回答路径 加分要点 结合工程场景 突出约束的 物理含义 体现系统性 思维

问答卡 1:二次规划(QP)在轨迹优化中的应用

面试问题 请解释二次规划在自动驾驶轨迹优化中的建模过程,并举例说明如何处理不等式约束。
面试官考察点 ▸ 是否理解QP的标准形式(min ½xᵀHx + fᵀx)
▸ 能否将轨迹平滑目标转化为二次型代价函数
▸ 如何处理安全性约束(如避障、车道边界)
▸ 对求解器(OSQP / qpOASES)的了解
回答框架 问题定义 → 目标函数构建 → 约束建模 → 求解器选型 → 结果验证
简短示例回答 “轨迹平滑QP建模通常以横向位移和加速度为变量,代价函数包含加速度惩罚项和跟踪偏差项,约束包括车辆动力学边界和车道线不等式。使用OSQP可在2ms内解出最优轨迹,我曾在项目中通过松弛因子处理不可行约束,保证求解鲁棒性。”
可能追问 ▸ 如何处理非凸约束?
▸ QP问题的凸性为什么重要?
▸ 当QP求解失败时你的兜底策略是什么?
▸ 对比OSQP和qpOASES的优劣
避坑提醒 ⚠ 常见失分点:只背公式不结合场景;忽略不等式约束的物理可行性;不讨论求解失败的处理机制;忘记提及约束松弛或软约束设计。

问答卡 2:模型预测控制(MPC)在轨迹跟踪中的实现

面试问题 结合车辆运动学模型,说明MPC如何实现轨迹跟踪控制?预测时域和控制时域如何选择?
面试官考察点 ▸ 是否掌握MPC的滚动优化与反馈校正核心机制
▸ 能否建立合适的预测模型(单车模型 / 运动学模型)
▸ 预测时域与控制时域的设计依据
▸ 如何处理计算延时
回答框架 预测模型建立 → 滚动优化目标 → 约束处理 → 反馈校正 → 延时补偿
简短示例回答 “MPC使用单车模型作为预测模型,在预测时域N=10内最小化横向偏差与控制量增量。控制时域设为5以降低计算量,并通过延时补偿机制将上一时刻最优解的第一个控制量输入执行器。在实车测试中,60km/h下的跟踪误差稳定在±12cm以内。”
可能追问 ▸ MPC的稳定性如何保证?
▸ 预测模型失配时如何自适应?
▸ 为什么选择运动学模型而非动力学模型?
▸ 非线性MPC与线性MPC的适用场景差异
避坑提醒 ⚠ 常见失分点:预测时域选择缺乏依据;忽略计算延时对控制效果的影响;不提及反馈校正机制;混淆MPC与LQR的区别。

问答卡 3:样条曲线拟合用于路径平滑

面试问题 在路径规划中如何使用样条曲线生成平滑轨迹?对比三次样条与B样条的核心区别。
面试官考察点 ▸ 对样条曲线C²连续性的理解
▸ 能否根据场景选择样条类型(全局vs局部)
▸ 如何处理曲率约束和端点条件
▸ 参数化方法(弧长 / 弦长)的影响
回答框架 样条原理 → 类型对比 → 连续性约束 → 曲率控制 → 工程实现
简短示例回答 “三次样条在节点处保证C²连续,适合全局路径平滑;B样条通过控制点实现局部调整,避免修改一个点导致全局变动。我在项目中用B样条生成参考线,通过调节控制点权重限制曲率≤0.2/m,同时使用弦长参数化避免过冲。”
可能追问 ▸ 样条曲线的曲率连续性如何保证?
▸ 如何处理路径上的曲率不连续点?
▸ B样条的节点矢量如何选取?
▸ 样条曲线与多项式拟合的比较
避坑提醒 ⚠ 常见失分点:只关注平滑性忽略曲率约束;不讨论端点条件(自然边界/固定边界);混淆C¹与C²连续的实际影响;未考虑参数化方式对曲线形态的影响。

📌 项目案例:城市L4级自动驾驶轨迹规划系统

项目名称 城市道路全工况轨迹规划与跟踪系统
业务背景 面向L4级Robotaxi,在复杂城市道路(含环岛、施工区、无保护左转)实现安全舒适的轨迹生成与跟踪。
规模指标 最高车速60km/h │ 横向跟踪误差≤15cm │ 规划周期≤20ms │ 曲率变化率≤0.5/m² │ 累计测试里程10万+公里
技术栈 C++11/14 │ OSQP求解器 │ CasADi自动微分 │ Eigen3 │ ROS2 │ 车辆运动学与动力学模型
核心难点 ① 多约束耦合下QP问题易不可行 → 设计分层松弛策略
② MPC计算延时导致控制抖动 → 引入延时补偿与状态预测
③ 样条曲线在环岛场景曲率超限 → 自适应控制点调节
面试高频追问 ▸ OSQP的冷启动与热启动如何加速?
▸ 约束不可行时软约束权重如何调参?
▸ MPC的预测模型为何选择运动学而非动力学?
▸ 样条曲线曲率约束在代码中如何实现?
可迁移回答话术 “我在该项目中负责轨迹优化模块,采用分层架构:上层用B样条生成参考线并施加曲率约束,中层用QP做速度平滑,下层用MPC做轨迹跟踪。通过松弛因子+分层降维解决多约束不可行问题,将求解成功率从87%提升至99.3%。

面试官如果追问细节,重点突出你对约束物理含义的理解(如曲率约束对应车辆转向极限)和实时性优化手段(如OSQP热启动、矩阵预分解)。”
本章小结:轨迹优化面试的底层逻辑是 “场景 → 方法 → 建模 → 求解 → 验证”。QP 讲清楚凸性与约束;MPC 展示滚动优化与反馈;样条曲线突出连续性与局部控制。把每个方法的工程落地细节和失效处理准备到位,就能在面试中建立系统性认知的优势。