“安全第一”是自动驾驶的核心理念和价值观。自动驾驶车辆的整体系统安全设计是一项复杂的系统工程, 涉及车载自动驾驶系统的核心算法策略设计、 硬件和软件冗余安全设计、远程云代驾技术、 全流程测试验证技术等, 并遵循功能安全(ISO 26262) 和预期功能安全(ISO/PAS 21448) 的要求和设计思路。 下面梳理一下百度 L4 级自动驾驶的安全系统实践, 分为主系统安全、 冗余安全系统、 远程云代驾系统三层安全体系。
01.
自动驾驶主系统安全
主系统安全体系即通过车载自动驾驶系统的核心算法层来保证驾驶策略和驾驶行为的安全性, 也可称为“策略安全”。使用最先进可靠的感知与定位算法、 预测决策规划与控制算法来应对道路行驶中的各种场景, 尤其是需要保证在遇到难度场景时也可以从驾驶策略和行为上确保安全。
自动驾驶主系统安全是软硬件组合套件的安全设计。软件算法是整个自动驾驶系统的核心, 典型的 L4 级自动驾驶算法系统架构主要包括车载操作系统、 环境感知、 高精地图与定位、 预测决策与规划、 控制与执行模块等。
基础操作系统是运行在自动驾驶汽车上用于管理、 调度、 控制车载软硬件资源的基础软件。其主要任务是为自动驾驶系统提供任务实时调度、 实时计算任务资源隔离、 实时消息通讯、 系统级访问控制等能力, 有效管理系统资源, 提高系统资源使用率, 向无人车算法模块屏蔽硬件软件物理特性及操作细节, 承载运行感知、 定位、 规划决策与控制等自动驾驶核心组件。操作系统具有高稳定、 实时性、 低时延(反应速度高于人类驾驶员 250ms) 等特点。
环境感知是自动驾驶的前提条件。环境感知系统融合激光雷达、 毫米波雷达、 摄像头等多传感器的优势, 实现车身周围 360 度视距, 在复杂变化的交通环境中稳定检测并跟踪交通者的行为和速度朝向等信息, 为决策规划模块提供场景理解信息。
感知算法采用多传感器融合的框架, 能够提供最远 280 米外的障碍物的检测。基于深度神经网络及海量的自动驾驶数据, 能够准确的识别出障碍物类型、 并稳定跟踪障碍物行为,为下游决策模块提供稳定的感知能力。基于多传感器融合方案的感知系统, 通过异源感知通路形成冗余, 为自动驾驶系统提供高容错能力从而提升系统安全。除此之外, 感知算法还通过水雾噪声识别、 低矮障碍物检测、 异形交通信号灯和标识的检测等能力, 有效支持场景扩展。在红绿灯识别上, 可将自车感知识别的红绿灯灯色和倒计时与高精地图提供的先验信息进行交叉验证, 同时提高临时红绿灯识别能力, 确保可靠性和安全性。
高精地图与高精定位为自动驾驶车辆提供预先的道路信息、 精准的车辆位置信息和丰富的道路元素数据信息, 强调空间的三维模型以及精度, 非常精确的显示路面上的每一个特征和状况。高精地图与定位采用激光雷达、 视觉、 RTK 与 IMU 多传感器融合的方案, 通过多种传感器融合使得定位精度可以达到 5-10 厘米, 满足 L4 级自动驾驶需求。
预测决策与规划控制技术模块相当于自动驾驶汽车的大脑。预测决策与规划是软件算法核心模块, 直接影响车辆自动驾驶的能力和效果。该算法模块基于交通安全规范与共识规则,为车辆规划出安全、 高效、 舒适的行驶路径和轨迹。为了更好提升算法的泛化能力, 应用数据挖掘和深度学习算法来实现智能规划驾驶行为。
在给定车辆设定的出发地与目的地后, 系统生成最优的全局规划路径。车辆能够实时接收感知模块提供的环境和障碍物信息, 结合高精度地图, 跟踪并预测周边车辆、 行人、 骑行者或其他障碍物的行为意图和预测轨迹, 综合考虑安全性、 舒适性和效率, 生成驾驶行为决策(跟车、 换道、 停车等) , 并按照交通规则和文明交通礼仪对车辆进行运行规划(速度、轨迹等) , 最终输出到控制模块实现车辆加减速和转向动作。车辆控制部分是最底下一层,直接与车辆底盘通信, 将车辆的目标位置和速度通过电信号传给底盘来操作油门、 刹车和方向盘。
自动驾驶的目标是应对城市道路的复杂交通场景, 在任何道路交通状况下都能保证自动驾驶车辆处于安全驾驶状态。在软件算法层, 有基于海量测试数据训练的深度学习模型, 保证自动驾驶车辆在常规驾驶场景下安全高效平稳的通行;在安全算法层, 针对各种典型危险场景设计了一系列安全驾驶策略, 保证自动驾驶车辆在任何场景下都能做出安全的驾驶行为。如在恶劣天气、 视野遮挡等极端场景下, 会触发防御性驾驶策略, 通过多观察减速驾驶降低安全风险等。自动驾驶车辆更加遵守交通规则和道路优先通行权, 在道路交叉口与其他交通参与者交汇场景下, 在高路权情况下遇到抢行车辆, 也会以安全第一原则考虑减速让行, 避免风险。在遇到“鬼探头”等高危风险场景时, 也会坚持安全第一原则采取紧急制动策略尽可能避免伤害。随着自动驾驶道路测试数据和大量的极端场景数据的积累, 自动驾驶核心算法通过数据驱动的深度学习算法模型, 得以持续不断进化, 成为能够提前预判、 安全谨慎驾驶的“老司机”。
车路协同自动驾驶是在单车智能自动驾驶的基础上, 通过车联网将“人-车-路-云”交通参与要素有机地联系在一起, 实现车与车、 车与路、 车与人之间动态实时信息交互共享, 保证交通安全。车路协同自动驾驶通过信息交互协同、 协同感知与协同决策控制, 可以极大地拓展单车的感知范围、 提升感知的能力, 引入高维数据为代表的新的智能要素, 实现群体智能。可以帮助解决单车智能自动驾驶遇到的技术瓶颈, 提升自动驾驶能力, 从而保证自动驾驶安全, 扩展自动驾驶设计运行域(Operational Design Domain, ODD) 。
例如, 车路协同自动驾驶可以解决单车智能易受到遮挡、 恶劣天气等环境条件影响, 在动静态盲区/遮挡协同感知方面的问题。单车智能自动驾驶受限于传感器感知角度限制, 在出现静态障碍物或动态障碍物(如大型车辆) 遮挡时, AV 无法准确获取盲区内的车辆或行人的运动情况。车路协同则通过路侧多传感器部署, 实现对多方位、 长距离连续检测识别,并与 AV 感知进行融合, 实现自动驾驶车辆对盲区内车辆或行人的准确感知识别, 车辆可提前做出预判和决策控制, 进而降低事故风险。
02.
自动驾驶安全冗余系统
根据《ISO 26262 道路车辆功能安全》, 系统功能安全必须考虑功能冗余的要求。按照功能安全的设计标准, 功能冗余从部件级、 系统级和整车级三个层面来完成。冗余的系统设计是保证自动驾驶安全可控的关键, 依托全线冗余设计可有效应对车辆控制系统、 硬件平台、软件平台三个层次单点故障或功能失效, 为完全无人自动驾驶系统提供基础支撑。
L4级自动驾驶系统在车载主计算单元和传感系统之外又配置了安全冗余实现了软件和硬件的异构冗余设计, 避免了各个系统的单点失效, 主计算系统和冗余安全系统分工不同且互为校验, 整体上实现安全性和可靠性极大提升。冗余安全系统在功能和算法策略设计上,侧重于对主计算系统软硬件的实时监控, 并进行危害识别, 当检测到主计算系统异常时将触发 MRC 机制, 通过告警、 缓刹、 靠边停车、 紧急制动等方法让车辆进入最小风险状(Minimal Risk Condition, MRC) 。
从传感器、 计算单元到车辆控制系统, 都具备两套互为独立冗余的系统, 避免单点失效,提升系统整体可靠性和安全性。
安全系统通过配置一套 SafetyDCU 作为冗余计算单元, 实时运算并监控主系统工作状态。当主计算单元故障时, 能够支持冗余系统的算法运算继续控制车辆, 做出风险最小回退的缓刹、 靠边停车等动作。
安全系统通过冗余设计两套独立的自动驾驶传感器系统, 采用激光雷达、 摄像头、 定位设备等零部件冗余方案, 在任何单一零部件失效的情况下, 都能够触发冗余系统, 提供完善环境感知能力, 从而安全控制车辆, 保障系统的运行更加可靠。
车辆底盘具备冗余能力, 包括转向、 动力、 制动等关键部件, 能够在单一系统故障失效时, 切换到备用系统控制车辆, 帮助安全停车, 防止车辆失控的发生。
故障监控系统为部署在主计算单元与安全计算单元之间的一套完整故障检测系统, 能够对系统运行中的所有软硬件类失效、 故障、 超出 ODD 范围、 系统算法缺陷等做到实时检测监听, 并且通过主系统和冗余系统进行交叉验证, 互相校验和监控, 确保故障没有遗漏。同时进行风险预测, 对易发生问题的数据进行挖掘分析、 特征提取, 在车端进行实时安全风险计算。
软件冗余系统是一套完整的轻量化的感知定位与决策控制的软件。例如完善的定位系统冗余, 增加多重交叉验证提升定位异常检测和容错的能力;感知 360 度环视检测覆盖, 对车身周围和前向风险做到实时感知;当检测到主系统故障或失效时, 备份系统代替其接管车辆的操控, 通过限速、 缓慢刹车、 靠边停车、 刹停等进行功能降级或进入 MRC, 实现车辆的安全停车。
03.
远程云代驾
远程云代驾系统是在车辆遇困或极端场景下, 由远程驾驶员接管车辆, 通过环绕屏展示环境建模型及主视觉、 俯视角, 为安全员提供身临其境的平行驾驶感受。当远程驾驶员将车辆开到安全地带后再将控制权移交给车端, 整个过程端到端时延比人类司机的反应时间更短,且车端和远程的控制权切换完全平滑无感。在远程驾驶舱, 通过配置多屏监控, 以及通过风险预警和动态调度等功能, 可以实现车队级实时监控。
远程云代驾设有包含主动安全、 安全预警以及安全基础功能在内的全面安全分层设计,可实时监测驾驶舱、 网络、 无人驾驶车辆状态, 并根据不同故障或风险等级做出安全处理,进一步为自动驾驶运营全面护航。当前自动驾驶技术在常规城市道路下主要由车端自动驾驶系统实现自主驾驶, 仅在极端场景下借助远程云代驾, 因此可以实现远程驾驶员一人控制多车的高效运营服务。
平行驾驶基于 5G 技术, 远程控制中心的安全操作员能够实时了解车辆所处环境与状态,车云无缝对接, 在自动驾驶无法通过的场景下完成远程协助, 结束后使车辆回到自动驾驶状态, 实现极端场景下的车辆脱困和避险。
5G 云代驾是未来无人驾驶的重要配套设施, 基于 5G、 智慧交通、 V2X 等新基建设施,实现自动驾驶车辆车内、 车外视频实时回传监控, 可在车上无驾驶员的情况下为自动驾驶系统的能力缺口补位。
04.
自动驾驶汽车测试与验证
自动驾驶系统从研发到应用, 需要进行充分的功能安全和性能安全测试验证来证明其运行安全性, 以保障乘车用户和其他交通参与者的人身安全。虚拟仿真需要进行数亿至上百亿公里的验证测试, 真实道路测试需要百万公里以上的测试积累。
自动驾驶测试以场景化的测试方法, 验证在每个场景下是否都具备安全驾驶能力。自动驾驶测试场景库是测试体系的基础, 驱动自动驾驶车辆测试各个环节。测试场景库包含典型的日常行驶场景、 高碰撞风险场景、 法律法规场景等, 同时也包含已经形成行业标准的场景,例如 AEB 功能的标准测试场景。具体分为不同自然条件(天气、 光照) 、 不同道路类型(路面状态、 车道线类型等) 、 不同交通参与者(车辆、 行人位置、 速度等) 、 不同环境类型(高速公路、 小区、 商场、 乡村等) 的多类型虚拟仿真测试场景和真实交通环境的测试试验场景。测试内容包括传感器、 算法、 执行器、 人机界面以及整车等, 从应用功能、 性能、 稳定性和鲁棒性、 功能安全、 预期功能安全、 型式认证等各个方面来验证自动驾驶系统的合理性、 安全性和稳定性, 从而确保车辆能够自主上路。
自动驾驶汽车的测试流程体系主要包括离线环境测试、 车辆在环测试(Vehicle in theLoop, VIL) 、 道路在环测试(Road in the Loop, RIL) 三个阶段, 对软件、 硬件、 车辆进行逐层环环相扣测试, 确保自动驾驶系统上路测试的安全性。在离线测试阶段, 每一行代码都能被充分及时的测试, 当软件发生修改后, 系统会逐一自动触发各个测试环节, 直至达到安全的上车测试标准方进入车辆在环测试阶段及道路在环阶段。道路在环测试阶段发现问题会进行下一轮的代码修改, 开始下一次的循环。经过一轮又一轮的闭环, 使得自动驾驶能力不断提升。
离线是指未包含车辆的测试, 大部分工作是在实验室里完成的。这个阶段包含了模型在环测试(Model in the Loop, MIL) 、 软件在环测(Software in the Loop, SIL) 、 硬件在环测试(Hardware in the Loop, HIL) 。
模型在环测试利用大规模数据集对感知、 预测、 定位、 控制等核心算法模型进行精确的评估, 通过模型评估后的各项指标度量模型能力变化, 通过自动化挖掘在早期暴露算法问题和 BadCase, 避免遗留到后续测试过程。
软件在环测试阶段, 仿真测试是自动驾驶测试体系的关键环节, 通过将海量的道路测试数据灌入仿真系统, 反复回归验证新算法的效果。同时在仿真系统中构造大量的极端场景,并且通过参数扩展的方法将单一的场景自动化生产规模化的场景, 以提高测试的覆盖度。此外, 仿真平台还有一套精细的度量体系, 可以自动化地判断仿真过程中发生的碰撞问题、 违反交规问题、 体感问题、 路线不合理问题。
硬件在环测试阶段, 把软件和硬件集成到一起, 以测试软硬件系统的兼容性和可靠性。通常硬件的故障发生都有一定的概率, 带有一定的偶然性, 在硬件在环测试阶段基于真实和虚拟硬件结合方式进行成千上万真实场景的还原测试, 并且 24 小时不间断的对自动驾驶系统施加压力, 以模拟系统在不同资源极限条件下(比如:GPU 资源不足, CPU 使用率过高)的性能和稳定性表现。同时在这个阶段模拟了大量的硬件故障, 测试在硬件故障的情况下系统的反映, 如硬件失效、 断电、 丢帧、 上下游接口异常等, 确保系统符合 ISO26262 功能安全要求。
车辆在环测试阶段会先进行基于台架的测试, 在台架上完成各项车辆线控功能、 性能和稳定性测试, 以确保自动驾驶系统可以按照意图控制车辆。完成对车辆线控的测试之后 VIL环节会进入封闭场地, 基于真实的道路构建虚实结合的场景测试自动驾驶系统在真实车辆上的表现。
在离线测试和车辆在环测试阶段通过后(每个环节都有严格的测试通过标准) , 接下来进入封闭场地内构建真实的场景来测试车辆的自动驾驶各项能力和安全性。封闭测试场涵盖了常见的城市道路及高速道路, 包括直行道路、 弯道、 路口、 坡路、 隧道及停车场等。另外,通过假人、 假车等测试设备构造各种低频场景。这类低频场景在社会道路上存在, 但是出现的频率较低, 在开放道路上不易得到充分验证。例如逆行的自行车、 突然冲出的行人、 路段积水等场景。
图7 国家智能汽车与智慧交通(京冀) 示范区亦庄基地
开放道路测试是道路在环测试的最终环节, 也是自动驾驶车辆完成测试评估所必须经过的重要环节。开放道路测试是循序渐进开展的, 通常最新的系统部署在少量车上进行测试,确认安全后再部署到更大规模的车队。通过部署规模化自动驾驶车辆不断在实际道路上进行测试和验证, 形成实际路上场景和自动驾驶能力不断闭环, 使自动驾驶车辆在智能度、 安全性等方面持续提升, 从而逐渐接近具备自动驾驶车辆走进千家万户的能力。
分享报告《自动驾驶汽车交通安全白皮书》,公众号对话框回复【汽车ECU开发016】下载。
推荐阅读
欧阳明高院士:滑板底盘将给汽车带来一场革命
对传统主机厂的一些思考
Tesla AutoPilot 纯视觉方案解析
如何写一份牛X的汽车软件需求
关于对汽车ECU软件测试的理解
特斯拉最新中央计算模块(CCM)解析
2021款特斯拉Model Y ECU接口梳理
详解CANoe之CAPL编程
关于CAN时间同步的理解
dbc文件的格式以及创建详解
基于UDS的Bootloder详解
关于整车上下电流程的理解
一文详解CAN总线错误帧|附下载
DoIP协议介绍,资料分享!
详解车载网络 OTA系统的开发|文末附下载
一文了解汽车嵌入式AUTOSAR架构|附下载
特斯拉Autopilot系统安全研究|附dbc下载
原文始发于微信公众号(汽车ECU开发):自动驾驶汽车的安全技术特点