高效同步与处理:ADTF流服务在自动驾驶数采中的应用

news/2024/9/23 12:47:33/

目录

一、ADTF 流服务

1、流服务源(Streaming Source)

2、流服务汇(Streaming Sink)

二、数据链路

1、数据管道(Data Pipe)

2、子流(Substreams)

3、触发管道(Trigger Pipe)

三、总结


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

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

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

一、ADTF 流服务

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

1、流服务源(Streaming Source)

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

图1:Streaming Source组件

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

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

2、流服务汇(Streaming Sink)

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

图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)及其对应的样本读取器。

图3:Data Pipe

 2、子流(Substreams)

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

图4:子流

3、触发管道(Trigger Pipe)

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

图5:触发管道

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

三、总结

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

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

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

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

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


如您对上述产品和解决方案感兴趣,

欢迎联系康谋自动驾驶团队了解更多信息。

我们将竭诚为您服务!

期待与您的交流!康谋ADTF自动驾驶辅助系统开发框架 - AD系统开发、测试验证及可视化 | 多传感器数据流实时处理 | 可扩展可集成 (keymotek.com)icon-default.png?t=N7T8https://keymotek.com/adas-development-framework_adtf/


http://www.ppmy.cn/news/1511062.html

相关文章

EmguCV学习笔记 VB.Net 2.S 特别示例

版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。 教程VB.net版本请访问:EmguCV学习笔记 VB.Net 目录-CSDN博客 教程C#版本请访问:EmguCV学习笔记 C# 目录-CSD…

大语言模型(LLMs)Tokenizers详解

Tokenizers是大语言模型(Large Language Models,LLMs)中用于将文本分割成基本单元(tokens)的工具。这些工具不仅影响模型的输入表示,还直接影响模型的性能和效率。以下是对Tokenizers的详细解释&#xff1a…

h3c虚拟园区网概述

虚拟园区网概述 H3C虚拟园区网的解决方案 企业园区网作为企业网络的核心部分,连接了企业总部的办公、生产、研发、财务等多种重要的机 构。在网络建设中占有重要的地位。园区网内部终端种类众多,接入用户数量庞大,对网络的性能、可 靠性、可管理性都有较高的要求…

HDFS的透明加密

一、HDFS透明加密原理 Hadoop的透明加密(HDFS Transparent Data Encryption) - TDE 1.HDFS中的数据明文存储 HDFS中的数据会以block的形式保存在各台数据节点的本地磁盘中,但这些block都是明文的。 通过Web UI页面找到Block的ID和副本位于的机器信息 如果在操作系统中直接访…

仿RabbitMq实现简易消息队列基础篇(future操作实现异步线程池)

TOC 介绍 std::future 是C11标准库中的一个模板类,他表示一个异步操作的结果,当我们在多线程编程中使用异步任务时,std::future可以帮助我们在需要的时候,获取任务的执行结果,std::future 的一个重要特性是能…

Visual Studio Code安装与C/C++语言运行(下)

4. 配置VS Code以运行C/C程序 4.1 创建工作区文件夹 在VS Code中,你通常会在一个工作区文件夹中管理你的C/C项目。你可以手动创建一个文件夹,并通过VS Code的“文件”->“打开文件夹”选项将其打开。 4.2 创建C/C文件 在工作区文件夹中&#xff0…

Java面试题20240818

1、说说你对 AQS 的理解 AQS是多线程同步器,是JUC并发包下多个组件的底层实现,比如Lock,CountDownLatch,Semaphore都用到了 AQS;从本质上来说,AQS提供了两种锁的机制,分别是排它锁和共享锁&…

智能语音电话机器人的优势有哪些?

现在每个企业的客服成本都是非常高的,但是工作效率还不高,有的还存在简单粗暴的情况,因此如果使用语音机器人的话,就将会发生重大的转变了,不仅会提高效率,还会降低很多的人力成本,,…