CN101834842B - 嵌入式环境下的RoboCup平台球员智能控制方法及其系统 - Google Patents

嵌入式环境下的RoboCup平台球员智能控制方法及其系统 Download PDF

Info

Publication number
CN101834842B
CN101834842B CN 201010125426 CN201010125426A CN101834842B CN 101834842 B CN101834842 B CN 101834842B CN 201010125426 CN201010125426 CN 201010125426 CN 201010125426 A CN201010125426 A CN 201010125426A CN 101834842 B CN101834842 B CN 101834842B
Authority
CN
China
Prior art keywords
sportsman
information
ball
cycle
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN 201010125426
Other languages
English (en)
Other versions
CN101834842A (zh
Inventor
覃征
邢剑宽
李凤翔
陈晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 201010125426 priority Critical patent/CN101834842B/zh
Publication of CN101834842A publication Critical patent/CN101834842A/zh
Application granted granted Critical
Publication of CN101834842B publication Critical patent/CN101834842B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了一种嵌入式环境下的RoboCup平台球员智能控制方法,包括如下步骤:1)从服务器端接收各种信息;2)根据接收到的信息类型进行相应处理后发送给世界模型模块;3)根据所述世界模型模块获取的当前球员的局部感知情况,由当前球员的高层决策模块负责球员之间的分工协作;4)根据高层决策的规划来选择每个球员的动作;5)发送动作命令给服务器端。嵌入式环境下的RoboCup平台球员智能控制系统包括,接收信息处理模块、世界模型、高层决策模块、球员技术模块、动作命令发送模块。本发明致力于在开发过程中迁移到Android嵌入式操作系统上,实现嵌入式环境下的RoboCup平台球员智能控制方法,同时实现对系统计算资源和存储资源的合理占用。

Description

