丁成波,蔡家斌,刘 文
(贵州大学 机械工程学院,贵阳 550025)
一种改进的多机器人角色变换方法研究*
丁成波,蔡家斌,刘 文
(贵州大学 机械工程学院,贵阳 550025)
以多机器人足球比赛为研究背景,针对多机器人之间的通信和角色变换问题,首先对多机器人之间的通信进行研究,并通过广播形式实现机器人之间的信息共享;接着对机器人足球比赛时各种角色以及决策策略进行了分析和研究,在实施决策过程中提出了一种计算主攻、助攻以及后卫等角色分配的计算方法;最后通过仿真实验验证了该计算方法的正确性,并得出基于通信进行角色变换的多机器人踢球效率优于无通信进行信息共享和角色变换的多机器人以及单个机器人踢球效率的结论。
机器人足球比赛;决策策略;角色分配方法;踢球效率
随着计算机技术的发展,机器人技术的研究也得到了相应的发展并且取得了丰硕的成果,机器人成为了人类实际生活的一部分,但是在实际应用过程中单个机器人在完成较复杂任务时的效率往往无法满足实际的需求[1-4]。因此,越来越多的国内外学者们通过研究多机器人协作来实现和完成单个机器人无法完成的工作,其应用前景广泛[5-6]。其中,机器人足球系统是一个比较典型的需要多个机器人协作进行踢球的多机器人系统。
在机器人足球系统中,多机器人通信作为研究多机器人系统的关键技术之一,也引起国内外学者的特别关注。国内外学者通过对“多机器人通信”课题进行大量的研究后,取得了不错的成果[7]。文献[8]以机器人足球赛为研究背景,指出在机器人足球比赛过程中,数据的传递和信息的共享往往会存在一定的错误和延时,这影响了通信的可靠性,从而影响球队整体效率。从某种意义来讲,一种优秀的角色分配算法是评价足球机器人决策系统好坏的关键因素之一。所以这也引起了国内外研究学者的高度重视和大量的研究[9-10]。文献[11]对传统的基于市场机制算法进行了研究,指出该算法的竞标函数比较简化,影响到了最优性的缺点,提出了一种具有分级竞标策略的改进市场机制动态角色分配算法。文献[12]指出在静态角色分配过程中,当任务或者环境发生变化时,原来的机器人依旧按照原来的任务去执行,多机器人之间的实时性受到了很大的影响,导致效率很低,从而提出了一种基于多影响因素的角色动态分配机制,使得多机器人之间能够合理地进行任务分配。可见在足球机器人领域,多机器人之间可靠的通信和优越的角色变化算法是决定球队获胜的关键因素。
因此,本文以机器人足球比赛为研究背景,在研究多NAO机器人通信的基础上,提出了机器人踢球时的策略和一种场上各种角色分配的计算方法,最后通过仿真实验验证了该算法的正确性,同时验证了多机器人基于通信情况下运用策略进行踢球的效率优于无通信协作的多机器人踢球和单个机器人踢球的效率。
在进程间通信、调试通信以及团队间通信三种通信方式中,团队通信是多NAO 机器人间通信的实现,它是通过UDP 的方式实现团队机器人间的信息交流与共享。
队间通信是把消息通过UDP(User Datagram Protocol)包[13]的方式向场上广播,接收到的机器人根据队号以及机器人的编号来处理接收到的UDP包,UDP包格式如图1所示。所以,UDP包中的首条消息被设计为发送消息的机器人的序号(idRobot)。这样,接收到UDP包的机器人就可以很容易地分辨接收到的包是否来自队友或来自哪个队友。本文是用TeamDataProvier用来接收和解析收到的包,并通过网络时间协议(NTP)和传递时间戳来把接收到的包中的时间转换为本地时间。
图1 UDP数据报格式
2.1 各角色介绍
在机器人足球比赛时,每个队员都有自己的角色和任务,在多个机器人进行站位和协作前,每个机器人都会分配到角色和任务。另外,根据比赛的进展和环境的变化,机器人要动态切换角色来进行协作配合,使比赛取得更好的结果。在角色的分配方面,本文为场上的机器人设置了五个角色,即:前锋(主攻、助攻、机会主义者)、后卫和守门员。
2.1.1 前锋
前锋主要有三个角色:主攻、助攻和机会主义者。两个前锋在前场进攻的时候,先会判断自己与球的距离,通过通信,离球近的分配为主攻,另一个为助攻。主攻是机器人比赛的中坚力量。其角色任务的重心在于跟球并将球攻入对方球门。担任主攻角色的机器人发现球时直接走向球,然后根据不同的区域范围以及当前对手的位置选择接下来的动作。比赛场地划分为三个主要区域:进攻区、中间区和防守区,橙色虚线为各区域分界线,如图2所示。针对不同区域,主攻机器人分别采取不同的行为方式来踢球,如图3所示。
图2 场地区域划分图
(a)绕到球后 (b)侧面接近球 (c)侧踢避障图3 主攻的不同行为图例
机会主义者,通常等待在对方禁区附近,在对方半场一条虚拟的直线上,且与球所在位置相对的一边,如图4所示。
图4 机会主义者等待位置图
机会主义者总是等待着球从对面球场折回的机会,这个时候它离球最近,从而迅速转换为主攻角色,追球并逐步掌握控球权,从而发起进攻。
2.1.2 后卫
后卫的活动范围安排在后场的禁区前一定区域,它随时观察着球的位置并做出恰当的反应,如果它判断球处于前场,它会再次调整自己的位置保证自己处于球与球门之间以阻挡对方球员可能的射门;如果它判断球处于后场,它会与回防的前锋通信,离球较近时,后卫会主动抢球,并将球往前场方向踢出去,离球较远的则调整自己处于球与球门之间。如果某个机器人没有发现球,则会按照定位信息和场上的状况,回到它的指定位置等待。
2.1.3 守门员
守门员在角色分配时是独立于其他角色的,由于守门员的活动范围限制在我方球门附近,最好不要离开我方禁区太远,否则在对方进攻时将由于太远而措手不及,因此守门员只接受前方球的信息,不参与角色分配。
2.2 决策策略
多NAO机器人决策系统框架是采用黑板结构原理进行设计的。所谓的黑板结构是针对同一个问题或者同一个问题的分支问题,将所有的专家聚集在一起进行讨论,讨论过程中,每一位专家根据自己的特长和经验将自己的看法写在黑板上,让其他专家也可以共同分享大家的想法,最后提出一个解决问题的统一方案。如图5所示。
图5 黑板结构
在黑板结构中,每一位专家类似于每一个模块都相当于一个独立的知识源knowledge source(KS),它们通过黑板进行通讯共享自己的信息,最终共同求解问题的解[14]。在本文中是通过设计REQUIRES宏底层模块将其数据和信息放到黑板系统中,而其它模块需要这些数据和信息时,只需要通过REQUIRES宏将底层数据和信息从黑板中取出即可以使用。同时,当决策系统需要发送动作命令传给动作模块时,只需将待发送的命令通过PROVIDES传送到消息队列中去,动作模块便会收到指令信息。如此系统便完成了各模块之间信息的共享,这些信息由知识源产生,且被其他知识源利用。知识源使用黑板上的数据进行互相交互,实现了各个模块的协作与独立。
如图6所示,决策系统采用一个分层的结构,类似于一棵决策树,在决策树的最高层包含几个策略,例如当前机器人的角色是前锋角色还是后卫角色,是全力进攻还是回缩防守。每个策略又有它自身的底层决策分支,用来决定一些低层次的行为,如前锋角色中是判断机器人是身体静止而头部找球还是边走边头部扫球,是走向球还是射门。再细分下去还需要判断如找球这个基本动作是向左还是向右,是转身向后还是继续向前找球等问题。根据场上不同情况,将会采用不同的策略。
图6 决策系统框架
3.1 角色分配计算
角色的动态分配使用投标算法来进行,首先确定主攻,其次确定助攻,再次确定后卫,最后确定机会主义者角色,守门员角色不参与角色分配,如图7所示。通过这种顺序来分配机器人角色,能够有效降低多机器人重复分配的可能性,增强多机器人系统的稳定性。且若比赛中有机器人因犯规被罚下场,剩下的机器人仍能够继续完成比赛。
图7 角色分配顺序
团队中所有机器人都使用相同的角色投标公式以及相同数据来计算对不同角色的适合程度。主攻角色投标公式的设计主要考虑机器人与球的距离,机器人朝向以及机器人-球-对方球门的夹角。助攻角色投标公式的设计主要考虑自身与主攻的距离。后卫角色的投标公式的设计主要考虑自身和己方底线间的距离。这些公式通过收集到的场上信息计算得到机器人担任某一角色的适合程度。
对于机器人足球比赛,机器人所处的环境是动态的,要让机器人感知并认识周围的环境,包括球的位置,队友机器人位置以及对手机器人位置等环境信息,机器人需要建立世界模型。机器人首先用个人世界模型中的自身位置信息和统一世界模型中的球的信息得到对某一角色的适合程度,然后再用相同的公式计算得到队友机器人对该角色的适合程度。需要注意的是,在计算队友机器人对某一角色的适合程度时,只能使用相应队友机器人所共享的位置信息以及统一世界模型中的球的信息,而不能使用自身传感器获得的信息。如果机器人使用自己所获得的信息来计算其他队友机器人对角色的适合程度,很可能会得到与该机器人实际情况不符的计算结果,从而引起整个团队角色分配的混乱。比如,机器人在计算另一个队友机器人对主攻角色的适合程度时,机器人看到队友机器人离球很近,但实际上队友机器人并没有看到球(可能此时球在它的身后或被挡住)。由于没有看到球,这个机器人对球的位置并不确定,所以会为自己对主攻角色的适合度赋一个较低的值,因而看到球在其附近的机器人不能为这个机器人赋高于其自身计算所得值。而且,这个没有看到球的机器人也不能使用队友的共享信息为自己对某一角色赋一个较高的合适度。
当机器人计算出自己以及队友机器人对某一角色的合适度后,把它们进行比较,若自己对角色的适合度最高,则担任此角色任务并把自己的角色信息共享给队友;否则,由合适程度最高的机器人担任该角色,而自己继续计算对下一角色的适合度。已分配角色的机器人将不再参与其它角色的选择比较。理论上,所有机器人使用相同的共享信息执行相同的计算,应该得到相同的计算结果。但实际上,由于存在着网络延迟和传输错误等原因,计算无法实现完全同步,故每个机器人很可能得到不同的计算结果。为了解决这个问题,可在多机器人协作系统的角色分配过程中加入滞后环节延迟,也就是说,一旦机器人担任了某一角色,因为机器人执行了该角色的任务提高了机器人对该角色的适应性,故机器人短时间内不会放弃执行该角色的任务。
3.2 主攻角色分配
本文在计算机器人对主攻角色适合度时参考的是卡耐基梅隆大学提出的主攻角色投标公式,在机器人离球很近并且在朝向上易于将球踢入对方球门时获得较高的投标值[15],如公式(1)所示:
(1)
其中,θgoal是球到机器人所成直线和球到对方球门中心所成直线间的夹角。当θgoal等于π时,机器人恰好与球及对方球门在一条直线上,并且面向对方球门,此时容易将球踢入对方球门。参数dball是机器人到球的距离,单位为m。公式1中,取1m和dball两者中的较小值。机器人在离球很近且在朝向上易于将球踢入对方球门时获得高投标值。
参考上述主攻角色投标公式的设计思路,根据比赛的环境和机器人的实际运行情况等多方面考虑,本文采用公式(2)所示的计算方法。根据自身到球的距离、当前朝向与球连线的夹角和自身与球和球到对方球门中心连线的夹角,利用公式(2)计算得出机器人到达球并调整到恰当位置所需要的时间作为投标值,投标值BidST越小,则越适合主攻的角色:
(2)
对公式(2)的解释可以参照图8。
图8 主攻角色投标值计算图解
其中Dball为机器人到球的距离,机器人场上的平均速度约为250mm/s,机器人的自旋速度约为35°/s,Dball为机器人当前朝向到机器人和球的连线所形成的夹角;θb-goal为机器人到球所成射线及球到对方球门中心所成射线间的夹角,如图8所示,当θb-goal为0时,球恰好处于机器人到球门中点的连线上;Locvalid为自身定位信息的可信度,取值为0到1,取1时可信度最高,经过比较,系数为10时投标效果比较好。
3.3 助攻和后卫角色分配
同样,助攻的角色匹配可以利用公式(3)计算:
(3)
式中,Dstriker为到主攻机器人的距离,因为助攻机器人只需要与主攻机器人保持一定的距离即可,因此旋转角度可以不予考虑。
后卫在比赛中主要待在己方门前区域防守,因此考虑不同机器人距离己方底线的距离即可。另外,后卫一般位于己方球门前,主要防范对手对我们球门的攻击,不参与进攻,所以额外的信息不需要考虑。在场地坐标系中,中间点为原点,己方半场x坐标为负值。公式(4)中X为机器人x坐标位置,-4000为己方底线的位置。
(4)
分配完主攻,助攻和后卫的角色后,若还有未分配的角色,则担任机会主义者,在前场寻找机会。如果出现机器人被罚下的情况,机会主义者可以暂时顶替空缺,也能保持场上机器人整体阵型的完整性。守门员角色固定,不参与角色动态分配。
3.4 仿真实验
为了验证基于通信的多个机器人配合相对无通信协作多机器人和单一机器人的优越性,本文在SimRobot中进行了多次点球实验。所谓点球实验,即在没有对方球员干扰下进行踢球并完成射门,保证了周围环境不会对比较带来影响。本文将比赛场地划分为9个区域,如图9所示。
对于每个区域,基于通信协作多机器人、无协作多机器人及单个机器人各放5次球,记录从开始到踢到球所花的时间,另外,无协作多机器人和基于通信协作多机器人初始站位相同,如图10所示。
图9 点球实验分区
图10 单个机器人(左侧)和多机器人(右侧)初始站位
最后把每块区域机器人踢到球的时间取一个平均值。得到三种情况数据表(如表1)和曲线(如图11)。
表1 点球实验结果
图11 点球时间曲线
根据表中进球时间的平均值可以看出,单一的NAO机器人进行踢球时平均时间最长,无协作多机器人次之,基于通信进行协作的多NAO 机器人进球所花的平均时间最少。因此,可以粗略地看出基于通信的协作多NAO机器人系统整体上比没有协作的多NAO机器人系统和单一NAO机器人的进球效率要高。
结合曲线图可知,在1、2、3号区域有协作的机器人时间相比其他两组明显更短,因为基于通信的协作多机器人在队间信息共享的基础上能够快速找到球,并且几个机器人互相配合,合理进行角色变换,所以能够快速将球踢到前场。而此时,无通信协作的机器人相对于单个机器人而言所用时间同样也比较长,多机器人在没有通信配合情况下,极容易出现我方多个机器人同时去踢球,三个机器人簇拥在一起,导致碰撞致使定位准确度下降等。另外,单个机器人因为自身摄像头观察角度有限,使得观察的视线范围有限。因此要通过自旋才能够找到球并从中间走向球,没有队友帮助,这大大延长了找球时间。
然而,在区域5和区域8,三种情形进球时间基本上相同,因为在这两个区域,都是在位于中间的机器人去踢球,在这两个区域,射门角度很好,没有障碍物可以直接射门,并且机器人很容易靠近球,基本不会出现要大范围找球和抢球情况,因此三种情况差别不大。
进一步地,对在区域4、6、7、9分析可知,基于通信协作的多机器人开始体现它们有统一的世界模型、视觉察觉范围宽、密切协作配合的优势,团队中机器人有自己的角色,各司其职,时间较单个机器人而言更短,虽然在区域4、7、9,两种多机器人系统所用进球时间很接近,但是在区域6,无通信协作的多机器人进球时间甚至比单个机器人进球时间更长,因为在这个区域出现了多个机器人去抢球并且场上的机器人只是把其他机器人当作障碍物,机器人试图避开障碍物但是不成功就会发生拥挤摔倒,并且抢球时机器人的踢球方式也会发生改变,比如机器人检测到正前方有障碍物,它就会用侧踢的方式,来调整自身和球的位置,自然时间花费更长。
通过对上面数据的分析,都可以得出基于通信的多NAO机器人协作完成任务时有明显优势的结论。所以,考虑到单个机器人找球的效率低,而无协作多机器人系统时常有多个机器人抢球并且会发生多次碰撞导致定位精度变低的情况,通过队间通信使得多NAO机器人的信息能够共享并有角色分配的协作多机器人系统能大大提高比赛效率。
文章以机器人足球比赛为研究背景,在研究多机器人通信的基础上,简单介绍了机器人在踢球时的各种角色,最后提出了机器人踢球时的策略和一种场上各种角色分配的计算方法,主要结论如下:
(1)通过对多机器人踢球策略的研究基础上,提出了一种计算主攻、助攻以及后卫等角色分配的计算方法。这将为研究多机器人动态角色分配提供一种新的理论依据和计算方法。
(2)通过仿真实验验证了本文提出的各种角色分配计算方法的正确性,同时得出如下结论:基于通信进行角色变换的多机器人踢球效率优于无通信进行信息共享和角色变换的多机器人以及单个机器人踢球的效率。
[1] 陈琳,戴骏,冯俊杰.基于OpenGL 的多机器人仿真环境[J]. 组合机床与自动化加工技术,2014(9):10-13.
[2] 计时鸣,黄希欢.工业机器人技术的发展与应用综述[J].机电工程,2015,32(1):1-12.
[3] 焦平平.多机器人通信与编队问题研究[D].北京:北京交通大学,2008.
[4] 马光,申桂英.工业机器人的现状及发展趋势[J].组合机床与自动化加工技术,2002(3) : 49-51.
[5] 王建国.多移动机器人的无线通信的研究[D].合肥:合肥工业大学,2010.
[6] A Study towards Reliability-and Delay-Critical Wireless Communication for RoboCup Robotic Soccer Application. IEEE, 2007: 633-636.
[7] 张嵛,刘淑华.多机器人任务分配的研究与进展[J].智能系统学报,2008,3(2):115-120.
[8] 黎萍,杨宜民.多机器人系统任务分配的研究进展[J].计算机工程与应用,2008,44(17):201-205.
[9] 程立英,赵姝颖,潘峰,等.足球机器人动态角色分配策略仿真研究[J].计算机仿真,2013, 30(5):383-412.
[10] 陈鹏慧,蔡琼.多机器人协作中角色动态分配机制的设计与实现[J].河南科技,2015(14):22-24.
[11] 谢希仁.计算机网络[M].5版.北京:电子工业出版社,2013.
[12] 于存贵,李自勇,马志文.基于黑板模型的多属性决策模式[J]. 南京理工大学学报,2000,24(4):334-337.
[13] Douglas Vail, Manuela Veloso. Multi-Robot Dynamic Role Assignment and Coordination Through Shared Potential Fields[R].2002.
(编辑 李秀敏)
Research on an Improved Method of Multi Robot Role Transformation
DING Cheng-bo,CAI Jia-bin,LIU Wen
(College of Mechanical Engineering,Guizhou University,Guiyang 550025,China)
Taking the multi robot soccer match as the research background, and aiming at the problem of communication and role transformation between multi robots, first of all for communication among the robots research, and integrated share of information between the robot through the radio; then carries on the analysis and research of robot soccer match a variety of roles and decision-making strategy, in the implementation of the decision-making process in the role assignment is a main attack calculation, assists and back calculation method. Finally, the correctness of the calculation method is verified by simulation experiments, and come to the conclusion that the role transform of multi robot based on communication efficiency is superior to play without communication of information sharing and role transformation of multi robot and single robot playing efficiency.
robot soccer game; decision making strategy; role assignment method; playing efficiency
1001-2265(2017)07-0009-05
10.13462/j.cnki.mmtamt.2017.07.003
2016-09-18;
2016-10-21
贵州大学创新基金(研理工2016029);面向智能装备领域的“技术众筹”研究生创新基地(贵大研CXJD[2015]003)
丁成波(1991—),男,贵州大方县人,贵州大学硕士研究生,研究方向为机械电子工程,(E-mail)2954006698@qq.com; 通讯作者:蔡家斌(1974—),男,贵阳人,贵州大学副教授,研究方向为摩擦学与表面工程,(E-mail)734512130@qq.com。
TH165;TG659
A