基于预碰撞区域的切入场景自动化识别算法研究
2022-03-26曾杰廖伟丁雪聪胡雄
曾杰,廖伟,丁雪聪,胡雄
1.国家智能网联汽车质量检验检测中心(重庆)/招商局检测车辆技术研究院有限公司,重庆 401112;2.重庆大学 机械与运载工程学院,重庆 400044
随着自动驾驶系统在车辆上的快速应用,交通事故风险大大降低,其中L2级自动驾驶系统为驾驶辅助系统(Advanced Driving Assistance System,简称ADAS),具有自适应巡航和车道居中功能,可有效降低追尾碰撞[1]和侧面碰撞[2]发生概率.ADAS系统可以带来良好的驾乘舒适性,得益于中国汽车主机厂和造车新势力的先进理念,ADAS或将成为标配功能[3].有资料表明:由于ADAS的不安全性和功能局限性[4-6],造成了多起事故.因此,公众和政府逐渐关注ADAS的安全性和可靠性性能[7].自动驾驶系统(Autonomous Driving System,ADS)的可靠性和安全性能将通过实车测试和模拟测试进行测试[8-10],这需要大量有效的测试场景案例揭示ADS的局限性和缺陷.当前,典型的测试场景构建方法为基于试验场构建的模拟测试场景[11-13],该方法不能覆盖大多数边缘案例,无法全面深入测试ADS[14].因此,研究真实道路中自动驾驶汽车可能遇见的场景,对于智能驾驶汽车的安全性测试至关重要,而切入场景是智能驾驶系统遭遇到的典型危险场景之一[15-16].场景数据的采集主要有车端场景数据采集、路侧单元采集、空中俯视、封闭试验场测试等方式[17-19],但完全自动化实现场景的标记与分类较为困难[20],一般做法是通过人工进行场景标记.人工标记方式主要是基于场景采集车的摄像机记录视频,或在场景发生时使用按键将预定义的场景标志插入到数据流中,并离线处理数据,存在效率低、成本高等问题.因此,研究一种自动化切入场景的标记与分类的算法,对提高场景数据处理与数据挖掘的效率和降低成本具有重意义.本研究基于多个环境感知传感器搭建起了场景采集系统,并将采集系统部署至搭载了L2级自动驾驶系统的车辆.研究并提出了基于预碰撞区域的切入场景危险情况的检测算法,在基于SCANeR软件的仿真平台上利用大量的测试用例对算法进行了测试.随后,在不同车速和相对距离的切入场景下,以真实目标车辆在试验场上进行了测试验证.
1 场景采集系统搭建
场景采集系统由先进的多源异构环境感知传感器组成,例如顶置的80线机械旋转式激光雷达和两个Mobileye Q3的目标检测摄像头,具体传感器布局如图1所示.旋转激光雷达安装在车辆顶部,4个固体激光雷达分别安装在保险杠的前角和后角.当目标进入旋转激光雷达的盲区时,4个固体激光雷达将向激光雷达传感器融合模块提供目标的点云,这些点云将增强目标检测和跟踪的可靠性和稳定性.前置摄像头还可以输出目标信息以及车道信息,用于计算穿越车道的时间,并检测穿越车道的事件.雨量传感器和光照传感器用于记录场景重建的环境条件.360°环视重编码摄像机仅用于将图像信息记录到视频中,用于检查自动切割算法检测到的场景的准确性.本研究识别切入场景的目标速度取样于前向毫米波雷达提供,目标距离、角度和加速度信息取样于激光雷达融合系统输出数据,摄像头识别结果作为数据备份使用.
图1 场景采集传感器布局及试验车辆
场景采集系统配置如图2所示,激光雷达系统的目标列表将进行预处理,其余传感器的数据将直接传输到场景采集系统,根据各个传感器的数据频率特性,设计了相应的数据同步处理与记录模块.表1为识别切入场景目标的主要传感器型号及精度,数据来源于相应的传感器参数说明书.
图2 场景采集系统构架示意图
表1 主要传感器精度
用于搭载场景采集系统的车辆为第三代哈佛H6,配备了L2级自动驾驶系统即ADAS,具有车道居中与全速域自适应巡航功能.真实的道路场景是随机发生的,目标车辆的运动由于道路的不平整度或坡度而不平稳.此外,如果场景采集系统车辆的运动也处于不稳定状态,那么这种方法收集到的场景可能会给软件或地面测试中场景的重构带来很多困难.因此,场景采集系统车辆的行驶方式应确保车辆始终保持在车道中心,并在大多数时间内以恒定速度行驶,通过这种方法收集到的场景可以相互一致,并且场景的稳定性也将大大提高.
在试验场地对驾驶员和车辆自动系统驾驶之间的速度保持能力和相对于车道的横向位置保持能力进行了试验比较.测试方法为:选择3名驾驶员进行测试,驾驶员将速度保持目标设置在50 km/h,车道保持目标为车道中心行驶,跟随以50 km/h的恒定速度前方目标车辆.弯道的车道曲线半径为500 m,测试系统以很高的精度获取车辆的行驶数据.
选取3名驾驶员中驾驶表现最好的结果与车辆的自动驾驶系统进行对比,速度保持和相对于车道的横向位置的结果如图3.图3a所示的速度曲线急剧下降部分和图3b横向距离急剧变化部分,分别为试验结束驾驶员主动减速和驶出弯道的结果.根据对比结果发现,驾驶员驾驶速度总是在3 km/h的范围内变化,但车辆的自动驾驶系统驾驶的速度几乎是恒定的.驾驶员驾驶偏离中心车道的最大横向位置分别为0.2 m、0.4 m、0.3 m,不能很好将车辆保持在车道中间,车辆的ADAS能将车辆始终保持在车道中心0.1 m的范围之内.
图3 L2自动驾驶系统与驾驶员的车速保持与行驶路径偏移情况对比
基于以上分析结果,使用带有L2级自动驾驶系统的场景采集车的原因如下:
1)不同的驾驶员有不同的驾驶习惯,收集的数据会受到驾驶员个人驾驶习惯的影响,收集的少数驾驶员的场景在统计上并不显著.
2)具有主动安全功能的车辆生成的场景是ADAS与外部环境之间的博弈,不应受驾驶员主观驾驶行为的影响.
3)ADAS在车辆方向控制和速度控制方面更稳定,采集的数据更稳定,提高采集场景数据的一致性.
2 切入场景识别算法
2.1 基于预碰撞区域的切入场景识别算法
场景采集系统采集传感器融合的数据流,通过该算法自动检测出危险场景,将有用的、合理的场景从海量数据中分离.场景识别算法主要基于自车车辆(SV)和目标车辆(TV)之间的预碰撞风险评估算法,图4展示了SV和TV可能发生碰撞时的参数构成.
图4 碰撞区域—场景参数示意图
碰撞危险区的宽度尺寸由公式(1)和公式(2)计算得出.Ws与SV的当前速度有关.
Ws=Wsv×Vsvx×Fs
(1)
Rs=(Vsvx-Vtvx)×TTCm
(2)
Vsvx和Vtvx是指SV在其坐标系中的前进速度和横向速度.系数Fs用于调整碰撞危险区的宽度,Wsv是SV的宽度.TTCm是控制碰撞危险区经度维度的因子,TTCm设置为4.0.当SV在当前移动状态下到达碰撞点时的碰撞时间(Tc)由公式(3)给出.
Tc=Rlon× (Vsvx-Vtvx)-1
(3)
SV和TV之间的横向位置为Rlatc,当SV到达碰撞点时,Rlatc由公式(4)给出.
Rlatc=Rlats-Tc×Vtvy
(4)
用于检测碰撞风险的指数Fc由公式(5)给出.如果Fc≥0,表示存在碰撞风险;Fc<0,则表示TV已离开或未到达碰撞危险区.
Fc=Ws× 0.5-Rlatc
(5)
如果算法在时刻Ti(以秒为单位)检测到碰撞风险,则对Ti前后7秒内的数据进行保存,长度为15秒的数据满足场景复现的时长需求.
2.2 场景分类算法
图4显示了SV前方的碰撞风险区域,该区域分为3个不同区域.区域1为不可预防碰撞区域,区域2为紧急制动区域属于非舒适区域,区域3阶段为低碰撞风险区域属于舒适区域.公式(6)和公式(7)给出了区域1的设计方法.
(6)
(7)
Ru和Wu为用于调整相应区域宽度和长度的参数,amax是SV全力制动时能达到的最大减速度.
公式(8)和公式(9)给出了区域2的设计方法.
(8)
(9)
区域2的asv=4.0~8.0 m/s2,区域3的asv=0~4.0 m/s2.区域3的尺寸设计由公式(10)给出,宽度尺寸由公式(9)计算.
(10)
3 算法仿真与实车验证
3.1 算法仿真
本研究使用SCANeR场景仿真软件用于算法验证,搭建起如图5所示的算法仿真平台.根据预定义切入场景关键参数的边界和步长值,使用SCANeR exploer工具化自动生成测试用例和相应的可执行仿真文件集合.在C++中,将场景检测算法编译为可执行程序,并嵌入SCANeR场景仿真回路中,算法程序在共享内存中,自动运行进程并获得速度、距离、加速度等信息.该算法平台可实现自动化加载不同参数的测试用例,并保存测试结果.
图5 基于SCANeR场景仿真软件的算法仿真平台
测试算法的场景描述:TV触发变道前,SV沿前车道中心线匀速行驶,TV与SV保持一定横向距离行驶,当TV与SV的纵向距离达到表2中预设值时,TV以SV的行驶车道中心线为变道目标开始以匀速横向速度进行变道.根据采集到的实际道路的切入场景、相关测试规程数据、以及长期从事测试场景构建的经验参数,测试用例生成算法所使用SV和TV运动参数的边界范围,由表2所示,范围能够覆盖极端、典型的前车切入工况.测试用例Case(i,k,m,f,g)由公式(11)计算.
表2 测试用例参数范围表
(11)
式中,Vsvx为SV纵向速度,Vtvx为目标车纵向速度,Vtvy为目标车横向速度,Rlon为SV与TV相对纵向距离,Rlat为SV与TV相对横向距离.
生成测试用例Case(i,k,m,f,g)的程序如图6所示,测试用例的目标为TV的切入动作会对SV造成碰撞风险,生成测试用例的约束条件:1)Vsvx>Vtvx;2)满足第2.1节公式(5)的要求.设置区域1的amax=8.2m/s2、区域2的asv=[4.0,8.0]m/s2、区域3的asv=[ 0,4.0]m/s2,参数Ru=2.2m,Wu=1.3m,Fs=1.25.根据如图6所示的场景生成与评估流程,使用SCANeRexploer自动生成了约85万个测试用例,根据测试用例评估算法评估后剩余约7.2万个场景,根据测试用例分类方法分为如图7所示的3类测试用例.利用图5所示的仿真平台,对提出的场景识别算法进行自动化仿真测试,仿真结果如图7所示.结果标明,本研究提出的基于预碰撞区域的切入场景识别算法在3个不同切入阶段均能达到约92%的识别率,但算法对不可预防碰撞场景的识别率相对低于区域2和区域3.
图6 测试用例生成及评估与分类方法
图7 算法仿真测试结果
3.2 实车验证
基于重庆机动车强检试验场的内部试验道路,选取一段直线道路和弯道用于切入识别试验.切入试验时的场景如图8所示,图8中绿色框中选择的车辆表明目标车辆已正确识别.切入试验结果如图9所示,为SV与TV的相对距离、相对速度和TTC随时间变化的曲线.
图8 切入场景示意图
图9 典型切入场景测试结果
第3.1节生成的仿真测试用例无法完全在实车测试中进行有效验证.本研究使用以下方法来减少测试数量并获得最具代表性的测试用例.
步骤1 减少每个值矩阵的样本量,并选择具有代表性的值如下:
Vsvx=[30,50,80,100,120]
Vtvx=[10,30,50,80]
Vtvy=[4,8,12,16,20]
Rlat=[3,4,5,6]
Rlont=[20,30,50,60,70,120,150]
步骤2 采用正交试验设计
用正交试验设计,得到110个试验案例.为了完成切入,需要满足Vsvx>Vtvx的要求,消除Vsvx≤Vtvx的情况,并选择典型的11个测试用例.每个测试用例测试10次,共进行110次测试.测试用例设计和测试结果如表3所示.结果表明,识别成功次数为101次,识别率为92.1%.
表3 实车测试验证结果
通过分析可以发现,无法识别的试验场景具有共同特征,即工况处于区域1和区域2.主要原因为:1)当目标车辆速度过快时,容易发生识别故障.2)当横向速度过快时,切入过程较短,目标传感器获得的有效数据较少,导致识别失败.3)当切入点的横向距离过短时,识别也容易失败,原因是切入动作突然,系统响应时间不足.
4 结论
在有限的测试用例下,通过仿真测试平台和真实测试验证的方法对本研究提出的切入场景识别算法进行了验证,识别正确率约能达到92%.因此,本研究提出的算法对于切入场景检测和分类应用具有一定的参考价值.然而,由于感知传感器的局限性,区域1的检测率有待进一步提高.在后续的工作中,将利用场景采集车,进行大规模的路试数据采集,覆盖更全面的场景,不断完善本研究所提出的算法,进一步提高场景识别率.