微型足球机器人行为产生方法与实现
2008-06-03
作者:桂许军1,赵 臣1,王 薇2,张
摘 要: 将整个赛场划分成10个区域,分析了机器人" title="器人">器人在活动区域的基本行为,确定了不同情况下的有利目标点和反应条件,建立了机器人行为触发机制。该行为产生方法将角色分配和行为产生相结合,使场上每个机器人随时都有明确的目标和行为,结构层次分明,实时性强,便于升级。
关键词: 机器人足球 策略 行为产生 角色分配 反应行为
机器人足球赛为机械设计、自动控制、人工智能、计算机视觉等提供了一个良好的研究与试验平台,已成为一个热门研究课题。微型机器人足球赛是机器人足球赛中最基本的一种,它由视觉子系统、无线通信子系统、策略子系统以及足球机器人子系统组成。比赛是在策略子系统指挥下自主进行的,每秒钟要处理25或30帧图像。当拥有了良好的硬件设备后,整个球队水平主要决定于策略子系统的水平。其主要任务包括:场上攻防态势判断、球队中每个机器人角色划分及任务分配、机器人运动规划、机器人间相互配合等。由于场上形势千变万化,决策时间又相当短暂,所以如何构建一个良好的策略子系统成为研究的重点。文献[5]采用实时自组织模糊决策树进行决策,将球所在区域以及双方控球状态划分成12种情况,针对每种情况提出了相应的策略。由于判断条件比较复杂,实施起来难以达到满意的效果。文献[6]列出了常见的反应行为,并给出了有利目标点的计算方法。其缺点是没有给出一种合适的行为触发机制。本文分析了机器人应有的几种反应行为,确定了策略研究" title="策略研究">策略研究重点,提出了一种新的队员角色分配策略,可以根据不同的情况产生不同的行为并动态地分配给相应的机器人;设计了一套行为触发机制,能及时合理地触发反应行为,从而保证场上每个机器人随时都有明确的目标和行为。
1 场地的划分
根据比赛过程分析,将球场划分成如图1所示几个区域。区域1、2、3、4为角区,5、6为边界区域,区域7为防守区,区域8为进攻区,区域9、10分别为我方禁区和对方禁区。
2 行为标志及有利目标点的确定
2.1 足球机器人应有的反应行为及其条件
下面分析攻/防队员的基本行为。守门员的动作行为比较特殊,可参见文献[7]。综合分析足球机器人的场上行为,可划分为如下几类:
(1)射门
当机" title="当机">当机器人离球较近且处于较有利的位姿时,如图2所示,应毫不犹豫地进行射门以破门得分。射门行为的触发条件为:
①机器人与球的距离d小于某个临界值d0,在实验中取d0=30cm;
②机器人的朝向与机器人和球连线方向的夹角△θ小于某个临界值θ0,在实验中取θ0=30°;
③机器人和球连线方向应大致朝向对方球门,即规定其方向在对方禁区两端和机器人连线范围内,如图2中两虚线包围的范围。
(2)旋转踢球
当球位于边界区或者角区,且机器人又没有很好的踢球位姿时,可以采用旋转的办法将球踢出边界区或者角区。
(3)触界后退
当机器人碰到场地边界时,应停止前进并快速后退。
(4)追球(或带球" title="带球">带球前进)
追球是机器人应具有的最基本的行为之一。何时产生这种行为以及由哪个队员来完成该行为将在后面防守区和进攻区的行为规划中加以确定。
(5)到目标点
当一个机器人带球进攻时,另一个机器人需要跑到协攻位置;在进行防守时也需要抢先占据有利位置,这就是机器人的跑位问题。从当前位置跑向目标位置是机器人另一种最基本的行为。
策略研究的重点应放在射门、追球、到目标点三种行为机制上。
2.2 球位于防守区时的行为规划
当球位于防守区7时,场上队员的主要任务是进行防守和拦截;当条件具备时,又要不失时机地抢球" title="抢球">抢球进行反攻,变被动为主动。
分三种情况讨论:
(1)如图3,两机器人均位于球的后方。这种情况比较危险,两机器人均不适合抢球。此时两机器人应迅速回退到有利的防守点,例如图3中的1、2两点。上方的机器人目标点可选为点1,下方的机器人目标点为点2。
(2)两机器人均位于球的前方。这是一种比较有利的防守态势,既能占据有利的防守位置,也可在条件允许时断球反攻。策略子系统的任务有三个:其一是确定主防守队员,一般情况下,对方从哪一侧进攻,就由相应一侧队员作为主防守队员;其二是进行防守运动规划,在固守的前提下破坏掉对方的进攻;其三是确定断球时机,由防守转为进攻,应该判断两机器人是否适合抢球或者干扰对方进攻。两个有利的防守点依然是图3中的点1和点2。可直接根据两机器人的y坐标动态分配有利防守点:y坐标大的机器人其目标点为点1,小的则为点2。当只有一个防守队员适合去断球时,另一机器人要退守到最有利的防守点,如图4中点1。如果两个机器人均适合抢球,则应选择更有利于抢球者,另一机器人则退守到有利的防守点。
不能只根据机器人与球的距离确定断球机器人。如图5所示,虽然机器人1离球很近,但当机器人的朝向与机器人和球的连线之夹角过大时,机器人很难向对方半场踢球。此时机器人1应向点1退守,由机器人2去抢球。实验表明,当同时满足下面条件时不利于机器人追球:
①机器人与球的距离d<10cm;
②机器人的朝向与机器人和球的连线夹角△θ>20°。
如果经过上述判断,两机器人均适合抢球,此时应进一步判断哪个机器人更适合去抢球。为此,定义抢球能力:
式中,k1、k2、d、△θ分别为距离加权因子、角度加权因子、机器人到球的距离(cm)、机器人朝向与机器人和球连线之间的夹角(rad)。实验中k1取0.05、k2取1.2时效果较好,如图6所示。
在机器人适合追球的情况下同时判断机器人是否适合射门。如果适合射门,则应置相应机器人行为标志为射门标志。
(3)两个机器人分别位于球的前方和后方,如图7。此时,应该让位于前方的机器人快速退守到有利防守点1。如果位于球后方的机器人有较好的抢球或者干扰对方机器人的机会,则应该让该机器人去抢球;如果该机器人不适合抢球,则应该快速退守到有利的防守点2,待稳固防守后再伺机反攻。
2.3 球位于进攻区时的行为规划
当球位于进攻区8时,我方队员要把握好机会努力突破对方防线并争取破门得分,同时,也要注意随时转入防守。考虑到进攻得手的关键是突破对方防线,为此,采用一前一后、左右适当错开的“双机器人并进”进攻方式。一旦主攻机器人受阻,助攻机器人可以马上接球继续进攻。如果丢球,助攻机器人也可以立即争抢或者尽快堵截,以争取时间让另一个机器人回防。助攻机器人一般占据满足下述要求的有利目标点:其x坐标比球的x坐标减2个车长,y坐标比球的y坐标减1个半车长(左路进攻)或加1个半车长(右路进攻)。
2.4 球位于角区及边界区的行为规划
当球位于角区时,离球较近的机器人去追球,另一机器人则占据有利位置。追球的机器人追到球时,一般采用旋转踢球方式将球踢出角区。当小球位于边界区时,采取的策略与在防守区及进攻区时相似,此外还要进行是否进行旋转踢球的判断。若需要旋转踢球,则进一步判断是顺时针还是逆时针旋转。
2.5 控球机器人的运动规划
当机器人追到球后,毫无疑问,它应该向对方球门方向运动,所以将控球机器人的目标点定为对方球门中点比较合适。此时机器人会带球向对方球门方向运动。在此过程中会判断是否适合射门,如果满足射门条件则启动射门行为。
3 角色分配及行为触发方式
角色分配就是将任务分配给场上的机器人,也就是设置机器人的行为标志,并给出某些行为需要的目标点。以上是以3对3比赛为例说明的,守门员固定,角色分配只需将两个任务分配给两个机器人。在5对5或11对11比赛中,有多个角色需要分配,下面给出一种通用的角色分配方法。该方法保证每个机器人都能分配到任务,而且每个机器人的任务是惟一的,分配过程如下:
(1)为每个机器人设置一个已分配标志,并初始化为未分配状态(未分配状态为0,已分配状态为1)。
(2)找出最重要的待分配的任务。
(3)进入分配循环,依次查找各机器人的已分配标志,若该机器人已分配任务,则检查下一个机器人的该标志;若该机器人未分配任务,则按一定的规则计算出该机器人针对该任务的性能指标,并在循环中比较各个未分配任务的机器人的该指标。找出该指标最优的机器人,将该任务分配给它,即将其行为标志置成相应值,并给出可能需要的目标点,并将其已分配标志置为1。
(4)对下一个待分配的任务重复步骤3,直到场上活动的机器人均有确定的任务。
当设置好行为标志以及可能用到的目标点后,就可以根据行为标志触发各个机器人的行为。策略的实施用到以下两个主要函数:
(1)SetActionFlag( )用于设置各个机器人行为标志及可能用到的目标点。算法描述如下:
①判断球所在区域,计算每个机器人到球的距离dist[i]以及机器人朝向与机器人和球连线的夹角delta_theta[i];
②根据球所在的区域进入相应的策略。根据机器人与球的位置关系(前方或后方),确定总体任务(即待分配的各个任务),根据上面的方法进行角色分配,即设置各个机器人的行为标志ActionFlag[i]及给出可能需要的目标点target[i];
③检验各个机器人是否需要特殊反应行为(如碰边界后退),如需要,则将行为标志值置成相应值。函数返回。
(2)RobotAction( )用来根据各个机器人的行为标志ActionFlag[i]及可能用到的target[i],调用相应的底层动作函数。RobotAction( )描述如下:
判断各行为标志,若为1,则后退;为 2,右旋;为3,左旋;为4,射门;为5,追球;为6则到目标点。带球前进可以看作追球的一种特殊情况。因此其行为标志与追球相同。决策系统根据该行为标志调用底层动作函数,其内部会根据该机器人与球的距离判断是否已接触球,若已接触球,则为带球前进,此时该机器人要采取一定的避障措施。关于避障及路径规划算法在文献[6]和文献[8]中均有介绍,不再讨论。
通过上述的角色分配及行为触发方式,可保证机器人各种反应行为能及时地触发。这样,每个调用周期均能让各个机器人产生合理的行为。
本文分析了机器人在场上的基本行为,确定了不同情况下的有利目标点及各机器人应有的行为,建立了机器人的角色分配和行为触发机制。该行为产生方法能够动态分配角色,使场上每个机器人随时都有明确的目标和行为。该行为产生机制层次分明,实时性好,便于扩充和升级。实验及比赛结果表明,球队的攻防效果均得到了明显的改善。对行为规划部分稍加改进,该行为产生方法即可用于5对5及11对11比赛中。在现实中,该行为产生方法可应用在多个领域。例如在军事领域,该方法中的运动规划、角色分配及行为触发机制可用于无人作战平台群的协作控制,如无人驾驶飞机群的编队控制及与敌方的辅助攻防对抗、海军舰队的编队与辅助协同作战以及未来战场上机器人部队的组成等。
参考文献
1 洪炳熔.机器人足球比赛——发展人工智能的里程碑[J].电子世界;2000(4):4~5
2 Minoru Asada,Hiroaki Kitano.The RoboCup Challenge[J].Robotics and Autonomous Systems,1999;29:3~12
3 王湘中,喻寿益,龙永红.机器人足球赛中队员角色的动态分配策略[J].哈尔滨工业大学学报;2004:36(7):943~945
4 吴丽娟,张春晖,徐心和.小球机器人决策系统推理模型[J].东北大学学报(自然科学版),2001;22(6):597~599
5 Han-PangHuang,Chao-ChiunLiang.Strategy-based decision making of a soccer robot system using a real-time self-orga-nizing fuzzy decision tree[J].Fuzzy Sets and Systems,2002;12(7):59~64
6 Chi-Yang Che,Tzuu-Hseng.Li.A Real-Time Role Assignment Mechanism for Five-on-Five Robot Soccer Competition[A].Proceedings of the IEEE International Conference on Robo-tics& Automation[C].Taipei.Taiwan,2004;(3):1099~1104
7 王红宝,赵臣,王华.微型足球机器人守门员防守策略研究[J].哈尔滨工业大学学报,2004;36(7):884~886
8 KIM D H,KIM J H.A real-time limit-cycle navigation method for fast mobile robots and its application to robot soccer[J].Robotics and Autonomous Systems, 2003;42:17~30