自动驾驶系统的场景仿真是自动驾驶车辆测试和试验的基础关键技术,也是未来行业定义自动驾驶车辆相关开发与准入技术标准的基础工具。场景仿真测试与真实物理测试互为补充,缺一不可。基于场景的测试方法可以弥补基于里程的测试方法的局限性,在提高系统开发效率、产品落地效率方面都有重要作用。
自动驾驶仿真测试平台必须要具备几种核心能力:真实还原测试场景、高效利用路采数据生成仿真场景、云端大规模并行加速等。这使得仿真测试满足自动驾驶感知、决策规划和控制全栈算法的闭环。目前,众多科技公司、车企、自动驾驶方案解决商、仿真软件企业、高校及科研机构等主体都在积极投身虚拟仿真平台的建设。
在场景仿真领域,当前国内外行业仿真软件百花齐放,各软件实现的功能多样、模型精度不一。整体来看,国外在场景仿真领域起步较早,相对成熟的仿真软件较多,且形成了较为完整的仿真测试软硬件体系;国内场景仿真虽起步晚,但得益于中国驾驶场景的多样化,国内仿真软件在场景数据与云仿真领域也具备一定的先进性。本节将针对国内外部分仿真软件的场景仿真技术进行简单介绍。
1.VTD
VTD(Virtual Test Drive)是德国VIRES公司开发的一套用于ADAS、主动安全和自动驾驶的完整模块化仿真工具链。VIRES已经于2017年被MSC软件集团收购。VTD目前运行于Linux平台,它的功能覆盖了道路环境建模、交通场景建模、天气和环境模拟、简单和物理真实的传感器仿真、场景仿真管理以及高精度的实时画面渲染等,可以支持从SIL到HIL和VIL的全周期开发流程,开放式的模块式框架可以方便地与第三方的工具和插件联合仿真。VIRES也是广泛应用的自动驾驶仿真开放格式OpenDRIVE、OpenCRG和OpenSCENARIO的主要贡献者,VTD的功能和存储也依托于这些开放格式。VTD的仿真流程主要由路网搭建、动态场景配置、仿真运行三个步骤组成。
1)VTD提供了图形化的交互式路网编辑器Road Network Editor(ROD),在使用各种交通元素构建包含多类型车道复杂道路仿真环境的同时,可以同步生成OpenDRIVE高精地图。
2)在动态场景的建立上,VTD提供了图形化的交互式场景编辑器ScenarioEditor,提供了在OpenDRIVE基础上添加用户自定义行为控制的交通体,或者是某区域连续运行的交通流。
无论是SIL还是HIL,无论是实时还是非实时的仿真,无论是单机还是高性能计算的环境,VTD都提供了相应的解决方案。VTD运行时可模拟实时高质量的光影效果及路面反光、车身渲染、雨雪雾天气渲染、传感器成像渲染、大灯光视觉效果等(图2-1)。
2.PreScan
PreScan是由Tass International研发的一款ADAS测试仿真软件,2017年8月被西门子收购。PreScan是一个模拟平台,由基于GUI的、用于定义场景的预处理器和用于执行场景的运行环境构成。工程师用于创建和测试算法的主要界面包括MATLAB和Simulink。PreScan可用于从基于模型的控制器设计(MIL)到利用软件在环(SIL)和硬件在环(HIL)系统进行的实时测试等应用。PreScan可在开环、闭环以及离线和在线模式下运行。它是一种开放型软件平台,其灵活的界面可连接至第三方的汽车动力学模型(如CarSIM和dSPACE ASM)和第三方的HIL模拟器/硬件(如ETAS、dSPACE和Vector)。PreScan由多个模块组成,使用起来主要分为四个步骤:搭建场景、添加传感器、添加控制系统、运行仿真(图2-2)。
图2-1 VTD软件场景仿真界面
1)搭建场景:PreScan提供一个强大的图形编辑器,用户可以使用道路分段,包括交通标牌、树木和建筑物的基础组件库,包括机动车、自行车和行人的交通参与者库,修改天气条件(如雨、雪和雾)以及光源(如太阳光、车灯和路灯)来构建丰富的仿真场景。新版的PreScan也支持导入OpenDRIVE格式的高精地图,用来建立更加真实的场景。
2)添加传感器:PreScan支持种类丰富的传感器,包括理想传感器、V2X传感器、激光雷达、毫米波雷达、超声波雷达、单目和双目相机、鱼眼相机等。用户可以根据自己的需要进行添加。
3)添加控制系统:可以通过MATLAB/Simulink建立控制模型,也可以和第三方动力学仿真模型(如CarSIM、VI-Grade,dSPACE ASM的车辆动力学模型)进行闭环控制。
图2-2 PreScan软件场景仿真界面
4)运行仿真:3D可视化查看器允许用户分析仿真的结果,同时可以提供图片和动画生成功能。此外,使用ControlDesk和LabView的界面可以用来自动运行仿真批次的场景以及运行硬件在环模拟。
3.CarMaker
CarMaker以及相关的TruckMaker和MotorcycleMaker是德国IPG公司推出的动力学、ADAS和自动驾驶仿真软件。CarMaker首先是一个优秀的动力学仿真软件,提供了精准的车辆本体模型(发动机、底盘、悬架、传动、转向等),除此之外,CarMaker还打造了包括车辆、驾驶员、道路、交通环境的闭环仿真系统(图2-3)。
图2-3 CarMaker软件场景仿真界面
1)IPG Road:可以模拟多车道、十字路口等多种形式的道路,并可通过配置GUI生成锥形、圆柱形等形式的路障;可对道路的几何形状以及路面状况(不平度、粗糙度)进行任意定义。
2)IPG Traffic:交通环境模拟工具,提供丰富的交通对象(车辆、行人、路标、交通灯、道路施工建筑等)模型,可实现对真实交通环境的仿真。测试车辆可识别交通对象并由此进行动作触发(如限速标志可触发车辆进行相应的减速动作)。
3)IPG Driver:先进的、可自学习的驾驶员模型,可控制在各种行驶工况下的车辆,实现诸如上坡起步、入库泊车以及甩尾反打方向盘等操作;并能适应车辆的动力特性(驱动形式、变速器类型等)、道路摩擦系数、风速、交通环境状况,调整驾驶策略。
CarMaker作为平台软件,可以与很多第三方软件进行集成,如ADAMS、AVLCruise、rFpro等,可利用各软件的优势进行联合仿真。同时,CarMaker配套的硬件提供了大量的板卡接口,可以方便地与ECU或者传感器进行HIL测试。
4.PTV Vissim
Vissim是德国PTV公司提供的一款世界领先的微观交通流仿真软件。Vissim可以方便地构建各种复杂的交通环境,包括高速公路、大型环岛、停车场等,也可以在一个仿真场景中模拟包括汽车、轨道交通和行人的交互行为(图2-4)。它是专业规划和评价城市与郊区交通设施的有效工具,也可以用来仿真局部紧急情况交通的影响、大量行人的疏散等。Vissim的仿真可以达到很高的精度,包括微观的个体跟驰行为和变道行为,以及群体的合作和冲突。Vissim内置了多种分析手段,既能获得不同情况下的多种具体数据结果,也可以从高质量的三维可视化引擎获得直观的理解。无人驾驶算法也可以通过接入Vissim的方式使用模拟的高动态交通环境进行仿真测试。
图2-4 PTV Vissim软件场景仿真界面
5.CarSim
CarSim以及相关的TruckSim和BikeSim是Mechanical Simulation公司开发的强大的动力学仿真软件,被世界各国的主机厂和供应商广泛使用。CarSim针对乘用车、轻型货车,TruckSim针对多轴和双轮胎的货车,BikeSim针对两轮摩托车。CarSim是一款整车动力学仿真软件,主要从整车角度进行仿真,它内建了相当数量的车辆数学模型,并且这些模型都有丰富的经验参数,用户可以快速使用,免去了繁杂的建模和调参的过程。CarSim模型在计算机上运行的速度可以比实时快10倍,可以仿真车辆对驾驶员控制、3D路面及空气动力学输入的响应,模拟结果高度逼近真实车辆,主要用来预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性(图2-5)。CarSim自带标准的Matlab/Simulink接口,可以方便地与Matlab/Simulink进行联合仿真,用于控制算法的开发,同时在仿真时可以产生大量数据结果,用于后续使用Matlab或者Excel进行分析或可视化。CarSim同时提供了RT版本,可以支持主流的HIL测试系统,如dSPACE和NI的系统,方便联合进行HIL仿真。
CarSim也有ADAS相关功能的支持,可以构建参数化的道路模型以及200个以上运动的交通物体,使用脚本或者通过Simulink外部控制它们的运动,同时添加最多99个传感器,对运动和静止的物体进行检测。最近的CarSim版本在ADAS和自动驾驶开发方面进行了加强,添加了更多的3D资源,如交通标识牌、行人等,以及高精地图的导入流程。同时CarSim也提供了一个Unreal引擎插件,可以和Unreal引擎进行联合仿真。
图2-5 CarSim软件场景仿真界面
6.RightHook
RightHook是一家成立于美国加利福尼亚州的初创公司,为自动驾驶行业提供仿真解决方案。RightHook提供了一整套的工具链,包括RightWorld、RightWorldHD、RightWorldHIL等(图2-6)。RightWorld提供了从高精地图自动重建有丰富细节的虚拟场景的流程,同时提供了简单易用的测试案例创建流程,在案例创建后通过AI算法可以对案例进行有机的扩展。RightWorld也提供了包含车辆、行人和自行车的确定性的智能交通仿真模型。RightWorldHD对动力学、天气、时间变化和传感器(包括摄像头、Lidar、Radar、IMU和GPS)的模拟,同时支持丰富的(包括NVIDIA DriveWorks、LCM和ROS)接口。RightWorldHIL提供了对于混合了软件,算法和硬件的HIL测试的支持。
图2-6 RightHook软件场景仿真界面
7.NVIDIA Drive Constellation
NVIDIA Drive Constellation是NVIDIA推出的自动驾驶仿真平台,在硬件上主要由两部分组成:一台是DGX服务器,上面运行着Drive Sim软件系统,依托DGX的强大图形计算能力,真实地仿真了实际环境中的光照、夜晚和各种天气变化;另外一台服务器搭载了DRIVE AGX Pegasus车载计算机,用来运行自动驾驶全栈的算法,两部分形成了完整的HIL仿真闭环(图2-7)。
8.AAI
AAI(Automotive Artificial Intelligence)是一家2017年成立于柏林的初创公司。AAI构建了一套复杂的基于高精地图创建的高仿真虚拟环境,将利用人工智能技术将交通参与者集成到虚拟仿真环境中,并利用来自于实际生活中的驾驶行为数据,使用机器学习算法训练参与者行为,从而产生攻击型驾驶员、温和型驾驶员和防御型驾驶员等驾驶员档案,其目标是复制真实世界,逼真地模拟所有道路使用者和环境因素。AAI支持多种传感器模拟,也提供分析器对仿真产生的数据进行深入的分析(图2-8)。
图2-7 NVIDIA Drive Constellation软件场景仿真界面
图2-8 AAI软件场景仿真界面
9.AirSim
AirSim是微软研究院开源的一个建立在虚幻引擎(Unreal Engine)上的无人机以及自动驾驶模拟研究项目。AirSim实现为一个虚幻引擎的插件,它充分利用了虚幻引擎打造高还原的逼真虚拟环境的能力,可以模拟阴影、反射等现实世界中的环境,以及虚拟环境可以方便产生大量标注数据的能力,同时提供了简单方便的接口,可以让无人机和自动驾驶的算法接入进行大量的训练(图2-9)。AirSim的主要目标是作为AI研究的平台,以测试深度学习、计算机视觉和自主车辆的端到端的强化学习算法。最新的AirSim也提供了Unity引擎的版本,添加了激光雷达的支持。
图2-9 AirSim软件场景仿真界面
1.AD Chauffeur
AD Chauffeur仿真云平台(以下简称“AD Chauffeur”)作为一款由中汽数据有限公司自主研发的集驾驶数据仿真场景库、复杂车辆动力学模型、多层次在环仿真、仿真测试评价、云测试等于一体的自动驾驶虚拟仿真测试软件,为自动驾驶系统仿真验证提供建模、开发、测试、评价一体化解决方案(图2-10)。
目前AD Chauffeur已集成了仿真测试场景数据库、场景编辑、产品级动力学仿真、传感器仿真、自动化测试、快速验证、多层次在环测试、云端仿真、智能驾驶算法开发9大功能模块和23项子功能模块,从而可提高自动驾驶系统开发和验证的效率,满足自动驾驶应用功能和系统安全的要求,保证其安全性及可控性。
图2-10 AD Chauffeur的功能模块
AD Chauffeur相比国际同类仿真工具,在自动化测试系统、云仿真测试评价方法、多种静态模型编辑导入、动态交通流模拟、仿真工作流引擎、多用户高并发等卡脖子技术方面进行了创新突破。通过“世界智能驾驶挑战赛”等实践验证,平台在同一时间节点可保证100个以上任务提交的大规模高并发。
根据中汽数据已建立的国内独有的面向自动驾驶的仿真场景库,AD Chauffeur内置场景库包含了自然驾驶场景库、标准法规场景库、事故场景库和参数重组场景库、交通法规场景库、V2X场景库、预期功能安全场景库7大维度共500余类仿真测试场景(后期可扩展),可提供ADAS功能测试场景及部分自动驾驶功能测试场景(图2-11)。此外,AD Chauffeur按不同的自动驾驶功能将自然驾驶场景库细分成一一对应的功能场景库,为自动驾驶系统开发和测试提供评判手段。
2.PanoSim
PanoSim是一款面向汽车自动驾驶技术与产品研发的一体化仿真与测试平台,包括高精度车辆动力学模型、高逼真汽车行驶环境与交通模型、车载环境传感器模型和丰富的测试场景等,以及面向汽车自动驾驶软硬件开发的场景及交通流构建、车辆建模、环境传感器构建、虚拟试验台、动画与绘图等系列工具链,具有很强的开放性与拓展性,支持第三方的二次定制化开发,操作简便友好(图2-12)。
PanoSim中的场景编辑器(FieldBuilder)主要用于创建或编辑仿真实验所需三维虚拟场景和环境(包括道路和道路网络结构、道路路面和车道信息、地形、周边建筑和交通设施等),其功能特色包括:通过在二维平面任意且友好地绘制道路线或道路网络线,或通过导入道路线或地图数据,系统自动生成包含道路、车道线、地形和周边环境的三维试验场景;支持对车道线、道路路面纹理、附着属性、周边环境、地形高度等信息的灵活定制和同步预览,兼容多种格式复杂的路面特征信息,自动生成所见即所得的逼真三维虚拟试验场景;支持用户分组自定义丰富的场景数据库,最大程度利用已有基础场景元素进行复制组装并快速生成同类新场景,能够为数字化虚拟试验场的构建提供完整的解决方案。
图2-11 AD Chauffeur场景仿真界面
图2-12 PanoSim场景仿真界面
PanoSim中试验设置运行承担PanoSim核心操作枢纽角色,涵盖试验分组管理、选择试验场景、设置环境条件(如天气等)、摆放试验车辆、安装车载传感(如摄像机、雷达等)、部署交通元素(如路障、交通标志等)、设置交通模型(如干扰交通、随机交通等)、设置试验参数、设置驾驶参数、试验运行跟踪(与Matlab/Simulink无缝集成)等多项子模块。
3.51Sim-One
51Sim-One是51VR自主研发的一款集多传感器仿真、交通流与智能体仿真、感知与决策仿真、自动驾驶行为训练等一体化的自动驾驶仿真与测试平台。该仿真平台基于物理特性的机理建模,具有高精度和实时仿真的特点,用于自动驾驶产品的研发、测试和验证,可为用户快速积累自动驾驶经验,保证产品性能安全性与可靠性,提高产品研发速度并降低开发成本。
通过WorldEditor快速地从无到有创建基于OpenDRIVE的路网,或者通过点云数据和地图影像等真实数据还原路网信息;支持导入已有的OpenDRIVE格式的文件进行二次编辑,最终由51Sim-One自动生成所需要的静态场景;支持在场景中自由地配置全局交通流、独立的交通智能体、对手车辆、行人等元素来构建动态场景,结合光照、天气等环境的模拟来呈现丰富多变虚拟世界(图2-13)。
图2-13 51Sim-One场景仿真界面
51Sim-One已经内置了一系列场景库和测试案例库,无论是开放区域的真实场景、大规模的城市道路还是乡村道路、高速公路、停车场等环境都可以轻松再现,再加上大量的危险工况测试案例,能快速达成测试目标。
4.Pilot-D GaiA
GaiA(Generatable artificial interactive Automation)系统是一款由沛岱(上海)汽车技术有限公司(Pilot-D Automotive)基于德国自动驾驶仿真核心技术研发的,用于自动驾驶和高级驾驶员辅助系统开发和验证的仿真工具开发架构。该软件可以构建不同宽度、长度、俯仰/侧倾角和曲线以及十字路口的路段,可以为每个路段定义单独的摩擦系数和道路附件,如交通车道、非机动车道或人行道(图2-14)。另外该软件可以添加模型库中的路边对象,且可以随时扩展该库。该模块也支持采集的现实场景的重现。交通参与者(包括自行车和行人)可以轻松被生成。他们的运动状态可以单独设置,也可以由标准自动运动模式控制。由此生成的AI智能交通可以覆盖绝大多数的现实交通状况。GaiA的天气控制模块可以对自动测试时的天气进行改变,模拟现实环境中雨、雪等天气,以及这些天气对毫米波雷达等环境感知传感器和车辆控制的影响。
图2-14 GaiA场景仿真界面
5.TADSim
腾讯TAD Sim以高精度地图为基础,凭借腾讯的游戏引擎、虚拟现实、云游戏技术,集成工业级的车辆动力学模型和渲染引擎,辅以三维重建技术和虚实一体交通流,可实现自动驾驶感知、决策、控制等全部模块的闭环仿真验证。在仿真系统中,腾讯利用现实中采集的高精度地图模拟场景,并通过无人机和地面激光雷达扫描成像构建完整的3D环境(图2-15)。这意味着,仿真系统内除高精度地图外,外部激光点云及视觉信息同样包含在内。在车辆动力学模型方面,TAD Sim可提供简易模型,并支持第三方模型及车厂自有模型。在交通流方面,基于高精度地图真实道路数据模拟交通流,腾讯模拟仿真系统可自设定编辑交通流,加入随机化、人工设定的交通流。
图2-15 TADSim场景仿真界面