雷道仲
(湖南信息职业技术学院,湖南 长沙 410200)
擂台对抗机器人是一种常见的竞赛机器人。这类机器人在竞赛过程中,通常是甲、乙两方机器人在一个规定的区域内,在限定的时间内谁先将对方机器人推出比赛规定的区域,谁就获得该场次比赛的“冠军”。本文所介绍的这款机器人就是中国教育机器人大赛的擂台对抗机器人项目中的一款机器人。在这个擂台对抗竞赛项目中,双方都要设计红外传感器、红外遥控、超声波三个机器人。本文主要介绍这个擂台对抗竞赛项目中的红外传感器机器人的设计过程。
根据擂台对抗机器人竞赛规则分析,红外传感器擂台对抗机器人设计最关键的是能够及时捕捉到对方机器人的位置,并能够准确地识别比赛区域。因此,选取能够快速感应对方机器人位置的传感器,能够识别黑、白区域的传感器以及整个系统的控制芯片十分重要。能够感知对方位置的传感器有很多种,比如超声波传感器、红外传感器等;识别黑、白区域的传感器有灰度传感器、颜色传感器等;作为整个系统的控制芯片的有51单片机、ARM处理芯片等[1]。
方案一:以ARM720T为本系统的控制核心,选取红外光电传感器作为位置捕捉传感器,使用颜色传感器来识别擂台对抗机器人比赛的黑色区域。ARM处理芯片负责根据红外光电传感器收集的对方机器人的位置信号以及颜色传感器判别的本机机器人的位置信号输出相应的控制信号,控制机器人前进、后退或者左转弯、右转弯等。该方案系统控制框图如图1所示。该方案结构简单、控制方便,软件设计容易实现,但颜色传感器在识别黑、白竞赛区域的过程中,耗时相对较长,不利于本机机器人及时调整位置。
图1 方案一系统框图
方案二:系统采用“单片机+红外传感器+执行机构”的总体设计方案,系统总体框图如图2所示。其中,红外发射传感器在机器人行走的过程中对外发射出红外信号,当红外信号遇到对方机器人后,会被反射回来,红外接收传感器接收到反射回的红外信号后,再由MCU根据红外传感器接收到的红外发射信号来判断对方机器人的位置,并调用相应的决策攻击函数去攻击对方的机器人,最终将对方机器人推出比赛的擂台范围,从而获得本局比赛的胜利。QTI传感器负责红外传感器擂台对抗机器人的导航功能。
图2 红外传感器擂台对抗机器人系统框图
红外传感器擂台对抗机器人的电路原理图如图3所示。红外传感器由图中的红外发射开关、红外发射二极管以及红外接收器组成。红外发射开关负责控制红外发射二极管对外发射的红外线的频率,当发射出的红外线碰到对方机器人后会被反射回来,被自己的红外接收器接收,红外传感器擂台对抗机器人收到反射回来的红外信号后,会向对方机器人发出相应攻击,直至将对方机器人推出擂台范围,则比赛获胜。如果自己被推出擂台,则比赛失败。图中的左右QTI传感器用于支持擂台对抗机器人的巡线功能,该QTI装在机器人控制电路板底部,负责识别黑色比赛区域。左、右轮驱动电机为机器人的运动系统,在单片机发出的电机控制信号作用下完成擂台对抗机器人的前进、后退、左转弯、右转弯等动作。
图3 红外传感器擂台对抗机器人原理图
本设计中的红外传感器由红外线收、发对管以及红外发射控制开关构成。红外线发射器则是将红外线发射管封装在了LED发光二极管中。通常是根据应用场合的不同来封装不同波长的红外线发射管,比如用于红外遥控器、红外光电开关、红外线发射设备的波长则要封装940 nm;用于医疗设备则封装875 nm;用于红外线监控设备的则需要封装850 nm波长。本设计中选取采用封装940 nm波长的红外发射管。
本设计中,运用红外线收、发对管完成擂台对抗机器人的位置识别。具体过程如下:擂台对抗机器人在黑色比赛区域运动时,51单片机P1.4引脚发出一定频率的高、低电平从而控制N2的导通与截止来控制向外发射红外线光波的频率,红外线光波在空中传播的过程中,遇到对方擂台对抗机器人时会被反射回来,进而被安装在51单片机P1.5引脚的红外线接收器所接收。
擂台对抗机器人通电后,在51单片机P1.2和P1.3引脚控制的左、右巡线QTI传感器的引导下,在比赛的黑色区域运动。QTI在机器人运动过程中,当扫描到底部的黑色区域时,返回给51单片机P1.2和P1.3引脚的信号为高电平,则控制机器人(电机)继续运动;如果机器人运动到比赛区域的边缘,扫到白色时,返回给51单片机P1.2和P1.3引脚的则是低电平,这时51单片机的P1.0和P1.1引脚会输出控制信号使机器人赶紧后退到比赛的黑色区域。
擂台对抗机器人在运动的过程中,51单片机P1.4引脚轮流输出高、低不同的电平控制NPN型三极管N2的导通与截止,从而控制红外线发光管向外发射红外线光波的频率。当向外发射的红外线光波遇到对方擂台对抗机器人时,部分光波被反射回来,被安装在本机机器人上的51单片机P1.5引脚的红外线接收器所接收。51单片机接收此信号后,根据实际在51单片机的P1.0和P1.1引脚输出电机控制信号,控制电机使机器人完成前进(攻击对方)、后退、左转弯或右转弯等动作[2]。
擂台对抗机器人主要完成以下几个任务:(1)擂台对抗机器人的运动控制,包括机器人前进、后退、左转弯及右转弯等;(2)不断检测比赛擂台的边缘线;(3)不断检测对方机器人的位置,并根据位置做出本机机器人位置的调整或是相应攻击等。以下是擂台机器人运动控制函数。
根据上述程序设计思路,绘制出如图4所示的主程序流程图。系统通电后,擂台对抗机器人向前直走,在直走过程中,巡线QTI传感器不断检测是否到擂台边缘,如果是,继续判断机器人是否正对着边缘;如果是,机器人直接后退;如果机器人处于边缘偏左,则机器人先右转调整角度,再后退;如果机器人处于边缘靠右,则先左转调整角度,再后退。
图4 红外传感器主程序流程图
按图3所示的电路原理图连接控制电路,在Keil C中编辑、编译控制程序直到仿真通过,再通过51单片机程序下载器将产生的可执行文件烧写到红外传感器擂台对抗机器人控制板中的单片机程序存储器中。开机运行后,机器人会不断检测擂台比赛范围边缘线,当没有发现对方机器人时,会一直在比赛范围内转圈,在发现对方机器人后,会主动发起攻击,直至将对方推出比赛范围,获得本局比赛胜利,如果自己被推出比赛范围,则本局比赛失败。
该红外传感器擂台对抗机器人参加2015年中国教育机器人大赛的擂台对抗机器人项目竞赛获得了高职组“冠军”。在比赛过程中,该机器人检测红外信号灵敏,捕捉对方擂台对抗机器人能力强,具有较强的攻击策略,攻击能力强,且性能稳定,能够为同类擂台对抗机器人的设计提供可靠参考和借鉴。