毕业论文

更新时间:2024-04-28 17:14:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

中图分类号:TP393.17

本 科 生 毕 业 设 计 (申请学士学位)

论文题目 2D仿真机器人足球整体性能的优化与实现 作者姓名 庞 伟

所学专业名称 计算机科学与技术 指导教师 赵瑞斌

2012年3月10日

学 号:论文答辩日期:

指 导 教 师:

2008210775 2011 年 5 月 日 (签字)

13

滁州学院本科毕业设计(论文)原创性声明

本人郑重声明:所呈交的设计(论文)是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果。本人完全意识到本声明的法律后果由本人承担。

目 录

摘要 ................................................................................................................................................................. 1 1 绪论 ............................................................................................................................................................. 2

1.1 背景及意义 ...................................................................................................................................... 2 1.2 RoboCup机器人世界杯 ................................................................................................................... 2 1.3 RoboCup仿真比赛 ........................................................................................................................... 3 1.4 论文组织结构 .................................................................................................................................. 3 2 RoboCup仿真比赛综述 .............................................................................................................................. 4

2.1 RoboCup仿真平台简介 ................................................................................................................... 4 2.2 比赛服务器端 .................................................................................................................................. 4 2.3 球员客户端 ...................................................................................................................................... 6 2.4 仿真平台主要特点 .......................................................................................................................... 6 3 多智能体系统架构 ..................................................................................................................................... 7

3.1 团队整体策略 .................................................................................................................................. 7

3.1.1 角色和阵型 ........................................................................................................................... 7 3.1.2 局部通讯模型 ....................................................................................................................... 8 3.2 智能体体系结构 ............................................................................................................................ 10

3.2.1 建模 ..................................................................................................................................... 10 3.2.2 通讯 ..................................................................................................................................... 12 3.2.3 动作 ..................................................................................................................................... 12 3.2.4知识库 .................................................................................................................................. 13 3.2.5 规划决策 ............................................................................................................................. 14

4异构智能体的选择和辨识 ........................................................................................................................ 15

4.1在线教练设计 ................................................................................................................................. 16 4.2异构智能体简介 ............................................................................................................................. 17 4.3异构智能体的选择 ......................................................................................................................... 17

4.3.1指标提炼 .............................................................................................................................. 18 4.3.2 指标归一化 ......................................................................................................................... 19 4.3.3 分配算法 ............................................................................................................................. 19 4.4 异构智能体识别 ............................................................................................................................ 20 4.5小结 ................................................................................................................................................. 20 5智能体间的配合与对抗 ............................................................................................................................ 21

5.1智能体间的配合——传球 ............................................................................................................. 21

5.1.1传球路线的搜索 .................................................................................................................. 21 5.1.2传球路线的决策 .................................................................................................................. 22 5.1.3更多的配合 .......................................................................................................................... 24 5.2智能体间的对抗——射门 ............................................................................................................. 24

5.2.1领先一步模型 ...................................................................................................................... 24 5.2.2射门成功率分析 .................................................................................................................. 24 5.2.3射门动作的测试 .................................................................................................................. 26 5.2.4其他对抗动作 ...................................................................................................................... 27

6 系统架构 ................................................................................................................................................... 27

结论与展望 ................................................................................................................................................... 29 参考文献 ....................................................................................................................................................... 30 致谢 ............................................................................................................................................................... 31

滁州学院本科毕业设计

2D仿真机器人足球整体性能的优化与实现

摘要:随着计算机技术的告诉发展,分布式人工智能中的多智能体系统(MAS: Multi-agent System)

的理论与及应用研究已经成为人工智能研究的热点。RoboCup(Robot World Cup,即机器人足球世界杯)作为人工智能和机器人学新的标准问题,具有多智能体系统的诸多特征,是各种新理论和技术良好的试验平台。本文首先介绍了RoboCup的研究背景,然后介绍了rcssserver的的仿真环境。从第三章开始切入本文正题,首先从团队整体策略和智能体体系结构两方面讲解了多智能体系统架构,其中应用了混合型的智能体体系结构将智能体架构分为建模模块、通讯模块、动作模块、知识库模块、规划决策模块和反应模块。第四章讲解了利用在线教练实现异构智能体的选择和辨识,并给出了智能体的选择和分配的框架。第五章在异构智能体的前提下重新完成了智能体间配合和对抗中典型动作的精炼。整体上对仿真机器人足球系统进行了优化。

关键词:RoboCup;分布式人工智能;多智能体系统

Optimization and Implementation of the 2D simulation of the

overall performance of the robot soccer

Abstract: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. As a new standard problem of AI and Robotics, RoboCup environment is a typical MAS and it is a good test bed for the theory and technology in this domain. First,this paper introduces the research background of RoboCup.Second, the simulation environment of robot soccer. After presenting the aim of this thesis, first it introduces the architecture of the multi-agent system from two aspects of the team’s overall strategy and the agent architecture, it apply the hybird agent architecture in the team. The architecture consists of modeling, communication, actions, domain knowledge, deliberative reasoning and reactive module. Accomplished the assignment and recognition of heterogeneous agent by an online coach in chapter four, some essential guidelines are abstracted and the framework of assignment is set up with these guidelines. Refined the typical actions with heterogeneous agents in chapter five. It optimization the simulation system as a whole.

Key words:RoboCup; Distributed Artificial Intelligence; Multi-agent system

1

滁州学院本科毕业设计

1 绪论

1.1 背景及意义

智能体(Agent)和多智能体系统(MAS:Multi-agent System)是当今人工智能领域的研究热点之一,其应用背景包括各类自主机器人、网络信息代理、分布式过程控制和新一代软件工程。Agent的理论和研究技术最早源于分布式人工智能,但从80年代末开始,Agent理论及技术研究从分布式人工智能中拓展出来,并与许多其他领域的知识互相借鉴,在许多不同于人工智能领域得到了广泛的应用。现在对Agent的特性研究中,认为一个Agent最基本的特性应该包含反应性、自主性、面向目标和社会性,然后根据其应用情况可以拥有其它特性:移动性、自适应性、反应性、理性、持续性、自启动和自利等特性。Agent概念的提出为人们提供了一种系统分析、计算和问题求解风范[1]。

多智能体系统的协作求解问题的能力超过单个的Agent是MAS产生的最直接原因,导致MAS研究逐渐兴起的其他原因还包括:与已有系统或软件的互操作;提高系统的效率和鲁棒性等。与单个Agent相比,MAS具有以下特点:每个Agent仅拥有不完全的信息和问题求解能力,不存在全局控制,数据是分布的,计算过程是并行的。基于MAS的模型概念模型代表了一种分析、设计和实现复杂、大型系统的方法途径。如何在多Agent动态环境中实现Agent的灵活性和动作执行性,是当前MAS的研究热点。此时,RoboCup作为人工智能和机器人学新的标准问题被提了出来,其具有MAS的诸多特征,成为各种新理论及技术的良好试验平台。

1.2 RoboCup机器人世界杯

RoboCup机器人世界杯是国际上一项为促进分布式人工智能、智能机器人技术及相关领域的研究与发展而举行的大型比赛和学术活动。它通过提供一个标准的平台来检验各种智能机器人技术。它的最终梦想是在2050年组建一支能够打败人类足球世界杯冠军的机器人足球队[2][3]。

机器人足球赛的最初想法由加拿大不列颠哥伦比亚大学的Alan Mackworth教授于1992年正式提出。日本学者立即对这一想法进行了系统的调研和可行性分析。1993年,Minoru Asada、Hiroaki Kitano和Yasuo Kuniyoshi等著名学者创办了RoboCup机器人世界杯(Robot World Cup,简称RoboCup)。与此同时,一些研究人员开始将机器人足球作为研究课题。隶属于日本政府的电子技术实验室(ETL)的Itsuki Noda以机器人足球为背景展开多智能体系统的研究,日本大坂大学的浅田蟋、美国卡耐基-梅隆大学的Veloso等也开展了同类工作。1997年,在国际最权威的人工智能系列学术大会-第15届国际人工智能联合大会(The 15th International Joint Conference on Artificial Intelligence,简称IJCAI -97)上,机器人足球被正式列为人工智能的一项挑战。至此,机器人足球成为人工智能和机器人学新的标准问题。

将机器人足球作为未来人工智能和机器人学标准问题是十分恰当的,主要是由于机器人足球具有以下特点:

(1)典型性:RoboCup机器人足球队的研制涉及当前人工智能研究的大多数主要热点,因而构成一个典型问题。

(2)可行性:多Agent系统多数实际背景十分复杂,以致研究人员在目前条件下难以把握,无

2

滁州学院本科毕业设计

法兼顾具体细节分析与探索基本问题。而在机器人足球中则较易兼顾二者,易于深入。

(3)客观性:比赛提供了一种实验平台和评价各种理论与技术的客观方法,便于研究者的“观察”和相互交流。

(4)综合性:在以往的研究中,各种技术通常被分为开发和考察,综合集成工作一般由面向最终用户的应用部门来完成,这种方式不利于相关技术在更高层次上的衔接和更深层次上的创新,而机器人足球是一个深层次的“综合平台”。

