机器人及机器人通信系统的制作方法

文档序号:11297627阅读:211来源:国知局
机器人及机器人通信系统的制造方法与工艺

本实用新型涉及机器人领域,具体而言,涉及一种机器人及机器人通信系统。



背景技术:

机器人技术的发展是一个国家高科技水平和工业自动化程度的重要标志和体现。机器人在当前生产生活中的应用越来越广泛,正在替代人发挥着日益重要的作用。机器人技术是综合了计算机、控制论、机构学、信息和传感技术、人工智能、仿生学等多学科而形成的高新技术,集成了多学科的发展成果,代表高技术的发展前沿,是当前科技研究的热点方向。

智能机器人是第三代机器人,这种机器人带有多种传感器,能够将多种传感器得到的信息进行融合,能够有效的适应变化的环境,具有很强的自适应能力、学习能力和自治功能。

目前研制中的智能机器人智能水平并不高,只能说是智能机器人的初级阶段,在工业生产中,智能机器人在外部的通信较为简单的,传输的数据比较单一,通信效果差。

针对上述机器人的下位机与上位机之间通信效果差的问题,目前尚未提出有效的解决方案。



技术实现要素:

本实用新型实施例提供了一种机器人及机器人通信系统,以至少解决现有技术中机器人的下位机与上位机之间通信效果差的技术问题。

根据本实用新型实施例的一个方面,提供了一种机器人,包括:下位机,所述下位机中包括第一节点,其中,所述第一节点内集成有第一消息队列处理单元,其中,所述第一消息队列处理单元利用消息与所述上位机通信,所述消息中携带有来自所述上位机或所述机器人的待传输数据。

进一步地,所述机器人还包括:用于检测所述机器人的运行参数的传感器装置;所述下位机还包括:用于将所述运行参数上传至所述第一节点的第二节点。

进一步地,所述机器人还包括:用于输出所述第二节点接收的来自上位机的控制指令的输出接口;用于在所述控制指令的控制下运动的执行机构。

进一步地,所述传感器装置包括:用于检测机器人状态的内部传感器;用于检测机器人所处环境的外部传感器。

进一步地,所述内部传感器包括:用于检测机器人关节运行角度的角度传感器;用于检测机器人运动距离的位置传感器;用于检测机器人运动速度和加速度的速度和加速度传感器;用于检测机器人夹持某一物体所产生夹持力的力觉传感器;以及用于检测机器人关节转动所产生扭转力的扭力传感器和扭矩传感器;所述外部传感器包括:用于检测机器人在运动过程中与障碍物的距离,以及检测机器人在运动过程中与目标物体之间距离的距离传感器;用于检测机器人在工作环境中空气环境的温度传感器或湿度传感器;用于检测物体的位置、角度、距离的位置觉传感器;用于检测机器人与待夹持物体是否接触,以及接触位置的接触觉传感器;用于检测待机器人抓取的物体形状的形状觉传感器;以及用于检测机器人抓取的物体在垂直握持面方向的位移的滑觉传感器。

进一步地,所述第一消息队列处理单元包括:用于向第二消息队列处理单元发送机器人的运行参数和/或订阅信息的第一子单元;用于接收所述第二消息队列处理单元发送的控制指令和/或与所述订阅信息相对应的发布信息的第二子单元,其中,所述控制指令为所述上位机基于所述运行参数而生成,所述第二消息队列处理单元处于所述上位机中。

进一步地,所述第一消息队列处理单元为ZeroMQ单元。

根据本实用新型实施例的另一个方面,提供了一种机器人通信系统,包括:上位机,包括第二消息队列处理单元;机器人,其中,第一消息队列处理单元与所述第二消息队列处理单元利用消息建立所述上位机与所述机器人之间的通信。

进一步地,所述第二消息队列处理单元包括:用于接收所述第一消息队列处理单元发送的机器人的运行参数和/或订阅信息的第三子单元;用于向所述第一消息队列处理单元发送控制指令和/或与所述订阅信息相对应的发布信息的第四子单元,其中,所述控制指令为所述上位机基于所述运行参数而生成。

进一步地,所述第二消息队列处理单元为ZeroMQ单元。

