禤永哲 詹萬(wàn)匯 陳少鋒 孫 勁
(廣州大學(xué)華軟軟件學(xué)院 廣州 510990)
目前在室內(nèi)定位領(lǐng)域,室內(nèi)人員的定位主要有GPS 定位、基站定位和WIFI 定位三種[1],但是這三種定位存在以下缺陷:
1)GPS 定位是通過(guò)人造衛(wèi)星進(jìn)行定位的,通常要在室外露天的狀態(tài)下才能進(jìn)行定位,當(dāng)信號(hào)被遮擋或者削減時(shí),GPS 定位會(huì)出現(xiàn)漂移。且GPS 定位其定位的精度低,無(wú)法實(shí)現(xiàn)在小范圍場(chǎng)所內(nèi)運(yùn)動(dòng)的物體進(jìn)行定位[2]。
2)基站定位是通過(guò)識(shí)別網(wǎng)絡(luò)中哪一個(gè)小區(qū)傳輸用戶呼叫并將該信息翻譯成緯度和經(jīng)度來(lái)確定用戶位置[3],只能進(jìn)行模糊的定位,優(yōu)點(diǎn)是在室內(nèi)都能進(jìn)行定位,但是其定位精度很低[4]。
3)WIFI 定位在一定空間內(nèi)布設(shè)能發(fā)出WIFI的熱點(diǎn)設(shè)備,并記錄每個(gè)熱點(diǎn)設(shè)備的坐標(biāo)和設(shè)備號(hào),而定位端只要偵聽(tīng)到每個(gè)熱點(diǎn)之間的信號(hào)強(qiáng)弱,根據(jù)信號(hào)強(qiáng)弱得知物體距離每個(gè)熱點(diǎn)的距離,再結(jié)合每個(gè)熱點(diǎn)的坐標(biāo)進(jìn)行運(yùn)算[5],從而就能計(jì)算出物體此時(shí)所在的位置,但缺點(diǎn)是要事先對(duì)需探測(cè)的區(qū)域布置熱點(diǎn),靈活性差。
故此,本設(shè)計(jì)通過(guò)檢測(cè)人員在室內(nèi)的運(yùn)動(dòng)軌跡,實(shí)現(xiàn)一種以慣性導(dǎo)航為思維導(dǎo)向[6],并和GPS定位相結(jié)合的室內(nèi)定位系統(tǒng)。
一種基于運(yùn)動(dòng)軌跡的室內(nèi)定位系統(tǒng),整個(gè)系統(tǒng)包括移動(dòng)端和終端平臺(tái)端。
移動(dòng)端以54 路輸入輸出,8 位內(nèi)核的Arduino Mega2560 R3為處理器[7],處理器接上九軸傳感器、GPS 定位模塊和HC-24 WIFI 模塊。在移動(dòng)端上,對(duì)數(shù)據(jù)進(jìn)行初步處理。從九軸傳感器上的加速度傳感器、陀螺儀、地磁傳感器獲得的運(yùn)動(dòng)數(shù)據(jù)測(cè)算得出當(dāng)前人員的運(yùn)動(dòng)軌跡,進(jìn)而獲得相對(duì)位置;從GPS 定位模塊也可獲得經(jīng)緯度,進(jìn)而獲得絕對(duì)位置,并可作為為位置定位提供輔助。通過(guò)HC-24 WIFI模塊將信息通過(guò)WIFI網(wǎng)絡(luò)向終端平臺(tái)傳輸。
終端平臺(tái)端由WIFI 發(fā)射器和上位機(jī)組成,是以平臺(tái)上的上位機(jī)為中心,利用高增益天線和無(wú)線路由,通過(guò)WIFI網(wǎng)絡(luò)接收來(lái)自移動(dòng)端的數(shù)據(jù)信息,并對(duì)其進(jìn)行解析和處理,通過(guò)基于C++圖形用戶界面的Qt程序[8]呈現(xiàn)出來(lái)。
圖1 系統(tǒng)總體框架圖
系統(tǒng)的移動(dòng)端上整合了由陀螺儀、加速度傳感器、地磁傳感器所組成的9軸運(yùn)動(dòng)姿態(tài)傳感器[9],通過(guò)此傳感器,我們可以測(cè)出地磁偏角、加速度和物體運(yùn)動(dòng)水平旋轉(zhuǎn)角,將這三組數(shù)據(jù)結(jié)合起來(lái),通過(guò)特定算法計(jì)算可以獲得運(yùn)動(dòng)偏轉(zhuǎn)方位角和運(yùn)動(dòng)向量,這兩個(gè)數(shù)據(jù)最終會(huì)經(jīng)過(guò)事先布置的高增益WIFI網(wǎng)絡(luò)向終端平臺(tái)傳輸。
終端平臺(tái)上搭載Qt 應(yīng)用程序,運(yùn)用OpenGL 開(kāi)放圖形庫(kù)在系統(tǒng)上建立一個(gè)三維直角坐標(biāo)系[10],當(dāng)平臺(tái)每次接收到運(yùn)動(dòng)信息時(shí),會(huì)在三維坐標(biāo)系上通過(guò)三角函數(shù)運(yùn)算以及運(yùn)動(dòng)向量疊加,從而得到人員在室內(nèi)所處的位置,并將室內(nèi)人員不同時(shí)期的一系列位置坐標(biāo)記錄下來(lái),形成運(yùn)動(dòng)軌跡記錄,以此實(shí)現(xiàn)三維室內(nèi)實(shí)時(shí)定位圖。
本設(shè)計(jì)的三維圖形是由三維坐標(biāo)點(diǎn)glVertex3f(x,y,z)構(gòu)成的,通過(guò)方法glBegin(type)開(kāi)始連接各個(gè)坐標(biāo)點(diǎn),而后通過(guò)方法glEnd()結(jié)束連線,形成可視圖形,若在Qt 程序上使用方法qglColor(Qt:color),能改變繪制的線段、圖形的邊線顏色。通過(guò)方法updateGL()實(shí)現(xiàn)圖形界面的實(shí)時(shí)刷新[11],將繪制的三維圖形呈現(xiàn)出來(lái)。
人體在行走的時(shí)候重心會(huì)近似正弦曲線般上下運(yùn)動(dòng)[12],此規(guī)律可用于判斷佩戴設(shè)備的人員是否在行走。通過(guò)九軸運(yùn)動(dòng)姿態(tài)傳感器內(nèi)置的地磁傳感器可以計(jì)算出磁場(chǎng)方向,再通過(guò)陀螺儀獲取傳感器自身的傾斜程度,最后通過(guò)九軸運(yùn)動(dòng)姿態(tài)傳感器內(nèi)部集成的姿態(tài)結(jié)算器將磁場(chǎng)方向和傾斜程度進(jìn)行綜合計(jì)算[13],處理之后直接從傳感器獲取的就是地磁方位角信息,此方位角就是絕對(duì)方向的偏轉(zhuǎn)角度。為此還設(shè)計(jì)了消除初始角度的程序,每次啟動(dòng)移動(dòng)端時(shí),首先會(huì)讀取前300 個(gè)角度數(shù)值,然后拋棄不穩(wěn)定的前20 個(gè)值,將剩下的280 個(gè)值相加,并除以280,從而得到初始角度平均值記為θ ,從第301 個(gè)值開(kāi)始,之后每次獲得的角度都相應(yīng)減去θ ,并將其轉(zhuǎn)換成弧度,最終獲得系統(tǒng)所要用到的相對(duì)的方位角弧度r,并將r 傳到上位機(jī)進(jìn)行處理。
通過(guò)內(nèi)置的加速度傳感器可以獲取到人體運(yùn)動(dòng)時(shí)三個(gè)方向的加速度,這三個(gè)加速度的變化情況可以用于判斷人體行走的步數(shù),步數(shù)可作為統(tǒng)計(jì)間隔。具體實(shí)現(xiàn)為每50ms從傳感器中讀取到x、y、z 軸上的原始加速度,在卡爾曼濾波處理后,可實(shí)現(xiàn)數(shù)據(jù)降噪的效果[14],得到加速度ax、ay、az,之后每次都會(huì)將三個(gè)軸獲取的新值記錄下來(lái)且新的值都會(huì)與上一個(gè)值對(duì)應(yīng)相減,從而得到加速度增量Dax、 Day、 Daz,代 入 以 下 公 式 :得出x、y 、z 軸的加速度向量的模D,如圖2 所示向量模D 的大小反映了人體行走時(shí)重心的頻率,當(dāng)D 值的大于40 的次數(shù)超過(guò)3 次時(shí)記為行走一步。每次當(dāng)有新的行走步數(shù)出現(xiàn)時(shí)會(huì)發(fā)出中斷信號(hào),系統(tǒng)會(huì)根據(jù)此時(shí)段每一步三軸加速度大小來(lái)判斷每一步的步長(zhǎng),步長(zhǎng)就會(huì)作為位移增量S ,將S 傳到上位機(jī)進(jìn)行處理。
圖2 行走時(shí)重心改變頻率指數(shù)
終端平臺(tái)從移動(dòng)端接收到數(shù)據(jù)后,經(jīng)過(guò)數(shù)據(jù)分揀,獲取到設(shè)備佩戴人員正面朝向的方向和設(shè)備啟動(dòng)時(shí)的起始位置正前方所成的相對(duì)夾角弧度r,以及室內(nèi)人員每一步的位移增量S ,并利用三角函數(shù)計(jì)算出x 軸上的位移偏移量Sx,以及y 軸上的位移偏移量Sy。再與上一次計(jì)算得到的坐標(biāo)進(jìn)行疊加運(yùn)算,然后運(yùn)算出當(dāng)前的新坐標(biāo),從而實(shí)現(xiàn)室內(nèi)定位功能。而每個(gè)坐標(biāo)點(diǎn)之間通過(guò)線連接成的線段,正是人員在室內(nèi)的運(yùn)動(dòng)軌跡線段。 Sx、Sy均是由分類討論的方式獲得,具體討論方式如下。
r 為相對(duì)偏轉(zhuǎn)夾角弧度,S 為每一步伐兩腿間的直線距離,Sx、Sy分別為S 在x 軸、y 軸上的偏移分量。
1)若0 ≤r<π 則有
2)若π ≤r<2π 則有
圖3 不顯示軌跡的三維室內(nèi)定位圖
圖4 顯示運(yùn)動(dòng)軌跡的三維室內(nèi)定位圖
當(dāng)移動(dòng)端正處于某個(gè)GPS信號(hào)較好的環(huán)境時(shí),系統(tǒng)會(huì)自動(dòng)通過(guò)GPS 定位模塊獲取到人員當(dāng)前的經(jīng)緯度信息。尤其是在作業(yè)處于就緒狀態(tài)時(shí),設(shè)備處于露天的室外環(huán)境中,若這時(shí)啟動(dòng)系統(tǒng),系統(tǒng)會(huì)通過(guò)GPS 定位模塊獲取此時(shí)人員的經(jīng)經(jīng)度、緯度信息。然后將人員先前測(cè)算出的運(yùn)動(dòng)軌跡與GPS模塊間斷獲取的絕對(duì)經(jīng)緯度信息和百度地圖結(jié)合起來(lái),可實(shí)現(xiàn)在百度地圖上顯示人員的運(yùn)動(dòng)軌跡,從而實(shí)現(xiàn)更加精確的室內(nèi)定位。
圖5 通過(guò)GPS模擬作輔助性定位
本定位系統(tǒng)對(duì)于某些特殊場(chǎng)景下的定位有著重大意義,最典型的場(chǎng)景就消防人員進(jìn)行救援時(shí)所處的火場(chǎng)中?;馂?zāi)現(xiàn)場(chǎng)通常是處在復(fù)雜樓內(nèi)環(huán)境中,因此沒(méi)有良好的露天環(huán)境去接收GPS 信號(hào)[15],僅僅進(jìn)行GPS 定位,更不可能在火災(zāi)發(fā)生時(shí)布置好特定位置的WIFI 熱點(diǎn),所以單純的GPS 定位和WIFI 定位不適用,同時(shí)消防員的運(yùn)動(dòng)范圍一般不會(huì)很大,可能就在一個(gè)小范圍內(nèi)進(jìn)行作業(yè),因此通過(guò)基站定位的精確度也達(dá)不到這個(gè)要求。定位系統(tǒng)可以很好地解決在這種場(chǎng)景下的定位問(wèn)題。上位機(jī)可以將定位信息通過(guò)三維圖像的形式展現(xiàn)給指揮人員看,方便指揮人員了解到各個(gè)消防員現(xiàn)在所處位置,指揮人員能更靈活地指揮現(xiàn)場(chǎng),提高火災(zāi)救援效率。