一种应用于机器人的数据交互中间件的制作方法

文档序号:36646166发布日期:2024-01-06 23:30阅读:19来源:国知局
一种应用于机器人的数据交互中间件的制作方法

本发明涉及数据交互,尤其涉及一种应用于机器人的数据交互中间件。


背景技术:

1、随着技术的不断革新和机器人技术的快速发展,越来越多的机器人应用走进了人们的日常生活。随着机器人功能的不断丰富,传统按键已无法满足对复杂控制的需求,智能机器人设备正逐渐采用人机交互板来实现智能化控制。人机交互板为用户提供了一个直观、友好的界面,通过图标、按钮、菜单和控件等元素,用户可以轻松了解和操作机器人的各种功能和状态。然而,人机交互板作为独立的开发模块无法直接与智能机器人的主控中心进行交互,因此,选择一种有效的、通用的方法,使智能机器人能够与人机交互板进行无缝通信,变得至关重要。这种无缝的交互通信将为用户带来更加智能化、便捷化的机器人体验,进一步推动机器人技术在人们生活中的广泛应用。

2、机器人主控板使用的是ros系统。在大部分技术中,如图1所示,人机交互板与机器人主控板通过物理连接和以太网进行通信。它们连接到同一局域网,并使用tcp/ip协议进行数据传输。在机器人主控板端的应用程序中,利用ros提供的通信框架rosbridge,实现与非ros环境应用程序的通信。rosbridge通过提供websocket接口,使得可以使用web技术(如javascript)与ros进行交互。通过rosbridge,可以通过websocket发送和接收ros消息,调用ros服务和操作ros参数。在人机交互板的应用程序中,使用适当的websocket库或客户端工具连接到rosbridge服务器,需要指定rosbridge服务器的ip地址和端口号。一旦连接建立,交互板可以通过websocket发送和接收ros消息。可以按照ros消息的格式构建消息,并通过websocket发送给rosbridge服务器。rosbridge服务器将消息转发给ros系统中相应的节点。通过websocket发送请求消息给rosbridge服务器以调用ros服务,请求消息应包含服务名称和所需参数。rosbridge服务器将请求转发给ros系统中的服务节点,并将响应消息发送回交互板。同样地,通过websocket发送请求消息给rosbridge服务器以读取或修改ros参数,请求消息应包含参数名称和所需操作(读取或修改)。rosbridge服务器将请求转发给ros系统中的参数服务器,并将响应消息发送回交互板。

3、这样,通过rosbridge实现了人机交互板与机器人主控板之间的通信。websocket接口和rosbridge的功能使得交互板能够与ros系统无缝交互,发送和接收ros消息,调用ros服务以及操作ros参数。

4、对于现有技术中存在如下缺陷:

5、1、在技术方面,目前的解决方案要求人机交互板开发人员具备较高水平的ros系统开发经验。这意味着在开发过程中,高度依赖ros提供的roslibjs软件库。此外,机器人主控板依赖于rosbridge提供的通信框架,这增加了一些复杂性。因此,开发人员需要在人机交互板和机器人主控板之间添加一个交互中间层,这可能增加开发成本。此外,由于技术的局限性,一旦决定更换其他人机交互板,就需要重新进行开发,这降低了技术的可移植性。

6、2、在效率方面,目前的技术方案使得人机交互板和机器人主控板之间的数据交互变得相对繁琐。人机交互板需要按照ros系统提供的交互方式添加一个交互中间层,这增加了额外的步骤和复杂性。


技术实现思路

1、本发明提出的一种应用于机器人的数据交互中间件,解决了如何降低人机交互板对于ros系统的耦合性,提高机器人主控板ros系统的内聚;如何提高人机交互板和机器人主控板的通信效率以及如何提高软件的可移植性的问题。

2、为了实现上述目的,本发明采用了如下技术方案:

3、一种应用于机器人的数据交互中间件,包括网络服务端、ros运行单元和数据转发组件,所述网络服务端作为中间件的核心部分,负责处理与外部系统之间的通信;其通过双向通信协议和http协议与外部进行通信,用于接收来自外部系统的请求,并向外部系统发送响应,双向通信协议提供了实时、全双工的通信能力,用于实时数据的传输和双向交互,同时通过http协议,其具备与现有web应用程序和服务进行集成的能力。

4、作为本发明的进一步方案,所述ros运行单元由ros订阅者和ros客户端构成,所述ros订阅者用于接收来自ros工控机内部的各种话题类型的消息,所述ros客户端则用于向ros工控机发送消息,例如发送控制指令、请求数据,所述ros运行单元使得交互中间件能够与ros系统进行无缝集成,实现与ros工控机的数据交换和控制功能。