因此,开展机器人足球的研究是人工智能从基础理论走向实际应用的一个战略性步骤。

1.3 RoboCup仿真比赛

RoboCup仿真机器人足球比赛是在RoboCup官方提供的仿真平台上进行的,因此设计者不必考虑硬件实现,而将研究集中在动态不确定环境下的问题求解与多智能体合作[4][5][6]。RoboCup仿真球队决策的难点在于以下几点:

(1)问题复杂:RoboCup仿真机器人足球比赛中,如果对于场上的22名球员的位置和速度、球的位置和速度等特征完全描述,无疑状态空间极其巨大。如何合理的描述状态并求解决策问题,是一个十分重要的难点,而且RoboCup仿真平台中的噪声也是必须要考虑的问题。

(2)信息不完全:RoboCup仿真球队的球员不能完全了解场上的所有信息,仿真平台限制了球员获取信息的途径,每一个球员都必须依赖自身获得的有限信息进行决策。如何获得更多的有效信息,如何利用有限信息进行合理的决策,是RoboCup球队决策的一个重要问题。

(3)决策的实时性:RoboCup仿真环境是一个实时动态环境,环境可能发生不可预期的改变,这将使得原有的决策不再适用。这种情况下,要求Agent能够根据场上情况变化,及时做出反应,决策必须实时高效。

(4)多智能体的对抗与合作:RoboCup仿真机器人足球比赛中,存在多个独立决策的球员,他们之间既存在合作(同一球队内)也存在对抗(两支球队之间)。如何使球员间协商、规划以实现合作完成任务并在对抗中取得最大效益,这是RoboCup仿真足球的一个重要研究问题。

(5)通讯带宽有限且不可靠:多智能体的合作中,通讯能够起到非常重要的作用。而RoboCup仿真平台对球员间的通讯给与了一定的限制。在有限带宽且不可靠的通讯上,如何保证合作的顺利进行,这也是需要解决的问题。

1.4 论文组织结构

第1部分,绪论,介绍机器人足球的研究背景及RoboCup。

第2部分,RoboCup仿真比赛综述,介绍RoboCup仿真比赛以及RoboCup仿真平台。 第3部分,多智能体系统架构,从总体上介绍了仿真机器人足球比赛的相关知识。

第4部分,异构智能体的选择和辨识,介绍仿真机器人足球比赛中异构智能体的概念和用法。 第5部分,智能体间的配合与对抗,介绍仿真机器人足球系统的决策方法以及实现。 第6部分,系统架构,介绍仿真机器人足球系统整体的架构。

3

滁州学院本科毕业设计

2 RoboCup仿真比赛综述

RoboCup仿真机器人足球比赛是RoboCup比赛中参加人数最多、历史最久的子项目,仅需要几台计算机就可以进行比赛,全部的活动由计算机进行模拟,可以避免机械电路的各种硬件限制,将精力集中于高层的算法研究中,在实时异步有噪声的对抗环境下,研究多智能体间的合作与对抗问题。

2.1 RoboCup仿真平台简介

RoboCup仿真平台是一套能够不同语言编写的自主球员进行足球比赛的系统。比赛的执行采用的是服务器客户端(server/client)模式,服务器端程序rcssserver提供了一个虚拟场地并且模拟包括球和球员在内的所有物体的移动,每个客户端程序相当于一个球员的大脑,控制场上该球员的移动。服务器端和客户端之间是通过UDP/IP协议进行信息交互的,也就是说,开发者可以使用任何支持UDP/IP协议程序的语言来设计球队程序。通过UDP/IP协议,客户端程序可以发送指令去控制相应的场上球员,而服务器端按照规则给每个客户端发送它所能获得的信息。每个客户端只允许控制一名球员,所以每队必须同时运行与比赛球员数目相等的客户端程序。客户端之间的通讯必须通过服务器端根据规则来进行转发,任何不经过服务器客户端直接联系的行为都是违反规则的。当一场比赛开始时,双方11个独立球员的程序,连接到服务器端进行比赛,每个队的目标就是将球踢进对方球门的同时阻止球进入自己的球门[4]。

2.2 比赛服务器端

比赛服务器端包括两个主要程序:rcssserver和rcssmonitor。rcssserver作为一个服务器程序模拟所有球员、球的移动、球员通讯以及根据比赛规则控制比赛进程。rcssmonitor是一个程序将从rcssserver那里获得的场上比赛信息显示到一个虚拟的足球场地上,由客户端程序控制的队员可以在场上跑动、踢球等。rcssserver主要由球场仿真模块、裁判模块和消息板模块三个部分组成,如图2-1所示。

球员 Socket 球场仿真 球员 Socket 裁判 显示 教练 Socket 消息板 图2-1 rcssserver结构图

球场仿真模块计算球场上对象的运动,检测他们之间的碰撞。球场上的对象包括每队各11名队员、球、球门、标记及标志线等。其中球和球员都具有大小、位置、速度、加速度等属性,球员则还有方向、耐力等属性。球员与球的属性每个周期末更新一次,计算的依据是动力学定律。如果球

4

滁州学院本科毕业设计

员与球员或球之间发生重叠,则作碰撞处理。

裁判模块依据比赛规则控制比赛的进程。由于仿真比赛环境具有动态、实时、不确定、多主体对抗等特点,比赛不可能按照事先的设计按部就班的进行,还需要在比赛中有一个“智能”裁判。目前这个内嵌的人工裁判只是部分实现,可以检测一些简单的形式,如进球、界外球、越位等。然而,还是有一些很难检测的状态,如双方对峙、谁都不踢球,这就需要一个人为裁判。所有的参赛球队都必须遵守一个“绅士协定”,包括不能利用比赛漏洞等有碍比赛公平的做法。

消息板模块负责客户端之间的通讯。每个客户端程序通过UDP的socket来连接server。同样,通过socket,客户端程序可以发送命令来控制球员,也可以接受球员的感知信息。rcssserver采用离散化模式运行,即所有程序运行都是以仿真周期为单位。在每个仿真周(simulatorstep,缺省为100毫秒)结束前,server收集所有球员程序的行为请求,直到每个周期末才统一执行并更新场上信息。在每个周期的开始,server根据各个球员的状态(包括可视范围、获得时间等)发送相应的已更新的场上信息,体现了球员感知信息和行动的异步性。如果一个球员在一个周期内发送了多于一条的独立行为请求,server将只执行第一个。因此,球为了保证执行自己的真实意图,每周期就只能发送一条独立行为请求;另一方面,如果球员在一个周期内没有发送行为请求,他将失去该周期的行动机会,对于这样一个实时对抗的环境无疑是很不利的。

在rcssserver平台上比赛时,所有仿真比赛场景都可以通过一个可视化程序rcssmonitor显示在电脑屏幕上。它通过一个特殊的端口(缺省为6000)直接和服务器端连接,获得比一般球员程序更全面、更准确的信息,使得用户可以生动地看到比赛的整个过程,并且可以控制比赛的进程。另外,球场和球场上的对象都是二维的,任何对象都没有高度的概念。球用一个实心原点表示。场上每个队员用一个圆圈表示,从圆心处引出两条线段,红色线段代表球员脖子的朝向,黑色线段代表球员身体的朝向。当球员体力低于2400时圆圈一周会变成红色代表此球员体力不支。如图2-2所示。

图2-2 球场界面

5

滁州学院本科毕业设计

2.3 球员客户端

一个球员客户端程序通过UDP接口连接到服务器端。通过这个接口,客户端程序可以发送命令来控制场上的一个球员行动以及接收到这名球员的感知信息。换句话说,一个球员客户端就是球员的大脑:从服务器端接收到感知信息,并且发送命令到服务器端[5]。

如果球员程序都是独立的进程,通过一个特定的端口和服务器端连接。当一个球员程序和服务器端建立好连接以后,所有通讯信息都通过这个端口传输。一个球队最多可以连接12名队员,其中包括11名队员(其中一个是守门员)和1名场上教练。这些球员程序向服务器端发送请求执行相应行为(如踢球、转身、跑步等),服务器端分析处理这些请求,相应的更新场上比赛状态。另一方面,服务器端给所有队员提供他们可以感知到的信息,如球员可以看到的视觉信息、球员自身的状态信息等。由于服务器端实际上是一种以离散时间片(或称为周期)为时间单位工作的实时系统,球员程序必须在每个指定仿真周期内及时做出决策并及时将请求发送给服务器端,否则将错过执行动作的机会。这就要求球员决策要有比较高的实时性。

正式比赛中每个客户端程序只能控制一个场上队员。因此,要组成一支球队就需要同样数量的程序分别控制每个队员。球员之间的通讯必须经过比赛平台按照say和hear命令协议执行,而且通讯环境具有单信道、窄带宽等特点。仿真比赛平台的一个目的就是要评估多智能体系统,智能体之间的高效通讯也是其中的一个判别标准。

