摘 要:机器人足球仿真系统提供了实时对抗环境下研究多智能体协作问题的一个良好平台。本文基于仿真环境下的理论基础及模型,通过逐场次逐帧地测试与分析研究,设计出用于控制机器人协作队形的三角进攻算法,并对基于算法形成的进攻队形的决策形式和机制、角色形成与定制,以及行为分解与规划作了研究。经过对比分析,基于三角进攻算法的机器人控制策略在对射门机会的把握、队员间配合以及动作行为的执行精准度上获得了较为明显的改进。

1 引言
在人工智能技术逐步发展的历程中,对多智能体系统的研究一直是该领域的一个重要方向,并已成为一个热点问题。多智能体系统的研究包涵了智能体之间的相互协作及任务规划、体系结构设计及生长、自主学习与知识获取、认知建模与群体进化等一系列问题。这些问题中的大多数在机器人足球仿真比赛对抗实现中得到了集中的体现[1]。因而,机器人足球仿真比赛作为一项标准任务被广泛引入,以促进多智能体技术、智能机器人技术及其相关领域的研究与发展。在这其中,机器人足球仿真进攻算法的设计属于控制策略中的高层决策问题,主要是合理解决场上队员的协作与配合冲突[2]。为解决这些问题,就要从机器人对场地的认知开始,并能够通过周围态势信息的掌控及自学习,确定机器人自身的行为及动作,保障整体的进球目标得以顺利完成。
2 问题分析
机器人足球仿真平台提供了比赛所需的基本环境及消息通讯场景。平台通过感知接口向外提供的物理消息主要包含了机器人的运动状态,例如身份标识、速度大小(标量)、视场角度和基本动作已执行的次数等[3][4]。在机器人足球仿真比赛策略设计中,主要基于对物理消息的综合理解与整合分析,对队形控制算法的优化提出了更高的要求,在实现队形协作控制的同时,需要做到与平台时序的同步。
经过对目前在用的仿真平台进行测试分析,得知平台以1/50秒为一个仿真周期。为了保证与机器人的同步,仿真平台在进入新周期T时,将会给所有的机器人以乱序的方式发送同步信号,如下图1中的虚线箭头所示,用以向机器人表明仿真平台已经进入了一个新的周期。仿真平台结束同步信号的广播以后,一方面按照一定的规律发送机器人的物理集成消息,另一方面需要不断响应来自其他机器人的行动请求,并相应调节机器人的自身朝向、角度以及速度和位置等。在每个执行周期结束之前,平台还将根据当前态势下的执行结果和本周期的其他保持状态进行叠加,作为新的场上态势,进入下一周期T+1,如图1中的黑色填充矩形所示。据此,机器人在接收到新的同步信号后,随即进行新一周期的策略推断,并根据接收到的各组物理消息维护自身行为状态,图中的椭圆代表了自身状态的更新过程,结合状态的更新及新任务的规划,机器人将选择适当的动作进行调整,如图1中白色矩形所示,最后将本周期选择的动作指令反馈回仿真平台,并请求执行,点画线代表了这个请求。

图1 时序关系图
以上分析可知,整个时序规律体现了对队形控制系统执行的时效性提出了更高的要求,需要在每个仿真周期中让所有机器人承担的任务都能够在时限中得以完成并反馈,以尽量避免程序执行盲区,造成时空资源的浪费[5][6]。因而,如何基于仿真环境的局限性和公平性,利用好平台的周期决策规律,统筹规划好机器人群体间的行为和动作,高效完成进球目标过程中的各阶段任务,就成为了一项颇具挑战性的研究课题。
3 三角进攻算法
基于对仿真平台的分析,结合实际比赛中的任务需求,本文提出一种三角进攻算法,讨论如何高效的利用态势信息,帮助机器人作出合理的决策,并完成协助及基础动作的选择。

图2 三角进攻算法框架
3.1 算法框架
在三角进攻算法形成前期,需要获得当前环境下我方和敌方队员的综合信息,如图2所示,进而进行相应的数据预处理,完成目前情势下的态势优劣分析和判断,确定出我方的进攻路线及在三角进攻决策中的核心队员。接着,以核心队员为信息基准点,依据态势的判断,作出适当的分区调整,根据分区情况,对核心机器人的角色进行行动的规划。在此规划的基础上,根据前后动作执行周期的敌我双方态势变化整体情况,选择合适位置上的机器人作为核心机器人的辅助机器人,并对角色进行决策分配,与核心机器人一并形成三角进攻的队形。在队形确定的前提下,按照当前态势的分析结果,从动作库中选取合适动作,作为进攻任务的分解,分别交予核心和辅助机器人进行执行,在动作协调处理器的优化下,统一部署动作的执行序列,达到三角进攻队形的阶段性进攻目标。
3.2分区方案
进攻的场地分区,主要用于解决队形的保持和队员跑位的精度问题。本文讨论中选取了15场次比赛录像中的进球统计,得到如下表1数据。


