自动驾驶整车在环仿真平台研究及模拟实现
2020-03-07马志成王立李志斌
马志成 王立 李志斌
摘 要:针对目前主流自动驾驶整车测试方法及ADAS整车在环仿真测试方法的特点。利用虚拟现实和实时仿真技术,搭建自动驾驶整车在环仿真平台,并在室内进行仿真平台的模拟实现和案例测试。该平台不仅可以提供丰富的测试环境,危险场景以及难复现的复杂场景进行可重复性测试,而且使用的是真实车辆的车辆动力学特性,无需复杂的车辆动力学模型,同时测试成本也相对低廉。
关键词:自动驾驶测试;整车在环仿真;车辆动力学特性
中图分类号:V323.19 文献标识码:B 文章编号:1671-7988(2020)03-34-05
前言
近年来随着人工智能产业的飞速发展,自动驾驶技术也已成为全球关注的热点,自动驾驶汽车将给人类社会带来巨大变革的观点深入人心[1]。但是距离自动驾驶技术真正落地,人类还有很长的一段路要走。
美国Rand(兰德)公司2016年的年度研究报告称,即使自动驾驶系统比人类的驾驶能力提高20%,也需要行驶110亿英里验证。这就意味着,在现实世界中,拥有100辆汽车的车队,需要500多年时间一直不停地测试,才可以完成验证[2]。显然,在现实世界中这是一项不可能完成的任务。因此,研究安全、高效的自动驾驶测试方法,十分重要。
目前,针对自动驾驶整车测试要求,主要有三种测试方法:软件虚拟测试、HIL(Hardware-In-the-Loop)仿真测试和真实道路测试。软件虚拟测试是基于虚拟场景的整车集成式的自动驾驶测试方法,是一种纯数字仿真测试;HIL仿真测试主要用于核心控制算法形成后,将真实的整车引入仿真测试系统中进行台架测试;真实道路测试分为封闭园区测试和开放道路测试,是确认自动驾驶汽车可靠性最为重要的一种测试方法,而且仿真测试永远不能代替真实道路测试[3-5]。
然而,经过研究分析发现,现有的三种主流测试方法都有其固有弊端[5,6],如表1所示。
另外,Miquet等[7],Butenuth[8]等,赵祥磊等[9],提出了用于测试ADAS(高级驾驶辅助系统)的VIL(Vehicle-In- the-Loop)仿真测试方法。此类方法的基本原理和测试目的与自动驾驶整车在环仿真测试相似,但是如果应用于自动驾驶车辆的整车测试,还存在以下问题:
■ 仿真系统安装在被试车辆上,测试过程中,很难在线分析和监控;
■ 不能支持云端虚拟仿真环境;
■ 不能扩展,一个仿真系统只能对一辆整车的系统进行测试;
■ 为了逼真的模拟物理世界,场景虚拟系统会非常庞大,由于尺寸、功率和重量等限制,很难安装在被试车辆上。即使勉强安装在车上,会增加被试车辆的电能负载和重量,影响测试效果。同时,车辆运行的振动会降低仿真系统硬件的可靠性。
针对上述几种测试方法的特点,本文提出搭建自动驾驶VIL仿真测试平台,以此解决当前主流自动驾驶整车测试,各自固有缺点,充分结合幾者的优势。
1 系统原理
自动驾驶整车在环仿真测试平台总体结构主要由交通仿真场景、自动驾驶控制系统、真实测试道路上的物理车辆三部分组成。其系统原理,如图1所示。
使用基于UE4(Unreal Engine 4)的自动驾驶仿真测试系统Carla,建设所需开发测试的仿真场景;仿真场景中的数字孪生车辆,通过虚拟感知传感器采集测试场景数据;并将数据传递给被试自动驾驶控制器,进行信息融合与控制决策,决策后的车辆控制命令,通过无线网络发送给物理车辆的执行器;物理车辆在真实道路上做出反应后,车辆姿态和位置信息,再通过无线网络发送给仿真场景中的数字孪生车辆;完成车辆位置同步,从而实现整个系统的闭环实时仿真。
自动驾驶VIL仿真系统中,由于交通仿真场景中数字孪生车辆的运动状态由真实道路上行驶的物理车辆的运动状态决定,因此仿真测试平台无需建立复杂的车辆动力学模型;同时比其他类型的硬件在环仿真系统,提供更精确的仿真能力,且保留了软件虚拟测试低成本,场景多样,极端场景测试,可重复性测试等优点。
交通仿真场景中,不仅可以生成可控的程序化车辆流、行人、动物等动态背景物体,还可以接入驾驶模拟器,控制特定的背景车辆,模拟人类驾驶习惯,构成更加真实、严苛的仿真测试环境。
交通仿真场景服务器独立于真实道路上的物理车辆,放置在试验室中,因此不会受到场地、供电和计算能力的限制,尤其是系统中不需要模拟复杂的车辆动力学模型,大幅度降低了对虚拟场景服务器计算能力的要求。从而允许多台被试自动驾驶车辆,在同一个交通仿真场景中进行同步测试,可用于模拟和分析多台自动驾驶车辆(包括不同控制算法)在同一个交通场景下的交互模式及相互间的影响。可以实现多辆被试自动驾驶车辆,程序化背景车辆流,人类驾驶特性车辆共存的交通状况。
2 自动驾驶整车在环仿真平台实现
自动驾驶整车在环仿真平台实现总体分成平台结构设计、虚拟场景建设、物理车辆改装、基于ROS系统功能开发,四个部分来完成。
2.1 平台结构设计
自动驾驶整车在环仿真平台的系统结构,如图2所示。
图2是最佳实施方案的自动驾驶VIL仿真平台的系统结构图。本文是在室内模拟实现自动驾驶VIL仿真平台,使用的是Carla系统自带的简易AD算法,没有独立的自动驾驶控制器;同时,车辆驾驶控制命令和车辆姿态及位置数据,通过使用AP(Wireless Access Point)组建的无线局域网进行通讯,没有采用5G通讯技术。
2.2 虚拟场景建设
此仿真平台使用自动驾驶仿真测试系统Carla,进行虚拟场景建设。Carla从头开始开发,以支持自动驾驶系统的开发,训练和验证。除开源代码和协议外,Carla还提供为此目的而创建的开放式数字资产(城市布局,建筑物,车辆等),并可自由使用。支持灵活的传感器套件规格和环境条件(白天、夜晚、雨雪天气等),通过OpenDrive格式地图数据赋予3D模型语义信息。支持FBX3D模型格式导入,便于高效、便捷地完成虚拟场景建设任务。此次模拟平台建设的室内Demo仿真场景,如图3所示。
2.3 物理车辆改装
传感器成本一直是自动驾驶汽车硬件成本居高不下的重要原因[10]。自动驾驶VIL仿真平台中,传感器只用来实时定位,车辆改装的最佳传感器配置是RTKGPS(载波相位差分技术全球定位系统)+IMU(惯性测量单元)的组合[11],所以和真实道路测试相比,VIL仿真平台大幅度降低了被试车辆的改装成本。
模拟平台中我们选用X-MAXX RC Car進行改装,它是按照正常车辆的5:1尺寸缩小,其工作原理和市面上电动汽车基本相同,车上安装处理器(Raspberry Pi 3B+)、执行器(PCA9685)、激光雷达(SLAMTIC RPLIDAR A1)、惯性测量单元(razor_imu_9dof),实现车辆定位和自动驾驶控制信号接收。使用低成本的硬件改装,就可以达到较好的测试效果。改装后的物理车辆,如图4所示。
2.4 基于ROS系统功能开发
ROS(Robot Operating System)是一个适用于机器人,开源的元操作系统。采用分布式架构,通过各功能独立的节点(Node)实现消息传递任务的分层次运行,从而减轻实时计算的压力[12]。根据ROS提供的底层标准操作系统服务,进行仿真测试平台的功能开发。自动驾驶VIL仿真平台中ROS节点的信息流程图,如图5所示。
3 车辆物理定位分析
自动驾驶VIL仿真平台的模拟实现是在室内进行,所以采用SLAM(Simultaneous Localization And Map)定位技术。自动驾驶汽车在未知环境中探索,仅通过安装在汽车上的传感器估计汽车本身的位置的同时绘制未知环境的地图[12]。这是导航及自动驾驶的关键技术。
定位传感器IMU是敏感元件,尤其低成本IMU的偏航角信号受噪声干扰严重,需对IMU偏航角信号数据做滤波处理。原始数据和滤波后数据对比,如图6所示。
绘制地图所需的节点和话题,如图7所示。SLAM室内演示场景的点云地图,如图8所示。
使用手动控制程序,控制物理车辆运动。车辆位置测试结果数据,如表2所示。
根据测试结果,分析得出:排除无线信号干扰因素,仿真平台的实时性误差在允许范围内,满足室内平台模拟实现的车辆物理定位要求。
4 测试案例分析
自动驾驶VIL仿真平台具有信号实时监测功能,可以随时获取某一时间段或特定场景中,车辆控制信号。这对于测试后期,数据处理、算法改进、故障分析等具有重要意义。
仿真平台测试的实验场景:被试车辆在直行过程中,道路前方出现其他行驶车辆,如图9所示。这一时间段的车辆控制信号,如图10所示。
开始阶段油门开度信号为1,电机正转,被试车辆以最大油门开度行驶;直行过程中,道路前方出现其他行驶车辆,油门信号变为0,电机停止工作,被试车辆停车;当前方车辆离开后,油门信号又变为1,被试车辆继续行驶。此次实验使用的控制算法,油门开度为0时,即车辆制动,所以没有制动信号输出,制动信号显示恒为0。被试车辆的舵机最大转向角为±100°,为了保护车辆,程序中设置转向极值角,控制算法调节转向信号,使车辆保持直行,其他车辆离开后,被试车辆继续行驶且开始转向。
5 结论
自动驾驶车辆上路前一定需要经过大量测试,代替实车的仿真测试已成为各大汽车厂商与自动驾驶技术供应商的关注重点[1]。本文通过分析当前主流的三种自动驾驶整车测试方法及ADAS整车在环测试方法的特点,开发了自动驾驶整车在环仿真开发平台,充分结合了软件虚拟测试、硬件在环仿真测试、真实道路测试三者的优点。通过自动驾驶VIL仿真平台研究及模拟实现,得到以下结论:
(1)自动驾驶VIL仿真平台用于自动驾驶整车测试理论上是可行的,在实车测试平台建设中可能会存在工程上问题。
(2)基于成熟的软件虚拟整车测试系统开发,自动驾驶VIL仿真平台不仅可以提供丰富的测试环境,危险场景以及难复现的复杂场景进行可重复性测试,而且通过接入真实道路上行驶的物理车辆运动状态,平台中车辆动力学特性和真实道路测试完全一致。
参考文献
[1] 张巍,宋吉,黄荣军,等.自动驾驶集成设计与虚拟仿真方法研究[C]. 2018中国汽车工程学会年会, 2018: 5.
[2] Nidhi Kalra.,Driving to Safety [R].RAND Corporation Annual Report 2016, 2016: 8.
[3] 石娟,田晓笛,王建培.自动驾驶分级方法及测试技术[J].汽车工程师,2018,(09):18-21.
[4] 模拟道路让自动驾驶汽车更安全[J].中国公共安全,2017,(12): 254 -256.
[5] 余卓平,邢星宇,陈君毅.自动驾驶汽车测试技术与应用进展[J].同济大学学报(自然科学版),2019, 47(04): 540-547.
[6] 朱冰,张培兴,赵健等.基于场景的自动驾驶汽车虚拟测试研究进展[J].中国公路学报,2019,32(06):1-19.
[7] Miquet C. New test method for reproducible real-time tests of ADAS ECUs:“Vehicle-in-the-Loop” connects real-world vehicles with the virtual world[C],2014: 575-589.
[8] Butenuth M, Kallweit R, Prescher P. Vehicle-in-the-Loop Real-world Vehicle Tests Combined with Virtual Scenarios[J]. ATZ worldwide, 2017, 119(9): 52-55.
[9] 赵祥磊,徐维庆.ADAS车辆在环仿真开发平台研究[C].第19届亚太汽车工程年会暨2017中国汽车工程学会年会,2017:4.
[10] 黄伟.自动驾驶汽车传感器技术产业分析[J].信息通信技术与政策,2018,(08):40-44.
[11] Feng Y,Wang J.GPS RTK Performance Characteristics and Analysis [J].Journal of Global Positioning Systems,2008,01(1): 1-8.
[12] 表允皙,赵汉哲,郑黎蝹等.ROS机器人编程[M].Apress: 2017.