掌桥专利:专业的专利平台
掌桥专利
首页

机器人通信方法、装置、存储介质及设备

文献发布时间:2024-04-18 19:58:30


机器人通信方法、装置、存储介质及设备

技术领域

本发明涉及机器人控制技术领域,具体而言,涉及一种机器人通信方法、装置、存储介质及设备。

背景技术

现有的机器人的控制架构仅停留在对机器人本体的控制,而其他周边设备如相机、力传感器等都是作为独立设备,通过与机器人建立通信的方式,实现信息交互和控制,需要在多个不同的控制器以及不同的软件中对这些周边设备进行编程,造成了极高的编程复杂度。

当存在多相机、多力传感器时,即一个机器人需要与多设备进行信息交互时,顺序结构、树结构存在程序设计复杂、耦合严重、模块化困难的问题,由于这些问题,多用户编程也变得不可实现。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供了一种机器人通信方法、装置、存储介质及设备,以至少解决现有的机器人的控制方法对机器人本身及其相关设备编程复杂度高的技术问题。

根据本发明实施例的一个方面,提供了一种机器人通信方法,包括:接收目标设备的通信请求,并基于上述通信请求,确定通信协议;判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;将上述第二通信内容发送给上述目标设备。

可选的,上述接收目标设备的通信请求,并基于上述通信请求,确定通信协议,包括:确定上述通信请求中是否存在初始通信协议;若上述通信请求中不存在上述初始通信协议,则基于上述预设协议为上述目标设备生成目标通信协议,并将上述目标通信协议作为上述通信协议,其中,上述目标设备基于上述通信协议与机器人通信。

可选的,上述判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容,包括:在上述判断结果为上述通信协议与上述预设协议一致的情况下,获取上述通信请求中的第一通信内容。

可选的,在上述将上述第一通信内容发送给目标机器人之后,上述方法还包括:将上述第一通信内容发送给上述目标机器人的上述通信控制器;采用上述通信控制器处理上述第一通信内容,得到第一操作内容;控制上述目标机器人执行上述第一操作内容,得到第一操作结果。

可选的,在上述接受上述目标机器人返回的第二通信内容之前,上述方法还包括:将上述第一操作结果展示在显示服务器中;接收上述显示服务器中输入的第二操作内容;采用上述通信控制器处理上述第二操作内容,得到上述第二通信内容。

可选的,上述将上述第二通信内容发送给上述目标设备,完成通信,包括:基于上述通信协议,将上述第二通信内容发送给上述目标设备。

根据本发明实施例的另一方面,还提供了一种机器人通信装置,包括:接收模块,用于接收目标设备的通信请求,并基于上述通信请求,确定通信协议;判断模块,用于判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;第一发送模块,用于将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;第二发送模块,用于接收模块,用于将上述第二通信内容发送给上述目标设备。

根据本发明实施例的另一方面,还提供了一种非易失性存储介质,上述非易失性存储介质存储有多条指令,上述指令适于由处理器加载并执行任意一项上述的机器人通信方法。

根据本发明实施例的另一方面,还提供了一种处理器,上述处理器用于运行程序,其中,上述程序被设置为运行时执行任意一项上述的机器人通信方法。

根据本发明实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为运行上述计算机程序以执行任意一项上述的机器人通信方法。

在本发明实施例中,通过接收目标设备的通信请求,并基于上述通信请求,确定通信协议;判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;将上述第二通信内容发送给上述目标设备,达到了通过预设协议建立机器人与目标设备通信的目的,从而实现了通过设备即节点的方式,各类目标设备都可以挂载到控制架构上,统一在软件上进行编程的技术效果,进而解决了现有的机器人的控制方法对机器人本身及其相关设备编程复杂度高的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的机器人通信方法流程图;

图2是根据本发明实施例的一种可选的机器人通信系统结构示意图;

图3是根据本发明实施例的一种机器人通信装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

术语解释:

设备即节点:设备即节点的方式是指将物理设备作为网络中的节点,可以通过该设备进行数据传输和通信。每个设备都有一个唯一的标识符,可以通过该标识符来识别和寻址设备。设备可以通过有线或无线连接到网络,例如计算机、手机、传感器等。这种方式可以实现设备之间的直接通信,并且可以通过网络管理和控制设备。

传统的机器人程序在于多设备通信时,需要在程序中建立大量通信端口,与各设备通信,当需要对应设备信息时会采用socket通信等方式与设备交互,以相机为例,在需要相机拍照并给出结果时,机器人程序中需要先建立与相机通信,走到某个位姿停下,并向相机发送信息,然后等待接收相机返还结果后继续后续程序,当与大量设备交互时,机器人程序就变得冗长,不可维护。在本申请实施例中,设备间的通信通过数据流向线表达,由底层框架处理,程序可以实现片段化,机器人程序、相机程序、力控程序以及移动机器人程序可以在同一软件上处理。

