自动驾驶决策规划十年:从规则到端到端的技术演进

发布时间:2026/10/21 4:00:07
自动驾驶决策规划十年:从规则到端到端的技术演进
2015年前后聊自动驾驶大家开口闭口都是传感器、感知、深度学习识别。决策规划在多数项目里是“后期再说”的事甚至不少团队直接写成一大坨if-else。十年过去2025年的技术讨论完全换了一批词端到端、占用网络、世界模型、VLA……这些概念全部压到决策规划这条主线上。决策规划从“附加题”变成了“决胜题”这是我看这十年最明显的变化。这篇文章不打算写成编年体史书我更想用做工程的视角把2015到2025年决策规划的三轮技术浪潮、每个浪潮里的关键设计、实车落地时真正头疼的问题以及那些不写进论文里的调参经验讲清楚。无论你是刚进这个领域的学生还是正在做规控模块的工程师甚至只是好奇自动驾驶为什么“有时候聪明有时候蠢”的旁观者读完应该能对决策规划有一个完整、立体的认识。1. 一个决策规划工程师眼中这十年的主线是什么1.1 决策规划到底管哪些事先把位置摆清楚。一套典型的自动驾驶系统可以简化成四段感知、预测、决策规划、控制。感知负责回答“现在周围有什么”预测负责猜“这些东西接下来会怎么动”决策规划回答两个问题——“我现在应该做什么”和“我具体怎么开过去”控制再把规划出来的轨迹变成方向盘和油门刹车的动作。决策规划内部又分两层意思。决策层通常指行为选择跟车、变道、超车、让行、靠边停车、通过路口这些是“做什么”。规划层则是几何层面的轨迹生成给出未来几秒内车辆位置、速度、加速度随时间变化的序列是“怎么做”。很多做控制的同行会觉得规划输出一条曲线就行但真实的难点恰恰在“什么时候做什么选择”上一个判断失误后面轨迹算得再平滑也没有意义。这十年的时间线本质上就是“决策层怎么从人工规则走向学习型方法”和“规划层怎么从几何搜索走向数据驱动”这两条线交叠推进的过程。整体来看会出现三个清晰的技术代际规则主导、学习型方法渗透、端到端与大模型重塑。1.2 三张面孔规则、学习与端到端用一张表可以看清楚这十年的技术切换逻辑时间区间决策方式规划方式核心瓶颈2015–2018有限状态机为主行为由规则显式枚举采样搜索优化平滑DPQP规则爆炸、交互不足2018–2022规则底座学习型预测/决策增强优化数据驱动预测耦合训练数据质量、安全验证2022–2025端到端模型/大模型主导行为生成直接输出轨迹或联合优化可解释性、评测体系、长尾三张面孔并不是严格替代关系。实际量产系统里一直到今天仍有大量规则逻辑在跑端到端模型商用化也在快速推进。做工程的人必须接受“技术栈是分层混搭”这个现实而不是整天争论谁取代谁。2. 2015–2018状态机、Frenet坐标系和“写规则”的黄金年代2.1 状态机决策把驾驶拆成有限个“状态”2015年之前无人车决策的主流做法是有限状态机FSM。驾驶行为被拆成一组离散状态车道保持、前车跟随、变道准备、变道执行、路口直行、路口左转、紧急停车……每个状态有明确的进入条件和退出条件。比如从前车跟随进入变道准备可能要同时满足“当前车道前方车速低于阈值”“目标车道后方车辆距离大于阈值”“变道后预期收益为正”这几条。这种做法最大的优点是逻辑透明出了问题可以一行一行查条件安全评审容易讲故事。说实话直到今天我依然觉得在功能安全层面规则逻辑的“可审计性”是学习型方法很难替代的。但它的问题也非常明显。真实的交通场景是连续、博弈、多变的状态机需要把所有情况枚举清楚。有一次实车测试一个路口有行人、电动车、逆行三轮车同时出现状态迁移条件瞬间排列组合代码里嵌套了十几层判断肉眼已经没法验证逻辑是否完备。这还只是单一场景全城道路跑下来规则的数量会指数膨胀。圈内当时有个说法叫“规则爆炸”就是描述这种状态每解决一个corner case就要添一批新规则而新规则又可能与旧规则冲突。2.2 路径与速度的分离DPQP成了事实标准规划侧那个年代的行业共识是把问题拆成“路径规划”和“速度规划”两个子问题分别求解。坐标选择上几乎都用Frenet坐标系沿道路中心线的方向叫纵向s偏离中心线的距离叫横向l。好处是道路的几何约束变得非常简单——横向偏移不能太大、纵向可以随意加减速这对后续优化特别友好。算法实现上业界最流行的组合是“DP动态规划粗选QP二次规划平滑”。DP的作用不是找到最优轨迹而是把轨迹空间离散采样快速排除掉碰撞和明显不合理的分支得到一个可行解作为初值。QP则在这个初值附近做平滑优化让轨迹满足曲率约束、横向加速度约束、冲击度约束。我在不少资料里见过一句话DP负责“像不像话”QP负责“顺不顺滑”这个说法很贴切。举个简化的代价函数例子DP每一步会计算一组代价# 伪代码路径采样的代价评估 cost w_ref * lateral_offset w_collision * collision_risk w_curvature * curvature_penalty w_jerk * jerk_penalty这里的权重系数就是工程师的“命根子”。权重调得偏安全车会变得非常保守频繁让行调得偏效率又会出现贴着旁车强行变道的情况。当年我们做参数标定时经常为一个弯道的变道时机调两周数据因为w_collision和w_ref这两项在不同的道路宽度下表现完全不同。2.3 那个年代实车最怕什么规则时代实车最经典的三类问题现在很多老工程师聊起来还会苦笑。第一类是“状态反复横跳”。车在跟车和变道准备两个状态之间来回切换表现出来就是转向灯打了又灭、灭了又打方向轻微左右晃。根因是某个状态条件的边界值刚好落在感知噪声范围内前车速度在阈值附近抖动决策就跟着抖。第二类是“交互博弈能力为零”。如果旁车道后方车辆加速冲上来规则策略不会识别这种“不让”的信号依然按固定安全间距去变道结果就是吓到对方或被迫取消变道。真实驾驶里那种“眼神交流”“油门博弈”的隐性交互规则根本写不出来。第三类是“预测缺失”。当时的决策基本把前车当匀速运动甚至在弯道处也按当前速度外推。遇到前车突然减速避让障碍物自车无法预判只能等距离逼近后触发急刹。这其实是决策规划第一次意识到不做预测规划就没有远见。3. 2018–2022数据开始说话决策层不再纯粹3.1 模仿学习和强化学习从论文到实车的距离2018年前后深度学习向整个自动驾驶领域渗透决策规划自然也被盯上了。最有代表性的两条技术路线是模仿学习IL和强化学习RL。模仿学习的想法很直接把人类驾驶数据当作老师让模型学习“给定当前状态人会怎么开”。这里的行为克隆Behavior Cloning实现简单但有个根深蒂固的问题——分布偏移。训练数据里没有的样本模型只要稍稍遇到就会给出完全离谱的输出。好比学生只做过真题里的有限题目遇到题型组合一变就彻底懵了。研究人员后来用DAgger等交互式算法去补充专家数据来缓解但大规模实车数据的高成本让这种思路量产落地一直磕磕绊绊。强化学习则走了另一条路在仿真环境里不断试错通过奖励函数引导出好的行为策略。理论上是“不需要标注数据”但实际做起来更头疼——奖励函数的设置本身就是一门玄学。你希望车安全给碰撞加负奖励模型会学到用急刹保平安你希望车效率高给速度加正奖励模型又可能学会贴前车屁股超车。奖励里每个分量的权重比规则时代的参数更敏感、更难调。还有一个绕不开的问题是仿真与真实的gap仿真里练得再好的策略到实车上遇到传感器延迟、定位误差、地面摩擦差异表现会打折得厉害。我记得有个团队做过测试仿真中碰撞率已经降到极低实车跑同一场景因为轮胎模型误差导致的轨迹偏差碰撞风险一下回升了几倍。3.2 预测模块上位决策规划开始“看未来”这个阶段真正在量产体系中大规模落地、产生实际价值的变化其实是预测模块的崛起。2018年之前的预测多数是“匀速外推”做得好一点的是“车道模型意图识别”。2018年之后循环神经网络、注意力机制被大量用于轨迹预测模型可以输出目标车辆未来3到5秒的多条候选轨迹及其概率。预测结果从此成为决策规划的标准输入。这里有个关键设计变化决策从“基于当前状态”变成“基于未来概率分布”。举个例子前车右侧有一大片空地预测模块给出两个分支前车22%概率直行、78%概率向右靠边停。决策层如果能接收这种带不确定性的预测就可以提前降低车速、留出横向空间而不是站在原地等前车真动起来再反应。后来很多团队把决策问题建模成“部分可观察马尔可夫决策过程POMDP”用概率方法统一处理感知、预测和决策的不确定性就是顺着这条思路走的。但预测也给决策规划带来了新的麻烦预测分支多了决策可能“想太多”。如果自车把每条预测分支都当作必须避让的障碍行为会变得极其保守典型表现是“在路上显得很犹豫”。我们的经验做法是给不同分支加概率阈值只有超过一定置信度的分支才会参与决策剩下的只做被动监控。这个阈值就是安全与效率的火线调到什么程度需要结合城市路况跑很多趟数据才能下结论。3.3 混合架构规则底座学习增强的工程折中站在量产落地的视角2018到2022这四年真正的赢家并不是“纯端到端学习”而是“混合架构”底层规则兜底上层用学习模型增强的经典范式。以变道决策为例最终量产方案里通常会保留一个规则驱动的安全条件判断模块目标车道后方到达时间、自车与目标车道前车的空间余量、变道后的行驶收益这些必须全部满足才算“可以变道”。至于“什么时候主动发起变道”这种带有策略性的决策则借助从人类驾驶数据中学到的变道意图模型来触发再用规则过滤兜底。这种做法的好处是明显的学习模型负责提供“更接近人类”的行为触发点规则模块负责把不安全行为拦住。坏处也真实存在如果你给学习模型的自由度太小它和纯规则几乎没有区别自由度给太大规则兜底就形同虚设。这里面的平衡控制权始终在工程师手里。我个人的观点是这个阶段最大的工程价值不在于某一种算法有多惊艳而在于让整个行业形成了一套“学习型方法如何安全地嵌入安全关键系统”的方法论离线训练、场景库验证、影子模式、实车小流量测试、逐步放量。这套流程后来被端到端时代完整继承下来。4. 2022–2025端到端、BEV与大模型重塑决策范式4.1 BEV和Occupancy改变了决策规划的“输入面”2022年前后BEV鸟瞰图Transformer的感知架构开始在量产系统中全面铺开。这个变化对决策规划的影响被很多人低估了。以前决策规划的输入是“感知模块输出的障碍物列表”每个障碍物一条记录有类型、位置、速度、朝向、尺寸。对于标准车辆、行人这个表达还可以但遇到洒水车、载满货物的三轮车、施工铁板、碎石堆障碍物列表的表达能力就捉襟见肘了。很多误判和漏判本质上是“感知信息在抽象过程中丢失了细节”。占用网络Occupancy Network解决的就是这个问题。它把车辆周围空间划分成密集的栅格直接输出每个格子是否被占用的概率不再依赖物体检测。决策规划可以直接在矢量化的占用图上做可通行空间判断一些从未见过的异形障碍物也能避开。更关键的变化是2022年之后决策规划的输入从“结构化目标列表”变成了“稠密栅格目标列表的混合表征”。决策算法本身并没有立刻革命但“看到的信息变多了、变全了”这为后续端到端模型直接吃传感器特征做规划铺平了路。4.2 端到端是理想还是噱头设计与争议端到端自动驾驶在这段时间被推上风口浪尖核心思想不再区分感知、预测、规划、控制这些独立模块而是一个大的神经网络模型输入多路传感器数据直接输出车辆控制指令或轨迹。从决策规划的角度看端到端最大的吸引力在于打破了“信息瓶颈”。模块化系统里感知模块按照人定义的语义做抽象很多对驾驶有用的细节比如前车轮胎的微小偏转、路面上的异常反射在抽象过程中被丢弃了。端到端模型直接利用原始数据理论上可以保留更多信息并且全链路一起优化。但这里必须泼几盆冷水。第一端到端模型输出的轨迹是不可直接解释的。传统规划可以明确说“因为前车速度低所以自车选择变道”端到端模型做不到这点。安全评审时监管方要一个“为什么”黑盒模型很难回答。第二训练端到端模型需要海量的高质量数据和强大的算力只有少数公司有资源真正推进。小团队跟风端到端大多只是用开源模型跑个Demo离量产有很大距离。第三端到端的边界案例处理并不天然更强。模型见过的场景再多也不等于能应对所有长尾情况。行业里目前比较普遍的做法是用端到端模型做面向舒适性和拟人化程度的“主大脑”同时保留一套独立构建的规则安全层做“安全兜底”。本质上还是混合架构只是把“学习增强”的权重从30%提到了80%甚至更高。4.3 VLA与世界模型决策规划的新边界2023年下半年开始大语言模型的技术范式涌入自动驾驶出现了VLA视觉-语言-动作这一新方向。VLA的思路是用预训练的多模态大模型作为底座让模型同时理解图像、语言和动作。它不仅能开车还能“听懂人话”——比如乘客说“前方路口右转后尽量靠边停”模型可以直接把这个指令转化为行为约束。结合决策规划的实际体验来看VLA带来的想象力更多在“常识推理”上。传统规则系统是“定义所有规则”VLA则可以通过大模型的语义理解能力泛化出一些没有显式定义过的合理行为。比如遇到前方临时交通管制规则系统可能完全懵住VLA却可以根据“管制”“施工”“改道”这些词与其视觉特征结合通用世界的知识给出“绕行”的合理判断。世界模型则是另一条全新的技术路线。它不只是做感知或者预测而是试图学习整个环境演化的动力学规律——相当于在模型内部建立一个“交通世界模拟器”。规划时模型可以推演多种行为选择的未来结果然后选择“最可能安全高效”的一条。世界模型未来最让人期待的价值是在仿真阶段以极低的成本生成海量接近真实世界的结果补齐自动驾驶最缺的“经验广度”。说实话这两条技术路线目前都还没有形成稳定的量产方案但它们已经在强烈地改变着行业对决策规划上限的理解。接下来的路线大概率是端到端行为模型、VLA常识推理、世界模型模拟验证、规则安全兜底这几层以某种方式叠起来。4.4 无图化与开城决策规划承受的工程压力2023年之后行业掀起无高精地图化浪潮“开城”成了量产能力的关键指标。无图对感知和定位提出了更高要求对决策规划则是另一重考验。高精地图时代决策规划可以提前几百米知道车道数、路口形态、限速变化、导流线位置。无图以后很多前端信息只能靠感知实时识别。路口的车道线可在几十米内确认决策的“预判时间”被大幅压缩。这意味着规划算法必须在更短的时域内做出合理决策对实时性、鲁棒性的要求都上了一个台阶。我当时调研几个开城项目的路测数据印象最深的问题集中在两类一类是复杂路口的行驶路径选择尤其是没有清晰车道线的非结构化路口决策规划很容易把车“绕晕”另一类是城市施工场景地面标线被反复覆盖决策规划在这种情况下必须及时放弃对车道线的依赖转为基于可通行空间做自由行驶。自由行驶的轨迹规划本质上又回到了搜索、采样、优化这些老工具但这次要处理的约束比十年前多了很多。5. 十年不变的核心指标与实车调参实录5.1 安全、舒适、效率的“不可能三角”不管技术怎么演进决策规划最终都要拿三个指标的平衡说话安全、舒适、效率。这也是我理解所有决策规划行为的“元框架”。安全方面行业里常用TTC碰撞时间、THW车头时距等指标做量化。比如前车急刹时自车的TTC低于某阈值就要触发AEB或紧急避让这是底线。舒适方面最典型的是加速度和冲击度Jerk。主流经验值里acceleration限制在±2~3m/s²jerk限制在2~3 m/s³以内乘客感受会比较“不晕车”。效率方面则看平均车速、通行时间、绕行率。关键问题在于这三者天然拉扯。跟车间距拉到最安全效率立刻下降加速度压得太柔和紧急情况下反应又不够快。我在实车调参时常说的一句话是不要试图做到某个单项最优而是要找这个路况下“人能接受”的组合。比如城市早晚高峰拥堵路况如果完全按安全优先设定车距拉得太大会被连续加塞结果反而更危险、更慢、体验更差。这种情况下聪明的策略是保持相对近的跟车距离、柔和但果断的起步用“不让出空间”的方式参与博弈整体效率和安全反而都更好。5.2 横纵向规划配合最容易被忽略的坑决策规划实车上最容易翻车的点不是单项指标没过关而是横向规划和纵向规划“各管各”之后失去了配合。一个经典的例子是弯道限速。有些系统在做速度规划时只考虑前方障碍物不考虑路径规划的曲率结果车辆进入大曲率弯道时才开始减速乘客被甩得东倒西歪。这也是“曲率-速度耦合”问题的来源。工程上比较稳妥的做法是在速度规划阶段就把路径曲率作为硬约束提前减速到安全过弯速度而不是等到了弯里再救。另一个例子是变道过程中的纵向波动。路径规划给出了一条平滑的变道曲线但速度规划在变道过程中因为前车距离变化而频繁加减速车就会“点头”。这表明决策规划在行为切换时没有给纵向速度设置平滑过渡带。后来我们的经验是每次行为切换变道、让行、汇入都强制生成一段固定时间的速度过渡曲线避免速度跳变。调参阶段我用过一个很土但有效的办法把路径和速度曲线叠加画在同一个时间轴上肉眼检查曲率突变点和速度突变点是否重合。实际上很多舒适性问题用这个“土办法”就能提前发现。5.3 仿真闭环与长尾场景的挖掘方法2020年之后决策规划的研发重心明显向“仿真闭环场景库”倾斜。原因很简单实车路测的成本太高靠实车跑出足够多的长尾场景账根本算不过来。行业内比较成熟的做法是两层仿真。第一层是“虚拟仿真”在完全合成的环境里构建各种极端场景比如前车紧急切出、行人鬼探头、夜间逆光、雨雾天气用来做策略压力测试。第二层是“数据回放”把真实路采数据导入仿真系统把自车替换成待测算法让自车与场景里的其他目标重新交互。效果最好的当属“交互式回放”即背景车辆不完全按历史轨迹运动而是对自车行为做出合理反应这样才能真正测出决策策略的水平。长尾场景挖掘通常靠聚类。把路测中所有触发安全功能或明显不适的事件收集起来通过嵌入向量做聚类找出高频高危的场景模式再把这些模式变成仿真场景回归测试。这三步的循环——路测、聚类、仿真回归——是最近几年决策规划质量提升最有效的方法论。我从实际经验中的体会是这个循环比单纯堆模型参数重要得多。另外提供一个常见问题速查表这些是我在多个项目里反复见到的坑现象常见原因排查方向决策反复横跳状态条件边界与感知噪声重叠给状态迁移加迟滞区间变道时机偏晚预测分支置信度阈值过高检查预测输出的确定性校准急刹频繁速度规划未预读前车预测轨迹把预测输出提前进入速度优化弯道舒适性差曲率与速度耦合缺失速度规划加入曲率预瞄约束仿真测试稳定但实车抖动控制延迟与规划周期不匹配加入延迟补偿或降低规划频率敏感度6. 争议、纠偏与下一个十年6.1 端到端的可解释性不是非黑即白端到端模型可解释性问题在业内吵了很多年但现在大家慢慢达成一种务实共识不需要模型把所有行为都解释清楚而是需要一套能覆盖关键安全行为的可解释机制。做法上各显神通。有的团队在端到端模型里加一个“辅助监督头”输出可解释的中间语义车道线、红绿灯、障碍物虽然这些中间结果不参与主决策梯度但能让工程师在诊断时知道模型“看到了什么”。有的团队对模型输出的轨迹做敏感度分析看哪部分输入变化导致轨迹突变以此追踪模型“关注什么”。这类“半解释性”方案在实际研发和运维中已经够用了。我的判断是完全黑盒的端到端很难在安全关键领域单独扛大旗完全规则的可解释系统又跟不上新场景的泛化需求。最可能的终局是端到端模型负责生成大部分行为规则或经过安全认证的独立模型对关键行为做约束与裁剪两边各有纵深形成“可解释的安全边界不可解释的智能体验”的双层结构。6.2 评测与认证体系决策规划需要“考试”决策规划技术演进得很快评测认证体系却严重滞后。传统汽车有碰撞测试、耐久测试这些标准但智能驾驶的“考试”还远没有定型。没有权威评测就很难客观比较不同技术路线之间的安全性也更难界定责任归属。这几年行业在推动几类测评方法基于场景的准入测试把最有代表性的高危交通场景做成标准考卷、大规模路测统计跑多少公里、触发多少次接管、以及“负面事件”的归因分析出问题到底在感知、预测还是决策。这些方向都是对的但距离形成统一的行业标准还需要时间。对从业者来说平时就应当养成“所有决策和规划行为都可回溯、可重放、可评估”的开发习惯否则将来面对第三方评测时会非常被动。6.3 给同行和入行者的几点建议看了十年决策规划的技术变迁如果要给后来的同行一些实在话我会说四件事。第一打好几何、优化和状态估计的底子。即便端到端模型盛行规划输出仍然要满足几何可行性和动力学约束这些底层能力不会消失只会换形式出现。第二重视数据意识。十年前调参数靠经验现在调模型靠数据但很多人对数据的理解还停留在“越多越好”。真正有价值的是“数据分布能覆盖哪些场景、不能覆盖哪些场景”这个认知。了解数据集的上限比了解模型的精度更重要。第三别被技术热点左右自己的工程判断。每过两年就有新概念火爆但自动驾驶的本质问题始终是“在不确定的世界里做安全高效的决策”。世界模型也好、VLA也好最终要回答的还是这个问题。能回到本质看技术的人不容易被忽悠。第四花时间坐实车。再好的仿真体系也不能替代实车体验。工程师如果只盯日志和曲线很容易把车调得“指标完美、坐着难受”。坐到副驾去感受每一次起步、刹车、变道很多调参灵感都是在实车试乘时冒出来的。我个人在实际操作中最大的体会是决策规划这十年算法工具换了一茬又一茬但最难的从来不是某个算法本身而是如何在不完美的感知、不准确的预测、不确定的交通参与者之间持续输出“安全且有礼貌”的行为。“有礼貌”这件事2015年我们用规则写得磕磕绊绊2025年我们用大模型做得越来越像人但背后的工程方法论——测试、回归、兜底、放量——一直没有变。想清楚这一点再看任何新技术都不会慌张因为你始终知道自己在解决什么问题。