一种塔式结构的擂台竞赛机器人设计
2022-07-21谢鹏飞张燕
谢鹏飞 张燕
(南京大学金陵学院,南京,210089)
0 引言
为了培养和开发大学生的聪明才智与创新精神,展示当代大学生机器人制作能力与高新技术应用水平,国内各类机器人大赛得到众多大学生的积极响应和参与[1]。其中擂台机器人赛由于场地需求小、操作安全和观赏性强,国内已有多所高校进行相关研究并设计了多种方案。本文以目前普及较广的对抗型机器人擂台赛为研究背景,以轮式机器人作为研究对象,通过分析机器人结构和程序逻辑,提出一种塔式的竞赛机器人结构,旨在提高机器人在竞赛中的精准度和竞争力。
武术擂台机器竞赛比赛场地为2400mm×2400mm× 60mm的正方体擂台,擂台表面即为双方机器人竞争的场地。机器人的硬件要求重量不得超过4kg,长宽规定不能超过30cm×30cm的方形范围,规定的重量和尺寸可以有上下浮动5%的宽限[2]。当擂台机器人登上擂台后需要寻找敌方机器人并将其推下擂台,其中一方机器人掉下擂台后,对方得一分,掉下擂台的机器人需要在倒计时10s内自主重新登上擂台,否则每过10s对方加一分。如果机器人无法执行无人工干预的自主登台,可以向裁判申请在人为干预后将机器人拿回出发点重启登台,如果一方申请重启机器人,则对方加三分。比赛结束后累计得分高者获胜[3]。
比赛规则体现了擂台机器人不掉落擂台才是最核心的要求,只要自己不掉落擂台,对方便没有办法得分,所以算法设计中保持机器人不掉落擂台的优先级应高于将敌方机器人推下擂台的优先级。同时也要保持自主登台和掉落擂台后重新登台这两项程序实现的稳定,如果无法完成这两项动作,只会一直给对方加分。在自主登台、重新登台、保持不掉落擂台这三项动作实现后,再根据策略将敌方机器人推下擂台。
1 机器人塔式结构
根据竞赛的要求,必须要实现擂台机器人在无人触碰的情况下通过变形登上6cm高的擂台,利用红外接近传感器来判断机器人是否处于擂台边缘;因为擂台与白色围栏存在高度差,所以当机器人掉落擂台后可以利用机器人两侧相对的红外接近传感器或红外测距传感器来判断机器人擂台的朝向,以便实现重新登台。基于以上需求,按照传感器的分布,将机器人设计为顶层、中层、底层三层结构的塔式结构,整体造型形如一座坚实的宝塔。
顶层结构在四个角(即左前方、右前方、左后方、右后方)分别安装1个红外接近传感器,以与车体呈45°角安置,用作边缘检测,如图1所示;中层结构在机器人左右各安装一个红外接近传感器,前后各安装一个红外测距传感器,用作台上台下判断和对抗避让,如图2所示;底层结构在正前方安装2个红外接近传感器、正后方安装2个红外接近传感器,左右各一红外接近传感器,用作检测机器人处于擂台上方还是擂台下方,如图3所示;擂台机器人横截面示意图,如图4所示。
图1 擂台机器人顶层俯视图
图2 擂台机器人中层俯视图
图3 擂台机器人底层俯视图
图4 擂台机器人横截面示意图
通过以上描述,设计出塔式机器人,相比一般轮式机器人只有一层结构或机器人只有较少的传感器,塔式结构的擂台机器人在传感器的安装与使用上实现了与普通竞赛机器人不一样的结构,重点突出了该造型的分层结构,每层结构都有专属的感应功能,层与层之间又可以相互协作,以达到对擂台的方位检测和敌我识别,便于竞赛机器人在掉落擂台后能高效、迅速的找到擂台方向,实现重新登上擂台的目的。塔式机器人和普通轮式机器人对比如图5所示。
图5 塔式擂台机器人和一般机器人对比
2 塔式结构的作用展示
2.1 底层传感器判断所处位置
利用擂台机器人底层前后左右的六个光电开关来判断机器人处于台上还是台下,当擂台机器人处于擂台下方时,由于擂台与地面存在高度差,并且另一侧是白色挡板,所以擂台机器人底层的传感器至少会有两个方向光电开关检测到障碍物,如图6所示。而当擂台机器人处于擂台上时,擂台上除了一个敌方机器人并不会有其他的障碍物,因此底层最多一个方向的光电开关检测到障碍物,如图7所示。所以利用底层光电开关检测到障碍物的数量来判断擂台机器人所处位置是最简单高效的方法。
图6 机器人处于擂台下时的光电开关检测情况
图7 机器人处于擂台上时的光电开关检测情况
将擂台机器人底部的光电开关从左前方顺时针标号,共计6个传感器,通过反馈回控制器的个数和数据来判断擂台机器人所处位置并判断即将行进的方向。反馈回数据为1时,代表该传感器检测到障碍物,反馈回数据为0时,表示未检测到障碍物,如表1所示。
表1 底层传感器数据表
2.2 中层底层传感器识别擂台的相对位置
当擂台机器人掉落擂台后处于擂台下面的时候,需要重新找到机器人与擂台相对的方向,以便找准方向重新启动登台程序重回擂台,因此需要通过判断传感器的返回值来判断机器人哪一侧是擂台哪一侧是围栏。
因此需要利用机器人中下两层的光电开关来识别定位,因为围栏、擂台、机器人底层的光电开关以及机器人中层的光电开关存在着高度差,所以将利用这些高度差来判断方向。在设计擂台机器人的分层时,将底层光电开关的高度设置的比擂台高度要低,而中层的光电开关高度则要高于擂台,但是得低于围栏高度。竞赛中当机器人掉下擂台后,虽然底层的传感器无法判断出哪一侧是擂台、哪一侧是围栏,但是加上中层的光电开关就可以进行判断。当擂台机器人的其中一侧中下两层光电开关全都检测到障碍物,另一侧的光电开关只有底层检测到存在障碍物,而中层传感器没有检测到障碍物时,便可以判断出擂台机器人所处位置的朝向。示意图如图8所示。
图8 擂台机器人区分擂台与围栏原理的示意图
将擂台机器人底层和中层的传感器进行区分,通过各个光电开关反馈回控制器的数据进行判断擂台机器人和围栏、擂台的相对位置,然后进行自主决策登台,因为底层的前后侧必是同时检测到障碍物或检测不到障碍物,因此可以直接将底层的前后侧光电开关合并,而不需要单独考虑前侧或后侧的情况。擂台机器人左右侧的传感器也同理。整理出的数据表如表2所示。
表2 中底层传感器数据表
2.3 上层传感器判断擂台边缘
在设计最上层传感器的时候,我们选择了安装在擂台机器人的四个角,并且与地面保持45°的倾斜,这样做的目的是为了能够让上层传感器照射到地面。然后根据擂台与地面的高度差,精细的调整红外接近传感器对于检测到障碍物的距离,使红外接近传感器能够检测到擂台为障碍物,但是无法检测到地面。通过这样的方法,当四个传感器都检测到障碍物时,说明擂台机器人的机身全部处于擂台中,而如果有传感器无法检测到障碍物,那就说明这个传感器不再能够检测到擂台,而是朝向了地面,这时擂台机器人的那个方位便是位于擂台的边缘。判断擂台边缘的原理图如图9所示。
图9 擂台机器人判断擂台边缘的原理图
擂台机器人判断是否处于边缘位置只需要利用最上层四角的光电开关,因此通过前后左右对不同光电开关进行命名,整理出的数据表如表3所示。
表3 顶层传感器数据表
3 塔式机器人结构实验结果
通过上述内容的硬件架构以及算法设计,擂台机器人可以很好的完成竞赛中的核心动作,比如开局自主登台、台上漫游、攻击敌方机器人等动作,而且可以较为高效的完成一些高难度的进阶动作,比如掉落擂台后快速识别自身定位、准确判断出擂台与围栏的位置、在掉落擂台后快速的重新登上擂台等动作。由此进行算法设计,流程图如图10所示。
图10 识别定位处于擂台上下的程序流程图
通过高效的算法设计,可以提高竞赛的效率。如果将应用塔式结构进行判断台上台下的策略设为A,将随机判断台上台下策略设为B,分别从以下几种情况分类进行对比,可以得出的结论如表4所示。由此可见,使用塔式结构的竞赛机器人在登台时间、登台概率等方面有着明显的优势,而这些因素往往直接关系着最后的竞赛结果。
表4 不同策略得分表