谢梦炜 夏庆锋 朱佳悦
(无锡学院自动化学院,江苏无锡,210089)
机器人自诞生以来,其理论和技术一直在不断发展,其应用领域也更加广阔。其中,机器人比赛不仅以科技创新为实践,加强相关技术研讨和培训,促进产学研合作,推动技术创新和转化,为中国机器人产业培育人才,同时在日常生活中,也具有科普性、娱乐性和权威性。
作为机器人大赛的“一份子”,国际水中机器人大赛已有14 年的发展历程,其比赛项目种类繁多。大赛的2D 仿真组设有对抗性和非对抗性比赛项目,其中,对抗性比赛包括抢球博弈、生存挑战等;非对抗性比赛包括水中搬运、花样游泳等。
基于2020 年第十三届国际水中机器人大赛时采用的策略和比赛后的实验策略,笔者对生存挑战项目持续地进行研究,提出了一种基于反馈系统的2D 仿真生存挑战策略。该策略主要是利用模轴运动和扇形运动构成一个反馈系统,让躲避鱼及时调整位置坐标,从而顺利逃避攻击鱼的捉捕,在实验与比赛中均达到了良好的效果。
水中机器人大赛2D 仿真生存挑战项目采用标准仿真场地,如图1 所示,场地中有3 个矩形仿真障碍物,主要起阻拦作用,障碍物边长为400mm,中心点坐标分别为(0,0),(0,700),(0,-700)[1]。每场比赛由2 支队伍参加,每支队伍有4 条仿真机器鱼。其中,1 号鱼为特殊鱼,当队伍进攻时充当“捉捕手”角色,其余2、3、4 号为常规鱼;当队伍在防守时,1 号鱼充当“防御手”角色,2、3、4号鱼充当“躲避手”角色。
参加比赛的两支队伍需要进行攻防交换。一场比赛时间总计10min,以5min 为时间节点进行半场交换。其中,在暂停比赛交换半场时,双方都可以进行比赛策略的更换,其他时间双方不可更换策略。在比赛过程中,常规鱼的速度取值范围是0-14,共15 个整数值,每个数值代表一个速度值。0 表示静止,14 对应的速度是0.25m/s。其中常规鱼的速度最大为8,特殊鱼的速度最大为14。进攻方的“捉捕手”每触碰一次对方“躲避手”,对方的“躲避手”便在平台上消失,此时记录所需时间,进攻方得1 分。“捉捕手”与“防御手”相互之间碰撞不计分。当半场时间未到时,防御方3 条鱼均已下场,则该半场比赛立即结束,进入交换半场或比赛结束阶段。在单场比赛中,规定时间(10 min)内得分多的队伍取胜;得分相同时判定最后得分用时少者获胜;若得分为 0:0 或得分相同且最后得分用时相同,则视为平局。
以往比赛常采用一系列的相关理论技术,如一致性理论、基于栅格法下的策略优化、基于虚拟切线圆的策略优化等[2]。基于这些理论的策略虽然在一定程度上达到了比赛的效果,但是实际应用中机器鱼存在躲避不具有连续性和针对性等问题[3],同时,由于角度变化引起的震动和水的波动等不稳定因素,使机器鱼的躲避变得不太有效,此外,也不能很好地满足比赛中对处于特殊位置的机器鱼的稳定性要求[4]。
经过实践和比赛证明,本文提出的基于反馈系统的比赛策略,可以使仿真机器鱼更加灵活,很好地解决了躲避鱼被攻击的问题,大大提升了躲避鱼的躲避率,从而达到良好的比赛效果。
国际水中机器人比赛采用URWPGSim2D 软件(比赛专用仿真器),该软件可提供 Local (本地模式)和 Remote(远程模式)两种运行模式。参赛队伍根据比赛时赛场具体情况对这两种模式二选一[5]。
栅格法是通过将2D 仿真比赛平台的比赛环境分为具有二值信息的一个个小网格。首先,作为策略实行的前提,需要对场地进行抽象简化。笔者对场地进行基于栅格法的简化,将其划分为不同的区域,并以编号代表其中每一片区域。具体如图2 所示。
基于栅格法的每个区域并不需要有完全相同的长宽,只需相对近似即可,在障碍物区域,即编号7、17、27区域周边的9 宫格的高度需要和障碍物或其间空隙等高,宽度则需大于机器鱼身长。在比赛中,通过在机器鱼身上获取的坐标点位置与对应区域比对,可获得躲避鱼目前所处的区域编号。
反馈运动的原理是指在比赛过程中,每条躲避鱼依据各个障碍物、攻击鱼形成以绕障碍物为主的反馈环,这可以很好地解决处于特殊位置的机器鱼的稳定性问题。当攻击鱼发起攻击时,躲避鱼一直绕障碍物运动,形成一种防被抓到的迂回战术,使得躲避鱼不易被攻击鱼抓到。其中任何一个环节或要素的变化,都会引起其他环节或要素发生变化,并促使该环节或要素进一步变化,从而形成反馈运动思想。由此,参赛队员在比赛过程中要注意把握攻击鱼和躲避鱼或障碍物之间的关系,通过抓住这些主要因素,以提高生存挑战项目的比赛胜率。反馈运动思想如图3 所示。
在比赛过程中,防御方的整体策略需先分析攻击鱼的位置,来决定2、3、4 号鱼的位置。当进攻鱼在区域化7 号的位置时,进攻鱼的位置以及障碍物及时反馈给躲避鱼,躲避鱼可以围绕7 号区域进行迂回战术。同样,躲避鱼也可围绕17 号区域、27 号区域进行迂回战术。
在比赛过程中,依据上述反馈运动思想,反馈的信息使得躲避鱼总能躲避攻击鱼的抓捕,从而提高躲避鱼的生存率,延长比赛时间,直至胜利。躲避鱼的反馈区域具体如图4 所示。
模轴运动是依据运动控制中机械臂绕电机轴进行周期式的运动。参照这一思想,可以以障碍物为轴,当攻击鱼和躲避鱼围绕障碍物进行运动时,躲避鱼可以进行一种接近周期式的圆周运动,从而躲避攻击鱼的抓捕。
由比赛规则可知,攻击鱼和躲避鱼在直线上的最大速度分别为14 和8,但在曲线运动中,双方的速度差距会缩小。根据这一规则,笔者提出一种以障碍物为轴的绕轴策略。该策略是以3 个正方形障碍物为轴,让1 号鱼与2、3、4 号鱼中其中一个进行绕轴运动,从而形成周期式的绕轴运动。以障碍物为中心,建立坐标,如图5所示,箭头方向代表躲避鱼模轴运动策略的方向之一,ΔX和ΔY可以反映出模轴运动时2、3、4 号鱼的位置,躲避鱼可以和攻击鱼周旋,延长躲避鱼被追击的时间,最终取得良好的预期效果。
如图6 所示,当攻击鱼抓捕躲避鱼时,躲避鱼依赖障碍物和攻击鱼进行周旋,躲避鱼依据反馈系统获取攻击鱼的坐标位置,从而进行模轴运动。在特殊位置(依赖障碍物的情况)下,仿真结果证明了模轴运动的有效性。
扇形运动是指以攻击鱼为顶点、以障碍物为两边和这两边所截一段圆弧围成的区域内进行的运动。如图7所示,当攻击鱼进攻时,躲避鱼将绕着7 号和27 号障碍物进行运动,从而与攻击鱼之间绕障碍物形成模轴运动,进行迂回战术,最后达到较好的比赛效果。
要采用扇形运动策略,首先要将2D 仿真区域规划为一个个小区域。如图7 所示,当进攻鱼沿箭头方向出发时,躲避鱼沿3 个障碍物区域(7、17、27)移动,尽可能地依据扇形运动方向来提前预判攻击鱼的攻击路线,分析攻击鱼的坐标位置,提前规划更优的躲避路线,实现和进攻鱼围绕障碍物进行模轴运动。
笔者发现,在比赛过程中,采用一些传统方法不仅会导致特殊位置的机器鱼稳定性较差,也会导致有障碍物区域的比赛结果和躲避效果较差。本团队对于有障碍物区域的比赛进行了大量的实验,最后验证了采用反馈系统策略十分有效。
图8所示是一个机器鱼依赖障碍物比赛的实验画面,当采用基于反馈系统的比赛策略时,躲避鱼会以障碍物为依靠,绕障碍物进行运动,拖延被攻击鱼抓捕的时间,以达到良好的比赛效果。
在国际水中机器人2D 仿真平台中进行对比实验,笔者分别选取了3 组实验数据和比赛现场的数据,将本文策略和本团队在2019 年和2020 年两次比赛中获奖的策略进行模拟比赛,具体结果如表1 所示。按照比赛规则,得分多者即为获胜方,虽然在模拟比赛过程中,本团队的2020 年策略和本文策略 “纠缠”时间较长,但最终还是本文策略获胜。由此可见,反馈运动策略下的实验和比赛效果均比原策略的效果要好,在2019 年比赛中,基本比赛时间都控制在4.05min 左右,在2020 年比赛中,基于反馈系统的策略取得了良好的成绩,时间控制在3.37min。
表1 新旧策略实验对比
本文提出的反馈运动策略方法在实际应用中取得了不错的效果,比赛中输赢的随机性,让躲避鱼的生存能力得到了进一步的提升。同时,笔者发现可以在区域划分构成的反馈系统中,添加更多有效的防守策略来应对不同的攻击策略;在本方案中,当出现防守鱼对躲避鱼有不良影响时,可以采取让防守鱼在场边停滞的方式来规避这一不良影响。