周永宏 王月紅
摘 要:本文介紹一種基于stm32單片機(jī)的自動(dòng)定位識(shí)別彈藥拋射機(jī)器人,該機(jī)器人采用三輪全向輪作為底盤,實(shí)現(xiàn)全方位移動(dòng),使用陀螺儀編碼器作為移動(dòng)機(jī)器人平面定位的傳感系統(tǒng),實(shí)現(xiàn)移動(dòng)機(jī)器人的準(zhǔn)確定位,達(dá)到毫米級定位精度,使用攝像頭識(shí)別繡球的顏色來控制機(jī)器人發(fā)射繡球的位置,使用絲桿滑臺(tái)來調(diào)節(jié)繡球的發(fā)射角度,使用氣缸發(fā)射繡球。該機(jī)器人定位迅速、準(zhǔn)確、攝像頭識(shí)別準(zhǔn)確、結(jié)構(gòu)簡單。
關(guān)鍵詞:三輪全向輪底盤;陀螺儀;絲桿滑臺(tái);氣缸發(fā)射;stm32
隨著信息的技術(shù)日趨成熟,智能機(jī)器人產(chǎn)業(yè)得到了快速發(fā)展。人們也越來越希望讓智能機(jī)器人來代替人類做繁重、重復(fù)以及危險(xiǎn)的工作。為了模擬軍用投彈機(jī)器人,本文將基于stm32單片機(jī),設(shè)計(jì)一款能準(zhǔn)確定位、能識(shí)別彈藥(以繡球代替)顏色、能調(diào)節(jié)發(fā)射角度并能將彈藥(以繡球代替)拋射至指定位置的智能機(jī)器人。
1 系統(tǒng)總體設(shè)計(jì)
移動(dòng)機(jī)器人采用陀螺儀編碼器獲取實(shí)時(shí)位置和角度信息,再通過定位系統(tǒng)的卡爾曼濾波算法、互補(bǔ)濾波算法以及A-Fusion算法,保證機(jī)器人定位的準(zhǔn)確性與可靠性。機(jī)器人處理器通過比對陀螺儀編碼器傳遞的實(shí)時(shí)位置角度信息與目標(biāo)位置角度信息,再通過定位算法控制機(jī)器人移動(dòng)到目標(biāo)位置。機(jī)器人到達(dá)目標(biāo)位置后利用攝像頭識(shí)別繡球的顏色,將繡球的顏色參數(shù)傳回處理器,處理器判斷該顏色的繡球應(yīng)該在哪個(gè)位置發(fā)射便控制機(jī)器人移動(dòng)到相應(yīng)的位置,到達(dá)發(fā)射位置后處理器再控制絲桿滑臺(tái)調(diào)節(jié)發(fā)射氣缸的角度,調(diào)節(jié)完畢后控制氣缸發(fā)射繡球,這樣就完成了機(jī)器人定位、識(shí)別、發(fā)射等功能。圖1給出了系統(tǒng)總體框圖。
2 系統(tǒng)功能模塊設(shè)計(jì)
(1)主控電路設(shè)計(jì)。系統(tǒng)主控器采用的是意法半導(dǎo)體公司的基于ARM Cortex-M3內(nèi)核的32位高性能微控制器stm32。[1]其引腳連接系統(tǒng)如圖2所示。
圖2 stm32引腳連接圖
(2)運(yùn)動(dòng)拋射系統(tǒng)設(shè)計(jì)。運(yùn)動(dòng)拋射系統(tǒng)包括三輪全向輪底盤及拋射系統(tǒng)。[2-3]運(yùn)動(dòng)拋射系統(tǒng)設(shè)計(jì)圖如圖3所示。
①三輪全向輪底盤設(shè)計(jì)。平臺(tái)底盤采用方鋁管焊接而成,使用三臺(tái)大功率的空心杯電機(jī)作為驅(qū)動(dòng),并配有獨(dú)立的伺服驅(qū)動(dòng)器,電機(jī)為HFmotor直流伺服電機(jī),功率90W,帶編碼器、減速器。高階的運(yùn)動(dòng)控制器具有很多運(yùn)動(dòng)控制功能,支持CAN總線傳輸數(shù)據(jù)及RS232接口。
②拋射系統(tǒng)設(shè)計(jì)。絲桿滑臺(tái)和發(fā)射氣缸共同組成了拋射系統(tǒng)。[4-5]絲桿滑臺(tái)可以調(diào)節(jié)發(fā)射氣缸的角度,氣缸動(dòng)能大,收縮快且穩(wěn)定,使得繡球的落點(diǎn)就相對比較穩(wěn)定。
(3)定位系統(tǒng)設(shè)計(jì)。定位系統(tǒng)采用艾克申的OPS-9全方位平面定位系統(tǒng),可直接讀取自身的角度位置信息。定位系統(tǒng)不能直接和STM32的串口連接,必須使用RS232轉(zhuǎn)484模塊進(jìn)行轉(zhuǎn)換,將定位系統(tǒng)的RX和TX端分別連接RS232轉(zhuǎn)484模塊232端的TX和RX,RS232轉(zhuǎn)484模塊484端的RX和TX與STM32串口的TX和RX端連接。工作原理:通過正交碼盤記錄定位系統(tǒng)小輪子轉(zhuǎn)動(dòng)的脈沖數(shù)測定機(jī)器人位移,通過高精度陀螺儀測定機(jī)器人的角度信息,再通過卡爾曼濾波算法,互補(bǔ)濾波算法獲得機(jī)器人的實(shí)時(shí)位置角度信息,再通過定位算法實(shí)現(xiàn)機(jī)器人的精確定位和自動(dòng)導(dǎo)航。另外定位系統(tǒng)需單獨(dú)供電,將所有的電源共地即可。
(4)攝像頭模塊設(shè)計(jì)。攝像頭采用的是OV7670攝像頭,識(shí)別顏色的原理為使用DMA將攝像頭采集的數(shù)據(jù)以RGB的格式放進(jìn)數(shù)組中,再通過遍歷數(shù)組中數(shù)值與相應(yīng)顏色的RGB數(shù)字進(jìn)行對比,即可識(shí)別出顏色。
(5)JTAG調(diào)試模塊的設(shè)計(jì)。系統(tǒng)采用的是標(biāo)準(zhǔn)的 JTAG 接法,但是 STM32 還有 SWD 接口,SWD 只需要最少2根線(SWCLK 和 SWDIO)就可以下載并調(diào)試代碼了。
3 結(jié)論
本文介紹一種基于stm32單片機(jī)的自動(dòng)定位識(shí)別繡球拋射機(jī)器人,該機(jī)器人采用三輪全向輪結(jié)構(gòu)作為底盤,實(shí)現(xiàn)全方位移動(dòng),使用陀螺儀編碼器作為移動(dòng)機(jī)器人平面定位的傳感系統(tǒng),實(shí)時(shí)傳送機(jī)器人在絕對坐標(biāo)系中的坐標(biāo)和角度信息,使用攝像頭采集圖像信息,將圖像信息轉(zhuǎn)換為RGB值,再根據(jù)RGB值識(shí)別繡球的顏色告訴機(jī)器人應(yīng)該在哪里發(fā)射繡球;使用絲桿滑臺(tái)上下移動(dòng)來調(diào)節(jié)繡球的發(fā)射角度;使用氣缸作為拋射機(jī)構(gòu)的動(dòng)力裝置發(fā)射繡球。
參考文獻(xiàn):
[1]劉清,郭津津,楊秀萍,等.基于STM32微處理器的嵌入式教學(xué)實(shí)驗(yàn)平臺(tái)開發(fā)[J].中國現(xiàn)代教育裝備,2016,68-72.
[2]鄧哲宇.輪式移動(dòng)機(jī)器人運(yùn)動(dòng)控制策略研究[D].浙江大學(xué),2015,51-64.
[3]歐陽翠波.發(fā)射裝置的可靠性設(shè)計(jì)[A].昆明:705所昆明分部,2000,46-74.
[4]周根泉,郭務(wù)仁,凌云.機(jī)器人結(jié)構(gòu)彈性動(dòng)力學(xué)建模[J].東南大學(xué)學(xué)報(bào),1989(06),65-71.
[5]馬飛.一種多傳感器數(shù)據(jù)融合的智能撿球機(jī)器人結(jié)構(gòu)設(shè)計(jì)[J].內(nèi)蒙古師范大學(xué)學(xué)報(bào)(自然科學(xué)漢文版),2017(04),30-41.