机器人通信方法、机器人通信系统及机器人与流程

文档序号:18297839发布日期:2019-07-31 09:38阅读:653来源:国知局
机器人通信方法、机器人通信系统及机器人与流程

本发明实施例涉及通信技术领域,特别是涉及一种机器人通信方法、机器人通信系统及机器人。



背景技术:

机器人内部通信是机器人控制中必不可少的技术环节。目前国际上没有专门用于机器人控制系统的内部通信标准,在实际应用中,通常根据机器人的系统需求,把一些总线,例如,以太网、can、usb、rs-485等用于机器人系统中。目前大部分的通信控制总线可以归为两大类:基于rs-485串行总线技术和基于以太网的串行总线技术。

本发明的发明人在实现本发明实施例的过程中,发现,目前的机器人控制系统中的总线通信技术通信带宽小,通信不可靠。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种机器人通信方法、机器人通信系统及机器人。

为解决上述技术问题,本发明实施例采用的一个技术方案是:提供一种机器人通信方法,应用于通信环网络,该通信环网络由至少两个节点组成,各节点间通过电力载波通信进行数据传输,该方法包括:从通信环网络的多个节点中选举生成管理节点,由管理节点生成令牌;管理节点生成通信环网络中所有节点的地址列表并广播该地址列表,其中,该地址列表中按顺序存储有通信环网络中所有节点的地址;持有令牌的节点作为发送节点,当存在待发送数据包时,发送节点按照地址列表将待发送数据包发送给下一节点;通信环网络中的其他节点按照地址列表依次传输待发送数据包。

可选的,从通信环网络的节点中选举生成管理节点进一步包括:节点设置有选举定时器,每一节点在选举定时器超时前接收其他节点发送的选举报文,该选举报文携带发送该选举报文的节点的优先级;如果通信环网络的其他节点的优先级均低于本节点的优先级,则确定本节点为管理节点。

可选的,如果通信环网络的其他节点中,存在至少一个节点的优先级与本节点的优先级相同,且其他节点的优先级均低于本节点的优先级,则当本节点的地址大于至少一个节点的地址时,确定本节点为管理节点。

可选的,当不存在待发送数据包时,发送节点按照地址列表将令牌发送给下一节点,以使下一节点成为新的发送节点;当待发送数据包发送成功后,发送节点按照地址列表将令牌发送给下一节点,以使下一节点成为新发送节点。

可选的,下一节点接收到令牌后,向发送节点回复确认消息;如果发送节点未接收到确认消息,则将令牌传递给下一节点的下一节点。

可选的,节点设置有发送定时器,节点在作为发送节点时,在发送定时器超时前发送待发送数据包。

可选的,待发送数据包携带目的地址;该方法进一步包括:接收到待发送数据包的节点判断目的地址是否与本节点地址一致,若一致,则读取待发送数据包中的数据。

可选的,在发送节点的缓冲区中存储有待发送数据包中数据的备份;该方法进一步包括:在接收到在通信环网络中传输一周并返回发送节点的待发送数据包时,确认待发送数据包中的数据是否有误,若有误则重发缓冲区中的数据的备份给下一节点,否则释放缓冲区中的数据的备份。

可选的,管理节点设置有令牌定时器,如果管理节点在令牌定时器超时前,没有再次接收到令牌,则清除通信环网络上的令牌,并重新生成一个令牌。

可选的,该方法进一步包括:在广播地址列表后,如果在若干次令牌定时器超时前,没有任何一个节点接收到地址列表,则重新选举生成管理节点。

为解决上述技术问题,本发明实施例采用的另一个技术方案是:提供一种机器人通信系统,该机器人包括多个节点,每个节点包括传感器或控制器、以及与传感器或控制器连接的电力载波通信模块,每个电力载波通信模块通过电力线与电源连接,多个节点组成通信环网络,各节点间通过电力载波通信进行数据传输。

为解决上述技术问题,本发明实施例的再一个技术方案是:提供一种机器人,该机器人包括上述机器人通信系统。

本发明实施例的有益效果是:区别于现有技术的情况,本发明实施例通过设置与各传感器或控制器节点连接的电力载波通信模块,每个所述电力载波通信模块通过电力线与电源连接,并将机器人中的各节点组成通信环网络,各节点间通过电力载波通信进行数据传输,利用电力线通信,且通信环网络的节点中选举生成管理节点,由管理节点生成令牌,持有令牌的节点可以发送数据,实现了机器人的可靠通信。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施例。

附图说明

通过阅读下文优选实施例的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施例的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是本发明一种机器人通信方法实施例所应用的机器人的结构示意图;

图2是本发明一种机器人通信方法实施例的流程图;

图3是本发明一种机器人通信方法实施例中通信环网络的示意图;

图4是本发明一种机器人通信方法另一实施例的流程图;

图5是是本发明一种机器人通信系统实施例的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

