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

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

为了解决上述问题,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流服务在自动驾驶数采中的应用的更多相关文章

  1. zz自动驾驶复杂环境下高精度定位技术

    今天为大家分享下,自动驾驶在复杂环境下的高精度定位技术. 定位/导航负责实时提供载体的运动信息,包括载体的:位置.速度.姿态.加速度.角速度等信息. 自动驾驶对定位系统的基本要求: 1. 高精度:达到 ...

  2. 【转】从技术和成本算笔账,自动驾驶L3过渡到L4有多难?

    转自:http://www.sohu.com/a/160479216_121787 从技术和成本算笔账,自动驾驶L3过渡到L4有多难? 2017-07-28 09:34 英伟达解决方案架构师程亚冰认为 ...

  3. PW6276是一颗高效同步升压转换芯片,内部集成低阻抗功率 MOS

    概述PW6276是一颗高效同步升压转换芯片,内部集成低阻抗功率 MOS. 具有短路保护功能内部集成软启动电路,无需外部补偿电容,外部反馈网络.PW6276采用 SOP8-EP 封装配合较少的外围原件使 ...

  4. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[编程篇]

    原文:WCF技术剖析之二十七: 如何将一个服务发布成WSDL[编程篇] 对于WCF服务端元数据架构体系来说,通过MetadataExporter将服务的终结点导出成MetadataSet(参考< ...

  5. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序)

    原文:WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于HTTP-GET的实现](提供模拟程序) 基于HTTP-GET的元数据发布方式与基于WS-MEX原理类似,但是ServiceMetad ...

  6. WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于WS-MEX的实现](提供模拟程序)

    原文:WCF技术剖析之二十七: 如何将一个服务发布成WSDL[基于WS-MEX的实现](提供模拟程序) 通过<如何将一个服务发布成WSDL[编程篇]>的介绍我们知道了如何可以通过编程或者配 ...

  7. WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常的传播的?

    原文:WCF技术剖析之二十四: ServiceDebugBehavior服务行为是如何实现异常的传播的? 服务端只有抛出FaultException异常才能被正常地序列化成Fault消息,并实现向客户 ...

  8. WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理

    原文:WCF技术剖析之十:调用WCF服务的客户端应该如何进行异常处理 在前面一片文章(服务代理不能得到及时关闭会有什么后果?)中,我们谈到及时关闭服务代理(Service Proxy)在一个高并发环境 ...

  9. Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据

    Python 高效编程技巧实战(2-1)如何在列表,字典, 集合中根据条件筛选数据 学习目标 1.学会使用 filter 借助 Lambda 表达式过滤列表.集合.元组中的元素: 2.学会使用列表解析 ...

  10. "技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?

    "技术框架太多,多的眼花缭乱,如何在众多选择中找到自己的方向?",经常有人这么问我. 咱们从开源项目说起,可以从两个维度来对开源项目进行分类,一方面是编程语言,另一方面是应用领域. ...

随机推荐

  1. Object类中toString()的使用

    /* * Object类中toString()的使用: * * 1. 当我们输出一个对象的引用时,实际上就是调用当前对象的toString() * * 2. Object类中toString()的定义 ...

  2. web95 比较麻烦的interval绕过

    审计 include("flag.php"); highlight_file(__FILE__); if(isset($_GET['num'])){ $num = $_GET['n ...

  3. 小程序和h5垂直时间轴

    <template> <view class="steps"> <view class="list" v-for="(i ...

  4. oracle19.3打补丁

    补丁 36582781 - 数据库发布更新 19.24.0.0.240716 本文档在发布时准确无误.有关数据库版本更新 19.24.0.0.240716 的任何更改和其他信息,请参阅 My Orac ...

  5. 首批!天翼云率先通过ITU国际标准认证!

    近日,天翼云通过国内唯一人工智能云平台领域的ITU国际标准评估--中国信通院组织的ITU-T F.AICP-GA人工智能云平台技术规范国际标准和<智算工程平台能力要求>国内标准一致性评估, ...

  6. Flink同步kafka到iceberg(cos存储)

    一.flink到logger 1.source create table source_table ( id bigint comment '唯一编号' ,order_number bigint co ...

  7. IDEA中创建Spring Boot项目(SSM框架)

    一.IDEA创建新Maven项目 创建maven项目完成 因为创建多模块项目,删除根目录src目录 二.maven多模块项目配置 需要创建的模块 umetric-web  控制层 umetric-we ...

  8. P9869 [NOIP2023] 三值逻辑 题解

    NOIP2023 T2 三值逻辑 题解 题面 思路 乍一看好像很并查集,而且不太难,但是, 注意到:按顺序运行这 \(m\) 条语句 事情并没有那么简单. 比如说如下情况: x1:=T x2:=x1 ...

  9. [HDU5396] Expression 题解

    每次合并两个数,做过石子合并的人都能看出来是区间 dp. 设状态 \(dp_{i,j}\) 表示区间 \([i,j]\) 中合并为一个数的所有情况之和. 那么我们就可以枚举断点 \(k\): \(b_ ...

  10. 赛博朋克2077/Cyberpunk 2077 v2.1|整合DLC|容量96.9GB|官方简体中文

    <赛博朋克2077>是知名<巫师>系列开发商CD PROJEKT RED公布的一款角色扮演游戏,故事设定在黑暗的.科技极度发达的腐败未来世界中,并且兼有沙盒元素与RPG机制.游 ...