彭楷文,李慶超
(1. 南京師范大學(xué)附屬中學(xué),江蘇 南京 210003; 2. 南京理工大學(xué) 自動化學(xué)院,江蘇 南京 210094)
機(jī)器人技術(shù)融合了智能控制、電子設(shè)計、計算機(jī)等多學(xué)科的技術(shù)[1]。機(jī)器人賽事是青少年創(chuàng)新教育的重要手段, 我國近年來也開始出現(xiàn)了各種機(jī)器人的比賽,尤其格斗機(jī)器人比賽具有很高的觀賞性,也能提高學(xué)生的動手和創(chuàng)新能力,為我國機(jī)器人產(chǎn)業(yè)的發(fā)展培養(yǎng)了青少年人才[2]。本文所設(shè)計的格斗機(jī)器人針對的比賽規(guī)則是在比賽規(guī)定場地內(nèi),與對手機(jī)器人進(jìn)行“暴力”對抗,在比賽時間內(nèi)攻擊對手,使對手不能自由移動或?qū)κ滞葡卤荣悎龅貫閯佟1驹O(shè)計采用了一款基于Arduino的遙控格斗機(jī)器人,通過對于軟硬件和機(jī)械結(jié)構(gòu)的創(chuàng)新設(shè)計,實現(xiàn)了較好的控制和攻擊效果,遙控格斗機(jī)器人的實物圖如圖1所示。

圖1 遙控格斗機(jī)器人的實物圖
機(jī)器人的系統(tǒng)框架如圖2所示,格斗機(jī)器人主要有電源模塊、主控制器模塊、電機(jī)驅(qū)動模塊、直流減速電機(jī)、格斗武器、遙控手柄等模塊組成。電源模塊采用12 V、2 200 mAh的鋰離子電池,為整個格斗機(jī)器人系統(tǒng)供電;主控制器模塊采用Arduino MegaPi控制板,為整個系統(tǒng)提供決策信息;電機(jī)驅(qū)動模塊采用L298N模塊,用來驅(qū)動電機(jī)和風(fēng)扇武器;電機(jī)用的是12 V、200 r/min的直流減速電機(jī),采用四驅(qū)來驅(qū)動機(jī)器人,利用差速進(jìn)行方向的控制;格斗武器主要是放置于機(jī)器人上方的風(fēng)扇武器,依靠電機(jī)的高速旋轉(zhuǎn)帶動武器從而產(chǎn)生慣性力量來攻擊敵方;遙控手柄利用2.4 GHz頻段的ZigBee無線通信來遙控小車運(yùn)行與進(jìn)行攻擊,采用nRF24LE1作為處理主芯片進(jìn)行無線數(shù)據(jù)傳輸,通信波特率設(shè)置為115 200 bps[3]。
系統(tǒng)采用12 V的直流電源進(jìn)行供電,主控制板采用Arduino Megapi控制板,它具有54路數(shù)字輸入/輸出端口,其中有16路可作為PWM輸出,滿足設(shè)計的需要,將主控板的PWM輸出引腳與驅(qū)動板進(jìn)行電氣連接[4]。在各種電機(jī)驅(qū)動模塊中,L298N模塊有2個H橋的高電壓大電流全橋式驅(qū)動器,具有過電流保護(hù)的功能,同時可以驅(qū)動2個直流電機(jī),因此本設(shè)計選用L298N驅(qū)動模塊來驅(qū)動直流電機(jī)。因為武器的質(zhì)量約2 kg,普通的直流減速電機(jī)轉(zhuǎn)矩小,無法帶動,因此選擇了汽車用的水箱冷氣風(fēng)扇電機(jī),轉(zhuǎn)速可達(dá)1 000 r/min,對敵方有很強(qiáng)的進(jìn)攻性。本設(shè)計將Arduino控制板的控制引腳連接至L298N驅(qū)動板的信號端,驅(qū)動板的輸出端與直流電機(jī)連接,用于控制直流電機(jī)轉(zhuǎn)動狀態(tài),其輸入輸出邏輯關(guān)系如表1 所示,使能ENA后,通過設(shè)置IN1、IN2端口即可控制直流電機(jī)的運(yùn)行。若要對直流電機(jī)進(jìn)行PWM調(diào)速,需設(shè)置IN1端口和IN2端口,確定電機(jī)的轉(zhuǎn)動方向,然后對IN1端口和IN2端口輸出PWM脈沖,即可實現(xiàn)調(diào)速[5]。控制方式及直流電機(jī)狀態(tài)如表1所示。

圖2 機(jī)器人的系統(tǒng)框架圖

