APP下载

基于漂浮物位置变化的机器鱼水中角力策略

2019-12-16钱平彭昔鲜学丰张震

电脑知识与技术 2019年30期
关键词:策略优化

钱平 彭昔 鲜学丰 张震

摘要:针对机器鱼水中角力比赛项目中,研究比较多的是寻找最佳点撞击或者自身运行状态调整策略,本文主要提出了基于漂浮物位置变化预判对方攻击点位置进行应对的水中角力策略。通过预判对方攻击位置,调整自身撞击圆环漂浮物的较优点和较优方案,保持当圆环漂浮物在任何位置时,都有效进行攻击或者反击。经过多次试验,该方法与其他策略的对战下,起到比较好的效果,在实际比赛中也取得良好的成绩。

关键词:水中角力;机器鱼;策略优化;位置变化

中图分类号:TP311 文献标识码:A

文章编号:1009-3044(2019)30-0206-03

近年来,在国家和各级政府的引领下,智能水下机器人迅猛发展,其应用在军事和民用领域都十分广泛。通过紧跟抢抓海洋科技与人工智能的战略机遇,江苏省教育厅主办了大学生机器人大赛以贯彻国家关于加强海洋强国的发展战略。通过相关水下机器人的比赛加强专业学科建设、深化教育改革,培养大学生工程實践与理论知识相结合的学习习惯,使当代大学生在创新能力、动手实践能力都能得到实际锻炼。

本文主要对水中机器人角力项目比赛策略进行研究,该比赛具有一定的技术性和观赏性,受到了许多学校队伍的关注。包括基于微分对策策略在内算法策略都比较精细化和理论化,由于受到现场环境和水纹波动,对于相对的精准的策略在实际比赛或实验中不一定能起到最佳效果。本文介绍的基于漂浮物位置区域变化的水中角力策略经过多次实验和改进,成为一种较为有效攻击或防守的策略。

1全局视觉水中角力比赛简介与规则

江苏省大学生机器人大赛水中机器人角力项目比赛场地是由长为3m宽为2m的蓝色水池组成,水深为25cm。且将水池平均分成左右两区,如图1所示。比赛队伍各自派一条机器鱼上场,比赛准备工作是裁判员将内径为90cm的漂浮物至于水池正中心并保持静止。双方机器鱼如图至于场地中,裁判哨向后A鱼参赛队往左区顶漂浮物,B鱼参赛队往右区顶漂浮物。

比赛规则:

1)裁判鸣哨前,参赛队机器鱼应处于静止状态,否则因抢跑直接判负,且在比赛过程中选手不得接触和遥控机器鱼。

2)若在1分钟内,机器鱼将漂浮物完全顶入自己的攻击区,则该参赛队获胜一局;若时间到一分钟后漂浮物没有完全进入左区或右区,则由裁判判定在哪个区域漂浮物面积较大,较大者攻击方获胜一局。

3)比赛采用3局2胜制,抽签决定先攻击哪个区,之后每局交换场地,每局限时1分钟,比赛总时为5分钟。

2比赛策略提出

2.1策略提出背景

在水中机器人角力项目比赛中,以往研究比较多的一类策略为寻找攻击最优点的方式,该类策略预设很多撞击点,划分过于精细后直接导致机器鱼调整遇到困难,不利于后期的攻击。另一类研究较多的策略为利用机器鱼中心点在漂浮物中所处的位置,进行角度划分或者区域划分,当机器鱼处于不同角度或者漂浮物不同区域时,采用不同的攻击策略,该类策略整体效果要比单纯的寻找最优点方式优化很多,但是该类策略条件宽泛,对于角度计算和区域划分要做大量的前期实验和计算,使用不当会导致较大误差。以上两类策略都是只考虑本身机器鱼的各种位置和状态,忽略了预判对手的攻击位置和状态。由于视觉系统无法识别对方机器鱼的位置和状态,但是根据实验和比赛经验的数据,发现漂浮物的位置随时在发生变化,通过漂浮物中心点与赛场中心点的位置可以预判对手的攻击点和攻击状态,因此笔者提出基于漂浮物位置变化的机器鱼手中角力策略。

2.2策略思想

