一种多机器人实时同步运动的方法与流程

文档序号:16216830发布日期:2018-12-08 08:31阅读:836来源:国知局
一种多机器人实时同步运动的方法与流程
本发明涉及智能机器人
技术领域
,具体涉及一种多机器人实时同步运动的方法。
背景技术
多台机器人一起同步表演,是一件特别酷的事情,非常具有观赏性和趣味性。但是如何实现多(台)机器人实时同步运动,并实现稳定性,仍然是目前需要解决的问题。技术实现要素:为解决上述技术问题,本发明的目的在于提出一种多机器人实时同步运动的方法,其能够实现多台机器人稳定性的实时同步运动表演。所采用的技术方案为:一种多机器人实时同步运动的方法,包括如下步骤:s1.对每台机器人进行did大小编排;s2.实时指定其中一did值的机器人为主参考对象,并广播同步动作的数据信息;s3.其他机器人以指定的机器人为主参考对象,实时获取该指定的机器人的动作数据信息,进行同步动作;s4.如果有机器人动作与指定的机器人的动作不一致,则自动执行协调方法;如果当期指定的机器人出现故障,则自动退出did值,重新选定其中的另外一did值的机器人为主参考对象后,循环执行s3和s4。进一步地,s4中自动执行协调方法是自动重新获取指定的机器人的动作数据信息,重新进行同步动作。进一步地,s2中选择did值最小的机器人为主参考对象;则s4中重新选定did值次小的机器为主参考对象。进一步地,s4中还包括如果新加入的机器人did值比指定机器人的did值小,则新加入的机器人在获取当前指定的机器人的动作数据信息,保持动作一致性后再进入s2中,选择did值最小的机器人为主参考对象。进一步地,s2中,以每台机器人发送did广播信息给其他所有机器人,并接收其他所有机器人的did信息,判断did值是否最小,实现实时指定选择did值最小的机器人为主参考对象。本发明的有益效果在于:通过对不同did值的机器人进行大小编排,然后根据从中选择一台机器人为主参考对象,其他机器人以指定的机器人为参考对象进行同步动作,如果有机器人动作与指定的机器人的动作不一致,则自动执行协调方法,从而实现多台机器人同步运动表演,并实时调节实现稳定性。附图说明图1为实施例1的一种多机器人实时同步运动的方法的流程图。图2为实施例2的一种多机器人实时同步运动的方法的流程图。具体实施方式下面结合附图对本发明进行进一步详细的阐述,但本发明的保护范围并不局限于此。实施例1参见图1所示,一种多机器人实时同步运动的方法,包括如下步骤:s1.对每台机器人进行did大小编排;由于每台机器人出厂时都会有一个唯一的设备编号如did,我们根据did规定did的大小编排方法,保证每一台设备处于不同的等级,即不同did值处于不同的等级。s2.实时指定其中一did值的机器人为主参考对象,并广播同步动作的数据信息;最为优选地,本实施例是选择did值最小的机器人为主参考对象;这样,可以设置did值最小的机器人为等级最高,并依据did值大小来设置从高到低的等级。而且did值最小的判断,比中值(中间的一个值)的判断速度更快,中值的判断有大和小的两层选择判断,因此速度较慢。为实现多台机器人自动判断did值最小的机器人,并自动选择该did值最小的机器人为主参考对象,可以采用如下步骤:s21.每台机器人发送did广播信息给其他所有机器人,并接收其他所有机器人发送的did信息,s22.每台机器人判断是否自身的值是否是所有机器人中的did值最小,等级最高,如果不是,则停止发送did广播信息,并保持接收广播数据;如果是,则作为主参考对象,继续发送did广播信息,以及广播发送同步动作数据信息。s3.其他机器人以指定的机器人为主参考对象,实时获取该指定的机器人的动作数据信息,进行同步动作;也就是此时,其他机器人以did值最小的机器人为主参考对象,实时获取did值最小的机器人广播发送的动作数据信息,并执行同步动作。s4.如果有机器人动作与指定的机器人的动作不一致,则自动执行协调方法;也就是自动重新获取指定的机器人的动作数据信息,重新进行同步动作。并实时获取did值最小的机器人广播发送的动作数据信息,并执行同步动作。如果当期指定的机器人出现故障,则自动退出did值,重新选定其中的另外一did值的机器人为主参考对象后,循环执行s3和s4。此时,是重新选定did值次小的机器为主参考对象,因为此时did值次小的机器即为当前所有机器人的did值最小的值,是当前等级最高的机器人。重新选定时,一种方式是仍可参照s21和s22的步骤进行。即重新进行s21.每台机器人发送did广播信息给其他所有机器人,并接收其他所有机器人发送的did信息,s22.每台机器人判断是否自身的值是否是所有机器人中的did值最小,等级最高,如果不是,则停止发送did广播信息,并保持接收广播数据;如果是,则作为主参考对象,继续发送did广播信息,以及广播发送同步动作数据信息。另一种方式是,由于次小的机器人获取不到比自己更小的did值的机器人的信息,很容易判断出原did值最小的机器人出现故障,则可以自动晋升为主参考对象的机器人。这也是最优选以did值最小的机器人为主参考对象的一个原因和能实现的效果。在上述多机器人实时同步运动的方法的实现过程中,多台机器人之间的通讯协议帧可以如下:帧头(2b)设备号(2b)功能码(1b)数据长度(1b)数据域(nb)校验位0xef0xfedidfunlendatsum其中,did的范围可以是0x0001-0x7fff,其他保留;sum为所有字节的和取低字节;在该过程中,数据帧主要有两种类型(did广播信息和同步动作数据信息):1、广播帧,格式如下fun=0xf0帧头(2b)设备号(2b)功能码(1b)数据长度(1b)校验位0xef0xfedid0xf00x00sum2、同步帧,格式如下,fun=0x01帧头(2b)设备号(2b)功能码(1b)数据长度(1b)数据域(nb)校验位0xef0xfedid0x010x04datsum其中,dat含执行的动作组编号(2b)+动作组内编号(2b),共4个字节。上述通讯协议帧以及广播帧和同步帧的说明,是为了表明本多机器人实时同步运动的方法中,可具体实现多台机器人之间的通讯和广播与同步的一种方式。通过上述方法的循环执行,实现了多台机器人同步运动表演,并实时调节实现多台机器人稳定性的实时同步表演。实施例2在实施例1的基础上,s4中还包括如果有新加入的机器人,则该加入的新的机器人自动判断自身的值是否比指定的机器人的did值小,等级更高,如果不是,则接收指定的机器人(主参考对象)的同步动作数据信息,执行同步动作;如果是,则新加入的机器人在获取当前指定的机器人的动作数据信息,保持动作一致性后再进入s2中,选择did值最小的机器人(此时为新加入的机器人)为主参考对象,继续发送did广播信息,以及广播发送同步动作数据信息。此时,再参见图2所示,当前(原)指定的机器人轮询广播数据,当接收到新加入的机器人的did广播信息,则再判断该加入的新的机器人是否是比自身的等级高(也就是did值是否更低),如果是,则停止发送did广播信息,并保持接收广播数据;实时获取新指定的机器人(加入的新的机器人)的动作数据信息,进行同步动作;除了新加入的机器人以及当前(原)指定的机器人之外,其他机器人接收到该加入的新的机器人的did广播信息及同步动作数据信息,则直接执行同步动作信息。图2中,①的路径是加入的新的机器人的路径,②的路径是当前(原)指定的机器人的路径;③是除了新加入的机器人以及当前(原)指定的机器人之外,其他机器人的路径。由于加入的新的机器人必须先获取当前指定机器人的运行状态,保持动作一致性后才进行主参考对象地位的抢占,因此不会破坏原有机器人的动作一致性。上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施例的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施例或变更均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1