微型足球机器人行为产生方法与实现

时间:2007-04-09

摘要:将整个赛场划分成10个区域,分析了机器人在活动区域的基本行为,确定了不同情况下的有利目标点和反应条件,建立了机器人行为触发机制。该行为产生方法将角色分配和行为产生相结合,使场上每个机器人随时都有明确的目标和行为,结构层次分明,实时性强,便于升级。
关键词:机器人足球策略行为产生角色分配反应行为

    机器人足球赛为机械设计、自动控制、人工智能、计算机视觉等提供了一个良好的研究与试验平台,已成为一个热门研究课题。微型机器人足球赛是机器人足球赛中基本的一种,它由视觉子系统、无线通信子系统、策略子系统以及足球机器人子系统组成。比赛是在策略子系统指挥下自主进行的,每秒钟要处理25或30帧图像。当拥有了良好的硬件设备后,整个球队水平主要决定于策略子系统的水平。其主要任务包括:场上攻防态势判断、球队中每个机器人角色划分及任务分配、机器人运动规划、机器人问相互配合等。由于场上形势千变万化,决策时间又相当短暂,所以如何构建一个良好的策略子系统成为研究的重点。文献[5]采用实时自组织模糊决策树进行决策,将球所在区域以及双方控球状态划分成12种情况,针对每种情况提出了相应的策略。由于判断条件比较复杂,实施起来难以达到满意的效果。文献列出了常见的反应行为,并给出了有利目标点的计算方法。其缺点是没有给出一种合适的行为触发机制。本文分析了机器人应有的几种反应行为,确定了策略研究重点,提出了一种新的队员角色分配策略,可以根据不同的情况产生不同的行为并动态地分配给相应的机器人;设计了一套行为触发机制,能及时合理地触发反应行为,从而保证场上每个机器人随时都有明确的目标和行为。

1 场地的划分
   
根据比赛过程分析,将球场划分成如图l所示几个区域。区域l、2、3、4为角区,5、6为边界区域,区域7为防守区,区域8为进攻区,区域9、10分别为我方禁区和对方禁区。

2 行为标志及有利目标点的确定
2.1 足球机器人应有的反应行为及其条件

    下面分析攻,防队员的基本行为。守门员的动作行为比较特殊,可参见文献。综合分析足球机器人的场上行为,可划分为如下几类:
    (1)射门
    当机器人离球较近且处于较有利的位姿时,如图2所示,应毫不犹豫地进行射门以破门得分。射门行为的触发条件为:
    ①机器人与球的距离d小于某个临界值d0,在实验中取d0=30cm;
    ②机器人的朝向与机器人和球连线方向的夹角AB小于某个临界值岛θ0,在实验中取θ0==30°;
    ③机器人和球连线方向应大致朝向对方球门,即规定其方向在对方禁区两端和机器人连线范围内.如图2中两虚线包围的范围。
    (2)旋转踢球
    当球位于边界区或者角区,且机器人又没有很好的踢球位姿时,可以采用旋转的办法将球踢出边界区或者角区。
    (3)触界后退
    当机器人碰到场地边界时,应停止前进并快速后退。
    (4)追球(或带球前进)
    追球是机器人应具有的基本的行为之一。何时产生这种行为以及由哪个队员来完成该行为将在后面防守区和进攻区的行为规划中加以确定。
    (5)到目标点
    当一个机器人带球进攻时,另一个机器人需要跑到协攻位置;在进行防守时也需要抢先占据有利位置,这就是机器人的跑位问题。从当前位置跑向目标位置是机器人另一种基本的行为。
    策略研究的重点应放在射门、追球、到目标点三种行为机制上。

2.2 球位于防守区时的行为规划
    当球位于防守区7时,场上队员的主要任务是进行防守和拦截;当条件具备时,又要不失时机地抢球进行反攻,变被动为主动。
    分三种情况讨论:
    (1)如图3.两机器人均位于球的后方。这种情况比较危险,两机器人均不适合抢球。此时两机器人应迅速回退到有利的防守点,例如图3中的1、2两点。上方的机器人目标点可选为点l,下方的机器人目标点为点2。

    (2)两机器人均位于球的前方。这是一种比较有利的防守态势,既能占据有利的防守位置,也可在条件允许时断球反攻。策略子系统的任务有三个:其一是确定主防守队员,一般情况下,对方从哪一侧进攻,就由相应一侧队员作为主防守队员;其二是进行防守运动规划,在固守的前提下破坏掉对方的进攻;其三是确定断球时机,由防守转为进攻,应该判断两机器人是否适合抢球或者干扰对方进攻。两个有利的防守点依然是图3中的点1和点2。可直接根据两机器人的y坐标动态分配有利防守点:y坐标大的机器人其目标点为点1,小的则为点2。当只有一个防守队员适合去断球时,另一机器人要退守到有利的防守点,如图4中点l。如果两个机器人均适合抢球,则应选择更有利于抢球者,另一机器人则退守到有利的防守点。

    不能只根据机器人与球的距离确定断球机器人。如图5所示,虽然机器人1离球很近,但当机器人的朝向与机器人和球的连线之夹角过大时,机器人很难向对方半场踢球。此时机器人1应向点l退守,由机器人2去抢球。实验表明,当同时满足下面条件时不利于机器人追球:
    ①机器人与球的距离d<10cm;
    ②机器人的朝向与机器人和球的连线夹角△θ>20°。

    如果经过上述判断。两机器人均适合抢球,此时应进一步判断哪个机器人更适合去抢球。为此,定义抢球能力:

   
    式中,k1、k2、d、△θ分别为距离加权因子、角度加权因子、机器人到球的距离(cm)、机器人朝向与机器人和球连线之间的夹角(rad)。实验中k1取O.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或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比赛中。在现实中,该行为产生方法可应用在多个领域。例如在军事领域,该方法中的运动规划、角色分配及行为触发机制可用于无人作战平台群的协作控制,如无人驾驶飞机群的编队控制及与敌方的辅助攻防对抗、海军舰队的编队与辅助协同作战以及未来战场上机器人部队的组成等。


  
上一篇:开关电源的数字控制实现方案
下一篇:精密的智能电池使充电变简单了

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料