嵌入式环境下的RoboCup平台球员智能控制方法及其系统
技术领域
本发明涉及计算机智能控制技术领域,尤其是涉及一种嵌入式环境下的RoboCup平台球员智能控制方法及其系统。 
背景技术
智能体的设计是一个非常复杂的过程,涉及各种各样的技术,包括智能体的设计准则、多主体合作、策略获取、实时推理、机器人学以及感知信息融合等。对于一个比赛的球队来说,智能机器人的每一次动作选择都是在动态环境下进行的。因此,针对智能机器人的设计这一难题,当前人们都做出了许多的努力。例如建立RoboCup联盟、提供RoboCup仿真平台、通过举办机器人足球比赛等方式来促进人工智能和智能机器人的研究。其中葡萄牙的FC Portugal球队和UVA Trilearn球队等都提出了许多非常出色的动作决策算法。葡萄牙的FC Portugal球队的高层决策模型不仅决定了球员动作,而且决定了战术、阵型、站位和每一时刻的球员类型。此外,FC Portugal球队还提出了一种针对阵型和跑位做出的基于形势的策略定位方法SBSP。其中,每个球员通过计算其起始位置(一般由阵型决定)和球所在位置的加权值来确定其策略站位。而UVA Trilearn球队的动作选择策略则是一个不断改进的过程。其初期是由用于检测低水平的表现及其基本技能的简单选择过程组成,其后通过不断比较增添该动作或不增添动作的效果,进行选择,不断引进更高级的技能和策略。同时,UVA球队还引入了体力模型,对球员的体力进行了一定的估计和管理。但是这些现有技术对于智能足球机器人的设计和动作推理都是基于PC机的,并且算法比较复杂,占用系统计算资源和内存资源过多,不适用于嵌入式环境。 
发明内容
本发明致力于在开发过程中迁移到Android嵌入式操作系统上,以实现嵌入式环境下的智能体的设计,同时实现对系统计算资源和存储资源的合理占用。 
为达到上述目的,本发明提供了如下所述的技术方案。一种嵌入式环境下的RoboCup平台球员智能控制方法,包括如下步骤: 
1)从服务器端接收各种信息; 
2)根据接收到的信息类型进行相应处理后整合给客户端的世界模型模块; 
3)根据所述世界模型模块获取的当前球员的局部感知情况,由当前球员的高层决策模块负责球员之间的分工协作; 
4)根据所述高层决策模块的规划来选择每个球员的动作; 
5)发送动作命令给服务器端。 
在本发明的一个实施例中,所述步骤1)中的各种信息包括,命令响应信息、视觉信息、身体感知信息和听觉信息。 
在本发明的另一个实施例中,所述步骤2)的具体处理过程为: 
对于命令响应信息,所述接收信息处理模块立即直接对其进行解析处理,将命令执行的结果根据需要更新到所述世界模型模块中; 
对于视觉信息和身体感知信息,所述接收信息处理模块不进行解析和更新,而是将其保存到共享数据区中; 
对于听觉信息,所述接收信息处理模块根据不同的发送者来选择不同的处理方式,当发送者是自己,则不进行任何处理,当发送者是裁判员,则直接通知所述世界模型模块更新当前的比赛模式,当发送者是在线教练或其他球员且其消息内容中包含发送者所通报的物体运动信息,即等同于视觉信息,则保存并发送给所述世界模型模块统一进行解析与更新。 
在本发明的另一个实施例中,所述步骤(3)中的局部感知情况包括当前球员在规定范围内可以看到和听到的球场情况,其中包括周围双方球员的位置、速度和加速度、喊话声,以及球在可视范围内的位置和速度和当前球员感受到自身的体力、速度和加速度。 
在本发明的又一个实施例中,所述世界模型模块针对当前球场状态进行预 测包括对球进行的预测以及对球员进行的预测。 
在本发明的又一个实施例中,所述对球进行的预测包括: 
情况1:本周期内没有视觉信息,或者视觉信息中并不含任何球的信息,而且上个周期没有执行踢球命令,则假设没有任何球员碰到球,然后不对球的运动信息进行计算并将其更新到所述世界模型模块中; 
情况2:本周期内有视觉信息,但是视觉信息中只有球的位置信息,则还需要得到其速度信息;这种情况说明,球位于球员邻域内,但是不在球员视野范围内;如果连续两个周期内得到球的位置,则球在上一周期中的速度就可由上周期两个位置之差得到,然后计算当前周期的球速; 
情况3:本周期内有身体感知信息,球员发送的踢球命令得到了执行,则计算出有效踢球力量,进而计算出加速度,然后根据当前球的位置、速度计算出下一周期的位置与速度; 
如果要对未来n个周期中球的运动状态进行预测,其方法为:第1周期按上述方法预测,而对于从第2个周期到第n个周期的运动情况,都按照上面的情况1进行处理。 
在本发明的又一个实施例中,所述高层决策模块是通过球队阵型、跑位和动作选择算法来实现。 
在本发明的又一个实施例中,所述动作命令包括身体控制命令、通讯命令、数据请求命令。 
一种嵌入式环境下的RoboCup平台球员智能控制系统,包括:服务器端:用于执行客户端发来的命令以及给参与比赛的客户端发送信息,以及至少两个客户端,每个客户端对应于一个球队,所述客户端包括: 
接收信息处理模块,用于接收所述服务器端发送的消息,并且按照预定协议对所接收的信息进行解析和分类,并将特定类型的信息发送给世界模型; 
世界模型模块,用于接收所述接收信息处理模块发送的信息,并进行更新、合并以及存储; 
高层决策模块,用于根据世界模型中存储的信息,进行球员之间的分工协作的高层决策,并将所述决策发送给球员技术模块; 
球员技术模块,用于根据世界模型中存储的信息以及高层决策模块所作出 的决策对球员的基本动作进行选择; 
动作命令发送模块,根据预定的动作指令协议,向服务器端发送动作指令。 
在本发明的又一个实施例中,所述接收信息处理模块将接收到的信息进行解析和分类: 
对于命令响应信息,所述接收信息处理模块立即直接对其进行解析处理,将命令执行的结果根据需要更新到所述世界模型模块中; 
对于视觉信息和身体感知信息,所述接收信息处理模块不进行解析和更新,而是将其保存到共享数据区中; 
对于听觉信息,所述接收信息处理模块根据不同的发送者来选择不同的处理方式,当发送者是自己,则不进行任何处理,当发送者是裁判员,则直接通知所述世界模型模块更新当前的比赛模式,当发送者是在线教练或其他球员且其消息内容中包含发送者所通报的物体运动信息,即等同于视觉信息,则保存并发送给所述世界模型模块统一进行解析与更新。 
在本发明的又一个实施例中,所述动作命令发送模块发送与连接相关的命令和球员自身的控制命令,其中所述与连接相关的命令包括初始化命令、球员参数命令、重新连接命令、结束连接命令,所述球员自身的控制命令包括身体控制命令、通讯命令、数据请求命令。 
在本发明的又一个实施例中,所述身体控制命令包括转身、扑球、加速、踢球、移动。 
在本发明的又一个实施例中,所述世界模型模块针对当前球场状态进行预测包括对球进行的预测以及对球员进行的预测。 
在本发明的又一个实施例中,所述对球进行的预测包括: 
情况1:本周期内没有视觉信息,或者视觉信息中并不合任何球的信息,而且上个周期没有执行踢球命令,则假设没有任何球员碰到球,然后不对球的运动信息进行计算并将其更新到所述世界模型模块中; 
情况2:本周期内有视觉信息,但是视觉信息中只有球的位置信息,则还需要得到其速度信息;这种情况说明,球位于球员邻域内,但是不在球员视野范围内;如果连续两个周期内得到球的位置,则球在上一周期中的速度就可由上周期两个位置之差得到,然后计算当前周期的球速; 
情况3:本周期内有身体感知信息,球员发送的踢球命令得到了执行,则计算出有效踢球力量,进而计算出加速度,然后根据当前球的位置、速度计算出下一周期的位置与速度; 
如果要对未来n个周期中球的运动状态进行预测,其方法为:第1周期按上述方法预测,而对于从第2个周期到第n个周期的运动情况,都按照上面的情况1进行处理。 
在本发明的又一个实施例中,所述高层决策模块是通过球队阵型、跑位和动作选择算法来实现。 
在本发明的又一个实施例中,所述球队阵型算法是将不同阵型的信息存储在配置文件中,每个球员启动时都读取同样的阵型配置文件,从而可以获知整个球队所采用的阵型及其它队友的策略位置信息;将球员在比赛中根据战术需要而应当前往的位置定义为策略位置,每个球员通过计算其在阵型中的基本位置和球的当前周期的所在位置的加权值来确定其策略位置。 
在本发明的又一个实施例中,所述动作选择算法是球员根据预先给定的“条件-行动”规则,匹配当前场景条件适合的规则,选择相应的行动。 
在本发明的又一个实施例中,所述“条件-行动”规则分为非守门员球员的决策算法与守门员球员的决策算法。 
本发明采用Android Activity的进程模型开发,实现了相应的方法确保在生命周期不同阶段之间相互切换时保持正确性和数据的一致性,确保了本发明系统的可靠性。同时,在本发明中,由于需要在将本程序切换到后台时球员仍然正常进行踢球的活动,同时还有大量的线程同时进行网络通讯,在本发明系统中使用了Service来实际完成球队策略控制和底层网络通讯的功能。 
附图说明
图1是根据本发明的嵌入式环境下的RoboCup平台球员智能控制方法的流程图; 
图2是根据本发明的嵌入式环境下的RoboCup平台球员智能控制方法的步骤2)的详细流程图; 
图3是根据本发明的利用视觉信息更新世界模型的流程图; 
图4是在PC机上RoboCup的体系结构图; 
图5是本发明在Android环境下的RoboCup的体系结构图; 
图6是根据本发明的嵌入式环境下的RoboCup平台球员智能控制系统的结构图; 
图7是根据本发明的嵌入式环境下的RoboCup平台球员智能控制方法中对非守门员球员的决策算法流程图; 
图8是根据本发明的嵌入式环境下的RoboCup平台球员智能控制系统对球场进攻区域的划分示意图;以及 
图9根据本发明的嵌入式环境下的RoboCup平台球员智能控制方法中对守门员球员的决策算法流程图。 
具体实施方式
下面将参照附图更加详细地描述根据本发明的嵌入式环境下的RoboCup平台球员智能控制方法及其系统的具体实施例。 
一种嵌入式环境下的RoboCup平台球员智能控制方法,如图1所示,包括如下步骤: 
1)从服务器端接收各种信息; 
2)根据接收到的信息类型进行相应处理后整合给客户端的世界模型模块; 
3)根据所述世界模型模块获取的当前球员的局部感知情况,由当前球员的高层决策模块负责球员之间的分工协作; 
4)根据所述高层决策模块的规划来选择每个球员的动作; 
5)发送动作命令给服务器端。 
其中,上述步骤1)中的各种信息包括,命令响应信息、视觉信息、身体感知信息和听觉信息。 
如图2所示,上述步骤2)的具体处理过程如下: 
A)球员根据读取的配置文件开球; 
B)将消息发送给服务器端; 
C)判断上述消息是否与物体动作信息有关,如果是,则立即对该消息 进行解析处理后更新给世界模型模块,否则进入步骤D); 
D)服务器保存信息到共享数据区中,并发送信息给球员; 
E)判断消息是否为身体感知信息,如果是,则进入步骤F),否则进入步骤G); 
F)保存身体感知信息; 
G)保存视觉信息; 
H)更新世界模型模块; 
I)由世界模型模块发送消息给动作决策模块; 
J)通过动作决策模块转入步骤B)。 
其中,配置文件是在系统启动前按照需要,设计的一些球员的初始位置、队形以及个人能力的信息。系统启动时就会读取这个文件,并按照文件中的内容设置开球时各个球员的状态。 
对于视觉信息和身体感知信息,将其保存到共享数据区中; 
对于听觉信息的处理,要根据发送者的不同来选择处理的具体方式。如果发送者是自己,则不进行任何处理;如果发送者是裁判员,则可以直接处理,通知更新当前的比赛模式;如果发送者是在线教练或其他球员,则其消息内容中可能包含发送者所通报的物体运动信息,即等同于视觉信息,需要将其保存并交由所述世界模型模块统一进行解析与更新。 
世界模型中的信息主要是从服务器接收到的视觉信息和身体感知信息,因此根据视觉信息和身体感知信息来对世界模型进行更新。视觉信息实际上是物体相对于接收该视觉信息的球员的一个相对信息,要维护世界模型中的物体全局信息,只需将其视觉信息中各个相对信息值还原出全局信息值。具体过程请参照图3所示。 
视觉信息,即表示球员可以在自己视觉范围内看到的情况,服务器每隔150ms发送一次;感知信息,即表示队员感知自己的方向、当前速度、体力等信息,服务器每隔100ms发送一次。而RoboCup规定每隔100ms,客户端可以向服务器端发送一个动作。如果100ms内发送多于一个动作,则其中随机的一条被执行;如果100ms内没有发生动作,则让球员保持静止或者惯性运动。发出动作是由决策线程来决定的,而决定的依据很大程度上依赖于视觉感 知信息。但是由于视觉信息每150ms才能收到一次,这样每隔3个周期就会没有视觉信息。一个周期是100ms。即使有视觉信息,由于视野范围的影响,可能会存在信息缺失,比如只有位置,没有速度等。此时必须通过世界模型的预测来尽可能的估计当前球场上的状态。比如根据上一周期的球的方向和速度,当前周期应该飞到身后去,就应该立刻转身。同时由于视觉信息具有不完整性,收到的视觉信息可能有一些未知球员的视觉信息,因此需要对这些未知球员与最近几个周期没有明确看到的球员进行匹配。即,从中选出位置信息可信度较好且比较未知球员当前位置的距离,将未知球员匹配为距该位置最近的球员。 
虽然采用视觉信息对世界模型进行更新最为准确,但是并不是每个时钟周期都有视觉信息到达,此时通过本周期接收到身体感知信息对场上物体的状态进行预测和必要的更新。但是由于身体感知信息仅仅包含对自己状态的感知(体力、加速度和视觉模式),感受不到周围的球员,所以这种预测仅能对球和球员自身的运动状态进行预测。 
世界模型模块针对当前球场状态进行预测包括对球进行的预测以及对球员进行的预测。 
其中,对球进行的预测包括: 
情况1:本周期内没有视觉信息,或者视觉信息中并不含任何球的信息,而且上个周期没有执行踢球命令,则假设没有任何球员碰到球,然后不对球的运动信息进行计算并将其更新到所述世界模型中; 
情况2:本周期内有视觉信息,但是视觉信息中只有球的位置信息,则还需要得到其速度信息;这种情况说明,球位于球员邻域内,但是不在球员视野范围内;如果连续两个周期内得到球的位置,则球在上一周期中的速度就可由上周期两个位置之差得到,然后计算当前周期的球速; 
情况3:本周期内有身体感知信息,球员发送的踢球命令得到了执行,则计算出有效踢球力量,进而计算出加速度,然后根据当前球的位置、速度计算出下一周期的位置与速度; 
如果要对未来n个周期中球的运动状态进行预测,其方法为:第1周期按上述方法预测,而对于从第2个周期到第n个周期的运动情况,都按照上面的 情况1进行处理。 
对球员运动进行预测时,在身体感知信息中,直接包括有体力参数、球员自身相对于头部的速度以及头部相对于身体的角度。可按照以下步骤对新周期开始时的球员自身的运动状态进行更新: 
a)更新全局加速度和体力信息。体力信息即身体感知信息中的体力,而全局加速度为0,只在执行冲撞命令的周期末短暂地改变为非零值。 
b)更新全局身体朝向。具体来说就是,如果没有上个周期没有执行转向命令,则全局身体朝向不变;否则,需要根据转向模型计算实际的身体转向角度,然后将其加到上一周期的全局身体朝向上即可得到本周期的全局身体朝向。 
c)更新全局头部朝向。根据身体感知信息中的头部相对于身体的角度和上一步得到的全局身体朝向,可以计算出全局头部朝向。 
d)更新全局速度。根据速度的数值、速度的方向和上一步骤求得的全局头部朝向,可以计算出球员的全局速度。 
e)更新全局位置。由于已知上一周期的全局位置,因此还需要知道上个周期末的速度和本周期的全局速度的速率,可获得上周期末的全局速度大小;全局速度方向角度改变量为上述b)中计算的实际转向角度,由此即可得出上一周期末的全局速度,从而确定本周期的全局位置。 
接下来介绍如何对未来多个周期内球员的运动情况进行预测。由于无法提前获取相应的身体感知信息,预测方法同上述预测方法有很大区别: 
1)对未来周期球员运动状态的预测,需要假设所发送的动作命令一定被执行,然后按照各种基本行为模型进行计算; 
2)预测下一周期的全局身体朝向,要根据转向模型来预测,与上述b)相同; 
3)预测下一周期的全局头部朝向,需要根据上一步得到的全局身体朝向和转身模型共同来预测,而不能由身体感知信息中的头部相对于身体的角度得到; 
4)预测本周期末的全局加速度和下一周期的体力值,需要根据冲撞模型及体力模型算法来计算出实际加速度和下一周期的体力值; 
5)预测下一周期开始时的全局速度,根据运动模型利用上一步求出的本周期末的加速度进行预测,而无法由身体感知信息中的速度直接获取。 
预测下一周期的全局位置,根据运动模型利用当前周期全局位置和当前周期末的全局速度,预测方法同前面的相同。 
在为PC机开发的RoboCup客户端,其体系结构如图4所示。每一个球员用一个进程来实现。每个进程中运行着3个线程,分别是决策线程,消息处理线程和命令发送线程。其中消息处理线程和消息发送线程直接建立Socket与RoboCup服务器进行通讯。这种实现是本发明系统在PC机上的实现方式。 
但是,在Android环境下,其进程模型与普通PC机的进程模型不同,它采用Activity Task来封装进程。同时由于Activity的代价极为昂贵,因此不能像在PC机上那样为每一个球员创建一个Activity,而是为每一个球队创建若干共享的Activities,分别用于控制球队启动和停止、配置球队参数以及查看运行时输出。此外,Activities仅用于和用户交互,而实际的核心则由Service来实现,这样可以避免由于Activity被切换到后台后停止工作。每一个RoboCup客户端的三个线程作为一个线程组(Thread Group)来完成一个队员的工作。Activity和Service之间通过Intent来进行通讯,整个体系结构如图5所示。当RoboCup平台球员智能控制系统启动时,Activity首先被创建和加载。当用户完成配置后,启动连接过程时,Activity会发送Intent使得Service开始工作。如果此时Service还没有被创建,就会首先进行创建过程。Service会创建相应的线程来完成实际的决策和命令收发的工作。从图中还可以看到将每个队员直接和服务器进行UDP通讯改为了由一个线程统一执行UDP通讯。 
Android操作系统的用户界面实现方案与常规RoboCup客户端不同。常规的客户端可以没有图形化用户界面,直接采用命令行+参数+配置文件的方式运行。而在Android环境下,应用程序默认的界面必须是图形界面。并且与常规Java环境下Swing或AWT图形界面方式不同,Android采用运行时加载XML格式的图形界面配置文件的形式实现用户界面。在JJSD中按照Android的开发形式,实现了图形界面,用以配置队员名称、运行时的各种关键参数和阈值等。 
在典型的桌面服务器环境下一般会有一个公用的文件系统,不同的应用程 序可以共享同一个文件系统,并能自由对其中的文件进行访问。在Android下,数据存储模型与此不同,每个Android上的应用程序都存在一个私有存储空间。不同应用程序的存储空间相互独立。为此,Android提供了Content Provider机制来进行数据读写的访问。在JJSD中,需要对配置文件以及运行时日志文件进行读写。因此,分别利用两种不同的Content Provider进行这个工作。其中,Preferences用于配置的读写。具体方案是采用Android应用程序上下文提供的接口Context.getSharedPreferences();利用Files来读写当前的日志。具体实现方案是采用Android应用程序上下文提供的接口Context.getFileInput()和Context.getFileOutput()。 
一种嵌入式环境下的RoboCup平台球员智能控制系统,如图6所示,包括:服务器端,用于执行客户端发来的命令以及给参与比赛的客户端发送信息;以及至少两个客户端,每个客户端对应于一个球队,所述客户端包括: 
接收信息处理模块,用于接收所述服务器端发送的消息,并且按照预定协议对所接收的信息进行解析和分类,并将特定类型的信息发送给世界模型; 
世界模型,用于接收所述接收信息处理模块发送的信息,并进行更新、合并以及存储; 
高层决策模块,用于根据世界模型中存储的信息,进行球员之间的分工协作的高层决策,并将所述决策发送给球员技术模块; 
球员技术模块,用于根据世界模型中存储的信息以及高层决策模块所作出的决策对球员的基本动作进行选择; 
动作命令发送模块,根据预定的动作指令协议,向服务器端发送动作指令。 
其中,接收信息处理模块具体的分类处理方法如下: 
对于各种命令响应信息,接收信息处理模块可以立即直接对其进行解析处理,将命令执行的结果根据需要更新到世界模型中;对于视觉信息和身体感知信息,将其直接保存到共享数据区中; 
对于听觉信息的处理,要根据发送者的不同来选择处理的具体方式;如果发送者是自己,则不进行任何处理,如果发送者是裁判员,则可以像命令响应消息那样直接处理,通知更新当前的比赛模式;如果发送者是在线教练或其他 球员,则其消息内容中可能包含发送者所通报的视觉信息,则需要保存并交由所述世界模型统一进行解析与更新。 
世界模型中的信息主要是从服务器接收到的视觉信息和身体感知信息,因此根据视觉信息和身体感知信息来对世界模型进行更新。视觉信息实际上是物体相对于接收该视觉信息的球员的一个相对信息,要维护世界模型中的物体全局信息,只需将其视觉信息中各个相对信息值还原出全局信息值。 
同时由于视觉信息具有不完整性,收到的视觉信息可能有一些未知球员的视觉信息,因此需要对这些未知球员与最近几个周期没有明确看到的球员进行匹配。方法为从中选出位置信息可信度较好且比较未知球员当前位置的距离,将未知球员匹配为距该位置最近的球员。 
虽然采用视觉信息对世界模型进行更新最为准确,但是并不是每个时钟周期都有视觉信息到达,此时我们通过本周期接收到身体感知信息对场上物体的状态进行预测和必要的更新。但由于通过身体感知信息并不能包含其他球员的动作命令,所以这种预测是悠闲地,仅能对球和球员自身的运动状态进行预测。 
而对于物体的运动采取对每个仿真周期进行逐步仿真。同时针对每个能够改变球员或球的运动状态的行为,例如扑球、冲撞、踢球、跑动、转变方向、转身等动作都建立相应的动作模型来获得相对应的变量。对球的运动状态的预测,主要通过球的运动模型和踢球模型进行预测。而对于球员运动状态的预测则是先以根据身体感知信息对世界模型中的信息进行更新,再对未来周期的球员运动信息的预测。 
高层决策模块则主要负责不同球员根据当前场上的情况进行推理,进行协作,选择恰当的技术而采取相应的动作。在此我们是通过球队阵型与跑位和动作选择算法来实现的。 
考虑到嵌入式环境下对资源的限制,本发明采用一种更为简化的方法来确定球员的阵型及策略跑位的位置。将不同阵型的信息存储在配置文件中。每个球员启动时都读取同样的阵型配置文件,从而可以获知整个球队所采用的阵型及其它队友的策略位置信息。将球员在比赛中根据战术需要而应当前往的位置定义为策略位置。每个球员通过计算其在阵型中的基本位置和球的当前周期的所在位置的加权值来确定其策略位置。 
而在动作选择方面,本发明是球员根据预先给定的“条件-行动”规则,匹配当前场景条件适合的规则,选择相应行动。这种实现方法决策速度快,占用系统资源少,有利于在嵌入式平台上进行运行。但是由于环境改变的高度动态性,每次循环只根据当时的世界模型状态确定一个动作,而不是一系列动作。考虑到球员和守门员担当的是两种完全不同的角色,采用的动作也有所不同,在进行动作选择的时候我们将两者区分开来,分别设计了非守门员球员的决策算法与守门员球员的决策算法。 
对于非守门员球员来说,其动作选择采取“能踢则踢,不能则守”的算法,其流程如图7所示: 
A1)判断球是否看得见,如果是,则进入步骤A2),否则搜索球的位置后结束; 
A2)判断球是否可以踢,如果是,则进入步骤A3),否则进入步骤A4); 
A3)选择传球或者射门后结束; 
A4)判断是否是本队离球最近的球员,如果是,则进入步骤A5),否则进入步骤A6); 
A5)尝试抢断球后结束; 
A6)判断是否距离策略位置比较远,如果是,则进入步骤A7),否则进入步骤A8); 
A7)跑向策略位置后结束; 
A8)球员身体转向球的方向后结束。 
其中,策略位置就是根据策略要跑到的目标位置。 
在执行此算法时,球场被分为了如图8所示的七个区域(假设本方从左往右攻)。图中的黑色箭头表示了各区域之间在传球方向的选择,该选择存在一个偏序关系,即两个相邻的区域之间只存在一种传球线路关系。这种偏序的原则是:球只可以由靠后的区域传向靠前的区域,如1区可以传向2、5a或5b区,而2区只可以传向3、4a或4b区;同一纵深的相邻区域,只可以由靠边的区域传到中间的区域,而不可以由中间传到两边,例如5a区只可以传向2区,而2区不可以传向两侧的5区。 
以上的限定,可以使场地分区后的决策中,减少无效率的传球。如果不这 样限定传球线路,由于球员的决策都只是单周期决策,因而有可能出现球在两个区域之间来回传递却始终无法接近对方球门并形成射门。 
当球可踢的情况下,对于任意位置的球员,如果当前周期面向本方球门方向且没有对方球员近身,则带球转向对方球门。否则,位于不同的区域的球员对球应当采取不同的处理。处理方法如下:(传球时如果相应区域无队友,则表示相应条件不满足,这里为了表述的简洁,就不将其写入条件)。 
1区:1.如果没有对方队员近身,则将球传给2、5区最自由的队友; 
     2.否则,向前方大脚破坏球。 
