智能汽车传感器实时功能模型及验证*
2019-08-08董学才王战古
詹 军,董学才,洪 峰,管 欣,王战古
(吉林大学,汽车仿真与控制国家重点实验室,长春 130022)
前言
欧洲PEGASUS指出,对于三级及以上的自动驾驶系统需要进行虚拟仿真测试[1]。虚拟传感是虚拟测试中的一个重要环节,虚拟传感器模型的质量决定了在仿真中获得的真实感程度[2-3]。利用虚拟环境下环境感知传感器进行仿真建模测试[4],不仅可以在短期内实现对多种路况进行再现测试以及对危险的驾驶情况进行测试,而且可以突破时间限制不间断地测试,能够大大缩短产品测试周期,成本也比较低。
在建立智能汽车的传感器仿真模型时,一般可以分为物理模型建模和功能模型建模[5]。
物理模型对传感器的具体物理结构和物理原理进行模拟,体现了传感器的物理特性。例如Kärnfelt等人[6]采用线型调频技术,开发了一个全系统雷达模拟器,在硬件实现之前,可以研究雷达不同的结构、调制格式和检测算法。Pro-SiVIC采用射线追踪并考虑反射情况的方法建立了毫米波物理模型,模拟了其天线工作过程和信号传播过程,实现了在移动目标较少的工况下的运行[7-9]。邓伟文基于调频连续波的频移键控和线性调频雷达模型,采用扩展卡尔曼滤波方法对多目标进行跟踪[10-11],验证了其在具有自适应巡航控制系统的几种典型场景下的有效性。
功能模型忽略了传感器的测量过程直接输出各个对象被感知的结果[12]。例如陈金令等[13]考虑了激光雷达距离方程、噪声模型、接收信噪比模型,建立了激光雷达系统的数值仿真模型,有助于雷达系统实验的方案设计和性能改进。张素民[5]提出的传感器功能框架模型,采用圆锥体与平面、线段的相交测试算法和最短距离点的求解算法对模型进行构建,并在其交互式驾驶场景中验证了其模型关键方法的可行性和有效性。韩飞等[14]采用分析真实相机中常见的参数计算相对应的虚拟相机参数,计算虚拟相机的相关参数,渲染出该虚拟相机的色彩图像和深度图像的方法,建立了虚拟相机模型。
此外,智能汽车控制器测试验证需要复杂的交通环境,其中的交通车辆模拟也需要带传感器的智能汽车模型,计算量大大增加,对计算效率要求更加严苛,每个传感器的计算都需要在微秒级完成,上述两种传感器模型大都还不适用于复杂交通场景模型。针对上述研究现状,本文中建立了虚拟环境下可以适用于多智能汽车并发实时仿真的高效率传感器功能模型,可以模拟一定的物理现象,并对模型功能和性能进行了有效验证,且在并发仿真条件下对计算效率进行了验证。
1 传感器功能模型的建立
1.1 模型框架
为建立虚拟环境下的传感器功能模型,本文中搭建了如图1所示的传感器框架。模型的输入包括本车状态、仿真场景、传感器参数和环境参数4部分。模型的功能模块由对象提取、遮挡模拟、输出模拟和误差模拟组成。对象提取,是按照传感器的位置、感知范围、感知对象类型从仿真场景中快速提取出被感知对象。遮挡模拟,根据对象的几何轮廓和它们相对传感器的位置关系,按照图形几何学确定出最终的可见对象。输出模拟,根据传感器自身特性、被感知对象的输出格式,为需要对外输出的可见对象计算理想的输出数据,得到理想待输出对象。误差模拟,表征传感器特性,在理想待输出对象的输出数据上加入高斯白噪声,形成最终的感知输出。
图1 传感器功能模型的框架
1.2 对象提取
为满足大规模仿真场景中多车传感器需求,快速对象提取是基础[15]。快速提取的工作原理如图2所示,将仿真空间在惯性系下按照二维平面划分为连续的正方形网格,所有物体每一时刻在几何上必将属于正方形网格中的一个或几个。为每个需要对外提供信息的物体创建一个被截取对象,根据类型的不同,将被截取对象句柄存储在所属正方形网格中不同对象层的对象链表中。为每一个需要获取其他物体信息的模块创建一个截取模型,每个截取模型将根据传感器作用范围先用一个简单几何轮廓进行截取,比如图2中所示的圆形范围,根据截取范围所覆盖的正方形网格,截取模型对象可以访问正方形网格中不同对象层中的被截取对象,从而实现对被截取对象的快速截取。最后,根据传感器的几何探测范围从被截取对象中按照几何裁剪原理,进一步提取传感器目标对象。
图2 快速提取方法工作原理
1.3 遮挡模拟
阴影体算法,是计算机图形学领域计算点光源产生阴影效果的一种经典算法[16]。基于阴影体算法,本文中提出了一种在二维平面内判断对象之间遮挡关系的快速算法,其原理如图3所示。定义主车车体坐标系V,传感器坐标系S,两者X轴方向重合,Y轴方向均指向左侧,车体坐标系原点位于车体质心,传感器坐标原点位于传感器安装点。
定义待处理对象的几何轮廓模型为平面有向包围盒,如图 3(a)中表示待处理对象 1的矩形A1B1C1D1,忽略对象不同表面材质对感知结果的影响。
定义待处理对象的可见三角形,是在传感器坐标系下以传感器坐标原点S为一个顶点,从待处理对象4个顶点中选出角S最大时的两个顶点形成的三角形,如图3(a)所示,待处理对象2的可见三角形为ΔA2SB2,可见三角形离X轴最近的边与X轴的夹角为最小可见角,可见三角形离X轴最远的边与X轴的夹角称为最大可见角,如图3(a)中的φ2max,φ2min,此时有如下关系成立:
同理,可得图3(a)中待处理对象3的可见三角形为ΔD3SB3,最大可见角、最小可见角分别为φ3max,φ3min。
图3 快速遮挡算法的假设与原理
对待处理对象是否被遮挡进行判断。如图3(a)所示,待处理对象3的可见三角形与待处理对象1的轮廓相交,则待处理对象3被遮挡,而待处理对象2则不会被遮挡;对于被遮挡的对象,可进一步根据两个对象的最大、最小可见角,判断被遮挡的对象是否仍有部分轮廓对传感器可见,依次遍历待处理对象列表中的每一个对象,判断当前正在遍历的对象几何轮廓是否与输入对象的可见三角形相交。如果相交,则当前正在遍历的对象已经对输入对象形成了遮挡,如果传感器能够对只有部分轮廓可见的对象进行感知,则需进一步比较可见角。如图3(b)所示,待处理对象1的轮廓与待处理对象2的可见三角形相交,但是因为 φ2max>φ1max>φ2min>φ1min,所以待处理对象仍有部分轮廓(图3(b)中加粗线条部分)对传感器是可见的,激光雷达和毫米波雷达可将这部分轮廓识别为对象。
激光雷达感知对象实际轮廓的确定。在激光雷达建模计算过程中,可以根据激光雷达的扫描角度范围、水平角度分辨率,在激光雷达坐标系下预先计算出代表每条激光束的线段,并按扫描角度由小到大顺序存储,如图4所示。当已知对象的最大、最小可见角为φmax,φmin时,可按照如下关系得到与对象可见轮廓相交的角度最大、最小的激光束线段标号。得到两条激光束与对象可见轮廓的交点,快速获得对象实际被激光雷达扫描到的轮廓范围。
式中:αstart为扫描角度范围的起始;β为水平角度分辨率;indexmax和indexmin分别为与对象可见轮廓相交的角度最大、最小的激光束线段标号。
图4 激光束计算原理
1.4 输出模拟
输出模拟是将快速提取到的大地坐标系下的对象信息转换到传感器坐标系、车体坐标系下,并根据传感器的实际输出生成输出量。
对于激光雷达模型,根据得到感知对象的轮廓,计算出形心位置,并根据对象的角度、速度等信息,主车的位置、运动状态,以及雷达相对主车的安装位置,利用运动学关系及坐标变换,计算出对象在车体坐标系下的形心位置、速度、横摆角。
对于毫米波雷达模型,根据可见轮廓计算出对象相对雷达的最近点作为反射点,利用运动学关系及坐标变换将距离、角度、径向相对速度从大地坐标系转换到雷达坐标系。
对于照相机模型,将机动车、行人等典型交通参与物的位置、宽度等信息,进行坐标变换,转化到车体坐标系下进行输出。对于车道标线和道路边沿,直接选取感知范围内等间隔的若干离散点,按照预先设定多项式拟合公式计算拟合参数并输出。
1.5 噪声模拟
目前大多数传感器功能模型对误差的模拟方法都是在理想输出结果上添加噪声来实现[17-18]。虽然很多传感器感知结果中的噪声是具有一定频率范围的有色噪声,而且对同一对象不同状态变量的感知结果可能存在相关性,但是目前大多数文献都将其简化为彼此独立的高斯白噪声,在多数情况下可以满足仿真需要[3],因此,本文中采用高斯白噪声来模拟传感器的噪声,噪声水平可根据实际传感器进行设置。
2 传感器功能模型的仿真验证
本文中分别参照德尔福ESR毫米波雷达参数、Ibeo四线激光雷达参数、德尔福IFV300单目照相机参数分别建立了3个传感器模型,对模型进行仿真验证如下。
2.1 毫米波雷达模型
2.1.1 功能验证
ESR毫米波雷达模型能够感知各种移动和静止的障碍物,将感知结果表示为质点。毫米波功能模型模拟了毫米波雷达对目标径向相对距离、径向相对速度、角度的感知。
图5所示为毫米波雷达模型在复杂交通环境中的感知结果,模型同时检测了车辆和静止障碍物,并将正前方车辆识别为ACC跟踪目标。另外,该验证是在加了高斯白噪声之后的图片示例,其余未标注的是该时刻下的噪点。图5(a)为虚拟场景的截图,其中包括车辆和路边的灯杆,图5(b)为近程和远程毫米波雷达感知结果。从图中可以看出,毫米波雷达可以探知前方的车辆和灯杆,并标注本车道前方车辆4车作为ACC跟踪目标,同时表征了车辆间的遮挡关系,此时主车速度为30 km/h,目标车车速为50 km/h。
图6所示为毫米波雷达模型弯道探测过程示意图。图6(a)和图6(b)所示为对面来车未进入主车毫米波雷达探测范围时的探测结果,图6(c)和图6(d)为对面来车进入主车毫米波雷达探测范围中的探测结果,本图中关闭了对路灯杆的探测显示,此时主车车速为0,目标车车速为50 km/h。
图5 毫米波雷达模型感知结果
图7 所示为毫米波雷达在前车换道工况的探测结果。图7(a)和图7(b)所示为前车在进行换道时的探测结果,此时2车正在进行换道,并对3车和4车形成了遮挡。图7(c)和图7(d)为前车换道完成后的探测结果,此时2车已经换道完毕,与3车和4车位于同一车道,其中未标注的点为路灯杆,此时主车车速为0,目标车车速为50 km/h。
图7 毫米波雷达换道工况感知结果
2.1.2 性能验证
为验证毫米波雷达感知的精度,将一辆长4.2 m、宽1.8 m的静止车辆分别置于前方14.9,34.9,54.9,84.9,124.9和 164.9 m处,角度均为-0.275 7°处,毫米波雷达模型探测结果如图8所示。
图8 有噪声毫米波雷达探测结果
其中设置的理想距离方差和理想角度方差均为σ=0.5/3=0.1667,实际探测距离方差平均值为0.166 3,实际探测角度方差平均值为0.158 2。由此可以看出,本文中所建立的毫米波雷达可较为精准地模拟探测障碍物,且探测精度较高。
2.2 激光雷达模型
本文中所建立的激光雷达模型可以感知各种移动、静止的障碍物,计算出其几何轮廓,估计分类,并模拟激光雷达对目标相对位置、速度、几何轮廓的感知过程。
2.2.1 功能验证
图9所示为激光雷达模型在复杂交通环境中对周围的车辆进行有效的感知结果,模型模拟了遮挡效果因此只能感知近处车辆,而且被感知的车辆几何轮廓并不相同,距离较近且位于主车两侧的车辆可返回较为接近真实值的长度,距离较远且位于主车正前方的车辆只能返回宽度,长度值很小。
图9 激光雷达模型感知结果
图10 所示为激光雷达在前车形成遮挡工况的探测结果。图10(a)和图10(b)所示为前车1车对2车存在遮挡,使得2车被激光雷达探测到的部位长度小于所设定的阈值,因此2车不可见。图10(c)和图10(d)为前车1车以高于2车的车速继续行驶,此时2车被1车遮挡的部位不断减少,激光雷达所能探测到的部位大于所设置的阈值,但其侧面未探测到,因此2车只有车身宽度却没有车身长度显示。
2.2.2 性能验证
为验证激光雷达的感知精度,将主车置于原点,目标车坐标:X=80 m,Y=0,Z=0,规格:4.2 m×1.8 m,雷达安装位置:X=0,Y=0,Z=0,激光雷达模型探测数据如表1所示。
图10 激光雷达模型对象遮挡工况感知结果
表1 激光雷达无噪声探测结果
由表1可见,本文中所建立的激光雷达仿真模拟探测障碍物时,距离探测值和宽度探测值均与理想值高度一致。
2.3 照相机模型
本文中所建立的照相机模型模拟了照相机对车辆相对位置、纵向速度、宽度、类型和车道标线的感知过程。
2.3.1 功能验证
本文中所建立的照相机模型能够对路面的车道标线(本文中设置为4条,主车左右各两条)进行感知,并且适用于弯道、匝道等道路情况。整体感知结果如图11所示。
2.3.2 性能验证
有噪声情况下,目标车:4.2 m×1.8 m,照相机安装位置:X=+3 m,Y=0,Z=0,纵向距离探测精度:2 m,σxexp=2/3=0.666 7,横向距离探测精度:0.5 m,σyexp=0.5/3=0.1667。目标宽度探测精度:0.5 m。照相机模型探测数据结果如表2所示。
图11 照相机模型的总体感知结果
表2 有噪声照相机探测结果
由表2可见,本文中所建立的照相机模型模拟探测障碍物时,实际的探测距离值和宽度值与理想值基本一致,实际的距离方差和宽度方差也均与理想值偏差较小。
3 模型计算效率验证
本文中所建立的传感器模型,在满足实时计算的同时,提高了计算效率,并能用于仿真场景中的多台智能汽车。为测试本文中所建立的3种传感器模型,在普通PC机上分别为每种传感器同时运行10个参数完全相同的传感器模型实例,统计每个传感器模型实例运行10 000次的平均用时,结果如表3所示。计算机处理器型号为Intel(R)Core(TM)i7-4790,主频3.6 GHz。仿真结果表明,本文中所建立的传感器功能模型在反映传感器必要物理特性的同时,计算效率也非常高,用时均在0.2 ms以下,而且支持并发运行,为在虚拟测试平台上进行多智能汽车并发仿真创造了条件。
表3 3种传感器模型的平均计算用时
4 结论
基于上述建模框架及关键方法,参照车载传感器产品参数,本文中所建立的毫米波雷达、激光雷达、照相机模型能够模拟物体之间的遮挡、传感器感知误差等物理特性。并在一台计算机上并发运行几十个传感器模型,各模型计算周期均在亚毫秒级,能够支持多智能汽车同时参与的复杂测试场景实时仿真。