根据本发明实施例,提供了一种机器人通信的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的机器人通信方法流程图,如图1所示,该方法包括如下步骤:

步骤S102,接收目标设备的通信请求,并基于上述通信请求,确定通信协议;

步骤S104,判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;

步骤S106,将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;

步骤S108,将上述第二通信内容发送给上述目标设备。

在本发明实施例中,上述步骤S102至S108中提供的机器人通信方法的执行主体为机器人通信系统,采用上述系统接收目标设备的通信请求,并基于上述通信请求,确定通信协议;判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;将上述第二通信内容发送给上述目标设备。

作为一种可选的实施例,如图2所示的机器人通信系统结构示意图,整个系统包括目标机器人至少一台(包含主控系统)、相机至少一台、力传感器至少一台、移动机器人至少一台。主控系统基于Linux实施内核,在其上构建了机器人控制模块(用于连接机器人硬件)、web服务后端和web服务前端。

可选的,web服务前后端开放了JAKA+生态通信协议,符合通信协议的设备可以通过节点挂载的形式向web服务器注册,经挂载的节点在web服务器后端可以实现与设备的实时通信、控制;在web前端可以实现实时渲染计算,如相机的实时图像、力传感器实时数据显示、移动机器人所在的地图以及当前地图定位等;用户通过手机、pad或者电脑在浏览器访问web服务器可以看到渲染的结果。

需要说明的是,可以采用自由的并发流模型,以独立的流与不同设备在信息流上进行信息传递,实现设备控制。由于各条流可以独立运行,使得复杂项目可以支持多用户编程各自子模块,加快开发效率。

通过本发明实施例,通过设备即节点的方式,各类设备都可以挂载到本控制架构上,所有的相机、力传感器以及其他机器人、甚至是异构机器人如移动机器人都可以统一在软件上进行编程。

在一种可选的实施例中,上述接收目标设备的通信请求,并基于上述通信请求,确定通信协议,包括:确定上述通信请求中是否存在初始通信协议;若上述通信请求中不存在上述初始通信协议,则基于上述预设协议为上述目标设备生成目标通信协议,并将上述目标通信协议作为上述通信协议,其中,上述目标设备基于上述通信协议与机器人通信。

作为一种可选的实施例,符合通信协议的设备可以通过节点挂载的形式向web服务器注册,以实现通信协议与预设协议是否一致。

在一种可选的实施例中,上述判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容,包括:在上述判断结果为上述通信协议与上述预设协议一致的情况下,获取上述通信请求中的第一通信内容。

作为一种可选的实施例,经挂载的节点在web服务器后端可以实现与设备的实时通信、控制;在判断结果为上述通信协议与上述预设协议一致的情况下,获取上述通信请求中的第一通信内容或操作内容,进而实现机器人与目标设备之间的通信,以及实现机器人对目标设备的控制或目标设备对机器人的控制。

在一种可选的实施例中,在上述将上述第一通信内容发送给目标机器人之后,上述方法还包括:将上述第一通信内容发送给上述目标机器人的上述通信控制器;采用上述通信控制器处理上述第一通信内容,得到第一操作内容;控制上述目标机器人执行上述第一操作内容,得到第一操作结果。

作为一种可选的实施例,在web前端可以实现实时渲染计算,如相机的实时图像、力传感器实时数据显示、移动机器人所在的地图以及当前地图定位等;并将渲染结果或定位结果等进行反馈。

在一种可选的实施例中,在上述接受上述目标机器人返回的第二通信内容之前,上述方法还包括:将上述第一操作结果展示在显示服务器中;接收上述显示服务器中输入的第二操作内容;采用上述通信控制器处理上述第二操作内容,得到上述第二通信内容。

在一种可选的实施例中,上述将上述第二通信内容发送给上述目标设备,完成通信,包括:基于上述通信协议,将上述第二通信内容发送给上述目标设备。

作为一种可选的实施例,将渲染结果或定位结果等反馈至显示服务器中,用户通过显示服务器,例如:手机、pad或者电脑在浏览器访问web服务器可以看到渲染的结果。

作为一种可选的实施例,经坐标系统标定的传感器可以实现感知数据共享。如装在机械臂末端的相机,装在机器人工作站上的相机以及装在车间天花板的防护相机,当与机器人基座或者末端坐标系标定后,rgb图像以及点云数据可以实现共享渲染。对于跨模态数据,如力传感器数据经跨模态处理后,将在图像上显示是否接触。