2区:1.如果没有对方球员近身,则将球传给3、4区最自由的队友; 
     2.否则,向前方大脚破坏球。 
3区:以最大力量将球踢向球门。 
4区(a或b):1.如果没有对方球员近身,则将球传给3区最自由的队友; 
           2.否则,如果没有对方球员近身,则带球进入3区。 
           3.否则将球大力踢向球门。 
5区(a或b):1.如果没有对方球员近身,则将球传给2、3或4区最自由的队友。 
           2.否则,如果没有对方球员近身,则带球进入同侧的4区。 
           3.否则将球大力踢向球门。 
通过以上策略的改进,在性能没有太大损失的情况下,取得了比DeMeer5更好的比赛效果。 
而考虑到守门员特殊职责和具有扑球这一特殊技能,我们单独设计了守门员球员的决策算法,主要流程如图9所示: 
S1)判断球是否看得见,如果是,则进入步骤S2),否则搜索球的位置后结束; 
S2)判断球是否为我方门球,如果是,则进入步骤S3),否则进入步骤S4); 
S3)判断是否已经移动到门球开球位置,如果是,则进入步骤S5),否则进入步骤S6); 
S4)判断球是否可扑,如果是,则进入步骤S7),否则进入步骤S8); 
S5)将球踢向中场偏左或者偏右的一侧后结束; 
S6)将球移动到开球门球的位置后结束; 
S7)扑球后结束; 
S8)判断球是否可踢,如果是,则进入步骤S5),否则进入步骤S9); 
S9)判断球在禁区内并且是否是本队离球最近的球员,如果是,则进入S10),否则进入S11); 
S10)尝试抢断球后结束; 
S11)球员身体转向球的方向后结束。 
针对球员技术的层次性,本发明将其按照复杂程度分为高层、中层、低层技术方案。每个周期,世界模型更新之后,就要决定这个周期应当执行什么动作。当前世界模型首先被送到高层技术模块,有高层技术模块得到当前应当实施的高层技术方案。此高层方案被继而被发送到中层技术模块。中层技术模块将高层技术方案分解写一系列中层技术。例如,高层得到的策略是抢夺,那么转换为中层技术后就变为“追球-截球”。然后再根据当前球员与持球球员的相对位置和速度决定到底是“追击”还是“截球”。中层技术被进一步发送到底层技术模块,将上面得到的中层技术方案转变成RoboCup服务器可识别的基本动作命令。如中层技术采用追击的话,将会被转变成RoboCup的移动命令和踢球命令。从此可以看出,低层技术对应于简单的单个动作,用服务器端已知的基本动作命令的形式直接表示。而中层技术基于低层技术,并不需要以RoboCup协议中的命令格式来表示,而是通过低层技术来组合得到。同理,高层技术基于中层技术组合得到。以上层次中每个技术的具体执行的方式要取决于提供给它的各种参数。例如“追击”命令要求指定追击的目标球员是谁;移动命令要制定目标的坐标位置。每个周期,都要经过以上的步骤,根据当前最新的世界模型得到要执行的控制命令,并发送给RoboCup服务器。 
动作命令发送模块主要是发送与连接相关的命令和球员自身的控制命令。其中与连接相关的命令只是在球员程序进行连接、重连接或断开连接时发送。重要的是球员的控制命令包括身体控制命令、通讯命令、数据请求命令三类。在此,将球员身体控制命令简单抽取为转身、扑球、加速、踢球、移动五种主命令,按照某种格式不断发送给服务器。但是在服务器端的每个仿真周期中, 每个球员只能执行以上五个命令中的一个命令。如果同一周期内一个球员有多条以上的命令到达服务器端,服务器端将随机选择其中一条来执行。 
由于服务器端和客户端使用不同的时钟时间,服务器端发送感知信息和球员执行动作两者是异步的,即视觉信息的发送周期与仿真时钟周期是不同的,每个时钟周期内客户端都被迫要在获取使用最新环境信息和不浪费执行机会两者中达到最佳平衡。这就要求客户端必须采取某种机制,根据有限的信息同服务器保持同步,以保证在正确的周期发送信息到服务器端。在此我们对接收信息、决策、动作命令三个独立线程采用互斥锁的方式实现同步。运行时三者相互独立,对于共享数据,则利用互斥锁进实现同步。 
本发明在开发过程中迁移到Android嵌入式操作系统上,以实现嵌入式环境下的智能体的设计,同时实现对系统计算资源和存储资源的合理占用。 
另外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。 
上述提到的存储介质可以是只读存储器,磁盘或光盘等。 
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。 