在本实用新型实施例中,在机器人的下位机中设置有第一节点,并在该第一节点内设置第一消息队列处理单元,使机器人可以通过该第一消息队列处理单元在机器人的下位机和上位机之间传递消息,实现机器人的下位机和上位机之间的通信,接收来自机器人上位机的待传输数据,以及向上位机发送带传输数据,从而通过独立设置的第一消息队列处理单元,处理以及传输机器人上位机和下位机的消息,实现机器人的下位机和上位机之间的通信,解决现有技术中机器人的下位机与上位机之间通信效果差的技术问题。

附图说明

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

图1是根据本实用新型实施例的一种机器人的示意图;

图2是根据本实用新型实施例的一种机器人通信系统的示意图;

图3是根据本实用新型实施例的一种可选的机器人通信系统的示意图。

具体实施方式

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

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

图1是根据本实用新型实施例的一种机器人的示意图,包括:下位机13,下位机中包括第一节点1301,其中,第一节点内集成有第一消息队列处理单元1303,其中,第一消息队列处理单元利用消息与上位机通信,消息中携带有来自上位机或机器人的待传输数据。

在上述实施例中,机器人的下位机中设置有第一节点,并在该第一节点内设置第一消息队列处理单元,使机器人可以通过该第一消息队列处理单元在机器人的下位机和上位机之间传递消息,实现机器人的下位机和上位机之间的通信,接收来自机器人上位机的待传输数据,以及向上位机发送带传输数据,从而通过独立设置的第一消息队列处理单元,处理以及传输机器人上位机和下位机的消息,实现机器人的下位机和上位机之间的通信,解决现有技术中机器人的下位机与上位机之间通信效果差的技术问题。

需要说明的是,下位机是直接控制机设备,获取设备状况的计算机,通常可以采用单片机这一类装置。

可选地,下位机与上位机之间的通信利用消息进行,其中,该消息在下位机与上位机之间传输可以采用ZeroMQ实现。

需要说明的是,ZeroMQ,即Zero Message Queue,中文名称是零消息队列,是一个简单好用的传输层,像框架一样的一个套接字库,他使得套接字的编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZeroMQ是网络协议栈中新的一层,是个可伸缩层,分散在分布式系统间,可支持任意大的应用程序,并且ZeroMQ定义了分布式系统的全局拓扑,还可以在多个线程、内核和主机盒之间弹性伸缩。

与其他消息中间件相比,ZeroMQ并不像是一个传统意义上的消息队列服务器,事实上,它也根本不是一个服务器,它更像是一个底层的网络通讯库,在套接字接口之上做了一层封装,将网络通讯、进程通讯和线程通讯抽象为统一的接口。

需要进一步说明的是,ZeroMQ将消息通信分成多种模型,包括一对一结对模型 (Exclusive-Pair)、请求回应模型(Request-Reply)、发布订阅模型 (Publish-Subscribe)、以及推拉模型(Push-Pull),在实际中的可以根据应用需要,组合其中的多种模型形成自己的解决方案。

可选地,一对一结对模型(Exclusive-Pair),是最简单的1:1消息通信模型,可以认为是一个TCP连接,但是TCP服务器智能接收一个连接,其中,连接内的数据可以双向流动。

可选地,请求回应模型(Request-Reply),是由请求端发起请求,然后等待回应端应答。一个请求必须对应一个回应,从请求端的角度来看是发-收配对。从回应端的角度是收-发配对。跟一对一结对模型的区别在于请求端可以是一个或多个,其中,该模型主要用于远程调用及任务分配等。

可选地,发布订阅模型(Publish-Subscribe),是发布端单向分发数据,且不关心是否把全部信息发送给订阅端。如果发布端开始发布信息时,订阅端尚未连接上来,则这些信息会被直接丢弃,由于订阅端未连接导致信息丢失的问题,可以通过与请求回应模型组合来解决,但是订阅端只负责接收而不能反抗,且在订阅端消费速度慢于发布端的情况下,会在订阅端堆积数据,其中,该模型主要用于数据分发。

在上述实施例中,发布端可以是上位机,订阅端可以是下位机。