可选的,web后端框架支持并发处理,因此多条流可以同时运行,从而可以支持运动中采集图片等操作(如相机安装于机械臂末端,机械臂在持续运动中可以进行物体检测)。为提高编程、部署效率,还可以支持多用户并发编程。多用户可以编辑不同的流,但是同一条流存在编辑保护,即当前流正在编辑时,其他用户无法对该流进行编辑。

可选的,对于多个机器人的情况,若第二个机器人向第一个机器人进行注册,则两个机器人会形成计算资源池,若客户端访问任一机器人的web前端,前端状态均是同步的;后端会形成负载均衡系统。

通过上述步骤,基于web,用户可以用PC、手机、pad直接连接到机器人服务器,对该机器人以及所有挂载的其他设备进行编程控制。简化了数据流间的传递并且在一个软件中实现多传感器机器人系统的编程,简化了多机协作系统的编程;感知数据在系统间共享,大幅提升了机器人的感知能力。

根据本发明实施例,还提供了一种用于实施上述机器人通信方法的装置实施例,图3是根据本发明实施例的一种机器人通信装置的结构示意图,如图3所示,上述装置包括:接收模块30、判断模块32、第一发送模块34和第二发送模块36,其中:

接收模块30,用于接收目标设备的通信请求,并基于上述通信请求,确定通信协议;

判断模块32,用于判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;

第一发送模块34,用于将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;

第二发送模块36,用于接收模块,用于将上述第二通信内容发送给上述目标设备。

此处需要说明的是,上述接收模块30、判断模块32、第一发送模块34和第二发送模块36对应于实施例1中的步骤S102至步骤S108,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。

需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。

根据本发明的实施例,还提供了一种计算机可读存储介质的实施例。可选的,在本实施例中,上述计算机可读存储介质可以用于保存上述实施例1所提供的机器人通信方法所执行的程序代码。

可选的,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。

可选的,在本实施例中,计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:接收目标设备的通信请求,并基于上述通信请求,确定通信协议;判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;将上述第二通信内容发送给上述目标设备。

可选的,上述计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:确定上述通信请求中是否存在初始通信协议;若上述通信请求中不存在上述初始通信协议,则基于上述预设协议为上述目标设备生成目标通信协议,并将上述目标通信协议作为上述通信协议,其中,上述目标设备基于上述通信协议与机器人通信。

可选的,上述计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:在上述判断结果为上述通信协议与上述预设协议一致的情况下,获取上述通信请求中的第一通信内容。

可选的,上述计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:将上述第一通信内容发送给上述目标机器人的上述通信控制器;采用上述通信控制器处理上述第一通信内容,得到第一操作内容;控制上述目标机器人执行上述第一操作内容,得到第一操作结果。

可选的,上述计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:将上述第一操作结果展示在显示服务器中;接收上述显示服务器中输入的第二操作内容;采用上述通信控制器处理上述第二操作内容,得到上述第二通信内容。

可选的,上述计算机可读存储介质被设置为存储用于执行以下步骤的程序代码:基于上述通信协议,将上述第二通信内容发送给上述目标设备。

根据本发明的实施例,还提供了一种处理器的实施例。可选的,在本实施例中,上述计算机可读存储介质可以用于保存上述实施例1所提供的机器人通信方法所执行的程序代码。

本申请实施例提供了一种电子设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:接收目标设备的通信请求,并基于上述通信请求,确定通信协议;判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;将上述第二通信内容发送给上述目标设备。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:接收目标设备的通信请求,并基于上述通信请求,确定通信协议;判断上述通信协议与预设协议是否一致,得到判断结果,并基于上述判断结果,获取上述通信请求中的第一通信内容;将上述第一通信内容发送给目标机器人,并接受上述目标机器人返回的第二通信内容,其中,上述目标机器人采用通信控制器处理上述第一通信内容,并生成上述第二通信内容;将上述第二通信内容发送给上述目标设备。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-On ly Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

相关技术
  • 通信设备电源故障分析的方法、装置、设备及存储介质
  • 机器人主动问询方法、装置、电子设备及存储介质
  • 机器人控制方法、装置、智能设备和存储介质
  • 机器人交互方法、装置、计算机设备及可读存储介质
  • 机器人控制方法、装置、电子设备和计算机可读存储介质
  • 水下机器人群无线通信方法、装置、通信设备及存储介质
  • 水下机器人群无线通信方法、装置、通信设备及存储介质
技术分类

06120116499035