CN110209514A - 在嵌入式传感器接入平台实现dds服务的方法 - Google Patents
在嵌入式传感器接入平台实现dds服务的方法 Download PDFInfo
- Publication number
- CN110209514A CN110209514A CN201910707491.6A CN201910707491A CN110209514A CN 110209514 A CN110209514 A CN 110209514A CN 201910707491 A CN201910707491 A CN 201910707491A CN 110209514 A CN110209514 A CN 110209514A
- Authority
- CN
- China
- Prior art keywords
- data
- processing unit
- data processing
- mcu
- access platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明涉及在嵌入式传感器接入平台实现DDS服务的方法,嵌入式硬件作为传感器接入平台,搭载嵌入式实时操作***,与数据处理单元之间采用DDS服务进行消息通信。本发明基于嵌入式构建传感器接入平台,可实现低成本硬件冗余备份;同时,基于嵌入式实现DDS服务,与数据处理单元形成完全的DDS服务,并提供完善的异常恢复机制。
Description
技术领域
本发明属于自动驾驶技术领域,涉及传感器、控制器的通信,具体涉及嵌入式传感器接入平台与数据处理单元之间实现DDS服务的方法。
背景技术
21世纪初,自动驾驶借助于AI技术快速发展,自动驾驶从技术方面可以拆解为环境感知、精确定位、决策与规划以及控制与执行。与传统车企一样,自动驾驶仍然需要借助于车载多传感器做环境感知,但是无论从软件还是硬件考虑,要保证整个***的高可靠性和高稳定性;通常硬件方面重要传感器、域控制器需要做冗余备份,软件方面需要提供完善的异常恢复机制,以保证整个平台健壮。
目前,国内自动驾驶公司通常采用机器人操作***ROS (Robot OperatingSystem)构建自动驾驶软件平台,ROS的优势在于广泛应用于工业控制,提供基于消息的发布-订阅分布式通信机制,易于多传感器集成;但是同时,ROS依赖于UBUNTU或者WINDOWS操作***,势必对硬件平台有一定要求,做硬件冗余备份,硬件成本增加;另外,ROS各传感器节点通信,赖于ROS Mater为中心,缺乏异常恢复机制,一旦ROS Master异常或者拥塞,将影响整个***消息通信。
相对于ROS,数据分发服务DDS(Data Distribution Service for Real-Time-Systems)同样可以实现分布式通信,使用RTPS服务发现协议实现完全的P2P节点关联,构建无中心化的网络拓扑,并提供丰富的QoS服务质量策略,包括异常恢复;同时DDS标准化了分布式实时***中数据发布、传递和接收的接口和行为,定义了以数据为中心的发布-订阅(Publish/Subscribe)机制,提供了一个与平台无关的数据模型,本方案基于低成本的嵌入式构建传感器接入硬件平台,与数据处理单元分离,同时搭载嵌入式实时操作***,运行精简Micro DDS,与数据处理单元实现完全的DDS服务消息通信。
发明内容
发明目的:为了克服现有技术中ROS***存在的不足,本发明提供基于DDS协议的自动驾驶分布式通信方法,同时考虑硬件冗余备份成本,采用嵌入式硬件,并实现DDS服务。
技术方案:为解决上述技术问题,本发明提供的在嵌入式传感器接入平台实现DDS服务的方法,嵌入式硬件做为传感器(GPS、IMU、毫米波雷达、超声波雷达等)接入平台,和数据处理单元之间基于DDS服务消息通信;所述嵌入式硬件作为传感器接入平台,采用低成本硬件并搭载嵌入式实时操作***。
数据采集与数据处理分离,提高***稳定性,多个嵌入式硬件经DDS服务联接一个数据处理单元,达到传感器接入平台冗余备份。传感器可自适应接入主备嵌入式硬件、不同硬件接口,实现不依赖具体硬件接口的驱动,根据接入传感器数据类型,进行数据解析发送,实现快速部署
基于嵌入式实现DDS服务,报文交互完全遵循DDS规范。
1)首先在网络中,传感器接入平台周期性发送组播去发现(Discovery)数据处理单元;
2)数据单元根据连接请求,回复ACK,携带自身IP地址,传感器接入平台完成数据处理单元发现,不依赖于传感器接入平台或者数据处理单元启动顺序。
3)在发现(Discovery)完成后,DDS创建基于UDP的会话(Session),携带标示传感器数据节点的唯一KEY值;
4)向数据处理单元注册数据类型(Topic Type)、名称(Topic Name)以及QoS策略;QoS策略包括最可靠(Reliability)与最高效(Best Effort)两种数据传输策略选择,其中最可靠策略中,发布者通过订阅者应答(Ack)确认数据是否正常接收,如果数据丢失进行重传;而最高效策略,覆盖订阅者接收队列中未处理的旧数据,确保最新数据及时传输;同时支持节点所有权的权重(Ownership strength)设置,不同节点,权重越大拥有数据发送权。
5)创建数据发布者(Publisher)或者订阅者(Subscriber),同样携带数据类型和名称。
6)创建对应数据读写(DataWriter/DataReader)实例。
7)如果数据处理单元存在数据类型和名称相同的发布/订阅节点,传感器接入平台与数据处理单元节点互相发现,完成关联,进行数据通信。
8)数据处理单元周期性向传感器接入平台发送心跳(Heartbeat),告知当前数据处理单元运行情况。
如图3所示,本方案具有高稳定性以及完善的恢复机制。
1)采用MCU做硬件备份,降低成本。
2)基于MCU实现DDS服务,注册QoS策略时,设置不同节点所有权的权重(Ownershipstrength),不同节点,权重越大优先拥有数据发送权。假设MCU1 strength为1,MCU2strength为2,则MCU2拥有优先数据发送权,当MCU2异常时,可快速切换到MCU1。
3)MCU实现看门狗(WatchDog)功能,异常时,可实现快速重启(Reset)。
4)数据处理单元DDS服务QoS策略提供存在性(Liveliness)功能,通过周期性存在包,检测是否异常,异常时自动恢复(Recovery)。
5)数据处理单元周期性向MCU侧周期发送心跳(Heartbeat),在数据单元异常恢复过程中,MCU接收不到心跳时,重启重新发现(Discovery)数据处理单元。
有益效果:传感器接入部分采用低成本的嵌入式硬件,具备硬件备份低成本、高稳定性、***异常恢复快等优势;传感器可自适应接入主备嵌入式硬件、不同硬件接口,实现不依赖具体硬件接口的驱动,根据接入传感器数据类型,进行数据解析发送,实现快速部署;与数据处理单元分离,采用分布式硬件结构,降低***异常概率;同时采用DDS服务与数据处理单元进行消息通信,提供完善的异常恢复机制。
除以上所述的本发明解决的技术问题、构成技术方案的技术特征以及由这些技术方案的技术特征所带来的优点外。为使本发明目的、技术方案和有益效果更加清楚,下面将结合本发明实施例中的附图,对本发明所能解决的其他技术问题、技术方案中包含的其他技术特征以及这些技术特征带来的优点做更为清楚、完整的描述。
附图说明
图1是本发明实施例的***架构图;
图2是DDS服务的报文交互示意图;
图3是DDS服务中恢复机制的示意图。
具体实施方式
实施例:
DDS服务在工业控制领域应用广泛,便于多传感器的接入以及数据通信,并且具备融合AUTOSAR的优势,本方案以DDS服务为基础,完成传感器数据通信。
如图1所示,本方案采用低成本MCU(Microcontroller Unit)做传感器接入,MCU通常具备USB口、以太网口、串口、CAN总线,方便传感器接入;搭载嵌入式实时操作***(如FreeRTOS),并实现符合DDS规范的精简Micro DDS服务,通过DDS服务与数据处理单元进行通信,完成传感器数据发布,而数据处理由高性能数据处理单元完成。
如图2所示,基于嵌入式实现DDS服务,报文交互完全遵循DDS规范。
以某款常见IMU为例,采用串口接入MCU,按照自定义IMU数据格式(IDL文件) 实现串口数据的解析,包括四元素、角速度、线加速度等信息。
struct Imu
{
Header header;
Quaternion orientation;
double orientation_covariance[9];
Vector3 angular_velocity;
double angular_velocity_covariance[9];
Vector3 linear_acceleration;
double linear_acceleration_covariance[9];
};
在MCU启动后,在组播地址239.255.0.2、端口7400上周期性发送发现报文,在数据处理单元回复后,发起连接请求,节点关联。
节点关联过程中,遵循DDS规范,包括注册消息、创建发布者或者订阅者、创建数据读写实例;节点关联基础为数据类型、数据名称,本实例中定义数据类型为sensor_msgs::msg::dds_::Imu_、数据名称为rt/micro_dds/imu_raw;数据处理单元订阅相同数据类型、数据名称数据将完成节点间自动关联。
MCU任务切换为1ms,可以保证IMU数据发布的实时性。
如图3所示,由于传感器接入平台需要进行硬件备份,对于主MCU,可设置IMU 节点QoS权重为N+1,备份MCU中IMU节点QoS权重为N,虽然主备份IMU节点同时向数据处理单元,但是权重高的拥有数据优先权。
当某个MCU异常重启、或者完成无法工作,备份MCU拥有数据优先权,保证***传感器数据接入正常;数据处理单元周期心跳,告知运行情况,异常恢复时,MCU重启再次进行数据单元发现、节点关联过程。
本发明为自动驾驶传感器接入的冗余备份提供了全新的思路和方法,具体实现该技术方案的方法和途径很多,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,对附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Claims (8)
1.一种在嵌入式传感器接入平台实现DDS服务的方法,其特征在于:在嵌入式硬件和数据处理单元之间进行DDS服务消息通信;所述嵌入式硬件作为传感器接入平台,采用低成本MCU并搭载嵌入式实时操作***。
2.根据权利要求1所述的在嵌入式传感器接入平台实现DDS服务的方法,其特征在于:多个冗余备份的嵌入式硬件经DDS服务联接一个数据处理单元。
3.根据权利要求1所述的在嵌入式传感器接入平台实现DDS服务的方法,其特征在于,DDS服务的实现流程如下:
步骤1,在网络中,MCU周期性发送组播去发现数据处理单元;
步骤2,数据处理单元根据连接请求,回复携带自身IP地址的应答,MCU完成数据处理单元发现;
步骤3,在发现完成后,MCU创建基于UDP的会话,携带标示传感器数据节点的唯一KEY值;
步骤4,向数据处理单元注册传感器数据类型、名称以及QoS策略;
步骤5,创建数据发布者或者订阅者,同样携带数据类型和名称;
步骤6,创建对应数据读或者写实例;
步骤7,如果数据处理单元存在数据类型和名称相同的发布/订阅节点,MCU与数据处理单元节点互相发现,完成关联,进行数据通信;
步骤8,数据处理单元周期性发送心跳,告知MCU侧,当前运行情况。
4.根据权利要求3所述的在嵌入式传感器接入平台实现DDS服务的方法,其特征在于:在步骤4中,所述QoS策略包括最可靠与最高效两种数据传输策略选择,其中最可靠策略中,发布者通过订阅者应答确认数据是否正常接收,如果数据丢失则进行重传;而最高效策略,覆盖订阅者接收队列中未处理的旧数据,确保最新数据及时传输;节点所有权的权重设置,不同节点,权重越大拥有数据发送权。
5.根据权利要求4所述的在嵌入式传感器接入平台实现DDS服务的方法,其特征在于:在注册QoS策略时,主MCU与备份MCU中,设置不同节点所有权的权重,权重越大的节点拥有越高数据发送权。
6.根据权利要求1所述的在嵌入式传感器接入平台实现DDS服务的方法,其特征在于:在MCU内置看门狗(WatchDog),在异常时快速重启。
7.根据权利要求1所述的在嵌入式传感器接入平台实现DDS服务的方法,其特征在于:数据处理单元QoS策略提供存在性功能,通过周期性存在包,检测是否异常,异常时自动恢复。
8.根据权利要求1所述的在嵌入式传感器接入平台实现DDS服务的方法,其特征在于:数据处理单元周期性向MCU发送心跳,在数据单元异常恢复过程中,MCU接收不到心跳时,重启重新发现数据处理单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910707491.6A CN110209514B (zh) | 2019-08-01 | 2019-08-01 | 在嵌入式传感器接入平台实现dds服务的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910707491.6A CN110209514B (zh) | 2019-08-01 | 2019-08-01 | 在嵌入式传感器接入平台实现dds服务的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110209514A true CN110209514A (zh) | 2019-09-06 |
CN110209514B CN110209514B (zh) | 2019-11-15 |
Family
ID=67797875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910707491.6A Active CN110209514B (zh) | 2019-08-01 | 2019-08-01 | 在嵌入式传感器接入平台实现dds服务的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110209514B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110650073A (zh) * | 2019-09-12 | 2020-01-03 | 江苏伦肯智能科技有限公司 | 一种用于海量数据传输的can总线通信方法 |
CN112104538A (zh) * | 2020-11-18 | 2020-12-18 | 奥特酷智能科技(南京)有限公司 | 基于can总线数据传输的dds中间件通讯方法 |
CN112272132A (zh) * | 2020-12-23 | 2021-01-26 | 奥特酷智能科技(南京)有限公司 | 基于fpga实现can数据的dds协议实时传输方法及*** |
CN112398928A (zh) * | 2020-11-04 | 2021-02-23 | 广东源泉科技有限公司 | 物联网设备软件的运行操作方法 |
CN112583927A (zh) * | 2020-12-23 | 2021-03-30 | 北京航空航天大学 | 基于机载嵌入式实时操作***的服务管理*** |
CN112804109A (zh) * | 2021-03-10 | 2021-05-14 | 奥特酷智能科技(南京)有限公司 | 一种基于dds的服务端客户端交互模型 |
CN113806109A (zh) * | 2021-09-15 | 2021-12-17 | 诚迈科技(南京)股份有限公司 | 基于ros2实现soa架构的座舱***及其运行方法 |
CN114785877A (zh) * | 2022-04-14 | 2022-07-22 | 奥特酷智能科技(南京)有限公司 | 一种实时或离线解析dds通信中rtps协议的方法 |
CN115460076A (zh) * | 2022-08-18 | 2022-12-09 | 中国航空工业集团公司洛阳电光设备研究所 | 一种面向嵌入式的分布式信息处理节点构建方法 |
CN115883200A (zh) * | 2022-11-29 | 2023-03-31 | 中国第一汽车股份有限公司 | 一种日志的安全管理方法、装置、平台及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452841A (zh) * | 2016-09-13 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | 在机器人操作***中使用传输服务质量的方法 |
CN109017629A (zh) * | 2018-06-21 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 无人驾驶车辆及其插卡式结构、模块与车载计算平台 |
-
2019
- 2019-08-01 CN CN201910707491.6A patent/CN110209514B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106452841A (zh) * | 2016-09-13 | 2017-02-22 | 中国电子科技集团公司第三十二研究所 | 在机器人操作***中使用传输服务质量的方法 |
CN109017629A (zh) * | 2018-06-21 | 2018-12-18 | 百度在线网络技术(北京)有限公司 | 无人驾驶车辆及其插卡式结构、模块与车载计算平台 |
Non-Patent Citations (2)
Title |
---|
权莉: "DDS在环境监控***中的研究与应用", 《中国优秀硕士学位论文全文数据库》 * |
电子发烧友: "最新RX65N微控制器,可以支持ROS 2的DDS", 《HTTP://WWW.ELECFANS.COM/EMB/DANPIANJI/20190209863381.HTML》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110650073B (zh) * | 2019-09-12 | 2021-06-11 | 江苏伦肯智能科技有限公司 | 一种用于海量数据传输的can总线通信方法 |
CN110650073A (zh) * | 2019-09-12 | 2020-01-03 | 江苏伦肯智能科技有限公司 | 一种用于海量数据传输的can总线通信方法 |
CN112398928B (zh) * | 2020-11-04 | 2024-04-16 | 广东源泉科技有限公司 | 物联网设备软件的运行操作方法 |
CN112398928A (zh) * | 2020-11-04 | 2021-02-23 | 广东源泉科技有限公司 | 物联网设备软件的运行操作方法 |
CN112104538A (zh) * | 2020-11-18 | 2020-12-18 | 奥特酷智能科技(南京)有限公司 | 基于can总线数据传输的dds中间件通讯方法 |
CN112583927B (zh) * | 2020-12-23 | 2022-04-15 | 北京航空航天大学 | 基于机载嵌入式实时操作***的服务管理*** |
CN112583927A (zh) * | 2020-12-23 | 2021-03-30 | 北京航空航天大学 | 基于机载嵌入式实时操作***的服务管理*** |
CN112272132A (zh) * | 2020-12-23 | 2021-01-26 | 奥特酷智能科技(南京)有限公司 | 基于fpga实现can数据的dds协议实时传输方法及*** |
CN112804109A (zh) * | 2021-03-10 | 2021-05-14 | 奥特酷智能科技(南京)有限公司 | 一种基于dds的服务端客户端交互模型 |
CN113806109A (zh) * | 2021-09-15 | 2021-12-17 | 诚迈科技(南京)股份有限公司 | 基于ros2实现soa架构的座舱***及其运行方法 |
CN114785877A (zh) * | 2022-04-14 | 2022-07-22 | 奥特酷智能科技(南京)有限公司 | 一种实时或离线解析dds通信中rtps协议的方法 |
CN114785877B (zh) * | 2022-04-14 | 2023-02-17 | 奥特酷智能科技(南京)有限公司 | 一种实时或离线解析dds通信中rtps协议的方法 |
CN115460076A (zh) * | 2022-08-18 | 2022-12-09 | 中国航空工业集团公司洛阳电光设备研究所 | 一种面向嵌入式的分布式信息处理节点构建方法 |
CN115460076B (zh) * | 2022-08-18 | 2023-07-28 | 中国航空工业集团公司洛阳电光设备研究所 | 一种面向嵌入式的分布式信息处理节点构建方法 |
CN115883200A (zh) * | 2022-11-29 | 2023-03-31 | 中国第一汽车股份有限公司 | 一种日志的安全管理方法、装置、平台及介质 |
CN115883200B (zh) * | 2022-11-29 | 2024-05-03 | 中国第一汽车股份有限公司 | 一种日志的安全管理方法、装置、平台及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110209514B (zh) | 2019-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209514B (zh) | 在嵌入式传感器接入平台实现dds服务的方法 | |
EP2321908B1 (en) | Method and system for message processing | |
US8024396B2 (en) | Distributed behavior controlled execution of modeled applications | |
EP3734913A1 (en) | Communication method and communication apparatus | |
CN107493191B (zh) | 一种集群节点及自调度容器集群*** | |
EP3487131A1 (en) | Cloud-end data multicast method and system, and computer device | |
JPH1040226A (ja) | 分散コンピューティング環境におけるグループ・リーダ回復の方法 | |
WO2010062384A1 (en) | Link data transmission method, node and system | |
EP3522496B1 (en) | Method and system for processing node registration notification | |
CN105993161A (zh) | 可扩展地址解析 | |
CN109547875A (zh) | 一种fc交换网络任意端口接入设计方法 | |
JPH1040227A (ja) | 分散コンピューティング環境におけるグループ・リーダ回復のためのシステム | |
CN109656726B (zh) | 一种适用于数据中心的工业信息交互***及方法 | |
CN113098747A (zh) | 一种面向智慧轨交***的实时软总线实现方法 | |
CN112887356A (zh) | 共享內存的数据分发服务的***及其运作方法 | |
CN112929418B (zh) | 一种基于发布订阅的RapidIO高速通信方法及*** | |
CN109560903A (zh) | 一种完全容灾的车载指挥通信*** | |
US11102293B2 (en) | System and method for migrating an agent server to an agent client device | |
US20050160143A1 (en) | Persistent group membership in a distributed computing system | |
CN209134427U (zh) | 一种完全容灾的车载指挥通信*** | |
CN116633955A (zh) | 通信方法、装置、车辆、介质及设备 | |
EP3562101A1 (en) | Bras management method, packet forwarding method, packet forwarding controller, and bras | |
CN116915837B (zh) | 基于软件定义网络的通信方法及通信*** | |
US20040031033A1 (en) | Method and apparatus for inter-process communication management | |
CN114048017B (zh) | 一种物联网设备协同联动方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: 210012 room 401-404, building 5, chuqiaocheng, No. 57, Andemen street, Yuhuatai District, Nanjing, Jiangsu Province Patentee after: AUTOCORE INTELLIGENT TECHNOLOGY (NANJING) Co.,Ltd. Address before: 211800 building 12-289, 29 buyue Road, Qiaolin street, Pukou District, Nanjing City, Jiangsu Province Patentee before: AUTOCORE INTELLIGENT TECHNOLOGY (NANJING) Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |