陈春阳,郭 英,毕京学
(山东科技大学 测绘科学与工程学院,山东 青岛 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.