ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

十年智驾规划控制算法演进:从规则到端到端的核心变革

十年智驾规划控制算法演进:从规则到端到端的核心变革 从2015年入行做自动驾驶规划控制到现在整整十年。这十年里最直观的感受就是当年我们拿着状态机和采样搜索调了一整天的参数在封闭园区里小心翼翼跑通一个路口今天你打开一辆量产车的智驾系统它在城市复杂路况下做出的变道和绕行决策背后可能是一套端到端模型在几百毫秒内直接输出轨迹。说句实话2025年回头再看十年前的那套规划控制算法很多模块已经面目全非但也有一些底层思想依然坚挺。这篇内容我打算以亲历者和观察者的双重视角把智能驾驶规划控制算法从2015年到2025年这十年的演进脉络完整梳理一遍。不搞编年史式的流水账而是抓住几个关键转折点规则驱动到数据驱动、模块化到端到端、高精地图依赖到轻图无图、仿真测试到世界模型评测。适合正在做智驾相关研发的工程师、想转行进入这个领域的学生以及对智能驾驶技术路线感兴趣的产品和行业从业者阅读。我尽量把“为什么这么演进”背后的工程逻辑和商业压力也讲透而不是只堆技术名词。1. 十年四阶段规划控制算法的主线演进如果只记住一条主线那就是规划控制的核心目标从来没变过在动态环境中找一条安全、舒适、可执行的轨迹。但解决问题的方式经历了四个特征极其分明的阶段。每个阶段的切换背后都是工程瓶颈和商业需求的倒逼。1.1 2015–2017规则与搜索的草莽时代这个时期是智能驾驶从实验室走向公开道路的起步阶段。学术圈主流是状态格搜索、随机采样树和基于优化的轨迹生成工程圈则普遍采用有限状态机加轨迹采样的组合拳。我最早接触的量产预研项目决策模块就是一个大状态机里面挂了十几个子状态什么匀速跟车、减速避让、变道超车状态之间用一堆布尔条件做切换。规划模块则在Frenet坐标系下做横向和纵向的独立采样然后用五次多项式生成候选轨迹再通过代价函数打分选最优。这套方案在结构化道路和低速园区场景下能跑但问题极其明显状态机遇到没定义过的交互场景就傻眼采样生成轨迹缺乏全局优化能力参数调优基本靠人肉试错。业内当时流行一句话“规则写得好不好取决于你踩过多少坑”。每个团队手里都握着一份corner case列表但这个列表永远补不完。值得注意的是这三年里学术界已经开始奠定后面十年都绕不开的理论地基。比如在Frenet坐标系下做轨迹采样和最优轨迹生成的框架、基于优化的轨迹规划方法以及模型预测控制在路径跟踪中的系统性应用这些都是2016年前后进入主流视野的。工程团队还在手搓状态机但学术论文里已经能看到“用优化代替搜索”“用学习代替规则”的苗头了。1.2 2018–2020工程化红利与模块化巅峰转折点在2018年前后。以百度Apollo为代表的开放平台把EM planner推到了行业面前。我第一次在实车上调EM时最大的震撼在于它把“解耦”做到了极致。横向和纵向分离动态规划和二次规划分层先用粗粒度搜索找出一个可行走廊再用优化算法在其中求出平滑轨迹。这套方法彻底改变了大家对“规划”二字的理解——规划不是找一条轨迹而是在层层约束下做最优决策。同一时期Robotaxi在国内多地开跑测试里程和数据量暴涨预测模块开始大规模引入深度学习。LSTM、注意力机制这些东西本来是感知圈的热词但很快就被移植到轨迹预测上。规划控制算法工程师的日常工作也变了不再只是调代价函数的权重而是开始分析预测输出的概率分布设计基于预测结果的行为决策逻辑。另一个重要变化是冗余和安全的工程体系开始成型。规划控制作为安全攸关模块单独加了一套安全兜底机制比如紧急制动、最小风险状态、运行设计域监控。汽车行业的功能安全标准和预期功能安全讨论也在这一时期大规模进入智驾团队规划控制算法不再只是“算法”而是安全工程的一部分。这个阶段业内普遍接受了“模块化是唯一正解”的共识直到端到端概念兴起之前这套框架统治了行业五年左右。1.3 2021–2023量产压力下的混合路线智能驾驶真正走进千家万户靠的是2021年之后的高速导航辅助驾驶和城市导航辅助驾驶量产。但量产和演示是完全两回事。L4级Robotaxi可以接受限速、脱困逻辑、安全员接管而面向消费者的智驾必须跑得快、变道果断、像老司机一样干净利落。纯粹的规则系统在这个阶段彻底暴露了天花板城市路口决策极其复杂左转、无保护转弯、与两轮车博弈每个场景都涉及到大量的语义理解和交互预测人工规则根本写不过来。于是行业出现了两条腿走路的混合路线。决策规划层引入更多机器学习组件行为决策用学习模型打分替代部分硬编码规则轨迹预测改为多模态交互预测规划层仍然保留优化求解但初值生成不再依赖人工规则而是由学习模型给出。同时高精地图的局限——更新慢、成本高、覆盖有限——也倒逼行业走向轻地图重感知。这个阶段还有一个常被忽视的工程变化仿真和回灌体系的规模化。量产智驾必须处理海量长尾场景靠整车路跑收集corner case是远远不够的。业内形成了“路跑采集-场景挖掘-回放仿真-回归测试”的闭环规划控制算法的迭代效率因此大幅提升。我后来的很多实操经验也都是在这个闭环体系里打磨出来的后面单独展开讲。1.4 2024–2025端到端与大模型的全面渗透如果说2023年是端到端的“刷榜年”那2024年就是端到端的“量产元年”。端到端架构意味着感知、预测、规划不再各自为政而是共享一个可微分的神经网络主干。早期方案里感知输出的“鸟瞰视角”特征直接喂给一个规划头轨迹通过交叉注意力机制在特征图上查询生成。这类方案在公开数据集上效果惊艳也让传统模块化的支持者第一次感到底气不足。到2025年视觉-语言-动作模型开始成为新的风口。把图像、文字指令和自车状态统一输入一个大模型直接输出驾驶动作或轨迹这种思路直接打破了传统规划控制算法的定义。它带来的变化不仅是模型结构上的更是开发范式上的规则不再被“写”出来而是被“学习”出来解决问题的能力上限不再取决于工程师见过多少corner case而是取决于训练数据覆盖多少种驾驶场景。但平心而论我目前看到的所有量产端到端方案几乎都不是“一句话端到端”而是“分段端到端”或“模块化端到端”。感知和预测可以完全神经网络化但规划层仍然保留相当多的规则约束和优化兜底。至于安全验证端到端模型的黑盒特性让预期功能安全分析变得极具挑战这也直接影响了量产落地的节奏。这个领域目前仍然处于快速演化期三年后再看可能又是一番天地。2. 决策与规划模块的核心演化从状态机到学习生成十年演进中变化最剧烈的就是决策和规划这两个核心模块。它们的分工从泾渭分明到互相渗透再到端到端模式下边界被彻底模糊。这一章我把这两个模块的演化拆开从机制、代表方案和遗留问题三个角度讲透。2.1 行为决策的路径有限状态机→场景引擎→学习决策早期行为决策几乎就是有限状态机的天下。抽象出车道保持、跟车、变道、减速让行等有限状态状态间定义跳转条件条件命中就触发对应动作。这个办法简单可控安全验证容易做所以在低速、限定区域的场景下长期够用。但到了城市道路问题就暴露了交通参与者之间的交互关系太复杂布尔条件根本描述不清楚。比如无保护左转时对向直行车辆距离多少才能启动左转这个“距离”不是一个阈值能刻画的它跟对方车速、我方加速度、路口宽度、侧方来车情况都有关系。行业于是转向场景引擎和行为树。场景引擎把各种典型场景抽象成节点行为树通过优先级和条件分支组织决策逻辑。相比纯状态机这类结构支持更复杂的决策层次也更容易做可视化调试。直到现在很多量产项目的规则兜底模块仍然沿用这套框架。学习决策在2019年前后开始进入工程视野。业界尝试用深度强化学习直接学习驾驶策略输入感知信息输出离散的动作或连续的转向和加速度。公开仿真环境里效果不错实车落地却遇到了两大难题一是仿真到真实的迁移鸿沟二是安全保证极难形式化。所以学习决策在很长一段时间内只作为辅助模块比如用学习模型给规则决策提供参考打分而不是直接替代决策模块。端到端时代到来后这个逻辑被彻底重写了因为端到端模型不仅在学“决策”还在学“感知到决策的完整映射”行为决策作为独立模块的概念正在消解。2.2 运动规划的方法论迭代采样→优化→学习引导运动规划这块的技术迭代更迭可以用“维度灾难”来概括。高维空间里的轨迹搜索计算代价随维度指数增长所以工业界的共识始终是解耦。横向轨迹路径和纵向轨迹速度分离是贯穿十年的主流框架代表性方案包括Lattice Planner和EM Planner。Lattice Planner的思路比较直观在Frenet坐标系下对横向偏移和纵向位置或者时间进行采样生成一组候选轨迹然后用代价函数打分。代价函数里通常包含偏离参考线的惩罚、加速度变化率加加速度的惩罚、与障碍物距离的惩罚等。这个方案的优点是生成速度快、轨迹形态可控缺点是采样密度和最优性之间存在矛盾而且动态障碍物的时序避让处理起来很吃力。EM Planner则把“采样-打分”升级为“搜索-优化”两段式。动态规划先在中低分辨率下寻找可行走廊和粗轨迹这步的核心是保证拓扑可行性相当于先找到一个“大概能走”的路二次规划再在走廊约束内求解最优轨迹这步优化考虑平滑性、贴近中心线程度以及动力学约束。两段式的优势是兼顾了搜索的全局性和优化的精确性工程落地后表现极其稳定。我在实车上调试EM的时间超过两年一个很深的体会是动态规划那步生成的粗略轨迹质量直接决定了后续优化求解的上限。如果粗轨迹选错换道时机后面的二次规划再怎么优化都救不回来。这本质上是一个初始解问题也是后来学习引导规划出现的原因。2021年之后学习引导规划逐渐流行。用神经网络模型直接预测“可行轨迹候选”或“轨迹的锚点”替代部分采样和动态规划的工作。这既保留了优化层做平滑和动态可行性检查又解决了纯搜索效率低和部分场景搜索失败的问题。行业里常说的“数据驱动与规则优化的混合”主要就是指这个形态它是最现实的量产方案也是端到端全面接管前的一个过渡形态。2.3 速度规划与运动控制容易被忽视但极其关键的细节规划控制算法里路径规划往往吸引最多注意力但速度规划才是乘坐体验和安全性的胜负手。一个非常典型的场景前方突然插入一辆车横向路径规划只需微调避让但速度规划必须快速决定是滑行减速、全力制动还是保持车速。这个决策直接决定了车内乘员会不会前倾、后车会不会追尾、车辆本身是否满足舒适性约束。早期速度规划大多基于时间-位移曲线用梯形或S形曲线描述加减速过程。后来引入优化方法速度规划被建模为带约束的优化问题目标函数中权衡行驶效率、舒适性和安全距离约束条件包括最大加速度、最大加加速度、跟车距离等。这类问题通常转化为二次规划求解实时性依然好。到了端到端时代速度曲线直接由模型端到端生成但量产方案中仍然会在模型输出后加一层速度平滑和安全校验。运动控制层面十年间的变化相对温和。从纯几何追踪纯追踪、前馈控制到基于模型的预测控制是大趋势。模型预测控制能显式处理执行器延迟和动力学约束因此在高速场景下表现明显优于传统几何控制器。横向和纵向解耦控制依然是量产主流方案纵向控制常用PID叠加前馈和舒适性滤波横向控制则越来越多使用线性时变模型预测控制。硬件算力提升后非线性模型预测控制也开始出现在一些高端量产平台上但实时性和标定成本仍然是规模化应用的门槛。3. 工程化落地中的实战经验仿真、调参与场景迭代光讲算法演进和模型架构很容易写得像一篇文献综述。真正区分一线工程师和理论研究者的是量产落地中那些文档里根本不会写的问题。这一章我集中分享实操层面的经验从仿真回灌、参数调优到场景挖掘每一个环节都有大量踩坑经历。3.1 仿真回灌与回归测试规划算法的质量生命线我入行前几年行业对仿真的认识还很粗浅用开源模拟器搭个场景验证算法能用就行。但量产项目彻底改变了这个认知。一个面向消费者的智驾系统规划控制模块的迭代频率以周为单位每一次改动都可能引入新的行为退化。没有自动化回归测试体系根本不敢合代码。成熟的体系分三层。第一层是场景回放把路采数据里的自车周围目标重新灌入系统看规划模块的输出是否合理。这层的价值在于还原真实传感器输入但缺点是无法改变自车决策也就是它不会对规划结果做出反馈。第二层是闭环仿真自车规划控制结果作为下一帧场景的输入后车会根据你的行为做出反应这一层能测出交互博弈问题对规划控制算法来说最有价值。第三层是注入式仿真主动构造关键场景并做参数扰动比如对前车车速、切入角度、最小间距做网格化扫描找到规划模块的临界失效边界。在实操中我强烈建议先跑回放再跑闭环。回放快速定位“规划是否合理”闭环进一步验证“交互是否正确”。直接跑闭环效率低而且出了问题很难定位是感知、预测还是规划的问题。还有一个很容易踩的坑回放场景的时间对齐必须精确到帧级别如果自车状态时间戳和障碍物轨迹对不上规划模块会看到“幽灵障碍物”或“瞬移车辆”误报率飙升。3.2 代价函数调参的玄学与科学早期的规划算法调参核心就是调代价函数里的权重偏离参考线、加加速度、碰撞距离、效率这些项分别给多大权重。很多新手上来就对着权重一顿乱试结果发现a场景顺滑了b场景又变得很冲b场景调好了c场景又出现急刹。踩过几次坑之后我的经验是先别急着调权重先管好量纲和数值范围。不同代价项的量级差距极大比如加加速度代价可能都是十的负几次方而偏离参考线代价是几十甚至上百的量级。不做归一化所谓“调权重”其实就是瞎调。正确做法是把每一项都归一化到接近同一个数量级再设初始权重然后再观察哪项目标在实际测试中表现不足有针对性地增加对应权重。另一个容易被忽略的参数是约束条件的松弛因子。二次规划求解轨迹时很多约束比如避障距离、动力学边界在极端情况下会无解工程上通常引入松弛变量让约束“软”化。松弛因子的取值直接决定了系统在极限工况下的表现太大约束形同虚设太小求解器频繁无解只能走fallback路径体验极差。我在给一个量产项目调车道偏离预警变道功能时把松弛因子从0.1调到0.5变道成功率提升了30%代价是某些场景下避障距离被压缩到了接近极限后来通过单独增加“紧急避障”子状态才平衡过来。这类参数细节写论文时根本没人提但工程上却决定着功能能不能交付。3.3 场景库建设从长尾走向数据闭环2021年之后做规划控制的工程师如果没有自己的场景库基本等于裸奔。场景库的核心价值在于支撑回归测试和迭代验证它的建设逻辑不是“想几个测试用例”而是“从真实路跑数据里挖出高价值场景”。具体流程通常是大规模路跑采集数据离线用自动化工具做场景挖掘把包含急刹、强交互、近距离切入、异形障碍物、施工区域等特征的数据段聚类人工审核后标注成可复用的测试场景。这里的自动化挖掘通常依赖一套触发规则比如检测到纵向加速度绝对值超过阈值、与前方目标的距离低于阈值、角速度异常、规划模块报错等。真正关键的一环是场景泛化同一个真实场景不能只存原始数据还要自动生成参数扰动变体比如把前车车速调整±20%、把切入距离压缩10%、在路面加一层积水摩擦系数。这样一条原始数据能衍生出几十个测试用例场景库的覆盖率才能指数级扩张。这里有一条很有价值的经验场景挖掘的触发条件要扩到规划模块内部不能只看输出轨迹。举例来说轨迹优化无解、约束松弛被激活、代价函数值异常跳变、规划的轨迹被安全兜底模块接管这些内部信号都比“车辆急刹”这类外部现象出现得更早也更能捕捉规划算法自己的软肋。有不少团队只盯着IMU和雷达数据做挖掘等于是用外部症状去猜内部病因效率差了一个数量级。4. 端到端时代规划控制的新方法论与新难题2024年开始端到端已经不是概念而是量产项目里绕不开的候选方案。但很多从业者对它存在两极化的误解要么觉得端到端就是黑盒魔法要么觉得端到端完全不可控没法用。我打算以偏实操的视角把端到端在规划控制层面的方法论变化、数据闭环打法和评测难题讲清楚。4.1 从模块化到端到端的建模变化真的不需要规则了吗模块化系统里感知输出的物体列表、预测输出的轨迹集合都是人为定义的中间表示。这种表示有它的优势——可解释、可调试、可按模块独立验证。但它也强制丢弃了信息感知模块把原始传感器数据压缩成障碍物的方框后方框之间的细粒度交互信息比如一个人正在低头看手机、一辆车正在缓慢贴边压线就丢了。规划模块只能在丢失信息的基础上做判断天花板受限于感知输出的信息量。早期端到端方案最大的贡献就是让轨迹查询直接作用在感知特征图上。规划头通过交叉注意力“看”原始特征而不是“读”一串坐标框。这就突破了信息瓶颈让规划模块有机会感知到更丰富的场景细节。在一些公开数据集上这类方案处理复杂交互场景的成功率明显高于纯模块化方案。但随之而来的新问题是神经网络输出的轨迹天然不满足所有硬约束比如车道边界、碰撞距离、动力学极限。所以在量产端到端方案中模型输出后必须加一个优化后处理模块确保轨迹安全可执行。我在和算法团队交流时经常强调一个观点端到端解决的是“合理决策”问题优化后处理解决的是“安全边界”问题这两者不是竞争关系而是上下游关系。4.2 数据闭环与评估体系端到端的命门端到端模型的能力上限几乎完全由数据决定。这带来一个连锁问题传统规则系统里的“场景”在端到端体系里变成了“数据分布”。你需要海量高质量驾驶数据还需要一套机制从海量数据里挑出“模型做得不够好”的部分让模型反复学习。影子模式就是这种机制的代表量产车在用户驾驶时后台同步运行端到端模型但不介入控制只是记录模型输出与人类驾驶员操作之间的差异。当差异超过阈值这段数据就会被自动上传到云端经过脱敏、标注、筛选后进入训练集。这套闭环跑起来的团队模型迭代速度可以做到以周为单位远远快于传统规则时代以月为单位的节奏。评测体系也在发生剧变。过去规划控制算法好不好看通过率、接管率、安全测试项都是离散的可解释指标。现在端到端模型的一条轨迹是数千维参数共同作用的结果很难用一两项指标说清楚。业内现在的做法是组合拳离线用大规模闭环仿真跑统计指标上线前用规则安全测试保证兜底再用人工主观体验做最终把关。但这里存在一个尚未解决的行业级难题仿真环境的保真度永远赶不上真实世界特别是两轮车、行人的意图博弈仿真很难还原真实行为丰富度。因此很多团队开始探索用世界模型生成仿真场景——让模型自动生成各种极端场景来评测规划能力。这个方向有前景但世界模型本身的可信度还需要大量验证。4.3 VLA模型规划控制会被大模型降维打击吗2025年最热的词非视觉-语言-动作莫属。把大语言模型的常识推理能力引入驾驶决策听起来确实诱人遇到施工改道看不懂标线模型靠“常识”也能猜个大概遇到交警手势模型能理解意图而非机械地看坐标。不过冷静分析VLA大规模上车前还有几个硬骨头。一是实时性。当前主流的端到端驾驶模型推理一次大约需要几十到上百毫秒而大模型的推理耗时动辄几百毫秒甚至秒级显然没法直接用于实时控制。现在行业里比较务实的方向是“快慢双系统”慢系统大模型负责全局决策和规则解释在需要时输出高层意图快系统轻量端到端模型负责实时轨迹生成。二是可验证性。大模型输出的文字标签怎么和物理世界的坐标系对齐怎么保证输出与真实交通规则一致目前都没有成熟的形式化方法。三是对抗鲁棒性。大模型对输入噪声和对抗样本的敏感性相对高自动驾驶又是一个安全性要求极高的场景这个问题更棘手。我的判断是VLA在2025-2026年会逐步进入量产辅助决策层但完全替代传统规划控制和轻量端到端还需要更长的时间。5. 常见问题排查与实战避坑清单最后分享一份基于真实工程实践的问题排查清单。这里面的每个问题我都直接或间接踩过整理成速查表格式供你在开发或调试规划控制模块时直接对照参考。技术深度越高这类“避坑清单”越有价值因为很多问题在论文和官方文档里根本找不到答案。5.1 传统模块化系统的典型问题问题现象常见原因排查思路与解决方法规划结果蛇形摆动代价函数中横向加加速度权重过低调高横向加加速度惩罚检查参考线平滑度确认目标点是否频繁切换车辆过于贴近障碍物通过避障约束松弛因子偏大降低松弛因子同时检查障碍物速度预测是否偏乐观必要时增加横向安全冗余复杂路口决策犹豫不决状态机或场景引擎未覆盖当前交互组合在当前场景上构建自定义测试用例优先补充缺失的交互逻辑不要靠加阈值硬绕变道后异常减速预测轨迹持续给高碰撞概率检查预测模块对目标车道后方车辆的意图推断适当调整目标车辆“被让行”的概率输出优化求解频繁无解约束过紧或初值不可行检查动态规划是否给出了可行初值路径对硬约束增加动态调整策略避免所有约束同时收紧仿真通过、实车异常仿真场景时序对齐不一致或传感器模拟失真先检查时间戳对齐和数据回放的精度再核对自车控制执行延迟是否被仿真环境忽略这个表格里最想强调的一条经验是规划模块的问题不要只看规划模块。去年有一次实车测试出现高频急刹所有工程师都觉得是规划里的安全距离参数太保守但排查了一周后发现根因是预测模块对旁车切出意图的判断存在系统性延迟导致规划模块总是在最后一刻才收到切入概率只好紧急制动。这类跨模块的系统性问题在模块化架构下非常隐蔽排查时务必带着全局视角。5.2 端到端系统的独有问题端到端系统的调试难度和传统模块化完全不同。传统系统还可以一个模块一个模块地二分定位端到端是一锅端。我总结了四个高频问题数据集重叠导致的过拟合评估失真。训练集和测试集如果都来自同一批路采数据模型在离线评测时表现极好一上路就原形毕露。处理办法是严格按时间或路线划分数据集合绝不让同一条路的数据同时出现在训练和测试集里。模型输出轨迹不平滑。端到端模型直接回归轨迹点容易出现点间抖动。量产方案中一般会加一个轻量平滑层比如用样条拟合或者低通滤波。但不要用重优化模块否则端到端的“快”就没了意义。对抗样本导致的决策突变。图像上几个像素级的扰动在传统系统里可能完全没影响在端到端系统里可能导致自车突然变道。当前主流做法是加对抗训练和数据清洗但这个问题远远没有解决。安全兜底和模型输出的冲突。规则兜底模块认为需要急刹端到端模型认为可以顺畅通过两者打架。量产系统的经验是兜底规则优先级高于模型但在体验层面如果兜底触发过于频繁就要回过去优化模型的数据分布而不是调兜底阈值。5.3 跨阶段通用度最高的几条经验最后分享三条我认为十年都没变的核心经验也是带新人时我一定会强调的东西。第一安全兜底永远不能省。不管规划算法多先进模型多智能一个独立于主要算法之外的可靠安全层是量产底线。端到端时代这一条不但没有弱化反而更重要因为模型的不可解释性更强兜底的必要性也更突出。第二评测体系要和算法同步演进。传统规则时代的评测标准直接搬到端到端模型上会失真。但反过来说端到端时代也不能完全抛弃传统评测那些经典安全测试场景仍然是排查问题的最好抓手。混合评测体系在未来的两三年内都会是主流。第三数据闭环是规划控制算法持续进化的基础设施。十年前我们努力写规则五年前我们努力调参数今天我们要努力经营数据管道。一个能快速挖掘场景、生成变体、训练模型并回归验证的闭环系统其价值不亚于任何一个新算法模型。规划控制算法的演进表面上是算法形态的演进本质上其实是数据利用能力的演进。我个人在十年间最大的心态转变就是从“相信算法能解决一切”变成“相信数据和工程体系能不断逼近解决一切”。无论是早期的手写规则、中期的优化求解还是现在的端到端大模型每代方法都有自己的高光时刻和硬边界。作为从业者保持学习节奏的同时也要对每个新概念多问一句它在产线上到底是如何被验证的出了问题又是如何被追责和修复的。想清楚这两点不管技术风向怎么变你手里的方案都能扎实落地。
返回列表