第4章 决策规划:Frenet坐标系、Lattice planner、MPC、速度规划

本章聚焦自动驾驶决策规划领域的高频面试题。你需要掌握Frenet坐标系与笛卡尔坐标系的转换、Lattice planner的轨迹生成与评估、MPC(模型预测控制)的优化求解以及速度规划中的舒适性与安全性权衡。面试中要求既能推导公式又能结合项目说明工程落地细节。

决策规划面试回答框架 理解问题 输入/输出/约束 选择算法 Lattice/MPC等 推导流程 公式/步骤/代价 分析优劣 实时性/最优性 项目验证 仿真/实车/指标

面试问答卡片

问题1:请解释Frenet坐标系与笛卡尔坐标系的转换,并说明在轨迹规划中的优势。

面试官考察点: 是否理解Frenet坐标系解耦横向与纵向运动的核心思想,能否写出基本的转换公式,以及为什么有利于避障和速度规划。

回答框架: ① 给出Frenet坐标系定义(s,l)与笛卡尔坐标系(x,y)的关系;② 列出转换公式(如 x = x_ref - l·sin(θ_ref));③ 强调解耦优势:横向控制不依赖路径曲率,纵向可独立规划速度。

简短示例回答: “Frenet坐标系以参考线为基准,s为沿参考线的弧长,l为横向偏移。转换时利用参考线上最近点的坐标与切线方向。优势在于横向纵向解耦,方便分别设计避障和速度曲线,例如Lattice planner直接在Frenet空间采样轨迹。”

    可能追问:
  • 如何处理参考线曲率不连续的情况?
  • 笛卡尔下的加速度约束如何在Frenet下表达?
  • l坐标的正负如何定义?
⚠️ 避坑提醒:不要只背公式,要说明工程中如何处理极曲线率突变(如曲率跳变导致l坐标突变),最好结合项目中的道路边界约束。

问题2:Lattice planner如何生成和评估候选轨迹?请结合代价函数说明。

面试官考察点: 是否熟悉Lattice planner的采样策略、轨迹拟合方法、以及多目标优化中的代价权衡(安全性、舒适性、效率)。

回答框架: ① 采样:在s-t图和l-s图上分别采样终点状态(速度、横向偏移);② 拟合:使用五次多项式或三次样条生成平滑轨迹;③ 评估:加权计算安全性(碰撞距离)、舒适性(加速度 jerk)、效率(参考速度偏差)等代价,选择最优。

简短示例回答: “我们按时间或距离在s-t空间均匀采样目标速度和加速度,在l-s空间采样横向偏移和横摆角,用五次多项式连接起点终点。代价函数包含碰撞代价(最近障碍物距离的指数函数)、加速度代价(均方根)、速度偏差代价,权重通过仿真调参。”

    可能追问:
  • 五次多项式为什么能满足位置、速度、加速度连续?
  • 如何处理多帧轨迹的抖动问题?
  • 如果所有采样轨迹都碰撞怎么办?
⚠️ 避坑提醒:不要只讲理论采样,要提到工程中的剪枝策略(如剔除超出jerk限制的轨迹)和回溯机制(降低期望速度重新采样)。

问题3:MPC在轨迹跟踪中如何建模?与Lattice planner相比主要区别是什么?

面试官考察点: 是否理解MPC的在线优化本质,能否说出状态方程、约束条件、目标函数,以及MPC与基于采样规划的区别。

回答框架: ① 建立车辆运动学模型(如自行车模型),离散化为状态空间;② 设计目标函数(跟踪偏差、控制量惩罚)和约束(加速度、转向角、障碍物距离转化为线性/非线性约束);③ 调用QP或NLP求解器得到最优控制序列;④ 对比:MPC滚动优化更适应动态环境,但计算量大;Lattice离线生成轨迹,实时性更好。

简短示例回答: “MPC基于车辆运动学模型,预测未来N步状态,最小化跟踪误差和控制量,同时满足运动学约束和避障约束。与Lattice planner相比,MPC能处理时变约束且可考虑多步优化,但每周期需求解QP,对算力要求高;Lattice planner通过预先采样+代价排序,更适合结构化道路。”

    可能追问:
  • 如何处理MPC中的非线性约束?
  • MPC的预测时域和控制时域如何选取?
  • MPC对模型误差的鲁棒性如何提升?
⚠️ 避坑提醒:不要忽略计算实时性讨论。建议补充实际中常用的轻量化技巧,如减少预测时域、使用OSQP求解器、或采用NMPC的加速方法(如ACADO)。

项目案例:基于Lattice planner的城区轨迹规划系统测试

STAR项目表达模板 情境(S) 城区复杂路况 任务(T) 安全高效通过路口 行动(A) Lattice采样+MPC跟踪 结果(R) 通过率95% 舒适性+20% 双向四车道 动态障碍物 五次多项式拟合 碰撞率降低60%
项目名称业务背景规模指标技术栈核心难点面试高频追问可迁移回答话术
城区路口Lattice规划测试 L4级城区自动驾驶,需在双向四车道无保护路口高效安全通过 测试里程5000km,路口500+,最大速度40km/h C++、ROS、Lattice planner、MPC、OSQP、Apollo 动态障碍物预测不确定+路口拓扑复杂,采样轨迹易碰撞;MPC实时性不足
  • 如何设计采样范围(s-t和l-s)避免无效轨迹?
  • 代价函数中碰撞惩罚权重如何标定?
  • MPC求解耗时超标时如何降级?
“针对路口场景,我们采用分段采样策略:在匝道内使用低速度采样,路口中心区域增加横向偏移采样密度;代价权重通过多场景网格搜索标定;MPC求解超时时切换为前馈控制+简单PID,保证安全底线。”