王渝鑫,付芳芳,付盛源
(廣州城市理工學院,廣東廣州,510800)
隨著科技的發(fā)展和社會的進步,城市人口越來越密集,相比在農(nóng)村地區(qū),城市的火災(zāi)救援工作更加危險。火災(zāi)機器人可以通過遙控探測現(xiàn)場情況,可以實現(xiàn)現(xiàn)場圖像呈現(xiàn)和煙霧濃度測量,獲取與火災(zāi)現(xiàn)場相關(guān)的有效數(shù)據(jù),縮短火災(zāi)現(xiàn)場偵測工作的時間,為火災(zāi)救援提供幫助。
基于樹莓派的火災(zāi)煙霧探測機器人小車采用樹莓派平臺作為整個系統(tǒng)的控制和運算數(shù)據(jù)處理單元,樹莓派平臺上電后,電機驅(qū)動操作芯片TB6612、煙霧傳感器MQ-2、成像系統(tǒng)OpenCV同時啟動,操作者通過藍牙模塊,用手機APP將其遙控至較惡劣環(huán)境中進行煙霧濃度探測以及視頻拍攝,這些數(shù)據(jù)被實時傳給樹莓派開發(fā)板,再通過藍牙傳到APP上,操作者根據(jù)獲取到的信息,遙控機器人進行左轉(zhuǎn)、右轉(zhuǎn)、前進、后退等運動,以及決定是否滅火或繼續(xù)探測等行動。該火災(zāi)探測系統(tǒng)的結(jié)構(gòu)圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)圖
樹莓派是一個微型的計算機系統(tǒng),它搭載了 Linux 系統(tǒng),可進行桌面可視化操作,具有強大的功能,包括各種軟件的使用、視頻音樂功能等。與 Windows 系統(tǒng)相比,樹莓系統(tǒng)是開源的 Linux 系統(tǒng),這就意味著能夠讓眾多的程序員來參與編寫 Linux 底層系統(tǒng),使樹莓派的操作系統(tǒng)日趨完善。樹莓派的主控是屬于 ARM 的一種,它的數(shù)據(jù)存儲方式是借用了 SD 卡來完成,在控制板上配有八個接口,包括 USB 接口、WLAN 接口、HDMI 接口和電源以及音頻接口[1]。
圖2 煙霧探測模塊
本系統(tǒng)采用的圖像采集工具是OpenCV攝像頭。OpenCV是一個功能強大的機器視覺模塊,其上搭載了一個Micro Python解釋器[2],因此允許開發(fā)者使用Micro Python編程語言來編寫程序。本系統(tǒng)可以通過板載二自由度攝像頭來獲取現(xiàn)場圖像。
該煙霧探測模塊將STC89C51單片機作為主控芯片,使用煙霧傳感器MQ-2實時采集煙霧濃度,通過模數(shù)轉(zhuǎn)換器ADC0809將煙霧濃度數(shù)據(jù)轉(zhuǎn)換成數(shù)字量輸入單片機STC89C51中,之后在液晶顯示屏LCD1602實時顯示。
煙霧探測電路如圖3所示。其中,IN為MQ-2的輸出,也即為AD轉(zhuǎn)換器的輸入腳。MQ-2型煙霧傳感器輸出的是模擬電壓信號,需經(jīng)過AD轉(zhuǎn)換芯片將其變換成數(shù)字量,才能輸入至單片機小系統(tǒng)STC89C51進行處理。通常情況下MQ-2會輸出一個高電平,一旦檢測到煙霧的存在,MQ-2就會輸出低電平。MQ-2傳感器的電阻值與濃度存在著一定的關(guān)系:logR=mlogC+n(m,n均為常數(shù)),C4與R8組成了一個濾波電路,用來抑制電路中的干擾。
圖3 煙霧探測電路
小車的運動主要包括前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、剎車、左旋、右旋、巡線行駛、壁障行駛等,本系統(tǒng)采用TB6612FNG驅(qū)動芯片來控制小車。TB6612FNG是基于MOSFET的H橋集成電路,其效率高于晶體管H橋驅(qū)動器。相比L293D每通道平均600 m A的驅(qū)動電流和1.2 A的脈沖峰值電流[3],它的輸出負載能力提高了一倍。相比L298N的熱耗性和外圍二極管續(xù)流電路[7],它無需外加散熱片,外圍電路簡單,只需外接電源濾波電容就可以直接驅(qū)動電機,有利于減小系統(tǒng)尺寸。對于PWM信號,它支持高達100kHz的頻率,相對以上兩款芯片的5kHz和40kHz也具有較大優(yōu)勢。
3.1.1 遙控主工作模式
遙控工作模式需要用到藍牙控制小車APP,此APP主要是完成對小車的控制,同時將小車的相關(guān)數(shù)據(jù)通過串口傳輸實時顯示在Android apk的界面上。本系統(tǒng)選用的是Yahboom Robot應(yīng)用控制APP,采用Python語言進行編程。APP通過藍牙串口發(fā)送指令來控制小車的行動,比如前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、停止、左旋、右旋和舵機的任意角度控制。遙控工作模式APP界面如圖4所示。
圖4 遙控工作模式APP界面
小車的遙控工作模式主要功能是實現(xiàn)前進、后退、左轉(zhuǎn)、右轉(zhuǎn)、剎車、左旋和右旋等操作,以及滅火和鳴笛等功能。本系統(tǒng)采用TB6612FNG驅(qū)動芯片來控制小車。其控制流程圖如圖5所示。
圖5 遙控工作模式
另外,APP還為小車增加了避障、巡線和尋光工作模式。APP附加功能模式選擇界面如圖6所示。
圖6 APP控制小車工作模式
3.1.2 巡線工作模式
樹莓派開發(fā)板上電后,啟動紅外巡線功能,小車自動巡黑線行走。巡線工作模式需要使用四路紅外傳感器,利用光的反射特性,當紅外線發(fā)射到黑線上時會被黑線吸收,發(fā)射到其他顏色材料上會有部分反射到紅外傳感器的接收管上,所以要保證傳感器探頭的靈敏度,保證小車在運動過程中檢測黑線的精確度。
在軟件部分,樹莓派開發(fā)板上電后,電機GPIO和巡線傳感器初始化,并將PWM頻率設(shè)置為10kHz。利用硬件初始化函數(shù),在巡線模式運動函數(shù)中完成獲取黑線檢測狀態(tài),并自動調(diào)節(jié)小車運動方向,包括左右大彎、左右最外側(cè)檢測、中間黑線上的傳感器微調(diào)車左右轉(zhuǎn)和4路紅外巡線模塊均檢測到黑色加速前進。巡線工作模式軟件工作流程圖如圖7所示。
圖7 巡線工作模式軟件工作流程圖
3.1.3 避障工作模式
該工作模式用到了初始化函數(shù)和紅外避障模式運動函數(shù),紅外避障模式運動函數(shù)又包括避障傳感器獲取狀態(tài)函數(shù)和小車檢測指令運動函數(shù)。
系統(tǒng)上電后,將電機GPIO和紅外避障傳感器初始化,紅外傳感器若未檢測到障礙物,則直線行駛;若左邊傳感器檢測障礙物時,小車向右轉(zhuǎn);若右邊傳感器檢測到障礙時,小車向左轉(zhuǎn)。避障工作模式工作流程圖如圖8所示。
圖8 避障工作模式軟件工作流程圖
3.1.4 尋光工作模式
樹莓派開發(fā)板上電后,啟動尋光行走功能,當兩路光敏電阻均檢測到有光時,小車前進;當左側(cè)檢測到有光時,小車左轉(zhuǎn);當右側(cè)檢測到光時,小車右轉(zhuǎn);當左右兩側(cè)均未檢測到光線時,小車停止。利用設(shè)備初始化函數(shù),將電機GPIO和尋光GPIO初始化,并將PWM頻率設(shè)為10kHz。在尋光運動函數(shù)中嵌套獲取尋光狀態(tài)函數(shù)、小車指令左轉(zhuǎn)、小車指令右轉(zhuǎn)、小車運動和小車停止函數(shù)來實現(xiàn)尋光行走的業(yè)務(wù)。尋光工作模式軟件流程圖如圖9所示。
圖9 尋光工作模式軟件流程圖
本系統(tǒng)利用OpenCV庫來實現(xiàn)視頻拍攝功能。上電后,啟動藍牙連接,操作者就可以根據(jù)通過攝像頭查看當前環(huán)境,攝像頭可以做到對物體、人臉和顏色等進行識別,本系統(tǒng)主要用到物體識別。OpenCV攝像頭軟件流程圖如圖10所示。
圖10 OpenCV攝像頭軟件流程
3.3.1 煙霧探測器的主程序
上電后需要先給煙霧傳感器進行預(yù)熱,進行初始化。初始化結(jié)束后,煙霧探測器進入待測狀態(tài),煙霧濃度大小經(jīng)ADC0832轉(zhuǎn)換成數(shù)字數(shù)據(jù),再經(jīng)顯示器顯示出來,主程序流程圖如圖11所示。
圖11 主程序設(shè)計
3.3.2 煙霧濃度讀取設(shè)置
系統(tǒng)硬件首先對各個模塊初始化,再讀取AD轉(zhuǎn)換后的實時煙霧濃度值,并判斷當下的煙霧濃度范圍,然后執(zhí)行相應(yīng)的指示控制,判斷按鍵是否被按下,如果沒有按下,就繼續(xù)讀取AD轉(zhuǎn)換的煙霧濃度值;如果按鍵處于按下狀態(tài),則需要設(shè)置相對應(yīng)的參數(shù)值,液晶屏同時實時顯示設(shè)置的數(shù)值。煙霧濃度讀取流程如圖12所示。
圖12 煙霧濃度讀取設(shè)置
將本系統(tǒng)置于6種不同環(huán)境中進行測試,OpenCV成像系統(tǒng)所拍攝的視頻分辨率為640×480,幀率為每秒25幀,可清楚地看到現(xiàn)場情況。煙霧濃度檢測的結(jié)果如表1所示。
表1 煙霧濃度測試結(jié)果
3 4 4 0 4 5 5 0 5 7 7 0 6 9 8.9 1.1
測試結(jié)果表明:此煙霧檢測器能夠準確快速地檢測出環(huán)境中煙霧濃度,誤差范圍為0%~1.1%,所拍視頻能夠使操作者看清楚環(huán)境情況,達到了預(yù)期目的。
本文設(shè)計了一款集遙控、現(xiàn)場視頻拍攝和煙霧濃度檢測于一體的火災(zāi)探測器,本系統(tǒng)可用于在較惡劣的環(huán)境代替人進行火災(zāi)探測,采用手機APP結(jié)合樹莓派開發(fā)板進行總控制,OpenCV攝像系統(tǒng)拍攝現(xiàn)場視頻,基于51單片機控制的MQ-2進行煙霧探測。實驗表明,整個系統(tǒng)具有低功耗以及運行穩(wěn)定的優(yōu)點,操作者可通過手機觀察到現(xiàn)場實際情況、獲取到較精確的煙霧濃度值,達到了設(shè)計目的。