本发明实施例中的机器人通信方法的应用环境可以是机器人本体,也可以是机器人的机械臂,以机器人本体为例,图1为本发明一种机器人通信方法实施例所应用的机器人的结构示意图,如图1所示,该机器人包括多个节点60,每个节点60包括传感器或控制器601,以及与传感器或控制器601连接的电力载波通信模块602,每个电力载波通信模块602通过电力线603与电源604连接,多个节点60组成通信环网络,各节点60间通过电力载波通信进行数据传输。其中,节点60是指机器人内部的多个执行器,节点可以用以表示机器人的关节,也可用于表示机器人的器官,例如,眼睛。

图2为本发明一种机器人通信方法实施例的流程图。如图2所示,该方法包括以下步骤:

步骤s101:从通信环网络的节点中选举生成管理节点,由管理节点生成令牌。

图3为本发明一种机器人通信方法实施例中通信环网络的示意图,如图3所示,节点的数量为至少两个,至少两个节点组成通信环网络,该通信环网络是一个逻辑环网络,即把所有节点在通信逻辑上组成一个环。管理节点是通信环网络中优先级最高的节点,管理节点可以进行通信环网络的初始化以及通信环网络的维护。其中,各节点的优先级是指各节点包含的电力载波通信模块的优先级,各节点优先级可以根据机器人控制的需求进行设定。在通信环网络中,管理节点是从通信环网络的多个节点中选举生成的。

在本实施例中,从通信环网络的多个节点中选举生成管理节点进一步包括:

节点设置有选举定时器,每一节点在选举定时器超时前接受其他节点发送的选举报文,选举报文携带发送该选举报文的节点的优先级;如果通信环网络中的其他节点的优先级均低于本节点的优先级,则确定本节点为管理节点。

其中,选举定时器可以保证通信环网络的通信效率,避免通信环网络中的节点一直处于选举管理节点的状态。通信环网络中每一个节点上电完成自检后,均会向通信环网络中的其他节点发出选举报文,并同时开启选举定时器。选举报文以数据包的形式发送和接收,数据包中包括包头边界标识、目的地址和源站地址三个字段,三个字段用以表示该节点的优先级。值得说明的是,该数据包所包含的字段适用于通信环网络中的所有信息发送。例如,待发送数据包的发送、令牌的发送。具体字段请参阅表1:

表1

在选举报文中,目的地址全为1,用以表示广播地址,即所有节点均会收到该选举报文。每一个节点接收到其他节点发送的选举报文后,与本节点自身的优先级做比较,如果其他节点的优先级均低于本节点的优先级,则本节点成为管理节点。

在另外一些实施例中,如果通信环网络的其他节点中,存在至少一个节点的优先级与本节点的优先级相同,且其他节点的优先级均低于本节点的优先级,则当本节点的地址大于与本节点的优先级相同的该节点的地址时,确定本节点为管理节点。

其中,选举报文中包括源站地址,即本节点的物理地址,该节点的物理地址唯一,当优先级一致时,物理地址大的节点为管理节点。

管理节点选举生成后,由管理节点生成通信环网络的令牌,该令牌在通信环网络中唯一,令牌相当于一个互斥锁,拥有令牌的节点可以发送数据,优先级高的节点可以优先使用令牌。

步骤s102:管理节点生成通信环网络中所有节点的地址列表并广播该地址列表。

在步骤s101中,管理节点收到其他节点发送的选举报文,根据选举报文中包含的源站地址生成通信环网络中所有节点的地址列表,该地址列表中按节点的优先级顺序存储有通信环网络中所有节点的地址,该地址列表可以定期更新,例如,当有新的节点加入时,管理节点可以更新该地址列表。管理节点将生成的地址列表在通信环网络中广播,以使通信环网络中的每一节点都有一份同样的地址列表,以使每一节点可以根据该地址列表进行数据包和令牌的传输。

步骤s103:持有令牌的节点作为发送节点,当存在待发送数据包时,发送节点按照地址列表将待发送数据包发送给下一节点。

发送节点是指发送数据的节点,持有令牌的节点可以发送数据。待发送数据包是指需要与其他节点通信的通信数据包。值得说明的是,在各节点上电完成管理节点选举后,管理节点是通信环网络中第一个发送待发送数据包的节点,因为在选举产生管理节点后,管理节点生成令牌,所以管理节点优先持有令牌,因此,管理节点优先作为发送节点,将待发送数据包按照地址列表发送给下一节点。

步骤s104:通信环网络中的其他节点按照地址列表依次传输待发送数据包。

待发送数据包携带该待发送数据包中的数据的目的地址(如表1所示),该待发送数据包按照地址列表对应的节点顺序依次传输,以将该待发送数据发送至目的地址对应的节点。

其中,接收到待发送数据包的节点判断目的地址是否与本节点地址一致,若一致,则读取该待发送数据包中的数据,如果不一致,则将待发送数据包按照地址列表依次发送给下一节点。

步骤s403:当不存在待发送数据包时,发送节点按照地址列表将令牌发送给下一节点,以使下一节点成为新发送节点。

如果发送节点不存在待发送数据包,则将令牌传递给地址列表中对应的下一节点,以使下一节点能够发送数据,并返回步骤s103。可以理解的是,一般需要先判断发送节点是否存在待发送数据,若存在待发送数据,则按照步骤s103执行;若不存在待发送数据,则按照步骤s403执行。

