仿真机器鱼抢球博弈策略的研究

时间:2024-12-26 13:43:12 来源:作文网 作者:管理员

摘要:针对国际水中机器人大赛2D仿真项目抢球博弈,提出了一种基于场地区域划分的运球策略。该策略合理利用比赛场地,进行区域划分,在直线运球时设置多个中间目标点降低了运球误差,以及在狭窄区域利用仿真机器鱼的身体、鱼鳍和鱼尾等鱼体各部位进行运球。此策略避免了因鱼体与场地边缘相互作用而导致的失真现象,提高了进球效率。

关键词:机器鱼;2D仿真;区域划分;运球策略

一、前言

近年来,随着仿生学和机器人技术的发展,仿生机器人取得了很大的进步。鱼类在游动的时候具有高推进效率和机动性、低噪声、高隐蔽性等优点[1],这些优点引发了研究鱼类的运动机理和开发仿鱼类水中机器人的热潮。

URWPGSim2D仿真平台提供了一种仿生机器鱼的实时仿真系统,它可以模拟仿生机器鱼的游动规律和位姿变化,验证仿生机器鱼协作算法与执行任务的策略。在此基础上,国际水中机器人联盟组织了国际水中机器人大赛,并设立2D仿真项目。抢球博弈是在URWPGSim2D仿真平台版本更新后新增的2D仿真项目,任务较为复杂,对抗性强,尤其是系统随机产生的模拟水波以及仿真机器鱼和场地边缘相互作用时的失真情况,导致了鱼体坐标和位姿的跳变[2],使仿生机器鱼对水球的控制难度提高了很多。此项比赛目前还没有优势较为明显的策略,因此本文提出了一种基于比赛场地区域划分的仿真机器鱼运球策略以解决这些问题。

二、抢球博弈比赛平台简介

2D仿真抢球博弈比赛平台是URWPGSim2D仿真平台中的一个对抗类比赛项目。它由两支队伍参与,每支队伍有2条仿生机器鱼,⌛初始状态时呈对称分布在左、右半场,场中共有9个仿真水球,3个蓝色水球(编号为0、1、2,每球各3分)位于场地正中央,2个红色水球(编号为7、8,每球各2分)位于场地中线上下方,4个紫色水球(编☮号为3、4、5、6,每球各1分)位于场地四角。左、右各有一个球门,在初始状态时,各队球门都在其身后,通过计算10分钟内机器鱼的进入己方球门的所有球对应的总分判定胜负,分数高者获得胜利。比赛场地、仿真机器鱼编号及水球编号如图1所示。

三、比赛场地区域划分

在此项比赛中,参赛队伍一般倾向于通过确定目标点与水球的位置,使鱼体、水球和目标点的方向达成一线,通过鱼头的顶点顶球达到进球得分的目的。具体来讲,当比赛计时开始后,仿真机器鱼以最大速度游到蓝色3分球后方,运行基本的直线运球策略,使水球向己方球门两侧运行;如果出现对方机器鱼与己方机器鱼争抢水球时,运行抢球策略。当篮球进入球门后,再将红色2分球♫运回球门,最后运输离球门最近的紫色1分球。

但是相对于场웃地中央的宽阔区域,球门后方及靠近场地边缘的区域比较特殊,这些区域由于系统随机产生的模拟水波以及仿真机器鱼和场地边缘相互作用时的失真情况,使得鱼体难以控制。如在这些特殊区域使用全程直线的运球方式,将很难实现平稳运球,从而造成较多的时间浪费。将比赛场地进行划分并分别选择运球策略,并结合仿真机器鱼的游动特点和身体形状,对鱼的运球及进球策略进行规划是非常有必要的。

抢球博弈的比赛场地由于球门居中设置在场地内,使其复杂程度有所提升。本文将其分为5个区域:中央区、球门区、球门前缓冲区、目标点设置区、对方球门区。每个区域有各自的作用,对应着不同的运球策略。

(1)中央区:此区域空间广阔,无障碍物,双方机器鱼争夺水球。

(2)球门区:水球进入此区域即可获得相应分数。

(3)球门前缓冲区:此区域进球容易,但非常狭窄,障碍物较多,鱼体与场地边缘相互作用易产生失真现象。

