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