Page 163 - 《软件学报》2026年第1期
P. 163

160                                                        软件学报  2026  年第  37  卷第  1  期


                 动驾驶系统的仿真测试架构, 解释了仿真器和测试场景.
                  2.1   自动驾驶系统结构
                  2.1.1    概 述
                    美国汽车工程师学会提出了          SAE J3016 [17] 标准, 将自动驾驶技术分为   6 个级别, 从  level 0 无自动驾驶到   level 5
                 完全自动驾驶. 其中, level 1, level 2  倾向于辅助驾驶员决策和判断, 属于高级驾驶辅助系统, 已经广泛部署在汽车
                 上. 典型代表有车道偏离预警系统、自适应巡航系统、前方碰撞预警系统等. level 3, level 4                   倾向于在一定范围内
                 的驾驶自动化, 偏向于常规认知中的自动驾驶系统, 同时也是本文的主要研究对象. 目前该方向仍在深入研究, 还
                 未大规模地落地部署. 同时, 早期对自动驾驶技术的研究聚焦于高级驾驶辅助系统                         [18,19] , 随着开源自动驾驶系统逐
                 渐成熟, 以及仿真器等下游工具链的完善, 现在的工作更关注高水平的自动驾驶系统. 目前存在两个研究分支, 分
                 别是模块化系统和端到端系统.
                  2.1.2    模块化系统
                    模块化系统将自动驾驶任务分解为多个子任务, 交由不同的模块分别处理, 每个子任务又可以细分为多个模
                 型, 如图  3  所示. 例如, 感知模块包括了目标检测模型、交通信号灯识别模型等. 每个模型都需要独立开发, 训练参
                 数, 迭代优化, 最终串接处理数据, 实现自动驾驶任务. 典型的开源模块化自动驾驶系统有                         Apollo [20] 和  Autoware [21] .
                 其架构一般包括感知、规划和控制这             3  个部分, 如图  3  所示.

                              激光雷达              目标检测
                                                                   全局规划
                               GNSS             目标跟踪                                 纵向控制
                                                                   行为规划
                                相机                预测

                             超声波雷达                定位               运动规划              横向控制
                               传感器              感知模块               规划模块              控制模块


                                V2X              中间件               高清地图             人机交互界面
                                                图 3 模块化自动驾驶系统架构

                    (1) 感知模块接收相机、激光雷达、惯性测量单元等传感器数据, 通过深度学习技术融合和处理数据, 实现交
                 通灯识别、目标跟踪、轨迹预测、定位等任务, 感知和理解外部环境.
                    (2) 规划模块根据感知模块的输出规划车辆路线, 通过                3  个步骤完成任务: 全局规划, 负责在地图上根据起点
                 和终点规划出一条可行的路线; 行为规划, 负责做出符合交通法规的高级驾驶决策, 如巡航、跟车等; 运动规划, 通
                 过考虑安全、效率和舒适度等因素, 生成最优的局部规划, 如确定速度和转向角.
                    (3) 控制模块使用控制算法向油门、方向盘等执行器传输控制信号, 驱使车辆沿着规划模块输出的轨迹运动,
                 实现横向控制和纵向控制. 常用的控制算法有比例积分微分                   (PID) [22] 算法和模型预测控制   (MPC) [23] 算法.
                    除上述主要部分外, 还有一些辅助组件, 如人机交互界面、高精地图、V2X                       等. 模块化设计的自动驾驶系统
                 的优点是各模块基于规则处理任务, 通过规则约束实现了最小安全保障. 但是, 此类设计方案属于流水线架构, 上
                 层模型的错误输出会传播到后续模型, 微小的偏差不断累计, 最终可能造成级联故障, 影响正常任务的执行.
                  2.1.3    端到端系统
                    端到端系统将传感器感知的数据、导航命令输入一个预训练的深度神经网络, 直接输出控制信号或规划轨
                 迹. 端到端系统仅通过一个模型即可实现模块化系统的大部分功能, 如图                       4  所示. 该模型可能包括多个子模型, 但
                 所有模型联合训练, 使用一致的优化目标             [24] . 最早的端到端自动驾驶车辆      AVLINN  出现于   1989  年, Pomerleau [25]
                 设计了一个    3  层全连接神经网络实现简单的自动驾驶任务. 2023             年的  CVPR  最佳论文颁发给     UniAD [26] , 一个全栈
   158   159   160   161   162   163   164   165   166   167   168