基于变化进攻点的水中机器鱼角力策略
2020-12-14游旷喆罗文煜钱平孙逊
游旷喆 罗文煜 钱平 孙逊
摘要:针对水中机器鱼角力项目,在比赛过程中是选择进攻点还是进攻方向的问题,本论文提出了一种基于变化进攻点的角力策略,将整个比赛分为初始、调整和冲刺三个阶段,不同阶段按照预先设定好的策略执行。经过多次试验验证,该策略具有较好的适应性,在比赛时能高效进行角力比赛,也取得了较好的成绩。
关键词:机器鱼;角力策略;变化进攻点;三个阶段
中图分类号:TP242 文献标识码:A
文章编号:1009-3044(2020)28-0202-03
Abstract:Aiming at the question of whether to choose the attacking point or the attacking direction in the competition of robotic fish wrestling in water, this paper proposes a wrestling strategy based on changing the attacking point. The whole competition is divided into three stages: the initial stage, the adjustment stage and the sprint stage. The different stages are executed according to the predetermined strategy.After many experiments, it has been proved that the strategy has good adaptability, and it can effectively compete in wrestling competitions, and it also achieves good results in actual competitions.
Key words:robotic fish; wrestling strategy; changing attacking points; three stages
近年来,随着人类的进步发展,陆地资源日渐消耗殆尽,对水资源的开发和利用需求日益旺盛。受环境和条件因素的制约,人类无法像在陆上活动一样自由地在水中探索,因此,水中机器人在承担各类水下科研工作中发挥着越来越重要的作用。水中机器人比赛作为一个新兴项目[1],已在国内各级别的比赛中如火如荼开展,水中机器人竞赛是首个由中国人自己提出的竞赛项目[2],涉及机械、电子、自动化、通信、人工智能和智能控制等学科领域,激发了青少年学生强烈兴趣的同时,也很好地锻炼了青少年学生的动手能力,促进了教学和比赛的结合。
为落实国家加强海洋强国的发展战略,由江苏省教育厅主办的大学生机器人大赛非常考验选手的综合能力,其中,水中角力项目不同于常规的竞速项目,主要依靠执行相应的策略来完成比赛,而实现策略的方式有很多种,例如,是设置进攻点还是进攻方向,是连续顶撞还是间歇式顶撞,是用头直接顶还是弯曲绷直顶等等[3]。每种策略都有其一定的优势,但受现场光线制约和水纹波动影响,实际比赛中或平时实验时都会受到一定的影响,通过大量的平时训练,本文提出了一种适用范围相对较广的基于变化进攻点的水中机器鱼角力策略。
1 水中机器鱼角力项目简介[4]
在一个尺寸为3m×2m,水深25cm的水池中,参赛双方各派1条机器鱼参加比赛,比赛开始时,裁判员将一直径为1m的圆环漂浮物(以下简称圆环)放入水中,并保证圆心与水池中心重合,同时将比赛双方的机器鱼以如图1所示的静态位置放入圆环内部。
比赛时间1分钟,A鱼向左侧进攻,B鱼向右侧进攻,率先将圆环完全顶入自己进攻方向所在的区域队伍获胜,比賽结束;如果1分钟时间到,未出现上述情况时,则比较双方所占有圆环的面积,面积大的一方获胜,比赛结束;如果1分钟时双方占有圆环的面积相等,则比赛进入加时赛,直至双方占有圆环的面积不等为止,面积大的一方获胜,比赛结束。比赛总时间为5分钟,采用3局2胜制,每场比赛间隔1分钟,用来调试设备,其余时间不得暂停比赛;只能在比赛暂停的调试阶段灌输策略,其余时间不能操作电脑。
2 水中角力策略简介
当选取了一个圆环的进攻位置后,大致可分为如图2(a)所示的3种进攻方向,根据物理学中的力学知识,对作用力进行分解,如图2(b)所示,当作用力都相同时,2号进攻方向能够使圆环产生最大的位移,即向右移动的更多。且文献[5]已通过数学建模和Matlab仿真,得出了若想取得胜利,只需鱼的速度方向(即进攻方向)与x轴平行的理论证明。
理论上,机器鱼除作用于上下两个顶点外的任何进攻点,相应的都会使圆环向左或向右运动,文献[6]和[7]根据自己提出的策略,都找到了相应的最佳进攻点。如何选取最佳进攻点,也是本文探讨的重点。
3 基于进攻点变化的水中机器鱼角力策略
3.1机器鱼运行三阶段的划分
在水中机器鱼角力项目的比赛中,将整个比赛过程分为3个阶段。第1阶段为初始阶段,在这个阶段中,俗话说:先下手为强,因此,尽快将机器鱼的方向调整为平行于x轴的方向并尽快发起顶圈进攻,可以在前期就获得一定的优势;第2阶段为调整阶段,在这个阶段中,双方的机器鱼在找到各自的方向后进行顶圈攻击,受水波扰动和机器鱼作用,圆环可能随机移动,并且受其他环境因素的影响,因此,需要及时调整机器鱼的进攻位置和进攻方向;第3阶段为冲刺阶段,在这个阶段中,经过前一阶段的调整后,采用直游的摆尾方向和加快摆尾速度的方式发起冲刺进攻。
3.2基于进攻点变化的水中机器鱼角力策略的实现
为实现上述策略,需要知晓3个状态量,圆环的中心点circle_point,机器鱼的中心点fish_point以及机器鱼的进攻方向attack_director。
3.2.1 初始阶段
比赛刚开始时,无论是机器鱼还是圆环,位置都是相对确定的,根据“先下手为强”原则,以机器鱼中心点的y坐标为进攻点的y坐标,让机器鱼能够尽快顶圈进攻,机器鱼的游动路线如图3所示。
初始阶段控制流程图如图4所示,向右进攻时,设定机器鱼向右水平移动50(圆环的半径距离),向左进攻时,设定机器鱼向左水平移动50,该阶段的动作执行完毕后为下一阶段做好准备。
3.2.2 调整阶段
随着比赛时间的推移,比赛过程中的不确定因素有很多,比赛的实时性又很强,过多地强调找最佳进攻点和最佳进攻方向势必浪费很多时间,从而错过了最佳的进攻时机,因此,采用“以不变应万变”策略,循环攻击圆环a,b,c 3个点,如图5所示,以向右进攻为例,上一阶段结束后此时机器鱼在c点周围,此阶段进攻的次序依次为c→b→a→b→c,循环往复3次,此时已经不再强调机器鱼的进攻方向必须与x轴平行,而是尽快攻击不同区域的点,使圆环向自己的进攻方向移动。
根据平时训练和比赛经验,θ一般取值20°,顶撞每个进攻点后圆环的移动位移为10,根据三角函数求得ab= cb=50×sin20°≈17,ob=50×cos20°≈47,bb=50-47=3。调整阶段控制流程图如图6,进行快而频的进攻,以向右进攻为例,在上一阶段完成c点的进攻后,垂直方向向上移动17、水平方向向右移动13进攻b点;在完成b点的进攻后,垂直方向再向上移动17、水平方向向右移动10进攻a点;然后再进攻b点,垂直方向向下移动17、水平方向向右移动13;再进攻c点,垂直方向向下移动17、水平方向向右移动10。在完成一次循环后,重复上述动作3次。
3.2.3 冲刺阶段
完成调整后的机器鱼需要“发力”进行冲刺,处于冲刺阶段的机器鱼,双方在动力相差不大的情况下,圆环可能会出现“静止”的情况,上一阶段结束后此时机器鱼在b点周围,调整进攻方向attack_director使得与x轴平行,使机器鱼直线游动,并且经过多次试验,选取向左和向右分别为5和9的摆尾状态,12的速度状态。机器鱼运动等级共有0~14十五个等级,具体数值含义如表1所示。
4 总结
在硬件条件相同的情况下,策略的优良性与可执行度将对比赛起决定性作用,水中机器鱼角力的策略有很多种,每一种策略的完善都是一个渐进的过程,本文提出“基于进攻点变化的水中角力策略”,将比赛的过程分为3个阶段,开始阶段采用“先下手为强”策略,中期采用“以不变应万变”策略,后期在确定进攻方向的情况下采用“快而频”的摆尾方式,发起冲刺进攻。使用基于进攻点变化的水中機器鱼角力策略,经过多次试验验证,该策略具有较好的适应性,在比赛时能高效进行角力比赛,在第十届江苏省大学生机器人大赛水中角力项目中取得良好的成绩。
参考文献:
[1] 王圣召,张燕,夏庆锋.基于划分区域的机器鱼水中角力策略[J].电脑知识与技术,2018,14(16):179-181.
[2] 贾静雯,陈鉴,夏庆锋,等.基于位姿状态的机器鱼水中角力策略[J].中国科技信息,2016(10):21-23,16.
[3] 钱平,彭喜钰,鲜学丰,等.基于漂浮物位置变化的机器鱼水中角力策略[J].电脑知识与技术,2019,15(30):206-208.
[4] 谈英姿.大学生机器人竞赛指南 (江苏篇)[M].南京:东南大学出版社,2018.
[5] 于飞,李擎,苏中,等.基于微分对策的水中机器人角力模型[J].兵工自动化,2017,36(12):94-96.
[6] 陈言俊,王建坤,刘甜甜.基于状态变化的机器鱼水中角力策略[J].兵工自动化,2014,33(12):75-76.
[7] 武荣甲,张燕,夏庆锋.基于多关节机器鱼运行三态的角力算法[J].电脑知识与技术,2018,14(15):257-259,261.
【通联编辑:唐一东】