CN101217488B - 一种可重构的多移动机器人通信方法 - Google Patents
一种可重构的多移动机器人通信方法 Download PDFInfo
- Publication number
- CN101217488B CN101217488B CN2008100304957A CN200810030495A CN101217488B CN 101217488 B CN101217488 B CN 101217488B CN 2008100304957 A CN2008100304957 A CN 2008100304957A CN 200810030495 A CN200810030495 A CN 200810030495A CN 101217488 B CN101217488 B CN 101217488B
- Authority
- CN
- China
- Prior art keywords
- robot
- bunch
- information
- hello
- communication means
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种可重构的多移动机器人通信方法,包括以下步骤:机器人向周围机器人发送HELLO消息,根据接收到的HELLO消息,建立机器人簇结构,维护邻居机器人节点表;机器人进行数据发送时,节点在两跳之内利用邻居机器人节点表的两跳拓扑信息来实现,对于大于两跳的目的机器人节点,由簇头广播发送路由请求消息,寻找一个到终点的路由,根据寻找的路由完成数据发送。本发明采用可重构的簇结构和链路,具有通信速度快、延时小、参与节点少的优点,有利于多机器人间信息实时交互。本发明能高效实现多机器人间的信息传递,为多机器人相互协作提供底层服务。
Description
技术领域
本发明涉及一种可重构的多移动机器人通信方法。
背景技术
为了协作完成某个任务,多个移动机器人之间需要相互通信。当前多移动机器人间的通信大多采用通过一个总控台进行通信,属于一对多的通信方式。随着机器人团队规模的扩大和机器人移动速度的增加,目前的这种通信方式明显不能满足要求,容错性得不到保障,不利于多机器人团队的高效协作以及多机器人生存能力的提高。而可重构的通信技术在通信过程中传播的路由信息较少,降低了大型通信网络的存储要求和通信载荷,能提高机器人之间实时通信的性能和改善通信的容错性,增加机器人团队对环境的自适应性,有利于机器人团队高效协同合作。
发明内容
为了解决现有多机器人集中式通信方式存在的技术问题,本发明提供一个可重构的多移动机器人通信方法。
本发明解决上述技术问题所采用的技术方案包括以下步骤:机器人向周围机器人发送HELLO消息,发送时间间隔为t=HelloInterval/2+rand()·(HelloInterval/2),其中HelloInterval为一个时间常量,rand()是一个产生0~1之间数的随机函数,根据接收到的HELLO消息,建立机器人簇结构,维护邻居机器人节点表,一个簇结构由一个簇头和一个或多个簇成员构成,簇头机器人到簇内每一个机器人节点都有一个双向通信链路;
机器人进行数据发送时,节点在两跳之内利用邻居机器人节点表的两跳拓扑信息来实现,对于大于两跳的目的机器人节点,由簇头广播发送路由请求消息,寻找一个到终点的路由,根据寻找的路由完成数据发送。
本发明的技术效果在于:
1)本发明中机器人周期性的广播HELLO消息,用以维持簇结构,而不是像表驱动路由通信方式那样维持路由表信息,有效地减少表驱动路由通信方法周期性发送HELLO消息所造成的能量消耗。
2)本发明中采用按需路由方式,即根据需要发送RREQ,开始请求到目的地的路由。此时不是全网洪泛发送,而是向簇头发送RREQ,也只有簇头能转发RREQ,具有通信速度快、延时小、参与节点少的优点,有利于多机器人间信息实时交互。
3)本发明中机器人发送的RREQ消息中并不携带完整的源路由信息,这样节省了路由开销的能量。
4)本发明利用HELLO消息中携带本机邻居表信息组建两跳拓扑数据结构,可以进行局部的链路修复,适合于多机器人在大范围内的信息交互。
5)本发明中机器人由于移动而丢失簇头之后,可快速进行簇结构重构,保证机器人之间的通信畅通。
附图说明
图1为本发明中一个节点收到HELLO消息后修改邻居表流程图。
图2为本发明中利用簇机制进行路由发现过程的示意图。
图3为本发明中破损链路局部重构示意图。
图4为本发明中链路局部重构流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
可重构的多移动机器人通信方法具体步骤如下:
第一步,数据包的截获。
数据包的截获是机器人之间进行通信的基础。在本通信方式中,数据包具有不同类型,如HELLO包、普通数据包、RREQ包等,截获的数据包不同,处理方式不同,如截获的数据包是普通数据包,则不做任何处理;截获的数据包是HELLO包,则创建和更新簇结构或者更新本机的邻居机器人节点表;截获的数据包是RREQ包,则判断RREQ包的接收方是不是自身,从而做相应的打包转发等操作。
第二步,组建机器人的簇结构
组建机器人的簇结构是通过周期性的发送HELLO消息(即HELLO包)来实现的。HELLO消息还用来组建或更新每个机器人的邻居机器人节点表。每个机器人隔一段时间t向周围机器人节点广播HELLO消息,通知其周围邻近机器人自己的存在。如果时间t固定,会造成网络的阻塞,因此采用随机策略广播消息,确定方法为t=HelloInterval/2+rand()·(HelloInterval/2)。其中HelloInterval为一个时间常量,表示HELLO信息发送的一个间隔时间,rand()是一个产生0~1之间数的随机函数。
每个机器人通过上面的HELLO消息的发送来维护一个邻居机器人节点表。邻居机器人节点表包含的信息有:邻居的IP地址,链路的状态(单向还是双向的)以及该邻居的角色(是簇头或者是成员)。它主要用于保存与本机相邻的机器人的状态信息以及链路信息,另外在发送HELLO消息时把自己的邻居表发送给其它机器人,可以用于组建两跳拓扑数据结构。节点A在从它的邻居B收到一个HELLO包,节点A按流程图1修改自身的邻居表。
各机器人在维护自身邻居机器人节点表时,就同时组建了机器人的簇结构。两个机器人之间组建簇关系是根据“最小IP”原则,即IP小的机器人充当簇头;当第三台机器人加入该簇结构的时候,根据“先到先得”的原则,如果该机器人的IP在三台机器人中是最小的,也不会重新组建簇结构,而是加入已有的簇结构,在一个通信网簇结构中,簇头机器人到簇内每一个机器人节点都有一个双向通信链路。机器人有三种状态:簇头,簇成员,未定状态。每个机器人初始化的时候都是未定状态。
邻居表的信息存在一个过期时间,如果在过期时间t内没有收到已登记机器人发送的HELLO包,则删除该机器人的记录项。这种机制可以保证机器人自身对周围环境有较灵敏的感知度。时间间隔设为t=(HELLO_LOSS+1)×HelloInterval,其中HELLO_LOSS是允许丢失的HELLO信息的数目,HelloInterval为一个时间常量。当一个机器人节点附近的拓扑稳定时,该机器人节点的邻居表会立刻完善所有到自身有双向或单向链路的所有机器人节点的信息。
第三步,发送数据包时进行路由发现
路由发现是机器人节点S获得一个到D的源路由,然后发送一个包到终点D的机制。图2所示为利用簇机制进行路由发现的过程。本通信方法在路由发现过程中,只有簇头广播发送RREQ(路由请求消息),寻找一个到终点的源路由。这种簇机制使得参与路由发现的机器人节点数显著地减少,不像其他通信方法那样,全网广播RREQ寻找到终点的路由。路由发现以后,数据包就可以发送。
第四步,簇结构重构
机器人的移动或破损,都会使机器人的簇结构发生变化,为了使机器人保持通信畅通,需进行簇结构的重建,簇结构的重建过程如下:
①如果一个未定状态机器人从一个簇头机器人收到HELLO消息,且该机器人与该簇头机器人之间有双向通信链路,则该机器人会加入该簇头机器人所在的簇结构,并设置自身的状态为簇成员。
②某个机器人成员在一定时间以后如果没有收到簇头机器人再次发送来的消息,则认为簇头丢失,簇成员机器人自动改为未定状态,然后进行新一轮的簇头发现,进行簇结构重构。
③某个未定状态机器人在一定时间以后仍然没有加入任何簇结构,则它自动变为簇头,等待其它机器人的加入。
簇结构重构的规则如下:
为了避免频繁的改变簇头而增加簇结构的动荡,如果簇头机器人之间的距离很近,且超过规定的时间时,则其中一个机器人将会丢失簇头的角色。
当簇头机器人由于离开本簇范围或者损坏而不能参与簇结构的管理时,簇成员会进行新一轮的簇头机器人选举过程,选出新的簇头机器人来管理本簇。
机器人在周期性的发送HELLO消息的同时,每个机器人节点都在本地维护了一个邻居机器人节点表,可将其邻居表发送给其所有的邻居。
理论上讲,每个机器人节点都可以维护一个距离自己k跳的邻居表,它记录了该网络所能收集到的k跳内的网络拓扑结构。不过为提高获得的拓扑结构信息的准确性,同时尽量降低发送HELLO包的系统开销,限定k为2,称为两跳拓扑信息结构。这样利用两跳拓扑结构,机器人节点在两跳之内的寻路可以利用两跳拓扑信息来实现,而无须启用路由发现过程;对于大于两跳的目的机器人节点,再启动发送RREQ按需路由机制。这样可以节省一部分路由开销,另外,两跳拓扑数据结构可以对路由过程中的破损链路进行局部修复。
当成员机器人由于自身的移动或损坏而离开一个簇结构,该簇的簇头机器人会根据反馈信息了解到这个情况,并更新自己保存的簇成员链表。簇头机器人在一段时间t内没有收到相应簇成员的HELLO包,则认为该机器人成员已经离开该簇结构,从链表中将其删除。
机器人的移动或破损,同时会使得链路链接状态发生变化。如图3所示,数据包的传输路径在3->4段发生了链路破损,此时发送路由请求消息或者传输数据包的过程中,就需要链路的局部重构来重构破损的链路。重构破损的链路并不需要从源节点重新发起路由寻找过程;而通过机器人节点3的两跳拓扑信息继续转发路由请求消息。它从自身的两跳信息发现可以通过机器人节点2到达机器人4号,进而将消息转发给2号机器人。
链路的局部重构流程图如图4所示。一个转发路由请求消息的机器人节点,通过它自身的两跳拓扑信息来修复破损的链路重构机制,可以有效的减少重新发起路由请求的延时和相应的能量损耗,提高网络通信的执行效率。图中RRER意为路由请求错误消息。
Claims (6)
1.一种可重构的多移动机器人通信方法,包括以下步骤:机器人向周围机器人发送HELLO消息,发送时间间隔为t=HelloInterval/2+rand()·(HelloInterval/2),其中HelloInterval为一个时间常量,rand()是一个产生0~1之间数的随机函数,根据接收到的HELLO消息,建立机器人簇结构,维护邻居机器人节点表;
发送方机器人需要进行数据发送时,首先查询两跳拓扑信息结构,如果接收方机器人在两跳范围之内,则直接进行数据传输;如果接收方机器人在大于两跳范围之外,则发送方机器人先向自己的簇头发送请求,然后再由簇头机器人广播发送路由请求消息,寻找到接收方机器人的路由,再进行数据发送。
2.根据权利要求1所述的可重构的多移动机器人通信方法,所述邻居机器人节点表包含的信息有:邻居的IP地址,链路的状态以及该邻居的角色。
3.根据权利要求1所述的可重构的多移动机器人通信方法,所述每个机器人如果在过期时间t内没有收到已登记机器人发送的HELLO包,则删除该机器人的记录项,时间间隔设为t=(HELLO_LOSS+1)×HelloInterval,其中HELLO_LOSS是允许丢失的HELLO信息的数目,HelloInterval为一个时间常量。
4.根据权利要求1所述的可重构的多移动机器人通信方法,如果一个未定状态机器人从一个簇头机器人收到HELLO消息,且该机器人与该簇头机器人之间有双向通信链路,则该机器人可加入该簇头机器人所在的簇结构,并设置自身的状态为簇成员。
5.根据权利要求1所述的可重构的多移动机器人通信方法,若某个未定状态机器人在一定时间以后仍然没有加入任何簇结构,则它自动变为簇头,等待其它机器人的加入。
6.根据权利要求1所述的可重构的多移动机器人通信方法,所述一个机器人簇结构由一个簇头和一个或多个簇成员构成,簇头机器人到簇内每一个机器人节点都有一个双向通信链路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100304957A CN101217488B (zh) | 2008-01-16 | 2008-01-16 | 一种可重构的多移动机器人通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100304957A CN101217488B (zh) | 2008-01-16 | 2008-01-16 | 一种可重构的多移动机器人通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101217488A CN101217488A (zh) | 2008-07-09 |
CN101217488B true CN101217488B (zh) | 2010-09-08 |
Family
ID=39623850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100304957A Expired - Fee Related CN101217488B (zh) | 2008-01-16 | 2008-01-16 | 一种可重构的多移动机器人通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101217488B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901012B (zh) * | 2010-03-19 | 2012-02-22 | 华东交通大学 | 一种分布式的多机器人同步蜂拥控制方法 |
CN101945492B (zh) * | 2010-08-09 | 2013-02-06 | 哈尔滨工程大学 | 基于分簇的多机器人任务分配方法 |
CN102499728A (zh) * | 2011-12-02 | 2012-06-20 | 苏州生物医学工程技术研究所 | 一种具有自组能力的医用微型多机器人系统 |
CN103634869B (zh) * | 2013-12-20 | 2017-03-15 | 大连大学 | 针对多移动机器人通信网络的路由方法 |
CN106933344A (zh) * | 2017-01-18 | 2017-07-07 | 北京光年无限科技有限公司 | 实现智能机器人之间多模态交互的方法及装置 |
CN108881014B (zh) * | 2017-05-12 | 2021-10-01 | 北京猎户星空科技有限公司 | 一种数据发送系统及方法 |
CN107263457A (zh) * | 2017-06-22 | 2017-10-20 | 清华大学 | 分体式机器人及其组合、分离方法 |
CN108698227B (zh) * | 2018-04-24 | 2021-07-09 | 达闼机器人有限公司 | 云端控制的信息传输方法、机器人和组群机器人系统 |
CN111510982B (zh) * | 2019-01-30 | 2022-03-11 | 大唐移动通信设备有限公司 | 一种传输数据的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852216A (zh) * | 2006-05-18 | 2006-10-25 | 上海交通大学 | 基于自适应退避策略的无线传感器网络分布式分簇方法 |
-
2008
- 2008-01-16 CN CN2008100304957A patent/CN101217488B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852216A (zh) * | 2006-05-18 | 2006-10-25 | 上海交通大学 | 基于自适应退避策略的无线传感器网络分布式分簇方法 |
Non-Patent Citations (1)
Title |
---|
孟斌等.Ad Hoc网络中一种基于相关度的分布式分簇算法.计算机科学32.2005,3227-29. * |
Also Published As
Publication number | Publication date |
---|---|
CN101217488A (zh) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101217488B (zh) | 一种可重构的多移动机器人通信方法 | |
US8139504B2 (en) | System, device, and method for unifying differently-routed networks using virtual topology representations | |
JP6323856B2 (ja) | 通信制御方法および移動端末 | |
Rathi et al. | A review on routing protocols for application in wireless sensor networks | |
CN102148756B (zh) | 一种基于6LoWPAN邻居发现的树状路由方法 | |
CN102255807B (zh) | 一种基于主从结构多跳网络的多路径分段路由方法 | |
CN107040878B (zh) | 一种多链型无线传感器网络的无分层通信方法 | |
CN101355496A (zh) | 基站发起的多跳分簇路由协议 | |
CN101478801B (zh) | 基于动态源树的无线自组织网络组播路由方法 | |
CN101414965B (zh) | 用于容迟网络和间歇连接网络的节省节点能量的方法 | |
CN110995333B (zh) | 一种分簇QoS路由设计方法 | |
CN103260211A (zh) | 一种改进的aomdv路由方法 | |
CN101179501A (zh) | 一种移动ad hoc网络按需类路由的局部路由发现方法 | |
CN100586095C (zh) | 在自组网与固定网络间实现跨域组播业务的方法及系统 | |
CN101483901A (zh) | 一种用于无线传感器网络中间件的拓扑控制方法 | |
Hua et al. | A DTN routing protocol based on hierarchy forwarding and cluster control | |
CN100456686C (zh) | 一种多移动路由器的移动网络组播方法 | |
CN101662374B (zh) | 一种移动自组网的广播方法 | |
Su et al. | An efficient multi-source multicast routing protocol in mobile ad hoc networks | |
JP2010193416A (ja) | ネットワークシステムおよび通信方法 | |
CN102035894B (zh) | 一种基于距离的状态同步方法 | |
CN102664962B (zh) | 基于ZigBee的无线测控网络的动态节点身份实现方法及系统 | |
CN107124735B (zh) | 基于投递概率sv捎带的机会网络低开销路由方法 | |
Patil et al. | Intelligent Energy Efficient Routing Protocol based on Biological Agents for MANETS | |
Vaishali et al. | An efficient ACO scheme for mobile-sink based WSN |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100908 Termination date: 20130116 |