机器人足球比赛是一个典型的多智能体系统(Multi2Agent System) ,举办机器人足球赛的目的是为了促进分布人工智能研究与教育的发展。目前,有关机器人足球比赛的国际组织有两个: Robocup 联合会和FIRA 组织。FIRA (Federation of International Robot2Soccer Association) 是由韩国人创办的组织,从1997 年开始每年举办一届比赛,其国际影响较小。Robocup (Robot World Cup) 即机器人世界杯足球锦杯赛。1992 年成立了Robocup 联合会, 1996 年在日本举行了一次表演赛, 获得了很大成功。第一届Robocup 比赛和会议于1997 年举行,以后每年举办一届。Robocup 比赛包括仿真组、小型机器人组、中型机器人组、有腿机器人组,其中仿真组比赛是各种比赛中参赛队数目最多的一种。
1 Robocup 仿真比赛环境
Robocup 仿真比赛是在一个标准的计算机环境内进行的,比赛规则基本上于国际足球联合会的比赛规则一致。比赛采用Client/ Server 方式,由Robocup 委员会提供标准的SoccerServer 系统,各参赛队编写各自的Client 程序模拟实际足球队进行比赛。
SoccerServer 是一个允许竞赛者使用各种程序语言进行仿真比赛的系统。它提供了一个虚拟场地, 并对比赛双方的全部队员和足球的移动进行仿真,以离散的方式控制比赛的过程。为了使仿真比赛更加真实,SoccerServer 在环境中生成一定的环境噪声对每个Client 的感知和执行动作进行干扰。Client 相当于球员的大脑,指挥球员的运动。Server 和Client 之间的通信是通过UDP/ IP 协议进行的,竞赛者可以使用支持UDP/ IP 的任何程序系统。Client 发送指令去控制相应队员,同时从Server 接受队员的感知信息。每个Client 模块只允许控制一名球员,Client 之间不允许直接进行通信,Client 之间通讯必须通过SoccerServer 来进行。竞赛者同时运行与比赛球员数目相等的Client ,SoccerServer 包含两个程序: Soc2 cerServer 和SoccerMonior 。SoccerServer 的工作是仿真足球和队员的状态、与Client 进行通信、按照一定的规则控制游戏进程(裁判功能) 。SoccerMonitor 则负责利用X window 或Windows95 系统显示虚拟场地。Server 可以同时与多个SoccerMonitor 相连,在多个显示器上同时显示比赛的情况。
仿真比赛环境的特点主要有:
(1) 动态实时系统。比赛每个仿真周期为100ms (1998 年国际比赛规则),要求每个Agent 在此时间内完成全部计算并将要执行的命令发送给SoccerServer , 否则将失去本次动作执行的机会。
(2) 环境干扰。由于SoccerServer 的影响,每个Agent 不能准确地感知环境,同时不能精确地改变环境。
(3) 合作与协调。全部Agent 具有一个共同的目标,需要使用有效的方法进行Agent 之间的合作,同时解决局部目标与全局目标,个体目标与共同目标之间冲突的问题。
(4) 受限的通讯带宽。系统不允许Agent 之间直接进行信息交换,全部通讯必须SoccerServer 控制。在一定的仿真周期内,只有有限的消息得到传递。
2 机器人足球队结构
为了完成比赛任务,每个队员,即一个Agent 必须具有如下能力:
(1) 个人技术,对应于人类足球队员的个人能力。
(2) 决策能力,根据比赛场的实际情况,进行实时决策,以决定下一步的动作。
(3) 合作能力,可以和其他Agent 合作完成一定的子目标。
(4) 学习能力,包括在线学习(比赛过程中通过学习来判断对方的行为) 和离线学习(主要用于学习个人技术) 。
(5) 通讯能力,与本队的其他队员实现有限的信息交换(受SoccerServer 的限制) 并不被对方破译。在仿真系统的设计中,由于受到通讯带宽的限制,Agent 之间的信息交互不能简单地通过传统的A2 gent 通讯语言来实现;必须提高Agent 的智能水平,使其具有很高的学习和思维能力;每个Agent 的决策不能受到任何环境因素的限制。目前使
用的最多的Agent 结构基于层结构的混合结构模型。队员Agent 结构如图1 所示。
图3 机器人射门动作图4 机器人点射动作
(2) 射门条件不满足
设机器人当前位置为(Xp, Y p) 。足球当前位置为( Xb, Yb) 。T 时间后足球位置为(Xt, Y t);t 时间内机器人的平均速度在水平和垂直方向的分量分别是V bx 是V by , 足球的平均速度在水平和垂直方向的分量分别是V bx 和V by 。
由下列方程
Xt-Xb=Vbx ·t,Xt-Xp+dcos(a) = Vpx ·t
Yt-Yb=Vby ·t,Y t-Yp+dsin (a) = Vpy ·t
得出Xt 和Yt 的值,机器人的下一步目标位置是Xt + dcos(a), Y t + dsin ( a) 。式中,d 为任一定值, 作为机器人拦截足球的超前距离;当机器人属于左方时,d 取正值,否则d 取负值。
3.2.2 非控球队员决策
非控球队员的可选动作为{盯人、盯无球队员、阻截球路、跑位}, 主要对应于防守状态和进攻状态的跑位。盯人的目的是防止对方带球队员进入敏感区域;盯无球队员的目的是为了截断对方的传接球;阻截球路是防止对方队员将球向敏感区域传递或直接远距离射门;跑位既要考虑位置的敏感度,又要考虑人数的密度。
4 结 论
机器人的结构按照智能程度从低到高的次序可以分为通讯层、动作层、决策层。本文简要介绍了基本动作层,重点讨论了决策层的实现。015 层的实现还有待于今后探讨。
参考文献
1 蔡自新,徐光佑1 人工智能及其应用1 北京:清华大学出版社,2000 ,1 :12~32
2 陆汝铃1 人工智能(上、下册) 1 北京:科学出版社,1995 ,8 :20~116
3 Peter Stone.Layered Learning in Multi2agent System. PHD dissertation ,school of computer science ,CMU ,1998 :112~300
4 Hans2Dieter Burkhard , Markus Hannebauer ,Jan Wendler. At Humboldt2development , Practice and Theory. RoboCup297 :
Robot Soccer World Cup Ⅰ,1998 :1~19
5 Hiroki Kitano. Robocup298 ;Robot Soccer World Cup Ⅱ,1998 :19~30
6 Gerhard W. Multi2Agent System:A moden Approach to Distributed Artificial Intelligence1 Boston:MIT Press
图1 队员Agent 结构图2 仿真机器人结构
3 设计思路
按照智能层次的划分,设计的仿真机器人的结构可以分为4 层。如图2 所示。
通讯层是整个结构的最低层,直接负责与SoccerServer 进行通讯,发送动作指令到SoccerServer , 并从服务器得到视觉信息。基本动作层定义了全部客户程序的个人动作,这些动作属于复合动作,即需要多个周期才能完成。015 层的功能非常重要,主要负责协调当前比赛和队员的状态,保证个人动作的顺利实现。此层对于决策层来说,是完全透明的。顶层决策层是智能水平最高,负责根据比赛情况进行实时决策。
3.1.1 基本动作层
每个动作的执行需要多个周期才能完成。主要包括带球、传球和截球、高速踢球、转球等技术。核心是截球技术。基本动作的完成要求成功率高,不能丢球。同时,结合转球技术,可以躲避对方球员断球。
对于非控球队员,基本动作包括盯人、盯无球队员、阻截球路、跑位。基本动作层为顶层决策层提供可选动作集。
3.2 决策层的设计
3.2.1 控球队员决策
控球队员的可选动作{带球,传球,射门} 。
仿真机器人足球比赛,决策采取的策略为双方不停地追抢足球,遇到机会就射门。所以,可以将场上的形势分为两种:射门条件满足和射门条件不满足,这样决策层系统就转化为对这两种状态的处理。
(1) 射门条件满足
当球队进攻或传球时,常使用射门和点射动作。若给出球和球门的位置,则可计算出来他们的相对位置。射门如图3 所示。点射如图4 所示。如果满足下列两个条件就可以射门: (i) 球位于机器人和球门之间; (ii) 从机器人到球所成直线在球门覆盖区内,就是Q1 ≤ Qb ≤ Qh 。
为防止球员朝自己方面踢,点射动作应采用图4 第二种情况。


【