劉騰飛 呂償 潘光煥 王廷軒
摘 要:自新冠疫情暴發(fā)以來,疫情對生命、財(cái)產(chǎn)和社會帶來了極大的挑戰(zhàn)。病毒極強(qiáng)的感染能力使公共場所的防疫消殺工作面臨著極大的挑戰(zhàn)。同時(shí),對公共場所進(jìn)行消殺工作的醫(yī)務(wù)人員而言,其面臨著極大的壓力。為了實(shí)現(xiàn)全自動(dòng)智能防疫消殺,且要滿足適應(yīng)性強(qiáng)、反應(yīng)迅速、結(jié)構(gòu)緊密等技術(shù)要求,本研究基于OpenMV與STM32設(shè)計(jì)出一款智能視覺防疫消殺機(jī)器人,該機(jī)器人采用STM32F427的OpenMV模塊作為視覺識別與處理模塊,實(shí)現(xiàn)對信息的識別、讀取與傳輸。STM32F407芯片作為防疫消殺機(jī)器人的控制核心,與OpenMV傳輸信息進(jìn)行結(jié)合,實(shí)現(xiàn)對四個(gè)大功率電機(jī)的精準(zhǔn)預(yù)定控制,通過繼電器的供電來實(shí)現(xiàn)對機(jī)械臂與液壓泵的控制,且機(jī)械臂旋轉(zhuǎn)噴灑操作可以通過藍(lán)牙模塊實(shí)現(xiàn)遠(yuǎn)程控制。經(jīng)過試驗(yàn)測試,該研究設(shè)計(jì)的防疫消殺機(jī)器人具有穩(wěn)定可靠、調(diào)節(jié)方便、低功耗等特點(diǎn),根據(jù)預(yù)定圖像進(jìn)行視覺循跡與遙控控制,并且能夠?qū)崿F(xiàn)機(jī)械臂旋轉(zhuǎn)大規(guī)模噴灑??蓪?shí)現(xiàn)對相距0.7 m的10 cm×10 cm的圖形進(jìn)行識別判斷,并可進(jìn)行準(zhǔn)確循跡,完全滿足在視覺循跡的條件下進(jìn)行防疫消殺工作。
關(guān)鍵詞:STM32;OpenMV;防疫消殺
中圖分類號:TP391.41;TP23 ? 文獻(xiàn)標(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)生事件,具有威脅范圍廣、感染性強(qiáng)的特點(diǎn)。為了能夠更好地進(jìn)行防疫消殺,世界各國都在積極進(jìn)行防疫消殺機(jī)器人的研究。在國外,印度學(xué)者設(shè)計(jì)出自動(dòng)切換紫外線消毒的機(jī)器人,用于檢測人體與物體,在檢測到人體時(shí)就自動(dòng)停止,檢測到物體時(shí)自動(dòng)進(jìn)行防疫消殺。馬來西亞學(xué)者設(shè)計(jì)出噴霧消毒機(jī)器人,以Arduino作為其控制核心,并且結(jié)合相機(jī)、超聲波傳感器、電機(jī)、藍(lán)牙等裝置進(jìn)行防疫消殺。在國內(nèi),北京達(dá)闥科技有限公司研發(fā)一款消毒機(jī)器人,可以實(shí)現(xiàn)對室內(nèi)環(huán)境的建圖,并且在運(yùn)行時(shí)可以自主避障[1]。北京中部戰(zhàn)區(qū)疾病預(yù)防控制中心成功研制出霧炮型履帶式防疫機(jī)器人,可以實(shí)現(xiàn)噴射超低容量的霧狀藥劑,對白蟻群進(jìn)行消殺。綜上所述,可以發(fā)現(xiàn)世界各國雖然對防疫機(jī)器人有著多樣化的設(shè)計(jì),但無論是國內(nèi)還是國外的研究,由于消殺環(huán)境的復(fù)雜性,導(dǎo)致防疫消殺機(jī)器人都存在著一定的功能缺陷,很難滿足防疫消殺的需求。
本研究針對公共環(huán)境消殺的需求,在對現(xiàn)有消殺方法研究后,設(shè)計(jì)出基于OpenMV與STM32防疫的消殺機(jī)器人,其采用STM32F407作為核心處理器,配合OpenMV可以實(shí)現(xiàn)遠(yuǎn)距離識別AprilTagc,并跟隨AprilTagc行駛。為了能夠?qū)崿F(xiàn)在多種環(huán)境中完成工作,又為其添加了藍(lán)牙模塊,可以實(shí)現(xiàn)藍(lán)牙控制,并配合機(jī)械臂、液壓水泵噴灑桿,實(shí)現(xiàn)視覺跟隨防疫消殺與藍(lán)牙控制防疫消殺。
1 總體設(shè)計(jì)方案
本研究設(shè)計(jì)的防疫消殺機(jī)器人由STM32F407ZGT6(控制核心)、機(jī)械臂、電機(jī)、電機(jī)驅(qū)動(dòng)模塊、藍(lán)牙模塊、OpenMV4、電池模組、噴灑桿、藥箱、底盤、繼電器組成??梢酝ㄟ^手機(jī)藍(lán)牙實(shí)現(xiàn)對防疫消殺機(jī)器人的控制。防疫消殺機(jī)器人的整體設(shè)計(jì)如圖1所示。
2 關(guān)鍵技術(shù)
2.1 機(jī)械設(shè)計(jì)
防疫消殺機(jī)器人的機(jī)械結(jié)構(gòu)由3個(gè)部分組成,分別是載重部分、驅(qū)動(dòng)部分以及機(jī)械臂。在底盤載重設(shè)計(jì)方面,為了增強(qiáng)其承載能力,用四根工字形鋁型材采用打孔穿釘方式進(jìn)行組裝,采用這種方式可以增加其承重能力,最大可以承受45 kg的重物。在驅(qū)動(dòng)設(shè)計(jì)方面,采用四輪差速驅(qū)動(dòng)式輪式機(jī)構(gòu),每個(gè)輪子都有獨(dú)立的執(zhí)行機(jī)構(gòu),可以獨(dú)立進(jìn)行驅(qū)動(dòng)。當(dāng)機(jī)器人前進(jìn)或后退時(shí),四個(gè)輪子采取同樣的轉(zhuǎn)速與方向進(jìn)行驅(qū)動(dòng);當(dāng)機(jī)器人進(jìn)行轉(zhuǎn)彎時(shí),通過改變相應(yīng)車輪的轉(zhuǎn)速及轉(zhuǎn)向來實(shí)現(xiàn)。這樣可以降低機(jī)器人轉(zhuǎn)彎的復(fù)雜性,使其變得靈活精準(zhǔn),可以在更多路徑上行駛[2]。在機(jī)械臂設(shè)計(jì)方面,由于機(jī)械臂需要控制噴桿,從而實(shí)現(xiàn)多角度噴灑。為了能夠更好地實(shí)現(xiàn)噴灑,核心控制器(STM32F407)控制繼電器,采用對水泵間接供電的方式,實(shí)現(xiàn)控制噴灑。水泵的一端通過水管與噴灑桿件連接,另一端則接至水箱中,從而實(shí)現(xiàn)供水。在機(jī)械臂控制方面,采用LDX-218舵機(jī)對其進(jìn)行控制。在多次測試試驗(yàn)中發(fā)現(xiàn),若使用兩個(gè)以上的舵機(jī)對機(jī)械臂進(jìn)行控制,水管容易發(fā)生纏繞現(xiàn)象。
2.2 驅(qū)動(dòng)部分
本研究采用直流減速電機(jī)作為防疫消殺機(jī)器人的動(dòng)力裝置,直流減速電機(jī)的驅(qū)動(dòng)選用H橋大功率驅(qū)動(dòng)模塊BTS796模塊。在機(jī)器人行駛過程中,為了減少車輪與地面的摩擦,采用PWM脈沖進(jìn)行調(diào)速,通過改變輸出高低電平的頻率,從而實(shí)現(xiàn)對電機(jī)轉(zhuǎn)速的控制。由于機(jī)器人采取四驅(qū)控制的方式,所以需要定義五個(gè)子函數(shù),對機(jī)器人的前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止進(jìn)行控制。其中,定義左前輪控制信號為PA1、PC2,右前輪控制信號為PA2、PC3,左后輪控制信號為PA3、PC4,右后輪控制信號為PA4、PC5,通過改變四個(gè)電機(jī)端口I/O狀態(tài),實(shí)現(xiàn)對電機(jī)運(yùn)動(dòng)狀態(tài)進(jìn)行改變,從而實(shí)現(xiàn)電機(jī)的相對運(yùn)動(dòng)[3]。
2.3 OpenMV4
OpenMV4作為防疫消殺機(jī)器人的視覺模塊,其核心處理器是STM32H743VI ARM Cortex M7處理器,感光元件為OV7725的 OPENMV4 H7攝像頭,使用Python語言進(jìn)行編程 [4]。在OpenMV IDE平臺上進(jìn)行編寫,為了能夠?qū)崿F(xiàn)較遠(yuǎn)距離的精準(zhǔn)識別,采用AprilTagc中的TAG16H5,由于OpenMV能識別AprilTagc標(biāo)簽,可以根據(jù)其3D定位功能,實(shí)現(xiàn)空間中的精準(zhǔn)定位。當(dāng)OpenMV識別到AprilTagc標(biāo)簽后,程序會先調(diào)用img.find_apriltags()函數(shù),獲取相應(yīng)的6個(gè)坐標(biāo)軸信息,然后進(jìn)行輸出。為了能夠更加貼近現(xiàn)實(shí)環(huán)境,實(shí)現(xiàn)精準(zhǔn)識別,即調(diào)用X、Y坐標(biāo)軸值,然后將其轉(zhuǎn)化為相應(yīng)的角度與距離數(shù)據(jù)[5]。隨后將獲取到的信息反饋傳輸?shù)絊TM32單片機(jī)上,STM32單片機(jī)發(fā)出相應(yīng)指令,驅(qū)動(dòng)電機(jī)對轉(zhuǎn)速和轉(zhuǎn)向進(jìn)行調(diào)節(jié),程序流程見圖2。
2.4 機(jī)械臂控制
在機(jī)械臂控制程序方面,為了能夠更好地實(shí)現(xiàn)消殺效果,所以僅選用一個(gè)底層舵機(jī)進(jìn)行驅(qū)動(dòng)。為了使舵機(jī)能夠?qū)崿F(xiàn)準(zhǔn)確地控制,采用TIM4定時(shí)器的PWM波控制[6]。PWM信號由接收通道進(jìn)入信號解調(diào)電路進(jìn)行解調(diào),從而獲得一個(gè)直流偏置電壓。通過對該直流偏置電壓與電位器的電壓進(jìn)行比較,實(shí)現(xiàn)電壓差輸出的獲取。隨后將信號從PD12口輸出,送入到電機(jī)驅(qū)動(dòng)電路中,實(shí)現(xiàn)對電機(jī)相應(yīng)的正反轉(zhuǎn)。當(dāng)電機(jī)轉(zhuǎn)動(dòng)時(shí),通過級聯(lián)減速齒輪帶動(dòng)電位器進(jìn)行旋轉(zhuǎn)運(yùn)動(dòng),直到電壓差為0 V,電機(jī)停止轉(zhuǎn)動(dòng)[7]。為了能夠?qū)崿F(xiàn)循環(huán)旋轉(zhuǎn),定義一個(gè)PWM波周期為2 500 ms,分為五個(gè)階段進(jìn)行轉(zhuǎn)動(dòng)控制,每個(gè)階段轉(zhuǎn)動(dòng)45°,每個(gè)階段轉(zhuǎn)動(dòng)后延遲500 ms,如此執(zhí)行5次,一個(gè)周期結(jié)束。如此往復(fù)循環(huán)執(zhí)行,直至機(jī)器人停止運(yùn)行 [8]。
2.5 藍(lán)牙控制
選擇BT08藍(lán)牙模塊與手機(jī)端進(jìn)行通信,從而實(shí)現(xiàn)藍(lán)牙控制。工作時(shí)有命令響應(yīng)與自動(dòng)連接兩種模式。在命令響應(yīng)模式下,用戶可以向模塊發(fā)送相應(yīng)的AT命令,包括模塊的控制參數(shù)以及控制自動(dòng)連接模式下的有主(Master)、從(Slave)和回環(huán)(Loopback)三種工作模式[9]。本研究設(shè)計(jì)的防疫消殺機(jī)器人工作時(shí),先進(jìn)行系統(tǒng)初始化,再初始化藍(lán)牙與串口,串口檢測藍(lán)牙端是否發(fā)出指令,若未檢測到指令,則重新檢測。若檢測到指令,則將向相應(yīng)的電機(jī)驅(qū)動(dòng)器發(fā)送指令,進(jìn)行驅(qū)動(dòng)??刂屏鞒桃妶D3。
2.6 通信程序設(shè)定
整個(gè)機(jī)器人中最重要的程序部分就是STM32F407與OpenMV之間的串口通信,這直接決定機(jī)器人能否實(shí)現(xiàn)視覺跟隨消殺的功能,對此本系統(tǒng)采用USART進(jìn)行串口通信。首先對串口與GPIO的時(shí)鐘進(jìn)行使能,其次對引腳復(fù)用器映射進(jìn)行相應(yīng)設(shè)置,接著使用GPIO_InitStructure()函數(shù),將GPIO端口設(shè)置為推挽復(fù)用輸出,使其具有輸出功能。為了滿足串口的通信功能,調(diào)用USART_InitStructure()函數(shù)對串口的波特率、字長、收發(fā)模式等進(jìn)行設(shè)置。再次開啟中斷初始化NVIC(為了能夠更好地實(shí)現(xiàn)功能,對串口接收信息時(shí)采用觸發(fā)中斷事件,配置相應(yīng)串口的中斷優(yōu)先級),使能中斷,隨后對串口進(jìn)行使能。最后編寫相應(yīng)的中斷處理函數(shù),并命名為USART_IRQHandler[10]。
3 實(shí)物測試
試驗(yàn)設(shè)置兩個(gè)主要任務(wù):一是機(jī)器人(見圖4)使用OpenMV識別AprilTag,進(jìn)行視覺跟隨;二是機(jī)器人通過藍(lán)牙控制實(shí)現(xiàn)相應(yīng)的運(yùn)動(dòng)。布置試驗(yàn)場地并進(jìn)行清空,保證光源情況良好。第一項(xiàng)測試,先啟動(dòng)機(jī)器人,在距離機(jī)器人0.7 m處,設(shè)置一塊10 cm×10 cm AprilTagc標(biāo)簽,并且為了保證試驗(yàn)的成功率,保證AprilTagc標(biāo)簽與機(jī)器人OpenMV的高度相等。在直道與彎道內(nèi),機(jī)器人隨著 AprilTagc標(biāo)簽位置的不斷變換而移動(dòng),OpenMV 不斷更新數(shù)據(jù),同時(shí)調(diào)整對應(yīng)的車速與差速,并且機(jī)械臂在開啟后能夠正常噴灑,得到的結(jié)果符合試驗(yàn)預(yù)期,見圖5。第二項(xiàng)測試,在同等條件下,盡可能地使試驗(yàn)場地空曠,減少電子儀器的出現(xiàn)。先開啟機(jī)器人,手機(jī)APP與藍(lán)牙進(jìn)行連接,手機(jī)APP操控相應(yīng)的動(dòng)作按鈕,機(jī)器人可以完美地實(shí)現(xiàn)前進(jìn)、后退、左轉(zhuǎn)、右轉(zhuǎn)的動(dòng)作,且機(jī)械臂運(yùn)轉(zhuǎn)正常,試驗(yàn)結(jié)果達(dá)到預(yù)期目標(biāo)。
4 結(jié)語
通過STM32F407與OpenMV等多個(gè)模塊的結(jié)合,實(shí)現(xiàn)對防疫消殺機(jī)器人的設(shè)計(jì),可實(shí)現(xiàn)在光源條件良好,且場地開闊的條件下,實(shí)現(xiàn)視覺跟隨消殺、藍(lán)牙遙控消殺。經(jīng)過試驗(yàn)測試,機(jī)器人消殺效果良好可靠。但在本設(shè)計(jì)中尚存在一定的不足之處,即在光源條件較差或是場地較為雜亂時(shí),視覺跟隨消殺將會受到一定影響,機(jī)器人的視覺跟隨能力下降,消殺效果較差。在藍(lán)牙遙控下,機(jī)器人雖然有著不錯(cuò)的消殺效果,但由于藍(lán)牙控制的操作距離較短,不利于遠(yuǎn)距離防疫消殺,且藍(lán)牙操控易受到環(huán)境的干擾。接下來,將會對基于OpenMV與STM32防疫消殺機(jī)器人的缺陷進(jìn)行改進(jìn)與完善,以滿足多場景下的防疫消殺工作。
參考文獻(xiàn):
[1] 袁鵬.防疫消毒機(jī)器人的設(shè)計(jì)與開發(fā)研究[D].濟(jì)南:山東大學(xué),2021.
[2] 曹建平,丁坦,楊輝.基于STM32的WIFI控制金屬探測小車系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2020(9):79-83.
[3] 李萌,于洋.基于STM32F407的巡防智能小車設(shè)計(jì)[J].科技風(fēng),2019(20):8-9.
[4] 張文青,龍奕帆.基于OpenMV視覺模塊的智能小車巡線系統(tǒng)設(shè)計(jì)[J].集成電路應(yīng)用,2021(10):232-233.
[5] 梅妍玭,傅榮.基于OpenMV的3D定位識別系統(tǒng)[J].新技術(shù)新工藝,2018(2):50-52.
[6] 歐雪霞.基于STM32的智能掃地小車的設(shè)計(jì)與實(shí)現(xiàn)[J].電子制作,2021(21):27-30.
[7] 何苗,吳永剛,陳金花.基于STM32的數(shù)字舵機(jī)控制系統(tǒng)[J].水雷戰(zhàn)與艦船防護(hù),2015(1):52-54.
[8] 寧春雷,劉凡齊,孫在尚.基于STM32的多自由度機(jī)械臂設(shè)計(jì)[J].電子世界,2017(9):118.
[9] 崔承毅,王開宇,高慶華,等.基于智能小車的模塊化教學(xué)系統(tǒng)設(shè)計(jì)[J].實(shí)驗(yàn)技術(shù)與管理,2018(8):192-195.
[10] 張洋,劉軍,嚴(yán)漢宇.原子教你玩STM32(庫函數(shù)版)[M].北京:北京航空航天大學(xué)出版社,2013.