可选地,推拉模型(Push-Pull),可以将服务端(Server端)作为推送(Push) 端,将客户端(Client端)作为拉取(Pull)端,若有多个客户端同时连接到一个服务端,则服务端会在内部做一个负载均衡,可以采用平均分配的算法,将所有消息均衡发布到客户端上,与发布订阅模型相比,推拉模型在没有消费者的情况下,发布的信息不会被消耗掉,在消费能力不足的情况下,能够提供多消费者并行消费解决方案,其中,该模型主要用于多任务并行。

在上述实施例中,服务端可以是下位机,客户端可以是上位机。

在一个可选的实施例中,待传输数据包括下述至少之一:来自下位机的机器人的运行参数;来自上位机的发布信息,其中,发布信息为下位机订阅的信息;以及来自上位机的控制指令。

具体地,在机器人中进行通信的消息中包括待传输数据,并且,待传输数据可以包括一个或多个类型,各类型的数据可以在待传输数据中共同传输,还可以在待传输数据中单独传输,其中,一个或多个类型的待传输数据,可以是通过下位机采集的机器人的运行参数;可以是由上位机发布并由下位机订阅的消息信息;还可以是通过上位机发出的用于控制机器人运动或工作的控制指令。在机器人中通过上述待传输数据,将各类型的数据在机器人的下位机和上位机之间传递,实现机器人的下位机与上位机之间的通信。

作为一个可选的实施例,机器人还包括:用于检测机器人的运行参数的传感器装置;下位机还包括:用于将运行参数上传至第一节点的第二节点。

具体地,在机器人中还设置有传感器装置,以及第二节点,其中,第二节点设置在下位机上,并且该第二节点设置在第一节点与传感器装置之间,可以获取传感器装置检测的消息,再将该消息通过包装等方式处理,将包装后的消息上传至第一节点内,让机器人可以在后续处理中,从而完成机器人的上位机与传感器装置的通信。

可选地,机器人通过传感器装置检测自身的运行参数,可以使上位机或其他可以分析机器人运行状态的装置对该运行参数的分析,得知机器人的运行状态,以便根据该运行状态发出准确的控制指令;并且,通过传感器装置检测机器人的运行参数,可以将机器人的运行状态准确地用数据形式表示,便于将机器人的运行状态传输至上位机或其他可以分析或控制机器人运行状态的装置内。

可选地,在机器人的下位机中还设置有第二节点,该第二节点接收从机器人的传感器装置中检测到的机器人的运行参数,并将该运行参数上传至第一节点,可以为第一节点与上位机之间的通信提供基础来源的数据,从而使上位机可以接收到通过第一节点和第二节点传输的机器人的运行状态参数,便于上位机准确获知机器人的运行状态。

可选地,机器人的下位机中的第二节点还可以接收来自上位机的控制指令,控制机器人可以按照该控制指令的指示进行工作。

一个可选的实施例,机器人还包括:用于输出第二节点接收的来自上位机的控制指令的输出接口;用于在控制指令的控制下运动的执行机构。

具体地,在机器人中还设置有输出接口,机器人通过输出接口将第二节点接收到的来自上位机的控制指令输出至执行机构中,使执行机构能够执行控制指令,控制机器人按照控制指令动作,其中,执行机构是机器人中执行控制指令的动作机构,执行机构在控制指令的控制下执行规定的动作,从而使机器人在控制指令的控制下动作。

可选地,在机器人的下位机中,第二节点与末端的传感器装置和执行机构之间可以采用ROS。

需要说明的是,ROS,全称是Robot Operating System,中文名称是机器人操作系统,是一个开源的机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。

ROS是一种得到广泛使用的机器人操作与控制系统软件框架,该框架使用了当前最流行的面向服务(SOA)的软件技术,通过网络协议将节点间数据通信解耦。这样就能够轻松地集成不同语言不同功能的代码。基于上述方案,可以在不同的机器人上分享和复用已经实现的功能,而不需要做太多重复工作,避免了重复劳动。

ROS可以不断的从社区维护中进行升级,包括从其他的软件库、应用补丁中升级 ROS的源代码。ROS可以最大程度的适合使用者对其进行开发及应用。

可选地,在机器人的下位机中,第二节点与末端的传感器装置和执行机构之间的通信可以采用发布订阅模型来实现

作为一个可选的实施例,传感器装置包括:用于检测机器人状态的内部传感器;用于检测机器人所处环境的外部传感器。

