路径规划与轨迹生成技术面试:Frenet坐标系、凸优化、QP、样条曲线、时间一致性问题

本章聚焦自动驾驶规划面试中的核心数学与算法模块。面试官会从坐标系变换入手,追问凸优化建模、QP求解器选型、样条曲线平滑以及实时轨迹的时间一致性。掌握这些概念的内在逻辑与常见陷阱,是拿到高阶offer的关键。

Frenet坐标系 凸优化 / QP 样条曲线 时间一致性 避坑与总结 如何转换?曲率? 平滑性?连续性? 实时拼接? 重新规划? 常见失误与优化

面试追问路径图:从坐标系基础到实时性陷阱

面试问答卡片

🎯 面试问题:请解释Frenet坐标系在自动驾驶路径规划中的作用,并说明如何将笛卡尔坐标下的障碍物转换到Frenet坐标系下。

🔍 面试官考察点:是否理解Frenet坐标系的核心动机(沿参考线解耦纵向与横向运动);能否清晰推导坐标转换公式;是否注意到曲率影响。

📌 回答框架:① 点明Frenet坐标系以参考线s和侧向偏移l描述位置,降低约束复杂度;② 说出转换步骤:投影找到最近参考点→计算纵向s和横向l→处理曲率项修正;③ 强调曲率不为零时需用曲率半径校正。

💡 简短示例回答:“Frenet坐标系将规划解耦为纵向s和横向l,便于处理障碍物约束。转换时首先找离障碍物最近的参考线点,计算弧长s和横向偏移l,并利用该点曲率κ调整l = (x - xr)·nr / (1 - κ dp),其中dp为投影距离。”

🔎 可能追问:如果参考线是退化的(曲率极大或自交)怎么办?如何保证s/l变换是双射?

⚠️ 避坑提醒:勿忽略曲率分母项;当参考线曲率过大时横向转换会畸变,需引入多参考线或分段处理。

🎯 面试问题:在轨迹优化中,为什么常用凸优化特别是二次规划(QP)?请描述一个典型QP问题的数学形式。

🔍 面试官考察点:是否能讲清楚凸优化优势(全局最优、求解效率高、实时性强);是否掌握QP的标准形:min ½xᵀHx + fᵀx, s.t. Ax ≤ b;是否知道何时需要转为凸问题。

📌 回答框架:① 对比非凸问题:凸优化保证全局最优,QP求解器(如OSQP、qpOASES)可在毫秒级求解;② 举例:轨迹平滑代价(加速度、加加速度)可写成½xᵀHx形式;③ 说明约束处理:避障、动力学约束可线性化为Ax≤b。

💡 简短示例回答:“我们使用QP优化轨迹,代价函数为最小化加加速度平方和,写成½xᵀHx;约束包括位置边界、速度/加速度极限(线性不等式)。采用OSQP求解,每次迭代约2ms,满足20Hz规划需求。”

🔎 可能追问:如果成本或约束是非凸的,如何近似?QP与SQP、IPOPT的适用区别?

⚠️ 避坑提醒:避免直接说“我们只用QP”,应说明如何保证代价矩阵H半正定(如增加正则项),以及如何处理不可行解。

🎯 面试问题:如何保证轨迹生成本身的时间一致性?举例说明重新规划时可能出现的问题及解决方案。

🔍 面试官考察点:是否理解“时间一致性”指不同规划时刻输出的轨迹在时间和空间上无跳变;能否识别常见问题如初始状态不一致、规划周期不匹配、分段轨迹拼接不连续。

📌 回答框架:① 定义:每次规划输出的轨迹应与上一帧的预测状态平滑衔接;② 问题:重新规划时若只取最新状态,会忽略前一帧已规划的剩余部分,导致速度/加速度跳变;③ 方案:使用公共的参考时间戳,将上一帧轨迹的剩余段融入约束,或采用“向前滚动”方式保留最近一段轨迹。

💡 简短示例回答:“我们通过保留上一帧规划的最后0.5秒轨迹作为优化起点,并在代价中加入末端状态偏差惩罚。同时统一所有参与规划的传感器时间戳,避免因延迟导致的错位。”

🔎 可能追问:如果规划周期波动(如50ms→100ms),如何调整时间一致性?样条曲线的首末端点条件如何保证C²连续?

⚠️ 避坑提醒:不要只提“加时间戳”,要具体说明如何做软约束(如末端代价)或硬约束(如固定起点状态)。时间离散精度(如样条节点间距)也会影响一致性。

知识结构速览

核心概念 关键公式/性质 面试常考细节
Frenet坐标系s = ∫√(x'²+y'²) dt, l = (P - R)·n曲率分母、多参考线
凸优化/QPmin ½xᵀHx + fᵀx, Ax≤bH半正定、线性化约束
样条曲线B样条、三次样条、C²连续节点间距影响、端点条件
时间一致性软约束: w·‖x(t)-x̂(t)‖²规划周期波动、延迟补偿

💡 加分技巧:在回答样条曲线相关问题时,主动提及“使用四次/五次多项式保证加加速度连续”或“B样条的局部支撑性可提高计算效率”,能体现工程深度。