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