具体地,传感器装置是用于根据机器人的运动状态检测机器人运行参数的装置,其中,传感器装置包括内部传感器和外部传感器,机器人的内部传感器用于检测的运行参数中包括记录机器人自身运动状态的运行参数;机器人的外部传感器用于检测机器人进行运动的环境信息和机器人在运动过程中的状态,通过内部传感器和外部传感器分别检测机器人的运动状态,能够使传感器装置检测的机器人的运行参数更准确。

一个可选地实施例,用于检测机器人本身状态的内部传感器包括:用于检测机器人关节运行角度的角度传感器;用于检测机器人运动距离的位置传感器;用于检测机器人运动速度和加速度的速度和加速度传感器;用于检测机器人夹持某一物体所产生夹持力的力觉传感器;用于检测机器人关节转动所产生扭转力的扭力传感器和扭矩传感器。通过内部传感器检测机器人自身的运行参数,可以准确获知机器人自身的运动状态,便于准确控制机器人。

可选地,机器人是由计算机控制的复杂机器,具有类似人的肢体机感官功能,在实际应用过程中,通过在机器人上设置外部传感器,检测机器人所处环境及状况,可以在机器人在运动过程中自动进行识别,使机器人可以充分地完成复杂的工作,减少对人的依赖。

作为一个可选的实施例,用于检测机器人所处环境的外部传感器包括:用于检测机器人在运动过程中与障碍物的距离,以及检测机器人在运动过程中与目标物体之间距离的距离传感器;用于检测机器人在工作环境中空气环境的温度传感器或湿度传感器;用于检测物体的位置、角度、距离的位置觉传感器;用于检测机器人与待夹持物体是否接触,以及接触位置的接触觉传感器;用于检测待机器人抓取的物体形状的形状觉传感器;以及用于检测机器人抓取的物体在垂直握持面方向的位移的滑觉传感器。

在一个可选的实施例中,第一消息队列处理单元包括:用于向第二消息队列处理单元发送机器人的运行参数和/或订阅信息的第一子单元;用于接收第二消息队列处理单元发送的控制指令和/或与订阅信息相对应的发布信息的第二子单元,其中,控制指令为上位机基于运行参数而生成,第二消息队列处理单元处于上位机中。

具体地,在下位机的第一消息队列处理单元中设置第一子单元和第二子单元,在上位机中设置第二消息队列处理单元,其中,第一子单元将表示机器人运动状态的运行参数发送至上位机的第二消息队列处理单元中,上位机的处理器基于该运行参数生成控制机器人运动的控制指令,并通过第二消息队列处理单元将该控制指令发送,再由第一消息队列处理单元中的第二子单元接收,从而实现了机器人下位机与上位机之间通信。

作为一个可选的实施例,第一消息队列处理单元包括:用于向第二消息队列处理单元发送订阅信息的第一子单元;用于接收第二消息队列处理单元发送的发布信息的第二子单元,其中,发布信息与订阅信息相对应,第二消息队列处理单元处于上位机中。

具体地,在下位机的第一消息队列处理单元中设置第一子单元和第二子单元,在上位机中设置第二消息队列处理单元,其中,第一子单元将表示机器人运动状态的订阅信息发送至上位机的第二消息队列处理单元中,上位机的处理器基于该运行参数生成控制机器人运动的控制指令,并通过第二消息队列处理单元发送该控制指令的发布信息,再由第一消息队列处理单元中的第二子单元订阅,从而实现了机器人下位机与上位机之间通信。

可选地,在下位机的第一消息队列处理单元中设置第一子单元和第二子单元,在上位机中设置第二消息队列处理单元,其中,第一子单元将表示机器人运动状态的运行参数通过推送至上位机的第二消息队列处理单元中,上位机的处理器基于该运行参数生成控制机器人运动的控制指令,并通过第二消息队列处理单元发送该控制指令的发布信息,再由第一消息队列处理单元中的第二子单元订阅,从而实现了机器人下位机与上位机之间通信。

一个可选的实施例,第一消息队列处理单元为ZeroMQ单元。

