1. 课程导入

自动驾驶系统从“能开”走向“开得稳、开得舒适、开得可验证”,路径规划模块承担着承上启下的关键角色:向上承接感知与预测给出的环境认知,向下输出可供控制模块稳定跟踪的轨迹。很多团队在算法原型阶段能跑通演示,却在量产落地时被“抖动、顿挫、绕障犹豫、极端场景失效、回归不可控”等问题反复拖慢节奏。本课程聚焦的正是这条从“算法可用”到“工程可信”的路径——路径规划调优与验证工程。

一、学习目标:从会写到会调、会验

本课程不满足于讲清某一种规划算法的公式推导,而是围绕工程闭环建立四项能力:

  • 调优能力:理解代价函数、约束、采样密度、平滑权重等参数如何影响轨迹形态与乘坐体验,能定位“为什么这条轨迹不好”。
  • 验证能力:掌握仿真回放、场景库、指标度量、回归对比等方法,把“感觉还行”变成“数据可证”。
  • 诊断能力:面对绕障失败、轨迹抖动、规划超时等典型故障,能沿数据流逐级排查,而不是盲目改参数。
  • 工程化能力:理解规划模块在车载计算平台上的资源约束、接口契约与版本管理,让调优结果可复现、可交付。
学习主线可以概括为一句话:先建立整体框架,再逐层深入参数、场景与验证,最终形成可复用的调优方法论。

二、核心概念:规划调优的四个关键词

在进入具体技术之前,需要先统一几个贯穿全课程的核心概念。

1. 轨迹与路径。路径通常指不含时间信息的几何曲线,轨迹则是在路径上叠加速度、加速度与时间戳的完整运动描述。控制模块真正跟踪的是轨迹,因此调优必须同时关注几何形状与时间维度。

2. 代价与约束。规划器在可行域内寻找代价最小的解。代价项决定“偏好什么”,约束决定“绝对不能做什么”。调优的本质,往往是在代价项之间重新分配权重,而不是简单地“调大调小”。

3. 场景与工况。同一套参数在城市直行、无保护左转、窄路会车、施工绕行中的表现可能截然不同。调优必须以场景为单位,而非以全局参数为单位。

4. 指标与回归。安全性、舒适性、通行效率、规划耗时是四类基础指标。没有指标基线的调优是盲调,没有回归对比的验证是无效验证。

三、整体框架:从感知输入到控制输出的规划链路

下图给出本课程贯穿始终的工程实践地图。它把规划调优与验证拆解为输入、规划、输出、验证四条主线,并标出各环节最常出现的调优对象与验证手段。

路径规划调优与验证工程实践地图 感知与预测输入 障碍物列表 / 车道线 预测轨迹 / 地图拓扑 定位与自车状态 规划核心:搜索 + 优化 + 平滑 行为决策 → 路径生成 → 速度规划 代价函数 / 约束 / 采样密度 / 平滑权重 实时性预算与求解器配置 轨迹输出 几何路径 + 速度曲线 曲率 / 加速度 / 时间戳 接口契约与频率 验证与调优闭环 场景库回放 · 仿真对比 · 指标度量 · 回归基线 · 故障复现 安全性 / 舒适性 / 通行效率 / 规划耗时 参数扫描 · 权重调优 · 版本对比 · 问题定位 反馈调优 典型场景工况 城市直行 · 无保护左转 · 窄路会车 · 施工绕行 · 匝道汇入 · 行人横穿 · 拥堵跟车 每个场景对应独立的参数敏感性与验证指标

这张地图说明:调优不是孤立地改参数,而是“输入—规划—输出—验证”四段联动的闭环。任何一次参数调整,都应当能在验证层找到对应的指标变化,否则就无法判断改动是否真正有效。

四、方法流程:一次完整的调优迭代

工程实践中,一次可复现的调优迭代通常遵循以下步骤:

  1. 问题定义:明确是舒适性问题、绕障失败还是规划超时,并锁定复现场景。
  2. 数据采集:导出该场景的感知输入、地图、自车状态与规划输出日志。
  3. 基线度量:计算当前参数下的安全性、舒适性、效率与耗时指标。
  4. 假设提出:判断问题来自代价权重、约束边界、采样密度还是求解器配置。
  5. 参数实验:小步调整并批量回放,观察指标变化趋势。
  6. 回归验证:在场景库上确认无新增退化,再进入实车或硬件在环验证。
建议每次只调整一类参数,并保留完整的参数快照与指标记录。多参数同时改动会让因果关系难以归因,是调优中最常见的效率陷阱。

五、案例场景:一次绕障犹豫的调优复盘

某项目在城市道路遇到静止车辆绕行时,规划轨迹出现明显“先减速、再犹豫、最后才绕出”的现象。初步排查发现:

  • 障碍物代价权重偏高,导致规划器过度保守;
  • 横向采样密度不足,绕行候选轨迹分辨率不够;
  • 速度规划中的减速度约束过紧,使绕行动作被推迟。

调整策略是:适度降低障碍物代价权重、提高横向采样密度、放宽绕行阶段的减速度上限,并在场景库中回归验证。调整后绕行决策提前约 0.8 秒,舒适性指标中的纵向加速度波动下降,且未在其他场景引入新的碰撞风险。

# 调优参数快照示例(YAML 片段)
planner:
  cost:
    obstacle_weight: 1.2      # 原值 2.0,降低保守倾向
    comfort_weight: 0.8
  sampling:
    lateral_density: 0.35     # 原值 0.20,提高横向分辨率
  speed:
    max_decel: -2.5           # 原值 -1.8,放宽绕行减速度
  solver:
    time_budget_ms: 50

六、常见误区与复盘要点

误区 表现 正确做法
只调参数不看场景 某场景改善,其他场景退化 以场景为单位建立参数敏感性与回归基线
用感觉代替指标 “好像顺了一点”无法复现 定义安全性、舒适性、效率、耗时四类量化指标
忽视实时性预算 算法更优但规划超时 把求解耗时纳入调优约束,设置时间预算上限
缺少版本管理 改动无法回溯,问题难以复现 参数、代码、场景、指标统一版本化记录
调优的目标不是让某一条轨迹“看起来漂亮”,而是在尽可能多的场景中稳定满足安全、舒适、效率与实时性约束。任何单场景的过拟合,都会在量产验证中暴露为新的长尾问题。

本课程后续将沿着这张实践地图逐层展开:先讲清规划算法的代价与约束建模,再深入参数调优的具体方法,随后进入场景库构建、指标度量与回归验证,最后结合典型故障案例完成从定位到修复的完整训练。掌握这条主线,你就能把路径规划从“能跑”推进到“可信”。