关键词:足球机器人
2.3 球位于进攻区时的行为规划
当球位于进攻区8时,我方队员要把握好机会努力突破对方防线并争取破门得分,同时,也要注意随时转入防守。考虑到进攻得手的关键是突破对方防线,为此,采用一前一后、左右适当错开的“双机器人并进”进攻方式。一旦主攻机器人受阻,助攻机器人可以马上接球继续进攻。如果丢球,助攻机器人也可以立即争抢或者尽快堵截,以争取时间让另一个机器人回防。助攻机器人一般占据满足下述要求的有利目标点:其x坐标比球的x坐标减2个车长,y坐标比球的y坐标减1个半车长 (左路进攻)或加1个半车长(右路进攻)。
2.4 球位于角区及边界区的行为规划
当球位于角区时,离球较近的机器人去追球,另一机器人则占据有利位置。追球的机器人追到球时,一般采用旋转踢球方式将球踢出角区。当小球位于边界区时,采取的策略与在防守区及进攻区时相似,此外还要进行是否进行旋转踢球的判断。若需要旋转踢球,则进一步判断是顺时针还是逆时针旋转。
2.5 控球机器人的运动规期
当机器人追到球后,毫无疑问,它应该向对方球门方向运动,所以将控球机器人的目标点定为对方球门中点比较合适。此时机器人会带球向对方球门方向运动。在此过程中会判断是否适合射门,如果满足射门条件则启动射门行为。
3 角色分配及行为触发方式
角色分配就是将任务分配给场上的机器人,也就是设置机器人的行为标志,并给出某些行为需要的目标点。以上是以3对3比赛为例说明的,守门员固定,角色分配只需将两个任务分配给两个机器人。在5对5或ll对11比赛中,有多个角色需要分配,下面给出一种通用的角色分配方法。该方法保证每个机器人都能分配到任务,而且每个机器人的任务是惟一的,分配过程如下:
(1)为每个机器人设置一个已分配标志,并初始化为未分配状态(未分配状态为O,已分配状态为1)。
(2)找出最重要的待分配的任务。
(3)进入分配循环,依次查找各机器人的已分配标志,若该机器人已分配任务,则检查下一个机器人的该标志;若该机器人未分配任务,则按一定的规则计算出该机器人针对该任务的性能指标,并在循环中比较各个未分配任务的机器人的该指标。找出该指标最优的机器人,将该任务分配给它,即将其行为标志置成相应值,并给出可能需要的目标点,并将其已分配标志置为l。
(4)对下一个待分配的任务重复步骤3,直到场上活动的机器人均有确定的任务。
当设置好行为标志以及可能用到的目标点后,就可以根据行为标志触发各个机器人的行为。策略的实施用到以下两个主要函数:
(1)seIAetionFlag()用于设置各个机器人行为标志及可能用到的目标点。算法描述如下:
①判断球所在区域,计算每个机器人到球的距离dist[i]以及机器人朝向与机器人和球连线的夹角delta_theta[i];
②根据球所在的区域进人相应的策略。根据机器人与球的位置关系(前方或后方),确定总体任务(即待分配的各个任务),根据上面的方法进行角色分配,即设置各个机器人的行为标志ActionFLag[i]及给出可能需要的目标点target[i];
③检验各个机器人是否需要特殊反应行为(如碰边界后退),如需要。则将行为标志值置成相应值。函数返回。
(2)f{oboLAction()用来根据各个机器人的行为标志ActionFlag[i]及可能用到的target[i],调用相应的底层动作函数。RobotAction()描述如下:
判断各行为标志,若为l,剧后退;为2,右旋;为3,左旋;为4,射门;为5,追球;为6则到目标点。带球前进可以看作追球的一种特殊情况。因此其行为标志与追球相同。决策系统根据该行为标志调用底层动作函数,其内部会根据该机器人与球的距离判断是否已接触球,若已接触球,则为带球前进.此时该机器人要采取一定的避障措施。关于避障及路径规划算法在文献和文献中均有介绍,不再讨论。
通过上述的角色分配及行为触发方式,可保证机器人各种反应行为能及时地触发。这样,每个调用周期均能让各个机器人产生合理的行为。
本文分析了机器人在场上的基本行为,确定了不同情况下的有利目标点及各机器人应有的行为,建立了机器人的角色分配和行为触发机制。该行为产生方法能够动态分配角色,使场上每个机器人随时都有明确的目标和行为。该行为产生机制层次分明,实时性好,便于扩充和升级。实验及比赛结果表明,球队的攻防效果均得到了明显的改善。对行为规划部分稍加改进,该行为产生方法即可用于5对5及11对11比赛中。在现实中,该行为产生方法可应用在多个领域。例如在军事领域,该方法中的运动规划、角色分配及行为触发机制可用于无人作战平台群的协作控制,如无人驾驶飞机群的编队控制及与敌方的辅助攻防对抗、海军舰队的编队与辅助协同作战以及未来战场上机器人部队的组成等。