陳春陽,郭 英,畢京學
(山東科技大學 測繪科學與工程學院,山東 青島 266510)
室內定位是目前智能技術領域的研究熱點,同時也是基礎服務方面的受到高度重視的方面。如何在大型商場、醫院、地下停車場等室內環境復雜區域實現導航定位是目前研究的熱點和難點。在目前研究的室內定位方法中:射頻識別(radio frequency identification,RFID)技術會受到障礙和其他信號影響[1];基于無線保真(wireless fidelity,WiFi)的室內定位需要建立指紋數據庫,這要花費大量人力與時間成本,并且一旦室內布局或者建筑結構發生變化,之前所構建的指紋數據庫將不再適用[2];紅外定位因為紅外線在傳輸過程中易于受物體或墻體阻隔,傳輸距離較短,定位系統復雜度較高,有效性和實用性較其它技術仍有差距[3];紫蜂(Zigbee)定位技術需要布設大量節點,過度依賴于硬件平臺,硬件平臺一旦改變,整個定位模型也必須進行改正[4]。各種方法均存在著不足,而慣性導航具有只依靠傳感器信息不受外界環境影響可實現導航定位的特點,因此,利用智能手機等移動設備實現慣導定位有明顯的優勢和發展前景。
目前智能終端市場上的設備大都包含各種微機電系統(micro electro mechanical system,MEMS)傳感器,移動通訊的快速崛起,智能終端用戶量的飛速增長,為在移動終端上借助這些傳感器進行開發帶來了便利,使室內定位應用范圍也變得更加廣泛[5]。安卓手機安裝了很多監控運動的傳感器,如加速度計、陀螺儀、旋轉向量傳感器等,相關數據都可通過程序獲取。本文主要思路是使用安卓智能手機獲取陀螺儀和加速度計傳感器數據,然后利用陀螺儀數據構建捷聯矩陣,通過旋轉矩陣將內部的加速度信息轉換到外部導航坐標系,最后通過積分計算出位置坐標,實現導航定位。
安卓系統的開源性給科研人員帶來眾多便利,能夠輕易獲取安卓智能手機中的各種信息,極大豐富了數據量。手機中安裝的MEMS加速度計和陀螺儀均為三軸傳感器,一個感知加速度信息,一個感知角速度變化。當手機平放在桌面上時,加速度計會讀取到重力加速度的數值,因此,在測量手機真實的加速度值時,必須去除重力加速度的影響。這可以通過高通濾波器實現,在安卓開發平臺中,去除重力加速度影響的線性加速度數值可以直接得到。相應的獲取線性加速度和陀螺儀數據的安卓主要代碼如下:

明確手機設備自身的坐標系,設為b,如圖1所示,屏幕中心為坐標原點,在屏幕表面上橫向為X軸,豎向為Y軸,垂直于屏幕向上為Z軸,三軸構成右手坐標系。

圖1 手機設備坐標系

四元數是由1個實數單位1和3個虛數單位i,j,k組成的包含4個實元的超復數。若將i,j,k視為基矢量,則可以把四元數分為標量和矢量兩部分組成。其形式為
(2.1)
且
(2.2)
其中q0為標量,q為矢量。

圖2 坐標旋轉示意圖
在不考慮過程的情況下,從n系到b系,將坐標處理為起始點為原點的矢量,將坐標的轉換等效為矢量的旋轉,可以認為n系中的矢量ra繞某一單位矢量n旋轉一個角度σ后,得到b系中矢量rb,如圖2所示。

(2.3)
則矢量ra與矢量rb間的關系滿足:
(2.4)

安卓智能機中的MEMS運動傳感器精度較低,運行過程中不可避免的產生噪聲和漂移,如果直接用于定位計算,將會引入誤差。上述得到的旋轉矢量數據是利用重力加速度計或加速度及進行補償校正后的陀螺儀數據,消除了部分噪聲和漂移的影響。這三個旋轉矢量元素分別表述為xsin(θ/2),ysin(θ/2),zsin(θ/2),其中sin(θ/2)是旋轉的量,旋轉軸的方向是旋轉矢量的方向。得到的旋轉矢量元素是四元數中的后三項q1,q2,q3,由2.2式便可求出q0:


圖3 軟件數據輸出
由于手機中的加速度計和陀螺儀均為三軸傳感器,根據其三軸的分布,將實驗分為下面三種情況:
平放狀態,將手機靜止放在水平桌面上,利用軟件采集0.5 h數據。
側放狀態,將手機側立放置在水平桌面上,利用軟件采集0.5 h數據。
立放狀態,將手機豎立放置在水平桌面上,利用軟件采集0.5 h數據。
分為下面兩種情況:
平穩勻速運動情況下,利用軟件采集10 min數據。
快速運動狀態下,利用軟件采集10 min數據。