Claims (15)

1.一种嵌入式环境下的RoboCup平台球员智能控制方法,其特征在于,包括如下步骤:
1)从服务器端接收各种信息;
2)根据接收到的信息类型进行相应处理后整合给客户端的世界模型模块;
3)根据所述世界模型模块获取的当前球员的局部感知情况,由当前球员的高层决策模块负责球员之间的分工协作;
4)根据所述高层决策模块的规划来选择每个球员的动作;
5)发送动作命令给服务器端;
所述步骤1)中的各种信息包括,命令响应信息、视觉信息、身体感知信息和听觉信息;
所述步骤2)的具体处理过程为:
对于命令响应信息,接收信息处理模块立即直接对其进行解析处理,将命令执行的结果根据需要更新到所述世界模型模块中;
对于视觉信息和身体感知信息,接收信息处理模块不进行解析和更新,而是将其保存到共享数据区中;
对于听觉信息,接收信息处理模块根据不同的发送者来选择不同的处理方式,当发送者是自己,则不进行任何处理,当发送者是裁判员,则直接通知所述世界模型模块更新当前的比赛模式,当发送者是在线教练或其他球员且其消息内容中包含发送者所通报的物体运动信息,即等同于视觉信息,则保存并发送给所述世界模型模块统一进行解析与更新。
2.如权利要求1所述的RoboCup平台球员智能控制方法,其特征在于,所述步骤(3)中的局部感知情况包括当前球员在规定范围内可以看到和听到的球场情况,其中包括周围双方球员的位置、速度和加速度、喊话声,以及球在可视范围内的位置和速度和当前球员感 受到自身的体力、速度和加速度。
3.如权利要求1所述的RoboCup平台球员智能控制方法,其特征在于,所述世界模型模块针对当前球场状态进行预测包括对球进行的预测以及对球员进行的预测。
4.如权利要求3所述的RoboCup平台球员智能控制方法,其特征在于,所述对球进行的预测包括:
情况1:本周期内没有视觉信息,或者视觉信息中并不含任何球的信息,而且上个周期没有执行踢球命令,则假设没有任何球员碰到球,然后不对球的运动信息进行计算并将其更新到所述世界模型模块中;
情况2:本周期内有视觉信息,但是视觉信息中只有球的位置信息,则还需要得到其速度信息;这种情况说明,球位于球员邻域内,但是不在球员视野范围内;如果连续两个周期内得到球的位置,则球在上一周期中的速度就可由上周期两个位置之差得到,然后计算当前周期的球速;
情况3:本周期内有身体感知信息,球员发送的踢球命令得到了执行,则计算出有效踢球力量,进而计算出加速度,然后根据当前球的位置、速度计算出下一周期的位置与速度;
如果要对未来n个周期中球的运动状态进行预测,其方法为:第1周期按上述方法预测,而对于从第2个周期到第n个周期的运动情况,都按照上面的情况1进行处理。
5.如权利要求1所述的RoboCup平台球员智能控制方法,其特征在于,所述高层决策模块是通过球队阵型、跑位和动作选择算法来实现。
6.如权利要求1所述的RoboCup平台球员智能控制方法,其特征在于,所述动作命令包括身体控制命令、通讯命令、数据请求命令。
7.一种嵌入式环境下的RoboCup平台球员智能控制系统,包括:服务器端:用于执行客户端发来的命令以及给参与比赛的客户端发送信息,以及至少两个客户端,每个客户端对应于一个球 队,所述客户端包括:
接收信息处理模块,用于接收所述服务器端发送的消息,并且按照预定协议对所接收的信息进行解析和分类,并将特定类型的信息发送给世界模型;
世界模型模块,用于接收所述接收信息处理模块发送的信息,并进行更新、合并以及存储;
高层决策模块,用于根据世界模型中存储的信息,进行球员之间的分工协作的高层决策,并将所述决策发送给球员技术模块;
球员技术模块,用于根据世界模型中存储的信息以及高层决策模块所作出的决策对球员的基本动作进行选择;
动作命令发送模块,根据预定的动作指令协议,向服务器端发送动作指令;
所述接收信息处理模块将接收到的信息进行解析和分类:
对于命令响应信息,所述接收信息处理模块立即直接对其进行解析处理,将命令执行的结果根据需要更新到所述世界模型模块中;
对于视觉信息和身体感知信息,所述接收信息处理模块不进行解析和更新,而是将其保存到共享数据区中;
对于听觉信息,所述接收信息处理模块根据不同的发送者来选择不同的处理方式,当发送者是自己,则不进行任何处理,当发送者是裁判员,则直接通知所述世界模型模块更新当前的比赛模式,当发送者是在线教练或其他球员且其消息内容中包含所通报的物体运动信息,即等同于视觉信息,则保存并发送给所述世界模型模块统一进行解析与更新。
8.如权利要求7所述的RoboCup平台球员智能控制系统,其特征在于,所述动作命令发送模块发送与连接相关的命令和球员自身的控制命令,其中所述与连接相关的命令包括初始化命令、球员参数命令、重新连接命令、结束连接命令,所述球员自身的控制命令包括身体控制命令、通讯命令、数据请求命令。
9.如权利要求8所述的RoboCup平台球员智能体系统,其特征 在于,所述身体控制命令包括转身、扑球、加速、踢球、移动。
10.如权利要求7或9所述的RoboCup平台球员智能控制系统,其特征在于,所述世界模型模块针对当前球场状态进行预测包括对球进行的预测以及对球员进行的预测。
11.如权利要求10所述的RoboCup平台球员智能控制系统,其特征在于,所述对球进行的预测包括:
情况1:本周期内没有视觉信息,或者视觉信息中并不含任何球的信息,而且上个周期没有执行踢球命令,则假设没有任何球员碰到球,然后不对球的运动信息进行计算并将其更新到所述世界模型模块中;
情况2:本周期内有视觉信息,但是视觉信息中只有球的位置信息,则还需要得到其速度信息;这种情况说明,球位于球员邻域内,但是不在球员视野范围内;如果连续两个周期内得到球的位置,则球在上一周期中的速度就可由上周期两个位置之差得到,然后计算当前周期的球速;
情况3:本周期内有身体感知信息,球员发送的踢球命令得到了执行,则计算出有效踢球力量,进而计算出加速度,然后根据当前球的位置、速度计算出下一周期的位置与速度;
如果要对未来n个周期中球的运动状态进行预测,其方法为:第1周期按上述方法预测,而对于从第2个周期到第n个周期的运动情况,都按照上面的情况1进行处理。
12.如权利要求7所述的RoboCup平台球员智能控制系统,其特征在于,所述高层决策模块是通过球队阵型、跑位和动作选择算法来实现。
13.如权利要求12所述的RoboCup平台球员智能控制系统,其特征在于,所述球队阵型算法是将不同阵型的信息存储在配置文件中,每个球员启动时都读取同样的阵型配置文件,从而可以获知整个球队所采用的阵型及其它队友的策略位置信息;将球员在比赛中根据战术需要而应当前往的位置定义为策略位置,每个球员通过计算其 在阵型中的基本位置和球的当前周期的所在位置的加权值来确定其策略位置。
14.如权利要求12所述的RoboCup平台球员智能控制系统,其特征在于,所述动作选择算法是球员根据预先给定的“条件—行动”规则,匹配当前场景条件适合的规则,选择相应的行动。
15.如权利要求14所述的RoboCup平台球员智能控制系统,其特征在于,所述“条件—行动”规则分为非守门员球员的决策算法与守门员球员的决策算法。 
CN 201010125426 2010-03-16 2010-03-16 嵌入式环境下的RoboCup平台球员智能控制方法及其系统 Active CN101834842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010125426 CN101834842B (zh) 2010-03-16 2010-03-16 嵌入式环境下的RoboCup平台球员智能控制方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010125426 CN101834842B (zh) 2010-03-16 2010-03-16 嵌入式环境下的RoboCup平台球员智能控制方法及其系统

