劉騰飛 呂償 潘光煥 王廷軒
摘 要:自新冠疫情暴發(fā)以來,疫情對生命、財產(chǎn)和社會帶來了極大的挑戰(zhàn)。病毒極強的感染能力使公共場所的防疫消殺工作面臨著極大的挑戰(zhàn)。同時,對公共場所進行消殺工作的醫(yī)務(wù)人員而言,其面臨著極大的壓力。為了實現(xiàn)全自動智能防疫消殺,且要滿足適應(yīng)性強、反應(yīng)迅速、結(jié)構(gòu)緊密等技術(shù)要求,本研究基于OpenMV與STM32設(shè)計出一款智能視覺防疫消殺機器人,該機器人采用STM32F427的OpenMV模塊作為視覺識別與處理模塊,實現(xiàn)對信息的識別、讀取與傳輸。STM32F407芯片作為防疫消殺機器人的控制核心,與OpenMV傳輸信息進行結(jié)合,實現(xiàn)對四個大功率電機的精準(zhǔn)預(yù)定控制,通過繼電器的供電來實現(xiàn)對機械臂與液壓泵的控制,且機械臂旋轉(zhuǎn)噴灑操作可以通過藍牙模塊實現(xiàn)遠程控制。經(jīng)過試驗測試,該研究設(shè)計的防疫消殺機器人具有穩(wěn)定可靠、調(diào)節(jié)方便、低功耗等特點,根據(jù)預(yù)定圖像進行視覺循跡與遙控控制,并且能夠?qū)崿F(xiàn)機械臂旋轉(zhuǎn)大規(guī)模噴灑??蓪崿F(xiàn)對相距0.7 m的10 cm×10 cm的圖形進行識別判斷,并可進行準(zhǔn)確循跡,完全滿足在視覺循跡的條件下進行防疫消殺工作。
關(guān)鍵詞:STM32;OpenMV;防疫消殺
中圖分類號:TP391.41;TP23 ? 文獻標(biāo)志碼:A 文章編號:1003-5168(2022)6-0024-04
DOI:10.19968/j.cnki.hnkj.1003-5168.2022.06.005
Based on OpenMV and STM32 Epidemic Prevention and Elimination Car Design
LIU Tengfei ? ?LYU Chang ? ?PAN Guanghuan ? ?WANG Tingxuan
(School of Mechanical and Electrical Engineering,Guangdong Baiyun University,Guangzhou 510450,China)
Abstract:Since the outbreak of COVID-19,lives,property and society have been greatly challenged.The strong infection capacity of the virus makes the epidemic prevention and elimination of public places a great challenge.At the same time,for medical personnel who kill in public places,they are facing great pressure.In order to realize automatic intelligent epidemic prevention and elimination,and make it meet the technical requirements of strong adaptation,rapid response,compact structure.In this study,an intelligent visual epidemic prevention and elimination robot based on OpenMV and STM32 is designed.The robot uses OpenMV of STM32F427 as a visual recognition and processing module to recognize,read and transmit information.As the control core of the epidemic prevention and elimination car,STM32F407 chip combined with OpenMV transmission information to achieve precise predetermined control of four high-power motors.Moreover,mechanical arm rotation spraying control can be realized through relay power supply,and Bluetooth control can be realized through Bluetooth module.Experimental tests show that the vehicle is stable,reliable,easy to adjust,low power consumption and other characteristics,and can achieve visual tracking and remote control according to the predetermined image and achieve large-scale spraying with mechanical arm rotation.It can recognize and judge the graphics of 10 cm×10 cm at a distance of 0.7 m and accurately track them,which can fully meet the requirements of epidemic prevention and elimination under the condition of visual tracking.
Keywords:STM32;OpenMV;epidemic prevention and elimination
0 引言
新冠疫情是全球突發(fā)性公共衛(wèi)生事件,具有威脅范圍廣、感染性強的特點。為了能夠更好地進行防疫消殺,世界各國都在積極進行防疫消殺機器人的研究。在國外,印度學(xué)者設(shè)計出自動切換紫外線消毒的機器人,用于檢測人體與物體,在檢測到人體時就自動停止,檢測到物體時自動進行防疫消殺。馬來西亞學(xué)者設(shè)計出噴霧消毒機器人,以Arduino作為其控制核心,并且結(jié)合相機、超聲波傳感器、電機、藍牙等裝置進行防疫消殺。在國內(nèi),北京達闥科技有限公司研發(fā)一款消毒機器人,可以實現(xiàn)對室內(nèi)環(huán)境的建圖,并且在運行時可以自主避障[1]。北京中部戰(zhàn)區(qū)疾病預(yù)防控制中心成功研制出霧炮型履帶式防疫機器人,可以實現(xiàn)噴射超低容量的霧狀藥劑,對白蟻群進行消殺。綜上所述,可以發(fā)現(xiàn)世界各國雖然對防疫機器人有著多樣化的設(shè)計,但無論是國內(nèi)還是國外的研究,由于消殺環(huán)境的復(fù)雜性,導(dǎo)致防疫消殺機器人都存在著一定的功能缺陷,很難滿足防疫消殺的需求。
本研究針對公共環(huán)境消殺的需求,在對現(xiàn)有消殺方法研究后,設(shè)計出基于OpenMV與STM32防疫的消殺機器人,其采用STM32F407作為核心處理器,配合OpenMV可以實現(xiàn)遠距離識別AprilTagc,并跟隨AprilTagc行駛。為了能夠?qū)崿F(xiàn)在多種環(huán)境中完成工作,又為其添加了藍牙模塊,可以實現(xiàn)藍牙控制,并配合機械臂、液壓水泵噴灑桿,實現(xiàn)視覺跟隨防疫消殺與藍牙控制防疫消殺。
1 總體設(shè)計方案
本研究設(shè)計的防疫消殺機器人由STM32F407ZGT6(控制核心)、機械臂、電機、電機驅(qū)動模塊、藍牙模塊、OpenMV4、電池模組、噴灑桿、藥箱、底盤、繼電器組成??梢酝ㄟ^手機藍牙實現(xiàn)對防疫消殺機器人的控制。防疫消殺機器人的整體設(shè)計如圖1所示。
2 關(guān)鍵技術(shù)
2.1 機械設(shè)計
防疫消殺機器人的機械結(jié)構(gòu)由3個部分組成,分別是載重部分、驅(qū)動部分以及機械臂。在底盤載重設(shè)計方面,為了增強其承載能力,用四根工字形鋁型材采用打孔穿釘方式進行組裝,采用這種方式可以增加其承重能力,最大可以承受45 kg的重物。在驅(qū)動設(shè)計方面,采用四輪差速驅(qū)動式輪式機構(gòu),每個輪子都有獨立的執(zhí)行機構(gòu),可以獨立進行驅(qū)動。當(dāng)機器人前進或后退時,四個輪子采取同樣的轉(zhuǎn)速與方向進行驅(qū)動;當(dāng)機器人進行轉(zhuǎn)彎時,通過改變相應(yīng)車輪的轉(zhuǎn)速及轉(zhuǎn)向來實現(xiàn)。這樣可以降低機器人轉(zhuǎn)彎的復(fù)雜性,使其變得靈活精準(zhǔn),可以在更多路徑上行駛[2]。在機械臂設(shè)計方面,由于機械臂需要控制噴桿,從而實現(xiàn)多角度噴灑。為了能夠更好地實現(xiàn)噴灑,核心控制器(STM32F407)控制繼電器,采用對水泵間接供電的方式,實現(xiàn)控制噴灑。水泵的一端通過水管與噴灑桿件連接,另一端則接至水箱中,從而實現(xiàn)供水。在機械臂控制方面,采用LDX-218舵機對其進行控制。在多次測試試驗中發(fā)現(xiàn),若使用兩個以上的舵機對機械臂進行控制,水管容易發(fā)生纏繞現(xiàn)象。
2.2 驅(qū)動部分
本研究采用直流減速電機作為防疫消殺機器人的動力裝置,直流減速電機的驅(qū)動選用H橋大功率驅(qū)動模塊BTS796模塊。在機器人行駛過程中,為了減少車輪與地面的摩擦,采用PWM脈沖進行調(diào)速,通過改變輸出高低電平的頻率,從而實現(xiàn)對電機轉(zhuǎn)速的控制。由于機器人采取四驅(qū)控制的方式,所以需要定義五個子函數(shù),對機器人的前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止進行控制。其中,定義左前輪控制信號為PA1、PC2,右前輪控制信號為PA2、PC3,左后輪控制信號為PA3、PC4,右后輪控制信號為PA4、PC5,通過改變四個電機端口I/O狀態(tài),實現(xiàn)對電機運動狀態(tài)進行改變,從而實現(xiàn)電機的相對運動[3]。
2.3 OpenMV4
OpenMV4作為防疫消殺機器人的視覺模塊,其核心處理器是STM32H743VI ARM Cortex M7處理器,感光元件為OV7725的 OPENMV4 H7攝像頭,使用Python語言進行編程 [4]。在OpenMV IDE平臺上進行編寫,為了能夠?qū)崿F(xiàn)較遠距離的精準(zhǔn)識別,采用AprilTagc中的TAG16H5,由于OpenMV能識別AprilTagc標(biāo)簽,可以根據(jù)其3D定位功能,實現(xiàn)空間中的精準(zhǔn)定位。當(dāng)OpenMV識別到AprilTagc標(biāo)簽后,程序會先調(diào)用img.find_apriltags()函數(shù),獲取相應(yīng)的6個坐標(biāo)軸信息,然后進行輸出。為了能夠更加貼近現(xiàn)實環(huán)境,實現(xiàn)精準(zhǔn)識別,即調(diào)用X、Y坐標(biāo)軸值,然后將其轉(zhuǎn)化為相應(yīng)的角度與距離數(shù)據(jù)[5]。隨后將獲取到的信息反饋傳輸?shù)絊TM32單片機上,STM32單片機發(fā)出相應(yīng)指令,驅(qū)動電機對轉(zhuǎn)速和轉(zhuǎn)向進行調(diào)節(jié),程序流程見圖2。
2.4 機械臂控制
在機械臂控制程序方面,為了能夠更好地實現(xiàn)消殺效果,所以僅選用一個底層舵機進行驅(qū)動。為了使舵機能夠?qū)崿F(xiàn)準(zhǔn)確地控制,采用TIM4定時器的PWM波控制[6]。PWM信號由接收通道進入信號解調(diào)電路進行解調(diào),從而獲得一個直流偏置電壓。通過對該直流偏置電壓與電位器的電壓進行比較,實現(xiàn)電壓差輸出的獲取。隨后將信號從PD12口輸出,送入到電機驅(qū)動電路中,實現(xiàn)對電機相應(yīng)的正反轉(zhuǎn)。當(dāng)電機轉(zhuǎn)動時,通過級聯(lián)減速齒輪帶動電位器進行旋轉(zhuǎn)運動,直到電壓差為0 V,電機停止轉(zhuǎn)動[7]。為了能夠?qū)崿F(xiàn)循環(huán)旋轉(zhuǎn),定義一個PWM波周期為2 500 ms,分為五個階段進行轉(zhuǎn)動控制,每個階段轉(zhuǎn)動45°,每個階段轉(zhuǎn)動后延遲500 ms,如此執(zhí)行5次,一個周期結(jié)束。如此往復(fù)循環(huán)執(zhí)行,直至機器人停止運行 [8]。
2.5 藍牙控制
選擇BT08藍牙模塊與手機端進行通信,從而實現(xiàn)藍牙控制。工作時有命令響應(yīng)與自動連接兩種模式。在命令響應(yīng)模式下,用戶可以向模塊發(fā)送相應(yīng)的AT命令,包括模塊的控制參數(shù)以及控制自動連接模式下的有主(Master)、從(Slave)和回環(huán)(Loopback)三種工作模式[9]。本研究設(shè)計的防疫消殺機器人工作時,先進行系統(tǒng)初始化,再初始化藍牙與串口,串口檢測藍牙端是否發(fā)出指令,若未檢測到指令,則重新檢測。若檢測到指令,則將向相應(yīng)的電機驅(qū)動器發(fā)送指令,進行驅(qū)動。控制流程見圖3。
2.6 通信程序設(shè)定
整個機器人中最重要的程序部分就是STM32F407與OpenMV之間的串口通信,這直接決定機器人能否實現(xiàn)視覺跟隨消殺的功能,對此本系統(tǒng)采用USART進行串口通信。首先對串口與GPIO的時鐘進行使能,其次對引腳復(fù)用器映射進行相應(yīng)設(shè)置,接著使用GPIO_InitStructure()函數(shù),將GPIO端口設(shè)置為推挽復(fù)用輸出,使其具有輸出功能。為了滿足串口的通信功能,調(diào)用USART_InitStructure()函數(shù)對串口的波特率、字長、收發(fā)模式等進行設(shè)置。再次開啟中斷初始化NVIC(為了能夠更好地實現(xiàn)功能,對串口接收信息時采用觸發(fā)中斷事件,配置相應(yīng)串口的中斷優(yōu)先級),使能中斷,隨后對串口進行使能。最后編寫相應(yīng)的中斷處理函數(shù),并命名為USART_IRQHandler[10]。
3 實物測試
試驗設(shè)置兩個主要任務(wù):一是機器人(見圖4)使用OpenMV識別AprilTag,進行視覺跟隨;二是機器人通過藍牙控制實現(xiàn)相應(yīng)的運動。布置試驗場地并進行清空,保證光源情況良好。第一項測試,先啟動機器人,在距離機器人0.7 m處,設(shè)置一塊10 cm×10 cm AprilTagc標(biāo)簽,并且為了保證試驗的成功率,保證AprilTagc標(biāo)簽與機器人OpenMV的高度相等。在直道與彎道內(nèi),機器人隨著 AprilTagc標(biāo)簽位置的不斷變換而移動,OpenMV 不斷更新數(shù)據(jù),同時調(diào)整對應(yīng)的車速與差速,并且機械臂在開啟后能夠正常噴灑,得到的結(jié)果符合試驗預(yù)期,見圖5。第二項測試,在同等條件下,盡可能地使試驗場地空曠,減少電子儀器的出現(xiàn)。先開啟機器人,手機APP與藍牙進行連接,手機APP操控相應(yīng)的動作按鈕,機器人可以完美地實現(xiàn)前進、后退、左轉(zhuǎn)、右轉(zhuǎn)的動作,且機械臂運轉(zhuǎn)正常,試驗結(jié)果達到預(yù)期目標(biāo)。
4 結(jié)語
通過STM32F407與OpenMV等多個模塊的結(jié)合,實現(xiàn)對防疫消殺機器人的設(shè)計,可實現(xiàn)在光源條件良好,且場地開闊的條件下,實現(xiàn)視覺跟隨消殺、藍牙遙控消殺。經(jīng)過試驗測試,機器人消殺效果良好可靠。但在本設(shè)計中尚存在一定的不足之處,即在光源條件較差或是場地較為雜亂時,視覺跟隨消殺將會受到一定影響,機器人的視覺跟隨能力下降,消殺效果較差。在藍牙遙控下,機器人雖然有著不錯的消殺效果,但由于藍牙控制的操作距離較短,不利于遠距離防疫消殺,且藍牙操控易受到環(huán)境的干擾。接下來,將會對基于OpenMV與STM32防疫消殺機器人的缺陷進行改進與完善,以滿足多場景下的防疫消殺工作。
參考文獻:
[1] 袁鵬.防疫消毒機器人的設(shè)計與開發(fā)研究[D].濟南:山東大學(xué),2021.
[2] 曹建平,丁坦,楊輝.基于STM32的WIFI控制金屬探測小車系統(tǒng)設(shè)計[J].實驗室研究與探索,2020(9):79-83.
[3] 李萌,于洋.基于STM32F407的巡防智能小車設(shè)計[J].科技風(fēng),2019(20):8-9.
[4] 張文青,龍奕帆.基于OpenMV視覺模塊的智能小車巡線系統(tǒng)設(shè)計[J].集成電路應(yīng)用,2021(10):232-233.
[5] 梅妍玭,傅榮.基于OpenMV的3D定位識別系統(tǒng)[J].新技術(shù)新工藝,2018(2):50-52.
[6] 歐雪霞.基于STM32的智能掃地小車的設(shè)計與實現(xiàn)[J].電子制作,2021(21):27-30.
[7] 何苗,吳永剛,陳金花.基于STM32的數(shù)字舵機控制系統(tǒng)[J].水雷戰(zhàn)與艦船防護,2015(1):52-54.
[8] 寧春雷,劉凡齊,孫在尚.基于STM32的多自由度機械臂設(shè)計[J].電子世界,2017(9):118.
[9] 崔承毅,王開宇,高慶華,等.基于智能小車的模塊化教學(xué)系統(tǒng)設(shè)計[J].實驗技術(shù)與管理,2018(8):192-195.
[10] 張洋,劉軍,嚴(yán)漢宇.原子教你玩STM32(庫函數(shù)版)[M].北京:北京航空航天大學(xué)出版社,2013.