System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种ros2高速消息传输的方法、系统、设备及介质。
技术介绍
1、ros2(robot operating system,机器人操作系统)是一种广泛应用于机器人及自动驾驶领域的机器人操作系统,其支持多种计算平台,同时能够支持分布式通信,允许机器人系统的不同组件在不同的计算机设备上运行,具有较强的灵活性、可靠性和实时性。目前在ros2通信组件中,其通信中间件主要为dds(data distribution service),dds是一种高性能的通信中间件标准,主要使用tcp/udp协议,用于实时数据传输及通信,但是该中间件在进行大数据传输时,例如相机数据传输时,其通信效率较低,难以满足实际应用需求,因此,目前基于dds在ros2中进行大数据传输主要有以下的缺陷:通信效率较低,通信延时较高,在实时应用场景中如自动驾驶领域,难以满足应用需求。
技术实现思路
1、有鉴于此,本申请提供一种ros2高速消息传输的方法、系统、设备及介质。旨在降低ros2中大数据传输的通信延时和提高ros2中大数据传输的数据通信效率。
2、在本申请实施例的第一方面,提供了一种ros2高速消息传输的方法,应用于ros2系统,所述方法包括:
3、基于第一地址映射关系,发布节点通过第一通信方式将目标数据写入预设寄存器空间,所述第一地址映射关系为所述预设寄存器空间的物理内存地址与所述发布节点的用户空间地址之间的映射关系;
4、在所述目标数据写入完成的情况下,所
5、基于第二地址映射关系,根据接收的所述写入完成信号,订阅节点通过所述第二通信方式对所述目标数据进行读取,以获得所述目标数据,所述第二地址映射关系为所述预设寄存器空间的物理内存地址与所述订阅节点的用户空间地址之间的映射关系。
6、可选的,在基于第一地址映射关系,发布节点通过第一通信方式将目标数据写入预设寄存器空间之前,所述方法包括:
7、根据所述第一通信方式,通过pcie总线将所述订阅节点和所述发布节点进行连接;
8、根据所述第二通信方式,通过网线将所述订阅节点和所述发布节点进行连接。
9、可选的,所述第一地址映射关系的构建,包括:
10、通过在设置所述发布节点的第一终端的计算设备的命令输入端口输入第一命令符,获得第一输出结果;
11、根据所述第一输出结果,确定所述第一终端的计算设备的用户空间地址;
12、根据所述预设寄存器空间的物理内存地址和所述第一终端的计算设备的用户空间地址,构建所述第一地址映射关系。
13、可选的,所述第二地址映射关系的构建,包括:
14、将设置所述订阅节点的第二终端中的计算设备的操作系统的目标默认配置项修改为目标取值;
15、对所述第二终端中的计算设备进行刷机,获得目标计算设备;
16、通过在所述目标计算设备的命令输入端口输入第二命令符,获得第二输出结果;
17、根据所述第二输出结果,确定所述第二终端的计算设备的用户空间地址;
18、根据所述预设寄存器空间的物理内存地址和所述第二终端的计算设备的用户空间地址,构建所述第二地址映射关系。
19、可选的,在构建所述第一地址映射关系和构建所述第二地址映射关系之前,所述方法还包括:
20、对所述第一终端的计算设备和所述第二终端的目标计算设备进行通信测试;
21、所述根据所述预设寄存器空间的物理内存地址和所述第一终端的计算设备的用户空间地址,构建所述第一地址映射关系,包括:在测试通过后,根据所述预设寄存器空间的物理内存地址和所述第一终端的计算设备的用户空间地址,构建所述第一地址映射关系;
22、所述根据所述预设寄存器空间的物理内存地址和所述第二终端的计算设备的用户空间地址,构建所述第二地址映射关系,包括:在测试通过后,根据所述预设寄存器空间的物理内存地址和所述第二终端的计算设备的用户空间地址,构建所述第二地址映射关系。
23、可选的,所述对所述第一终端的计算设备和所述第二终端的目标计算设备进行通信测试,包括:
24、在所述第一终端和所述第二终端中分别安装目标测试工具;
25、通过在所述第一终端的命令输入端口输入第三命令符,并在所述第二终端的命令输入端口输入第四命令符,获得所述第二终端的第三输出结果;
26、通过在所述第二终端的命令输入端口输入第五命令符,并在所述第一终端的命令输入端口输入第六命令符,获得所述第一终端的第四输出结果;
27、根据所述第三输出结果和所述第四输出结果,确定所述第一终端和所述第二终端之间的通信测试是否通过。
28、可选的,所述发布节点和所述订阅节点的构建,包括:
29、在所述第一终端中的计算设备中启动ros2系统的发布节点;
30、在所述第二终端中的目标计算设备中启动ros2系统的订阅节点。
31、在本申请实施例的第二方面,本申请提供一种ros2高速消息传输的系统,应用于ros2系统,所述系统包括:
32、数据写入模块,用于基于第一地址映射关系,发布节点通过第一通信方式将目标数据写入预设寄存器空间,所述第一地址映射关系为所述预设寄存器空间的物理内存地址与所述发布节点的用户空间地址之间的映射关系;
33、写入完成信号发送模块,用于在所述目标数据写入完成的情况下,所述发布节点通过第二通信方式将写入完成信号发送至订阅节点;
34、数据读取模块,用于基于第二地址映射关系,根据接收的所述写入完成信号,订阅节点通过所述第二通信方式对所述目标数据进行读取,以获得所述目标数据,所述第二地址映射关系为所述预设寄存器空间的物理内存地址与所述订阅节点的用户空间地址之间的映射关系。
35、在本申请实施例的第三方面,本申请提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如本申请第一方面所述的ros2高速消息传输的方法中的步骤。
36、在本申请实施例的第四方面,本申请提供一种计算机非易失性可读存储介质,所述计算机非易失性可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本申请第一方面所述的ros2高速消息传输的方法中的步骤。
37、针对在先技术,本申请具备如下优点:
38、本申请实施例提供的一种ros2高速消息传输的方法,应用于ros2系统,首先在ros2系统中的发布节点在进行数据写入时,基于预设寄存器空间的物理内存地址与发布节点的用户空间地址之间的第一地址映射关系,发布节点通过数据传输更快的第一通信方式进行目标数据的写入,写入位置为预设寄存器空间;在发布节点完成目标数据的写入后,通过ros2系统原有的第二通信方式向订阅本文档来自技高网...
【技术保护点】
1.一种ROS2高速消息传输的方法,其特征在于,应用于ROS2系统,所述方法包括:
2.根据权利要求1所述的ROS2高速消息传输的方法,其特征在于,在基于第一地址映射关系,发布节点通过第一通信方式将目标数据写入预设寄存器空间之前,所述方法包括:
3.根据权利要求2所述的ROS2高速消息传输的方法,其特征在于,所述第一地址映射关系的构建,包括:
4.根据权利要求3所述的ROS2高速消息传输的方法,其特征在于,所述第二地址映射关系的构建,包括:
5.根据权利要求4所述的ROS2高速消息传输的方法,其特征在于,在构建所述第一地址映射关系和构建所述第二地址映射关系之前,所述方法还包括:
6.根据权利要求4所述的ROS2高速消息传输的方法,其特征在于,所述对所述第一终端的计算设备和所述第二终端的目标计算设备进行通信测试,包括:
7.根据权利要求5所述的ROS2高速消息传输的方法,其特征在于,所述发布节点和所述订阅节点的构建,包括:
8.一种ROS2高速消息传输的系统,其特征在于,应用于ROS2系统,所述系统
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的ROS2高速消息传输的方法中的步骤。
10.一种计算机非易失性可读存储介质,其特征在于,所述计算机非易失性可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的ROS2高速消息传输的方法中的步骤。
...【技术特征摘要】
1.一种ros2高速消息传输的方法,其特征在于,应用于ros2系统,所述方法包括:
2.根据权利要求1所述的ros2高速消息传输的方法,其特征在于,在基于第一地址映射关系,发布节点通过第一通信方式将目标数据写入预设寄存器空间之前,所述方法包括:
3.根据权利要求2所述的ros2高速消息传输的方法,其特征在于,所述第一地址映射关系的构建,包括:
4.根据权利要求3所述的ros2高速消息传输的方法,其特征在于,所述第二地址映射关系的构建,包括:
5.根据权利要求4所述的ros2高速消息传输的方法,其特征在于,在构建所述第一地址映射关系和构建所述第二地址映射关系之前,所述方法还包括:
6.根据权利要求4所述的ros2高速消息传输的方法,其特征在于,所述对...
【专利技术属性】
技术研发人员:刘宏刚,吕慧超,张清,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。