表1 L298N輸入輸出邏輯關(guān)系表
主控制板采用的是Arduino MegaPi控制板,MegaPi是一款基于 ATmega2560 芯片的主控板,采用的是 Arduino IDE編程,編程語言是C語言。軟件設(shè)計流程如圖3所示。

圖3 軟件設(shè)計流程圖
控制的主程序首先初始化2.4 GHz頻段的ZigBee無線通信程序setup(),通信波特率設(shè)置為115 200 bps。隨后進(jìn)入循環(huán)控制程序loop(),根據(jù)操作者的手柄遙控操作,控制機(jī)器人小車的行駛,接近敵方準(zhǔn)備進(jìn)攻。當(dāng)操作者判斷機(jī)器人小車將要接近敵方時,遙控啟動風(fēng)扇武器,當(dāng)接近敵方時,利用風(fēng)扇武器旋轉(zhuǎn)產(chǎn)生的慣性力擊打破壞敵方,使得敵方無法自由移動或者被擊打出場地,即可贏得比賽的勝利。
格斗機(jī)器人最重要的是進(jìn)攻武器,現(xiàn)在主流的輕量級的格斗機(jī)器人進(jìn)攻方式包括鏟翻敵方、錘擊敵方等,本設(shè)計選擇的是依靠電機(jī)帶動武器的高速旋轉(zhuǎn)產(chǎn)生慣性力量來攻擊對方,同時武器在旋轉(zhuǎn)中也可以抵御敵方的進(jìn)攻來進(jìn)行防守。由于一般格斗機(jī)器人都有質(zhì)量和長度的限制,筆者所參與的比賽是要求機(jī)器人的所有部件的垂直投影都必須在直徑為350 mm的圓內(nèi),機(jī)器人的質(zhì)量不得超過5 kg(含電源),因此設(shè)計的風(fēng)扇武器的長度為342 mm,由于所用材料為不銹鋼體,因此參照遙控格斗機(jī)器人的實物圖1,將武器部分切割鏤空以減少質(zhì)量滿足比賽的設(shè)計要求。風(fēng)扇負(fù)載的武器機(jī)械部分設(shè)計圖如圖4所示。

圖4 風(fēng)扇武器機(jī)械設(shè)計圖
由于武器旋轉(zhuǎn)所需要的電機(jī)的轉(zhuǎn)矩和功率較大,其轉(zhuǎn)速可達(dá)1 000 r/min,經(jīng)實驗在轉(zhuǎn)動狀態(tài)下負(fù)載武器產(chǎn)生的慣性力具有很強(qiáng)的進(jìn)攻性。由于它是1種單向異步電機(jī),單相電機(jī)流過的單相電流不能產(chǎn)生旋轉(zhuǎn)磁場,需要串聯(lián)1個啟動電容來分相,目的是使2個繞組中的電流產(chǎn)生近于90°的相位差,以產(chǎn)生旋轉(zhuǎn)磁場[6]。
由于設(shè)計所采用的攻擊方式是依靠風(fēng)扇武器的旋轉(zhuǎn)所產(chǎn)生的慣性力,所以當(dāng)風(fēng)扇電機(jī)擊打到敵方時,很有可能會遇到無法一次擊壞對方并且電機(jī)堵轉(zhuǎn)的情況,這樣容易造成電機(jī)瞬時電流增大,容易燒毀電機(jī)[7]。為此,可以先后退避讓對方,同時武器采取反轉(zhuǎn)一次擊打,正轉(zhuǎn)一次擊打的策略來進(jìn)攻敵方機(jī)器人,經(jīng)實戰(zhàn)檢驗可以有效避免堵轉(zhuǎn)損壞武器電機(jī),同時取得擊打敵方的效果。為此,當(dāng)遇到這種情況時特意設(shè)置手柄MODE按鍵程序如下:
if (MePS2.ButtonPressed(MeJOYSTICK_MODE)) {
Stop_left(); //差速回退躲避
MoveBackward_right(Speed5);
TurnBackward(Speed5); //風(fēng)扇武器反轉(zhuǎn)一次
Delay(5);
TurnForward (Speed5); //風(fēng)扇武器正轉(zhuǎn)一次
Delay(5);
}
根據(jù)實驗和測試經(jīng)驗,總結(jié)了攻防策略如表2所示。

表2 攻防策略表
針對遙控格斗機(jī)器人,介紹了格斗機(jī)器人的系統(tǒng)框架、軟硬件設(shè)計和格斗武器的設(shè)計。經(jīng)過機(jī)器人格斗比賽的檢驗,展現(xiàn)了較強(qiáng)的攻擊和防守能力。在這個機(jī)器的時代,相信在未來,機(jī)器人會使我們的生活更加智慧,給我們的生活帶來更多的樂趣,給人類社會帶來更大的便利和新的科技革命。