基于2D仿真平台的斯诺克进球策略

2017-05-31 06:55杨崇海
科技创新与应用 2017年15期
关键词:彩球斯诺克红球

杨崇海

摘 要:近几年机器人技术不断发展,机器鱼也成为这一领域的热门研究对象。文章介绍了2D仿真平台URWPGSim2D,斯诺克规则,目前常用的策略和算法,以及为了提高机器鱼的速度和效率,提出了策略改进。

关键词:2D仿真;斯诺克;顶球算法

前言

近年来机器人技术不断发展,科学家们将机器人技术同仿生学结合,便考虑利用机器来模仿鱼。鱼作为脊椎动物,进化出了超强的水中运动能力,不仅能在拉力游速或爆发游速下实现高机动性,而且能在持久游速下保持低功耗、高效率。机器鱼的实用性很强,而且已经应用到了多种领域中,如探测水体污染、水下探测、水下救援等。目前专门开发了一个水中机器人2D仿真比赛平台,用于解决仿真机器鱼和水中机器人比赛项目研发中遇到的困难,是一款实时仿真系统,水下仿真鱼的各个部位的姿态变化、运动状态变化都能模拟出来。通过机器鱼水球比赛,能很好地测试水下仿真机器鱼的各种运动学理论、水波干扰理论及碰撞检测理论等体系结构,从而更好地促进了水下机器人技术的发展。

1 仿真平台及斯诺克项目简介

1.1 平台简介

水中机器人水球比赛仿真器2D版(Underwater Robot Water Polo Game Simulator 2D Edition, URWPGSim2D)软件主要作为水中机器人比赛的2D仿真组比赛平台,包括服务端和客户端两大部分。服务端模拟水中比赛环境,控制和呈现比赛过程及结果,向客户端发送实时比赛环境和过程信息及结果;客户端模拟比赛队伍,加载比赛策略,完成计算决策过程,向服务端发送决策结果。

1.2 开发环境

URWPGSim2D采用操作系統Windows XP Professional SP3,Windows Vista或Windows 7,集成开发环境为Microsoft Visual Studio Team System 2008 Team Suite with SP1或 Microsoft Visual Studio 2008 Professional with SP1,使用C#(CSharp) V3.0编译。

1.3 仿真机器鱼

鱼头为弧形,鱼体为矩形,鱼尾为三个首尾相接底边长递减的等腰梯形,尾鳍为一个细长矩形和胸鳍为两个直角三角形。

1.4 仿真水球

仿真水球的2D模型为一个圆形。

1.5 比赛场地

2D仿真水中斯诺克为非对抗性比赛项目,每只队伍只有一条仿真机器鱼,比赛场地大小为4500mm*3000mm,包括6个球门,4个矩形障碍物,10个仿真球。

1.6 斯诺克规则介绍

(1)第一阶段:比赛开始先把1个红球推入球洞,然后按照一个红球一个彩球的顺序推球入洞,直至全部红球入洞。其中彩球入洞后自动放回初始位置,若初始位置有其他球,则其他球被自动挤开。(2)第二阶段:红球全部入洞后,按照黄、绿、棕、粉的顺序推彩球入洞。(3)符合上述规则的进球为有效进球,否则为无效进球。无效进球为红球时弹出提示对话框,裁判确认后,红球自动放回球门处;无效进球为彩球时不提示,彩球直接放回初始位置,若初始位置有其他球,则其他球被自动挤开。

2 比赛策略分析

2.1 目标球的选择

在比赛中,对于目标球的选择时,考虑是分数最大化。因此在选择彩球时,通常优先选择粉球。选择红球时,通常选择的是离目标球门最近的红球。

2.2 目标球门的选择

在比赛中,选择球门时,大多考虑的是减少机器鱼顶球的时间,争取在有限的时间里获得更高的分数。

2.3 顶球算法的选择