图3 分区图
根据球在每个区域中被射进的概率统计,做出具体如图3的分区,并求出特殊点的具体坐标,如表2所示,以便机器人的跑动定位,确定和保持进攻队形。场地的区域划分大致分为上、中、下路进攻区和门前进攻区。
3.3 上路进攻方案
如图3分区所示,上路进攻区为特殊点D、A、B、G、C构成的子分区。以球的坐标位置来确定当前处在的进攻分区,上路进攻队形如图4所示、

图4 上路进攻队形图示

图5 算法执行流程
如图5所示,算法以球的当前位置为决策触发基准,由球的坐标信息判断场上态势情况,如对于我方进攻有利,则进行进攻任务规划,否则,继续执行防守策略。在满足我方有利进攻的情况下,依据分区信息,判断是否满足上路进攻的条件,如果满足,进而执行上路进攻任务决策。在此情况下,根据球与球门的位置关系,求取进攻位置1的坐标值和击球角,并以此位置为基准,进而求取位置2的坐标和击球角,再一步以位置2为基准,求取位置3的坐标值和击球角,以明确三角进攻中的核心机器人位置和辅助机器人的位置。下一步,将以位置1为目标位置,选取出最优的队员1,并为其定制最佳的行动组合,完成目标位置的跑位,充当核心进攻球员的角色,规划出最有利的进攻路线;同时,分别再以位置2和位置3为目标位置,选取出最恰当的两个队员充当辅助进攻机器人的角色,结合核心进攻机器人的动作配合要求,由动作协调处理器进行合理配置和执行序列决策,完成对应的跑位和接传球动作。除此系列动作规划以外,还设计相对应的守门策略,用以协助完成攻防转换决策及敌方队员的卡位任务,确保我方三角进攻队形得以持续保持。
三角进攻算法中的中路及下路进攻方案与上述的上路进攻方案执行流程大体类似,需要注意的是在进行核心进攻机器人的位置决策时,其坐标计算的基准分别不同,可根据各个区域的进球概率统计,设计不同的位置决策方法,进而对协助动作的执行序列进行不同的调整和设计,提高各个进攻路线的进球效率。
3.4 门前进攻方案
如图3中,门前进攻区由特殊点G、B、L、M、F、H构成的子分区。以球的坐标信息来判断是否在该区域实施进攻。通过对比赛视频记录进行分析,发现在此区域中进球的概率比较大,且易于组织三角队形实施进攻。所以,适合对此区域进行更深入和细致的分析,在本文的讨论中将该区域称为“三角进攻队形高效区”。

图6 门前进攻执行流程
如图6所示,在门前进攻过程中,其队形触发机制依然是球的位置坐标。根据球当前的位置坐标信息,判断场上的态势,是否有利我方的进攻策略。在满足进攻有利条件的前提下,作出击球路线的最优规划,并确定出击球行为的动作序列,得到路线与球门的关系。同时,根据敌方守门员的位置信息,对其守门路线进行预测,结合我方的击球跑动路线,作出是否可以直接射门的预判。如果满足直接射门的条件,则由核心机器人直接击球射门;如果不满足直接射门的条件,则计算出核心机器人的击球速度和角度,并对下一次传接球的位置和角度进行预测和决策,进一步确定一下个核心机器人的位置信息,并确定辅助机器人的角色任务和相对应的位置、角度,由动作协调处理器对关联动作完成规划和调度,直至达到射门进球的目标。在此过程中,除了构造三角进攻队形以外,剩下的队员需要根据场上态势的变化,作出相对应的跑位和角色定制,应对攻防转换带来的任务变化。
4 仿真分析
4.1碰撞优化及对比
在没有使用三角进攻算法优化的进攻策略中,如图7所示,蓝方4号队员争抢球时,冲撞到1号队员身上;且蓝方1号队员的转向为垂直边线,形成了巨大的摩擦,严重阻碍了4号队员的运动,失去了争球的最佳时机。

