近年来,随着传感器技术和数据处理算法的不断发展,自动驾驶系统已经取得了长足的进步,使车辆驾驶员和乘员的安全性及舒适性得以不断改善。但由于自动驾驶极其复杂,因此主要挑战之一仍然是确保并验证自动驾驶系统在公共场所使用时的安全行为。
虚拟世界提供了一个适当、安全且可控的环境,可以处理所要求的测试和验证工作的重要部分。正确选择场景并生成紧密贴合现实的虚拟传感器数据,是虚拟开发方式得以成功的核心要求之一。虚拟传感器数据由传感器模型生成,而该模型则构成了虚拟环境感知的核心组成部分(图 1)。上述感知数据是自动驾驶系统决策算法的主要输入流之一。因此,传感器模型的保真度是确保虚拟开发及测试可行性和有效性的决定性因素。
图 1.VIRES VTD 环境中的虚拟传感器模型
通常有两种类型的传感器模型:
理想传感器,一方面可以基于场景直接生成目标信息列表,作为决策的激励输入,另一方面可以复现车辆传感器在进行测量和感知时的误差统计特征,即感知值与真实值之间的偏差。
另一类传感器测量模型基于对测量过程的物理描述,并且会以虚拟场景为基础生成低级测量数据。这种类型的模型通常用于机器人研究中的各种传感器,而用于汽车传感器的测量模型还是新鲜事物。
在本文中,我们将介绍用于汽车激光雷达传感器的传感器测量模型。该激光雷达模型基于光线跟踪法对测量过程进行仿真。这样就可以在仿真环境内实时生成激光雷达点云。通过直接比对来自实际试驾的的数据与传感器模型在虚拟环境中生成的虚拟数据,我们就能够采用适当的指标来量化传感器模型的准确性和有效性。
传感器测量模型
A.传感器模型的实时光线跟踪
我们采用的是汽车工业中常用的扫描式激光雷达传感器。此类传感器通过测量由靶面反射的激光脉冲的传播时间来确定距离。通过扫描得到其角分辨率,也就是在传感器的整个视场上连续移动所发射的激光束以及所选择的光学探测器阵列的视场。目前市面上可买到的大多数系统均采用机械旋转镜来执行扫描任务。此类传感器的工作原理适用于采用光线跟踪技术的建模方法。由 Vires VTD 驾驶仿真软件提供上述传感器模型的虚拟环境(图2),该软件还可以基于 Nvidia OptiX 光线跟踪引擎来提供光线跟踪框架。
图 2.VIRESVTD 中的 LiDAR 模型仿真
B.虚拟点云生成
在对激光雷达传感器的光束发射、反射和检测进行建模时,传感器测量模型的相机程序会为每一组方位角和仰角生成一条光线。如果获得了有效的测距,就会产生点云(更多详情请参见参考文献 1)。
传感器模型验证
A.验证方法
为验证第二节所述的激光雷达传感器模型,我们建议采用图 3 所示的步骤。该方法基于真实数据与模拟数据的对比。
图 3.用于传感器模型验证的工具链
在第一个步骤中,用实验车辆采集真实数据,该车配备了激光雷达传感器、差分全球定位系统(DGPS)以及在 ROS(中间件)中运行的环境模型算法,还包括占据栅格实施。然后通过第二节所述的激光雷达传感器模型以及与实验车辆中完全相同的占据栅格实现来生成模拟数据,但所提供的仿真数据来自 VIRES VTD 中的传感器模型。在模型与 ROS 之间进行数据交换时,采用了开放式仿真接口(OSI)。一旦采集到真实数据和模拟数据,我们就会利用 Matlab 分两步对验证框架中的数据进行评估。在第一个步骤中,直接将真实传感器数据与模型输出进行对比。在第二个步骤中,将真实数据生成的占据栅格与表征测试车辆静态环境的综合激光雷达数据生成的占据栅格进行对比。
B.验证前提
为验证传感器模型,需要对静态场景进行评估(见图 4)。
图4.自身与目标间距离为40 m 的静态验证场景
示意图中显示了两辆车自身(E)和目标(T),两车之间的距离约为 D1 = 40 m。为该区域建立用于仿真程序的虚拟 3D 模型,在几何尺寸和位置方面对逼真度的要求非常高。利用这一场景,我们可以展示如何对激光雷达传感器几何构型的建模情况进行测试,以及不同的构型对所生成的点云和占据栅格有何影响。
本研究中采用了该模型方法两种不同的传感器构型 SC1 和 SC2。SC1 使用图 5(a)所示的笛卡尔采样网格生成光线,SC2 使用图 5(b)所示的球形采样网格。通常在生成图像时,需要通过光线跟踪来生成线性分布的光线,因此 SC1 方法是合适的选择。
图5.光线跟踪器的采样网格:(a)笛卡尔(b)球形
然而,由于激光雷达传感器的光束几何形状偏移会形成一个圆锥状的点云,因此更适合选择球形采样网格。
C.数据评估
a. 我们从对图 6 所示的采集到的点云进行定性考察来开始分析。通过观察该点云可以明显看出,与传感器构型 1(SC1)相比,真实点云与传感器构型 2(SC2)所生成的点云更为近似。
图6.点云的可视化:(a)真实点云,(b)来自SC1的模拟点云,(c)来自 SC2 的模拟点云。
b. 如上所述,可将占据栅格视为传感器模型验证的抽象级别。在这里我们还可以将扫描网格(SG)当作更高的抽象级别。扫描网格是对点云所生成的占据栅格的单次命中记录,而占据栅格则是随时间累积的扫描网格。
在评估环境模型输出时,必须对现实场景重新进行仿真,并通过来自两个传感器构型的通用点云来计算扫描网格和占据栅格。扫描网格结果如图 7 所示。通过将两种传感器构型的扫描网格形态与真实数据的扫描网格形态进行目视比较,我们可以看出,真实的扫描网格与来自 SC2 的扫描网格有着更高的一致性。为将这一观察结果量化,表 1 中采用了三个指标并进行了汇总。与点云评估的量化结果类似,与 SC1 相比,在来自 SC2 的扫描网格与真实扫描网格之间,这些指标值表现出更低的总误差和更高的相关性。
表 1:针对不同验证指标的计算结果:不同验证级别的总误差、Barons及 Pearson 相关性:点云、扫描网格及占据栅格
图7.占据栅格的可视化:(a)真实占据栅格,(b)来自 SC1 的模拟占据栅格,(c)来自 SC2 的模拟占据栅格。
总结及未来工作
在本文中,我们基于汽车激光雷达传感器的光线跟踪法提出了一种物理驱动的传感器测量模型。借助于 VIRES VTD,该模型可准确地再现虚拟环境中的完整传感器处理链。此外,虚拟环境中从低层级的传感器数据开始直至整个自动驾驶系统的第一个融合阶段结束的整条处理链,都能在虚拟环境中得以复现。采用上述做法不仅可以评估真实的驾驶状况,还可以在仿真时利用静态和动态场景的高保真数据进行重建。作为应用示例,我们这里给出的是停车场上的静态情况。我们可以通过激光雷达传感器模型的原始数据和适当的验证指标来量化内部环境表述(即自动驾驶功能的输入),藉此了解真实场景与仿真之间的匹配程度。
本文给出的结论表明,在采用基于球形光线跟踪器采样网格的传感器模型时,真实数据与模拟数据之间的相关性更高。了解最新的自动驾驶解决方案:www.mscsoftware.com/autonomous(本文作者为Alexander Schaermann,宝马集团数据工程师&Timo Hanke,宝马集团数据工程师)
参考文献: 1. “自动驾驶系统虚拟点云数据的生成与验证”,T. Hanke、A. Schaermann、M. Geiger、K. Weiler、N. Hirsenkorn、A. Rauch、S-A. Schneider 及 E. Biebl,《第 20 届 IEEE 智能交通系统国际会议(ITSC)》,2017 年 10 月,日本横滨