沈新鋒
(南京信息工程大學(xué)信息與控制學(xué)院,南京210044)
本文研究武術(shù)擂臺(tái)機(jī)器人的整體結(jié)構(gòu)和攻擊算法,在理論上和實(shí)際應(yīng)用上盡可能的使機(jī)器人實(shí)現(xiàn)高靈活的運(yùn)動(dòng)狀態(tài)[1]。機(jī)器人各部分設(shè)計(jì)包括攻擊部分、驅(qū)動(dòng)部分、檢測(cè)部分。對(duì)機(jī)器人進(jìn)行結(jié)構(gòu)設(shè)計(jì),確定了機(jī)器人的整體布局,設(shè)計(jì)了機(jī)器人的主要活動(dòng)部件、外殼、電機(jī)和輪子[2]。針對(duì)距離、位置及黑線等的測(cè)試,選擇了一些適應(yīng)機(jī)器人的傳感器,為算法的編寫提供了可靠的硬件。
整個(gè)武術(shù)機(jī)器人的設(shè)計(jì),主要由單片機(jī)主控模塊、無(wú)線模塊、驅(qū)動(dòng)模塊、電源供電模塊等部分組成[3]。
整個(gè)系統(tǒng)都以單片機(jī)STM32F103作為系統(tǒng)的主控芯片,由電源供電模塊供電;武術(shù)機(jī)器人采用的底盤為四輪小車,小車周圍布置有傳感器,用來(lái)偵測(cè)周圍敵人。當(dāng)發(fā)現(xiàn)敵人,機(jī)器人會(huì)調(diào)整方向轉(zhuǎn)而去攻擊,攻擊過(guò)程采用加速方式。如果機(jī)器人四圈的傳感器未檢測(cè)到敵人,機(jī)器人在可檢測(cè)范圍內(nèi)轉(zhuǎn)一個(gè)圈繼續(xù)尋找。如果被敵人撞到邊界處或是機(jī)器人自己走到邊界處,機(jī)器人會(huì)躲避敵人攻擊,以免掉落擂臺(tái)輸?shù)舯荣悺?/p>
本系統(tǒng)采用STM32F103單片機(jī)作為主控制器。STM32F103是一種低功耗的控制器,采用外部時(shí)鐘,晶振頻率可達(dá)72Mhz,具有多個(gè)通用IO口并且片上外設(shè)資源豐富,可以達(dá)到本系統(tǒng)各個(gè)部分的要求。
系統(tǒng)硬件上采用小車底盤,直流減速電機(jī),驅(qū)動(dòng)模塊L298n,漫反射式避障傳感器E18-D80HK,超聲波傳感器HY-SRF05,藍(lán)牙HC-06。在機(jī)器人機(jī)械結(jié)構(gòu)上[4],采用四個(gè)漫反射式避障傳感器架高安裝在機(jī)器人四個(gè)角,用以檢測(cè)邊界,防止機(jī)器人從擂臺(tái)上掉落。機(jī)器人前方安置三個(gè)漫反射式避障傳感器,后方同樣如此,機(jī)器人車身兩邊各安裝一個(gè)漫反射式避障傳感器。這就構(gòu)成了機(jī)器人的檢測(cè)部分。為了干擾敵人的檢測(cè),我們?cè)谛≤嚨纳砩腺N滿了黑膠帶,對(duì)方的探測(cè)將會(huì)受到影響。攻擊部分我們?cè)O(shè)計(jì)了兩個(gè)斜坡式的鐵片,用以將敵人鏟起,從而增強(qiáng)攻擊力。為了方便機(jī)器人的靈活運(yùn)動(dòng),我們開(kāi)發(fā)一款手機(jī)藍(lán)牙APP,用以與機(jī)器人車身上的藍(lán)牙模塊進(jìn)行匹配,機(jī)器人在擂臺(tái)上進(jìn)行比武時(shí),用戶可以通過(guò)手機(jī)屏幕上的虛擬按鍵控制機(jī)器人的啟動(dòng)與停止,這大大方便了比賽的進(jìn)行。
對(duì)于直流減速電機(jī)的控制,比如驅(qū)動(dòng)模塊的輸出端A+和A-分別接上電機(jī)的兩個(gè)輸入端,對(duì)應(yīng)的驅(qū)動(dòng)模塊上的INA+和INA-則是由單片機(jī)來(lái)控制,此控制用來(lái)控制電機(jī)轉(zhuǎn)的方向,而控制電機(jī)轉(zhuǎn)速的則是通過(guò)給驅(qū)動(dòng)模塊上的輸入端ENA送PWM波,通過(guò)調(diào)節(jié)PWM波的占空比即可控制電機(jī)的轉(zhuǎn)速。其他的電機(jī)控制與此種控制方法一樣。
對(duì)于漫反射式避障傳感器,此傳感器的最大檢測(cè)距離可以達(dá)到80cm,與單片機(jī)相連時(shí)需要上拉電阻,當(dāng)然單片機(jī)的引腳控制具有上拉功能,可不需要外接上拉電阻。漫反射式避障傳感器與單片機(jī)相連,其輸送的是開(kāi)關(guān)量,對(duì)于邊界檢測(cè)和敵人探測(cè)不同應(yīng)用,可以通過(guò)調(diào)節(jié)漫反射式避障傳感器上的電位器來(lái)滿足相應(yīng)的功能。
對(duì)于超聲波傳感器,此傳感器探測(cè)距離可以達(dá)到700cm,在本研究中,只選用了50cm以內(nèi)的測(cè)量范圍,同樣滿足需求。本研究中使用了兩個(gè)超聲波傳感器,位于機(jī)器人身上的一前一后。在擂臺(tái)比賽中,對(duì)于黑顏色的敵人將不容易探測(cè)到,超聲波的探測(cè)提供了一種可靠的方案。
程序首先初始化各個(gè)模塊,當(dāng)機(jī)器人位于擂臺(tái)上時(shí),機(jī)器人完成各種硬件的初始化,然后等待用戶按下按鍵來(lái)啟動(dòng)機(jī)器人。當(dāng)用戶按下虛擬按鍵,機(jī)器人便開(kāi)啟探測(cè)模式。機(jī)器人在探測(cè)過(guò)程中,使用周邊漫反射式避障傳感器進(jìn)行掃描,如果掃描到敵人則開(kāi)始啟用攻擊模式,根據(jù)敵人位置轉(zhuǎn)角對(duì)準(zhǔn)敵人,然后使用斜坡式鏟子將敵人掀翻或者將敵人推至場(chǎng)外。在漫反射式避障傳感器掃描時(shí),如果一前一后的正中央的漫反射式避障傳感器檢測(cè)到敵人,同時(shí)啟用超聲波傳感器,如果超聲波傳感器也檢測(cè)到敵人,則啟動(dòng)大程度上的攻擊,即機(jī)器人走的距離更遠(yuǎn)。
在上述的檢測(cè)完成后,機(jī)器人啟用超聲波傳感器進(jìn)行探測(cè),一方面確認(rèn)前方和后方是否還有敵人,如果有則繼續(xù)攻擊,如果沒(méi)有,則跳轉(zhuǎn)到找尋模式。在找尋模式中,機(jī)器人轉(zhuǎn)一個(gè)小角度,然后再向前走一小段,整體看上去的效果是在機(jī)器人沒(méi)有探測(cè)到敵人的時(shí)候,機(jī)器人圍繞著一個(gè)點(diǎn)進(jìn)行轉(zhuǎn)圈,以便當(dāng)有敵人進(jìn)入探測(cè)范圍,機(jī)器人可以展開(kāi)新一輪的攻擊。
在整個(gè)機(jī)器人設(shè)計(jì)中,為了使武術(shù)機(jī)器人能順利打敗對(duì)手,自我保護(hù)顯得相當(dāng)重要。邊界檢測(cè)必須放在第一位,所以本設(shè)計(jì)將邊界檢測(cè)的程序放在中斷中進(jìn)行。由于在設(shè)計(jì)中只使用了一個(gè)電源給整個(gè)機(jī)器人供電,所以在電機(jī)換向的時(shí)候?qū)吔鐧z測(cè)的幾個(gè)傳感器影響特別大,引發(fā)誤判斷。本設(shè)計(jì)中在中斷程序中加入了檢測(cè)值判斷語(yǔ)句,解決了誤判斷這一難題。邊界檢測(cè)不僅在機(jī)器人向敵人展開(kāi)攻擊時(shí)發(fā)揮著作用,而且在沒(méi)有敵人的情況下受到一些干擾同樣也發(fā)揮著重要的作用。
本研究在機(jī)器人武術(shù)擂臺(tái)賽研究的基礎(chǔ)上,規(guī)劃了比賽的方案,程序,對(duì)武術(shù)機(jī)器人的控制系統(tǒng)進(jìn)行了設(shè)計(jì)和試驗(yàn),并通過(guò)在實(shí)際場(chǎng)地上進(jìn)行模擬對(duì)戰(zhàn)的結(jié)果進(jìn)行分析,對(duì)武術(shù)擂臺(tái)賽機(jī)器人的控制系統(tǒng)進(jìn)行了多次修改及調(diào)試,最終得到了比較滿意的結(jié)果。
[1]博創(chuàng)科技.創(chuàng)意之星模塊化機(jī)器人指導(dǎo)書(shū)[M].北京博創(chuàng)科技公司,2010年:全.
[2]李永新,楊杰,陳小平,等.國(guó)內(nèi)機(jī)器人比賽[J].控制系統(tǒng),2003,7(03):54.
[3]郝俊青.武術(shù)擂臺(tái)賽機(jī)器人的設(shè)計(jì)策略[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì),2009,19(09):全.
[4]張悅.武術(shù)擂臺(tái)技術(shù)挑戰(zhàn)賽機(jī)器人整體設(shè)計(jì)[J]. 機(jī)器人技術(shù)與應(yīng)用,2010(04):38-40.