(4)目标点设置区:此区域可设置中央区的运球目标点,使水球靠近己方球门。

(5)对方球门区:水球进入此区域后,我方争夺非常困难,对方易得分。

四、仿真机器鱼运球策略

在运球过程中,由于仿真平台的原因,每当鱼体靠近场地边缘时总会出现失真现象,使得鱼体反复调整自身位姿,从而严重影响仿真机器鱼的运球过程。因此,在宽阔区域和场地边缘应该考虑不同的运球策略以达到高效进球的目的。具体可以分为以下三种情况。

1.当水球在比赛场地的中央区,采用直线运球是最简单快捷、高效的方法,即通过头部顶球使球到达靠近己方球门的目标点设置区。然而当目标点较远时,由于随机水波的影响,很容易在运球过程中产生方向角度的偏差,从而导致运球路径的加长。这里可以在较远的目标点和仿真机器鱼之间建立数个距离较短的中间目标点,从而缩小单次的运行路径,提高运球准确性。

2.当水球在中央区和目标点设置区,当球靠近场地边缘时,为防止仿真机器鱼鱼体与边界相互作用产生失真现象,可以利用鱼鳍侧身运球[3],提高运球的平稳性,仿真机器鱼利用鱼鳍侧身运球进入球门前缓冲区的过程如图3所示。

利用鱼鳍侧身运球的实现过程如下:

Step1:当球靠近墙体时改原先球上的击球点为另外的目标点以达到斜体运球的目的,可将目标点设为:xna,Vector3 Point = new xna,Vector3(fishes[1].PositionMm.X+N,0,fishes[1].PositionMm.Z+M),M、N为常数。

Step2:通过改变M、N的数值来控制鱼体倾斜游动的角度。

Step3:通过调用机器鱼游动函数Dribble达到控制鱼体顶球的目的。

3.当水球由目标点设置区运输到球门前缓冲区时,由于球门后的空间狭小,仿真机器鱼运球时容易与场地边缘相互作用造成失真现象,鱼体不受控制地在同一地点反复调整角度和位姿,较为浪费时间。为了避免此现象,本文提出一种在球门后方狭窄区域直接击球入球门的算法,即通过判断鱼体相对于球的位置来选择进球方式,在旋转鱼体的过程中利用仿真机器鱼的身体和尾巴扫球进门,过程如图4所示。

利用身体和尾巴扫球的实现过程如下:

Step1:当鱼与球同时出现在目标点设置区时,以球门前缓冲区内一点为目标点,使球运向球门后的中间区域。

Step2:当球中心超过横线进入框体内侧时,判断鱼体中心与球中心的距离。

Step3:当此距离大于300时,按照直线顶球策略,将球运向目标点;当此距离小于300时,判断鱼体是在球体的左侧还是右侧。当鱼体在球右侧时,执行以目标点在其左上方60°为目标点的直线顶球策略,直到球进框计数得分;当鱼体在球左侧时,使鱼体逆时针旋转,由于鱼体与球相距距离较小,球会向球门方向扫去,这样避免了由于框内空间狭小而出现失真的现象,同时增加了鱼体右侧的活动范围。

五、结论

本文针对国际水中机器人大赛2D仿真新增项目抢球博弈提出了新的运球策略。在充分考虑了比赛场地地形和因鱼体与场地边缘相互作用而导致的失真现象的基础上,对比赛场地进行了区域划分,提出了设置多个中间目标点的直线运球策略,以及在狭窄区域利用仿真机器鱼的身体、鱼鳍和鱼尾等鱼体各部位进行运球的运球策略。通过多次的实验验证,与全场直线运球策略相比,本策略在规定时间内的进球数目有明显提升。

参考文献:

[1]王耀威,纪志坚,翟海川.仿生机器鱼运动控制方法综述[J].智能系统学报,2014,(3):276-284.

[2]王梅娟,李易凡,范彬彬.基于URWPGSim2D仿真平台的测试分析与策略改进[J].兵工自动化,20♒15,(12):82-85.

[3]滕江,李淑琴,龙海楠.机器鱼2D仿真抢球大作战策略的优化[J].兵工自动化,2014,(3):89-92.


热门排行: 教你如何写建议书