一种基于混合现实的自动驾驶车辆测试方法
2022-04-08车晓波李超张子辉
车晓波,李超,张子辉
(齐鲁工业大学(山东省科学院)山东省科学院自动化研究所,山东 济南 250014)
自动驾驶汽车是人工智能、大数据、高性能计算等新技术应用的重要载体,对降低交通拥堵、提高交通安全和出行效率,以及构建智慧城市交通具有重要影响,目前已在干线物流、封闭园区、无人公交、无人环卫等场景得到推广应用。但是,随着自动驾驶事故的接连曝光,人们对自动驾驶的安全性产生质疑[1],如何对自动驾驶车辆在复杂交通场景下的安全性进行测试评价,成为众多研究者面临的一个重要问题。当前车辆测试主要包括实验室测试和道路测试,道路测试能够直接反映车辆在实际路况中的性能,是自动驾驶车辆上路前不可缺少的环节[2]。根据测试区域不同,道路测试又分为封闭场地测试和开放道路测试两种方式。封闭场地是模拟特定区域实际驾驶场景的全封闭环境,封闭场地测试具有较高安全性,但测试场景有限,无法完全涵盖自动驾驶所面临的真实环境[3]。开放道路测试是在政府允许开展测试的路段区域内进行车辆自动驾驶能力验证,缺点是受实际交通路况、天气条件以及诸多偶然事件的影响,具有较大的风险[4-5]。
在传统汽车和高级驾驶辅助系统(advanced driving assistance system,ADAS)领域已有多种较为成熟的测试方法,主要包括实车测试、虚拟仿真测试、硬件在环测试和整车在环测试等[6-9]。实车测试是车辆进行量产之前必须进行的,并至少需要在各种交通场景下通过数十万公里以上的真实行驶测试。单纯的虚拟仿真测试方法具有测试成本低、可重复性强等优点,但是模型的真实度相对较低,仿真结果与实际情况有较大差距,也无法实现车辆硬件性能测试和标定[10]。针对上述问题,硬件在环(hardware-in-the-loop,HIL)方法在当前得到了广泛应用[11-12]。HIL方法结合了物理控制器与虚拟对象,其中虚拟对象根据车辆动力学进行建模,与物理控制器连接形成闭环控制,由于引入了阻力、摩擦力等关键参数,具有较高的置信度[1],与实车测试相比具有成本低、开发周期短和易重现等优点。整车在环(vehicle-in-the-loop, VIL)方法结合实际车辆与虚拟对象,在实验室条件下构建模拟道路、交通场景以及环境因素,并使用真实车辆进行测试[13]。还有研究者进一步充分利用现有的各种在环测试方法和工具,形成一种X在环测试方法,利用模型或代码替代缺失部件实现软硬件结合测试[14]。过去各种在环测试主要针对车辆本体性能,侧重于车辆动力学与控制性能方面的测试,例如底盘控制系统中防抱死制动系统(antilock brake system,ABS)和电子稳定性控制(electronic stability controller, ESC),以及测试各种执行器和电子控制单元(electronic control unit, ECU)等。而在自动驾驶车辆测试中,由于增加了决策规划模块和各种传感器,并且控制模块的功能也更为复杂,对测试方法提出了更高的要求。
综上所述,自动驾驶测试与评价体系仍然处于研究阶段,行业内还没有统一的标准可遵循。本文尝试从虚拟仿真与真实交通环境结合的角度提出一种新的自动驾驶测试方法,给出了测试系统组成和实现思路,并通过具体案例进一步说明该系统的用法。该方法既结合了封闭场地测试和开放道路测试的优势,同时克服交通场景匮乏的局限性,使自动驾驶车辆功能测试更充分、安全和可靠。
1 基于混合现实的自动驾驶测试方法
1.1 基本框架
针对在环测试中人为设定要素多,难以准确反映与真实环境交互的问题,本文基于信息物理融合系统理念,提出一种混合虚拟仿真环境和真实交通环境的自动驾驶测试方法。本方法综合仿真环境、网络与物理环境,在虚拟仿真环境中执行可重复、可量化的测试用例,利用通信与控制技术,将测试用例转换为对背景车的控制指令。通过监测自动驾驶测试车辆(主车)的动态行为及车辆之间的交互行为,构建混合现实的自动驾驶测试系统,并对自动驾驶表现进行系统评价。
首先根据主车的测试需求进行虚拟场景和车辆建模、场景搭建、任务制定,再将虚拟仿真环境和控制指令映射到真实和虚拟的背景车。通过背景车和控制中心的耦合运行,控制指令与车辆状态的同步交互,共同作用于自动驾驶测试车辆。最后利用仿真场景和测试用例的柔性集合,充分测试主车的安全性能并输出测试评价结果,本文测试方法的基本流程如图1所示。
图1 自动驾驶测试方法流程图
1.2 混合现实系统构建
自动驾驶测试中的混合现实系统主要由测试场、控制中心、背景车等3部分构成,系统架构如图2所示。其中测试场主要提供真实测试环境并记录测试过程中产生的真实数据,控制中心主要对测试场进行实时监控和远程控制背景车,通过将真实数据与虚拟数据进行有机融合构建混合现实仿真环境。最后通过自动驾驶测试车辆、真实背景车、虚拟背景车三者交互共同实现混合现实测试,并对测试数据进行分析和评价。
图2 混合现实系统架构示意图
测试场是一个完全网联的真实测试环境,其通过配备车联网通信设施、路侧单元、智能基础交通设施以及差分GPS基站形成一个“车-路”“车-车”即时交互的智能生态系统[14]。控制中心通过人机交互界面对背景车进行路径规划、行为模拟、监控与远程控制,以实现复杂交通环境下的自动驾驶测试方案;然后建立虚拟仿真环境,将主车与背景车的真实数据映射到仿真系统中,在虚拟环境中同步重现真实场景下的测试过程;并通过在虚拟仿真环境中增加虚拟车辆等元素,构建更复杂或危险的测试场景。
1.3 自动驾驶测试方法
基于混合现实系统,本文自动驾驶测试方法的具体实现主要分为4个部分:
(1)构建与实际测试场对应的虚拟测试场,模拟实际的交通运行环境。通过虚拟软件提供物理世界信息输入接口,以及虚拟世界控制输出接口,实现虚拟仿真与物理车辆镜像运行。
(2)通过背景车、标识、障碍物等道具,在真实测试场营造典型交通场景(如自动紧急制动(autonomous emergency braking,AEB)测试等),考察主车的行为是否达到预期目标。并结合真实测试场、主车和背景车实时数据,在虚拟测试场中进行场景重现。
(3)在虚拟仿真中增加虚拟背景车或传感器生成测试用例,并将仿真环境中运行的测试用例转换成驱动主车和真实背景车的控制指令,然后将实际测试数据通过网络层反馈到仿真环境中,从而实现虚实同步的闭环反馈测试。
(4)利用在测试过程中收集的主车及交通环境数据,结合给定的测试任务,采用多指标、多时空维度,对自动驾驶汽车安全性、舒适性和高效性进行评价。
2 自适应巡航控制案例
以自适应巡航控制(adaptive cruise control,ACC)测试为例,对本文方法进行简单验证。自动驾驶车辆ACC功能包括对前方车辆的识别、跟随以及对车速的控制。典型ACC功能的测试用例主要包括低速/减速/静止场景、切入/切出场景和多车场景,如图3所示。
图3 自动驾驶车辆ACC测试场景
(1)低速/减速/静止场景
主车激活ACC后,以设定速度巡航行驶,背景车在主车前方分别以低速、减速、静止的运行状态出现。主车应能识别前方背景车辆,ACC控制车辆自动减速避免碰撞。
(2)切入/切出场景
主车激活ACC后,以设定速度巡航行驶。切入场景是指背景车在一定距离内以指定速度切入主车所在车道,切出场景是指背景车切出主车所在车道至相邻车道。
(3)多车场景
主车激活ACC后,以设定速度跟随背景车行驶,逐渐靠近并超过相邻车道的另一低速背景车。该场景存在多辆背景车,主车不能发生误识别,继续跟随背景车行驶状态不变。
ACC系统的控制功能应满足以下基本要求:首先,主车保持匀速或速度控制与前车保持一定的车间时距,且车辆加减速不超过限值要求,不应出现过度制动现象;其次,主车能够检测和识别前方车辆,如果前方存在多辆车,ACC系统应自动选择跟随主车车道内最接近的前车。
3 测试与分析
为了验证所提出基于混合现实的自动驾驶车辆测试方法,本文以直线道路上车辆低速切入场景的自动驾驶测试为例,在开源模拟器CARLA中搭建虚拟测试场景,包括道路布局、主车和测试车,并为车辆配置GPS传感器,用于虚实同步位置映射。通过地图编辑器RoadRunner制作与实际场景配套的高精地图,同时CARLA提供一整套的Python接口,可以对虚拟车辆进行控制,方便实现实际车辆与虚拟车辆的联合仿真。在实际场景中,背景车配备摄像机、激光雷达、GPS等多种环境感知设备,通过5G通信与控制中心进行任务和状态交互,再利用本地CANbus进行车辆的自动控制。
3.1 测试流程
基于本文混合现实测试方法,自动驾驶车辆ACC测试具体步骤如下:
步骤1:首先建立虚拟环境与真实环境的映射关系,在仿真环境中设置路网地图和对应设施,并建立虚拟环境中车辆模型与真实车辆的通信连接。
步骤2:为虚拟背景车分配任务,包括行驶路径、待测车ID、任务类型及属性等,同时传输到真实背景车。
步骤3:开始测试,主车从静止加速到目标车速稳定行驶,背景车按照预定轨迹和速度进入运行状态。实时采集主车和背景车运行数据,同步体现在仿真环境中的虚拟车辆。
步骤4:如果满足测试要求,则进行自动驾驶测试车的性能评价;如果不满足测试要求,则返回步骤2。
3.2 测试结果与评价
以切入场景为例对测试评价进行说明,令背景车在距离主车前方一定距离时由相邻车道切入主车所在车道,切入参数见表1。当主车与背景车达到稳定行驶状态后,背景车驶出被测车道,采集主车的位置、速度、速度变化率、档位和车辆灯光状态等数据作为评价依据,至此完成一次测试。
表1 背景车切入参数
以其中一次测试为例进行说明,设定主车车速为50 km/h,背景车车速为30 km/h,道路工况为直道,背景车从主车右前方切入主车道。记录背景车开始执行切入动作时刻为切入时刻,主车与背景车达到稳定状态时刻为切入完成时刻,从切入时刻到切入完成时刻之间记录为切入过程。表2为切入过程前后主车与背景车的运行数据,数据显示在切入前,主车和背景车均保持匀速行驶,切入完成后主车速度降至26.56 km/h,切入过程中主车能够完成自动换挡、制动,期间最小车间时距维持在2 s以上,横向偏差6 cm,说明能够保持车体稳定,没有明显晃动。
表2 一组切入动作前后的部分测试数据
从图4可以看出,在18 s时主车检测到前方正在切入本车道的背景车,正确采取制动措施,车速明显降低,由于是直线道路,主车航向角在此过程中并没有发生明显变化。随着背景车切入动作完成,在30 s时主车车速降到最低值26 km/h,随后车间距逐渐加大,主车自动提升速度到与背景车速度接近,约30 km/h,两车达到稳定运行状态。
图4 切入过程中主车运动状态
通过分析上述测试数据,说明背景车切入被测车道后,主车能够正确识别前车的切入动作,并能根据前车速度自动调整车速。在主车进入稳定状态后,与前方背景车保持一定时距,稳定车速在限定范围内,与前车的纵向中心线横向偏差在限定范围内,全过程无过度制动和加速现象,认为主车通过一次切入场景测试。将试验重复20~30次,通过率超过90%,认为主车通过该场景测试。
4 结论
本文针对开放道路测试成本高、风险大、极端场景难复现,同时封闭道路测试场景有限、场景营造不灵活的问题,提出了一种虚拟仿真与真实交通环境结合的自动驾驶车辆测试系统,该系统实现了背景车在环、虚拟仿真和实际场景间的真实互动、测试用例在实车上的同步执行。虚拟仿真系统主要实现了主车与背景车辆模型构建、交通场景搭建、测试用例的管理、虚拟车辆与实际车辆的数据交互;背景车主要完成测试用例的在环运行,为主车营造真实的交通场景;主车作为被测自动驾驶车辆,在测试场中按自身控制策略运行,其运行数据将被实时收集用作后期评价。本文以直线道路下背景车低速切入场景为例,通过在虚拟仿真环境中执行测试用例,同步驱动背景车在环运行,采集分析主车应对切入车辆的反馈数据,验证了混合现实的自动驾驶测试方法的有效性。
未来将继续研究在环背景车的多种控制方式,如人工远程模拟驾驶、多车自动编队运行、多车多任务同步运行;针对在环背景车的控制精度、控制策略进行深入研究,如在寻迹任务、多车协同任务中的控制精度;针对交通环境的多样性,研究弱势交通参与者的在线控制问题,如行人、骑自行车人、动物;最后,融合多车、多任务、多种参与者共同构建虚实结合的仿真测试系统,为自动驾驶车辆测试营造更逼真、低风险、可复现的测试场景。