技术文章

印度汽车研究协会利用真实仿真场景实现 ADAS 应用的虚拟测试


印度有 3 亿辆汽车行驶在世界第三大公路网上,每年都会发生大量交通事故和人员伤亡。最近的一项研究发现,超出四分之三的事故是由驾驶员失误造成的。高级驾驶员辅助系统 (ADAS) 具有安全功能,如前方碰撞预警、自动紧急制动、驾驶员监控和盲区检测,有助于降低此类错误的风险。

为印度市场开发 ADAS 应用的工程师必须考虑该国家/地区驾驶员经常遇到的场景(包括高交通量、独特的交通模式和天气不确定性),以及基础架构挑战(如窄桥和破损路面)。

为了应对开发和测试 ADAS 应用(包括在大量国内特定场景中广泛验证其性能)所带来的挑战,印度汽车研究协会 (ARAI) 的工程师已建立了新的工作流。此工作流基于 MATLAB® 和 Simulink®,通过基于真实驾驶场景的仿真实现虚拟测试,从而帮助加速 ADAS 功能的交付(图 1)。该工作流大致分为三个主要阶段:采集车辆传感器数据,基于该数据创建虚拟场景,以及使用这些场景测试 ADAS 功能。

右下角是印度一条繁忙的道路。在右上角和左侧,道路的仿真图像分别显示驾驶员的视角和自上而下的道路视图。

图 1. 为虚拟测试重新创建的真实驾驶场景。

采集车辆传感器数据

真实驾驶场景仿真需要从配备有多个传感器的车辆采集真实数据,包括摄像头、激光雷达和全球定位系统 (GPS) 设备等传感器(图 2)。ARAI 在一天的不同时间从印度各地(每个地方都有独特的环境条件)采集数据,因此创建了由所记录的传感器数据组成的庞大数据库。

街道上停放的自主车辆的侧视图,符号指示各种传感器的装载位置。

图 2. 配备有摄像头、激光雷达和其他传感器设备的汽车。

车载传感器首先需要进行标定,然后才能用于采集数据。ARAI 工程师使用激光雷达相机标定器对摄像头和激光雷达执行标定,这使他们能够估计两个设备之间的刚性变换,并将该变换保存在 MATLAB 中。

一旦传感器进行了标定,团队就可以开始记录数据。ARAI 使用 ROS 将从所有车载传感器同步捕获的数据存储在 rosbag 文件中。这些数据在 ROS Toolbox 中可视化,该工具箱也用于从单独记录的传感器中提取数据。然后,该团队可以在 MATLAB 中分析来自多个传感器的同步记录(图 3)。

左侧是由录制摄像头拍摄的真实驾驶场景。右侧是同一场景的激光雷达数据。

图 3. 视图显示录制摄像头所拍摄的真实驾驶场景(左)和对应的激光雷达数据(右)。

根据记录的传感器数据创建虚拟场景

要创建驾驶场景,需要整合各种数据,包括来自记录车辆(亦称自主车辆)的全球定位数据、道路数据(例如来自 OpenStreetMap® 的数据),以及道路上其他车辆的激光雷达轨迹(图 4)。

示意图显示如何处理从自主车辆采集的数据以生成不同驾驶场景的可视图。

图 4. 根据记录的数据创建虚拟场景时的数据流。

在该工作流的这一阶段,ARAI 工程师首先可视化并选择要用于创建场景的记录数据,这些数据又将用于测试 ADAS 功能的特定方面,例如检测驾驶员盲区中的车辆。在此之后,必须标注激光雷达数据,以便跟踪非自主车辆。为了简化这部分流程,ARAI 工程师使用激光雷达标注器,该 App 采用点云时序插值,帮助自动注释关注的车辆。接着,他们使用 OpenStreetMap 路网数据创建驾驶场景,这些场景整合了自主车辆的 GPS 数据与非自主车辆的同步标注激光雷达数据(图 5)。然后,该团队能够将其驾驶场景中的路网、车辆和车辆轨迹导出为 ASAM OpenSCENARIO® 1.0 文件格式,以实现与支持 ASAM OpenSCENARIO 导入的其他第三方仿真器的可选互操作性。

图 5. 使用同步视频的驾驶场景。

通过这种方法,该团队不仅创建了复制真实记录数据的场景,而且还创建了车辆碰撞和其他日常驾驶中不太可能捕获到的事件的场景变体。例如,为了创建自主车辆与另一车辆相撞的碰撞场景,工程师修改了现有场景,并大幅减缓了自主车辆前方的非自主车辆的车速。然后,此类场景便可用于测试前方碰撞预警 (FCW) 和自动紧急制动 (AEB) 功能。

使用虚拟场景测试 ADAS 功能

在该工作流的最后阶段,ARAI 工程师使用虚拟场景来测试特定的 ADAS 功能。这项测试从使用 Simulink 创建的测试平台开始。例如,AEB 系统的测试平台将包括要在测试中使用的场景和关联传感器输出模块,以及传感器融合和跟踪算法、决策逻辑、控制和车辆动力学等模块(图 6)。

截图显示基于 Automated Driving Toolbox 的 AEB 系统的 Simulink 测试平台示例。

图 6. 基于 Automated Driving Toolbox 的 AEB 系统的 Simulink 测试平台示例。

通过 Automated Driving Toolbox™ 中的鸟瞰图和单个信号的绘图,工程师在测试过程中和测试后可视化基于场景的测试结果(图 7)。

图 7. 使用鸟瞰图(左)和关键信号(如速度、停止时间、FCW 状态和 AEB 状态等)的绘图(右)进行可视化。

当然,验证 ADAS 应用需要在各种场景中运行许多测试,才能确保满足所有需求。在 ARAI 工作流中,工程师使用需求编辑器编写需求,并在测试管理器中配置与这些需求相关联的测试(图 8)。工程师可以使用 Parallel Computing Toolbox™ 在多核工作站上依次或同时运行各项测试。在所有测试完成后,工程师会生成一份报告,显示所有测试的结果(通过或失败),该报告可以与其他小组共享,以供进一步分析和跟进。

需求编辑器的截图,显示将需求链接到关联的测试。

图 8. 使用需求编辑器将需求链接到关联的测试。

ARAI 已建立了一个通过仿真真实场景开发和测试 ADAS 应用的工作流,并且已具备扩展的有利条件,例如可通过增加对软件在环测试和硬件在环测试以及合成场景开发的支持进行扩展。

2023 年发布

查看文章,了解相关功能

查看文章,了解相关行业