FIRA仿真5VS5机器人的弧线射门算法设计
2021-07-25王强史颖刚叶冰慧寇小希
王强 史颖刚 叶冰慧 寇小希
摘要:在FIRA仿真足球比赛中,机器人能对赛场形式做出准确判断,并抓住有利时机快速、准确地射门是赢得比赛的关键。为提高仿真足球机器人的进攻效率,该文提出了一种FIRA仿真5VS5机器人弧线射门算法,通过判断足球是否位于机器人射门范围内,调整机器人的初始位置,并实时调整机器人前进的目标点,使机器人沿着平滑的弧线轨迹将位姿调整到射门状态,再进行射门。该研究通过仿真实验验证了该算法的正确性和优越性,实验结果表明该算法能有效提高仿真足球机器人的有效射门次数和射门的成功率。
关键词:足球机器人;弧线射门;调整位姿;算法设计
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2021)16-0012-04
开放科学(资源服务)标识码(OSID):
1 背景
仿真足球机器人采用软件仿真系统研究机器人踢足球过程中的动作、策略,对实际的足球机器人设计具有重要参考意义。FIRA仿真5VS5机器人比赛中,仿真足球机器人的策略执行[1-3]、战术配合和路径规划等都是比赛的重要部分,而仿真机器人射门能力是进攻能力的重要指标,是决定比赛胜负的关键因素之一。
仿真机器人足球比赛中易于实现的基本射门算法,其核心思想是选取距离足球较近的一个位置,作为仿真机器人的行进目标点,仿真机器人沿直线从初始位置到达该点,再调整自身角度,沿直线将球射入球门。这种算法中机器人运动轨迹单一,容易受到对方机器人干扰,并且没有设定射门目标点,甚至会出现机器人将球射入己方球门的情况。
针对上述问题,本文提出了一种FIRA仿真5VS5机器人的弧线射门算法[4]。机器人首先判断足球是否位于射门范围内,然后调整机器人的初始位置,并实时调整机器人前进的目标点,使机器人沿着平滑弧线轨迹将自身位姿调整到射门状态,再进行射门。仿真实验表明了该算法的正确性和优越性,能有效提高仿真足球机器人的有效射门次数和射门成功率。
2 FIRA仿真5VS5机器人竞赛相关简介
FIRA仿真5VS5机器人竞赛是中国机器人大赛FIRA仿真项目的子项目,3cm×3cm×3cm的仿真机器人在专用的SimuroSot 5vs5仿真平台上开展竞赛,比赛用球直径1cm。比赛场地如图1所示,平台尺寸220cm×180cm,带有5cm高、2.5cm厚的围墙,场地的四角固定有四个7cm×7cm的等腰三角形。中线、门区边界线和中圈等主要的直线、弧线均为白色,3mm宽。中圈半径25cm,区域C的点球判罚区是120cm×80cm的区域,区域B的罚球区,包括球门前80cm×35cm的长方形区域及其附属弧形区域,弧形区域沿球门线长25cm,垂直于球门线5cm。区域A的门区是位于球门前50cm×15cm的长方形区域,门线是位于球门前长40cm的直线,球门宽40cm。
比赛分两个半场,每半场5分钟,中场休息10分钟。比赛开始时,进攻球队可在中圈和自己的半场内任意布置机器人,防守球队可在自己半场除中圈外任意布置。上半场和下半场开球,以及进球后重新开球时,球均放置在场地中心处。裁判哨响之后,比赛开始,所有机器人开始自由移动。
在不触犯点球、争球以及任意球等比赛规定的情形下当整个球越过门线时即破门得分,比赛结束后得分多的一方胜利。
3 基本射门算法
仿真机器人的基本射门算法,其核心思想是选取距离足球较近的一个位置,作为行进目标点,仿真机器人沿直线从初始位置到达该点,再调整自身角度,沿直线将球射入球门,采用基本射门算法的仿真机器人运动路线,如图2所示。基本射门算法易于实现,但机器人运动轨迹单一,容易受到对方机器人的干扰,不能根据足球运动轨迹变化做出快速反应,机器人射门的快速性和准确性不高。仿真实验数据表明,采用基本射门算法的仿真机器人失球率高达44%。
4 弧線射门算法
如果仿真机器人选取自身位置和足球位置为射门动作的起始点、终点,机器人在起始点与终点之间的运动轨迹是由一系列的运动点位构成,机器人每次运动中都带有一定的属性,比如机器人的运动方向,运动速度,走过的轨迹等,如果机器人在每个点运动过程中不仅前进一定的距离,也调整一定的方向,也就是机器人在第N个运动轨迹点向第N+1个运动轨迹点运动过程中,既有一定的行程变化,也有一定的运动方向变化[5],那么机器人在射门起始点和终点之间走过的轨迹就是一个弧线[6],如图3所示,仿真机器人采用的上述射门算法,就称为弧线射门算法。
弧线射门算法演示图如图4所示,在软件仿真系统运行时,仿真系统每个周期会对算法进行调用,并实时返回速度和位置相关参数,在每个周期弧线射门算法都会结合系统返回的参数调整仿真机器人的位置和方向。机器人C与对方球门左、右边界点E、F构成一个三角形区域,每个周期算法会动态预测球的位置,并控制机器人向足球移动,使下一周期足球位于三角形区域内。然后确定足球位置点K与机器人位置点C所连线段的中点D,并过点D作中垂线。任取对方球门内一点G作为射门目标点,以它为基点通过足球当前位置点K作射线,射线与中垂线相交于点S,定义交点S为目标运动点,每个周期弧线射门算法都会控制机器人朝目标运动点运动。由于机器人的移动速度有限,每个周期的时长较短,机器人不一定能在每个周期都到达目标运动点,弧线射门算法在每个新的周期都会对机器人和球的真实位置进行判断,并重新执行数据采集、动态预判球位置、计算目标运动点等流程,循环若干个周期后,机器人以弧线路径到达最佳射门点,此时机器人与足球的距离和机器人头部朝向均满足射门条件,进而机器人立即射门[7]。弧线射门算法的流程如图5所示。
使用弧线射门算法可以让仿真机器人运动更加平稳,并对机器人射门动作的连贯性有一定的改善,使仿真机器人快速到达射门点进行射门,提高了机器人射门效率。
4.1 动态预判足球位置
首先对处于运动状态的球的位置进行分析,如图6所示,软件仿真系统运行时每个周期会对算法及程序进行调用并实时返回速度和位置相关参数,因此可得上一周期足球的位置[K1(x1,y1)]和当前足球的位置[K2(x2,y2)]的坐标差为:
[?x=x2-x1?y=y2-y1] (1)
在比赛过程中,当足球不受外力作用时,足球沿直线运动,因此可以预测t个周期后足球的位置坐标[K3(x3,y3)]为:
[x3=x2+t×?xy3=y2+t×?y] (2)
4.2 确定有效的预射门范围
预射门范围如图7所示,设机器人的当前坐标为 ,对方球门左边界与场地边缘交点坐标为 ,对方球门右边界与场地边缘交点坐标为 ,以当前机器人坐标和对方球门左、右边界与场地边缘交点坐标确定的直线方程为:
[y1=x1-xCxE-xCyE-yC+yCy2=x2-xCxF-xCyF-yC+yC] (3)
以机器人当前坐标点C,对方球门左边界与场地边缘交点坐标点E,对方球门右边界与场地边缘交点坐标点F构成一个三角形区域,该三角形区域可以由式(4)表示:
[y2≤y≤y1xC≤x≤xE] (4)
通过判断足球的坐标 是否满足式(4)条件,即可判断足球是否位于三角形区域中。若足球位于三角形区域中,则执行下一步,即确定目标运动点;若足球不位于三角形区域中,则通过改变机器人的位置和方向使球进入三角形区域中,以此确定有效的预射门范围。
4.3 确定目标运动点
目标运动点确定原理如图8所示,设机器人的目标运动点为S,机器人所在位置C到球所在位置B的距离为:
[lBC=xB-xC2+yB-yC2] (5)
直线BC的斜率为:
[kBC=yC-yBxC-xB] (6)
设[D(xD,yD)]为线段BC的中点,有
[lBD=12lBC] (7)
直線DS的斜率为:
[kDS=-1kBC] (8)
则直线DS可表示为:
[yDS=xB-xCyB-yCx-xD+yD] (9)
则直线AB可表示为:
[yAB=yA-yBxA-xBx-xB+yB] (10)
软件仿真系统运行时会调用上述所有公式,最终通过联立式(9)与式(10)得到目标运动点 。每个周期弧线射门算法都会重新确定目标运动点并控制机器人朝目标运动点运动。最终机器人以弧线路径到达最佳射门点,此时机器人满足射门条件,进而机器人立即射门。
5 实验结果与分析
通过仿真实验,模拟当球靠近对方球门时仿真机器人的射门动作。在正常的进攻中,采用弧线射门算法的动作效果如图9所示。
在两种射门算法下,机器人从启动到完成射门动作的所用时间和进球率如表1所示。由表1分析可知,采用弧线射门算法的机器人,相对于采用基本射门算法的机器人,不论向左进攻或向右进攻,进攻用时都得到了明显减少,进球率都得到了明显提高,其平均用时减少了1.245s,其进球率提高了17.6%。
在两种射门算法下,机器人执行点罚球动作的用时和进球率如表2所示。由表2分析可知,采用弧线射门算法的机器人,相对于采用基本射门算法的机器人,不论向左进攻或向右进攻,进球率得到了明显提高,其平均进球率高达78%。
综合分析可得,弧线射门算法明显提高了射门的效率,在正常比赛时,弧线射门算法减少了机器人进攻用时,提高了进球率;在点罚球时,明显提高了进球率,大大增强了实战能力。
6 结束语
本文提出了一种FIRA仿真5VS5机器人弧线射门算法,通过对足球下一周期所处位置的预判,以及对机器人当前周期所处位置和对方球门左、右边界点的考虑,使机器人以弧形路径运动到最佳射门点,立即击球完成射门。弧线射门算法有效地提高了机器人射门时的速度和精度,大大提高了有效射门次数和射门的成功率。该算法的不足之处在于射门距离越远,球被拦截的概率越高,此问题可以通过改进队员之间传球等策略进而控制射门距离来解决。
参考文献:
[1] 宇海萍,馮灵清.基于FIRA 5VS5仿真机器人足球防守策略的研究[J].计算机时代,2018(7):13-16.
[2] 陈冰,张亨,程泽凯,等.Robocup2D仿真对抗中进攻行为的挖掘与验证[J].系统仿真学报,2018,30(12):4718-4726.
[3] 苏禹,林显富.基于动态运行轨迹的机器人足球策略研究[J].黑龙江大学自然科学学报,2018,35(1):116-121.
[4] Rezaeipanah A,Amiri P,Jafari S.Performing the kick during walking for RoboCup 3D soccer simulation league using reinforcement learning algorithm[J].International Journal of Social Robotics,2020:1-18.
[5] 张伟.基于模糊融合的足球机器人避障行为设计[J].电子测试,2019(8):11,33-34.
[6] 曲宝福,王利利,任超群.基于势场改进蚁群算法的足球机器人路径规划研究[J].现代商贸工业,2018,39(21):184-185.
[7] 赵元罡.运用机器人走黑线案例设计足球活动教育——评《机器人足球仿真》[J].科技管理研究,2020,40(8):282.
【通联编辑:谢媛媛】