高效同步与处理:ADTF流服务在自动驾驶数采中的应用
目录
一、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)
https://keymotek.com/adas-development-framework_adtf/
相关文章:
高效同步与处理:ADTF流服务在自动驾驶数采中的应用
目录 一、ADTF 流服务 1、流服务源(Streaming Source) 2、流服务汇(Streaming Sink) 二、数据链路 1、数据管道(Data Pipe) 2、子流(Substreams) 3、触发管道(Tri…...
【Arduino】ATmega328PB 连接 LSM6DS3 姿态传感器,并读数据(不确定 ESP 系列是否可行,但大概率是可行的)
总览 1.初始化 ATmega328PB,默认大家已经完成了 328 的配置准备工作,已经直接能够向里面写入程序 2.接线,然后验证 mega328 的 I2C 设备接口能否扫描到 LSM6DS3 3.编写代码,上传,查看串口数据。完成。 一、初始化 AT…...
live2d + edge-tts 优雅的实现数字人讲话 ~
震惊!live2d数字人竟开口说话 ~ 之前有想做数字人相关项目,查了一些方案。看了一些三方大厂的商用方案,口型有点尴尬,而且很多是采用视频流的方案,对流量的消耗很大。后来了解了live2d 技术,常在博客网页上…...
二进制安装php
下载php二进制包: 官网地址:https://www.php.net/releases/ PHP: Releaseshttps://www.php.net/releases/在里边可以选择自己要下载的包进行下载; 下载完成后进行解压: tar xvzf php-7.3.12.tar.gz 解压后 进入目录进行预编…...
旧版Pycharm支持的python版本记录
版权声明:本文为博主原创文章,如需转载请贴上原博文链接:旧版Pycharm支持的python版本记录-CSDN博客 前言:近期由于打算研究GitHub上一个开源量化交易平台开发框架,但是该框架是基于python3.10的版本开发,所…...
java实现七牛云内容审核功能,文本、图片和视频的内容审核(鉴黄、鉴暴恐、敏感人物)
目录 1、七牛云内容审核介绍 2、查看内容审核官方文档 2.1、文本内容审核 2.1.1、文本内容审核的请求示例 2.1.2、文本内容审核的返回示例 2.2、图片内容审核 2.2.1、请求参数 2.2.2、返回参数 2.3、视频内容审核 3、代码实现 3.1、前期代码准备 3.2、文本内容审核…...
C++面试基础系列-struct
系列文章目录 文章目录 系列文章目录C面试基础系列-struct1.C中struct2.C中struct2.1.同名函数2.2.typedef定义结构体别名2.3.继承 3.总结3.1.C和C中的Struct区别 4.struct字节对齐5.struct与const 关于作者 C面试基础系列-struct 1.C中struct struct里面只能放数据类型&#…...
代码随想录算法训练营 | 动态规划 part05
完全背包 有N件物品和一个最多能背重量为W的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品都有无限个(也就是可以放入背包多次),求解将哪些物品装入背包里物品价值总和最大。 例子: 背包可容纳重…...
英特尔XPU大模型应用创新
...
仿Muduo库实现高并发服务器——socket网络通信模块
本项目就是基于TCP网络通信搭建的。 TCP: 客户端:socket(),connect(). 服务端:socket(),bind(),listen(),accept(). 下面代码就是对原生API网络套接字的封装。需要熟悉原生API网络套接字接口。 下面这段代码,没什么好讲的,就不…...
模型 神经网络(通俗解读)
系列文章 分享 模型,了解更多👉 模型_思维模型目录。仿脑智能,深度学习,精准识别。 1 神经网络的应用 1.1 鸢尾花分类经典问题 神经网络的一个经典且详细的经典应用是鸢尾花分类问题 。主要是通过构建一个神经网络模型来自动区分…...
事务的使用
1.如何使用事务: 1.1.事务的完成过程: 1.步骤1:开启事务2.步骤2:一系列的DML操作3.步骤3:事务结束状态:提交事务(COMMIT),中止事务(事务回滚ROLLBACK) 1.2.事务分类: …...
【免费】企业级大模型应用推荐:星环科技无涯·问知
无涯问知是星环科技发布的大模型应用系统,那么我们先简单了解下星环科技吧! 星环科技(股票代码:688031)致力于打造企业级大数据和人工智能基础软件,围绕数据的集成、存储、治理、建模、分析、挖掘和流通等数…...
从〇 搭建PO模式的Web UI自动化测试框架
Page Object模式简介 核心思想 将页面元素和操作行为封装在独立的类中,形成页面对象(Page Object)。每个页面对象代表应用程序中的一个特定页面或组件。 优点: 代码复用性高 页面对象可以在多个测试用例中复用。 易于维护 …...
在Ubuntu中重装Vscode(没有Edit Configurations(JSON)以及有错误但不标红波浪线怎么办?)
在学习时需要将vscode删除重装,市面上很多方法都不能删干净,删除之后拓展都还在。因此下面的方法可以彻底删除。注意,我安装时使用的是snap方法。 如果你的VScode没有Edit Configurations(JSON),以及有错误但不标红波浪线的话&…...
Oracle 用户-表空间-表之间关系常用SQL
问题: 当某一个表数据量特别大,突然插入数据一直失败,可能是表空间不足,需要查看表的使用率 用户-表空间-表之间关系:用户可以有多个表空间,表空间可以有多个表,表只能拥有一个表空间和用户 1.…...
家政服务管理系统小程序的设计
管理员账户功能包括:系统首页,个人中心,用户管理,管理阿姨管理,家政公司管理,服务项目管理,家政预约管理,评价管理,留言板管理,系统管理 微信端账号功能包括…...
【算法】并查集的介绍与使用
1.并查集的概论 定义: 并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。比如说,我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。 主要构成: …...
Shell——运算符
在 Shell 编程中,运算符用于执行各种类型的操作,如算术运算、字符串比较、文件测试等。以下是 Shell 中常用的运算符分类和示例: 1. 算术运算符 Shell 中使用 expr 或 $(( ... )) 来进行算术运算。 : 加法-: 减法*: 乘法/: 除法%: 取余**:…...
SweetAlert2
1. SweetAlert2 SweetAlert2是一个基于JavaScript的库, 用于在网页上替换标准的警告框(alert), 确认框(confirm)和提示框(prompt), 并提供更加美观和用户友好的界面.需要在项目中引入SweetAlert2, 可以通过CDN链接或者将库文件下载到你的项目中来实现这一点. 通过CDN引入:<…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
全球首个30米分辨率湿地数据集(2000—2022)
数据简介 今天我们分享的数据是全球30米分辨率湿地数据集,包含8种湿地亚类,该数据以0.5X0.5的瓦片存储,我们整理了所有属于中国的瓦片名称与其对应省份,方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
CocosCreator 之 JavaScript/TypeScript和Java的相互交互
引擎版本: 3.8.1 语言: JavaScript/TypeScript、C、Java 环境:Window 参考:Java原生反射机制 您好,我是鹤九日! 回顾 在上篇文章中:CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