图2是根据本实用新型实施例的一种机器人通信系统的示意图,如图2所示,包括:上位机21,包括第二消息队列处理单元2101;上述任意一个实施例的机器人23,其中,第一消息队列处理单元2301与第二消息队列处理单元利用消息建立上位机与机器人之间的通信。

在上述实施例中,机器人的通信系统中包括上位机和机器人,在机器人的下位机中设置有第一节点,并在该第一节点内设置第一消息队列处理单元,使机器人可以通过该第一消息队列处理单元在机器人的下位机和上位机之间传递消息,实现机器人的下位机和上位机之间的通信,接收来自机器人上位机的待传输数据,以及向上位机发送带传输数据,从而通过独立设置的第一消息队列处理单元,处理以及传输机器人上位机和下位机的消息,实现机器人的下位机和上位机之间的通信,解决现有技术中机器人的下位机与上位机之间通信效果差的技术问题。

在一个可选的实施例中,第二消息队列处理单元包括:用于接收第一消息队列处理单元发送的机器人的运行参数和/或订阅信息的第三子单元;用于向第一消息队列处理单元发送控制指令和/或与订阅信息相对应的发布信息的第四子单元,其中,控制指令为上位机基于运行参数而生成。

具体地,在上位机的第二消息队列处理单元中设置第三子单元和第四子单元,在下位机中设置第一消息队列处理单元,其中,第三子单元接收由下位机的第一消息队列处理单元发送的机器人的运行参数,使上位机的处理器基于该运行参数生成控制机器人运动的控制指令,并通过第四子单元将控制指令发送至第一消息队列处理单元,从而实现了机器人下位机与上位机之间通信。

作为一个可选的实施例中,第二消息队列处理单元包括:用于接收第一消息队列处理单元发送的订阅信息的第三子单元;用于向第一消息队列处理单元发送发布信息的第四子单元,其中,发布信息与订阅信息相对应。

可选地,在上位机的第二消息队列处理单元中设置第三子单元和第四子单元,在下位机中设置第一消息队列处理单元,其中,第三子单元接收由下位机的第一消息队列处理单元发送的机器人的订阅信息,使上位机的处理器基于该运行参数生成控制机器人运动的控制指令,并通过第四子单元通过发布信息的形式,将控制指令发送至第一消息队列处理单元,从而实现了机器人下位机与上位机之间通信。

一个可选的实施例,第二消息队列处理单元为ZeroMQ单元。

图3是根据本实用新型实施例的一种可选的机器人通信系统的示意图,如图3所示,包括:上位机31、下位机33、执行机构35、以及传感器装置37,其中,在上位机内设有第二消息队列处理单元3101,并在第二消息队列处理单元中设置第三子单元 3105和第四子单元3103;在下位机中设置有第一节点3311和第二节点3313,在第一节点内还设有第一消息队列处理单元3301,并且在该第一消息队列处理单元内还设有第一子单元3305和第二子单元3303。

一个可选的实施例,第二节点可以接收传感器装置检测的运行参数,还可以向执行机构发送来自上位机的控制指令。

另一个可选的实施例,第二节点可以将来自传感器装置的运行参数打包成消息发布给第一节点,还可以订阅来自第一节点的携带有上位机控制指令的消息,从而可以通过第二节点实现底端的传感器和执行机构与下位机中第一节点的通信。

需要说明的是,在第一节点的第一消息队列处理单元中包括第一子单元和第二子单元,其中,第一子单元订阅来自第二节点的包含运行参数的消息,第二子单元将上位机的控制指令解释成消息发布。

可选地,第一节点与第二节点之间的通信在ROS平台进行。

作为一个可选的实施例,上位机与下位机的通信,可以通过上位机内的第二消息队列处理单元与下位机第一节点中的第一消息队列处理单元的通信完成。

具体地,第一消息队列处理单元中的第一子单元订阅来自传感器装置的消息,并将该消息打包成ZeroMQ数据包推送至第三子单元中;第二子单元订阅来自上位机发布的控制指令,并将该控制指令解释成消息发布。

需要说明的是,上位机与下位机的通信可以通过ZeroMQ实现,其中,第一子单元与第三子单元之间可以通过PUSH-PULL模型完成通信;第二子单元与第四子单元之间可以通过PUB-SUB模型完成通信。

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

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

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

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

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

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

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1