2024年3月15日发(作者:怎么赚钱白手起家)
RoboCup机器人足球仿真比赛开发设计
郭叶军 熊蓉 吴铁军
(浙江大学 控制科学与工程学系 工业控制技术国家重点实验室 杭州 310027)
E-mail: yjguo@
摘要:机器人世界杯足球锦标赛(The Robot World Cup),简称RoboCup,通过提供一个标准任务来促进分布
式人工智能、智能机器人技术及其相关领域的研究与发展。本文在介绍RoboCup仿真环境的基础上,系统
完整地介绍了客户端程序的开发设计流程,阐述了其中涉及到的一些主要问题和算法,最后简要综述目前
国际上的典型高层算法结构。
关键词: RoboCup
机器人足球比赛 多智能体系统
*
随着计算机技术的发展,分布式人工智能中多智能体系统(MAS:Multi-agent System)
的理论及应用研究已经成为人工智能研究的热点。RoboCup
1
则是人工智能和机器人技术的
一个集中体现,被认为是继深蓝战胜人类国际象棋冠军卡斯帕洛夫后的又一里程碑式挑战,
目标是到2050年完全类人的机器人足球队能够战胜当时的人类足球冠军队伍。RoboCup包
括多种比赛方式,主要分为软件仿真比赛和实物系列的机器人足球比赛。由于软件仿真比赛
无需考虑实际的硬件复杂性,避免硬件实现的不足,可以集中于研究多智能体合作与对抗问
题,因此,目前参加仿真组比赛的队伍数目最多。本文的内容涉及RoboCup仿真比赛,系
统地介绍了client程序开发设计完整流程,可以作为是开发完整的RoboCup仿真程序的入门
指南。
1.
RoboCup
仿真比赛介绍
2
RoboCup仿真比赛提供了一个完全分布式控制、实时异步多智能体的环境,通过这个
平台,测试各种理论、算法和Agent体系结构,在实时异步、有噪声的对抗环境下,研究多
智能体间的合作和对抗问题。仿真比赛在一个标准的计算机环境内进行,采用Client/Server
方式,由RoboCup联合会提供Server系统rcsoccersim(版本8之前名为soccerrver),参赛
队编写各自的客户端程序,模拟实际足球队员进行比赛。
Rcsoccersim通过提供一个虚拟场地,对比赛全部球员和足球的移动进行仿真,以离散
的方式控制比赛的进程。仿真模型引入了真实世界的很多复杂特性,诸如物体移动的随机性、
感知信息和执行机构的不确定性、个人能力的物理有限性以及通讯量的受限性。Client程序
则表现为多个Agent(球员)为了共同的赢球目标进行多智能体间的合作规划,因此,我们需
要进行以下设计:多线程的程序结构,client和rver间的同步策略,根据有限信息重构足
球场上所有对象图景,Agent的底层动作设计,Agent的高层决策智能算法。
2. 程序框架和同步策略
Rcsoccersim通过UDP/IP协议和client进行通信,并没有对client的开发和运行环境提
出任何其他限制,只要支持UDP/IP协议即可,因此在开发环境和使用语言上可以有多种选
*
2002年11月收到《计算机工程与应用》录用通知
择。由于rcsoccersim运行在Linux/Unix系统下,而Linux遵循之GPL
3
许可和RoboCup开
放源码、共享资源的思路有极大的相通之处,因此国际上一般都是选择Linux系统作为开发
平台。同时因为windows系列平台的易用性,也有极少数参赛队选择,如清华大学
TsinghuAeolus
4
。考虑到有大量基于Linux系统的文档资料,而且Linux系统具有高性能的
网络特性和实时处理能力,在 Linux下同样拥有强大功能的编辑、编译、调试、源码控制
程序,如vim, gcc, gdb, cvs以及程序开发集成环境KDevelop,丝毫不比Win平台逊色,所
以本文选择了Linux操作系统作为仿真开发平台。
仿真开发环境一般需要有三台计算机组成局域网,其中一台运行rcsoccersim,另外两台
分别运行两个参赛队的程序,三台机器连到同一个Hub。目前主流配置是Redhat7.3,
PIV1.70GHz,256MRAM,100M网卡。
程序框架
5
RoboCup仿真是11VS11的比赛,每支参赛队启动11个Agent(球员)进程,每一个进程
则由两个线程组成。一个是IO处理线程,一旦网络上有rcsoccersim发送的数据包,就被触
发运行;另外一个则是决策线程,选择一个适当的时机,利用rcsoccersim给出的有限信息
进行处理决策,最后选择一个合适的基本动作发送至rcsoccersim。由于两个线程都会利用/
更新足球场上对象的信息,所以还需要增加一个互斥量,对该信息库进行加锁操作。
决策线程是关键,每个Agent内部都维护着一个世界模型,作为对真实世界的知识表述,
由感知信息的处理结果和外部行为模块所选择动作的预测结果来共同更新。外部行为根据高
2.1
层决策发送基本动作指令。基本动作作用于真实世界,从而改变Agent将来的感知。
从图(1)可以看出,还需要解决client和rver间的同步问题,维护和更新世界模型,Agent
高层决策算法以及为实现高层决策的底层动作(图示为外部行为)。
2.2 同步策略
Rcsoccersim执行Agent球员发送的基本动作指令,并据此相应的更新比赛环境,同时
根据一定的时间间隔规律向每个Agent发送感知信息(visual, auditory , n_body)。Agent
则根据这些信息来确定下一步要做的基本动作(dash,kick,turn,etc)
6
。在这样的异步、离散控
制的仿真环境中,c/s间的同步机制显得格外重要。在每一个离散周期(目前一个仿真周期为
100ms),Agent不能发送过多的动作指令,否则只会被随机选择其中某个指令;另一方面,
在每一个离散周期,Agent也应该发送起码一个指令,否则就会浪费该仿真周期。发送指令
的时间要足够的早,要在本周期rcsoccersim停止接收Agent指令之前发送到,否则就会浪
费本周期机会;发送指令的时间又要足够的晚,这样才能在得到尽可能多信息的情况下,做
出一个更准确的决策。那么,什么时候发送指令就成为问题的关键。
阿姆斯特丹大学的UvA Trilearn
7
综合研究了四种同步策略:外部基本策略(External
Basic)、内部基本策略(Internal Basic)、固定外部窗策略(Fixed External Windowing)、柔性外
部窗策略(Flexible External Windowing)。经过研究表明
8
,柔性外部窗策略是最佳选择,该策
略如图2所示。图中点虚线代表自身感知信息,rcsoccersim在每个周期的开始时段发送,短
划虚线代表视觉信息,实线则是Agent发送给rcsoccersim的动作指令,阴影部分是Agent
的决策模块。从图2可看出,Agent最大限度的利用了最新信息,同时也保证每一周期都不
被浪费,确实是一个不错的同步机制。
3. 世界模型和底层动作
在开始研究多智能体合作与对抗算法之前,我们还需要解决世界模型的维护以及底层动
作的设计。
3.1 世界模型的维护
Agent仅能得到视野角度范围内的有限感知信息,而且有限的信息也带有噪声,而在
Agent内部维护一个较为准确的全局世界模型,是接下去所有决策的前提条件,具有重要意
义。
卡内基梅隆大学的RoboCup仿真研究小组
9
提出世界模型更新算法
10
,结合Agent获取
的感知信息以及对执行动作的预测结果进行更新世界模型。当更新Agent的世界模型时,首
先更新Agent本身的位置、速度等值,然后更新球和其他球员。
n Agent本身
由于视觉信息是以相对坐标表示的,那么首先要确定对应视觉信息时刻的Agent本身
的绝对坐标。以视觉信息为主,再考虑自身感知信息以及动作预测结果来补充更新Agent
本身信息。
n 足球
在决策过程中,足球的位置和速度对动作的选择是一个相当关键的因素。因此,要尽可
能及时获得关于足球的精确信息。主要利用视觉信息中的相对值来更新足球对象的位置和速
度。当决定是否要截球、是否要踢球时,球的速度是非常重要的,而在视觉信息中通常不给
出球的速度,因此当需要得到足球速度值时,可以通过原来的位置和当前的位置来计算球的
速度。
n 其他球员
由于经常会因为距离原因不能看到所有球员的号码及所属队名,甚至有些球员将不在视
野范围内,因此很难跟踪每个球员的位置。我们需要建立尽可能准确的世界模型,包括场上
所有对象信息。
通常情况下,球员位置和速度的确定和球所采用的方法一样。所额外增加的是视觉信息
中所提供的球员的面向。
在不能获知球员的全部信息时,可用该球员的原先位置来消除这种不确定性。由于已知
一个球员在一个周期内所能够移动的最大距离,因此当所得到的一个球员信息没有标识时,
可以通过原来球员的位置来确定它的标识。
3.2 底层动作介绍
当一个良好的算法被设计后,同样需要完善的底层动作分解实现之,底层动作主要包括
跑位、传球、截球、带球、断球、射门等个人技术。这些技术动作是最基本的,是实现高层
的复杂策略所必不可少的,每个都是复合动作,实现都需要多个周期,由多个基本命令(dash,
kick,turn)组成。
l 跑位:在决策出跑位点后,在跑位过程我们需要考虑世界模型的准确与完备,即
视线不能老是对着跑位点,适当时候还应该转身扫描获取场上对象情况。
l 传球:扫描传球路线,确定传球力量。保证足球不会被对方球员所截获。
l 截球:已知足球速度方向,分析各球员的得球能力。
l 带球:不需要保证足球每个周期都在可踢范围内,只要保证自己能最早截球即可,
可调用截球模块来重新获得足球控制权。
l 断球:当双方近距离争抢足球时,如何断球,夺取足球的控制权。
l 射门:可以参考传球模块,需要增加对对方守门员的额外考虑。
底层动作的实现可采用几何的方法对运动模型进行解析计算,也可采用神经网络的方法
进行场景训练,使用监督学习的方式,通过对多层前馈神经元网络的训练,实现如带球,传
球,射门等基本技术。基于神经网络的学习在机器人足球领域已经有所研究
11
,该文提出的
方法也适用于仿真领域。
4. 高层算法简介
高层决策研究——多智能体的合作与对抗——是RoboCup仿真项目的最终研究目标。
在机器人足球系统的开发中 ,近年来迅速发展的先进智能算法被充分利用,并取得了很好的
效果。
Peter Stone
12
使用层学习技术来设计机器人的基本动作和顶层决策。Kostas Kostiadis
13
利
用再励学习方法实现多机器人系统中的合作行为。Endo Kazuaki et al.
14
运用遗传算法来优化
系统的参数。层学习技术综合了慎思结构和反应式结构,有很成功的应用。RoboCup仿真
比赛的2001世界冠军清华大学队
15
设计了层结构作为机器人的系统结构,使用神经元网络
实现全队的基本队形,然后按照智能水平从低到高的顺序,建立整个机器人足球比赛系统,
并应用于实践中。
5. 结束语
本文较为系统地介绍了开发RoboCup仿真程序的完整过程,特别以较多的篇幅介绍仿
真程序开发设计中涉及的一些主要问题与算法。本文旨在降低RoboCup仿真比赛的进入壁
垒,减少开发人员的重复性劳动,将更多的精力投入到高层算法上来。
References
1
/
2 Ehsan Foroughi, Fredrik Heintz , et al. Urs Manual RoboCup Soccer Server,2001.
/sourceforge/srver/
3
/copyleft/
4
/robocup/
5
薛宏涛 沈林成 常文森. PTS领域中的Agent体系结构设计与实现. 国防科技大学自动控
制系. 计算机工程与应用.2000,第36卷第7期.
6
Ehsan Foroughi, Fredrik Heintz , et al. Urs Manual RoboCup Soccer Server,2001.
/sourceforge/srver/
7
/~jellekok/robocup/index_
8
Romco de Boer & Jelle Kok. The Incremental Development of a Synthetic Multi-Agent System:
The UvA Trilearn 2001 Robotic Soccer. Faculty of Science University of Amsterdam.
/~jellekok/publications/2002/
9
/~robosoccer/
10
Mike Bowling & Peter Stone & Manuela Veloso. Predictive Memory for an Inaccessible
Environment. Computer Science Department Carnegie Mello University Pittsburgh PA
15213-3890.
11
洪炳熔 薄喜柱 韩学东. 基于人工神经网络的足球机器人分层学习研究. 哈尔滨工业大
学计算机系智能机器人研究室. 计算机工程与应用.2001,第37卷23期.
12
Peter Stone. Layered Learning in Multi-Agent Systems. School of Computer Science Carnegie
Mellon University. Pittsburgh, PA 15213-3891
13
Kostas K & Hu Huosheng. Reinforcement Learning and Co-operation in a Simulated
Multi-agent System [A]. Proceedings of the 1999 IEEE/RSJ International Conference on
Intelligent Robots and Systems[C]. Japan: IEEE, 1999, 990-995
14
Endo K & Ito S & Yamaguchi H, et al. Team Description for “DONGURI”[A]. Hiroki K.
RoboCup-98: Robot Soccer World Cup II [C]. Berlin: Springer, 1998, 305-308.
15
李实, 陈江, 孙增圻. 清华机器人足球队的结构设计与实现. 清华大学计算机科学与技术
系, 智能技术与系统国家重点实验室. 清华大学学报(自然科学版)2001年第41卷第7期.
Design of Simulated Robots in RoboCup Tournament
Guo Yejun Xiong Rong Wu Tiejun
(National Lab. of Industrial Control Technology, Department of Control Science and Engineering,
Zhejiang University, Hangzhou, 310027)
Abstract: RoboCup(the Robot World Cup Tournament) contributes greatly to the development of Distributed
Artificial Intelligence(DAI), Robotic, etc, by providing a standard platform to rearchers and engineers in tho
fields. In this paper, bad on a simulated model of RoboCup, the design procedures as well as veral related
problems and algorithms for RoboCup Agents are introduced in detail, and a typical structure of the top-level
strategy in RoboCup is prented briefly.
keywords: RoboCup DAI Rcsoccersim MAS
作者简介: 郭叶军,男,浙江大学硕士研究生,主要研究方向:智能机器人、
多智能体系统、模式识别;熊蓉,女,浙江大学工程师,主要研究方向:智能机
器人、分布式集中式控制理论、网络数据库;吴铁军,男,浙江大学教授,博导,
主要研究方向:大系统智能控制与优化,人机协同控制与决策,混杂系统智能控
制,多智能体分散控制,智能系统理论在复杂工业过程中的应用。
本文发布于:2024-03-15 07:42:16,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/zhishi/a/171045973656050.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:RoboCup 机器人足球仿真比赛开发设计.doc
本文 PDF 下载地址:RoboCup 机器人足球仿真比赛开发设计.pdf
留言与评论(共有 0 条评论) |