自动驾驶中感知、决策、控制,都起到什么作用?
要把自动驾驶讲清楚,最直观的比喻是把整车当作一个“会开车的人”,感知相当于眼睛和耳朵,负责把外界变成内部能理解的信息;决策像大脑,判断“接下来怎么做”;控制则像手和脚,把决策变成具体动作。这个比喻看似简单,其实每一层都有大量细节、复杂性和工程权衡。
自动驾驶感知层
感知系统最重要的就是传感器。自动驾驶常见的传感器群包括摄像头、激光雷达(LiDAR)、毫米波雷达、超声波传感器和定位惯导系统(GNSS+IMU)。摄像头给出丰富的颜色和纹理信息,适合识别交通标志、车道线和信号灯,但受光照、雨雾和逆光影响较大。激光雷达提供精确的三维点云,测距精度高,能清晰描述障碍物的形状,但在雪、雨或强反射表面上会有噪声,并且成本与数据量较高。毫米波雷达穿透能较好,能稳定测量物体的相对速度,常用来补充在恶劣天气中摄像头和激光雷达受限时的信息。超声波用于短距离近场探测,如自动泊车场景。GNSS+IMU提供车辆的全局位置和短时姿态,但在隧道、高楼林立的市区或地下停车场会失准,因此通常与车载视觉/雷达细粒度定位或高精地图配合使用。理解每种传感器的强弱,是合理设计感知系统的第一步。
把传感器数据变成可用信息,需要经过若干阶段。首先是数据预处理,这其中包括时间同步、坐标转换和滤波。时间同步是基础但经常被低估的问题,因为摄像头、雷达、IMU的采样频率与时延不同,如果不把数据对齐,感知模块会把同一物体“看到”成不同位置。坐标转换则把所有传感器的数据投影到统一的坐标系(通常是车辆坐标系或世界坐标系),便于后续融合。噪声去除、点云下采样、图像去雾和伪影滤除等都属于预处理范畴,目的是降低输入端的干扰。
预处理后要进行的就是检测、语义分割、跟踪与定位。检测和语义分割通常基于深度学习模型处理摄像头像素或激光点云特征,目标是把“像素/点”转成“物体”的表示。点云检测有一系列方法,从传统基于体素/网格的点云处理,到最近几年流行的基于点网络、柱状体(pillar)或多视图融合的端到端网络。摄像头的检测则常用卷积神经网络做目标检测和分割,再结合几何方法估计深度。跟踪模块将每帧的检测结果关联成时间连续的轨迹,常见的做法是在检测后的状态上运行卡尔曼滤波或更复杂的贝叶斯滤波器,同时结合匈牙利算法或深度学习相似度度量做数据关联。跟踪能平滑检测噪声、处理短时遮挡,并为预测模块提供历史轨迹。
感知里另一个重要环节是预测,这里所说的预测,并不是“把未来完全预测出来”,而是给出带不确定性的未来分布。最简单的预测是假定目标匀速或匀加速,但在真实道路中行人、骑行者和其他车辆会有复杂的转向、刹车或交互行为。因此在实际设计时会混合使用物理模型、基于轨迹的启发式方法和学习型模型。学习型方法包括循环网络、图神经网络、Transformers等,它们能够学习交通参与者在不同语义场景下的典型轨迹模式。更进一步的交互式预测会把其他主体的可能反应也考虑进来,输出诸如“若我减速,对方有x%概率做y行为”的条件式预测。这其中的关键在于,感知模块的输出通常不是“单一真值”,而是状态估计加上不确定度(概率或置信度),这些不确定信息必须传递给决策层,否则决策会“高估”感知的准确性。
现在感知系统越来越依赖深度学习,在实际工程中常常把几何算法和学习方法结合使用以兼顾效率与可解释性。例如用传统的点云配准算法做粗对齐,再把对齐后的数据送入学习模型做语义提取;或在摄像头里用多目几何恢复深度之后再用学习网络做检测。这样做的好处是能利用物理先验来约束学习模型,减少对海量标注数据的依赖,并在极端场景下有可解释的操作行为。另一个实际问题是计算资源与延迟,点云和高分辨率相机数据量巨大,感知模块要在有限算力下达成实时(通常10–30Hz),这促使大家使用模型剪枝、蒸馏、量化以及硬件加速(GPU/TPU/专用加速器)来压缩推理时间。
在这中间有个容易被忽略但非常重要的点,那就是感知的错误模式。遮挡、逆光、强反射、路面镜像、纺织物或交通锥的非典型外观、雨雪颗粒回波等都会造成感知错误。为此系统必须在设计时就考虑不确定性传播,如当感知给出的“行人置信度只有 0.6”时,决策层要相应保守;当定位相对高精地图的匹配不稳定时,车辆应降低速度并尽快进入安全模式。感知并不是单纯输出“物体在哪里”,而是把状态、置信度和语义关键信息(例如“这是车辆还是自行车”)一起输出,供决策层综合判断。
自动驾驶决策层
自动驾驶决策层通常分层处理,分别是从更高层的路径规划(route planning)到行为规划(behavior planning),再到局部运动规划(motion planning)。路径规划解决“从A点到B点应走哪条道路”,这部分和传统导航类似,依赖路网图和交通规则。行为规划负责回答“在当前路段我应该做什么样的驾驶行为”,比如是否变道、是否超车、是否在某处掉头。局部运动规划则把行为转化为连续的、满足动力学约束的时间-空间轨迹。把这三层分离有利于把复杂问题拆解,但也要注意交互与一致性,高层决定了一些不可逆的动作(例如进入匝道),一旦执行,局部规划和控制需要能可靠实现并处理外界反应。
行为规划的实现方法多样,早期工程做法偏重规则与状态机,例如把交通规则、礼让策略和一些经验规则写死,行为逻辑用有限状态机来实现。这种方法可解释、易于验证,但难以覆盖复杂多变的场景。近年来,基于成本函数的优化方法和学习型策略被广泛研究。成本函数方法会定义一组目标和约束,例如安全距离、舒适度、时间效率、与交通规则的偏差等,然后在候选行为或轨迹集合中求最小代价解。强化学习或模仿学习的方法试图从数据中直接学习到“如何决策”,在某些场景下能学出更灵活的驾驶策略,但其可解释性与可验证性仍是挑战。因此在实际产品中,常使用混合策略,即把规则作为硬约束,把学习模型或优化器作为软策略决策器,并在显著不确定时回退到规则基线。
局部运动规划是决策到控制的桥梁,它要在给定行为下生成一条可追踪的时间序列轨迹,通常需要考虑车辆动力学、路面曲率、障碍物位置和预测轨迹等因素。轨迹生成有采样-评估的方法,也有优化求解的方法。采样方法先生成多个可行轨迹样本,再基于成本函数评估并选取最优样本;这种方法实现简单、容易并行化,但样本覆盖性影响结果。优化方法(例如基于梯度的轨迹优化或Model Predictive Control的前置规划)则直接把轨迹求解为连续优化问题,能够更精细地处理约束但计算量大。有技术提出把快速采样器与局部优化结合,先生成候选轨迹(保证实时性),再用快速优化做局部修正以提高可行性与舒适度。
决策模块的另一个关键挑战是交互。道路上的其他主体会根据你的动作做出反应,因此一个好决策不仅要预测别人会怎么走,还要评估别人对自己动作的反应。交互式决策可以借助博弈论、多智能体强化学习或条件预测模型,但这些方法复杂且难以保证收敛到可验证的策略。因此工程实现上往往选择折中,在常规场景使用预测模型加权评估候选轨迹,并在风险升高或预测不确定度大时降速或保守避让,从而在保证安全的同时不牺牲效率过多。
决策还必须与法规、伦理和功能安全规范对齐。不同国家和地区对自动驾驶行为有不同的法律约束,例如对变道礼让、红绿灯处理、学校区域限速等都有明确规范。决策系统要把这些硬约束嵌入策略里,如ISO 26262会要求对导致潜在危险的故障模式做风险评估并设计冗余/故障响应机制。从技术角度考虑,一个常见的做法是在决策模块里加入安全保护层(safety envelope),它在局部规划输出后作为最后一道检查,确保轨迹在例如不突破最低刹车距离、保持横向稳定限值等任何已知的安全约束内,如果检测到违反则拒绝该轨迹并触发紧急减速或停靠。
自动驾驶控制层
决策的输出是期望轨迹或期望速度曲线,这些被送到控制层去执行。控制的任务是把规划的期望轨迹跟踪成车辆实际运动。控制分为纵向(速度/加减速)和横向(转向)两个主要维度。有些系统把两者合并进一个联合控制器,有些系统分别设计纵横向控制器再做协调。控制器要处理的现实问题包括执行器非线性(油门踏板与车体前进的非线性关系、制动踏板与制动力的非线性)、执行器时延(踏板命令到实际加速存在延迟)、以及车辆动力学随载荷和轮胎状态变化。
纵向控制里常见的技术有PID和模型预测控制(MPC)。PID简单可靠,参数调教成熟,适合常规高速巡航;MPC更适合在需要考虑动力学约束与预测信息时使用,因为MPC可以在优化中直接引入可控约束(例如最大加速度、乘客舒适度权重)并生成未来一段时间的控制序列。但MPC计算复杂,需要实时求解优化问题,对算力要求高。横向控制常见算法包括几何方法(如pure pursuit)、基于状态误差的控制(如Stanley 控制器)、以及同样使用MPC的模型预测控制。纯几何方法实现简单且在低速下表现良好,MPC在高速或动态耦合情况下表现更稳健。
控制的设计不只是选择一种算法那么简单,还包括前馈+反馈结构、延迟补偿、以及对执行器和轮胎模型的非线性补偿。前馈控制利用规划轨迹的曲率给出预期转向角,减少稳态误差;反馈控制则基于实际误差做修正。延迟补偿可以通过预测未来的车辆状态或在规划时把已知延迟纳入轨迹,实现在实际执行中减少超前或滞后导致的偏差。更复杂的系统还会把轮胎力学、车身横摆动力学等模型引入控制器以提高极限条件下的稳定性。
控制器还要与车辆的底层电子稳定系统(ESP/ESC)、制动防抱死系统(ABS)等协同工作。紧急制动时制动力分配、ABS的激活以及ESC的侧向力控制都会影响车辆实际行为,因此控制系统通常需要与底层车辆控制单元(VCU)紧密集成,或者通过低级接口让车辆底层的安全系统优先保证车体稳定性。
三者结合的必要性
把感知、决策、控制三层放到一起,系统架构上看起来就像是一条流水线,但工程实现中会并行设计多个冗余路径。为了保证功能安全,常见做法是传感器冗余(同一类型或不同类型传感器重复布局)、计算冗余(主控和备份控制器分开工作并相互监测)和软件冗余(主算法和简化硬规则并行检查),低延迟安全通道(watchdog)也会在主链路失效时立刻干预。
测试与验证是整个系统开发中最消耗资源但又最关键的部分。感知需要大量标注数据覆盖不同天气、光照、道路材料和稀有事件。单纯依靠大规模道路测试既昂贵又难以覆盖所有角落,因此工业界广泛使用仿真平台做海量场景测试,其中包括可编程的交通参与者行为、极端天气模拟和传感器物理仿真。决策需要进行交互式场景的长尾测试,评估在罕见场景中的策略鲁棒性。运动规划和控制则要做闭环仿真加真实车辆道路测试,尤其是边界条件下的跟踪误差与稳定性验证。硬件在环(HIL)和车辆在环(VIL)测试是把软件与真实执行器、电控单元耦合起来验证延迟和非线性影响的重要手段。当然,最终的道路验证(含试验场和公开道路)仍是不可或缺的步骤,但要在前述多层次仿真和工况验证基础上有选择性地放大测试覆盖。
综上所述,自动驾驶的感知、决策与控制是一个高度耦合的系统工程。感知负责把复杂、噪声且有不确定性的外界信息转换为具有语义和概率描述的内部状态;决策基于这些状态做出策略选择,并生成满足动力学和安全约束的轨迹;控制将轨迹精确执行到车辆上,同时应对执行器非线性与延迟。每一层既有经典算法的成熟路径,也在迅速被学习型方法推动边界,但是想要让自动驾驶落地最重要的始终是鲁棒性、可验证性与安全性。理解三层的分工并把接口上的不确定性显式处理好,是把研究成果转化为可靠产品的关键。
-- END --
原文标题 : 自动驾驶中感知、决策、控制都起到什么作用?
查看全文
作者最近更新
-
跨界收购六维力传感器企业引监管关注感知中国08-19 11:10
-
扬州国扬电子CIM项目启动:构筑功率半导体智能制造数字基座感知中国08-15 14:42
评论0条评论