自动驾驶领域的数据记录很容易带来大量的进一步处理和选择正确数据的工作
自动驾驶中的数据记录是很有挑战性的领域,也是自动驾驶或驾驶员辅助功能开发和测试中重要的预算项目。成本的产生一方面是由于该领域的复杂性,另一方面是巨大的数据量所导致。
该领域的复杂性不会改变,但使用一些智能技术优化日志记录过程,可以显著减少数据量。
在本篇博文的前言中,我们讨论了如何通过消除数据冗余来减少数据量(点击 此处 ,参见前一篇博文)。由于收集数据是为了开发和验证基于神经网络的功能,于是,我们也采用了神经网络来确定哪些是冗余数据、哪些是新数据。该方法非常高效,最重要的是行之有效。在公路的大多数驾驶场景中,可以消除80%至90%的数据量。
今天,我们根据未来的用途,介绍了另一种记录数据的方法。其原理基于触发记录(不同于连续记录),只存储符合特定数据相关性条件的数据。数据相关性通常与开发计划的运行设计域(ODD)以及车辆行驶环境和情况的描述有关。此外,要考虑到ODD已经收集到的数据量。
只记录相关数据
触发记录是一种数据记录方法,发生某些预定义的事件时才存储数据(写入存储设备)。记录可以因其他事件或超时而停止。与触发记录不同,连续记录会一直存储数据,直到存储设备装满。
触发因素可以是内部的,也可以是外部的。内部触发因素是车内事件(源于车辆内部,如紧急制动信号、速度信号、加速信号),外部触发因素由自主车辆周围的特定交通情况或交通场景决定。外部触发因素可以是照明条件(例如夜间、眩光)、周围的道路基础设施(例如高速公路、十字路口、交通标志、收费站)或交通参与者及其行为。
在道路测试中,要记录最为相关的数据来自被测系统不按要求运行的情况。必须详细分析这些情况,并调查根本原因。根据驱动器输入、ECU直接输出或基于内部ECU变量的间接输出,定义所需的触发器。
在事件发生时开始记录,可能无法完整地了解情况。设想一下,触发器设置为只有检测到制动信号时才记录数据。如果该制动信号依靠的是检测障碍物的高级驾驶辅助系统(ADAS)功能,制动太迟的话,就很难改进该功能。在这种情况下,必须记录制动信号之前发生的情况,用来改进该功能的检测部分。
因此,触发事件之前一定要有一个数据序列。为此,通常使用循环缓冲区来实现这种“预触发”记录。在这种情况下,连续将数据写入循环缓冲区(RAM内存的特定部分),如果缓冲区写满了还未触发,则覆盖缓冲区开头的数据。如果触发了,则清空整个缓冲区,将缓冲区中的记录序列写入存储设备。
触发器设置是数据记录系统的固有部分和功能。然而,其配置取决于目标ODD衍生出的项目需求和开发状态。在开发初期、照明条件良好、交通稀疏,相对容易实现车辆自动控制。此时,有足够的训练数据,也有很多情况来验证这些数据。然而,随着交通逐渐繁忙,有各种交通参与者和未知操作,可靠性会下降。同样,强光或道路施工密集也会降低系统性能。因此,这些情况可能是数据收集和道路测试的重点,而最常见的情况可能不在记录范围内,因为数据池中已经充分展现了其数据。
在讨论实现记录触发器的要求和解决方案之前,需要强调一点。无论实现触发器背后的逻辑是什么(决定是否触发触发器),必须实时决定。一切都不容懈怠,触发器评估的所有数据处理、所有比较逻辑以及触发器执行本身都必须实时进行。
稍后,我们将详细讨论使用基于AUTERA和RTMaps的dSPACE数据记录解决方案实现触发器。这些工具非常灵活,为设置触发器提供了综合方法,各种触发器复杂性各异、涵盖所有潜在触发事件。
手动触发器
触发记录最简单的方法是为驾驶员或测试工程师提供一个界面,手动控制记录。它可以是硬件按钮,也可以是控制软件应用程序。记录可以由记录配置应用程序控制,但这通常不太方便,因为此类应用程序有很多功能,相应地,GUI比简单的日志控制要复杂。dSPACE正在利用一款专用产品来满足这种简单的控制界面需求,该产品可以与AUTERA和RTMaps一起使用。它就是移动应用程序RTag,它可以安装在仪表板上的平板电脑上。使用方便,不会分散驾驶员的注意力。点击一下,即可开始和停止记录。RTag还可以标记音频输入,使用起来更加方便。
RTag不止是一个“软件按钮”,它还可以监测记录系统的状态,为后续步骤标记数据。
基于总线信号和ECU状态的自动触发器
最常见的触发记录方法是基于特定总线信号或网络通信的分析。例如,记录触发器可以设为车辆移动速度超过20公里/小时才记录。在这种情况下,会从CAN总线中提取速度信号,定期与阈值进行比较。另外一个例子是仅在预定义的地理区域进行记录。在这种情况下,会将从卫星定位信号接收机接收到的位置作为触发信号。
这种触发器设置的先决条件是记录系统能够从总线和网络(最常见的有CAN、LIN、FlexRay和以太网)中提取信息。配备通信矩阵和适当工具就可以解决该问题。
在ADAS/AD的E/E架构中,智能传感器往往通过总线和网络提供对象列表,描述车辆周围的对象。这些总线和网络也可以用作记录触发器。周围有交通参与者的情况通常比空旷的道路更为相关。此外,也可以考虑将关于对象位置的信息用于触发器(例如移动对象距离自主车辆50米内)。
采用RTMaps的AUTERA总线和网络接口可以轻松提取总线信号,并将其用于记录触发器。作为示例,我们从前置和后置摄像头中选择了CAN总线和对象列表。触发条件定义如下:检测到距离自主车辆30米以内(任何方向)有卡车时开始记录。
我们使用仿真器,采用RTMaps生成CAN信号和AUTERA,作为记录系统。有关整个演示和实现详情,请在学习中心平台上查看完整的 视频 。
除了总线信号,AUTERA和RTMaps还可以监测ECU中的信号、设置相关触发器。通过XCP(通用测量和校准协议)和ECU测量接口,可以与其他数据一起记录ECU输入,同时可以用作触发器。这样就可以只在被测ECU不按要求运行的情况下(例如感知功能的置信水平低于某一阈值)记录传感器数据。
基于感知的自动触发器
更为先进的记录系统具有充足的计算能力,不需要依靠智能传感器来检测周围的对象及分析情况。检测算法可以直接在记录器上运行,并以这种方式提供独立的场景评估,用于记录。虽然AUTERA和RTMaps提供了合适的平台和框架,但先进的算法本身会在专用组件中运行。
利用一个2D检测组件检测摄像头中的对象。RTMaps组件包含一个神经网络模型,并输出一个对象列表,其处理方式与前面处理总线信号的示例相同。向前推进一步便是轨迹和操纵方向,让您针对动态场景设置触发器。
在AUTERA上从激光雷达数据的3D点云中检测对象
同样,可以直接在数据记录器上使用和分析来自激光雷达的数据,并提供相关的触发器。此时,可以利用Exwayz的组件扩展RTMaps。这些组件不仅可以检测3D空间中的对象,还可以使用SLAM提取轨迹或自我定位。敬请在RTMaps AI Store中了解各种兼容算法。
利用触发记录节省成本和时间
多功能触发器可以有效减少数据,从而降低记录过程的成本。记录触发器可以限制工作量、提高记录配置的复杂性,优势显著。为充分发挥数据记录触发器的潜力,需要一个合适的平台;一个能够灵活分析来自各种数据源的数据内容的平台,一个能够提供充足计算资源来实时执行必要的预处理和数据分析的平台。AUTERA数据记录器还可以执行复杂的算法,用来精确生成触发事件,为这些任务提供了合适的解决方案。再辅以软件工具RTMaps和RTag,方便创建自动和手动触发。
这个紧凑的车载解决方案使用方便。联系dSPACE,详细了解AUTERA和各种软件工具如何根据您的特定要求,优化数据采集流程和成本。