Publications (2)

Publication Number Publication Date
CN101834842A CN101834842A (zh) 2010-09-15
CN101834842B true CN101834842B (zh) 2013-01-30

Family

ID=42718773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010125426 Active CN101834842B (zh) 2010-03-16 2010-03-16 嵌入式环境下的RoboCup平台球员智能控制方法及其系统

Country Status (1)

Country Link
CN (1) CN101834842B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102065566A (zh) * 2010-12-27 2011-05-18 广东工业大学 一种多机器人系统的快速会话建立方法
CN102122204B (zh) * 2011-01-17 2012-07-18 北京邮电大学 分布式力觉同步感知方法及系统
CN104267665B (zh) * 2014-08-29 2017-07-04 暨南大学 一种视觉智能数控系统的数据交换方法
CN104298858A (zh) * 2014-09-19 2015-01-21 南京邮电大学 RoboCup救援平台中基于聚类和凸包的地图划分方法
CN104460668A (zh) * 2014-11-03 2015-03-25 沈阳化工大学 一种提高足球机器人射门效率的方法
CN104504268A (zh) * 2014-12-24 2015-04-08 天脉聚源(北京)科技有限公司 一种用于运动图像中球员跑位的计算方法
CN104615347A (zh) * 2014-12-24 2015-05-13 天脉聚源(北京)科技有限公司 一种实现虚实画面同步的方法及装置
CN104834516B (zh) * 2015-04-03 2018-02-16 周凡 全局视觉足球机器人决策子系统的策略调控模块及其方法
CN106964145B (zh) * 2017-03-28 2020-11-10 南京邮电大学 一种仿人足球机器人传球控制方法及球队控球方法
CN108762095B (zh) * 2018-07-12 2020-05-12 清华大学 一种控制量离散的多智能体系统实时分区稳定控制方法
CN109101911B (zh) * 2018-07-31 2021-03-05 浙江大学 一种对足球比赛阵型变化及人员流动的可视分析方法
CN109254584B (zh) * 2018-09-13 2021-08-17 鲁东大学 基于多智能体的角色分配方法、装置、计算机设备及存储介质
EP3912090A4 (en) * 2019-03-01 2022-11-09 Stats Llc CUSTOMIZING PERFORMANCE PREDICTION USING DATA AND BODY POSTURE FOR SPORTS PERFORMANCE ANALYSIS
CN110666811B (zh) * 2019-09-26 2022-08-05 同济大学 一种基于RoboCup标准平台组的球位置预测方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101254347A (zh) * 2008-03-20 2008-09-03 上海交通大学 仿人机器人足球竞赛实时仿真系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2004237039A1 (en) * 2003-05-07 2004-11-18 Evenzo Ab Marking of large surfaces with visual presentations

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101254347A (zh) * 2008-03-20 2008-09-03 上海交通大学 仿人机器人足球竞赛实时仿真系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
毛俊杰.多智能体的协作与规划研究及其在RoboCup中的应用.《中国优秀硕士论文全文数据库》.2009,(第3期), *

