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