彭楷文,李庆超
(1. 南京师范大学附属中学,江苏 南京 210003; 2. 南京理工大学 自动化学院,江苏 南京 210094)
机器人技术融合了智能控制、电子设计、计算机等多学科的技术[1]。机器人赛事是青少年创新教育的重要手段, 我国近年来也开始出现了各种机器人的比赛,尤其格斗机器人比赛具有很高的观赏性,也能提高学生的动手和创新能力,为我国机器人产业的发展培养了青少年人才[2]。本文所设计的格斗机器人针对的比赛规则是在比赛规定场地内,与对手机器人进行“暴力”对抗,在比赛时间内攻击对手,使对手不能自由移动或将对手推下比赛场地为胜。本设计采用了一款基于Arduino的遥控格斗机器人,通过对于软硬件和机械结构的创新设计,实现了较好的控制和攻击效果,遥控格斗机器人的实物图如图1所示。
图1 遥控格斗机器人的实物图
机器人的系统框架如图2所示,格斗机器人主要有电源模块、主控制器模块、电机驱动模块、直流减速电机、格斗武器、遥控手柄等模块组成。电源模块采用12 V、2 200 mAh的锂离子电池,为整个格斗机器人系统供电;主控制器模块采用Arduino MegaPi控制板,为整个系统提供决策信息;电机驱动模块采用L298N模块,用来驱动电机和风扇武器;电机用的是12 V、200 r/min的直流减速电机,采用四驱来驱动机器人,利用差速进行方向的控制;格斗武器主要是放置于机器人上方的风扇武器,依靠电机的高速旋转带动武器从而产生惯性力量来攻击敌方;遥控手柄利用2.4 GHz频段的ZigBee无线通信来遥控小车运行与进行攻击,采用nRF24LE1作为处理主芯片进行无线数据传输,通信波特率设置为115 200 bps[3]。
系统采用12 V的直流电源进行供电,主控制板采用Arduino Megapi控制板,它具有54路数字输入/输出端口,其中有16路可作为PWM输出,满足设计的需要,将主控板的PWM输出引脚与驱动板进行电气连接[4]。在各种电机驱动模块中,L298N模块有2个H桥的高电压大电流全桥式驱动器,具有过电流保护的功能,同时可以驱动2个直流电机,因此本设计选用L298N驱动模块来驱动直流电机。因为武器的质量约2 kg,普通的直流减速电机转矩小,无法带动,因此选择了汽车用的水箱冷气风扇电机,转速可达1 000 r/min,对敌方有很强的进攻性。本设计将Arduino控制板的控制引脚连接至L298N驱动板的信号端,驱动板的输出端与直流电机连接,用于控制直流电机转动状态,其输入输出逻辑关系如表1 所示,使能ENA后,通过设置IN1、IN2端口即可控制直流电机的运行。若要对直流电机进行PWM调速,需设置IN1端口和IN2端口,确定电机的转动方向,然后对IN1端口和IN2端口输出PWM脉冲,即可实现调速[5]。控制方式及直流电机状态如表1所示。
图2 机器人的系统框架图
表1 L298N输入输出逻辑关系表
主控制板采用的是Arduino MegaPi控制板,MegaPi是一款基于 ATmega2560 芯片的主控板,采用的是 Arduino IDE编程,编程语言是C语言。软件设计流程如图3所示。
图3 软件设计流程图
控制的主程序首先初始化2.4 GHz频段的ZigBee无线通信程序setup(),通信波特率设置为115 200 bps。随后进入循环控制程序loop(),根据操作者的手柄遥控操作,控制机器人小车的行驶,接近敌方准备进攻。当操作者判断机器人小车将要接近敌方时,遥控启动风扇武器,当接近敌方时,利用风扇武器旋转产生的惯性力击打破坏敌方,使得敌方无法自由移动或者被击打出场地,即可赢得比赛的胜利。
格斗机器人最重要的是进攻武器,现在主流的轻量级的格斗机器人进攻方式包括铲翻敌方、锤击敌方等,本设计选择的是依靠电机带动武器的高速旋转产生惯性力量来攻击对方,同时武器在旋转中也可以抵御敌方的进攻来进行防守。由于一般格斗机器人都有质量和长度的限制,笔者所参与的比赛是要求机器人的所有部件的垂直投影都必须在直径为350 mm的圆内,机器人的质量不得超过5 kg(含电源),因此设计的风扇武器的长度为342 mm,由于所用材料为不锈钢体,因此参照遥控格斗机器人的实物图1,将武器部分切割镂空以减少质量满足比赛的设计要求。风扇负载的武器机械部分设计图如图4所示。
图4 风扇武器机械设计图
由于武器旋转所需要的电机的转矩和功率较大,其转速可达1 000 r/min,经实验在转动状态下负载武器产生的惯性力具有很强的进攻性。由于它是1种单向异步电机,单相电机流过的单相电流不能产生旋转磁场,需要串联1个启动电容来分相,目的是使2个绕组中的电流产生近于90°的相位差,以产生旋转磁场[6]。
由于设计所采用的攻击方式是依靠风扇武器的旋转所产生的惯性力,所以当风扇电机击打到敌方时,很有可能会遇到无法一次击坏对方并且电机堵转的情况,这样容易造成电机瞬时电流增大,容易烧毁电机[7]。为此,可以先后退避让对方,同时武器采取反转一次击打,正转一次击打的策略来进攻敌方机器人,经实战检验可以有效避免堵转损坏武器电机,同时取得击打敌方的效果。为此,当遇到这种情况时特意设置手柄MODE按键程序如下:
if (MePS2.ButtonPressed(MeJOYSTICK_MODE)) {
Stop_left(); //差速回退躲避
MoveBackward_right(Speed5);
TurnBackward(Speed5); //风扇武器反转一次
Delay(5);
TurnForward (Speed5); //风扇武器正转一次
Delay(5);
}
根据实验和测试经验,总结了攻防策略如表2所示。
表2 攻防策略表
针对遥控格斗机器人,介绍了格斗机器人的系统框架、软硬件设计和格斗武器的设计。经过机器人格斗比赛的检验,展现了较强的攻击和防守能力。在这个机器的时代,相信在未来,机器人会使我们的生活更加智慧,给我们的生活带来更多的乐趣,给人类社会带来更大的便利和新的科技革命。