一种基于IROS系统自动生成节点图的方法、设备及介质技术方案

技术编号:34347114 阅读:10 留言:0更新日期:2022-07-31 05:01
本申请公开了一种基于IROS系统自动生成节点图的方法、设备及介质,用以解决现有的业务节点之间关系复杂,学习成本较大,工作效率较低的技术问题。方法包括:通过调用IROS系统的接口获取IROS系统中所有业务的主题和服务,并确定对应的多个业务节点以及多个业务节点之间的数据流向;根据数据流向确定主题或服务对应的发布者和订阅者;通过预设应用程序开发框架将主题或服务对应的发布者和订阅者添加至可视化界面,并通过预设的连接方式将发布者和订阅者与主题或服务进行关联;根据多个业务节点之间的数据流向通过双向链表法绘制发布者、订阅者及主题或服务之间的连接关系,生成对应的节点图,通过可视化的方式降低了学习成本,提高了工作效率。提高了工作效率。提高了工作效率。

A method, equipment and medium for automatically generating node graph based on iros system

【技术实现步骤摘要】
一种基于IROS系统自动生成节点图的方法、设备及介质


[0001]本申请涉及机器人
,尤其涉及一种基于IROS系统自动生成节点图的方法、设备及介质。

技术介绍

[0002]机器人操作系统(Robot Operating System,ROS)是用于编写机器人软件程序的一种具有高度灵活性的软件架构,包括硬件抽象、底层设备控制、常用函数的实现、进程间消息传递以及包管理,还提供了用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。IROS系统具备ROS系统类似的功能,替代了开源ROS系统的内核,提供了兼容ROS系统的接口,解决了ROS系统中可靠性、性能、安全等相关的问题,并增加了新的功能,支持云化机器人开发、支持云边端通信、支持多机器人协作等。
[0003]机器人系统开发涉及到大量的程序,各程序之间通过主题topic或者服务传递数据、提供服务。但是,系统中各业务节点之间的关系比较复杂,数据的流向不够清晰,需要花费较多的时间掌握节点之间的关系,学习成本较大。并且,在出现问题时,需要使用命令或者查看日志确定出现问题的具体业务节点,问题排查较为困难,排查时间较长,工作效率较低。

技术实现思路