为了尽可能模拟现实环境,比赛平台还加了很多限制。比如,每个队员都有一定的视野范围,每次只能获得局部信息,即包括可视范围内的对象信息,而且是有随机噪音的;每个球员都有自己的体力值,随跑动衰减,每周期可以自动恢复一些,这样就限制球员要注意调整跑动速度,合理分配体力,也更符合现实。另外,为了反映出实际比赛中球以及球员运动的不确定性,server还引入了风及噪声的干扰及对行为参数的干扰,使比赛更趋于真实,正如现实比赛很难无风和噪声的干扰,快速跑动中的队员不太可能急转弯等等,但这也增大了准确建模的难度[6]。

2.4 仿真平台主要特点

通过上面的介绍可以看到,RoboCup仿真平台提供了一个很好的、全分布的、包括合作与对抗的多智能体实时环境,非常有挑战性。其具体特点总结如下:

(1)状态空间极大:仅仅考虑22个球员的位置和速度情况:每个队员的位置范围处于68×105的赛场上,最大速度为1.0,保留到小数点后一位,再加上速度方向的考虑,共有680×1050×10×360=109种可能,这样就存在(109)22=10198个状态,如果再增加足球状态等信息,则状态空间将更为巨大。

(2)动态、实时、不确定的环境:在服务器端,整个系统按照100毫秒的周期运转,所有的球员都必须按照则个周期运行,意味着球员的所有决策必须实时完成,由于多智能体的存在,环境在动态的变化,无法预知。

(3)感知和行为异步:由于比赛时间以周期为单位离散,感知和行为就无法同步,所以光靠传统人工智能方法使用感知来激发行动是远远不够的。

(4)球员能力受限:场上所有球员的能力都是参照真实球员有所限制的,如体力、加速度、最

6

滁州学院本科毕业设计

大速度、惯性等。

(5)视觉受限:每个球员的视觉都是局部的,受到球员视角和视距的限制,也就是说球员在任何时刻都只能获得一部分球场上的信息,这就给球员正确分析场上形势,进而产生决策带来了困难。

(6)通讯受限:球员之间的通讯环境具有单信道、窄带宽等特点,即每队球员公用一条信道,每个球员一个周期内只能“听”到队友一条消息,而且信道容量很有限(缺省为10字节)。

(7)多智能体的对抗与合作:本方智能体是合作关系,要协调个体目标与全局目标的冲突;而对抗智能体的竞争关系则意味着执行任务时要遇到更多的障碍。

RoboCup仿真比赛充分体现了人类足球的特点,也集中了许多人工智能领域关注的重点问题。用户可以运用包括数学建模、搜索推理、数据挖掘、机器学习、动态规划等各种知识、技术来开发球队,并通过该平台进行实践、检验,很好的推动了相关学科理论的研究。

3 多智能体系统架构

多智能体系统是多个自主智能体的集合,当这些智能体为了一个共同的目标协调合作时,称之为形成了一个团队。一个有共同目标的多智能体系统需要在设计之初就从整体上考虑其协作方法[7]。本章首先站在团队整体的高度,结合具体的领域知识,探讨基于站位和通讯的协作策略;然后介绍了智能体所采用的混合型体系结构;最后从程序设计的角度说明系统架构的具体实现。

3.1 团队整体策略

足球比赛是个集体的项目,由11个场上队员共同完成多进球赢得比赛的任务。但是,每个智能体只拥有局部的视觉,而且其执行的动作也只能直接影响到局部的环境。如何进行全局决策,达到多智能体间的配合,必须是基于领域知识的合作,可以通过预定义模式或实时通讯完成。在仿真比赛中,预定义模式一般由阵型体现,通过阵型的概念对智能体进行角色分配,使其在全场比赛中保持协调。阵型通过提供一个事先制定的准则从宏观上对智能体行为进行控制,让所有的智能体都按照该准则行动,从而整个球队体现出一定的协调性。另一方面,由RoboCup中通讯带宽受到极大限制,仿真比赛的实时动态特性让通讯只能是作为配合的辅助作用。

3.1.1 角色和阵型

角色的概念和真实人类足球比赛中的概念相仿,代表一个球员在比赛中承担的责任,如前锋、中场、后卫、守门员等。每种角色都包括了这个角色的一些性质,如活动区域、初始位置等,当然不同角色的活动区域可以相互重叠。每个角色都有不同的行为模式,每个智能体的行为决策会受到它当前扮演角色的影响。

阵型是一组特定角色的集合,如果把参加足球比赛的球员进行角色细分,可以分为诸如左前锋、右后卫等11个不同的角色。阵型最主要的任务是定义各个角色的场上位置,使智能体的分布能对赛场有尽可能大的覆盖,同时维护在比赛过程中阵型的衔接。我们基于FCP的SBSP策略进行站位的训练,SBSP要求阵型在定义角色的同时,定义每个角色的基本位置Home(x,y),对足球的吸引权重Weight(x,y),还有对双方越位线的考虑等。如果足球的位置为Ball(x,y),简化的说,角色的场上位置应该是:

7

滁州学院本科毕业设计

Positioning(x,y)=Home(x,y)+Weight(x,y)*Ball(x,y)

这种方法保证了比赛过程中队形的协调,不会出现很多智能体集中于某一处(比如围着足球)导致其他的空当,基本可以覆盖场上大概空间。但是,这种加权和的方法缺少灵活性,如果需要对某些敏感区域进行细节调整,比如重新考虑双方禁区范围内的站位,就需要增加(条件,规则)进行补充。

基于SBSP的站位系统是预定义的,而比赛情况总是千变万化的,智能体扮演的角色和对应的站位还可以根据实际情况变换。比赛时,由于控球、盯人等原因,使智能体偏离原扮演角色所处的区域,导致场上出现空当无人防守,此时就需要其他智能体能够弥补这个角色缺失引起的危险。偏离原角色的智能体因位置的改变选择了其他角色的行为,比如中场球员在带球长驱直入后,考虑到实际情况(比如单刀等)选择前锋行为,此时,一方面前锋的角色会出现重叠,另一方面中场线也会因为该球员的缺失减弱了中场能力,应该让被重叠的前锋或者其他的不重要角色去扮演缺失的中场角色,以免被对方乘虚反击。除了基本确定位置的方法,球员站位时还应该考虑一些场上的基本情况,如是否越位,实际站位的时候就应该把上述情况综合起来考虑,如图3-1所示为完整的站位策略。同时为了应对场上千变万化的情况,还应该制定多种站位策略,在不同的情况下采用不同的站位策略,增强球队的实战能力。

智能体除了因为角色变化产生站位调整外,智能体的异构类型也可作调整。阵型规定了角色的任务,也间接的提出了对角色的素质要求,选择更符合角色能力要求的异构智能体可以在比赛开始时确定,更佳方法则应该根据比赛情况进行微调。比赛过程中可以进行最多三次换人,将更符合要求的异构智能体换上场,充当对应角色,这一点可以通过在线教练来完成。

3.1.2 局部通讯模型

RoboCup仿真平台模拟了低带宽不可靠的通讯能力,每条消息最多包括10个字节的可见字符(共1074种可能),而且在50米之内只能听到分别来自每一个队伍的最多一条消息。因此,队员间的合作无法主要依靠通讯完成,通讯只能作为配合的辅助作用。由于智能体对环境的感知是局部的,不同的智能体可能拥有对环境的不同认识,因此通讯的主要作用是保证每个智能体所独立维护的世界模型的一致性。另外,在某些时候,通讯还被用于传递辅助决策信息。

解决以局部视觉来维护全局世界模型是一个非常迫切的问题,因为,当所有智能体都按照相同的整体策略框架来进行决策时,如果基于相同的世界模型作为决策依据,对其他智能体的预测就比较准确,那么就会使整个球队体现出一定的协调性。通过视觉参数的设置和视觉动作的调整来维护世界模型是智能体的底层工作。根据智能体的决策结果,即他要做的基本动作(奔跑、转身、踢球等)以及他所希望观察到的多个目标,每个目标赋予一定的收益,在不和基本动作冲突前提下的综合收益最大的视线即为目标方向[8],这使得智能体能够维护场上的大部分信息。我们借用图5-2的分区方式,以图中的10个边界点和其他22个运动对象的实时位置作为期望目标,根据目标的重要程度和目标在世界模型中的更新程度综合给出其收益,选择能获取最大收益的视觉动作,以转头指令(turn_neck)实现这个动作。但是,先验知识相对动态比赛存在的缺陷,最大收益视觉动作必定会

8

滁州学院本科毕业设计

放弃某些目标位置,为了弥补可能缺失的信息,以通讯的方式进行有益补充。

通过球的位置及吸引力得到站位位置Y位置是否超出边场把边场设置为Y位置是否需要在球后面是否在球的后面把球的X位置设置为自身的X是否超出X最大值 把X最大值设置为自身的X是否小于X最小值把X最小值设置为自身的X是否越位把越位线设置为自身的X得到最终站位位置 图3-1 阵型决定站位流程图

