一文读懂自动驾驶仿真测试技术现状
引言
什么是自动驾驶仿真测试
虚拟仿真技术是汽车研发、制造、验证测试等环节不可或缺的技术手段,能有效缩短技术和产品开发周期,降低研发成本;随着汽车智能化、网联化趋势的发展,虚拟仿真技术有了更大的发挥空间,比如自动驾驶系统的仿真测试验证;虚拟仿真测试是实现高阶自动驾驶落地应用的关键一环,具备自动驾驶功能的车辆必须经过大量的虚拟仿真测试以及实车路测之后才能商用化;
自动驾驶汽车商用化需经历的三个测试阶段:仿真测试、封闭场地测试、开放道路测试。
自动驾驶仿真测试:主要是以数学建模的方式将自动驾驶的应用场景进行数字化还原,建立尽可能接近真实世界的系统模型,无需实车直接通过软件进行仿真测试便可达到对自动驾驶系统及算法的测试验证目的。
仿真测试包括以下几种类型:模型在环仿真(MIL)— 软件在环仿真(SIL)— 硬件在环仿真(HIL)— 整车在环仿真(VIL)
自动驾驶系统开发V字流程
自动驾驶仿真测试的必要性
实车道路测试面临的问题:
据美国兰德公司研究:一套自动驾驶系统至少需要通过110亿英里的驾驶数据来进行系统和算法的测试验证才能达到量产的条件;因此单纯依靠实车路测极难完成这一目标,并且实车路测还存在以下问题:
道路测试周期长,成本高,效率低 覆盖的场景工况有限,尤其是对于“corner case”,很难复现 对于一些极端的危险场景,道路测试安全性无法保障
测试场景配置灵活,场景覆盖率高; 测试过程安全,且对于一些“corner case”能够进行复现再测试 可实现自动测试和云端加速仿真测试,有利于提升测试效率和降低测试成本
四种典型测试场景
确定单个虚拟场景的数据存储方式与标准
构建单个自动驾驶虚拟测试场景
在众多的虚拟测试场景中根据特征标签选取适当场景作为场景库的组成部分
场景库的数据格式标准制定涉及国家多个部委,由于缺乏有效沟通协调机制,标准制定落后市场进展,故当前数据库的建设处于各自为战的状态;
场景库数据格式标准不统一,全国统一的场景库很难形成,进而又影响到了自动驾驶仿真评价、认证体系的建立。
1)中汽数据有限公司 – 自建场景库
地域覆盖 - 北京、天津、上海等重点城市 工况覆盖 - 高速、城市、乡村、停车场等重点领域 环境覆盖 - 晴天、雨天、雪天、雾霾等多种天气 建立了可适用24项ADAS测试的功能场景库、逻辑场景库
基于场景ODD元素重组、虚拟仿真场景复现、关键场景仿真验证等技术手段研发功能安全场景库 遵照ISO26262标准,对ADAS系统功能安全危害-ASIL风险等级提供有据可依的量化评估方案
功能安全场景库生成过程:
第三步:在仿真验证软件中,激活ADAS功能,对复现场景下的电子电气失效展开仿真验证,并对产生的风险进行评估,根据公式计算出严重度(S)、暴露度(E)和可控性(C),最后根据ISO26262标准最终确定ASIL风险等级。
c. V2X 场景库
根据LTE-V终端及DSRC终端应用层开发经验以及《合作式智能运输系统车用通信系统应用层及应用数据交互标准》中的场景要求进行场景库构建 从数据安全、通信安全、控制安全、身份安全等四个方面进行V2X场景数据积累研究 建立了V2X 测试场景库创建流程,形成测试用例3500条
场景库数据来源:标准法规、交通事故、人工经验以及自然驾驶数据。
场景库生成方案:场景数据采集、场景分类提取、场景数据标注、场景聚类、场景重构、虚拟场景转化等。
参考德国PEGASUS项目的场景分类体系及ASAM推出的OpenDRIVE 和OpenSCENARIO仿真格式
包括标准法规场景1000例、经验式场景3000+例、重构场景5万+例、事故场景150+例
2020年12月,“中国典型场景库”在V2.0版本的基础上升级到V3.0:
在2.0版本的基础上,新增了典型事故场景、自动驾驶事故场景和预期功能安全场景三大板块
涵盖总计20余项自动驾驶功能;总量大于10万例的OpenX标准格式场景文件
为了便于企业的自动驾驶技术开发,把场景库分为基础、初级、中级、高级四个模块等级
法规标准场景:满足基本的标准法规要求 危险工况场景:保证自动驾驶的安全性 能力评估场景:评价自动驾驶能力
涵盖场景类型:车辆避撞能力、交通合规性、行为能力、视距影响下交叉路口车辆冲突避免、碰撞预警、紧急制动、危险变道、无信号交叉口通行、行人横穿等方面。
典型场景类型数量:1000种左右
仿真平台一般包括仿真框架、物理引擎和图形引擎;其中仿真框架是平台软件平台的核心,支持传感器仿真、车辆动力学仿真、通信仿真、交通环境仿真等;
1)传感器仿真:支持支持摄像头、激光雷达、毫米波雷达以及GPS/IMU等传感器仿真;
2)车辆动力学仿真:基于多体动力学搭建的模型,将包括转向、悬架、制动、I/O硬件接口等在内的多个真实部件进行参数化建模,进而实现车辆模型运动过程中的姿态和运动学仿真模拟;
3)交通场景仿真:包括静态场景还原和动态场景仿真两部分,静态场景还原主要通过高精地图和三维建模技术来实现;
动态场景仿真既可通过把真实路采数据经过算法抽取后,再结合已有高精地图进行创建,也可通过对随机生成的交通流基于统计学的比例,经过人工设置相关参数后自动生成复杂的交通环境;
例如可模拟自动驾驶汽车在现实世界中可能遇到的极端情况和危险情况,从模拟暴雨和暴雪等恶劣的天气条件到较弱的光线照明,再到周围车辆的危险操作等;
4)V2X仿真(通信仿真):支持创建真实或虚拟传感器插件,使用户能够创建特殊的V2X传感器;既可以用来测试V2X系统,又可生成用于训练的合成数据;
平台类型:面向汽车自动驾驶技术与产品研发的一体化仿真与测试平台
支持实时在环仿真:MIL/SIL/HIL/DIL/VIL 支持ADAS技术与产品的开发与测试 支持驾驶模拟体验与人机共驾系统的研发与测试 支持感知、规划、决策、控制算法研发与测试 高置信度车辆动力学模型:支持27自由度复杂动力学模型
平台类型:覆盖自动驾驶全流程的一体化集成的仿真测试平台
可实现多传感器仿真、交通流与智能体仿真、感知与决策仿真、自动驾驶行为训练等功能 可扩展的并行分布式仿真架构,可部署在单机、私有云和公有云环境 支持实时在线仿真:HIL/DIL 自动驾驶数字孪生评价测试 平台内置了一系列场景库和测试案例库 软件平台提供Python、C++、ROS、OSI等API接口 支持多车协同互动:平台支持接入多个测试系统,包括自动和手动驾驶系统
平台类型:基于虚幻引擎打造的虚实结合、线上线下一体化的仿真测试平台
集成了游戏引擎、三维重建技术、车辆动力学模型、虚实一体交通流等技术 游戏技术的应用可实现场景的几何还原、逻辑还原及物理还原 一套系统满足全栈算法使用需求:能够完成从感知到决策规划,再到控制的全算法闭环仿真测试验证 一套系统满足MIL/SIL/HIL/VIL使用需求,覆盖了完整的汽车V字开发流程 内置高精地图,支持全国高速和快速路仿真
平台类型:基于德国自动驾驶仿真核心技术所研发的仿真测试平台
提供高保真的环境传感器仿真:激光雷达、毫米波雷达以及摄像头仿真等 提供C++和MATLAB接口,适配于不同的车辆和系统 提供三个版本的软件解决方案:Standard版-单机解决方案,NET版-云计算和互动测试解决方案,RT版-提供HIL和VIL仿真测试 支持交互式自动驾驶仿真:同一虚拟场景下,多台主机(车辆)进行互联仿真测试 提供基于VR/MR/AR的驾驶员模拟
类型:以物理模型为基础的传统汽车仿真平台
仿真流程主要分为四个步骤:搭建场景、添加传感器、添加控制系统、运行仿真 可在开环、 闭环以及离线和在线模式下运行 支持导入 OpenDrive 格式的高精地图 支持与第三方动力学软件联合仿真,如CarSim、dSPACE ASM、 VI-Grade、AmeSIM等 支持与其它类型第三方的软件的联合仿真,如Matlab& Simulink,MOMO & Logitech 转向操纵台 、dSPACE / 控制台、HIL工具(ETAS、dSPACE 、Vector、OpalRT等) 支持基于云端布置大规模仿真
类型:传统汽车仿真平台
支持从SIL 到 HIL 和 VIL 的全周期开发流程 支持与第三方的工具和插件联合仿真 平台的功能和存储支持开放格式:OpenDrive, OpenCRG和OpenScenario 仿真流程主要分三个步骤:路网搭建, 动态场景配置, 仿真运行
——提供图形化的交互式路网编辑器 Road Network Editor (ROD), 在构建路网仿真环境的时候,可以同步生成OpenDrive高精地图
—— 对于动态场景构建,提供了图形化的交互式场景编辑器 Scenario Editor
类型:以传统动力学仿真为基础优势发展起来的自动驾驶仿真平台
支持与第三方软件进行联合仿真:ADAMS、 AVLCruise、 rFpro 等 包括道路、交通环境、车辆、驾驶员的闭环仿真系统
—— IPG Road:可以模拟多车道、 十字路口等多种形式的道路, 并可通过配置 GUI生成锥形、 圆柱形等形式的路障
—— IPG Traffic:提供丰富的交通对象模型,如车辆、 行人、 路标、交通灯、 道路施工建筑等
支持高精地图的导入/导出
支持在高性能计算 (HPC) 集群上并行执行大量测试目录 支持在Docker容器中运行,具有良好的可移植性和可扩展性
类型:基于虚幻引擎开发,由两台服务器构成的自动驾驶仿真平台
较高真实度:作为一种实时的硬件在环解决方案,可以测试和验证与将来会搭载在自动驾驶车辆中完全相同软件和硬件系统 云仿真工作流:在无缝的端到端工作流中执行自动驾驶测试。用户可以远程访问 DRIVE Constellation 并将模拟场景提交给云端的车辆测试车队,然后进行可视化测试并以较快的速度给出评估结果 可扩展性:该平台支持在数据中心进行大规模部署,能够并行运行各种仿真测试;且在DRIVEConstellation平台中的每一英里的测试都包含感兴趣事件(特殊工况),能够在很短的时间内完成数月或数年的测试 完整的反馈回路:第一台服务器运行 DRIVE Sim 软件,该软件模拟仿真驾驶场景以及自动驾驶车辆上产生的传感器数据。然后将模拟仿真的传感器数据发送到第二台服务器上进行数据处理,最后第二台服务器再将驾驶决策信号输出给第一台服务器,因此便形成了一个仿真闭环
类型:建立在虚幻引擎(Unreal Engine)上的无人机及自动驾驶开源仿真平台
建立在虚幻引擎(Unreal Engine)上的无人机及自动驾驶模拟研究项目,能够打造出高逼真的交通环境,实现车辆及传感器仿真模拟 完成车辆建模测试:AirSim包含车辆模拟、城市道路场景,并提供可简化编程的API以及即插即用的代码 快速构建丰富场景:AirSim 可提供详细的 3D 城市街景,包括交通信号灯、公园、湖泊、工地等丰富的场景 AI 研究平台:AirSim 提供包括 C++ 和 Python 等多语言的API 接口。使用者可同时使用 AirSim 和众多机器学习工具。主要用于测试深度学习、 计算机视觉和自主车辆的端到端的强化学习算法
类型:基于虚幻引擎开发,采用服务器和多客户端架构的开源平台
用于城市自动驾驶系统的开发、训练和验证的开源模拟器 提供开源数字数据资源(包括城市布局、建筑以及车辆)搭建的自动驾驶测试训练场景 可使用Vector Zero的道路搭建软件RoadRunner制作场景和配套的高精地图 研究三种自动驾驶方法的性能:传统的模块化流水线,通过模仿学习训练得到的端到端模型,通过强化学习训练得到的端到端模型
类型:基于游戏引擎-Unity研发的自动驾驶开源仿真平台
模拟器支持ROS、ROS2和Cyber RT,提供了自动驾驶开源平台Autoware和百度Apollo的集成 支持自动驾驶系统的软件在环(SIL)和硬件在环(HIL)测试 虚拟场景构建 —— 提供Python API,使用户能够通过编写脚本来创建所需的虚拟场景
注:高精地图支持的导入/导出格式:
a.支持的导入格式:Apollo5.0高清地图、Autoware Vector map、Lanelet2和OpenDrive 1.4
传统的仿真测试一般是单机仿真测试,但高阶自动驾驶系统的商业化应用,需要进行庞大数量测试场景的仿真测试;海量的数据存储,运算及处理已经成为摆在自动驾驶研发道路上一道障碍,而云平台的分布式架构、加速计算能力以及高数据算力的特性,能够可以很好的解决这一问题,进而能够极大地提升系统研发和验证测试效率;因此,云平台仿真必将是未来自动驾驶仿真测试技术的发展趋势,同时也会是企业开展自动驾驶开发的核心技术壁垒之一。
附表4. 国内科技公司云仿真平台信息梳理
内部:支撑Apollo系统的开发与迭代 外部:为Apollo生态开发者提供基于云端的决策系统仿真服务
搭建在百度云和微软Azure上的云仿真平台 与Unity合作,开发基于 Unity 引擎的虚拟仿真环境 提出了端到端的自动驾驶仿真系统:AADS系统 - 基于数据驱动的交通流仿真框架 + 基于图像渲染的场景图片合成框架
平台提供三大服务:数据服务、训练服务、仿真服务;服务覆盖自动驾驶数据、模型、训练、仿真、标注等全生命周期业务;
数据服务:数据处理、数据湖治理、数据存储等 训练服务:大数据AI平台、模型管理、分布式训练任务等 仿真服务:场景库、仿真系统、评测系统等
解耦四大关键要素 - 硬件、数据、算法、高精地图,构建以数据驱动为核心,驱动自动驾驶闭环迭代的开放平台 数据的自动化处理:数据自动挖掘(平台可支持PB级数据量存储和亿级数据秒级检索)和数据自动化标注(可节省超过70%的标注人力成本) 一站式自动驾驶DevOps能力:通过从代码接入、版本管理,再到仿真、评测,形成了一套完整的、闭环的自动化评测系统 大规模并行仿真:系统每日虚拟测试里程可超过1000万公里,评测指标200+,支持3000个实例并发测试 真实场景数字孪生:可以将真实路采的典型路段数据转换成仿真场景,并与高精地图相结合,实现真场景数字孪生,可以实现95%以上的场景还原能力
分布式架构,支持在Windows、Linux和Web环境下部署 海量场景加速测试:该云平台支持一万个以上场景的并行计算,且1000个场景的运行时间缩短至4分钟 虚拟城市技术加速测试:可加载城市级高精地图,并同时部署上百万辆交通流车辆和上千台自动驾驶主车 构建自研的闭环仿真模型:自研车辆动力学、传感器、交通流、地图和场景编辑等全套模型,并支持OpenX系列和OSI国际仿真标准
引进真实路测场景和云端训练师,采用虚拟与现实结合的仿真技术; 规模化地解决了极端场景的复现难题:通过任意改变极端场景变量,平台可在30秒内复现一次极端场景;解决了极端场景数据不足,自动驾驶AI模型训练效率低的问题 每日虚拟测试里程超过800万公里
1)两个重要评价维度:真实性和有效性
场景信息真实度:在场景在构建过程中,需要合理准确的在虚拟环境中渲染测试场景中的静态环境要素(如交通设施、道路及障碍物等)、动态环境要素(动态指示设施、通信环境信息)、交通参与者要素(机动车/非机动车、行人等)以及气象环境要素(环境温度、光照条件、天气情况)等信息。
场景分布真实度:在参数重组场景中对于由特征元素组合和人工编辑合成的场景,由于人工修改参数后可能会出现真实世界不存在的场景,因此在人工编辑场景时需参考真实世界场景的参数值范围去合理化地设置参数重组场景。
目前尚未统一的有效性评价标准,当前可参考的标准如下:
基于功能的评价方法:针对特定的自动驾驶功能,在给定测试场景的前提下,判断测试的自动驾驶汽车是否可以在该场景中安全行驶 基于场景的评价方法:将测试车辆置于测试场景中,在自动驾驶汽车能够安全行驶的前提下,判断该场景的复杂程度,例如周围环境的复杂程度或驾驶任务的复杂程度等
通过性评价指标:针对自动驾驶做出判断以及规定场景内必须实现目标的评价;如安全性、完备性、经济性、人工干预度等评价指标,量化上采取0/1机制 性能评价指标:表征自动驾驶汽车在具体测试场景下预期功能实现的程度;如智能性、舒适性、拟人性等评价指标,量化上采取差值机制
没有统一的数据格式标准,企业之间的场景库建设缺乏合作,资源重复性投入大; 场景库数据的标注、分析提取等环节仍然依靠大量人工,场景库建设效率低,成本高; 场景库的覆盖率依然不高,不足以覆盖常见的交通场景; 穷举覆盖全场景的测试用例与测试效率和测试精度如何平衡。
测试场景有限,在测试方法的标准化与仿真虚拟测试应用上还较为薄弱; 目前尚无一款完美的自动驾驶仿真软件,能够实现所有模块的仿真测试功能,仍然需要多个仿真软件进行联合仿真;不同自动驾驶仿真软件,往往需要开发不同的仿真接口,不仅增加了时间成本,也增加了工程师的学习成本; 仿真环境缺乏现实世界物理现实的真实性和丰富性,并且训练效果有限,可扩展性差; 系统仿真软件也存在自身固有的弱点,比如仿真模型需要对边界条件进行明确的假设,但现实中这些边界条件不一定能明确或者不能真实地获取; 传感器模型、车辆动力学模型以及道路环境模型的准确性都会影响到仿真测试结果准确性,因此提高仿真测试结果的可信度也是当前一个较大的挑战。
不同的企业采用的仿真软件系统架构和场景库构建方法不尽相同,导致很难建立统一规范的仿真测试评价体系; 仿真软件自身的真实性和有效性方面的评价尚无统一的标准规范,且车辆的学习进化性方面还缺乏相应评价标准。
备注:
1. 《九章智驾》有个“汽车人转型交流群”,里面也会分享一些招聘的机会,有想加入的朋友可以扫描以下二维码加陈康成的微信,并提供一下简历,然后拉您入群。加微信时务必备注您的真实姓名及岗位等信息,谢谢。
2. 如果您有兴趣给《九章智驾》投稿(“转型经历总结”及“知识积累整理”两个方向),请扫描以下二维码加孙利的微信。加微信时务必备注您的真实姓名及岗位等信息,谢谢。
“知识积累”类稿件质量要求:A,信息密度高于绝大多数券商的绝大多数报告,不低于《九章智驾》的平均水平;B,信息要高度稀缺,需要80%以上的信息是在其他媒体上看不到的,如果基于公开信息,需要有特别牛逼的独家观点才行。多谢理解与支持。