经过三角进攻算法优化后的蓝方策略效果图如8所示:依然是蓝方4号队员去争球,同时发现黄方1号队员已经首先触球,因此将2号队员顶在4号队员后面,增加推球的力量。同时,考虑到球会因为顶撞而弹到中场区域,让蓝方的1号队员在中场候球,伺机进攻,与3号队员一起,形成了三角进攻的队形态势,并已经对下一阶段的动作完成了时序管理和控制。由此可以看出,优化后,在边线争球时,蓝方队员间的相互冲撞明显下降,为蓝方赢得争球、得到对球控制权的机率提高了。
4.2 配合优化及对比
在没有三角进攻算法优化的蓝方策略中,如图9所示,蓝方2号队员发现了一次攻门的机会,并向球的坐标位置快速跑动,本方3号球员也发现了这一态势,也准备往球的方向移动。但是,由于蓝方2号队员已经过加速运动,速度远大于3号队员,并由于队员之间通信的局限性,两名队员发生了碰撞,贻误了战机。

经过了三角进攻算法的优化后如图10所示,在门前进攻中,蓝方4号和2号队员同时发现了攻门机会,而因4号离球比较近,且角度更合适,2号队员主动将击球机会留给4号队员,并对敌方1号队员进行卡位。同时,蓝方4号队员发现自己没有射门角度,所以紧将球推向了球门方向,让1号或者2号队员完成射门动作,以实现配合进球。这一过程是优化后的三角队形的典型情势。蓝方4号、2号、1号队员在门前形成了一个三角配合区,实现了从多角度射门的可能,同时,5号队员在后方,有效预防了对方的快速反击,为我方的攻防队形转换做好准备。
4.3 射门精度优化及对比
在没有三角进攻算法优化的策略效果如图11所示,蓝方1号队员接本方4号队员的传球射门,由于跑位和击球角位置不当,将球射偏。

经过三角进攻算法优化后如图12所示,同一态势下,蓝方1号将球射进球门。同时,2号队员在禁区附近进行卡位,并作为二次进攻的备选射门位置,与4号和1号队员形成稳固的三角进攻队形,进一步增加了射门的成功率。
5 结论
经过对三角进攻队形控制算法的设计分析和实践,足以看出,开展机器人足球仿真比赛的队形设计研究是十分必要的。一个优秀的仿真策略系统,要有好的进攻策略和防守策略,而策略的核心首先是顶层的队形规划和设计。通过对队形的设计,能更好地将机器人组织起来,从而避免行为的冲突,高效完成任务目标要求。本文设计的三角进攻算法,是在通过对大量比赛视频进行分析总结的基础上形成的,并在实战对抗中验证了其适用性。在统计分析中,三角进攻算法在某些情况下的优势是显而易见的,特别是在禁区前机器人对射门机会的把握上,比无队形控制状态下的进攻要高效很多。但是,三角进攻算法的设计还是存在一些问题,例如队形的攻防转换机制有待优化、中场区域对球的争抢优势不突出等。
另一方面,在对算法的优化过程中也发现,要使得算法能够发挥出更好的协作规划效果,还需要底层良好的基础运动模型的支持,在对机器人基本行为动作精准控制的基础上,通过动作协调处理器的完善设计,将能更好的完成队形的组织和任务的规划实施。
参考文献
[1] 史豪斌,覃杨森,娄云峰,王闯.足球机器人仿真比赛中的进攻队形设计及控制研究[J]. 西北工业大学学报(6):885-889.
[2] 覃杨森,屈四宝,娄云峰,史豪斌,于竹君.基于蚁群算法的SimuroSot中场队形转换技术[J].计算机应用研究,2009,26(7):2446-2449.
[3] 洪炳熔,韩学东,孟伟.机器人足球比赛研究[J].机器人,2003(04):86-90.
[4] 杨林权.机器人足球竞赛与设计技术[M].武汉:华中科技大学出版社,2009.
[5] 丁明刚.基于多智能体强化学习的足球机器人决策策略研究[D].合肥工业大学,2017…
[6] 李建兵.足球机器人图像处理和路径规划研究[D].西南交通大学,2017.

作者:覃杨森
联系邮箱:qinyangsen991@126.com
声明:转载及使用请注明来源
关键字:机器人足球;仿真比赛;队形控制;智能体协作;任务决策