由于每条通讯消息长度的限制,不可能交流全部的世界模型;另一方面,智能体的全局协调由阵型指导,而智能体的动作只能影响局部环境。因此,我们将通讯作为对小范围局部配合的补充,由于消息内容是局部区域的世界模型,运动对象(足球和球员)的位置比较接近,因此,采用类似于差分的近距离编码方式,可以传递更多的信息量,比如每次可以传送四个球员的位置信息。为了进一步的提高通讯效率,避免重复交流同样的内容,计划按照FCP的智能通讯思想[9](FCP提出该方法时通讯长度限制为512字节),构建一个听觉世界模型。听觉世界模型唯一的由听觉消息来维护,

9

滁州学院本科毕业设计

已在听觉世界模型中存在的信息将不再被重复广播。除了对世界模型的共享外,通讯还用来提供部分的辅助决策信息,用来对某些非正常队友的提醒,如接球点。

重要区域确定 编码 图3-1局部通讯模型

图3-1中的听觉世界模型唯一的由队友间的通讯来维持,它删减世界模型中的重复消息,然后局部区域内的对象位置被编码,最后叠加可选的部分决策信息封装,广播消息。

封装发送

听觉世界模型 辅助决策信息 3.2 智能体体系结构

智能体如何扮演团队成员,作为团队的一部分而共同达成团队目标,不仅和团队的整体策略相关,也和智能体本身的体系结构有关。智能体体系结构研究的是如何推理决策的问题,即协调智能体各功能模块进行从感知序列到智能体动作的映射。

基于符号推理系统的慎思体系结构采用传统人工智能中符号推理的基本原理,试图通过建立比较完整的符号系统进行知识推理来使智能体具有自主思考的能力以及与其他智能体和环境进行协调行动的能力。基于行为主义的体系结构在快速性和实时性上有长处,但是难以产生复杂、高级的智能行为。针对仿真比赛实时、不确定的环境特点,将基于符号推理系统和行为主义的体系结构结合起来的混合系统成为了多智能体体系结构的一个趋势,以实现系统快速、有效的运行。

混合型结构的智能体中包含感知、建模、通讯、动作、知识库、规划决策和反应等模块,如图3-2所示。智能体通过感知模块来获取外部环境,并对环境信息做出一定的抽象,根据信息的类型,感知模块将经过抽象的信息送到不同的处理模块。智能体间的交流依赖于通讯模块,通过通讯模块共享相互的世界模型和决策信息。建模模块根据对外界环境的感知、智能体间的通讯以及对发送动作的预测来建立整个外部环境的描述。规划决策模块在知识库的指导下,根据当前世界模型和智能体间的交流进行决策,选择最佳动作。智能体在感知的基础上条件反射产生动作,构成了反应模块。智能体所选择的最终动作作用于外部环境,进而影响智能体将来的感知。

3.2.1 建模

建模模块有两个功能,一是维护和更新智能体对外部环境(包括其他智能体)的认识,二是根据当前的世界模型对近期的情况做出预测,并由决策模块调用分析。图3-3表示了建模模块的内部结构,世界模型只是智能体对整个世界的认识和反映,它既不一定正确,也不一定全面。

在仿真比赛中,世界模型在初始化时就产生了很多静止对象,比如球门、边线以及固定标志等,这是用来自定位的。在比赛过程中,还维护着场上运动对象的状态,包括足球的位置、速度,其他智能体(10个队友,11个对方)的位置、速度、身体朝向、头部朝向等,以及智能体本身的位置、速度、身体朝向、头部朝向、视觉参数、体力、基本指令执行次数等,还有比赛状态,例如比赛时

10

滁州学院本科毕业设计

间、比分、比赛模式(如界外球模式、任意球模式)等。

其他智能体通讯规划决策知识库建模感知反应动作外部环境 图3-2混合型智能体结构 世界模型规划动作模型的维护预测决策感知通讯 图3-3 建模模块的内部结构

智能体在生存期间,通过感知、队友间的通讯(包括教练指示)以及已请求执行的动作来修正模型,感知信息包括sense_body消息、视觉消息和裁判消息,其中队友间的通讯和裁判消息构成了智能体的听觉消息。

sense_body消息用来更新智能体本身的一些物理状态,比如视觉模式参数、速度绝对值、体力值、头颈的相对角度、各基本指令的已执行次数等。根据动作模块中记录的已请求执行指令的次数,对照sense_body消息中反馈的基本指令已执行次数,可以推知该指令是否被仿真平台丢失,决策规划模块可以据此决定是否需要重发该指令,反应模块也据此进行发送时机的动态调整。

裁判消息主要用来广播比赛状态,在每次裁判鸣哨时,都会将相关情况(如犯规、进球、开球等)通报至所有的智能体。通讯模块是和其他智能体的交流,由于是经由仿真平台间接转发,而且是低带宽不可靠的,我们只是作为对维护世界模型的一个有益补充。

最重要的是视觉消息,视觉消息中的数据都是基于智能体(观察者)的相对坐标。因此,智能体首先根据视觉消息中静止对象信息完成自定位,然后进行对其他运动对象的更新。由于视觉消息的局部性,不可能保证所有对象都是最近一个周期看到的,因此,还需要记录下每个对象的最近观

11

滁州学院本科毕业设计

察时间以供可信度分析。同时视觉消息是带有噪声的,UvA以Particle Filter的方法降低噪声[10],提高自定位准确性。

模型除了被规划模块用来建立行动计划外,还提供了预测的基础。根据当前世界模型预测将可能出现的情况,并将行动的建议递交给决策模块。在仿真比赛中最典型的预测是截球技术,给定足球的位置和速度,预测智能体最快的截球时间;预测模块还体现在对对手的行为建模上,比如经过学习发现对方4号球员拿球后,总是传球给6号,那么当4号控球时,就预测认为即将传球给6号,这样的预测结果对决策模块有更大的帮助,比如预先去盯防对方6号。

3.2.2 通讯

可通讯是智能体的基本特征之一,而且通讯语言的完善程度和灵活性直接影响到智能体表现出的智能程度,通讯模块包括语言理解、语言生成、物理通信,以及词法库、语法库、语义库等多个部分。这些都是多智能体理论的基础,但仿真比赛为了能够体现分布式多智能体的特点,避免由于通讯过度成为实质上的集中式控制,因此,仿真平台对通讯做了诸多限制。

在3.1.2节中描述的局部通讯模型可以保证系统的鲁棒性,在通讯功能故障时,不会很大的影响系统的表现性能。但是,由于最多只能传送10个字节的可见字符,还存在相当大的编码量化误差,通讯仅仅起到辅助功能,世界模型的完备更多的依赖于视觉动作的请求。目前通讯还用来辅助决策信息的交流,如果较好的解决了完备世界模型和知识库战术,那通讯将主要被用作战术模式在触发、切换和中止时的多智能体交流。

3.2.3 动作

动作模块是智能体在外部世界能完成的可能动作集合。决策给出最终选择的动作后,需要分解成更基本的符合仿真平台动作接口的指令序列,这个工作由动作模块完成。由于仿真比赛动态实时的特点,一般情况下动作模块并不保存指令序列,每个周期从新决策,将指令序列最前面的基本动作发送至仿真平台请求执行。决策的连续一致性由规划决策模块维护。

仿真比赛中主要包括以下的动作,这些动作建立了智能体的个人技术。

跑位:智能体根据阵型和角色计算出自己的期望位置,向其靠拢。向某个目标点移动的技术被称为跑位。跑位的一个重要参数是跑动速度,因为奔跑命令需要耗费体力,而体力对队员技术的发挥有很大的影响。

截球:智能体根据足球和本身的状态,试图抢在其他队员之前追逐到足球。 带球:智能体保证对足球控制的同时,推进足球的位置。

加速球:将足球按期望速度(矢量)踢出。原先由于仿真平台的参数限制,需要多个周期才能将足球加速到最大速度,现在基本可在1-2个周期内实现任意的期望足球速度。

传球:传球建立在加速球的基础上,给定传球路线后,调用加速球动作完成,关键在于传球路线如何选择。

过人:一对一的技术体现,在晃过对手的同时,保持对足球的控制。和带球的不同在于,过人需要突破近距离对手的封锁,带球则避免出现近距离对手的情况。

12

滁州学院本科毕业设计

射门:临门一脚,是进球赢得比赛、检验团队整体性能的最后一环。

护球:在不能射门、过人、传球、带球的最后情况下,维持足球在控制范围内不被对方抢去,等待机会。

封断:封球和断球,当对方控球时,封死其传球、带球路线,必要时可以从其脚下抢断足球,进而反击。

盯人:盯防对方的无球队员,避免其接应控球队员。

3.2.4知识库

知识库是对实际足球知识的认识,通过请教专家,事先建立的规则。针对前锋、中场、后卫等角色的职责,给出其实现战术,包括局部配合的进攻与防守战术、全队的进攻与防守战术以及定位球战术。

