推荐期刊

虚拟人足球比赛决策系统的开发应用

时间:2015-12-20 22:13:20 所属分类:软件开发 浏览量:

0 引言 虚拟人足球比赛模拟就是主要依据现实足球比赛的场景进行的模拟活动,需要考虑的就是整个球队的战略思想和球员个体的思想活动。作为虚拟人足球比赛的大脑的决策系统的根本任务就是根据比赛场上的实际情况,对虚拟人的下一步的行为作出决策,而虚拟人就

  0 引言

  虚拟人足球比赛模拟就是主要依据现实足球比赛的场景进行的模拟活动,需要考虑的就是整个球队的战略思想和球员个体的思想活动。作为虚拟人足球比赛的“大脑”的决策系统的根本任务就是根据比赛场上的实际情况,对虚拟人的下一步的行为作出决策,而虚拟人就是按照该决策作出动作,以此达到最终的防守或者进攻得分的目的,进而实现对真实球员活动的模拟和仿真。很大程度上决定了对现实足球比赛所进行的模拟和仿真的可靠程度。国内外对虚拟人足球比赛的研究相对较少,对虚拟人足球比赛决策系统研究更是少之又少,而与此对比的就是对机器人足球比赛仿真的研究相对较多,可以通过借鉴对机器人足球比赛研究中比较成熟的经验,设计出较为成熟的模型。

  为了解决机器人足球比赛中决策系统在虚拟人足球比赛决策系统中所存在的缺陷,本文提出了一系列的全新决策的生产方法,通过该决策最终指导虚拟人的动作。

  为了简化决策系统的设计,以此降低球员之间的耦合度,本文中的决策系统不考虑守门员的角色,只对其他的10 名球员做出决策,并且这 10 名球员的角色都是固定不变的,每名球员拥有三种任意的角色供自己选择,即后卫、中场、前锋三种角色,而且对于确定阵型下的球员之间所形成的协作关系也是固定不变的。

  1 策略库

  虚拟人足球比赛决策系统的决策库主要包括两种,即全局策略库和个体策略库。

  1.1 全局策略库 全局策略作为球队的“大脑”,对整个球队的阵型和战略战术能够起到协调的作用。在全局策略库中所存在的一些信息,都可以成为决策系统做出决策时所参考的依据。其中,防守本位点主要是在某一阵型下每个球员的防守区域的重心下进行。

  1.2 个体策略库 个体决策库是根据角色制定的,不同的角色应该有着不同的个体策略库。因为各个角色之间的战术分配对象也是不一样的,例如在 4-4-2 阵型中,球员之间的协作关系如图 1 所示。

  根据上述分析,不难看出,对不同的球员采取不同的个体策略库是很有必要的。每个个体决策库中存储了与球员角色相关的个体信息。本文中的决策系统对球队的 10明球员(不包括守门员),分别有 10 个不同的个体策略库。

  由于每个球员都是一个独立的智能体(Agent),具有自主学习能力,其个体决策库是随着时间的推移而变化的。球员个体的学习过程如图 2 所示。

  

  虚拟人足球比赛如同现实足球比赛一样,场上的情况瞬息万变,错综复杂。为了能在这种复杂环境中做出对虚拟人球员的动作决策,可以结合虚拟人足球比赛的特点加以改进,如图 3 所示。

 

  在该决策系统分层结构模型中,整个决策过程分为两层,分别是推理层和动作层。在做出决策之前,先获取比赛场上的态势数据。其中,在选择攻防的时候,要根据全局策略库和态势数据的实际情况对防守或者进攻做出选择。

  2 虚拟人足球比赛决策系统的设计

  基于以上所提出的分层结构模型,对该决策系统的设计如下:

  2.1 攻防选择 攻防选择主要是为了确定球队的整体策略是进攻还是防守。每一位球员个体都是球队整体中的一份子,他们必须遵守球队的整体战略,因为每一个球队中所有球员的进攻策略都是相同的。因此,在选择攻防的时候,要根据全局策略库进行当前形式的分析,是易守还是易攻,进而产生出后续的指导决策。

  攻防选择的过程设计如下:IF 己方控球THEN 选择进攻策略ELSE IF 对方控球THEN 选择防守策略ELSE 球处于无人运动状态IF 最近一次的控球方是己方THEN 选择进攻策略ELSE 最近一次的控球方是对方THEN 选择防守策略2.2 行为选择 在攻防选择确定了防守进攻策略之后,可以根据具体的攻防策略选择具体的行为。首先说明一下区域划分的概念。

  在全局策略库中存储有某一阵型下的区域划分图,如图 4 所示为 4-4-2 阵型下的区域划分图。通过这种分区的方法,可以确定每个球员负责的区域范围(称为自治域),自治域有重叠(重叠部分区域称为协防区域)的两个球员之间存在合作关系,防守的时候他们可以根据场上态势进行协防,进攻的时候他们可以根据场上态势进行传接球配合。

 

  2.2.1 防守策略 对于防守策略,主要的目的就是阻挡和断球。因此选择跑位目标,即策略点和跑位速度,就显得尤为重要了。

  根据场上态势数据和全局策略库中的区域划分,并根据球员的具体角色,从其中个体策略库中计算出球员的防守跑位决策。该计算过程设计如下:IF 球在个体的自治域中IF 对方球员带球THEN 局部跑位盯人防守ELSE 对方球员传球或者射门THEN 向着球的运动轨迹跑位断球ELSE 球不在个体的自治域中IF 个体的自治域中无对方球员IF 相邻队友需要协防THEN 选择一个相邻队友进行协防跑位(向他们共同的协防区域跑位)ELSE 相邻队友不需要协防THEN 防守策略跑位(向自治域中防守本位点跑位)ELSE IF 个体自治域中有 1 个对方球员THEN 局部跑位盯人防守ELSE 个体自治域中有多个对方球员THEN 选择威胁度最大(离己方球门最近)的对方球员做局部。

  跑位盯人防守2.2.2 进攻策略 对于进攻策略而言,其主要的目的就是球员如何带球到对方门下进行射门得分,因此选择带球的方向和速度是十分有必要的。还可以根据场上的具体形式和全局的策略库数据中的区域划分,对场上每位球员的具体角色进行进攻决策分析。例如个体的角色是前锋,则该计算过程设计如下:IF 个体不是持球球员THEN 进攻策略跑位(向自治域中离对方球门近、球员分布稀疏位置跑位)LESE 个体是持球球员IF 射门系数等于或大于阈值(阈值作为判断是否进行射门的标准)THEN 选择射门ELSE 射门系数小于阈值IF 丢球危险程度高(危险程度由球员个体周围某一范围的对方球员数量决定)THEN 选择一个相邻队友传球ELSE 丢球危险程度低THEN 向进攻本位点带球2.3 动作规划 为了确定球员之间的具体行为,就主要根据球员的角色从其中对应的个体策略库中选择合适的策略,在动作规划阶段为球员的具体行为选择合适的行为规范。对于防守策略中的跑位,就需要先确定跑位方向、跑位速度;对于进攻策略中的射门,则需要确定射门方向、踢出球的初速度;对于进攻中的带球,则需要确定跑位目标(策略点)、到达策略点时的速度等等。而对于进攻中的传球,需要确定传球方向、传球初速度,因为需要与队友共同配合以完成传接球的目的,因此确定传球方向和传球初速度比较复杂。在这里使用一种较为简洁的传球动作规划策略,对于如图 5 所示的一种的典型的传球场景,计算过程如下:

 

  2.4 路径规划 基于弗格森参数三次曲线[5]的计算量较小的特性,这里所使用的是弗格森参数三次曲线作为路径曲线的,其中计算弗格森参数三次曲线所需的参数(两个端点及其切矢,分别用 p(0),p(1),-p(0),-p(1)表示)。这种避障路径分割方法如图 6 所示。

  3 结束语

  为了满足虚拟人足球比赛特殊性的要求,本文在机器人足球决策系统的基础上,提出了全局策略库与个体策略库相结合使用的决策生成方法,以此建立虚拟人足球比赛的决策系统的分层结构模型,并根据 4-4-2 阵型给出了各层次的设计过程。决策系统的个体自主学习的过程设计还有待完善,这将是下一步的工作重点。

  参考文献:  [1]赵逢达,孔令富,李贤善.基于分层结构模型的机器人足球决策系统设计[J].哈尔滨工业大学学报,2005,37(7):933-935.  [2]潘凌寒,楚威,程显毅.基于角色的 RoboCup 足球策略[J].计算机工程与应用,2004,26:66-67.  [3]Qi Zhang, Yiming Yang, Ying Li. A Multi-agent CooperativeSystem of Soccer Robot [C]. Proceedings of the 4th World Congresson Intelligent Control and Automation.Shanghai, P.R.China:June10-14, 2002: 510-514.  [4]董青.现代足球比赛身形探析[J].辽宁体育科技,2004,26(4).  [5]李建伟,洪炳镕,郝宗波,高全胜,郭崎.机器人足球仿真比赛平台的改进[J].哈尔滨工业大学学报,2003(09).  [6]秦双,张番,陈颖,冯秀娟,郑国磊,温文彪,孙红三.虚拟人行为仿真智能化探讨[J].系统仿真学报,2002(09).  [7]曹成才.机器人足球仿真系统的研究[D].四川大学,2005.  [8]余斌,李龙澍,李学俊.多智能体的角色与结构设计分析[J].计算机技术与发展,2006,07:73-75.  [9]施法中.计算机辅助几何设计与非均匀有理 B 样条(CAGD& NURBS)[M].北京:北京航空航天大学出版社,1994:56-65.  [10]马军,闫琪,毛新军,王戟,齐治昌.基于角色的多 Agent系统软件设计方法[J].计算机工程与应用,2004,06:118-120.

转载请注明来自:http://www.zazhifabiao.com/lunwen/dzxx/rjkf/28045.html