2.3.1 基本顶球算法。在基本顶球算法中,可以设置目标球设置目标点与最佳顶球点,目标点为球到球门的正方向的射线上的一个点,最佳顶球点为反方向的一个点。鱼会先游到最佳顶球点,再把球按着目标点的方向游动,将球顶进球门。鱼在靠近最佳顶球点的过程中,先加速再减速到最佳顶球点,然后转弯,最后加速顶球。此算法原理简单,容易实现,但是实际比赛和测试中效果并不好,主要原因是:水中的环境在不断变化,每次都不能到达相同的效果,水中阻力比较小,鱼不能准确的停在最佳顶球点,鱼会按照原来的运行轨迹运动一段的时间,为了达到最佳顶球点,还需要不断调整姿态,浪费了比赛的时间,不能取得良好的成绩。

2.3.2 切入圆顶球算法。切入圆顶球算法先运动到切入圆上,再沿着圆的轨迹运动到最佳顶球点,再把球顶到球门,实现了鱼到球路径的规划。基本算法过程描述为:

(2)确定切入圆。过A点做直线L1的垂线L2,L1为过球的一条直线,在L2上向圆内取距离A点为r的圆心O,然后以r为半径,做圆。即圆心为O,半径为r,最佳顶球点A为圆上的一个切点。

(3)半径r的选择。r为鱼旋转最流畅的转弯半径,即在一定的转弯档位下,游动速度最快的转弯半径。

切入圆顶球算法达到了引导球按照指定的路径运动到最佳顶球点A的效果,同时鱼的姿态调整简洁,减少了调整角度的时间,但在比赛中和测试中效果并不理想,主要是因为:由于水波的扰动,球随时处于一个变化的状态,从而使切入圆不断变化,导致鱼长期处于位姿不断调整的状态,增加了进球的时间。

3 策略改进

3.1 目标球选择改进

选择距离最短的红球可能会受到其他红球的阻碍,导致鱼顶球困难,浪费更多的时间,可能会出现其他不可控的状况。因此可以根据自己的路径规划来选择红球,减少其他红球的阻碍,增加稳定性。

3.2 目标球门选择改进

影响顶球时间的因素为鱼要旋转的角度和前进的距离以及球到球门的距离。通过比赛的实践和平时的测试,我们能够得出,平台中水流是向下的,因此逆水流顶球可能会导致球发生偏移,再次调整鱼的姿态需要花费大量的时间,导致策略不稳定,影响比赛成绩。所以选择球门时要尽量选择下方球门,根据对路线的规划的距离的选择,中下球门和左下球门为最近目标球门。

3.3 顶球算法选择改进

在实际中发现,基本顶球算法较切入圆算法有更高的效率,因此如果能在基本顶球算法的基础上,提出一些对算法的改进,可以有效的提高成绩。基本顶球算法是直接使球到达最佳顶球点,鱼的转弯会随着惯性而出现偏移,导致消耗更多的时间。可以将基本顶球算法的过程分为多个阶段,使鱼一步一步达到目标点,有助于对路径的规划,使比赛的得分得到提高,同时也可以在不同阶段设置不同的速度,以达到分段控制的目的。

4 结束语

本文对目标球、目标球门进行了合理选择,并且提出了将鱼的进球分成多个阶段的策略,提高了策略的稳定性,使得机器鱼的进球效率得到了很大的提升。目前此策略在比赛中得到了很好的应用,能够取得不错的成绩。

参考文献

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

[2]陶金,孔峰,谢广明.基于动作决策的机器鱼顶球算法[J].兵工自动化,2010,29(11):70-73.

[3]高俊杰,贾翠玲,李卫国.水中机器人2D仿真水球斯诺克策略优化[J].兵工自动化,2012(11):51-55.

猜你喜欢
彩球斯诺克红球
幼儿炫彩球在体育游戏活动中的创新应用
女子斯诺克新里程碑! 埃文斯吴安仪获得职业资格
正确理解概率公式
中国将“接管”斯诺克
概率与统计高考解答题考向
骗人的抓奖游戏
彩球的重量
摸彩球