步骤s405:当待发送数据包发送成功后,发送节点按照地址列表将令牌发送给下一节点,以使下一节点成为新的发送节点。

待发送数据包是否发送成功由发送节点确定。发送节点的缓冲区中存储有待发送数据包中数据的备份,当待发送数据包在通信环网络中环绕一周后,返回发送节点,发送节点确认待发送数据包中的数据是否有误,若无误,则确定待发送数据包发送成功,释放缓冲区中的数据的备份。若有误,则重新发送缓冲区中的数据的备份给下一节点。

当数据发送成功后,下一节点持有令牌,并返回步骤s103。

在一些实施例中,发送节点设置有发送定时器,该发送定时器规定了该发送节点的令牌持有时间,当节点作为发送节点时,需在发送定时器超时前发送待发送数据包。如果发送节点在一个待发送数据包发送成功后,该发送节点仍然存在未发送的数据,则在发送定时器超时前,该发送节点可以继续发送未发送的数据,如果此时发送定时器超时,则该节点即使存在未发送数据,也不可以发送,需等到下一次获得令牌时,方可发送。

本发明实施例从通信环网络的节点中选举生成管理节点,由管理节点生成令牌及通信环网络中所有节点的地址列表,持有令牌的节点可以发送数据,数据按照地址列表依次传输。由此解决了机器人通信不可靠的问题。此外,在发送数据包发送成功或发送节点不存在待发送数据包时,将令牌传给下一节点,以使下一节点能够发送数据,由此提高了通信环网络上数据传输的效率。

图4为本发明一种机器人通信方法又一实施例的流程图。如图4所示,本发明实施例与上一实施例的不同之处在于,本发明实施例除包含上一实施例中的步骤外,还包括以下步骤:

步骤s506:下一节点接收到令牌后,向发送节点回复确认消息。

发送节点将令牌发送给下一节点时,令牌以令牌包的形式发送,令牌包中携带包循环校验位(如表1所示),在令牌包中,包循环校验位用于要求下一节点回复确认消息,在本发明实施例中,令牌包中的包循环校验位置为1,包循环校验位的值可以由本发明领域的技术人员在实施本发明实施例时设置,本发明并不以此为限。下一节点接收到令牌后,向发送节点回复确认消息,确认消息同样以数据包形式发送,数据包中包尾边界标识,用于通知发送节点令牌已收到。

步骤s507:发送节点判断是否接收到该确认消息,若是,执行步骤s508,若否,执行步骤s509。

步骤s508:确定令牌发送成功。

如果发送节点接收到确认消息,则确定令牌发送成功。

步骤s509:将令牌传递给下一节点的下一节点。

如果发送节点没有接收到确认消息,则确定下一节点崩溃,则将令牌传递给下一节点的下一节点,以此类推,直到接收到确认消息。

下一节点的下一节点接收到令牌后,返回执行步骤s103。

本发明实施例在令牌传递给下一节点时,要求下一节点向发送节点回复确认消息,从而增加了令牌传递的可靠性。

在另外一些实施中,管理节点设置有令牌定时器,如果管理节点在令牌定时器超时前,没有再次接收到令牌,则清除通信环网络上的令牌,并重新生成一个令牌。

令牌管理节点通过令牌定时器检测令牌是否丢失,令牌定时器设定的时间大于令牌在通信环网络上传递一周的时间。如果在令牌定时器超时前,管理节点没有再次接收到令牌,则认为令牌丢失,管理节点则将通信环网络上传递的令牌清除,并重新生成一个令牌。

考虑到管理节点未检测到令牌,可能是由于管理节点故障,因此,在广播所述地址列表后,如果在若干次令牌定时器超时前,没有任何一个节点接收到所述地址列表,则重新选举生成管理节点。

本发明实施例在管理节点设置令牌定时器,用以检测令牌是否丢失,并在令牌丢失时重新生成令牌。此外,为了避免管理节点故障,在若干次令牌定时器超时前,如果没有任何一个节点接收到管理节点广播的地址列表,则重新选取管理节点。通过本发明实施例,可以增加令牌传递的可靠性。

图5是本发明一种机器人通信系统实施例的结构示意图,如图5所示,该机器人通信系统中,机器人包括多个节点60,每个节点包括传感器或控制器601、以及与传感器或控制器601连接的电力载波通信模块602,每个电力载波通信模块602通过电力线603与电源604连接,多个节点60组成通信环网络,各节点60通过电力载波通信进行数据传输。

本发明实施例从通信环网络的节点中选举生成管理节点,由管理节点生成令牌及通信环网络中所有节点的地址列表,持有令牌的节点可以发送数据,数据按照地址列表依次传输。由此解决了机器人通信不可靠的问题。此外,本发明实施例与传统的使用总线通讯的方式相比,不用额外设置数据线,布线更简单。

本发明实施例还提供了一种机器人,该机器人包括上述实施例中的机器人通信系统。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施例。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施例的权利要求书由此明确地并入该具体实施例,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一种机器人通信系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

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