圖4 實驗中加速度計輸出數據隨時間的變化
實驗中加速度計傳感器數據輸出情況如圖4所示,在靜止平放的時候,加速度計X、Y軸的輸出數據基本處于±0.1m/s2的范圍內,而Z軸的輸出數據則處于±0.2m/s2的范圍內。同時可以看到隨著時間推移,X、Y軸的輸出數據都產生了向坐標軸負向的偏移,Z軸的輸出數據則基本保持均值為零的狀態。表明手機的加速度輸出數據不穩定,Z軸較X、Y軸來說輸出數據波動較大,同時X軸和Y軸的輸出隨時間變化偏移比較明顯。

圖5 角速度隨時間的變化情況
實驗中陀螺儀傳感器的數據輸出情況如圖5所示,X軸的輸出數據處于±0.02 rad/s的范圍內,隨時間產生向坐標軸正方向的偏移,偏移現象明顯,約六分鐘后所有數據輸出均為正值;Y軸的輸出數據基本處于±0.02 rad/s的范圍內,隨時間產生向坐標軸負方向的偏移,偏移現象明顯,約八分鐘后基本所有輸出值均為負值;Z軸的輸出數據基本處于±0.005 rad/s的范圍內,偏移現象較X、Y軸較弱,但輸出數據也出現了偏向坐標軸正向的偏移。表明實驗中手機陀螺儀的穩定性較差,各個軸向的角速度輸出數據均出現偏移現象,X軸上的偏移現象尤為明顯。

圖6 導航定位處理獲得的手機位置變化情況
圖6為最終經過計算后得出的手機位置信息。從圖6可以看出,由于傳感器輸出數據的偏移,導致最終的導航定位效果很差,除Z軸的數據變化較小外,坐標的X軸和Y軸分量都向一個方向變化,隨時間變化偏移越來越大。
在實驗中發現不同手機存在的偏移情況不同,因此采用不同手機進行實驗,效果較好的一臺獲得數據如下:

圖7 平放靜止狀態

圖8 斜立狀態

圖9 豎立狀態
由上面手機處于不同姿態下三個實驗獲得的坐標變化圖可以看出,不管手機是怎么放置的,位置信息的偏移現象都比較明顯,Z軸的數據比較穩定,X、Y軸的數據偏移的偏移則特別明顯,這與加速度計和陀螺儀的輸出情況一致。同時,經多
次實驗可以看出,X、Y軸的偏移具有不確定性,每次實驗手機位置的偏移情況都是隨機的。
在運動實驗中,由于傳感器輸出數據偏移因素,外部運動信息全部淹沒在誤差當中,效果不顯著,本文中不做分析。
1)手機內的加速度計和陀螺儀傳感器的輸出都存在誤差,在靜止情況下,傳感器的輸出誤差隨時間累積越來越大。
2)手機傳感器的誤差變化具有不確定性,多次實驗傳感器的偏移情況不同。
3)手機傳感器各個軸向的偏移情況不同,實驗中X、Y軸偏移嚴重,Z軸輸出則比較穩定,偏移較小。
實驗中,靜止條件下手機傳感器輸出數據變化波動較大,表明手機內部的傳感器精度較低,穩定性差,在利用陀螺儀和加速度計進行導航計算時,應當利用卡爾曼濾波等方法進行處理,這需要后續進行改進。同時,捷聯式慣性導航本身存在著誤差累積的不足,在后面工作中可以嘗試與WiFi、RFID等技術進行聯合提高定位精度。
[1] 鄭大帥.基于RFID的室內定位算法與實驗研究[D].佳木斯:佳木斯大學,2013:38-52.
[2] 秦泗明.基于位置指紋的WiFi室內定位技術研究[D].成都:電子科技大學,2013:41-57.
[3] 汪苑,林錦國.幾種常用室內定位技術的探討[J].中國儀器儀表,2011(2):54-57.
[4] 李同松.基于ZigBce技術的室內定位系統研究與實現[D].大連:大連理工大學2008:58-63.
[5] 李旭.基于移動設備的室內定位系統的研究與實現[D].杭州:浙江理工大學,2013.6:1-17.
[6] 朱榮,周兆英.基于MEMS的姿態測量系統[J].測控技術,2002,21(10):7-8.
[7] 張榮輝,賈宏光,陳濤,等.基于四元數法的捷聯式慣性導航系統的姿態解算[J].光學精密工程,2008(10):1963-1970.
[8] 孫堯,王庭軍,高延濱,等.旋轉式捷聯慣導系統解算結構[J].中國慣性技術學報,2013,21(1):10-15.