Also Published As

Publication number Publication date
CN101834842A (zh) 2010-09-15

Similar Documents

Publication Publication Date Title
CN101834842B (zh) 嵌入式环境下的RoboCup平台球员智能控制方法及其系统
CN108463273A (zh) 基于游戏者的移动历史来进行非游戏者角色的路径寻找的游戏系统等
CN109893857B (zh) 一种操作信息预测的方法、模型训练的方法及相关装置
CN113365706A (zh) 使用云游戏网络的人工智能(ai)模型训练
CN111544889B (zh) 虚拟对象的行为控制方法和装置及存储介质
Synnaeve et al. A dataset for StarCraft AI and an example of armies clustering
CN110339569B (zh) 控制游戏场景中虚拟角色的方法及装置
CN102549584A (zh) 游戏装置及对游戏装置的游戏数据进行认证的方法
CN108771858A (zh) 技能控件切换方法、装置、终端和存储介质
CN104102522B (zh) 交互式游戏中智能非玩家角色的人工情感驱动方法
US20200086219A1 (en) Augmented reality-based sports game simulation system and method thereof
CN103838982A (zh) 一种虚拟游戏对象生成方法及装置
CN112870721B (zh) 一种游戏互动方法、装置、设备及存储介质
CN113018866A (zh) 地图资源的加载方法和装置、存储介质、电子装置
Oh et al. Playing real-time strategy games by imitating human players’ micromanagement skills based on spatial analysis
JP7064559B2 (ja) ディープラーニング基盤のゲームプレイサーバ、ゲーム難易度予測サーバ、およびゲームプレイサービス方法、ならびにプログラム
Lau et al. CAMBADA: information sharing and team coordination
Reis et al. Coordination in multi-robot systems: Applications in robotic soccer
CN116036601B (zh) 游戏处理方法、装置及计算机设备、存储介质
Liu et al. Learning communication for cooperation in dynamic agent-number environment
Bestmann Towards using ROS in the robocup humanoid soccer league
Vitek et al. Intelligent agents in games: Review with an open-source tool
KR20080060494A (ko) 계층적 트리구조를 이용한 로봇 축구 전략 수립 기술
Genter et al. UT Austin Villa: project-driven research in AI and robotics
Chiang et al. Efficient exploration in side-scrolling video games with trajectory replay

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant