自动驾驶规划系统核心算法与理论基础
本章聚焦于规划系统的四大核心模块:决策规划(行为决策)、路径规划(全局与局部)、速度规划(纵向控制)和轨迹优化(时空联合)。面试时,面试官常从算法选型、数学建模、工程落地三个层面考察理解深度。以下框架图总结了回答这类问题的最佳路径。
🎯 面试问答卡 1:决策规划面试题
面试问题:请介绍自动驾驶决策规划模块的主要任务,并对比基于规则与基于学习两种方法的优缺点。
面试官考察点:对决策层次的理解(战略/行为/运动);是否了解FSM、POMDP、端到端等主流方案;能否分析工程落地难点。
回答框架:定义输入(感知+定位+地图)→ 输出(行为指令,如换道、跟车)→ 规则法:有限状态机(FSM)可解释强,但状态爆炸;学习法:DRL/POMDP泛化好,但可解释差、仿真-实车差距大 → 主流方案:规则+轻量学习混合。
简短示例回答:“决策规划输出车辆行为指令。规则法用FSM管理典型场景,如巡航、变道,但城市路况状态组合过多。学习法如DRL能处理连续动作,但训练成本高、难调试。工业界常用分层架构:上层FSM做宏观决策,下层用MPC或RL优化具体行为。”
可能追问:“如何设计状态机避免冲突?” “你提到的POMDP在实际中如何处理不确定性?”
🎯 面试问答卡 2:路径规划面试题
面试问题:请比较A*算法与RRT*在无人车路径规划中的适用场景,并说明如何保证路径平滑。
面试官考察点:是否理解图搜索与采样法的本质区别;对路径平滑、实时性、环境变化适应性的工程意识。
回答框架:A*适合结构化道路(栅格地图),能保证最优性,但计算复杂度随分辨率指数增长;RRT*适合非结构化场景(停车场),概率完备但不一定最优 → 工业中常用Hybrid A*(结合Reeds-Shepp曲线)实现车辆运动学约束 → 平滑通过B样条或Convex Optimization(OSQP)完成。
简短示例回答:“结构化道路我用A*,但需用B样条曲线平滑拐点;非结构化场景用RRT*,再通过Bézier曲线做后处理。实测中混合A*效果更稳定,结合换道决策可以实时生成无碰撞路径。”
可能追问:“如果障碍物动态移动,你的路径规划如何更新?” “如何权衡路径长度和安全性?”
🎯 面试问答卡 3:速度规划与轨迹优化面试题
面试问题:速度规划如何与路径规划解耦?请解释ST图与SL图中的速度可行域(Velocity Obstacle)概念。
面试官考察点:对时空分离法的理解;ST图/速度曲线构造方法;轨迹优化中的代价函数设计(舒适性、效率、安全)。
回答框架:路径规划输出参考线(SL坐标系)→ 速度规划在ST图上动态障碍物,生成速度曲线(梯形或S形)→ 再用QP优化得到平滑的时间序列→最后在时空维度做轨迹优化(如Apollo的离散点优化)→ 常用工具:OSQP、G2O、Ceres。
简短示例回答:“我在Apollo框架下,先用路径规划生成SL中的一条参考线;然后在ST图中将动态障碍物投影为区域,用DP+QP生成速度曲线。最后通过Lattice采样在时空窗口内求解最优轨迹,代价函数包含加速度、jerk和碰撞惩罚。”
可能追问:“如果速度曲线与路径耦合导致优化不可行,如何处理?” “你用的QP约束具体有哪些?”
轨迹 = 路径曲线 + 速度曲线,优化目标常用 min ∑(w1·curvature² + w2·acceleration² + w3·collision_penalty)。