随着自动驾驶技术的发展,车辆的智能化程度不断提高,这体现了车辆感知,决策以及执行的能力。在算法开发和迭代过程中,提高测试和开发效率,关键在于多传感器数据的高质量采集,确保数据的同步性、完整性和一致性。

为了应对这一挑战,必须采取有效的数据整合策略。这包括开发处理不同数据速率和格式的组件,以及设计数据在时间上精确对齐的同步机制。进而创建一个统一的数据流形式,实时检测传感器的观测结果并进行落盘存储。

为了解决上述问题,ADTF提供了一个强大的Streaming Service,它专门针对自动驾驶多传感器数据采集的需求设计。ADTF Streaming Service以其高效的数据处理能力、灵活的架构设计和强大的同步机制,为自动驾驶数采系统提供了一个高质量的解决方案。

一、ADTF 流服务

在ADTF中,流服务(Streaming Services)扮演着至关重要的角色,它们定义了系统的入口点(Streaming Source)出口点(Streaming Sink)。具体来说,流服务既可以是数据管道的起点也可以是终点,它们通常用于处理来自硬件的样本数据和数据触发器。

1、流服务源(Streaming Source)

流服务源是样本和数据触发器进入系统的入口点。通常,任何设备链接都会作为流服务源来实现,组件如下图1所示:

康谋技术 |高效同步与处理:ADTF流服务在自动驾驶数采中的应用_数据

图1:Streaming Source组件

Streaming Source支持以下的应用场景:

(1)从摄像头读取视频流
(2)从CAN总线设备读取CAN消息
(3)作为硬盘读取器提供基于文件的仿真数据
(4)通过网络或进程间连接接收来自分布式系统的样本,如ROS(机器人操作系统)或FEP(功能工程平台)

2、流服务汇(Streaming Sink)

流服务汇是样本和触发器离开系统的出口点。通常,任何设备链接都会作为流服务汇来实现。组件如下图2所示:

康谋技术 |高效同步与处理:ADTF流服务在自动驾驶数采中的应用_汽车_02

图2:Streaming Sink组件

Streaming Sink支持以下应用场景:

(1)向CAN总线设备写入原始CAN消息
(2)向设备写入FlexRay周期或汽车以太网PDU
(3)创建硬盘访问,用于基于文件的数据记录和高性能录制

二、数据链路

流服务是实现高效数据处理和传输的关键,通过Streaming Source和Streaming Sink,可以针对不同实际应用需求,搭建对应的数据链路,包括数据管道(Data Pipe)、子流(Substreams)以及触发管道(Trigger Pipe)。

1、数据管道(Data Pipe)

数据管道是连接样本写入器(Streaming Sink)和样本读取器(Streaming Source)的桥梁。在ADTF中,如图3所示,一个常见的数据管道从发送过滤器的样本写入器的输出引脚(Out Pin)开始,通过一个样本流(Sample Stream),到达一个或多个输入引脚(In Pins)及其对应的样本读取器。

康谋技术 |高效同步与处理:ADTF流服务在自动驾驶数采中的应用_数据_03

图3:Data Pipe

 2、子流(Substreams)

子流是减少过滤器图中引脚和连接复杂度的一种方法,如图4所示。通过使用子流,可以简化数据流的路径,提高系统的可读性和可维护性。

康谋技术 |高效同步与处理:ADTF流服务在自动驾驶数采中的应用_数据_04

图4:子流

3、触发管道(Trigger Pipe)

触发管道是ADTF中基于触发路径的连接,通常从主动运行器(Active Timer Runner)开始,如图5所示,它触发连接的组件,类似于过滤器的运行器。

康谋技术 |高效同步与处理:ADTF流服务在自动驾驶数采中的应用_数据_05

图5:触发管道

例如,在自动驾驶数据采集中,通过设计灵活的触发机制,数据管道可以同步来自雷达、摄像头和激光雷达的数据流,确保它们在时间上的对齐。

三、总结

ADTF Streaming Service在自动驾驶数采领域的应用,关键在于其能够实现多传感器数据的高效同步与处理。以下是几个关键应用点:

多传感器数据融合:通过数据管道同步不同传感器的数据,实现高精度的环境感知。

实时决策支持:利用触发管道快速响应传感器触发的事件,为决策算法提供实时数据。

数据存储与回放:通过Streaming Sink实现数据的高效存储,以及通过子流进行数据回放和分析。

ADTF Streaming Service为自动驾驶数采系统提供了一个强大的工具,它不仅能够处理和同步多传感器数据,还能够适应不断变化的开发需求。