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