第3章 自动驾驶规划技术基础:规划算法分类、常用方法、面试高频知识点
章节导读:规划技术是自动驾驶系统的决策核心,面试中常围绕算法分类、适用场景、轨迹评价展开。本章梳理规划算法三大分支,总结常用方法(A*、RRT、EM Planner、Lattice Planner等),并提炼高频面试问答与项目实战模板。
知识结构:规划算法分类与常用方法对比
| 分类 | 典型算法 | 核心特点 | 面试高频关注点 |
|---|---|---|---|
| 全局路径规划 | A*、Dijkstra、RRT* | 静态地图上搜索路径,实时性要求低 | 启发式设计、最优性证明、复杂度 |
| 局部路径规划 | DWA、TEB、MPC | 动态障碍物避让,实时性高 | 代价函数设计、实时性优化 |
| 行为规划 | 有限状态机、强化学习 | 决策车道、超车、让行等宏观行为 | 状态机设计、安全与效率权衡 |
| 运动规划 | Lattice Planner、EM Planner | 生成平滑可执行轨迹 | 采样/优化方法、约束处理 |
| 轨迹优化 | QP、iLQR、梯度优化 | 优化轨迹平滑性、舒适性 | 目标函数、软硬约束、实时性 |
面试问答卡片
Q1:请介绍自动驾驶规划算法的主要分类及各自作用。
面试官考察点:对规划体系的理解层次、术语准确性、能否清晰区分不同层级。
回答框架:先总述三大分支(路径、行为、运动),再分别说明输入/输出/目标,最后提及其他细分(如轨迹优化)。
简短示例回答:规划分为路径规划(全局/局部)、行为规划(决策车道、超车)、运动规划(生成轨迹)。路径规划输出参考路径,行为规划输出驾驶指令,运动规划输出时间-空间轨迹。三者通过接口串联,形成完整的规划决策链。
可能追问:行为规划与运动规划的边界在哪里?全局与局部路径规划如何协同?
避坑提醒:避免只罗列算法名称而不解释层级关系;注意区分“路径”和“轨迹”。
Q2:对比A*和RRT*在规划中的优缺点及适用场景。
面试官考察点:算法原理理解深度、在工程中选型的能力、能否说出典型场景。
回答框架:先分述A*(确定性、最优性、栅格依赖)和RRT*(随机采样、渐近最优、高维优势),再对比实时性、路径质量、维数适应性,最后给出选择建议。
简短示例回答:A*在栅格地图上能保证最优解,但高维或非结构化环境效率低;RRT*通过随机采样适合高维空间,但路径不平滑且最优收敛慢。实际中常结合:结构化道路用A*,复杂越野用RRT*。
可能追问:如何改进RRT*的路径平滑性?A*在动态场景中如何自适应?
避坑提醒:不要简单说“A*快RRT*慢”,要说明维度、地图表示的影响;避免忽略渐近最优性。
Q3:如何评价一条规划轨迹的好坏?常用指标有哪些?
面试官考察点:评价体系思维、对安全/舒适/效率权衡的理解、能否量化。
回答框架:先分安全、舒适、效率、可行性四大维度,再列出具体指标(碰撞概率、纵向加速度、曲率、车道偏离、执行代价),最后说明多目标权衡方法(加权和/帕累托)。
简短示例回答:评价轨迹从安全性(最近障碍物距离、碰撞风险)、舒适性(加加速度、横向加速度)、效率(行驶时间、路径长度)、可行性(曲率不超过车辆最小转弯半径、速度限幅)四个维度打分,常用加权组合得到总成本。
可能追问:如何设计成本函数中的权重?动态场景下指标如何自适应?
避坑提醒:不要只提“平滑”或“安全”,要具体指标;注意区分轨迹评价与路径评价。
项目案例模板:城区无保护左转场景规划系统
| 项目要素 | 内容 |
|---|---|
| 项目名称 | 城区无保护左转场景规划系统 |
| 业务背景 | 解决自动驾驶在无信号灯十字路口左转时与对向直行车流交互的决策规划难题 |
| 规模指标 | 覆盖200+路口;平均左转完成时间<5s;安全接管率<0.1% |
| 技术栈 | ROS2、C++、EM Planner、MPC、决策树、仿真器(CARLA) |
| 核心难点 | 对向车辆意图不确定、时间窗口狭窄;行为与运动规划的耦合优化 |
| 面试高频追问 | ①如何设计左转时机决策逻辑?②MPC如何协调避障与通行效率?③如何处理行人/非机动车干扰? |
| 可迁移回答话术 | “我们采用双层架构:行为层基于规则+蒙特卡洛模拟评估风险,生成可穿越时间窗;运动层用MPC同时优化轨迹与速度,将冲突假设为软约束加入优化目标,实现在5Hz频率下安全左转。” |
面试加分点:在项目描述中强调“仿真验证→实车部署”的闭环、与感知/预测模块的接口设计、以及针对长尾场景的数据回灌机制。