[0004]本申请实施例提供了一种基于IROS系统自动生成节点图的方法、设备及介质,用以解决现有的业务节点之间关系复杂,数据流向不清晰,学习成本较大,问题排查时间较长,工作效率较低的技术问题。
[0005]一方面,本申请实施例提供了一种基于IROS系统自动生成节点图的方法,包括:
[0006]通过调用IROS系统的接口,获取所述IROS系统中所有业务对应的主题和服务,并确定所述主题或服务对应的多个业务节点以及所述多个业务节点之间的数据流向;
[0007]根据所述主题或服务对应的多个业务节点之间的数据流向,确定出所述主题或服务对应的发布者和订阅者;
[0008]通过预设的应用程序开发框架,将所述主题或服务对应的发布者和订阅者添加至可视化界面,并通过预设的连接方式,将所述发布者和所述订阅者与所述主题或服务进行关联;
[0009]根据所述多个业务节点之间的数据流向,通过双向链表法绘制出所述发布者、所述订阅者以及所述主题或服务之间的连接关系,以生成对应的节点图。
[0010]在本申请的一种实现方式中,所述通过预设的应用程序开发框架,将所述主题或服务对应的发布者和订阅者添加至可视化界面之后,所述方法还包括:
[0011]根据预设比例调整所述发布者和所述订阅者对应业务节点的大小,并对所述可视化界面中业务节点的属性信息进行修改;
[0012]其中,所述属性信息至少包括:节点名称、节点类型和主题名称,所述节点类型包
括发布者和订阅者。
[0013]在本申请的一种实现方式中,所述对所述可视化界面中业务节点的属性信息进行修改之后,所述方法还包括:
[0014]在所述业务节点为发布者时,采集待发布主题或服务对应的数据以及数据来源文件,并确定所述待发布主题或服务对应的发布时间间隔;
[0015]根据所述发布时间间隔,启动所述发布者对应的业务节点,并通过所述IROS系统的接口,确定采集到的所述数据是否正确;
[0016]在所述业务节点为订阅者时,启动所述订阅者对应的业务节点,获取订阅的主题或服务,并将所述主题或服务对应的数据在日志栏中显示。
[0017]在本申请的一种实现方式中,所述根据所述多个业务节点之间的数据流向,通过双向链表法绘制出所述发布者、所述订阅者以及所述主题或服务之间的连接关系,以生成对应的节点图之后,所述方法还包括:
[0018]基于预设搜索算法,检测所述对应的节点图是否存在闭环;
[0019]若是,则识别出所述节点图中的闭环,并将所述闭环中的业务节点以及对应的数据流向,转换为非闭环的业务节点以及对应的数据流向;
[0020]若否,则识别出所述节点图中各业务节点的入度,并分离出所述入度为预设值的业务节点,以将所述入度为预设值的业务节点所指的下一业务节点的入度减一。
[0021]在本申请的一种实现方式中,所述方法还包括:
[0022]对所述节点图中的业务节点进行排序,并在所述节点图中存在闭环时,根据转换后数据流向对应的边,将转换为非闭环的业务节点进行连接。
[0023]在本申请的一种实现方式中,所述根据所述多个业务节点之间的数据流向,通过双向链表法绘制出所述发布者、所述订阅者以及所述主题或服务之间的连接关系,以生成对应的节点图之后,所述方法还包括:
[0024]若关闭业务节点对应的进程,则将所述业务节点从所述节点图中删除,并将所述节点图中与所述业务节点相连的线段删除,以实现所述节点图的自动更新。
[0025]在本申请的一种实现方式中,所述根据所述多个业务节点之间的数据流向,通过双向链表法绘制出所述发布者、所述订阅者以及所述主题或服务之间的连接关系,以生成对应的节点图之后,所述方法还包括:
[0026]将生成的所述节点图以预设格式的文件进行导出;其中,所述预设格式至少包括PDF格式和SVG格式。
[0027]在本申请的一种实现方式中,所述根据所述多个业务节点之间的数据流向,通过双向链表法绘制出所述发布者、所述订阅者以及所述主题或服务之间的连接关系,以生成对应的节点图之后,所述方法还包括:
[0028]根据生成的所述节点图,确定出所述节点图中多个业务节点对应的菜单布局,并基于所述对应的菜单布局,为所述节点图设置唯一标识;
[0029]将具有唯一标识的所述节点图添加至数据库中。
[0030]另一方面,本申请实施例还提供了一种基于IROS系统自动生成节点图的设备,所述设备包括:
[0031]至少一个处理器;
[0032]以及,与所述至少一个处理器通信连接的存储器;
[0033]其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
[0034]执行如上述的一种基于IROS系统自动生成节点图的方法。
[0035]另一方面,本申请实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
[0036]如上述的一种基于IROS系统自动生成节点图的方法。
[0037]本申请实施例提供了一种基于IROS系统自动生成节点图的方法、设备及介质,至少包括以下有益效果:通过调用IROS系统的节点,获取所有的主题和服务以及主题或服务对应的多个业务节点之间的数据流向,确定出主题对应的发布者和订阅者,并通过预设应用程序开发框架,将所述主题或服务对应的发布者和订阅者添加至可视化界面,将发布者和订阅者之间的关系,通过主题topic或者服务的形式关联在一起,通过节点图的方式实现可视化,清晰地展示出各业务节点之间的关系以及数据流向。这样能够使工作人员通过节点图及时确定出业务节点中的问题,减少工作人员的学习成本,减轻工作人本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于IROS系统自动生成节点图的方法,其特征在于,所述方法包括:通过调用IROS系统的接口,获取所述IROS系统中所有业务对应的主题和服务,并确定所述主题或服务对应的多个业务节点以及所述多个业务节点之间的数据流向;根据所述主题或服务对应的多个业务节点之间的数据流向,确定出所述主题或服务对应的发布者和订阅者;通过预设的应用程序开发框架,将所述主题或服务对应的发布者和订阅者添加至可视化界面,并通过预设的连接方式,将所述发布者和所述订阅者与所述主题或服务进行关联;根据所述多个业务节点之间的数据流向,通过双向链表法绘制出所述发布者、所述订阅者以及所述主题或服务之间的连接关系,以生成对应的节点图。2.根据权利要求1所述的一种基于IROS系统自动生成节点图的方法,其特征在于,所述通过预设的应用程序开发框架,将所述主题或服务对应的发布者和订阅者添加至可视化界面之后,所述方法还包括:根据预设比例调整所述发布者和所述订阅者对应业务节点的大小,并对所述可视化界面中业务节点的属性信息进行修改;其中,所述属性信息至少包括:节点名称、节点类型和主题名称,所述节点类型包括发布者和订阅者。3.根据权利要求2所述的一种基于IROS系统自动生成节点图的方法,其特征在于,所述对所述可视化界面中业务节点的属性信息进行修改之后,所述方法还包括:在所述业务节点为发布者时,采集待发布主题或服务对应的数据以及数据来源文件,并确定所述待发布主题或服务对应的发布时间间隔;根据所述发布时间间隔,启动所述发布者对应的业务节点,并通过所述IROS系统的接口,确定采集到的所述数据是否正确;在所述业务节点为订阅者时,启动所述订阅者对应的业务节点,获取订阅的主题或服务,并将所述主题或服务对应的数据在日志栏中显示。4.根据权利要求1所述的一种基于IROS系统自动生成节点图的方法,其特征在于,所述根据所述多个业务节点之间的数据流向,通过双向链表法绘制出所述发布者、所述订阅者以及所述主题或服务之间的连接关系,以生成对应的节点图之后,所述方法还包括:基于预设搜索算法,检测所述对应的节点图是否存在闭环;若是,则识别出所述节点图中的闭环,并将所述闭环中的业务节点以及对应的数据流向,转换为非闭环的业务节点以及对应的数据流向;若否,则识别出所述节点图中各业务节点的入度,并分离出所述入度为预设值...

【专利技术属性】
技术研发人员:蔡萌萌李朝铭王建华刘鹏王召东
申请(专利权)人:山东新一代信息产业技术研究院有限公司
类型:发明
国别省市:

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

1