局部配合进攻包括“二过一”战术配合、“三过二”战术配合和反切配合等。“二过一”是两个进攻球员,通过传球配合突破一个防守队员,是更多配合的基础,可以在任何位置上运用这种方法来摆脱对方的抢截或突破防线。“二过一”一般由相距10米左右的队员进行配合,传球的目标尽可能是接球者位置或者稍微靠前一点。“三过二”是比赛中局部区域内三个球员通过连续的配合突破两个防守者的战术。由于这种配合有两个队友可以同时接应传球,因此使控球者的传球路线更多,且进攻面扩大,但是较难在机器人足球比赛中达到流畅的配合实现。局部配合防守战术包括补位、围抢和造越位战术。补位是指当防守过程中一个防守队员被对手突破时,另外一个队员立即上前进行封堵,即动态角色变换。围抢是指在某局部位置上,防守一方利用人数上的相对优势(通常是两三个球员)同时围堵对方的控球队员,以求在短暂时间内达到抢断或者破坏对方的目的。造越位技术是利用规则而设计的一种防守战术,但由于其配合难度大,一旦不成功会给对手很大的机会,因此较少使用。

全队进攻战术是指比赛中一方获得足球后,通过队员之间的传递配合达到射门的目的而采用的配合方法,包括边路进攻、中路进攻、快速反击。与局部进攻战术相比,全队进攻战术的进攻面比较广。利用球场两侧地区发起进攻的方法叫边路进攻,是全队进攻的主要形式之一,其主要特点是有利于发挥进攻速度,打破对方防线制造缺口,下底传中是其代表方法。中路进攻是利用球场中间区域组织的进攻,由于中路防守最为严密,因此难度较大。比赛中当对方进攻时,后卫线往往压至中场附近,防守人数也由于插上进攻和助攻而相对减少,此时如能抓住对方防守空隙较大和回防较慢的机会,趁其失球发动快速反击,往往能够取得良好效果,但是实现难度也比较大。中路进攻和快速反击都比较冒险,要求有准确、快速的传球配合,还要求配合默契,有善于跑位策应的队友。

全队防守战术可以分成两种基本类型,盯人紧逼防守和区域紧逼防守。盯人紧逼防守即人盯人防守,各自都有明确的防守对象,在规定的范围内盯人紧逼,不交换看守,此方法主要用户在非play_on模式下使用来阻止对手顺利拿到球。区域紧逼防守是盯人和区域相结合的方法,紧逼和保护相结合,在个人的防区内紧逼。防守最根本的原则就是紧逼和保护,只有紧逼才能有效的主动抢断,压制对手技术的优势而获取主动权;保护是为了更好的紧逼和控制空当。

定位球战术是指在比赛中,利用“死球”后重新开始比赛的机会组织进攻与防守配合的战术方法。

13

滁州学院本科毕业设计

定位球战术包括中圈开球、角球、任意球、界外球等,有时起决定胜负作用。在配合上要利用简练的一次配合取得射门机会,配合越复杂成功率就越低。故要进行专门性的研究,利用足球的先验知识,预先计划详细的分解序列,才能在比赛中奏效。

3.2.5 规划决策

智能体的规划模块负责建立中短期的行动计划,再经决策得出动作的选择结果。智能体的规划是一个局部的规划。局部性体现在两个方面,一方面,每个智能体根据自身维护的世界模型,以及已往的知识规划自身行为,而不是由某个智能体对全局进行规划并将命令分发给其他智能体;另一方面,智能体并不需要对它的目标作出完全的规划,而只要生成近期的动作序列就可以了。因为世界是不断变化的,很多情况无法预料,长期的规划很可能会因为情况的变化而失去意义。

在自主式智能系统中,一般遵循“感知-推理-动作”的基本规律进行决策,根据实现手段的不同,仿真比赛中有两种比较典型的结构:“从上到下”和“从下到上”。“从上到下”是传统的层次结构,层次向上,智能增加,但是精度降低;层次向下则相反。在最高层只有一个任务,经逐层分析规划,生成越来越多的子任务,低层模块往往只需要考虑专门范围内的局部问题;在高层往往使用智能推理方法,低层模块则采用数值算法。这种结构体现了分而治之和逐层求精的原则,较好的解决了智能和控制精度的关系,但是反应性较差。“从下到上”则基于行为主义的思想,首先遍历智能体所有的可能动作,给出可行动作的评价值,进而决策模块在可行动作集中仲裁出一个最佳动作,TsinghuAeolus[11]就是采用这种结构进行决策。考虑到我们一开始对领域知识缺乏透彻的理解,难以找到有效的评价函数,所以从整体上选择了从上到下的决策结构,也借鉴了从下而上的思路完成对某些动作的评价和选择,以更好的进入机器人足球仿真比赛领域。

足球队中每一个队员都扮演着一个角色,所有的角色被分成两种状态,非控球状态和控球状态。所谓的控球状态是指智能体能够踢到足球(两质点间距不大于kickable_area),也叫控球者;否则为非控球状态,即非控球者。

对非控球状态的队员,分别考虑下面的两种情况,以决策树形式进行规划。 (1)自己是本方能最快截球的队员

这种情况意味着我方尚无其他人控制足球,所以足球处于无人控制状态或者足球已被对方队员所控制。而如果足球处于无人控制状态则又可以分解为两种情况,自己是所有人中的最快截球队员或者某个对手能比自己更快的截球。所以一共分成三种情况:足球已被对方控制、自己是所有队员中最快截球的、某个对手是所有队员中最快截球的。

如果足球已经被对方控制,则选择封断动作,尽可能的封住对方的带球、传球路线,如果可能的话,靠近对方控球者后进行拼抢,将足球从对方脚下断下。如果自己是所有队员中最快截球的,那么执行相应的截球动作即可。对第三种情况,则直接实行对对手预计截球点的封断,但是考虑到对手可能存在截球失误,有时候我们不进行对预计截球点的封断,仍然执行截球动作。

(2)自己不是本方最快截球的队员

这意味着对足球的处理将交由本方最快截球的队友来完成,所以候选动作成为了跑位和盯人。

14

滁州学院本科毕业设计

一般情况下选择跑位,跑位的依据是当前的足球位置和自身扮演的角色。当足球靠近我方禁区附近,就需要先考虑盯人,由于我们采用433阵型,有四个后卫,必要时三个中场也可以回撤,防守人数将超过对方进攻人数,因此,只要实现人盯人的防守,就可以减少对方的传接球配合,降低被破门的概率。

盯防对象的选择是个需要全局考虑的结果,既要保证在禁区附近的对手都被盯防,又不能出现我方两个队员去盯防同一个对手的情况。通过对距离远近的排序,然后依次对应得到盯防对象。这里的关键是世界模型的完备性,利用局部通讯模型进行世界模型的共享和辅助决策信息的共享,较好的完成了防守任务。

对于控球状态的队员,则体现在带球、传球、过人、射门等动作的选择上,对各个动作的选择采用从上到下结构,而每个动作内部的参数调整则参考从下到上的思路。决策主要是建立的角色的基础上,同时会考虑球员所处位置等情况,球队的整体决策树如图3-4所示。

找球射门传球带球跑位截球防守跑位球不可知球可知&球可踢球可知&球不可踢Play_on模式进攻防守图3-4球队决策树

上图中play_on代表是正常踢球模式,如果是非play_on模式(例如角球、界外球等)则执行相应模式下的决策过程,主要是采用绕前盯人防守,最后,不管是控球者还是非控球者,都会因为执行(dash power)指令奔跑而消耗体力,而体力充沛与否对队友的后续表现有极大的影响,所以dash指令的power参数需要进行最后的调整:

adjust_power=power×f(stamina, agent_pos, ball_pos, action_type)

其中stamina是智能体的当前体力值,agent_pos是智能体的当前位置,ball_pos则是足球的当前位置,action_type是智能体所选择的动作类型(跑位、盯人、截球等),f函数的返回值介于[0.0,1.0]。如果现有stamina非常充足,则f函数直接返回1.0;如果action_type是截球动作,则尽可能的满足power的要求,f返回值接近1.0;如果agent_pos和ball_pos相距较远,而且智能体不处于重要位置,则函数f的返回值向0靠拢。

4异构智能体的选择和辨识

从仿真平台版本7开始,引入了异构智能体的概念,可以根据球队的整体策略,配备更能发挥特长的异构智能体。异构智能体的选择标准和领域知识密切相关,要在团队整体策略的指导下才能进行有效的使用。因此,本章从结构上说,属于3.1.1节的阵型和角色、3.2.5节的规划决策两部分

15

滁州学院本科毕业设计

的补充,异构智能体的选择建立在角色的基础上,并为规划决策模块中的策略服务。比如防守为主的球队要加强后卫的素质,进攻为主的球队则要加快前锋的速度等。

异构智能体的选择和辨识都由在线教练完成,本章首先讨论了在线教练的设计,然后介绍了异构智能体类型,接下去是异构智能体的评价标准和分配算法,最后说明如何对对方的异构智能体进行在线辨识。

4.1在线教练设计

在仿真比赛时,比赛不能被场外的因素打断,所以除了场上比赛的队员和裁判以外,没有其他人(在RoboCup中表现为应用程序)能控制/影响整个比赛的进行,但是教练程序除外。RoboCup仿真比赛中的教练程序分成两类:离线教练(Trainer)和在线教练(Online Coach)。