5、作为本发明的进一步方案,所述数据转发组件用于处理ros客户端接收的消息数据和ros订阅者接收的报文,并将其转发为网络服务端所需的数据协议。

6、作为本发明的进一步方案,所述数据转发组件为数据协议转换的桥梁,确保ros系统中的消息和报文能够与网络服务端进行无缝对接。

7、作为本发明的进一步方案,所述数据转发组件用于解析ros客户端接收到的消息数据,提取其中的关键信息,并根据网络服务端所需的数据协议进行格式转换和封装。

8、作为本发明的进一步方案,所述数据转发组件也用于解析ros订阅者接收到的报文,提取其中的有效数据,并进行相应的处理和转发,通过数据转发组件的作用,交互中间件能够实现ros系统与网络服务端之间的数据交换和协议适配,无论是来自ros客户端的消息数据,还是来自ros订阅者的报文,都可以经过处理和转发,最终以适合网络服务端的数据协议进行传输和解析,通过数据协议转换的方式,交互中间件能够在确保数据完整性和一致性的同时,具有高效的数据传输和处理能力。

9、本发明的有益效果为:

10、1、本发明降低人机交互板开发人员对于ros系统的耦合性,提高机器人主控板ros系统的内聚性。

11、2、本发明提高人机交互板和机器人主控板的通信效率。

12、3、本发明提高软件的可移植性。



技术特征:

1.一种应用于机器人的数据交互中间件,包括网络服务端、ros运行单元和数据转发组件,其特征在于,所述网络服务端作为中间件的核心部分,负责处理与外部系统之间的通信;其通过双向通信协议和http协议与外部进行通信,用于接收来自外部系统的请求,并向外部系统发送响应,双向通信协议提供了实时、全双工的通信能力,用于实时数据的传输和双向交互,同时通过http协议,其具备与现有web应用程序和服务进行集成的能力。

2.根据权利要求1所述的一种应用于机器人的数据交互中间件,其特征在于,所述ros运行单元由ros订阅者和ros客户端构成,所述ros订阅者用于接收来自ros工控机内部的各种话题类型的消息,所述ros客户端则用于向ros工控机发送消息,例如发送控制指令、请求数据,所述ros运行单元使得交互中间件能够与ros系统进行无缝集成,实现与ros工控机的数据交换和控制功能。

3.根据权利要求2所述的一种应用于机器人的数据交互中间件,其特征在于,所述数据转发组件用于处理ros客户端接收的消息数据和ros订阅者接收的报文,并将其转发为网络服务端所需的数据协议。

4.根据权利要求3所述的一种应用于机器人的数据交互中间件,其特征在于,所述数据转发组件为数据协议转换的桥梁,确保ros系统中的消息和报文能够与网络服务端进行无缝对接。

5.根据权利要求4所述的一种应用于机器人的数据交互中间件,其特征在于,所述数据转发组件用于解析ros客户端接收到的消息数据,提取其中的关键信息,并根据网络服务端所需的数据协议进行格式转换和封装。

6.根据权利要求5所述的一种应用于机器人的数据交互中间件,其特征在于,所述数据转发组件也用于解析ros订阅者接收到的报文,提取其中的有效数据,并进行相应的处理和转发,通过数据转发组件的作用,交互中间件能够实现ros系统与网络服务端之间的数据交换和协议适配,无论是来自ros客户端的消息数据,还是来自ros订阅者的报文,都可以经过处理和转发,最终以适合网络服务端的数据协议进行传输和解析,通过数据协议转换的方式,交互中间件能够在确保数据完整性和一致性的同时,具有高效的数据传输和处理能力。


技术总结
本发明公开了一种应用于机器人的数据交互中间件,涉及数据交互技术领域,包括网络服务端、ROS运行单元和数据转发组件,所述网络服务端作为中间件的核心部分,负责处理与外部系统之间的通信;其通过双向通信协议和HTTP协议与外部进行通信,用于接收来自外部系统的请求,并向外部系统发送响应,双向通信协议提供了实时、全双工的通信能力,用于实时数据的传输和双向交互,同时通过HTTP协议,其具备与现有Web应用程序和服务进行集成的能力。本发明降低人机交互板开发人员对于Ros系统的耦合性,提高机器人主控板Ros系统的内聚性;提高人机交互板和机器人主控板的通信效率;提高软件的可移植性。

技术研发人员:沈一飞,季明清,黄谦德
受保护的技术使用者:霞智科技有限公司
技术研发日:
技术公布日:2024/1/5
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1