本文所提出的策略将漂浮物中心所处位置分为五个大区域,分别是I区为第一象限区,II区为第二象限区,III区为第三象限区,IV区为第四象限区,v区为中间区,区域划分图如图2所示。策略的总体思想是漂浮物中心点在场地的五个不同区域中,机器鱼采取不同的攻击方式。根据多次比赛和实验室测试经验,以A机器鱼攻击左区为例,当漂浮物中心点分别处于第一、四象限区时,A鱼处于劣势状态,且可以预判到对手机器鱼攻击点分别在图2的右上第一象限、右下第四象限范围内,A鱼采取的策略攻击点分别为左下第三象限、左上第二象限的某点尽最大可能减小劣势;当漂浮物中心点分别处于第二、三象限区时,A鱼也处于优势状态,且可以预判到对手机器鱼采用的攻击策略范围分别在图2的右下第四象限、右上第一象限范围内,因此A鱼采取的策略攻击点分别为左上第二象限、左下第三象限某点继续保持优势状态并取得胜利;当漂浮物中心点分别处于v区中间区时,优劣势并不明朗,且漂浮物中心点偏移不大,A鱼采用攻击漂浮物左侧水平中间点。

2.3策略控制算法

定义水池中心点为原点,水平中线为x轴,竖直中线为v轴,漂浮物中心点位置变量ring_point,相应坐标为(ring_point.x,ring_point.y)。关于五个区域的划分,在实验水池经过多次实验最终得出v区为中间宽度为250mm区域。根据漂浮物中心点位于水池不同位置,理论上根据机器鱼在该情况下处理决策如下:

1.如果漂浮物中心点位置处于第一象限和第三象限,此时机器鱼来回水平撞击pointO和45°角撞击pointl,如图3(a)、3(b)所示;

2.如果漂浮物中心点位置处于第二象限和第四象限,此时机器鱼来回水平撞击pointO和45°角撞击point2,如图3(c)、3(d)所示;

3.如果漂浮物中心点位置处于第v中间区域,此时机器鱼始终水平撞击pointO,如图3(e)所示。

其中pointO为漂浮物圆环左侧中间点,坐标为(ring_point.x-900,ring_point.y);pointl与漂浮物中心点的连线与x轴呈45。角,其坐标为(ring_point.x-630,ring_point.y-630);point2与漂浮物中心点的连线与x轴也呈45°角,其坐标为(ring_point.x-630,ring_point.y+630)。另一方面由于比赛对抗比较激烈,水纹波动比较大,根据多次测试和比赛经验,攻击时必须在pointl点和pointO点或者point2点和pointO点之间来回循环攻击,并能取得较好的效果。

本文中介绍的机器鱼是仿生的、交互模式的智能机器鱼,拥有3关节舵机设计,可仿生游动,2.4G无线通信,72M高速处理CPU,STM32单片机控制。该机器鱼的摆动方向和摆动速度都分为15个等级,具体含义如表1所示。

本策略在第一到第四象限区考虑到两个进攻点之间的来回攻击,为了权衡速度和攻击冲力,经过多次实验游速以等级14保持全速前进,左拐和右拐分别保持摆动方向2等级和12等级。在v区域都以14等级全速游动,摆动方向等级7保持直游。

整体算法流程图如图4所示。

2.4策略优势

本策略的优势主要在于根据漂浮物的中心位置预判对手可能的攻击状态,并调整自己最有效的攻击方法,其中涉及的攻击点都是在力学上理论较优点,并且也并不是纯粹的攻击较优点,是通过比赛经验循环攻击水平点和较优点。这样可以减少水纹波动等其他条件的影响。该策略解决了预先设定大量撞击点导致机器鱼机械性能达不到相关要求;同时也解决了纯粹攻击理论最优点实际上达不到最好效果。

笔者采用基于漂浮物位置变化的机器鱼水中角力策略与其他相关策略进行实验室对抗,胜率达到80%以上,也在第九届江苏省大学生机器人大赛水中角力项目中取得较好的成绩,说明该策略有效可行,且比较稳定。

3结论

机器鱼水中角力策略主要有两方面的改进,一是基于漂浮物中心位置在比赛场的位置变化预判对手的攻击状态,调整自身的攻击点和位置保证攻击的较优化,第二是攻击点选择时是循环攻击水平点和最优点来避免陷入局部最优而忽略外界环境的影响。笔者提出的策略也是一个渐进的过程,还存在自身的局限性,在每个区域内,考虑到机器鱼的机械性,攻击点是否可以重新选择更优的,攻击时长是否能更加合理,都是可以调整的,希望本文策略可以提供一个良好的启发。

猜你喜欢

策略优化
探究初中数学教学内容优化策略
英语阅读策略的优化与学生阅读能力的提升
云环境中数据安全及访问控制模型研究