文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.170108
中文引用格式: 張建中,郝允梁,劉海洋,等. 基于STM32單片機(jī)的智能消防機(jī)器人的設(shè)計與應(yīng)用[J].電子技術(shù)應(yīng)用,2017,
43(11):120-123.
英文引用格式: Zhang Jianzhong,Hao Yunliang,Liu Haiyang,et al. Design and application of intelligent fire-fighting robot based on STM32[J].Application of Electronic Technique,2017,43(11):120-123.
0 引言
隨著工業(yè)4.0的時代到來,各國工業(yè)又將迎來飛速發(fā)展的時代,消防機(jī)器人被《機(jī)器人產(chǎn)業(yè)發(fā)展規(guī)劃(2016-2020)》列為十大標(biāo)志性產(chǎn)品。由于機(jī)器人本身的智能性和靈活性,越來越多地被用到實(shí)際生活當(dāng)中[1]。特別是在面對無情的火災(zāi)時,消防官兵無法預(yù)測火災(zāi)事故現(xiàn)場情況,面對易燃易爆、易塌陷、化學(xué)腐蝕、有毒氣體等不明情況時,貿(mào)然進(jìn)入火災(zāi)現(xiàn)場,會很容易給消防官兵的人身安全帶來無謂的傷亡[2]。目前,國際上尤其以美國和日本為主,先后研制出具有偵察功能的消防機(jī)器人Pandor移動機(jī)器人和Guardrobo D1等5種消防機(jī)器人[3],國內(nèi)智能消防機(jī)器人的研制更是剛剛起步。然而,現(xiàn)有的消防機(jī)器人雖然在硬件和軟件上的開發(fā)日趨完善,但還是存在一些缺點(diǎn),如功能化單一、自主智能化差。
迫于實(shí)際應(yīng)用的需求,本文設(shè)計了一種集滅火、冷卻、行走、偵察監(jiān)測、爬坡跨障、數(shù)據(jù)采集、圖像傳輸?shù)榷喙δ苡谝惑w的智能消防機(jī)器人[4]。
1 系統(tǒng)概述
本文根據(jù)實(shí)際應(yīng)用的要求,設(shè)計出一種車體靈巧、操作便捷、人機(jī)互動性優(yōu)越的智能消防機(jī)器人。機(jī)器人采用STM32F407芯片作為主芯片以滿足多功能任務(wù)處理。機(jī)器人外接溫度、氣體、水壓和超聲波等傳感器以及陀螺儀,用來采集火場周圍及車體姿態(tài)的相關(guān)數(shù)據(jù),控制傳輸采用最新的433 MHz數(shù)字通信模塊[5]。在車體內(nèi)部安裝前、后、高清、熱成像4路攝像機(jī)進(jìn)行視頻顯示切換和傳輸,采用7寸分辨率1080×1024高清高亮HDMI接口顯示,無線圖傳使用了高清(HDMI)圖傳模塊,使4路攝像在后臺遙控器上清晰顯示并能實(shí)時錄制。車體設(shè)計自噴淋系統(tǒng),可以在工作時自行降溫,保護(hù)車體內(nèi)部零件不受損壞。
消防機(jī)器人由車體、人機(jī)互動界面、感知系統(tǒng)、運(yùn)動系統(tǒng)、傳感器檢測系統(tǒng)和上、下位通信系統(tǒng)組成[6],其工作原理如圖1所示。操作人員通過人機(jī)互動界面來根據(jù)火災(zāi)現(xiàn)場情況做出相應(yīng)的操作。
2 機(jī)械結(jié)構(gòu)設(shè)計
根據(jù)實(shí)際應(yīng)用的需求,消防機(jī)器人的車體結(jié)構(gòu)設(shè)計考慮既應(yīng)該滿足在平地上行駛,又可以在積水、斜坡、樓梯等復(fù)雜環(huán)境下安全行駛, 消防機(jī)器人還應(yīng)結(jié)合一些特殊的功能:能夠在積水、洼區(qū)中正常行駛,能夠爬坡跨障,可以進(jìn)行原地360°旋轉(zhuǎn)等。綜合以上所有技術(shù)要求,本設(shè)計車體結(jié)構(gòu)優(yōu)選履帶式結(jié)構(gòu)。結(jié)構(gòu)如圖2所示。
履帶式結(jié)構(gòu)與地面接觸面大,附著力強(qiáng),牽引力大,可以在泥濘、積水中行走,具有良好的通過性。整個車體主要構(gòu)架是采用鋁合金鑄造而成,車體輪系部分由導(dǎo)向輪、驅(qū)動輪、托鏈輪、支重輪四個部分構(gòu)成。精密行星減速無刷電機(jī)內(nèi)搭載驅(qū)動輪上,設(shè)計簡單緊湊,方便靈活,載動力強(qiáng);通過運(yùn)用導(dǎo)向輪可以根據(jù)地面摩擦系數(shù)不同來調(diào)節(jié)履帶的松緊度,以適應(yīng)不同的環(huán)境使用;運(yùn)用支重輪可以支撐整個車體及水帶、水炮的重量,減振裝置的設(shè)計減小了車體的顛簸,使車體運(yùn)行更加平穩(wěn),支重輪跟著履帶轉(zhuǎn)動而轉(zhuǎn)動,從而減少了兩者之間的摩擦。根據(jù)車體結(jié)構(gòu)設(shè)計了專門的消防水炮,即在車體底部中間安裝水管,在車體后下部接入水管,通過車前頭安裝的水炮噴射滅火劑,其最大特點(diǎn)是在工作時重心低,噴水時車身穩(wěn)定。
3 控制系統(tǒng)硬件設(shè)計
本產(chǎn)品的控制系統(tǒng)硬件主要由上位機(jī)和下位機(jī)兩部分組成,而上位機(jī)與下位機(jī)都使用以STM32F407芯片為核心的控制板來實(shí)現(xiàn)功能。
上位機(jī)讀取霍爾手柄的控制信號及操作臺各功能控制信號,經(jīng)A/D轉(zhuǎn)換后通過數(shù)傳模塊傳送到下位機(jī)的主控制器中,其中操作手柄的讀取數(shù)據(jù)為坐標(biāo)系中操作手柄位置的實(shí)時坐標(biāo)。
為在下位機(jī)中實(shí)現(xiàn)車體控制功能,首先要分析運(yùn)動邏輯:當(dāng)左右電機(jī)以同轉(zhuǎn)速正轉(zhuǎn)時,車向前運(yùn)動;當(dāng)左右電機(jī)以不同轉(zhuǎn)速正轉(zhuǎn)時,車向左轉(zhuǎn)或右轉(zhuǎn);當(dāng)左右電機(jī)以同轉(zhuǎn)速反轉(zhuǎn)時,車向后運(yùn)動;當(dāng)左右電機(jī)以不同轉(zhuǎn)速反轉(zhuǎn)時,向左后或向右后倒車。如圖3所示,現(xiàn)設(shè)定操作柄右上方為第一象限,手柄推到最遠(yuǎn)位置在第一象限運(yùn)動軌跡為一段圓弧,設(shè)其半徑為a(映射為電機(jī)電壓最大值),手柄實(shí)際位移為b(映射為實(shí)際電機(jī)電壓),單片機(jī)讀取數(shù)值為推桿頂端坐標(biāo)(x,y)的數(shù)值。根據(jù)式(1)~式(3)先后算出b、m、α的值。
式中,m表示左右電機(jī)最大電壓值,α表示操作柄在參考系中操作方向向量的角度。
根據(jù)以上計算所得參數(shù),電機(jī)控制量計算公式如表1所示。
除上述動作之外,還可以令兩電機(jī)轉(zhuǎn)速相同,轉(zhuǎn)向相反以實(shí)現(xiàn)原地旋轉(zhuǎn)功能。
控制臺操作面板除控制車體移動功能外還包括水炮上仰、下俯、左右擺動、切換水流的噴射方式(直流或噴霧)、觀察云臺上仰、下俯、蜂鳴器開關(guān)、剎車開關(guān)、照明開關(guān)等。
下位機(jī)主要由控制板、傳感器、圖傳模塊、電機(jī)驅(qū)動、電源電壓檢測模塊等組成。其主要任務(wù)是:讀取上位機(jī)操作信號,計算出控制量并輸出PWM信號到電機(jī)驅(qū)動器,同時控制水炮、云臺等設(shè)備正常工作;讀取各個傳感器數(shù)值并將其傳送回上位機(jī)。傳感器能夠測得水炮水壓、車體傾角、前后障礙距離、車體溫度等信息,電壓模塊能實(shí)時檢測電池電量,上述數(shù)據(jù)經(jīng)串口讀入下位機(jī)控制板中,再由數(shù)傳模塊發(fā)送至上位機(jī)通過顯示屏顯示。車體具有緊急剎車能力,同時為了防止操作水炮和云臺時對機(jī)械系統(tǒng)造成損壞,為云臺加入機(jī)械限位,水炮則加入了左右限位,同時設(shè)定了自擺功能,開啟時水炮將在限定范圍內(nèi)自動左右擺動。
4 控制系統(tǒng)軟件設(shè)計
4.1 整機(jī)設(shè)計流程
對控制板的編程在Keil環(huán)境下,使用C語言編寫控制程序,由于STM32芯片集成了單周期DSP指令和浮點(diǎn)單元(Floating Point Unit,F(xiàn)PU),提升了計算能力,因此在實(shí)際計算時能夠大大節(jié)約時間,同時它還支持程序執(zhí)行和數(shù)據(jù)傳輸并行處理,數(shù)據(jù)傳輸速率非常快,完全符合設(shè)計要求。
上位機(jī)控制程序流程如圖4所示。上電后,首先對系統(tǒng)初始化,通信模塊初始化,然后開始主循環(huán),當(dāng)使用者在操作臺進(jìn)行操縱時,控制信號將經(jīng)過A/D轉(zhuǎn)換后入單片機(jī)緩存,然后發(fā)送到數(shù)傳模塊并傳輸至下位機(jī);同時單片機(jī)從數(shù)傳模塊中讀取由下位機(jī)檢測得到的傳感器數(shù)據(jù)并發(fā)送給數(shù)字顯示屏。
下位機(jī)控制系統(tǒng)程序流程如圖5所示,同樣先進(jìn)行初始化,然后依次讀取傳感器內(nèi)的數(shù)據(jù)并將其放置在寄存器中,每隔一段時間將寄存器內(nèi)數(shù)據(jù)通過無線數(shù)傳發(fā)送至上位機(jī)以供顯示。當(dāng)接收到上位機(jī)控制信號后,首先計算出左右電機(jī)的實(shí)際控制量,并轉(zhuǎn)換成對應(yīng)的PWM控制信號,然后通過串口將各個部分傳送出去。
4.2 圖像處理的白化算法
機(jī)器人圖像處理方法有很多種,本文采用“白化算法”來處理機(jī)器人圖像成像所帶來的問題。
消防機(jī)器人在火災(zāi)救險時,會遇到環(huán)境照明強(qiáng)度、物體反射、拍攝相機(jī)等不確定因素的影響,給系統(tǒng)采集圖像清晰度上帶來極大的干擾。為了消除外界不確定因素干擾,本文對圖像進(jìn)行白化處理,將圖像的像素值轉(zhuǎn)化成零均值和單位方差。首先計算原始灰度圖像P的像素平均值μ和方差值δ2:
本文需要的是彩色圖像,需要分別在3個通道計算μ和δ,然后再根據(jù)式(6)分別進(jìn)行像素轉(zhuǎn)化。在搭建的硬件平臺上實(shí)現(xiàn)該白化算法,利用STM32進(jìn)行快速計算與濾波,通過圖像存儲器截取畫面,最終運(yùn)用MATLAB觀察圖像效果。
5 實(shí)際試用與仿真結(jié)果
智能消防機(jī)器人已經(jīng)研制成功,其實(shí)物圖如圖6所示。對機(jī)器人進(jìn)行功能實(shí)際試用與分析:
(1)速度檢測:機(jī)器人在直行道路上行走,速度達(dá)到3 km/h;最大爬坡角為35°,速度能達(dá)到0.9 km/h;機(jī)器人在直線行走大約200 m會有一些小的方向誤差偏移,但是滿足實(shí)際應(yīng)用的要求。
(2)圖像仿真、氣體檢測:圖7根據(jù)MATLAB仿真火災(zāi)現(xiàn)場畫面,屏幕顯示圖像明顯波紋、雪花減少,達(dá)到設(shè)計要求;進(jìn)入火災(zāi)現(xiàn)場,能夠檢測CO、H2S、CH4、NH3、Cl2 5種常見危險氣體的濃度及變化趨勢,并無線傳回控到制臺上的顯示屏,如圖8所示。
(3)水炮檢測:給機(jī)器人安裝上水帶,把水壓調(diào)到0.8 MPa,水能噴射到70 m的位置,同時自噴淋系統(tǒng)也將打開,達(dá)到了降溫效果。
6 結(jié)論
本文基于STM32F407芯片設(shè)計了一種第二代智能消防機(jī)器人,經(jīng)試驗(yàn)測試完全達(dá)到設(shè)計要求,實(shí)用性較強(qiáng),成本較低,便于以后升級系統(tǒng)。該機(jī)器人的成功研制能夠有效代替消防官兵沖在第一線進(jìn)行滅火工作。目前,機(jī)器人運(yùn)行高效,穩(wěn)定性高,可以大面積在我國進(jìn)行推廣使用。
參考文獻(xiàn)
[1] ENGIN M.Embedded and real time system design:A case study fire fighting robot[C].Mediterranean Conference on Embedded Computing,2016.
[2] 胡傳平.消防機(jī)器人的開發(fā)與應(yīng)用[J].機(jī)器人技術(shù)與應(yīng)用,2003(5):37-41.
[3] 張晉.消防機(jī)器人結(jié)構(gòu)設(shè)計及其控制系統(tǒng)研究[D].天津:河北工業(yè)大學(xué),2015.
[4] 徐正飛,許春權(quán),頓向明.ZXPJ01型消防機(jī)器人的研制[J].機(jī)器人,2002,24(2):159-164.
[5] 宮晨.多傳感器智能機(jī)器人設(shè)計[D].杭州:浙江大學(xué),2008.
[6] 張曉平,阮曉鋼,肖堯,等.兩輪機(jī)器人具有內(nèi)發(fā)動機(jī)機(jī)制的感知運(yùn)動系統(tǒng)的建立[J].Acta Automatica Sinica,2016,42(8):1175-1184.
作者信息:
張建中1,郝允梁1,劉海洋1,李小俊2,徐運(yùn)祥2
(1.山東科技大學(xué) 電氣與自動化工程學(xué)院,山東 青島266590;2.山東科技大學(xué) 機(jī)械電子工程學(xué)院,山東 青島266590)