离线教练在正式比赛中被禁止使用,其主要目的是在平时帮助球员得到更好的训练。例如,为了训练在特定场景中的某一特定动作,需要不断再现该场景,通过多次自动反复的样本采集才能应用机器学习的方法来训练队员。在线教练的引入是为了模拟现实足球中的教练,经常可以在人类足球比赛中看到一个在球场旁边大喊大叫的教练,虽然他不能控制队员的每一步行动,但是至少能给队员一些战略上的信息。由于在线教练并不能具体指导队员的行动,并且在线教练发出的信息在play_on模式下有50个周期的延迟,避免了由于过度使用在线教练而造成的实际上的集中式控制,所以允许在线教练的存在并不违反智能体个体自治的原则。

在线教练作为和仿真平台连接的又一个智能体,同样可以获取来自仿真平台的感知消息,也可以向仿真平台发送指令请求执行。但是,在线教练和普通队员之间存在着明显的差异,表4-1比较了两者的不同[13]。

从中可以看出在线教练的优势在于能够得到比赛的全部的准确信息,并且可以经由仿真平台与普通队员通信。这样,在线教练就可以通过统计和对手建模等方法对本方球队进行全局性的重新规划,也可以调整队员的个体动作技术。本章描述的在线教练主要完成对异构智能体的选择和辨识。

在比赛开始前,在线教练可以无限次的为每个角色选择异构智能体,比赛过程中只可以在定位球模式下最多三次更换角色的异构类型。同时,仿真平台规定守门员必须是默认类型。因此,在比赛开始前,在线教练根据球队的整体策略,赋予不同的角色不同的异构类型。在比赛过程中,如果敌我势均力敌,则将前锋调整为奔跑速度更快的异构智能体,增强冲击力;如果我方较大落后,已难以取胜,则将后卫调整为奔跑速度更快的异构智能体,增加防守力量;如果我方领先优势明显,则暂不进行换人操作。

表4-1在线教练与普通队员的比较

在线教练 不在场上显示 每个周期都能获取视觉消息 准确全局的视觉消息 能够收到所有球员的说话 普通队员 直接对比赛产生影响 视觉参数决定获取频率,可能整个周期内都没有收到视觉消息 带有干扰、局部的视觉消息 只能关注单个球员的说话;可以经由仿真平台收到来自在线教练的建议 16

滁州学院本科毕业设计

次数有限的给球员发128字节的消息 每个周期都能发送10个字节的消息 在线教练除了为角色选择异构类型外,还需要对对方所使用的异构类型进行辨识,并将辨识结果广播给本方队员。目前,普通队员需要首先向仿真平台注册“(clang(ver 8 8))”,才能收到本方在线教练的广播消息,而对方在线教练的广播消息是无法完整获知的。

基于第三章介绍的普通球员的智能体结构,在线教练的体系结构以此为基础,感知口稍作变动,建模模块维持不变,得到完备的世界模型,包括赛场上足球和所有队员的准确位置和速度;根据在线教练的功能调整规划决策模块、动作模块;取消反应模块。在线教练的程序设计也基于3.3节所述的普通球员的控制流程,采用两线程技术,由于在线教练每个周期能会接收到视觉消息,因此取消了其中的定时器设置。这样的方法实现了设计结果、代码文档的重用,提高了效率。

4.2异构智能体简介

仿真平台启动后,随机生成18种类型的异构智能体,从类型0到类型17,并将参数广播至所有的队员和教练。其中类型0是默认类型,对应的参数是固定而且广为人知的。其余17种类型即1-17是异构类型,对应的参数是随机的,在仿真平台刚刚启动时在指定范围内随机生成,因此赛前无法预知哪一种类型适合球队的整体打法。根据异构参数的不同,异构智能体都有不同的能力,但都是不完美的,参数取值如下表4-2所示。

表4-2异构智能体的参数参考值

参数名 参考值 注视 player_speed_max 1.05 球员最大速度参考(常数) player_decay 0.4 球员速度衰减 inertia_moment 5 球员速度大小对转身角度的影响 player_size 0.3 球员身体大小(半径)(常数) dash_power_rate 0.006 dash的力量利用率 stamina_inc_max 45 每周体力增加最大值 kickable_margin 0.7 可踢球范围(不含球员、足球的半径) kick_rand 0.1 kick的随机量 kick_power_rate 0.027 kick的力量利用率 extra_stamina 50 额外体力值 effort_max 1 体力利用率最大值 effort_min 0.6 体力利用率最小值 foul_detect_probability 0.5 球员强制铲球被判犯规概率 catchable_area_l_stretch 1 守门员catch范围 以上为异构球员各个异构的参考值,也就是说,这些以后参数的具体设置不会与这些值相差太大,其中参数player_speed_max=1.05、player_size=0.3为常数。此表来自对于仿真平台源代码的分析,随机参数服从均匀分布。除去player_speed_max和player_size这两个暂时被仿真平台固定的参数外,选择异构智能体的任务就是评价剩下的12个参数并进行分配(目前有的参数对于比赛影响甚微的暂时没有被考虑)。

4.3异构智能体的选择

异构智能体的能力通过其参数体现,因此,需要总结12个参数得出每种异构类型的特性。在整体策略的指导下为不同的角色选择不同的异构类型,称为异构智能体的选择。本节首先将异构参数

17

滁州学院本科毕业设计

提炼出三个指标:奔跑启动时间、全速时的体力消耗量、踢球能力;为了能够对这三个指标进行综合评价,进行了指标归一化操作;最后给出了分配算法。

4.3.1指标提炼

球队整体策略是433阵型,强调前锋的快速推进,抓住破门良机,精准射门而赢球。因此,考虑了奔跑启动时间、全速时的体力消耗量、踢球能力这三个指标。 ●奔跑启动时间player_start_cyc

奔跑启动时间是球员达到最大速度需要的周期数,表征了球员的速度能力,player_start_cyc越小,表示奔跑能力越好。异构智能体的参数表中表明球员的最大速度player_speed_max是固定数值为1.05,实际上,并不是所有异构类型都能达到1.05,player_speed_max只是一个速度的上限。而且,能够达到速度最大值的异构智能体还有启动速度的差别。球员的奔跑效果取决于每个周期能获得的最大加速度和本身的速度固有衰减。

最大加速度是指球员全力奔跑时能够达到的加速度:

acc_max=dash_power×effort_max×dash_power_rate (4-1) 结合球员的运动模型,推知球员能够达到的最大速度为:

speed_max_ab=acc_max/(1.0-player_decay) (4-2) speed_max_ab=奔跑启动时间计算如下

tmp=1.0-player_speed_max×(1.0-player_decay)/acc_max if tmp > 0.0001

player_start_cyc=ceil(log10(tmp)/log10(player_decay))

(4-5)

(4-4)

(4-3)

else

(4-6)

end if

其中,如果tmp>0.0001,表示该异构类型能够达到player_speed_max;否则,表示该异构类型能达到的最大速度speed_max_ab

●全速时的体力消耗量player_sta_lost

球员的体力决定其在后继比赛中的表现,充沛的体力可以保证球员在必要时以最大速度奔跑。

player_sta_lost是指球员在全速奔跑时每个周期消耗的体力值,因此是越小越好,越节约体力。

每个周期球员因为dash而消耗体力,也会自动补充体力stamina_inc_max,结合球员的体力模型,球员全速时每个周期的体力消耗量如下所示:

18

滁州学院本科毕业设计

●踢球能力player_kick_abil

(4-7)

踢球能力包含两个方面:kickable_margin,即可踢范围,越大越好;kick_rand,即踢球噪声,

越小越好。这两个参数共同构成了踢球能力指标,在我们的实现中这个指标仅对前两个指标起辅助选择作用。kickable_margin和kick_rand综合为踢球能力,以及将在下面要谈及的player_start_cyc和player_sta_lost的综合考虑,两种综合方法是相同的,都是先进行归一化处理,然后根据收益函数进行综合排序。

4.3.2 指标归一化

经过对参数的指标提炼后,已经极大的降低了维数,接下去要对这些指标进行归一化处理,然后根据收益函数综合考虑。

假设存在某指标m,该指标在所有异构类型中的最大值是m_max,最小值是m_min,且m的数值越大越符合期望要求(如果m是越小越好,可先进行逆序调整,统一为越大越好)。则m被归一化为:

(4-8)

对所有的指标先进行逆序调整,然后归一化作为分配算法的预处理。

4.3.3 分配算法

在仿真比赛中,守门员只能是默认类型,因此,需要对后卫、中场、前锋这10个不同的角色分配恰当的异构类型。假设指标集M已按照上述方法归一化,则某个角色j选择第s类异构类型的综合收益记为:

(4-9)

其中N是指标集中的指标个数,

是第s类异构的第i个指标的归一化数值,则是角色j对

该指标的收益函数。综合收益为各指标收益的累加,也有采用Π累乘的,或者累加、累乘混合计算各指标的综合收益。最大收益对应的异构类型

即为角色i的选择结果。

