浙江大学计算机仿真足球机器人的设计与实现

时间:2022-03-11 13:23:08  热度:0°C
浙江大学计算机仿真足球机器人的设计与实现/毕业设计论文 浙江大学本科毕业论文 i摘 要 随着计算机技术的发展,分布式人工智能中多智能体系统(MAS:Multi-agent System)的理论及应用研究已经成为人工智能研究的热点。RoboCup(Robot World Cup),即机器人世界杯足球锦标赛,是一个在实时异步,有噪声的对抗环境下,研究多智能体的决策和合作的问题。要实现多智能体间的良好的合作必须克服诸如通讯带宽低,通讯不可靠,干扰因素多,每个智能体获得的感知信息是不完整的,智能体的执行动作也存在误差等问题。作为国际上一项为提高相关领域的教育和研究水平而举行的大型比赛和学术活动,通过提供一个标准任务来促进分布式人工智能、智能机器人技术、及其相关领域的研究与发展。 本篇论文详细介绍了计算机仿真足球机器人的设计与实现。首先介绍了RoboCup的研究背景,然后介绍了SoccerServer的仿真环境。从第三章开始介绍了具体的足球机器人Agent的设计和实现。Agent的框架部分说明了开发环境,程序的基本框架。通讯层主要分析智能体获得信息后,怎么处理这些信息,更新智能体内部维持的世界模型。 Agent的个人技术部分则侧重阐述了程序设计中的难点。最后分析了Agent的顶层策略,讲述了球队上层结构的设计,提出了Agent的智能化设计。例如基于场上形势的动态站位和角色变换,智能性的观察和通讯机制。 关键词: RoboCup,SoccerServer,多智能体系统,分布式人工智能 nts浙江大学本科毕业论文 iiAbstract With the development of the computer technology/ research on the theory and application of Multi-agent system (MAS) has become a hotspot of Artificial Intelligence/ RoboCup,the Robot World Cup,is a fully distributed/ multi-agent domain with both teammates and adversaries under the condition of real-time asynchronous and noisy conflict/ In order to achieve a good co-operation between the agents/ some problems must be resolved such as low bandwidth/ unstable communication and too much interference/ As an academic initiative of the education and research in such fields/ RoboCup provides a standard project for development of DAI (Distributed Artificial Intelligence)/ Robotic/ etc/ The paper presents a Design and Implement of the Soccer Simulator Robot/ First/ the background of RoboCup and the simulator model of the Soccerserver are introduced/ Then the design and implementation of Soccer Agent is described/ In chapter 3/ the main framework of the Agent is suggested/ Simultaneously/ how to maintain the world state when the agent receives sense information from server is analyzed/ Finally the top-level strategy such as Situation Based Dynamic Positioning and Role Exchange/ Intelligent Perception and Communication is discussed in detail/ Keywords/ RoboCup/ SoccerServer/ Multi-agent system/Distributed Artificial Intelligence nts浙江大学本科毕业论文 iii目 录 摘 要/I ABSTRACT / II 目 录/III 第一章 ROBOCUP研究背景/ 1 1/1 引言/ 1 1/2 中国ROBOCUP研究现状/ 3 第二章 SOCCERSERVER仿真环境/ 4 2/1 ROBOCUP仿真比赛环境/ 4 2/2 SOCCERSERVER仿真模型/ 5 2/2/1 场地和球员/ 5 2/2/2 环境干扰/ 6 2/2/3 球员的体力模型/ 6 2/2/4 球员的感知信息/ 7 2/3 特点/ 12 2/4 小结/ 12 第三章 AGENT框架概述/ 13 3/1 开发环境/ 13 3/2 程序框架/ 13 3/2/1 根据智能层次划分/ 13 3/2/2 根据程序结构划分程序框架/ 16 3/3 小结/ 20 第四章 通讯及信息处理/ 21 4/1 球员体系结构/ 21 4/2 智能体基本循环/ 21 4/3 预言性记忆/ 22 4/3/1 对象描述/ 22 4/3/2 智能体世界模型的更新/ 23 第五章 底层技术/ 26 nts浙江大学本科毕业论文 iv5/1 PLOS/ 26 5/2 几何计算和神经网络/ 26 5/3 底层动作的发送策略/ 27 5/4 小结/ 28 第六章 顶层策略/ 29 6/1 阵型和角色/ 29 6/2 阵线位置的确定/ 30 6/3 攻防状态的切换/ 31 6/4 基于场上形势的动态站位和角色变换/ 32 6/5 智能感知和通讯/ 33 6/5/1 智能通讯机制/ 33 6/5/2 智能观察机制/ 33 6/6 小结/ 34 第七章 结论和展望/ 35 参考文献/ 36 致 谢/ 37 ntsRobuCup研究背景 1第一章 RoboCup研究背景 1/1 引言 RoboCup(Robot World Cup),即机器人世界杯足球锦标赛。它是国际上一项为提高相关领域的教育和研究水平而举行的大型比赛和学术活动,通过提供一个标准任务来促进分布式人工智能、智能机器人技术、及其相关领域的研究与发展。 训练和制造机器人进行足球赛,是当前人工智能和机器人领域的研究热点之一。机器人足球比赛的设想首先是由加拿大不列颠哥伦比亚大学的教授Alan Mackworth在1992年的论文On Seeing Robots中提出的。同年10月,在东京举行的关于人工智能领域重大挑战的研讨会中,与会的研究人员讨论了人工智能领域中具有挑战性的问题,同时对制造和训练机器人进行足球比赛以促进相关领域研究的问题进行了探讨。在一些学者的积极倡导(如美国CMU的Manuela M/ Veloso教授等),以及SONY公司的全力支持下,RoboCup世界联合会于1996年宣告成立,并于同年在日本举行了一次表演赛,获得了很大地成功。比赛每年举办一届。第一届RoboCup比赛和会议于1997年在日本的名古屋举行,大约有40支机器人球队(包括美国、日本和欧洲的主要大学及研究机构)和超过5000名观众参加此次盛会。1998年7月,正当第16届世界杯足球赛渐入佳境之时,第二届机器人足球世界杯赛在巴黎隆重举行,60多支球队参加了比赛。1999年7月,第三届机器人足球世界杯赛在瑞典斯德哥尔摩举行,参赛队多达90余支。一些著名的大学(如美国卡内基梅隆大学、康奈尔大学)、国立研究机构(如美国NASA国家航空和宇宙航行局)和大公司(如日本SONY公司)均参与了相关的活动和比赛。第四届RoboCup机器人足球世界杯赛在澳大利亚墨尔本举行,中国有了第一支进入 RoboCup 世界杯赛仿真组比赛的球队科大蓝鹰队,并获得第九名。今年8月将在美国西雅图举行第五届机器人足球世界杯赛。 1997年可以说是人工智能发展史上重要的一年。1997年5月,IBM公司的深蓝计算机在国际象棋比赛中击败了人类的国际象棋冠军卡斯帕洛夫。1997年7月4日,NASA的自治机器人系统寄居者,成功***火星,并在火星表面ntsRobuCup研究背景 2开展活动。1997年8月23日到29日,第一届RoboCup比赛和会议成功举行,从而为实现机器人足球队在未来击败人类足球冠***的梦想迈出了坚实的第一步。 举办机器人世界杯足球赛的目的是为了促进分布式人工智能研究与教育的发展。通过提供一个标准任务,使得研究人员利用各种技术,获得更好的解决方案,从而有效促进各领域的发展。为了让一个机器人组成的足球队更接近一个人类的足球队,各种技术必须完美的结合在一起。涉及的研究领域包括:智能机器人系统、多智能体系统、实时模式识别与行为系统、智能体结构设计、实时规划和推理、基于网络的三维图形交互、传感器技术等。研究目标是计划经过五十年左右的研究,使机器人足球队能战胜人类足球冠***。 在棋类比赛中人工智能已经取得了很大的成功。比较一下Chess和RoboCup的区别(表一),可以明显看出RoboCup有如下特点:动态、实时、信息不完全、非符号化,和分布性。这就对人工智能的研究提出了更高的要求。 Chess Robocup Environment Static Dynamic State Change Turn Taking RealTime Info/accessibility Complete Incomplete Sensor Readings Symbolic Non-Symbolic Control Central Distributed 表一 棋类比赛和RoboCup的对比 目前,RoboCup活动包括如下几个方面: 1/ 技术会议 2/ 机器人足球赛 3/ 机器人足球挑战赛 4/ 教育程序 5/ 基础结构发展 当然,机器人足球赛是整个活动的主要部分,研究者们会聚一堂,评价研究的进展情况。机器人足球赛锦标包括: 1/ 仿真组比赛 ntsRobuCup研究背景 32/ 小型机器人组比赛 3/ 小型机器人组标准比赛(每队11人) 4/ 中型机器人组比赛 5/ Sony 有腿机器人比赛 (Sony公司发起) 6/ 类人机器人组比赛 (计划从2002年开始) 7/ 遥操作比赛(即将宣布) 8/ RoboCup展示会 RoboCup仿真组比赛是各种比赛中参赛队数目最多的一种。由于仿真环境与人类足球比赛的环境相似,比赛队员的仿真模型与实际队员也很接近,这里可以实现机器人比赛中由于机器人硬件的不足而放弃的规则,故其对于分布式人工智能理论的研究具有重要意义。 1/2 中国RoboCup研究现状 1999年6月,经国际RoboCup联合会***北野宏明授权,由清华大学和中国科大共同发起,成立了国际RoboCup联合会中国分会,即China RoboCup Association(CRA)。并于当年10月在重庆举办第一届中国RoboCup仿真机器人足球赛。2000年6月在安徽合肥中国科学技术大学举行的全球智能控制大会上同时进行了中国RoboCup2000机器人足球锦标赛。中国RoboCup-2001机器人足球锦标赛将于今年8月13日至16日在昆明举行,参赛队伍有浙江大学、中国科技大学、清华大学、北京理工大学等院校。中国科技大学已经参加了2000年RoboCup 世界杯赛仿真组比赛,还将参加今年八月在美国西雅图举行的第五届机器人足球世界杯仿真组比赛和有腿组比赛;参加今年仿真组比赛的中国队伍还有清华大学队。ntsSoccerServer仿真环境 4第二章 SoccerServer仿真环境 2/1 RoboCup仿真比赛环境 RoboCup仿真组比赛是各种比赛中参赛队数目最多的一种。仿真比赛是在一个标准的计算机环境内进行的,比赛规则与国际足球联合会的比赛规则相似,只是在某些方面有改动。本节简要的介绍仿真比赛主要部分。 比赛采用Client/Server方式,由RoboCup联合会提供标准的SoccerServer系统,参赛队编写各自的Client程序,模拟实际足球队员进行比赛。 SoccerServer是一个允许竞赛者使用各种程序语言进行仿真足球比赛的系统。它提供了一个虚拟场地,并对比赛双方的全***员和足球的状态进行仿真。Client,相当于球员的大脑,指挥球员的运动。由于比赛是以Client/Server方式进行的,所以对球队的开发编译没有任何***。仅要求球队的开发工具提供通过UDP/IP连接的Client/Server支持,这是因为Server和每个Client之间的通讯都是通过UDP/IP端口实现的。每个Client都是***的进程,通过给定的端口和Server连接。一支球队可以有最多11个Client(或者说是球员),也就是说竞赛者同时运行与比赛球员数目相等的Client。当球员和Server连接上后,所有的信息都通过这个端口传递。球员发送他们下一步要做的动作请求给Server(如踢球,转身等)。Server接收到这些消息后,执行对应指令,并相应的更新 图1 SoccerMonitor ntsSoccerServer仿真环境 5环境。另一方面,Server向所有的球员提供感知信息(如:关于足球,球门和其他球员位置的可视信息)。每个Client模块只允许控制一名球员,Client之间不允许直接进行通信,Client之间的通讯必须通过SoccerServer来进行,因此通讯带宽受到一定的***。SoccerServer包含两个程序:SoccerServer和SoccerMonitor。 SoccerServer的工作是仿真足球和队员的状态、与Client进行通信、按照一定的规则控制游戏的进程(裁判功能)。SoccerMonitor是一个可视化的工具,负责利用Windows(X window或Windows 9X/2K)系统显示虚拟场地,如图1所示。在SoccerMonitor上显示的信息包括比分,球队名字,所有球员和足球的位置。SoccerMonitor也提供了一个很简单的Server接口。如:当两支球队都连接上后,可以点击在SoccerMonitor上的“KickOff”按钮开始比赛。当然,在Server上进行比赛,SoccerMonitor并不是必需的。然而,如果有需要的话,可以同时与多个SoccerMonitor相连,在多个显示器上同时显示比赛的情况。 2/2 SoccerServer仿真模型 2/2/1 场地和球员 仿真环境中足球场和其中的全部对象都是二维的。任何对象都没有高度的概念。比赛场地的尺寸为10568(单位没有意义),球门宽度为14/64,是实际比例的两倍。实验证明,对于正常的宽度比例是很难进球的。 球员和球都使用圆圈来表示。动作模型是离散的(在一个仿真周期结束时全部的动作被执行一次)。每个仿真周期时间的长短是由参数simulator_step*决定的。在每个仿真周期结束前,SoccerServer接收所有Client的命令,并执行命令,利用当前场上对象(球员和球)的位置和速度信息计算出全部对象新的位置和速度信息。 在仿真周期内,对象的移动按如下公式进行计算: (11/+ tytxuu)=(tytxvv /)+(tytxaa /):accelerate (11/+ tytxpp)=(tytxpp /)+(11/+ tytxuu):move (11/+ tytxvv)= )/(11 +tytxuudecay:decayspeed *斜体表示SoccerServer的参数。 ntsSoccerServer仿真环境 6(11/+ tytxaa)=(0/0):resetacceleration 其中,(tytxpp /)和(tytxvv /)分别表示t时刻物体的位置和速度。Decay是一个参数,分别由ball-decay和player-decay控制。(tytxaa /)表示对象的加速度,可以通过dash*(针对队员)和kick(针对足球)的Power 参数计算得到: (tytxaa /)= Powerpower_rate )sin()/(cos(tt 其中t表示对象在t时刻的前进方向,power_rate就是dash_power_rate或者是kick_power_rate。如果对象为球员,它的方向就是球员脸朝向的方向。 对于足球,其方向的计算方法是: Directiontkictball+=ker 其中tball和tkic ker表示球和踢球队员当前的方向,而Direction是kick命令中第二个参数。 2/2/2 环境干扰 为了反映出实际比赛中球及球员运动的不确定性,SoccerServer在球及球员的移动和转身过程中加入了一定的干扰因素。 首先考虑移动,干扰是以如下方式加入的: (11/+ tytxuu)=(tytxvv /)+(tytxaa /)+(maxmax/rrrr) maxrr为属于maxmax/ rr的随机数。rmax的定义为: rmax )/(tytxvvrand = rand是player-rand和ball-rand的参数。 命令中的Moment和Power参数的干扰为:(用argument表示) umentrumentrandarg)1(arg += 2/2/3 球员的体力模型 每个球员都有自己的体力值。SoccerServer通过***球员的体力来阻止队员始终以最大速度(player_sp_max)跑动。球员的体力模型包含三个方面: 1) stamina ( 0,stamina_max),表示球员的体力,它***dash命令的Power参数。 2) effort ( effort_min,1/0) 表示了球员体力的使用效率。 3) recovery ( recovery_min,1/0) 控制体力的恢复速率。 *黑色斜体表示SoccerServer定义的球员命令。 ntsSoccerServer仿真环境 7具体的计算方法为: z 当一个球员使用(dash Power)命令时,他的Power参数要受到stamina和effort的影响: effective_dash_power = Min(stamina/ Power) effort stamina = stamina effective_dash_power 由上式可知,effort的大小决定了stamina中可以有效使用的部分。 z 在每个循环周期内,如果stamina低于effort_dec_thr时,effort减少,stamina高于effort_inc_thr时,effort增加: if stamina effort_dec_thr stamina_max and effort effort_min then effort = effort - effort_dec if stamina effort_inc_thr stamina_max and effort recover_min then recovery = recovery - recover_dec z 在每个循环周期内,stamina会得到一定程度的恢复。恢复时,依recovery的当前值进行: stamina = stamina + recoverystamina_inc if stamina stamina_max/ then stamina = stamina_max 2/2/4 球员的感知信息 球员从SoccerServer接受的感知信息包括听觉和视觉信息。对于球员来说,这些信息是非常重要的。本节详细论述感知信息的格式和使用方法。 1听觉信息 当某球员或裁判(referee)发送消息(say Message)时,附近的其他球员包括对方球员可以立即听到消息,没有延迟。他们从Server接收到(hear Time ntsSoccerServer仿真环境 8Sender Message)格式的消息。其中: 1/ Time:当前的仿真周期。 2/ Sender 如果是其他球员发送的消息,那么是发送者的相对方向,否则就是下面的可能选项: self:发送者是球员本人。 referee:发送者是裁判。 online_coach_left或者online_coach_ringt:发送者是在线教练。 3/ 如是裁判发的消息,Sender为“referee”,且可能的Message为:before_kick_off、kick_off_l、kick_off_r、kick_in_l、kick_in_r、corner_kick_l、corner_kick_r、goal_kick_l、goal_kick_r、free_kick_l、free_kik_r、offside_l、offside_r、play_on、half_time、time_up、extend、foul_Side_Unum、goal_Side_Point。 4/ Message代表消息的内容,最长say_msg_size个字节。 队员仅有有限的通讯能力,只能听到一定距离之内的声音,此距离由SoccerServer参数audio_cut_off_dist决定。同时队员在hear_decay个循环周期内只能听到hear_inc条消息。一般情况下,在2个循环周期内,当多名队员同时发送多个某消息时,一名队员只能接收一条,而丢失了其它的消息,被接收到的消息是不确定的(现在是根据消息到达的顺序来选择)。裁判(referee)所发的消息具有最高的优先级,可以被全***员接收到。为了避免球队阻塞信道使对手的交流失效,我们将球员的两支球队的听觉能力分离,也就是说,每个球员在每两个仿真周期内能从每支球队接收到一条消息。 2视觉信息 球员定期从SoccerServer得到视觉信息,视觉信息按如下格式定义: (see Time ObjInfo ObjInfo ) Time指示当前时间。 ObjInfo表示了可视对象的信息。其格式为: (ObjName Distance Direction DistChng DirChng BodyDir HeadDir) ObjName = (p Teamname UniformNumber goalier) |(g l|r) |(b) |(f c) ntsSoccerServer仿真环境 9|(f l | c | r t | b ) |(f p l | r t | c | b ) |(f g l | r t | b ) |(f t | b l | r 10 | 20 | 30 | 40 |50 ) |(f l | r t | b 10 | 20 | 30 ) |(l l | r | t | b ) Distance,Direction表示目标的相对距离和相对方向。DistChng和DirChng分别表示目标距离和方向的相对变化,DistChng和DirChng不是精确值,只是一个粗略值。当被观察的目标是其他队员时,参数中增加BodyDir和HeadDir,分别是被观察球员相对观察者的身体和头部的相对角度。如果两个球员的身体都是相同的角度,那么BodyDir就等于零。HeadDir也一样。字母:“l r c t b”分别表示了左,右,中心,上,下。“p”表示罚球区。详见下图。 图 2 比赛场地标志 Distance,Direction,DistChng和DirChng的计算方法为: 0xxtrxPPP = 0yytryPPP = 0xxtrxPvv = 0yytryPvv = Distance = 22ryrxPP + ntsSoccerServer仿真环境 10Direction = 0)/arctan( aPPrxry rxrxPe = / Distance ryryPe = / Distance )*()*(ryryrxrxevevDistChng += /)*()*(ryryrxrxevevDirChng += Distance )/180(* 其中)/(ytxtPP是目标的绝对位置坐标,)/(00 yxPP是接收视觉信息的队员自己本身的绝对坐标,)/(ytxtvv是目标的绝对速度,)/(00 yxvv队员自己的绝对速度。0a是队员所面向的绝对方向。另外)/(ryrxPP和)/(ryrxvv表示目标的相对位置和相对速度。)/(ryrxee表示平行于相对位置向量的单位向量。 球员的视觉信息由下面几个方面决定: z 视野宽度。正常模式为-45,45,宽模式为-90,90,窄模式为-22/5,22/5。 z 邻域。距离自己3米之内。当某个对象在球员的邻域内但在视野之外时,球员只能知道对象的类型(球,其他队员,球门或标志),不知道对象的准确名字。 z 远处目标信息的不确定性。无论远处的目标是球还是球员,目标的距离值按如下方式进行量化: )1/0)/_)/(log(exp(stepquantizedQuantizeQuantized = 其中/ dd分别表示精确距离和相应的量化距离。且: =)/( QVQuantize ceiling(V / Q)*Q 这表示队员是不能知道远处物体的精确位置的。例如:当距离为100/0时,最大噪声可达到10/0,但当距离在10/0之内时,噪声小于1/0。 对于远处目标是旗或线的情况,距离值按如下公式量化: )1/0)/_)/(log(exp(lsteppquantizedQuantizeQuantized = 观察模式决定了观察频率和从SoccerServer所接受视觉信息的细节。观察模式的包含两个参数:ANGLE_WIDTH和QUALITY。ANGLE_WIDTH为wide(=180)、normal(=90)和narrow(45)之一。QUALITY为high或low。当QUALITY设置为high时,SoccerServer为观察者发送详细的目标位置信息。当QUALITY设置为low时,Server为观察者发送简化的目标信息(只有目标的方向)。另一方面,Server为队员发送视觉信息的频率随着ANGLE_WIDTH和QUALITY而变化。缺省时间间隔为150毫秒(由Server参数send_step控制)。当观察角变宽时,频率加倍,反之减半。 ntsSoccerServer仿真环境 11请参考图3的标志,球员所获得的视觉信息和距离的相关程度很大。对于近距离球员,它既可以看到它所属的球队同时也可以看到它的球员号码。然而,随着距离的增加,首先消失的是球员的号码。然后距离的增加还会导致球员的队别也分不清楚了。在服务器端假定这些距离是 ar_lengthteam_too_fengthteam_far_lar_lengthunum_too_fengthunum_far_l 这里假定dist是球员和自己的距离,那么: z 如果lengthfarunum _dist /那么球员号码和球队名称都可见 z 如果lengthfartoounum _dist ength unum_far_l 0说明在对方半场),从而设定控球度。控球度flag取三个值,-1,0,1。初始情况下flag0,如果我方性能弱(目前设置为控球时间占小于等于30%),则flag1;如果对方性能较弱(目前取控球时间占大于等于70%),则flag1;如果双方球队性能相差不大(我方控球时间介于40%到60%之间),flag0; 其余flag不变。 球场上每支球队都有阵型,每个球员都有自己的角色,RoboCup也不例外。我们采用了三种阵型,433、334和541。比赛刚开始时,采用的阵型是433打法,在比赛期间,球队根据比分、剩余时间和球队控球度flag来转换阵型。 z 在比赛的大部分时间内,我们主要根据flag来转换阵型。 (1) 如果flag0,阵型不变; (2) 如果flag1,切换阵型到541,采用防守反击打法。 (3) 如果flag1,切换阵型到334,用以加强进攻。 z 在比赛临近结束时,则根据场上比分来确定阵线 (1) 如果我方落后,切换阵型到334,意图通过加强进攻,反败为胜。 (2) 如果我方领先,切换阵型到541,确保当前的胜利。 角色只有三种,前锋、中场、后卫(对于守门员,有专门的守门员策略)。我们对基本角色的划分非常粗略,角色的动态变换依赖于第二棵决策树的基于场nts顶层策略 30上动态形势的分析。当前只是简单的以空间位置来划分球员角色,并且指明在对应阵型下的球员应该在的策略站位点。对于已经确定的阵型,简单的划分位置靠前的相应几个球员为前锋,位置靠后的相应几个球员为后卫,中间剩下的就是中场。为了保证前锋线、中场线、后卫线这三条线的协调配合,我们还要确定这三线(也就是阵线)的大致位置范围。 6/2 阵线位置的确定 阵线位置直接关系到球员个体的场上站位。如果能够找到一种算法,能够将千变万化的场上形势抽象出一个场上模型出来,那么我们可以很轻松的根据这个场上模型来进行各种决策。到目前为止,还没有出现一种行之有效的算法。我们考虑的是和阵线有关的两个因素:足球位置和对方前锋位置。我方前锋的位置主要是由足球位置确定,而我方后卫则是考虑对方前锋而定,中场位置用来保证三条线之间的衔接。 为了更好的确定量度足球和对方前锋的位置,我们首先将球场模糊划分。 假设我方在左半场(球场长度是105) 16/5 15 21 21 15 16/5 -52/5 -36 -21 0 21 36 52/5 10 10 13 14 14 13 10 10 一区中心线 二区中心线 三区中心线 四区中心线 五区中心线 球场分成五个区域,相邻两个区域是重叠在一起的。如果不进行模糊划分,nts顶层策略 31相邻区域间有明确的分界线,那么一旦对象在分界线附近左右移动,会造成较大的振荡,影响球队性能。 z 足球在三区,即球场***位置 前锋线在四区活动,中场线在三区活动。 如果在一区活动的对方球员人数超过了一个,那么后卫线在一区活动;否则,考虑造越位情况,后卫线于二区活动。 如果足球在三区的停留时间超过一定限度,则前锋线后移,向三区靠拢。 z 足球在二区,即靠近我方球门的一边 前锋线于三区活动,中场线于二区活动,后卫线在一区。 如果足球在二区停留时间超过一定限度,则前锋线后移,向二区靠拢。 z 足球位于四区,即靠近对方球门处 前锋线为五区,中场线为四区。 如果在一区活动的对方球员人数超过了一个,那么后卫线在一区活动;否则,考虑造越位情况,后卫线于二区活动。 如果足球在四区的停留时间超过一定限度,则后卫线前移。 z 足球位于一区,即我方罚球区附近 前锋位于三区,中场位于二区,后卫位于一区。 如果足球在一区的停留时间超过一定限度,则中场退后支援,同时前锋稍微退后,保证中场和前锋的衔接。 如果足球在一区的停留时间更长,则中场线融入后卫线,前锋线退后支援。 z 足球位于五区,即对方罚球区附近 前锋位于五区,中场位于四区。 对方球员在一区二区的球员人数如果超过一个,则后卫在二区活动;否则后卫在三区活动。 如果足球在五区的停留时间超过一定限度,则中场前移支援,同时后卫稍微前移,保证中场和后卫的衔接。 如果足球在五区的停留时间更长,则中场线融入前锋线,后卫线前移支援。 6/3 攻防状态的切换 比赛状态是由球被何队所控制决定的,球进入我方队员脚下,则状态进入进攻状态,一旦进入对方控制,立即切换到防守状态;具体的所谓控制首先是判断控球队员,根据控球队员的队别来区分攻防状态;如果由于世界模型的原因,无nts顶层策略 32法获知控球队员,或者足球不为球员所控制,那么根据球队的控球度flag来决定攻防状态,flag1,切换到防守状态;而若flag1,则切换到进攻状态。下面描述攻防转换的一些情况和简单策略。 z 防守状态可由四种情况进入: 队员在敌方后场丢球; 辅助防守队员与主动防守队员全力回防,而前锋则全力进行回抢; 队员在中场丢球; 前锋回防中场,辅助防守负责前去抢球;主动防守队员回防; 队员在我方后场丢球; 辅助防守队员与主动防守队员全力拼抢; z 进攻状态可由四种情况进入: 我方开球、任意球、球门球、界外球、角球等; 按照已经定义的来进行; 队员在后防区域内截敌人的传球或断对方的带球; 如果在此区域内的被对方队员再截回去的可能性大,或传球的成功率低,则将球踢出界外;带球基本不予考虑; 队员在中场范围内得球; 在敌方的后防区域断他们的失误球和回传球; 6/4 基于场上形势的动态站位和角色变换 这是顶层决策的关键所在。球员不仅能够改变它们的站位(由阵型决定),而且能在当前阵型下改变球员角色。站位变换仅在此变换效用是利于球队时进行。效用是根据以下因素确定的,球员位置到它们的战略位置的距离,每个站位的重要性和在当前形势下每个站位是否恰当。 站位的重要性是由阵型和足球位置决定的。如:一个只有两种策略(进攻和防守)的球队策略,会在防守状态下赋予中卫很高的站位重要性,而在进攻状态下,中锋的重要性就增加了。虽然空间上的协调能保证成功的进行站位变换,我们还通过通讯得到加强。成功的动态站位和角色变换可以覆盖场上更多的区域。因为场上一共才11个球员,不可避免的会出现空当、防守盲区。通过球员间的角色变换,场上跑位,可以覆盖场上更多的区域范围,同时也可以带动对方球员,拉开对方防线,为我方提供进攻机会。 基于场上形势的动态站位和角色变换是相当复杂也是非常有效的研究课题,本文并不打算详细讨论,仅仅是提出这个问题供大家探讨。 nts顶层策略 336/5 智能感知和通讯 在前面讨论的世界状态模型中,这个模型维持着场上对象的位置和速度值,每个数值对应一个可信度。当位置是被看到的,可信度还和球员得到的精确性有关,视觉可信度最大(在球员精确的看到对象情况下)就置为最大值(1/0),其他的则赋予一个随两者距离增加而减少的位置可信度,然后随着时间(以周期为单位)而降低。SoccerServer的可视信息精度随间距而改变,由此反映在位置的可信度上。速度可信度也使用类似的推理方法。当球员要通过通讯共享它们的世界状态知识时,这种可信度方法是很有用的。 6/5/1 智能通讯机制 由于通讯是单声道,低带宽而且不可靠的,所以只有在从球队整体角度看有必要时才使用通讯。主要的问题在于什么时候传输什么通讯信息。通讯交流的目的是为了: z 在适当的时刻通过共享个体的世界状态,来维持智能体的世界状态的更新和精确性; z 通过交流部分决策来提高球队的协调性(如传球或站位更换)。

免责声明:
1. 《浙江大学计算机仿真足球机器人的设计与实现》内容来源于互联网,版权归原著者或相关公司所有。
2. 若《86561825文库网》收录的文本内容侵犯了您的权益或隐私,请立即通知我们删除。