System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种ROS2节点分布式动态加载系统技术方案_技高网

一种ROS2节点分布式动态加载系统技术方案

技术编号:40445565 阅读:14 留言:0更新日期:2024-02-22 23:06
本发明专利技术涉及一种ROS2节点分布式动态加载系统,包括管理计算设备和若干其他计算设备,所述计算设备用于动态加载若干ROS2节点,所述计算设备通过管理总线连接,所述计算设备通过业务总线进行业务数据通信;所述计算设备上部署节点管理器,所述管理计算设备上还部署域管理器,所述节点管理器向域管理器注册,所述计算设备上动态加载的ROS2节点向节点管理器注册,形成由域管理器统管的节点树形结构;所述计算设备上存储有SOA管理架构程序模块,所述计算设备执行所述SOA管理架构程序模块时:整合所有计算设备硬件资源信息生成虚拟硬件资源池;查询所述虚拟硬件资源池,分布式动态加载ROS2节点到对应计算设备上。有益效果是资源利用率、应用部署效率高,可靠性强。

【技术实现步骤摘要】

【】本专利技术涉及无人特种装备,具体涉及一种ros2节点分布式动态加载系统。


技术介绍

0、
技术介绍

1、ros2的前身是ros,ros即机器人操作系统(robot operating system)。但是ros本身并不是一个操作系统,而是一个软件库和工具集,ros是用于编写机器人软件程序的一种具有高度灵活性的软件架构,可以提升功能模块的复用性,并且随着ros2的推出,ros日臻完善,是机器人软件开发的不二之选。

2、soa(service-oriented architecture)是面向服务的架构,它是一种粗粒度、松耦合服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型,将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。

3、无论是民用领域,还是军用领域。未来智能无人化都是一个趋势。随着人工智能技术的快速发展,无人特种装备,如“无人矿车”“无人环卫车”“无人侦察机”等大量智能化无人装备应运而生并运用于实战。目前大多数无人特种装备都是采用ros或ros2作为数据交互的中间层,在此框架的基础上赋予智能算法。

4、ros或ros2作为开源项目,有相对多的开源算法做匹配,能快速做无人特种装备等产品的原型验证;但也是因为开源,健壮性以及易用性比较差,用户对产品验证的时间长,且产品的稳定性差以及可复用性不好。

5、ros发展初期主要应用在独立计算资源上,随着场景的复杂化,算力要求的急剧提高,一个计算资源已经满足算力需求了,因此需要将ros节点分布到不同的计算资源上,此时ros已经不能满足各种复杂场景的需求,故ros开发团队推出第二代机器人操作系统(即ros2),ros2取消ros主节点机制,采用了数据分发服务(data distribution service,简称dds)通信机制作为底层通信机制,实现了真正的分布式计算。

6、然而ros2在无人特种装备等场景的实际应用中,节点加载以及故障定位等,仍存在一些不足。对于多个计算资源在运行ros2任务时,其节点加载及卸载等控制,需人工手动方式在各个计算资源上分别进行节点操作,该方式效率低下,且节点不便于管理,定位问题难点大。

7、为了解决上述存在的问题,如公开号为cn116302252a的中国专利公开了一种ros2节点远程控制方法及系统,通过ssh(secure shell安全外壳协议)控制其它板卡来启动ros2节点,但这种方法有以下不足点:1、需要ssh认证,不方便调试,若免登录则存在安全性问题;2、此方法只能静态指定ros2到对应的板卡,不具备灵活性;3、不具备监测框架,节点异常时,无法做出相应的处理;4、所有硬件平台都需要提前有ros2应用包,远程只是启动相应的节点。

8、本专利技术针对ros2节点加载操作不方便以及故障定位难的技术问题,对ros2节点分布式动态加载系统进行了改进。


技术实现思路

0、
技术实现思路

1、本专利技术的目的是,提出一种资源利用率、应用部署效率高,可靠性强的ros2节点分布式动态加载系统。

2、为实现上述目的,本专利技术采取的技术方案是一种ros2节点分布式动态加载系统,包括管理计算设备和若干其他计算设备,所述计算设备用于动态加载若干ros2节点,所述计算设备通过管理总线连接,所述计算设备通过业务总线进行业务数据通信;

3、所述计算设备上部署节点管理器,所述管理计算设备上还部署域管理器,所述节点管理器向域管理器注册,所述计算设备上动态加载的ros2节点向节点管理器注册,形成由域管理器统管的节点树形结构;

4、所述计算设备上存储有soa管理架构程序模块,所述计算设备执行所述soa管理架构程序模块时:

5、所述节点管理器将所述计算设备硬件资源建模得到静态硬件资源属性描述文件,所述域管理器解析所述静态硬件资源属性描述文件整合所有计算设备硬件资源信息生成虚拟硬件资源池;

6、所述域管理器解析应用描述文件获得所有需要动态加载的ros2节点硬件资源信息,查询所述虚拟硬件资源池,将每个需要动态加载的ros2节点硬件资源信息和虚拟硬件资源池中的计算设备硬件资源信息匹配,分布式动态加载ros2节点到对应计算设备上。

7、优选地,所述计算设备是无人特种装备上的板卡。

8、优选地,所述硬件资源包括计算资源、网络资源、存储资源、图像资源和外设资源。

9、优选地,所述域管理器只参与管理总线通信,不参与业务总线通信。

10、优选地,所述计算设备执行所述soa管理架构程序模块实现ros2节点分布式动态加载具体包括以下步骤:

11、s1、根据硬件资源情况和应用功能进行建模,分别生成静态硬件资源属性描述文件和应用描述文件,通过部署工具将静态硬件资源属性描述文件分发到对应的节点管理器、将应用描述文件分发到域管理器;

12、s2、启动soa管理架构,节点管理器解析静态硬件资源属性描述文件,域管理器与所有节点管理器建立连接,根据各个计算设备静态硬件资源属性以及各个节点管理器调用环境抽象层形成的动态信息,生成虚拟硬件资源池;

13、s3、应用加载,域管理器接收到应用硬件资源属性描述文件后,解析应用硬件资源属性描述文件;

14、s4、域管理器查询虚拟硬件资源池,调用负载均衡算法为每个需要动态加载的ros2节点硬件资源信息匹配最合适的虚拟硬件资源池中的计算设备硬件资源信息,如匹配成功则调用对应节点管理器去加载ros2节点,否则应用加载失败;

15、s5、所有ros2节点分布式动态加载完成后,根据编排策略启动ros2节点,若无异常则应用加载完成,否则输出异常原因。

16、优选地,所述计算设备执行所述soa管理架构程序模块实现ros2节点分布式动态加载步骤s2具体包括以下子步骤:

17、s21、在管理计算设备上,启动域管理器;

18、s22、在所有计算设备上,启动节点管理器;

19、s23、节点管理器解析静态硬件资源属性描述文件,调用环境抽象层接口获取计算设备cpu负载率、内存使用率、i/o负载率;

20、s24、节点管理器向域管理器注册,创建全局的对象请求代理;

21、s25、域管理器通过调用节点管理器的查询接口获取所有计算设备静态硬件资源属性以及动态信息,形成虚拟硬件资源池;

22、s26、节点管理器配置以及启动ros2工作环境,ros2工作空间默认是节点管理器静态硬件资源属性描述文件所在的目录。

23、优选地,所述计算设备执行所述soa管理架构程序模块实现ros2节点分布式动态加载步骤s4负载均衡算法具体包括以下子步骤:

24、s41、域管理器通过节点管理器来调用的环境抽象层获取所有计算设备运行时的内存使用率、cpu负载情况、i/o负载率;

25、本文档来自技高网...

【技术保护点】

1.一种ROS2节点分布式动态加载系统,包括管理计算设备和若干其他计算设备,所述计算设备用于动态加载若干ROS2节点,所述计算设备通过管理总线连接,所述计算设备通过业务总线进行业务数据通信;其特征在于:

2.根据权利要求1所述的一种ROS2节点分布式动态加载系统,其特征在于:所述计算设备是无人特种装备上的板卡。

3.根据权利要求1所述的一种ROS2节点分布式动态加载系统,其特征在于:所述硬件资源包括计算资源、网络资源、存储资源、图像资源和外设资源。

4.根据权利要求1所述的一种ROS2节点分布式动态加载系统,其特征在于:所述域管理器只参与管理总线通信,不参与业务总线通信。

5.根据权利要求1所述的一种ROS2节点分布式动态加载系统,其特征在于所述计算设备执行所述SOA管理架构程序模块实现ROS2节点分布式动态加载具体包括以下步骤:

6.根据权利要求5所述的一种ROS2节点分布式动态加载系统,其特征在于所述计算设备执行所述SOA管理架构程序模块实现ROS2节点分布式动态加载步骤S2具体包括以下子步骤:

7.根据权利要求6所述的一种ROS2节点分布式动态加载系统,其特征在于所述计算设备执行所述SOA管理架构程序模块实现ROS2节点分布式动态加载步骤S4负载均衡算法具体包括以下子步骤:

8.根据权利要求7所述的一种ROS2节点分布式动态加载系统,其特征在于所述计算设备执行所述SOA管理架构程序模块实现ROS2节点分布式动态加载还包括以下步骤:

9.根据权利要求8所述的一种ROS2节点分布式动态加载系统,其特征在于所述计算设备执行所述SOA管理架构程序模块实现ROS2节点分布式动态加载步骤S6具体包括以下子步骤:

10.根据权利要求9所述的一种ROS2节点分布式动态加载系统,其特征在于所述计算设备执行所述SOA管理架构程序模块实现ROS2节点分布式动态加载步骤S6:所述ROS2节点的状态信息包括内存使用率、堆栈、进程数。

...

【技术特征摘要】

1.一种ros2节点分布式动态加载系统,包括管理计算设备和若干其他计算设备,所述计算设备用于动态加载若干ros2节点,所述计算设备通过管理总线连接,所述计算设备通过业务总线进行业务数据通信;其特征在于:

2.根据权利要求1所述的一种ros2节点分布式动态加载系统,其特征在于:所述计算设备是无人特种装备上的板卡。

3.根据权利要求1所述的一种ros2节点分布式动态加载系统,其特征在于:所述硬件资源包括计算资源、网络资源、存储资源、图像资源和外设资源。

4.根据权利要求1所述的一种ros2节点分布式动态加载系统,其特征在于:所述域管理器只参与管理总线通信,不参与业务总线通信。

5.根据权利要求1所述的一种ros2节点分布式动态加载系统,其特征在于所述计算设备执行所述soa管理架构程序模块实现ros2节点分布式动态加载具体包括以下步骤:

6.根据权利要求5所述的一种ros2节点分布式动态加载系统,其特征在于所...

【专利技术属性】
技术研发人员:常坤许生郭岚
申请(专利权)人:上海介方信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1