机器人足球仿真中的三角进攻算法研究相关推荐

  1. 机器人足球仿真第一次作业

    机器人足球仿真第一次作业 机器人足球仿真是一门与RoboCup有关的一门课程,讲到了有关球员的决策,球队的开发等知识. 这是老师布置的第一次作业,基本任务就是解析字符串,其功能相当于uva中Prase ...

  2. 游戏编程中的寻路算法研究

    近年来,游戏产业的快速发展带动了游戏中人工 智能(Artificial Intelligence,简称AI)的发展,越来越 多的游戏采用人工智能技术提高游戏的可玩性.在电 子游戏中,玩家操控主要角色, ...

  3. [转] 游戏编程中的寻路算法研究

    [url]http://blog.csdn.net/ityuany/archive/2010/04/21/5509750.aspx[/url] 近年来,游戏产业的快速发展带动了游戏中人工 智能(Art ...

  4. 合肥工业大学机器人足球仿真robcup作业二(python实现)附代码有注释

    用面向对象的思维设计相关类,从而实现直线与直线.直线与圆.直线与矩形的交点. 要求各给出每个案例的至少一个示例的程序. 这是第二次机器人足球的作业代码,写的比较潦草,但是用的方法还是通俗易懂的,基本都 ...

  5. 基音周期检测acf算法及matlab仿真,基音周期检测算法研究及在语音合成中的应用...

    摘要: 语音信号的基音周期是描述激励源的重要特征参数之一,准确的检测语音信号的基音周期对高质量的语音分析与合成,语音压缩编码,语音识别等都具有重要意义.本文讨论了几种常用的基音周期检测方法以及小波变换 ...

  6. 计算机多媒体技术视差估计,立体视觉中视差估计算法研究

    摘要: 立体视觉是利用同一场景在不同姿态下获取的两幅影像得到空间场景三维信息,进而重建立体场景的一门学科,视差估计则是立体视觉的基础.本文在双目立体视觉的基础上重点研究讨论了空间域与频率域两类视差估计 ...

  7. 合肥工业大学机器人足球仿真robcup作业三(python实现)附代码有注释

    第三次作业 题目:已知2个点的信息,定位自己的绝对坐标. 设图中C(0,0),P1(-52.5,-32), P2(-52.5, 32), P3(52.5,32), P4(52.5,-32), P5(0 ...

  8. 合工大机器人足球仿真考试题56题(底层uva)

    题目要求 //拿球后行为,利用已有 Worldmodel(21) (1)在 playOn 模式下,拿到球以后朝前方快速带球. (2)在 PlayOn 模式下,拿到球以后朝球门方向慢速带球. (3)在 ...

  9. 合工大机器人足球仿真robocup2D球队代码实验七实验验收

    //这是2020年某上海第一建筑施工队亚军球队代码,仅供参考 /* Copyright (c) 2000-2003, Jelle Kok, University of Amsterdam All ri ...

最新文章

  1. 思维dp ---- CF41D Pawn [可达状态统计dp]
  2. Linux与云计算——第二阶段 第五章:存储Storage服务器架设—分布式存储GlusterFS基础...
  3. Win7下U盘安装Ubuntu14.04双系统
  4. Visual Studio 2010 SDK
  5. 2017.8.16 喵星球上的点名 思考记录
  6. 用java解决约瑟夫循环问题,Java实现循环列表解决约瑟夫环问题
  7. python 返回列表中的偶数
  8. iOS小白之路...iOS中基础控件的使用
  9. 【Java数据结构】平衡二叉树
  10. linux下升级php5.4到php5.6
  11. 罗永浩给俞敏洪的求职信
  12. ASM-第二章寄存器
  13. 编写python程序、计算账户余额_《计算机科学丛书PYTHON程序设计(原书第2版)/(美])凯.S.霍斯特曼》【价格 目录 书评 正版】_中国图书网...
  14. 计算机组成原理中EMAR是什么,计算机组成原理与汇编语言程序设计第3章2
  15. php imap 库_php imap_open 实例教程
  16. echarts 动态 折线图
  17. Linux 用户文件磁盘网络进程指令
  18. STM32L431 立即睡眠模式(代码+讲解)
  19. lacp - 链路汇聚控制协议
  20. 秒懂设计模式之抽象工厂模式(Abstract Factory Pattern)

热门文章

  1. 数据模型是什么,有哪些常见的分析方法? 财务、人力、运营等数据分析人士必看!(内附2000+套数据可视化模版)
  2. 服务器2012系统用什么更新驱动程序,服务堆栈更新程序适用于 Windows 8 和 Windows Server 2012...
  3. axios库读不到cookie_axios请求无法携带cookie
  4. c语言是静态语言python语言是脚本语言吗_C语言还是Python语言哪个更好?
  5. Numpy中stack(),hstack(),vstack()函数的使用方法
  6. python模块之StringIO
  7. 基于Java毕业设计校园面包超市系统源码+系统+mysql+lw文档+部署软件
  8. Docker常用工具
  9. 雷达的主要技术指标、应用与分类和雷达对抗
  10. PyCharm 的使用(二)