但是,仿真平台又规定同一异构类型不能被同时赋给三个以上的角色(默认类型不作限制),假如有多于三个的角色要选择同一种异构类型,矛盾就出现了。为此,可以先对所有角色进行优先级排序,排在前面的角色拥有优先选择权,当出现矛盾时,排在后面的角色只能选择对自己而言是次优的异构类型,将所有角色的收益相加记为整体收益。遍历所有的角色排序可能,选择整体收益最大的异构分配算法。

在我们的具体实现中,所有角色选用相同的收益函数。对角色实行固定优先级分配,每三个角色为一个档次,前锋(中)、前锋(右)、中场(中)是最高优先级,边后卫(右)、中后卫(右)、中场(右)属于第二优先级,前锋(左)、中场(左)、后卫(左)是第三优先级,最后的中后卫(左)

19

滁州学院本科毕业设计

属于第四优先级。使用公式4-10计算第s类异构对角色的综合收益,根据综合收益对七种类型排序,第一档次的三个角色选择最佳异构类型,第二档次的三个角色选择次佳异构类型,更次的异构类型被分配给第三档次的三个角色,而排在第四的异构类型分配给中后卫(左),当然,如果前四种异构类型中存在默认类型,那更低优先级的角色都应该赋予默认类型。

(4-10)

其中P取9,Q取11,是经验数值。

4.4 异构智能体识别

异构智能体的使用是公开的,但其具体的异构类型是对外屏蔽的。所以无法直接获知对方所选用的异构类型,只能够通过赛场情况进行分析推断。如果可以获取对方队员的异构类型,将有利于作出更合理的决策。由于普通球员的视觉消息是局部有噪声的,而在线教练的视觉消息是全局且不带任何干扰,因此选择在线教练来完成对对方异构智能体的辨识,并由在线教练将辨识结果广播至本方的所有球员。

回顾存在随机的9个异构参数,我们需要找到一个始终影响智能体的关键参数。参数

inertia_moment、dash_power_rate、kickable_margin、kick_rand影响智能体turn、dash、kick指令的执行,由于无法得知其他智能体的动作参数,因此这四个参数难以起到决定性作用。而stamina_inc_max、extra_stamina、effort_max、effort_min是智能体的体力模型参数,但是体力不是外在表现,难以被其他智能体所知。最后一个参数是player_decay,只要智能体在运动,就存在固有的速度衰减,因此,player_decay参数被用来对异构智能体进行辨识是非常合适的。

假设智能体当前位置是

,当前速度是

,上一个周期的位置是

,根据仿真平台的

运动模型可知:

(4-11)

其中

都可被在线教练精确获知,所以可以很便捷的计算得到介于[0.4 0.6]

的player_decay。仿真平台规定player_decay服从均匀分布,且数值精度达到0.0002,因此,player_decay共存在1001种可能数值,而异构类型共有6种,所以两个或者两个以上异构类型的player_decay参数相同的概率为:

(4-12)

也就是说利用player_decay进行辨识的准确率达到98.51%,而且,即使存在相同的player_decay数值,还有机会猜对,实际比赛表明这种方法已经基本达到辨识要求。如果要提高辨识准确率,就需要分析其他参数,而其他参数都只是一个范围,需要长期的辨识过程,才有可能得出正确结果。

4.5小结

自从UvA在2001年成功的把异构智能体应用到仿真比赛,造就了该球队强悍的攻击力后,

20

滁州学院本科毕业设计

对异构智能体的研究日益受到重视。本章首先介绍了在线教练的设计,以完成异构智能体的选择和辨识功能,接着详细描述了我们对异构智能体的评价标准和分配算法,最后给出了辨识算法。

表4-3是对异构智能体分配算法的测试结果,两队的基础都是UvA,只是一支队伍使用在线教练进行异构智能体的选择,另一支不使用在线教练仅使用默认类型球员,共比赛10场。因为比赛环境存在随机特性,而且异构智能体的参数也是随机产生的,根据一场比赛无法作出适当的评价。但是,10场比赛的结果足以让我们更倾向于使用在线教练进行异构智能体的选择与辨识。

表4-3使用异构智能体/默认智能体的10场比赛测试结果

赢(场) 平(场) 输(场) 总进球数 总失球数 10 0 0 59 0 使用在线教练 0 10 0 59 不使用在线教练 0 定性分析,由于选用的异构智能体跑动速度更快,更有利于截球,得到更多的控球时间;而默认智能体由于缺乏对足球的控制权,不仅射门机会极少,而且后卫退防的速度也不及异构前锋,形成防守漏洞给予对方更多的射门机会。

5智能体间的配合与对抗

在混合型的智能体体系结构中,规划决策模块在知识库的指导下,根据当前的世界模型,推理出最佳动作,交由动作模块执行。而动作模块对动作的实现方法又反过来影响推理过程。因此,我们把动作分成执行和分析两个部分,执行部分即动作模块所调用的;分析部分则是为规划决策模块服务,推理选择出更优的动作。执行部分和分析部分相互关联,共同构成了一个动作,也将动作模块和规划决策模块紧密的联系在一起。

本章主要研究了和足球相关的几个动作。由于UvA底层已经将截球模块设计的很好,在此对于截球方法就不在作过多的介绍,主要介绍本方智能体间的传球配合,如何根据场上千变万化的形式来决定传球对象。最后,利用智能体对抗中的领先一步优势,实现了射门算法

5.1智能体间的配合——传球

传球建立在截球和加速球的基础上,传球的分析部分需要记性在线的计算,而传球的执行部分则由加速球动作来完成。传球涉及到两个球员,传球者和接球者。传球者即处于控球状态的球员,由他判断最佳接球者,并将足球向接球者传去。从这个意义上说,长距离带球是传球的一个变种,只是接球者是智能体自身而已。本节首先介绍了传球的基本无遗漏无重复的搜索空间,然后对可行传球路线进行选择,以强化学习RL(reinforcement learning)[14]进行选择优先级的调整;最后在传球的基础上简单讨论了更大范围内的配合情况。

5.1.1传球路线的搜索

在足球比赛中,传球路线的选择至关重要。所谓的传球路线就是选择一个传球角度,同时

赋予足球一定的速度大小从该角度被踢出。很难想象一个球员总是可以从后场开始带球,长途跋涉一直到射门成功。只有通过流畅的传接球配合,才能更有效率的推进足球。如果不能搜索出有效的传球路线,足球将始终被压制在我方半场,既没有本队的射门机会,又增加对方的射门机会。

一旦涉及到传球,一个很自然的想法是首先确定接球者,然后搜索接球者附近区域,判断是否

21

滁州学院本科毕业设计

存在可行的传球路线,所谓可行的传球路线是指足球传出后将被接球者最快接到,而不会提前被其他球员抢去,因此,对传球路线的可行性分析其实就是分析截球问题。对接球者附近区域的搜索,实际就是对其可能的接球点进行离散化,而且,每个接球点还可能对应着很多不同的传球末速度,所谓传球末速度是指足球到达接球点时的速度,这两个因素离散化后的组合非常之多。为了降低组合维数,可以通过接球者来推出传球末速度:接球者到达接球点的时间Cyc可以计算得出,只要让足球也同样在Cyc时间内到达该接球点就可以完成一次成功的传球,根据足球和接球点的距离、Cyc即可推出传球末速度。这样,当对某一个接球者考虑时,只需要对接球点进行搜索即可,传球末速度可以通过理论计算得到。但是,还会存在传球路线重复搜索问题。因为一个传球速度在不同的位置具有不同的速度大小,所以不同点的不同足球速度可能对应同一个传球速度,对这两种情况的搜索就是重复的过程。而且,接球者区域的具体范围很难确定,如果太小则会造成可行路线的丢失;而如果较大又会造成不同接球者搜索区域的重叠,从而导致传球路线的重复搜索。这种以目标为导向的,考虑接球点或者接球者的搜索方法,极有可能造成传球路线的搜索重复或搜索丢失。

考虑传球的另外一个想法是以传球速度为导向,因为传球路线本质上是由传球初速度决定的,所谓的传球初速度是指足球刚被传出时的速度,也即其获得的传球速度。足球速度是最大值为2.7的360度范围矢量,对这个速度空间的离散化方法是后继搜索的关键基础。比如先粗略的离散速度方向,然后在每个方向上考虑所有的球员计算可行的传球速度范围,该方法[15]对截球问题进行了最大限度的简化(简单的通过中垂线分析穿越速度),只考虑了足球的位置和速度、球员的位置这六个因素,其化简程度远大于5.1.2节讨论的对复杂数值算法的简化;而异构球员能达到的最大速度是不同的,以中垂线来构造穿越速度已不再合适。总的来说,对传球速度空间的离散化方法完全的取决于截球分析的计算量。但是由于场上的信息本身就是带有一定噪声的,截球分析也只是计算一个大概的值,因此,我们在此基础上提出了一种新的离散搜索空间的方法,可以基本覆盖解空间,也可以符合决策的计算量要求。

