秦文刚 代堃鹏
(1.上海智能网联汽车技术中心有限公司;2.上海交通大学汽车动力与智能控制国家工程研究中心)
自动驾驶汽车在真正商业化应用前,需要经历大量的道路测试才能达到商用要求。2020年发布的《中国智能网联汽车技术路线图2.0》[1]明确指出:测试评价是智能网联汽车基础支撑技术之一。采用路测方法来优化自动驾驶算法耗费的时间和成本太高,且开放道路测试仍受到法规限制,极端交通条件和场景复现困难,测试安全存在隐患,自动驾驶虚拟仿真测试作为实际道路测试的必要补充已经成为各大整车厂,检验检测机构,自动驾驶技术提供商,测试服务提供商等多方的共识,并越来越受到重视[2-3]。2021年发布的《智能网联汽车生产企业及产品准入管理指南(试行)》[4]也明确地将模拟仿真测试纳入了产品准入测试要求中。完善可靠的模拟仿真测试软硬件环境及工具链成为自动驾驶技术迈向产业应用的重要支撑。
图2 实车在环系统搭载的四驱底盘测功机
仿真测试主要通过构建虚拟场景库,实现自动驾驶感知、决策规划、控制等算法的闭环仿真测试,满足自动驾驶测试的要求。实车在环测试采用真实的目标车辆,测试结果更接近实车在测试场地进行的测试结果,可以更有效地验证自动驾驶算法整车集成运行效果,提升与实车场地测试下的测试结果一致性。
智能驾驶测试的关键,是构建出ADAS控制器运行交互的环境,主要分为三个方面:传感器仿真、场景仿真、执行机构仿真。面对智能驾驶测试面临的挑战,虚拟测试、实车测试两种手段都必不可少,本研究工作主要包括虚拟仿真系统的传感器仿真、场景仿真与基于实车测试的真实执行机构的系统集成。
本研究提出的实车在环仿真技术采用集成车辆仿真功能的测试机台架(仿真系统+测功机联合应用)解决方案(SYNO-Simulation In Dyno),其理念是在有动力零部件或子系统情况下,采用仿真建模的手段补全车辆其他缺失部件,建立虚拟整车运行环境。由于整车SYNO方案中,采用了真实车辆,执行机构问题具体转化为“负载”仿真问题。SYNO 首先解决的问题是动力系统的道路负载仿真问题,其次是转向/制动相关部件的仿真。
本研究提出的智能驾驶仿真系统的构架如图1所示。
图1 完整的智能驾驶仿真测试系统架构
如图1所示,智能驾驶仿真测试系统主要包括底盘测功机平台、硬件在环系统、图形工作站、感知与定位仿真系统以及操作台。各子系统之间采用以太网、串口、控制器域网(Control Area Network, CAN)、高清多媒体接口(High Definition Multimedia Interface,HDMI)以及其他传感器信号传输的特种信号接口连接,实现包括图像、点云、毫米波雷达数据、控制等信号的实时传输。
(1)仿真系统基础硬件,主要包括:
(a)实时仿真机,用于运行车辆动力学模型、道路交通场景模型、控制输入输出等;
(b)信号采集及信号发生板卡,用于提供通用模拟数字IO信号的模拟和采集、CAN/LIN/车载以太网等总线通信模拟和采集、超声波传感器仿真等;
(c)故障注入系统、车载电池模拟、供电管理等组件。
(2)车辆动力学模型,用于模拟目标车的动力学行为,例如加速、制动、转向等过程。
(3)道路交通场景仿真软件,用于模拟智能驾驶功能仿真测试所需要的虚拟道路、交通、环境等测试场景元素。
(4)感知定位传感器系统仿真组件。
(5)试验控制及测试管理软件及其上位机电脑。
实车在环实验室将汽车底盘测功机集成入实验平台中,以获取准确真实的车辆纵向动力学响应。
如图2所示,采用宝克4814型四驱底盘测功机[5],由四套转鼓组件、四套电机和驱动器、扭矩和速度测量系统、支撑框架、轴距调节系统、自动地板系统以及所专有的控制系统等组成。测功机计算机控制系统编程计算所需转鼓表面力,精确地模拟道路载荷实际情况,为车辆模拟实际的道路状况如速度、扭矩、道路载荷等,使车辆在与实际道路行驶相同的条件下运行、测试。
硬件在环系统的主要作用是运行MATLAB/SIMULINK中开发的车辆动力学模型,通过IO板卡实现信号模型、信号采集、故障注入、负载模拟等功能,完成半实物仿真设备与控制器的闭环控制,从而实施各类测试工作。硬件在环系统的组成部分在前面系统框架部分已有介绍,此处不再重复。
采用CarSim车辆动力学仿真软件,可对仿真车辆对驾驶员,路面及空气动力学输入的响应进行虚拟仿真,CarSim软件可以方便灵活地定义试验环境和试验过程,但同时在实验前期需要大量的模型标定工作。
虚拟测试场景为实车在环测试系统中的被测车提供虚拟的运行交通环境,其包含丰富的交通元素,包括路网、道路交通标志、交通流、骑行者、行人及各类传感器数据模拟。在智能驾驶仿真测试中,丰富且优质的场景是开展有效测试的关键。
如图3所示,本研究提出的方案选择Virtual Test Drive(VTD)作为视景仿真软件。VTD是一款复杂交通环境视景建模仿真软件,主要用于汽车智能驾驶系统测试中的复杂交通视景系统开发。该软件具有较高的开放性,采用主流开放的标准构建场景,并存OpenDRIVE、OpenCRG和OpenSCENARIO标准,便于智能驾驶虚拟环境的重建和测试场景的开发。不仅如此,该软件提供了方便的接口与车辆动力学模型和相关软硬件相结合,实现 SIL(Software in the Loop)、DIL(Driver in the loop)、仿真系统HIL(Hardware In the Loop)、VIL(Vehicle In the Loop)等测试功能,完成智能驾驶/无人驾驶技术的开发、验证和测试,还可以支持批处理仿真,完成相关功能的快速验证和评估。
图3 VTD软件架构示意图
本研究的一个重要内容为建立测试评价用例库。在参考《城市停车智能引导系统技术规范第1部分:自主泊车系统技术要求和测试方法》[6]、《自主代客泊车系统总体技术要求》CSAE标准报批稿[7]基础上,针对自动泊车场景,进行功能定义、场景提取、赋予场景合理的参数范围,定义测试评价用例及通过标准,建立初步的测试评价用例库并对测试场景使用3D仿真软件VTD进行还原构建。
目前已经搭建完成包含上海智能网联汽车测试园区地上场景与地下场景和交大园区场景在内的三百多个具体场景的场景库,分为13大类共七十个功能场景,所有这些场景可以部署在实车在环平台上实现实时仿真测试,并且通过VTD 仿真软件模拟完成对测试评价用例库的筛选和提炼。
智能驾驶车辆通过智能传感器,包括摄像头、激光雷达、毫米波雷达、组合导航系统以及车载单元接口V2X信息等方式获取周围环境的感知信息。因此在虚拟场景中构建一致性高的传感器模型,并为自动驾驶算法提供感知数据是开展有效实车在环测试的基础。
本研究提出的实车在环智能驾驶仿真测试系统采用“虚实结合”的方式实现高一致性传感器数据仿真。在传感器自身的仿真之外,还可以实现传感器在车体坐标系中的安装位置及安装角度的灵活配置。
本系统可实现的虚拟传感器模型有:
(1)摄像头模型:支持长短焦摄像头、图4所示鱼眼摄像头、双目摄像头等的仿真,且输出的图像分辨率、畸变可调,同时可以可控地输出图像语义分割、包围框等信息;
图4 鱼眼摄像头仿真输出图像
(2)激光雷达模型:支持360°多通道扫描式激光雷达、多通道微机电(Micro-Electro-Mechanical System,MEMS)混合固态及全固态激光雷达的仿真,且输出的点云线束、可视范围、环境材质及反射率等可调,同时可以可控地输出点云包围框真值等信息,如图5所示;
图5 激光雷达仿真输出点云
(3)毫米波雷达:支持配置多种主流的毫米波雷达模型,最远测距、可视角度范围等参数可调;
(4)超声波雷达:支持配置多种主流的超声波雷达模型。
本系统可实现的传感器硬件在环方案包括摄像头暗箱、超声波雷达仿真盒。
本研究中采用如下的软件构架及基础软件开展系统的管理、调试、实验界面开发、手动测试工作,支持测试人员进行测试流程,规范,用例的编写,通过与仿真系统和车辆接口进行自动化的测试编程及测试工作,最终生成测试报告,并对测试的报告和结果进行分析统计,完成对车型的测试任务。其具体的构架如下图6所示:
图6 上位机测试管理软件设计
本研究针对自动泊车测试需求,建立了包括安全性、舒适性、驾驶性能、标准性的四维测评体系[8]。在此基础上,通过对上述四维测评体系的二级、三级细化,得到了可考核的详细指标,如下表1所示。不仅如此,针对不同的三级评价指标,结合APS特点,设定了详细的测试工况。依据上述测试指标及工况开展实车在环测试,可以得到对APS功能的量化评分。
表1 APS评测体系相关指标
TTC(Time-to-Collision)是目前常用的一种安全性替代度量,它表示在后车比前车速度快且速度差不变的情况下,两车发生碰撞所需的时间,如式(1)所示。
TTCn(t)=
(1)
其中,TTCn(t)表示后车n在t时刻的TTC值,x表示车辆的位置,v表示车辆速度,Ln-1表示前车的车长。
TTC值越小,表明车辆处于越大的风险中,当TTC小于一定值时,则认为处于危险情况下。TET(Time Exposed Time-to-Collision)由此派生出,它表示处于危险情况下的总时间,由低于TTC阈值(TTC*)的TTC值确定,如式(2)所示。
(2)
其中,t代表时间,Δt代表时间步长,Time表示仿真总时长,TTC*为TTC的阈值。
Jerk代表加速度的变化率,如式(3)所示,可以用于衡量冲突的严重性。有研究表明关键或危险的加速度变化率(即小于或等于-9.9 m/s3的加速度变化率)与撞车事故之间存在正比关系,因此有学者在研究中将小于或等于-9.9 m/s3的加速度变化率的数量(即NCJ,Number of Critical Jerk)作为计算安全关键驾驶行为的指标。本研究采取NCJ这一指标作为安全性指标之一。
(3)
基于上述评价体系,针对泊车场景,开展了实车在环自动化测试评价系统的开发。该系统可以对自动驾驶车辆进行自动化测试用例的执行和结果分析,并按照选取的评价指标进行打分,生成相应的结果分析报表。同时本自动化评测系统预留的接口,方便用户扩展测试用例及评测模块。基本测试流程如图7所示。
图7 自动化评测流程
自动驾驶自动化评测系统的用户界面如图8所示,利用该界面可以控制基于车辆在环的智能驾驶仿真测试系统以及测评系统自动化进行,自动启动VTD,运行所选场景,同时后端传输记录仿真运行相关数据,在仿真运行结束后自动关闭VTD,生成测试报告,可通过点击鼠标查看测试报告。
图8 自动化评测系统用户界面
本节基于实车在环智能驾驶仿真测试系统及某自主品牌线控车型作为被控车辆开展自动泊车算法的整车在环测试及评价。
被测车辆配备了前向摄像头及测距雷达,提供了全自动泊车功能。被测系统的传感器配置如图9所示。
图9 被测车辆的传感器配置
为了更好地实现自主泊车系统的实车在环仿真测试,本研究针对上海智能网联汽车技术中心有限公司所在智能网联汽车开放测试园区进行了孪生场景的建设。孪生场景包括园区地面测试场景以及地下停车库场景。基于VTD的道路编辑器(Road Designer, ROD)结合园区高精地图搭建地上/地下静态路面场景。采用现场拍摄的建筑物、景物外观图片,利用三维设计软件搭建园区三维模型,并导入VTD的场景编辑器中,生成与真实场景高一致性的虚拟场景库。园区地上及地下停车库孪生场景示意图如图10所示。
(a)园区地上孪生场景 (b)园区地下停车库孪生场景
在完成上述孪生测试场景的建设之后,进一步基于Carsim软件配置被测车辆的高精度动力学模型。被测车的高精度动力学模型经编译后下载到实时计算机中作为被控件,接收自动驾驶系统控制模块给出的控制信号,主要包括油门、刹车、方向盘、档位等,产生更新后的车辆位姿状态和底盘总线参数,输出给自动驾驶的各个模块。除了模拟车辆整体的行为,也该动力学模型也可以接入车辆的各个模块,例如转向、动力传动、制动等进行直接的控制。VTD-Carsim联合仿真测试框架如图11所示。
图11 VTD-CarSim联合仿真平台框架图
当孪生场景与车辆动力学模型联合仿真正常启动,系统将车辆在虚拟环境中的定位信息、传感器模拟信息传输给自主泊车系统,进而开展泊车路径的规划与路径跟踪控制,开展泊车系统的实车在环测试。图12所示为以某自主品牌车型为被控车辆的实车在环测试现场。
针对垂直目标车位开展了实车在环仿真测试,并对其结果进行分析。如图13所示为本实验开展的具体场景,图(a)为被测车(红色轿车)在测试场景中的初始位置,可以看到该场景中目标车位为垂直车位,且场景中多数车位都已经被其他车辆占据,只有中间一个车位留空,停车任务具有挑战性。图(b)为被测车在测试场景中的泊入车位的状态。图14所示为测试中间状态。
图14 基于实车在环的自主泊车仿真测试
自主泊车系统在获取自车定位信息及目标车位位置信息之后,采用A*算法开展局部泊车路径规划[15]。如图15所示为被测自主泊车系统的路径规划结果。图15中黑色区域为障碍物(相邻车位的其他泊车),中间的白色区域为目标车位。泊车的轨迹规划算法采用A*算法,图中的蓝色曲线为规划出来的路线,可以看到它成功地避开了障碍物,形成了到达目标车位的路径。
图15 A*算法路径规划
然而,由A*算法规划出来的路径的曲率不连续,无法直接实现车辆的平滑控制,因此需要进一步对规划路径平滑处理。如图16所示为平滑处理之后的路径,可以看到平滑之后的路径不仅保证与障碍物无碰撞,同时其曲率平滑,可用于自主泊车控制。由图13(b)所示,目标车辆成功泊入目标车位且无碰撞。
图16 生成的路径进行路径光滑
在单个功能仿真测试基础之上,开展了自主泊车系统的批量场景测试。此次测试共包括了500次蒙特卡洛测试。如图17所示为自动化测试报告。可以看到依据本研究提出的评价标准,被测系统的碰撞次数平均为0次,驾驶性评分为6.0分,驾驶舒适性为20.0分,总分为26.0分,整体的表现评级为E级。
图17 基于实车在环的自主泊车自动化评测系统评测报告
针对中智能驾驶系统道路测试面临的成本高昂、开放道路测试法规限制,极端交通条件和场景复现困难及测试安全隐患等挑战,研究并开展了:
(1)实车在环智能驾驶仿真测试系统设计及开发,集成了底盘测功机平台、硬件在环系统、车辆动力学仿真系统、传感器仿真系统及测试管理上位机,构建了实车在环仿真测试基础;
(2)实车在环智能驾驶仿真测试评价系统设计及开发,设计并开发了针对自主泊车系统测试的四维评价体系,并基于此开发了自动化可扩展评测系统;
(3)自主泊车系统的实车在环仿真测试评价,搭建了孪生泊车测试场景并开展测试实验,验证了本实车在环测试系统的有效性。