黄 刚,史雪静
(1.北京明立测绘科技有限公司,北京 100125;2.北京四维图新科技股份有限公司,北京 100094)
2015 年我国已超过美国成为全球最大的新能源汽车市场。相较于传统燃油动力汽车,新能源汽车通常具有使用清洁能源和搭载智能驾驶功能两个特点[1]。2020 年部分新款电动汽车(特斯拉汽车、小鹏P7、蔚来ES6 等)搭载的智能驾驶功能,已实现了从辅助驾驶到高级辅助驾驶的跃升[2-3]。智能驾驶功能的终极目标是使自动驾驶系统达到人类驾驶员水平,根据美国兰德公司的研究,要实现这一目标至少需要累积超过177 亿km 的驾驶数据来完善算法。假设有100 辆自动驾驶测试车,每天24 h,以平均80 km/h 的车速进行路测,则需超过200 年才能完成这一目标里程,需要巨大的时间与资源成本[4-5]。为加速实现该目标,美国谷歌的Waymo、美国通用汽车的Cruise、美国特斯拉汽车等国际高水平智能驾驶相关公司都采用仿真软件来加速智能驾驶功能的落地运营与量产。在自动驾驶相关测试中,实际路测约占1%,封闭测试场测试约占9%,其余约90%的测试需在虚拟仿真测试平台上进行,因此自动驾驶虚拟仿真测试是自动驾驶技术重要的一环[6-7]。
2017 年发布的《中国智能网联汽车技术路线图》确定了智能网联汽车的定义、技术构架、发展目标路径与重大创新优先行动项。其明确指出:自动驾驶测试评价与计算机仿真是自动驾驶车辆测试和试验的基础关键技术,也是未来行业定义自动驾驶车辆相关开发流程与技术准入标准的基础工具。2021年工信部发布的《智能网联汽车生产企业及产品准入管理指南(试行)》(征求意见稿)指出:申请准入的智能网联汽车产品应至少满足模拟仿真测试要求、封闭场地测试要求、实际道路测试要求、车辆网络安全测试要求、软件升级测试要求和数据存储测试要求。目前,在全球主流仿真软件企业中,美国和德国企业的占比达到一半以上[8-9]。现有的自动驾驶仿真软件主要包括Carsim、Pres⁃can、Vissim、VTD、Cognata、Right Hook、51Sim-One等,大多数仿真软件提供的产品与服务以支持高级辅助驾驶开发为主,对高级别自动驾驶仿真所需的大规模道路和动态场景进行仿真还缺乏必要设计,对分布式部署与加速计算能力支持薄弱。在发展新能源汽车技术的同时,并行提升新能源汽车的智能驾驶功能以及配套的仿真软件,不仅能降低被国外“卡脖子”的风险,而且能加速我国新能源汽车产业的发展。
自动驾驶虚拟仿真测试平台将自动驾驶领域已积累的技术、数据和行业经验进行产品化,提供专业的自动驾驶仿真测试、自动驾驶测试数据集、自动驾驶服务研发等功能,总体设计方案见图1,主要包括硬件资源层、基础设施层、业务中台层和仿真业务层。平台的主要部分包括:①仿真核心功能模块,主要负责仿真动、静态要素的构建和模拟,并通过桥接器对接自研和第三方的其他必要模块;②数据场景功能模块,基于大数据平台的场景提取、交通流数据统计、人工编辑等方式,对外提供仿真场景集、宏观交通流统计模型、微观驾驶行为算法模型等;③桥接器,通过标准接口提供数据交互能力,适配不同层级的第三方模块,用以支持多种环境下不同自动驾驶模块的在环仿真验证。
图1 自动驾驶虚拟仿真测试平台总体设计
虚拟仿真测试平台的总体架构见图2,可分为前端、后台应用和内容存储/分发系统。首先用户在前端选择待测场景、设置待测车辆动力学参数、上传待测模块、实时查看测试过程、获取测试报告;相关参数配置传递至平台后,后端将进行身份识别并针对当前设置参数配置调取对应资源(仿真流服务和对应的数据资源),在该层保证仿真服务的高并发和稳定性;相应交通流仿真场景配置完成后,配合对应的时钟触发服务,便可在仿真环境中实现待测车辆(Ego) 与各模块间的数据交换,生成对于当前Ego 待测模块的行为评价,并将结果反馈给前端。
图2 自动驾驶虚拟仿真测试平台总体架构
交通流仿真作为自动驾驶仿真测试环境构建的重要组成部分,如何在仿真环境中有效地通过引入实时数据对场景进行快速迭代和模型更新,一直是研发的重点和难点[10-12]。虚实一体动态交通流仿真架构见图3,在已有高精度地图服务的基础上,面向宏观和微观交通流模拟方案,采用基于数据驱动的学习与基于数学模型的机理相结合的技术自动生成交通流模型,同时加载实时轨迹数据实现模型的自动更新迭代。
图3 虚实一体动态交通流仿真架构
对于宏观交通流,通过收集大量真实的历史交通轨迹数据,统计分析城市和各种高速道路上的总体车流量、流速、车型分布等信息,导入交通学中的交通流模型,并引入概率分布数学模型,分析得到城市道路在时序上的交通流量规律。利用机器学习算法,按照不同区域(道路、地域环境)、不同时间、不同天气等多维度进行流量模型分类,作为宏观交通流服务的输出提供给仿真模拟环境。微观仿真的核心部分是对驾驶行为的仿真,通常是指驾驶人在接受外界信息与刺激后做出的跟驰、换道、超车、停车等驾驶行为,对这些行为进行分解重构,将所有驾驶行为简化为跟驰、换道两大行为的组合。
根据目前已采集的真实交通流数据、自动驾驶开源数据和虚拟世界数据资源,通过机器视觉对抗和领域适应技术生成大量逼真交通流数据;通过抽取高精度地图上下文信息,帮助建立基于大数据的概率统计和基于AI训练的学习模型,能最大程度地保证交通流信息的完整性和可靠性,并借此为仿真环境提供符合真实路况的交通流模拟能力。
车辆动力学在国外的研究已非常成熟,以Car⁃Sim、TruckSim 和BikeSim 为主要代表[13-14]。CarSim 主要从整车角度进行仿真,建立车辆数学模型,可仿真车辆对驾驶员控制、三维路面和空气动力学输入的响应,模拟结果高度逼近真实车辆,用于预测和仿真汽车整车的操纵稳定性、制动性、平顺性、动力性和经济性。本平台以CarSim 和实车动力学结果为对标对象,对动力学仿真结果进行标定和迭代提高。车辆动力学仿真模块需采用多体车身动力学实现,支持3 个方向的移动自由度、3个方向的转动自由度、4个轮胎的旋转自由度、4个非簧载质量自由度、8个轮胎瞬态特性自由度、4 个制动压力自由度,能准确仿真车辆运行时的总体和内部姿态;还支持传动系统模型(发动机、变速箱、离合器、差分器)、转向模型、制动模型、悬挂模型和轮胎模型等的建模,以及传统燃油乘用车和电动驱动乘用车仿真。
传感器仿真,特别是兼具高精度和高真实感的传感器仿真是近年来业界研究的重点,平台的传感器仿真流程见图4,主要包括模型参数确定、传感器仿真和验证评价。传感器仿真依赖的每个模块都需要来源于真实世界,包括静态场景和道路的采集到构建、真实车辆驾驶行为和人类行为建模、极端案例工况的提取和泛化、物理真实的车辆动力学和传感器等。在高精度和多样化的静态和动态场景之上,仿真模型完全由真实世界数据驱动,采用基于真实传感器标定的物理级传感器仿真方法,可以仿真出无限接近于真实世界的结果。
图4 传感器仿真流程图
车辆动力学和传感器仿真与自动驾驶算法的对接方式主要包括规划控制闭环对接、感知开环对接和感知规划控制闭环对接3 种,其中规划控制闭环仿真模式无需使用任何GPU资源,不依赖于图形引擎,可轻量化在云端大量部署,高并发测试规划控制算法;感知开环仿真模式可对多种感知、融合算法进行评价和验证,支持SIL 和HIL,通过内置的评价体系可对感知融合算法的运行性能进行测试和评价;感知规划控制闭环仿真模式结合了物理级和目标级传感器仿真,可实现全闭环的端到端仿真测试。
自动驾驶虚拟场景库是由满足某种测试需求的一系列自动驾驶测试场景构成的数据库。基于场景的测试方法是通过预设场景对被测车辆进行特定目标或行驶任务的测试,是汽车自动驾驶过程中的重要手段,可实现灵活配置,并提高测试效率[15-16]。自动驾驶虚拟场景库的构建步骤包括:
1)确定单个虚拟场景的数据存储方式与标准。目前虚拟场景的数据格式包括OpenScenario 和各企业自有数据格式。针对标准测试场景库和用例库的描述与定义不清晰,需要考虑通用性和兼容性,建立场景库和描述文件数据格式要求标准;还需综合考虑标准测试场景的覆盖性、功能满足性、效率性、安全性、合规性等,建立各类测试标准场景库的通用描述要求标准。
2)构建自动驾驶虚拟测试场景数据要素标准与规范。自动驾驶虚拟测试场景数据包括静态场景和动态场景,构建流程见图5。静态场景构建是基于采集的传感器、高精度地图等信息,根据数据存储标准转化为静态场景数据,中间可能涉及采用专业软件探面、探线、提取矢量化的结果,实现分层分类和实体化,存储几何属性等工作。动态场景构建是基于采集的交通传感器、路况等信息,根据数据存储标准转化为动态场景数据,中间可能涉及分析传感器数据、将其转化为结构化轨迹与属性数据、基于基础案例数据泛化生成多个动态场景等工作。
图5 动态、静态场景构建
基于数据标准将静态、动态场景整合为虚拟场景的数据格式,并存储该场景的关键信息,如数据采集的时间地点、静态场景类型(城市交叉口、高速收费站等)、动态场景类型(通畅、拥堵、闯红灯、违规变道等)。
3)构建自动驾驶虚拟场景库。根据测试需求,总结动静态场景的主要特征,根据特征标签选取适当场景作为场景库的组成部分,选取与测试需求高度相关的特征标签作为数据库检索项,快速检索与提取场景。基于场景分类体系和构建方法,将场景分为功能场景、逻辑场景、具体场景3 个层级,从功能场景到具体场景,内容不断细化,场景数量也不断增加。在实际测试中,根据标准和应用场景赋予各参数具体数值,形成测试用例库,完成对自动驾驶车辆的各项仿真测试。
场景数据层是自动驾驶虚拟仿真平台的基础,根据场景库标准和通用场景数据定义与格式标准,采用统一交通场景格式注入的形式,将典型场景分别应用于模型在环、软件在环、硬件在环中,分别获取不同测试架构下相应的仿真测试结果,并对不同测试结果进行多维度对比分析,将仿真成果应用于算法开发验证与实车测试闭环中,以提升多平台典型场景应用覆盖度,加速产品算法增量迭代验证。数据层包括场景数据库、测试用例数据库、高精度地图数据库、多维驾驶工况数据库等。
仿真结果评估体系作为智能网联汽车测试评价的重要组成部分需要精准对接产品需求,体现跨学科、跨产业、跨区域特征,达到车辆本身、车辆与外部环境、车辆与智能V2X终端之间复杂交互的效果评估要求。由于仿真测试和实车测试结果存在差异性,仿真结果仅使用通过或未通过的二元指标具有一定局限性,易造成系统的安全性风险,因此需要建立合理的评价体系,设计具有连续值属性的评价指标来评估系统的综合能力。根据大数据分析和技术专家经验,得到各评价指标的权重,评估系统也将持续对权重进行迭代,不断完善评估体系。
仿真结果评估子系统见图6,以标准匹配度为牵引,从平台功能合理性和自动驾驶系统性能两大维度进行分析,并以标注匹配度和经济性作为辅助评价。A、B、C、D、E为平台功能合理性评价维度下5个评价指标的权重,F、G、H为系统性能评价维度下3个评价指标的权重,I为标准匹配度评价指标的权重,K、J为经济性评价维度下两个评价指标的权重,同时符合A+B+C+D+E=1 、F+G+H=1 、K+J=1 。a1~a6为场景合理性评价指标下各子指标的权重,b1~b6为感知合理性评价指标下各子指标的权重,d1~d2为车辆动力学仿真精准性评价指标下各子指标的权重,e1~e2为算法问题识别与挖掘能力量化评价指标下各子指标的权重,f1~f5为安全性评价指标下各子指标的权重,g1~g3为舒适性评价指标下各子指标的权重,j1~j4为车辆产品经济性评价指标下各子指标的权重。
自动驾驶测试场景必然对应相应的需求,需求主要来源于3 个方面:自动驾驶汽车的开发与验证、测试与评价以及检测与认证。在自动驾驶汽车的开发阶段,需要对功能在特定应用场景下的表现进行验证。自动驾驶功能都有其设计的应用场景或范围,因此在功能开发阶段,基于应用场景开展的各项测试,是验证自动驾驶功能有效性的重要手段,可支持开发人员对功能进行调整并加以完善。在自动驾驶汽车的开发与验证阶段,测试场景应尽可能全面覆盖功能适用范围内的所有情况,充分体现场景中各类对自动驾驶功能造成挑战的影响因素。测试场景应能被部署到软件在环、硬件在环、车辆在环以及受控测试场地等不同的测试环境中。该阶段测试人员可借助相关经验和知识构建测试场景,或基于数据分析筛选出测试场景,以满足不同的测试需求。
测试与评价的目标是通过车辆的表现,对其各项性能进行评估。通过选取或构建能够体现车辆特定性能的场景,制定合理的测试任务,可对自动驾驶汽车的行驶自治性、安全性、经济性、舒适性、交通协调性等进行评价。首先,测试场景选取应与评价指标具有高度的相关性,场景中的要素类型和指标应具有典型特征,使被测车辆的功能得到充分体现;其次,为尽可能保证评价结果的有效性,构成测试场景的要素以及要素的特征、指标等应与现实相符;最后,为保证评价结果的准确性,并便于横向比较,测试场景中各类要素的指标应可量化且具有一致性。
在自动驾驶汽车正式上路前,应选取或构建典型测试场景考查自动驾驶汽车在各种交通情况下的行为,对各项功能的安全性和可靠性进行检测与认证,验证其是否具备在真实交通环境下应对多种场景和规避风险的能力。该阶段与测试评价阶段的基本目标较相似,但主要关注车辆的安全性和可靠性等,且对认证结果的可信度有更高的要求。该阶段的测试需要有统一的标准,使得测试场景具有可重复性。
基于本文提出的平台架构,开发了自动驾驶虚拟仿真测试平台,采用开放式的模块式框架,可接入第三方工具和插件进行联合仿真。为验证自动驾驶虚拟仿真测试平台的性能和稳定性,对平台的基本功能进行了测试,部分测试验证结果见图7。测试验证运行环境:①应用服务器,操作系统为CentOS Linux re⁃lease V7.8.2003、CPU 为Intel Xeon E3-12xx V2、内存为8 核、16 GB;②数据库服务器,操作系统为Cen⁃tOS Linux release V7.9.2009、CPU 为Intel Xeon Proces⁃sor、内存为4核、16 GB、数据库为MySQL V8.5;③测试客户端,操作系统为Windows 7 旗舰版、CPU为In⁃tel(R)Core(TM)i7-6700@3.40GHz、内存为8核、32 GB;④交换机,操作系统为Cisco Nexus 9332C。
图7 测试验证结果
测试结果表明,静态场景库覆盖3个一级分类、7个二级分类、100 多个三级分类,动态场景库覆盖4 个一级分类、9个二级分类、120多个三级分类;支持宏观交通流和微观交通流的自定义配置,交通流仿真结果与真实交通流的相似度在85%以上;支持激光雷达、毫米波雷达、摄像头、IMU等主流传感器的模拟仿真,并基于Unity 3D 进行场景精细渲染;提供轿车、SUV、卡车3 种车型的内置动力学模型,并支持40类车辆动力学参数的配置;针对特定场景,车辆动力学横纵精度优于90%;支持10 个以上的测试并发,单一场景可模拟超过100 辆环境汽车;平台整体仿真准确率优于85%,多次执行一致性优于99%,可用性SLA指标优于99.9%。
虚拟仿真测试是实现自动驾驶的有效途径和先决条件。虚拟仿真测试可验证自动驾驶功能的有效性和安全性,降低时间和资源成本,加速智能驾驶功能的落地运营与量产。本文提出了一种面向自动驾驶的虚拟仿真测试平台架构,设计了平台的总体架构和仿真原理,研究了虚实一体动态交通流仿真、车辆动力学与传感器仿真、高置信度仿真场景库构建和仿真结果评估体系等模块的实现方法,分析了平台的主要应用场景,并通过测试验证了该架构的可用性和稳定性。为保证典型场景数据储存应用的通用化,提高场景的多平台通用率,今后可基于合作单位建立的场景库标准以及通用场景数据定义与格式标准,实现典型场景搭建的标准化与平台化,实现多仿真平台的场景测试应用。