自动驾驶汽车在真正商业化应用前,需要经历大量的道路测试才能达到商用要求。采用路测来优化自动驾驶算法耗费的时间和成本太高,且开放道路测试仍受到法规限制,极端交通条件和场景复现困难,测试安全存在隐患。目前,自动驾驶仿真测试已经被行业广泛接受,自动驾驶算法测试大约 90% 通过仿真平台完成,9% 在测试场完成,1% 通过实际路测完成。
自动驾驶仿真测试平台必须要具备几种核心能力:真实还原测试场景、高效利用路采数据生成仿真场景、云端大规模并行加速等,使得仿真测试满足自动驾驶感知、决策规划和控制全栈算法的闭环。目前包括科技公司、车企、自动驾驶方案解决商、仿真软件企业、高校及科研机构等主体都在积极投身虚拟仿真平台的建设。
本文详细介绍了现有的自动驾驶仿真软件,供读者了解参考,软件排名不分先后。
1. CarSimCarSim,还有相关的TruckSim和BikeSim是Mechanical Simulation 公司开发的强大的动力学仿真软件,被世界各国的主机厂和供应商所广泛使用。CarSim针对四轮汽车,轻型卡车, TruckSim针对多轴和双轮胎的卡车,BikeSim针对两轮摩托车。CarSim是一款整车动力学仿真软件,主要从整车角度进行仿真, 它内建了相当数量的车辆数学模型,并且这些模型都有丰富的经验参数, 用户可以快速使用,免去了繁杂的建模和调参的过程。
CarSim模型在计算机上运行的速度可以比实时快10倍,可以仿真车辆对驾驶员控制, 3D路面及空气动力学输入的响应,模拟结果高度逼近真实车辆,主要用来预测和仿真汽车整车的操纵稳定性、 制动性、平顺性、 动力性和经济性。CarSim自带标准的Matlab/Simulink接口,可以方便的与 Matlab/Simulink进行联合仿真,用于控制算法的开发,同时在仿真时可以产生大量数据结果用于后续使用Matlab或者Excel进行分析或可视化。CarSim同时提供了RT版本,可以支持主流的 HIL测试系统,如 dSpace和NI的系统,方便的联合进行 HIL仿真。
CarSim也有ADAS相关功能的支持,可以构建参数化的道路模型, 200个以上的运动的交通物体,使用脚本或者通过 Simulink外部控制它们的运动,同时添加最多 99个传感器,对运动和静止的物体进行检测。最近的 CarSim版本在ADAS和自动驾驶开发方面进行了加强,添加了更多的 3D资源,如交通标识牌, 行人等,以及高精地图的导入流程。同时 CarSim也提供了一个Unreal引擎插件,可以和Unreal引擎进行联合仿真。
Carmaker,还有相关的 TruckMaker和MotorcycleMaker是德国IPG公司推出的动力学,ADAS和自动驾驶仿真软件。Carmaker首先是一个优秀的动力学仿真软件,提供了精准的车辆本体模型(发动机、 底盘、 悬架、传动、 转向等) , 除此之外, Carmaker还打造了包括车辆,驾驶员, 道路, 交通环境的闭环仿真系统。
IPGRoad:可以模拟多车道、 十字路口等多种形式的道路,并可通过配置 GUI生成锥形、圆柱形等形式的路障。可对道路的几何形状以及路面状况(不平度、粗糙度)进行任意定义。
IPGTraffic:是交通环境模拟工具, 提供丰富的交通对象(车辆、行人、 路标、交通灯、 道路施工建筑等)模型。 可实现对真实交通环境的仿真。测试车辆可识别交通对象并由此进行动作触发(如限速标志可触发车辆进行相应的减速动作)。
IPGDriver:先进的、 可自学习的驾驶员模型。可控制在各种行驶工况下的车辆,实现诸如上坡起步、 入库泊车以及甩尾反打方向盘等操作。并能适应车辆的动力特性(驱动形式、变速箱类型等)、道路摩擦系数、 风速、 交通环境状况, 调整驾驶策略。
CarMaker作为平台软件,可以与很多第三方软件进行集成, 如 ADAMS、AVLCruise、rFpro等,可利用各软件的优势进行联合仿真。同时 CarMaker配套的硬件,提供了大量的板卡接口,可以方便的与 ECU或者传感器进行HIL测试。
PreScan是由TassInternational 研发的一款ADAS测试仿真软件,2017年8月被西门子收购。PreScan是一个模拟平台,由基于 GUI的、用于定义场景的预处理器和用于执行场景的运行环境构成。工程师用于创建和测试算法的主要界面包括 MATLAB和Simulink。PreScan可用于从基于模型的控制器设计(MIL)到利用软件在环(SIL)和硬件在环(HIL)系统进行的实时测试等应用。
PreScan可在开环、闭环以及离线和在线模式下运行。它是一种开放型软件平台,其灵活的界面可连接至第三方的汽车动力学模型(例如:CarSIM和dSPACEASM)和第三方的 HIL模拟器/硬件(例如:ETAS、dSPACE和Vector)。
Prescan由多个模块组成, 使用起来主要分为四个步骤: 搭建场景、添加传感器、 添加控制系统、 运行仿真。
场景搭建:PreScan 提供一个强大的图形编辑器,用户可以使用道路分段, 包括交通标牌, 树木和建筑物的基础组件库,包括机动车, 自行车和行人的交通参与者库,修改天气条件(如雨, 雪和雾) 以及光源(如太阳光,大灯和路灯) 来构建丰富的仿真场景。 新版的PreScan也支持导入OpenDrive格式的高精地图,用来建立更加真实的场景。
添加传感器:PreScan 支持种类丰富的传感器,包括理想传感器, V2X传感器,激光雷达,毫米波雷达, 超声波雷达, 单目和双目相机, 鱼眼相机等。用户可以根据自己的许要进行添加。
添加控制系统:可以通过MATLAB/ Simulink 建立控制模型,也可以和第三方动力学仿真模型(如 CarSim,VI-Grade,dSpace ASM 的车辆动力学模型)进行闭环控制。
运行实验:3D 可视化查看器允许用户分析实验的结果,同时可以提供图片和动画生成功能。此外, 使用ControlDesk和LabView的界面可以用来自动运行实验批次的场景以及运行硬件在环模拟。
Vissim是德国PTV公司提供的一款世界领先的微观交通流仿真软件。Vissim可以方便的构建各种复杂的交通环境,包括高速公路, 大型环岛, 停车场等,也可以在一个仿真场景中模拟包括机动车, 卡车,有轨交通和行人的交互行为。它是专业的规划和评价城市和郊区交通设施的有效工具,也可以用来仿真局部紧急情况交通的影响,大量行人的疏散等。
Vissim的仿真可以达到很高的精度,包括微观的个体跟驰行为和变道行为, 以及群体的合作和冲突。Vissim内置了多种分析手段,既能获得不同情况下的多种具体数据结果,也可以从高质量的三维可视化引擎获得直观的理解。 无人驾驶算法也可以通过接入Vissim的方式使用模拟的高动态交通环境进行仿真测试。
TESS仿真系统是同济大学孙剑教授于2006年主持开发的第一代道路交通仿真系统。自此之后,历经十年,孙剑教授课题组针对中国混合交通流运行特征开展了100多项模型创新和仿真系统应用实践。TESS NG微观交通仿真系统所具有的主要功能有:全交通场景仿真,多模式交通仿真,智能交通系统仿真,可视化评估,二次开发接口,支持3D场景展示等。同时,TESS NG可以与城市交通大脑、交通控制系统、可计算路网(如OpenDrive,OpenStreetMap等)一体化整合,同时可与驾驶模拟器、BIM/CIM系统、智能汽车虚拟测试工具等整合实现跨行业应用。用户还可以通过定制化服务实现更多跨行业的应用。
SUMO是由德国国家宇航中心开发的开源微观连续交通流仿真软件。它附带了一个交通仿真路网编辑器, 可以通过交互式编辑的方式添加道路,编辑车道的连接关系, 处理路口区域, 编辑信号灯时序等。也可以通过一个单独的转化程序转换来自 Vissim,OpenStreetMap,OpenDrive的路网。可以通过编辑路由文件的方式指定每辆车辆的路由,或者使用参数随机生成。 在运行时,可以同时处理数平方公里, 多达几万辆的车辆的连续交通仿真需求,同时也提供了一个基于OpenGL的可视化端实时显示交通仿真的结果。
另外, SUMO还提供了方便的C++和Matlab接口,可以灵活的与第三方仿真程序联合运行。SUMO本身是做为交通领域流量,时序, 预测等仿真来使用的,最近逐渐开始应用在无人驾驶的仿真上,为无人驾驶算法提供随机的复杂动态环境。
VTD (VirtualTest Drive)是德国 VIRES公司开发的一套用于ADAS,主动安全和自动驾驶的完整模块化仿真工具链。VIRES已经于2017年被MSC软件集团收购。VTD目前运行于Linux平台,它的功能覆盖了道路环境建模、 交通场景建模、天气和环境模拟、 简单和物理真实的传感器仿真、场景仿真管理以及高精度的实时画面渲染等。可以支持从SIL到HIL和VIL的全周期开发流程,开放式的模块式框架可以方便的与第三方的工具和插件联合仿真。VIRES也是广泛应用的自动驾驶仿真开放格式OpenDrive,OpenCRG和OpenScenario的主要贡献者,VTD的功能和存储也依托于这些开放格式。VTD的仿真流程主要由路网搭建,动态场景配置, 仿真运行三个步骤组成。
2)在动态场景的建立上,VTD提供了图形化的交互式场景编辑器ScenarioEditor,提供了在 OpenDrive基础上添加用户自定义行为控制的交通体,或者是某区域连续运行的交通流。
rFpro是一家英国公司,成立于 2008年,一开始作为一个 F1车队内部的赛道重建和仿真模拟项目,这也决定了它一开始就对仿真的速度, 实时性和精度有较高的要求。rFPro使用高精度的相位法激光雷达扫描数据路面和路肩,可以生成分辨率为 1cm的高精度路面数字模型,同时使用 TOF激光雷达扫描路侧的街道和场景,通过这种方式可以为动力学仿真, ADAS,自动驾驶测试提供和真实环境高度匹配的虚拟场景。rFpro使用这种方法创建了众多赛道和测试场景的高精度虚拟场景,包括 F1,NASCAR,IndyCar 等。
在动态场景仿真方面,rFpro可以接入SUMO或者Vissim,用它们生成连续的交通流来填充整个场景, 也可以与Carmaker联合仿真,为 Carmaker的测试场景提供更真实的传感器和路面输入。rFpro也提供了基于物理真实的光照和天气系统,可以有效的模拟天光的变化和雨、雾等天气。
Cognata是一家成立于2016年的以色列的自动驾驶仿真初创公司,在 2018年底完成了1850万美元的B轮融资。Cognata利用人工智能、深度学习和计算机视觉的结合, 在其 3D模拟平台上重现了城市,为客户提供各种模拟现实世界测试驾驶的测试场景。
Cognata的技术主要分为三个方面, 在静态环境方面,Cognata的TrueLife3DMesh 引擎使用计算机视觉和深度学习算法,根据地图和卫星图像自动生成包括建筑物, 道路,车道标识, 交通标志的虚拟仿真环境。在动态仿真方面,Cognata根据街道历史流量数据建立精确和可扩展的交通仿真模型和天气光照模型,模拟了真实环境下各种车辆和行人。整个的虚拟仿真引擎结合了静态和动态的仿真模型,模拟了传感器与模拟环境中各种变化的相互作用,为待测试的自动驾驶系统提供了完整的反馈回路。
Cognata的仿真技术由NVIDIADGX Station 提供支持,2019年3月,Cognata宣布和NVIDIA建立合作关系,在 NVIDIA的平台上利用其强大的计算能力在虚拟环境中模拟多辆虚拟车辆进行大规模测试。
RightHook是一家成立于美国加州的初创公司,为自动驾驶行业提供仿真解决方案。RightHook提供了一整套的工具链,包括 RightWorld,RightWorldHD,RightWorldHIL等。RightWorld提供了从高精地图自动重建有丰富细节的虚拟场景的流程,同时提供了简单易用的测试案例创建流程, 在案例创建后通过AI算法可以对案例进行有机的扩展。RightWorld也提供了包含车辆,行人和自行车的确定性的智能交通仿真模型。
RightWorldHD对动力学,天气, 时间变化和传感器(包括摄像头, Lidar,Radar,IMU和GPS)的模拟, 同时支持丰富的包括 NVIDIADriveWorks,LCM和ROS的接口。RightWorldHIL提供了对于混合了软件,算法和硬件的 HIL测试的支持。
ParallelDomain 是一家初创公司,2017年在美国加州成立。2018年底,ParallelDomain获得了Toyota的投资。ParallelDomain 致力于自动生成高质量的虚拟环境,其研发的软件可以在很短的时间内自动生成所需测试的城市街区。
ParallelDomain平台使用真实世界地图数据,可以接收多种地图格式, 在地图不能提供足够数据的地方使用额外的元素,依托程序化生成引擎自动生成虚拟世界。一个显著的特点是虚拟世界的所有元素都是可调整和可编程的,例如车道数量, 地形类型, 山脉位置, 道路曲率等。ParallelDomain 也为自动生成的场景提供了动态的交通场景。
51Sim-One是51VR自主研发的一款集多传感器仿真、交通流与智能体仿真、感知与决策仿真、自动驾驶行为训练等一体化的自动驾驶仿真与测试平台。该仿真平台基于物理特性的机理建模, 具有高精度和实时仿真的特点,用于自动驾驶产品的研发、 测试和验证,可为用户快速积累自动驾驶经验, 保证产品性能安全性与可靠性,提高产品研发速度并降低开发成本。
在场景构建方面,可以通过 WorldEditor快速地从无到有创建基于OpenDrive的路网,或者通过点云数据和地图影像等真实数据还原路网信息。支持导入已有的 OpenDrive格式的文件进行二次编辑,最终由 51Sim-One自动生成所需要的静态场景。 支持在场景中自由地配置全局交通流、独立的交通智能体、 对手车辆、行人等元素来构建动态场景,结合光照、 天气等环境的模拟来呈现丰富多变虚拟世界。
在传感器仿真方面,51Sim-One支持通用类型或者定制需求传感器的多路仿真,满足对于感知系统算法的测试与训练,同时也支持各种硬件在环的测试需求。对于摄像头仿真,51Sim-One提供语义分割图、深度图、 2D/3D包围盒等带注释的图像数据集,单目, 广角, 鱼眼等摄像头的仿真。对于雷达仿真,可以提供激光雷达点云原始数据, 带标注点云数据,识别物的包围盒等数据同时也提供目标级毫米波雷达检测物数据。
GaiA是由沛岱(上海)研发的自动驾驶和 ADAS开发验证仿真工具。它可以通过整合路网数据库进行复杂道路的还原,更可以通过环境建筑模型库的使用,重现逼真的驾驶环境。GaiA提供了丰富的C++和matlab接口,可适用于各种待测驾驶车辆和系统。GaiA可以生成数目众多的交通参与者,并对其交通行为规划进行手动和自动设置,甚至可以改变驾驶行为的激进程度。GaiA还提供了高保真的环境感知传感器,包括毫米波雷达, 激光雷达, 摄像头等。
14. MetamotoMetamoto成立于2016年,是一家硅谷初创公司。Metamoto为自动驾驶公司提供“模拟即服务” (Simulationas a Service), 试图帮助自动驾驶公司通过一个加速反馈循环来实现开发的迭代。它的产品主要包括三个部分:设计器, 云平台和分析器。设计器可以用来添加路网, 其他环境车辆, 行人和信号灯,以此构建一个测试场景, 可以通过控制各种参数的取值范围生成多个测试案例。
云平台负责根据待测试案例的情况调度硬件资源,并行运行测试案例, 生成大量的测试数据。在运行完成后,可以使用分析器回放仿真的传感器数据, 车辆的各种仿真信息,用来调试自动驾驶系统。Metamoto支持激光雷达、摄像头、 毫米波雷达、超声波雷达、 GPS、IMU等在内的各种传感器的精确模拟,能够对不同材质做出不同的反应。Metamoto的一个显著的特点是提供了一种快速的方法可以对测试的参数进行调节和覆盖,在云平台的支持下可以在短时间内运行大量的测试,有效的提升了测试效率。
15. ESIPro-SivicESI集团传感器仿真分析解决方案Pro-SiVIC可以帮助交通运输行业的制造商们对车载或机载的多种感知系统的运行性能进行虚拟测试,并且能够准确得再现出诸如照明条件、 天气以及其他道路使用者等影响因素。
Pro-SiVIC可以用来建立高逼真、与实际场景相当的 3D场景,并实现场景中的实时交互进行仿真分析,削减物理样机的需求。 客户可以快速并且精确地对各个嵌入系统在典型及极端操作环境下的性能进行仿真分析,它可以提供基于多种技术的传感器模型, 例如:摄像机、雷达、 激光雷达(激光扫描仪) 、 超声波传感器、GPS、里程表及通信设备等。以汽车行业为例, Pro-SiVIC提供了多个环境目录,提供具有代表性的不同道路(城市道路、 高速以及乡村公路)、 交通标识及车道线标记。
NVIDIADrive Constellation 是NVIDIA推出的自动驾驶仿真平台,在硬件上主要由两部分组成, 一台是 DGX服务器,上面运行着 DriveSim 软件系统, 依托于DGX的强大图形计算能力,真实的仿真了实际环境中的光照, 夜晚和各种天气变化,另外一台服务器搭载了 DRIVEAGX Pegasus 车载电脑,用来运行自动驾驶全栈的算法, 两部分形成了完整的HIL仿真闭环。
PanoSim是一款集复杂车辆动力学模型、汽车三维行驶环境模型、 汽车行驶交通模型、车载环境传感模型(像机和雷达) 、 无线通信模型、GPS和数字地图模型、Matlab/Simulink仿真环境自动生成、图形与动画后处理工具等于一体的模拟仿真软件平台。它基于物理建模和精确与高效兼顾的数值仿真原则,逼真地模拟汽车驾驶的各种环境和工况,基于几何模型与物理建模相结合理念建立了高精度的像机、雷达和无线通信模型, 以支持数字仿真环境下汽车动力学与性能、汽车电子控制系统、 智能辅助驾驶与主动安全系统、环境传感与感知、 自动驾驶等技术和产品的研发、测试和验证。
PanoSim不仅包括复杂的车辆动力学模型、底盘(制动、 转向和悬架) 、 轮胎、驾驶员、动力总成(发动机和变速箱) 等模型,还支持各种典型驱动型式和悬架形式的大、 中、小型轿车的建模以及仿真分析。它提供了三维数字虚拟试验场景建模与编辑功能,支持对道路及道路纹理、 车道线、 交通标识与设施、天气、 夜景等汽车行驶环境的建模与编辑。
AAI(AutomotiveArtificial Intelligence)是一个 2017年成立于柏林的初创公司。AAI构建了一套复杂的基于高精地图创建的高仿真虚拟环境,将利用人工智能技术将交通参与者集成到虚拟仿真环境中,并利用来自于实际生活中的驾驶行为数据, 使用机器学习算法训练参与者行为,从而产生攻击型驾驶员、 温和型驾驶员和防御型驾驶员等驾驶员档案,其目标是复制真实世界, 逼真地模拟所有道路使用者和环境因素。AAI支持多种传感器模拟,也提供分析器对仿真产生的数据进行深入的分析。
AirSim是微软研究院开源的一个建立在虚幻引擎(UnrealEngine)上的无人机以及自动驾驶模拟研究项目。AirSim实现为一个虚幻引擎的插件,它充分利用了虚幻引擎在打造高还原的逼真虚拟环境的能力,可以模拟阴影、 反射等现实世界中的环境,以及虚拟环境可以方便产生大量标注数据的能力,同时提供了简单方便的接口,可以让无人机和自动驾驶的算法接入进行大量的训练。AirSim的主要目标是作为AI研究的平台,以测试深度学习、 计算机视觉和自主车辆的端到端的强化学习算法。最新的AirSim也提供了Unity引擎的版本,添加了激光雷达的支持。
CARLA是由西班牙巴塞罗那自治大学计算机视觉中心指导开发的开源模拟器,用于自动驾驶系统的开发、训练和验证。同 AirSim一样,Carla也依托虚幻引擎进行开发,使用服务器和多客户端的架构。在场景方面,CARLA 提供了为自动驾驶创建场景的开源数字资源(包括城市布局、建筑以及车辆) 以及几个由这些资源搭建的供自动驾驶测试训练的场景。同时, CARLA也可以使用VectorZero的道路搭建软件RoadRunner制作场景和配套的高精地图,也提供了简单的地图编辑器。CARLA也可以支持传感器和环境的灵活配置,它支持多摄像头, 激光雷达, GPS等传感器,也可以调节环境的光照和天气。CARLA提供了简单的车辆和行人的自动行为模拟,也同时提供了一整套的 Python接口,可以对场景中的车辆, 信号灯等进行控制,用来方便的和自动驾驶系统进行联合仿真,完成决策系统和端到端的强化学习训练。
LGSVLSimulator 是LG的硅谷实验室基于Unity引擎研发的一款开源自动驾驶模拟器。它提供了和开源自动驾驶平台 Autoware和BaiduApollo 的集成。用户可以在 Unity内在3D场景的基础上进行标注并导出成和自动驾驶系统相匹配的高精地图格式。 同时它也提供了包括激光雷达,毫米波雷达, GPS,IMU,摄像头的传感器仿真的支持, 可以同步输出传感器的原始结果和真值。
百度Apollo仿真平台作为百度Apollo平台的一个重要组成部分,一方面用来支撑内部 Apollo系统的开发和迭代,一方面为 Apollo生态的开发者提供基于云端的决策系统仿真服务。Apollo仿真平台是一个搭建在百度云和Azure的云服务,可以使用用户指定的Apollo版本在云端进行仿真测试。Apollo仿真场景可分为Worldsim和Logsim。Worldsim是由人为预设的道路和障碍物构成的场景,可以作为单元测试简单高效的测试自动驾驶车辆,而Logsim是由路测数据提取的场景,真实反映了实际交通环境中复杂多变的障碍物和交通状况。Apollo仿真平台也提供了较为完善的场景通过判别系统,可以从交通规则, 动力学行为和舒适度等方面对自动驾驶算法做出评价。
Apollo也与Unity建立了合作关系,开发了基于 Unity的真实感虚拟环境仿真,可以提供3D的虚拟环境,道路和天气的变化。最近, 百度也提出了一种新的数据驱动方法,用于自动驾驶的端到端仿真:增强自主驾驶模拟(AADS)。此方法利用模拟的交通流来增强真实世界的图像,以创建类似于真实世界渲染的照片般逼真的模拟场景。具体来说, 建议使用 LiDAR和相机扫描街景。将输入数据分解为背景, 场景照明和前景对象。同时,提出了一种新的视图合成技术, 可以在静态背景上改变视点。前景车辆配有计算机 3D模型。通过精确估计的室外照明,可以重新定位 3D车辆模型,计算机生成的行人和其他可移动主体, 并将其渲染回背景图像,以创建逼真的街景图像。此外, 模拟交通流量,合成物体的放置和移动, 捕获真实世界的车辆轨迹,这些轨迹看起来很自然并且捕捉现实世界场景的复杂性和多样性。
代表了世界领先水平的Waymo无人车,一个核心的秘密就是它的 Carcraft仿真器,它是 Waymo的无人车每年能够行驶几十亿英里的关键。在Carcraft开发之初,这个系统只是用可视化的方式用来回放路侧车辆在道路上的情况,之后它扮演了越来越重要的角色。Carcraft可以为每个新软件版本使用在真实世界里驾驶的回放数据进行测试,用来验证算法的改进, 发现新的问题,还可以构建全新的虚拟场景进行测试。每天有 25000辆虚拟Waymo无人车在模拟器中行驶八百万英里以上的里程,来巩固已有的自动驾驶技能和测试新的技能。模拟仿真测试最大的优势是可以快速重复测试一些现实中不常发生但却很重要的场景,比如五岔路口和并入环岛。模拟器能够让自动驾驶系统有很多次机会练习这种单一场景来精通对应的技能。 另外在模拟器中,可以对某个具体测试场景中的某个参与者,或者是交通信号进行一些改变, 添加额外的行人等,通过这种方式可以构建大量的衍生场景,从而对无人驾驶算法进行更充分的测试。
腾讯自动驾驶虚拟仿真平台TAD Sim在设计之初,就有别于传统的仿真系统,是为自动驾驶测试验证而专门设计开发,内置厘米级高精度地图,构建了包含动态和静态要素真值数字孪生系统,用千变万化的场景进行自动驾驶算法完备性的测试。