基于CMOS HMC5883 MPU6050的模擬滅火訓(xùn)練系統(tǒng)
需要注意的是,噴口朝向計(jì)算需要進(jìn)行初始化,初始化的目的是保證在程序啟動(dòng)時(shí),噴口朝向的方向是垂直于屏幕的,否則對(duì)于水平面上角度的檢測(cè)將會(huì)出錯(cuò)。
本文引用地址:http://www.ex-cimer.com/article/281896.htm4 通信與數(shù)據(jù)整合
本套系統(tǒng)共有3個(gè)數(shù)據(jù)采集模塊,分別是:滅火器模塊、1號(hào)攝像頭模塊、2號(hào)攝像頭模塊。這三個(gè)模塊同時(shí)向系統(tǒng)主機(jī)發(fā)送數(shù)據(jù),都是通過nRF24L01無線模塊完成的。
nRF24L01是由NORDIC生產(chǎn)的工作在2.4GHz~2.5GHz的ISM 頻段的單片無線收發(fā)器芯片。輸出功率頻道選擇和協(xié)議的設(shè)置可以通過SPI 接口進(jìn)行設(shè)置,幾乎可以連接到各種單片機(jī)芯片,并完成無線數(shù)據(jù)傳送工作。且功耗很低,接收時(shí)工作電流12.3mA,0dBm功率發(fā)射時(shí)11.3mA,掉電模式時(shí)僅為900nA。是十分簡(jiǎn)單易用的無線數(shù)傳模塊。
本文將3個(gè)數(shù)據(jù)采集模塊端的內(nèi)置nRF24L01模塊設(shè)置成發(fā)送模式,系統(tǒng)主機(jī)端需要插入一塊nRF24L01轉(zhuǎn)USB協(xié)議的接收模塊。該模塊內(nèi)的nRF24L01設(shè)置成接收模式,專門負(fù)責(zé)接收3個(gè)數(shù)據(jù)采集模塊傳送過來的數(shù)據(jù)并將數(shù)據(jù)打包通過USB端口傳給上位機(jī)系統(tǒng)。需要注意的是為了防止3個(gè)數(shù)據(jù)模塊傳送過來的數(shù)據(jù)交叉混亂,接收端nRF24L01需要啟用3個(gè)數(shù)據(jù)通道分別接收來自3個(gè)數(shù)據(jù)采集模塊的數(shù)據(jù)[6]。
收集到3組數(shù)字后,形成新的一個(gè)數(shù)據(jù)包。通過USB-HID協(xié)議發(fā)送給上位機(jī)電腦。數(shù)據(jù)包格式如表1。
數(shù)據(jù)包總共包括17個(gè)字節(jié)。第0位和第16位分別是開始和結(jié)束位。數(shù)據(jù)位1~4是1號(hào)攝像頭捕捉到的信息,分別代表橫坐標(biāo)的高地位和縱坐標(biāo)的高地位。5~8位是2號(hào)攝像頭捕捉到的信息。數(shù)據(jù)位9~14位是航姿檢測(cè)捕捉到的角度信息,分別代表X,Y,Z三軸的旋轉(zhuǎn)角度信息。第15位代表滅火器按壓信號(hào)。接收模塊展示如圖4。
在取得3組數(shù)據(jù)后,上位機(jī)需要通過3組數(shù)據(jù)計(jì)算出滅火器噴口射出的射線打在屏幕上的點(diǎn)的位置。首先我們?nèi)?號(hào)攝像機(jī)的空間坐標(biāo)為P1,2號(hào)攝像機(jī)的空間坐標(biāo)為P2。我們約定P1,P2的連線是平行于屏幕水平面的。根據(jù)點(diǎn)P1和1號(hào)攝像頭傳輸?shù)臄?shù)據(jù)(cx2,cy2)可以確定唯一一條直線,,其中d1為1號(hào)攝像頭指向紅外點(diǎn)的方向向量量。同理可由P2,(cx2 ,cy2)得到。通過解方程
可求得:
t1為直線上到最近的點(diǎn)與P1的距離。
理論上,應(yīng)為兩臺(tái)攝像機(jī)看到的是同一個(gè)LED燈,所以直線和必有一交點(diǎn)。實(shí)際由于圖像識(shí)別誤差等原因,和不一定相交。本文可以通過取,得到(cx1,cy),(cx2,cy)。重新計(jì)算和,解方程后通過t1求得兩條直線的焦點(diǎn)P3。此點(diǎn)即為滅火器模型噴口上紅外點(diǎn)的空間坐標(biāo)。
最后通過模型滅火器模塊測(cè)得的噴口朝向(一組歐拉角),轉(zhuǎn)化成方向向量d3??梢缘玫降谌龡l射線。這條射線可視為噴口射出的彈道線。
5 火災(zāi)模擬軟件
火災(zāi)模擬訓(xùn)練的上位機(jī)程序通過游戲引擎Unity編寫。Unity是一款多平臺(tái)、綜合性游戲開發(fā)工具。模擬訓(xùn)練的場(chǎng)景模型通過3dsMAX建模并導(dǎo)入U(xiǎn)nity[7]。
系統(tǒng)啟動(dòng)后,根據(jù)前一章介紹的方法計(jì)算出滅火器噴口射出的彈道線落在屏幕上的實(shí)時(shí)位置,再加上滅火器模型的噴氣按壓信號(hào),訓(xùn)練者可以完成在大屏幕上的選中、確認(rèn)操作。實(shí)現(xiàn)通過滅火器與投影屏幕的互動(dòng)工作。
同時(shí),本系統(tǒng)設(shè)計(jì)了多個(gè)火災(zāi)發(fā)生場(chǎng)景,包括廚房、客廳、臥室等。針對(duì)不同的起火原因,引導(dǎo)受訓(xùn)者選擇不同類型的滅火器,正確的撲滅火災(zāi)。通過噴口定位系統(tǒng)可以更好地指導(dǎo)訓(xùn)練者在使用滅火器時(shí)應(yīng)注意的一些事項(xiàng)。如使用滅火器滅火時(shí)應(yīng)距離起火點(diǎn)多遠(yuǎn),噴口應(yīng)對(duì)準(zhǔn)火焰的上方還是下方。
6 結(jié)論
針對(duì)滅火模擬訓(xùn)練的需求,結(jié)合虛擬現(xiàn)實(shí)、室內(nèi)定位、航姿檢測(cè)等技術(shù),實(shí)現(xiàn)了模擬滅火訓(xùn)練系統(tǒng)。該系統(tǒng)應(yīng)用100寸投影大屏,讓訓(xùn)練者身臨其境,感受火災(zāi)現(xiàn)場(chǎng)氛圍。同時(shí)模擬滅火器不僅可以作為訓(xùn)練道具,還提供了精準(zhǔn)的人機(jī)交互功能,操作性強(qiáng)。為解決以往滅火訓(xùn)練不安全、不經(jīng)濟(jì)、不環(huán)保等問題提供的新的思路。
參考文獻(xiàn):
[1]張?jiān)泼?陳蕾.基于虛擬現(xiàn)實(shí)技術(shù)的滅火救援訓(xùn)練系統(tǒng)[J].消防科學(xué)與技術(shù),2010,(11):996-997
[2]王興波,袁狄平,靳學(xué)勝.滅火救援行動(dòng)單兵仿真模擬訓(xùn)練系統(tǒng)研究[J].系統(tǒng)仿真學(xué)報(bào),2014,26(6):1137-1138
[3]李文斌.基于DSP的射擊訓(xùn)練系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].成都:西南交通大學(xué),2009: 4-7
[4]武麗敏,蘇寒松.蔡桂方/數(shù)字實(shí)景游戲中的智能紅外激光槍系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2011,5:103-106
[5]孫麗,秦永元.捷聯(lián)慣導(dǎo)系統(tǒng)姿態(tài)算法比較[J].中國(guó)慣性技術(shù)學(xué)報(bào),2006,6:6-8
[6]李輝,宋詩(shī),周建江.基于ARM和nRF24L01的無線數(shù)據(jù)傳輸系統(tǒng)[J].國(guó)外電子元器件,008,12:10-12
[7]黃濤,黃健民.基于Unity3D的虛擬校園漫游系統(tǒng)的研究和實(shí)現(xiàn)[D].廣西壯族自治區(qū):廣西師范法學(xué),2014:5-6
評(píng)論