由于简单数值算法的快速性,对传球速度搜索空间进行了较为密集的离散化,离散间距是不均匀的,因为当速度绝对值比较大时,微小的速度变化(方向和大小),都可能导致不一样的结果,因此,此时的离散化更加密集。也可以根据具体情况增加或缩小离散间距,实际上,由于世界模型和运动模型存在的噪声,更密集的离散是没有必要的,只需更为粗糙的离散化即可。

5.1.2传球路线的决策

传球上使用的算法不是很多,很多都是凭借经验得出,没有一个量化的标准,所以在进行传球决策时我们将每个球员看做是一个相同的个体,再根据球员位置、场上形势以及球员角色等等信息来进行权值的大小调整,最后选出最好的传球者。传球方式有两种,一种是预设提前量的传球,是将球传到目标球员前面某一位置,用于加快进攻节奏。另一种是正常的传球,是将球直接传到指定球员的脚下。

传球的决策包括以下几步:

(1)首先对于场上的队友进行遍历找出可以进行传球的队员,并对每个可以传球的队友设定相

22

滁州学院本科毕业设计

同的权值,其余球员一律设定为0。

(2)判断传球目标球员的位置,根据位置调整权值,如果其位置如果比较靠前或者比较接近对

方球门则相应的增加权值大小,反之减小权值的大小。

(3)判断传球目标球员距离自己的距离大小,距离过大或者过小都要减小权值的大小。 (4)找出权值最大的队友,进行传球。

如果是进行提前量传球则在第(3)和(4)步之间判断可以进行传球的提前量大小,我们现在

主要是将提前量设定为固定的几个值,判断所要传球的目标球员前方空挡大小,如果前方空档比较大的时候则传球的提前量设定为较大的值,反之设定为较小的值。传球决策伪代码如下:

for(按照dConf大小对场上队友进行遍历)

{ }

上述dConf表示可信度,由于球员的视力是有限的,所以每一个队员都对应一个权值,表示其可信度大小,distance_to_me表示目标距离自己的距离,此种方法好处在于把场上所有的球员(包括自己)按照统一的标准进行计算,然后进行权值的比较,如果自己的权值最大则表明不用传球,这

23

if(可以进行传球) { }

if(传球目标是后卫)

权值减10

if(distance_to_me>30)

根据distance_to_me相应减少权值

if(传球目标在自己后方)

相应减少权值

if(传球目标周围对手球没有对手) else

权值减10 权值加2

if(传球目标在我方禁区)

权值减20

if(传球角度过大)

权值减10

if(自己体力不支)

权值加10

……

滁州学院本科毕业设计

样避免了由于决策的失误导致传球过多或者是乱传球。

5.1.3更多的配合

传球是产生配合的基础,如果接球者能够主动配合传球者,可以形成“二过一”或者“三过二”战术[17]。甚至更进一步的,如果有更多的球员参与配合,则可以形成防守体系、进攻体系等,UvA提出用协调图的方法来实现多个智能体间的配合。难点在于如何对状态和动作进行提炼和评价,以及研究新的学习方法进行离线/在线的多智能体间协作的训练。

5.2智能体间的对抗——射门

足球比赛除了要求球员之间进行配合外,还要研究和对手之间的对抗。射门是典型的对抗动作,射门的好坏直接决定了比赛结果。一般来说,射门时和对方守门员相距非常近,为了更准确的对射门进行分析,采用数值计算方法。而且,由于每场比赛中出现的射门次数都比较少,需要抓住每次的机会才行,所以,最好不要进行在线的调整,以免因为探索而丧失了绝佳的射门机会。而射门的执行部分则是建立在加速球的基础上,只是要求在一个周期内完成踢球动作,多个周期的踢球动作可能会造成丢失稍瞬即逝的机会。

5.2.1领先一步模型

控球者在对抗环境下,存在着领先一步的优势。因为在仿真平台中,本周期所执行的动作是无法被观察到的,只有在下个周期才能观察到该动作执行后产生的效果。因此,在面对守门员时,射门者可以有无数的射门点进行选择(速度绝对值要尽可能的大),而守门员却无法知道射门者要选择哪个射门点的。因此,守门员不能预测射门者的动作从而提前进行相应的防守。

所以说,领先一步模型是建立在知道对方不知道自己决策结果的基础上。根据这个假设前提,我们预测对方的状态只可能非常平缓的变化,相对于本周期状态而言;而射门者则可以忽然发力踢球,让足球状态在下个周期时有突然的较大变化,甚至可能直接穿过了守门员的防线。这样,对方守门员防不胜防,因为控球者可选动作的多样化导致对方只能选择最保守的防守动作。到了下个周期,对方才能观察到足球的新状态,进而对本周期的我方动作产生应对动作,所以,我方在此时已经领先了一个周期,即领先一步模型。顺便提一下,在传球的分析过程中,也应该做这样的预处理考虑。

5.2.2射门成功率分析

根据领先一步模型,对射门成功率的分析应该是以下个周期时足球、守门员的状态为基准的,足球状态是能达到的最大速度,守门员状态则是估计的(根据平缓原则)。然后,按照截球中所介绍的复杂数值算法进行后继分析,不同的是普通截球函数以可踢范围kickable_area作为判断标准,而守门员由于可以使用catch指令扑球,半径(catchable_area>kickable_area)的圆内均为守门员的控球范围。

仿真比赛中球门的长度为14.02,如图5-3线段AB所示,我们以1为步进量进行射门点的搜索。对于每一个搜索点,计算足球能够在一个周期内获得的最大射门速度作为下个周期的状态,然后按照数值计算方法对足球和守门员进行运动模拟,得出在射门过程中,足球和守门员的最近距离d。

24

滁州学院本科毕业设计

显然,当d>catchable_area时,该射门点是可行的,只要选择搜索过程中最大d值对应的射门点即可。但是,这样选择出的射门点基本落在球门的两个端点附近,由于噪声的存在,往往造成射门偏差,射门点被干扰到球门外侧;另一方面,噪声还可能将射门点干扰得离守门员更近,守门员可能因此而成功扑球,从而减少了进球机会。如图5-3,假设当前搜索到C点,在一个周期内足球能够获得的最大射门速度为

。由于噪声的存在,将被干扰为图中矩形范围内的某点(干扰方式见公式5-4)

当射门速度向量处于阴影部分时,将会出现射门点偏离球门的情况;当射门速度向量为矩形内某些点时,也有可能使实际的d不满足d>catchable_area的要求。因此,每个射门点都具有两个属性,射门过程中足球和守门员的最近距离d,由复杂数值算法推得;射门概率prob,因为干扰造成的偏离球门和更近守门员的情况,详见接下去的分析过程。

假设足球所获取的射门速度为,根据kick模型,结合公式2-27、2-28,可以知道此时kick指令的噪声对足球的速度影响为(由于射门速度要尽可能的大,所以对应kick命令的Power为max_power):

(5-4)

其中,rx,ry是独立的,在[-kick_rand kick_rand]符合均匀分布。

而足球运动模型表示,足球速度在每个周期都会根据公式2-8被加噪,其噪声最大值是ball_rand=0.05,在[-ball_rand ball_rand]符合均匀分布。

足球的运动模型和kick模型中的随机量共同构成了足球噪声。由于ball_rand每个周期伴随足球运动,其运动噪声的期望值为0,因此,在射门分析过程中不考虑ball_rand的影响,仅考虑起脚时kick_rand的影响。根据公式5-4,如图5-3所示,期望值为

的射门速度将分布在以D为中心,边

长为2×kick_rand的正方形区域中,服从均匀分布,而图中的阴影部分为射门偏离的情况。因此,出现偏离球门的概率prob1:

prob1=阴影部分面积/整个正方形面积×100%

图5-3射门分析示意图

偏离球门的概率简单的由足球的速度角度决定,而考虑加噪后的射门速度是否将被守门员扑取时,需要考虑足球速度的角度和大小的两方面因素。因此,在干扰矩形中均匀的取若干个点,设共

25

5-5

滁州学院本科毕业设计

致谢

随着毕业设计的完成,四年的大学生活也即将结束。在我进入滁州学院学习和最后的毕业论文期间,得到了许多老师和同学的无私帮助,在这里向他们表示深深的感谢!

感谢滁州学院,是他给我们提供了良好的学习和发展环境,让我们从只知道学习的中学生成长为能够立足于社会的人。

感谢滁州学院计算机与科学技术学院党总支书记张玉虎书记和赵瑞斌老师,是他们带领着我进入RoboCup机器人足球的的世界,带领我们参加了一次次的比赛。并给予了我参加2011中国机器人大赛的机会,无论是比赛还是毕业设计,他们的悉心指导让我得到了很大的提高。

感谢我的队长陶飞以及队友江怡顺、马琳琳,在我起步最艰难的时刻他给了我许多无私的帮助,我们一起攻克一个又一个难关,与他们共同备战的过程中我对机器人足球的理解不断加深,为本次的毕业设计打下了坚实的基础。

感谢我的父母和家人,是他们把我抚养长大,是他们对我不断的关心和鼓励,我才能取得今天的成绩。

31

本文来源:https://www.bwwdw.com/article/kxzg.html

Top