基于地磁指纹和PDR融合的手机室内定位系统*
2018-02-05李思民蔡成林王亚娜邱云翔黄艳虎
李思民,蔡成林,王亚娜,邱云翔,黄艳虎
(桂林电子科技大学信息与通信学院,广西 桂林 541004)
随着全球卫星导航系统GNSS(Global Navigation Satellite System)技术日益成熟,它已成为室外定位的最佳选择,在测绘、航空、航海、交通、气象等诸多室外环境中被广泛应用。但在建筑物、矿井、隧道、地下、水下等室内环境中,由于信号的遮挡,存在GNSS不可用的问题[1]。室内定位作为导航定位的“最后一公里”,近年已成为导航界研究热点,也是导航与位置服务的核心问题。
目前主流室内定位技术大都需要部署足够多的节点才能确保定位的精确性和稳定性,其中最具代表性的有WIFI[2]、UWB[3]、蓝牙[4]和RFID[5]室内定位方法,由于它们需要部署额外的设备导致部署成本太高,不适合大规模使用。地磁定位无需部署任何信标节点,具有全天候、低成本等特征,其原理是地球磁场受到室内钢筋混泥土、电缆、各类电磁设备等影响,使其产生异常,造成室内磁场高度不均匀,地磁定位就是利用室内异常磁场进行定位[6]。
近年来,国内外对地磁定位的研究已经取得了一定的成果,宋镖[7]等人设计了惯导辅助地磁的手机室内定位系统,以最小距离度量法校正惯导的累积误差,并达到了1 m的定位精度。但在地磁指纹库的采集方法上有不足之处,需要在划分的每个网格上单独采集地磁指纹信息,在大范围的室内环境中十分耗时;杨增瑞[8]等人和谢宏伟[9]等人设计了磁场指纹辅助的手机室内定位系统,通过波峰检测、粒子滤波等方法,实现了室内2 m的定位精度。但由于行人在不同行走状态下的加速度峰值不同,使用波峰检测法探测步频具有局限性;Subbu[10]等人在研究不同结构的磁场模型的基础上,提出了LocateMe室内定位系统,但是只能够粗略定位用户在哪一个房间。Haverinen[11]等人设计了一种粒子滤波融合的室内定位方法,能够同时应用于机器人和行人定位,但是这个方法有较大的局限性,要求设备朝向和建筑物的方向相同;Bilke[12]等人设计了一种能够应用任何二维空间的地磁定位系统,实现了室内平均4 m的定位精度,但地磁指纹精度受设备姿态影响较大,且需要收集每一点各个方向的地磁读数,实用性较低。
针对上述问题,本文设计了一种基于地磁指纹和PDR融合的手机室内定位方法。采用自相关法探测行人不同步态下的步频,在每个完整步态周期内采用粒子滤波估计当前位置。该方法能够满足室内定位的精度要求,具有实际应用价值。
1 地磁指纹和PDR融合定位原理
本文主要是利用地磁指纹和PDR融合的方法实现室内定位。传统的惯性导航是通过测量载体的加速度,经过二次积分得到相对位置,再采用零速修正法(ZUPT)对误差进行修正。但由于手机内置的惯性传感器精度较低及行人行走步态的不稳定性,无法准确探测零速区间,这会使得定位误差随着时间的平方增加,即使目标不移动,误差也会一直累积。行人航迹推算(PDR)是根据行人的步态特征进行位置估计,它通过探测步频判断行人是否在移动,相比传统的惯性导航,其定位误差只与行人的行走距离有关,与时间无关。
图1 地磁指纹和PDR融合的室内定位系统框图
地磁匹配是利用地磁指纹库进行定位,分为离线阶段与在线阶段两个部分[13]。在离线阶段,首先采集载体活动区域内的地磁信息,通过插值算法建立高精度地磁指纹库,并保存在计算机中;在线阶段,首先通过PDR估计出粗略位置,并采集前后两步的地磁数据,然后将采集到的地磁数据与地磁指纹库进行比较,并求解出最优匹配位置。地磁指纹和PDR融合的室内定位系统框图如图1所示。
2 PDR定位原理
PDR定位原理就是通过采集手机内置的加速度计、陀螺仪和磁力计信息,获取行人的步频、步长及航向,再根据前一时刻行人的位置推算出当前时刻载体的位置,原理框图如图2所示。假设行人初始位置P(t0)的坐标为(E(t0),N(t0)),跨步后的步长为L(t0),航向角为γ0,则可以按照式(1)推算出从初始位置到第n步的轨迹[14]。
(1)
式中:E(tn)和N(tn)分别表示行人在ENU坐标系下的东向和北向坐标,Li表示从ti-1到ti的步长,γi表示单个跨步内的航向角,在实际使用过程中,通常假设行人在单步之内的航向角是不变的,根据经验可知,这个假设是合理的。
图2 PDR原理框图
图3 不同行走状态加速度波形
2.1 步频探测
由于行人行走时的加速度波形会呈现出周期性特征,因此可以利用加速度探测行人的步频。目前常用方法是过零点峰值检测法,通过设置零点阈值和峰值阈值判断行人是迈出该步,该方法实现简单、复杂度低[15]。但行人行走时会将手机放置在身上的不同部位,且不同部位呈现出来加速度的零点阈值和峰值阈值不同。图3是行人在不同行走状态下通过平滑滤波之后的三轴总加速度波形,通过波形可以看出如果使用固定的零点阈值和峰值阈值将无法准确探测步频。
行人的运动状态可以分为行走和空闲。行走状态是指将手机放在口袋、拿在手上行走或使用的状态下行走。空闲状态是指行人位置没有变化的一种运动,包括坐立、身体旋转、使用手机的基本手势动作等等。
本文采用的自相关法探测步频,主要分为两个步骤:标准差计算和自相关系数计算。其原理是通过式(2)和式(3)计算标准差判断行人是否为空闲状态,若为行走状态,则利用式(4)和式(5)求出加速度序列的相关性判断行人是否跨出该步。
(2)
(3)
式(2)中:a表示三轴总加速度,ax、ay、az分别表示x,y,z3个轴的加速度值。式(3)中:σ、u分别表示总加速度序列{a1,a2,…,aN}的标准差和均值。根据总加速度标准差可以判断行人的状态是否为空闲状态。图4是在手机采样频率20 Hz的情况下,以1 s为周期统计行走和空闲两种状态的标准差5 000次的分布图。可以看出当标准差低于0.5时,行人的处于空闲状态下的概率大于90%。
图4 行走与空闲状态的整体加速度标准差分布图
在计算标准差之后,如果行人处于行走状态,再利用式(4)求解整体加速度的自相关系数[16]:
(4)
式中:u(m,t)和σ(m,t)表示总加速度序列{ak,ak+1,…,ak+t-1}的均值与标准差。当时间t接近行人的步态周期时,x(m,t)的值接近1。然而不同的行人的跨步周期不同,需要设置一个加框算法求解出最佳的相关系数。根据行人的运动特征,正常行人的步频为1 Hz~3 Hz,因此本文设置t的范围为0.3 s~1.0 s。
(5)
图5是在手机采样频率20 Hz的情况下,以1 s为周期统计行走和空闲两种状态的相关系数各5 000次的分布图。可以看出,当相关系数大于0.7时行人处于运动状态的概率大于97%。
图5 行走与空闲状态的整体加速度自相关系数分布图
综上所述,相关法检测法探测主要分为两个步骤:首先检测一个步态周期内总加速度的标准差σ,如果小于0.5,则不做计步处理;若标准差σ大于0.5,则需要判断相关系数ρ(m,t),若ρ(m,t)大于0.7则跨步有效并记录该步,否则不做计步处理。
表1比较了相关系数和过零点峰值检测两种方法步频探测的准确性,从实验结果可以看出,当运动状态为手中摆动时,由于实际数据的零点比预设的零点阈值要高,采用过零点峰值检测法会导致探测失败。相比而言,相关系数法能够准确的探测行人不同状态下的步频。
表1 步频实验结果
2.2 步长估计
目前常用的步长估计模型可以分为两类:线性步长估计模型和非线性步长估计模型。本文采用的非线性步长估计模型[17]如式(6)所示。
(6)
式中:Amax和Amin分别表示一步内的加速度最大值和最小值,K是模型系数,在定位之前需要离线对系数K进行训练。该模型只有一个参数,其系数K不需要经过复杂的处理获得,较容易在实时估计算法中实现。
为了验证步长估计模型的有效性,实验者首先在20 m的直线上分别以慢、中、快的速度行走9次,利用最小二乘法训练系数K。接着在30 m的直线行走4次,实验结果如表2所示,从表中可以看出步长估计模型精度较高。
表2 步长实验结果
2.3 航向估计
使用磁力计直接解算航向角,具有结构简单、抗过载能力强、低功耗,航向误差不随时间累积等优点[18]。但是,磁力计在使用过程中容易受到外界坏境的干扰,比如在室内、矿区、车库等铁磁物质较多的地方,会使磁力计的精度急剧下降。为了提高航向精度,本文采用扩展卡尔曼滤波EKF(Extended Kalman Filter)融合三轴加速度、陀螺仪和磁力计数据估计出行人的航向角。
本文采用四元数去表征手机的姿态,基于四元数的刚体运动方程如式(7)所示,其矩阵形式可以表示为式(8),载体的横滚角(roll)、俯仰角(pitch)和航向角(yaw)可以由式(9)表示[19]。
(7)
(8)
(9)
式中:⊗为四元数乘数运算,Q=[q0,q1,q2,q3]T,q0是四元数的实部,q1、q2、q3是四元数的虚部,ω=[ωx,ωy,ωz]表示陀螺仪3个轴的数值。
扩展卡尔曼滤波的状态方程和量测方程分别表示为式(10)和式(11),状态向量是用四元数Q来表示,测量方程是加速度和磁力计测量数据的组合。
Qk+1=FQk+wk
(10)
(11)
图6是分别比较了手机方向传感器的航向角及扩展卡尔曼滤波之后的航向角,图7是两种方式的误差图,可以看出,经过扩展卡尔曼滤波之后的航向能够有效的减小航向误差。
图7 航向误差
3 地磁定位算法
地磁定位是通过选择地球磁场的某个或者多个地磁要素作为特征量,再利用相关匹配算法进行定位的一个过程。目前常用的是使用地磁强度作为地磁的特征量,它不需要考虑手机的姿态,避免了坐标转换之后带来的误差[20]。相关匹配算法主要是基于最小距离度量法,利用实测的地磁信息和地磁指纹库的地磁信息之差的最小值作为匹配准则。
3.1 室内磁场特性
室内地磁主要是由地球磁场和室内异常磁场组成。本文使用地磁强度作为特征量,在实验之前,应该对地磁强度稳定性进行研究。图8是在在同一条路径下不同时间的地磁强度值,可以看出,某个位置的磁场强度在不同的时间会发生变化,但变化趋势基本是一致的。因此在匹配算法中,使用单个跨步内的地磁强度与地磁指纹库之差的最小值作为匹配准则是不可取的,本文采用两步测量数据之差与地磁指纹库之差的最小值作为匹配准则。
图8 室内地磁特性(同一地点,时间间隔一周)
3.2 粒子滤波
粒子滤波属于非参数化滤波算法,它是基于蒙特卡洛的思想,以样本均值代替积分运算,以有限的粒子数表示状态的后验分布,从而获得状态最小方差估计的过程[21]。由于能够有效处理非线性、非高斯系统,已被广泛应用到各种领域。
粒子滤波主要包括状态方程、量测方程和重采样3个部分[22]。本文室内定位中的系统状态分别为用户位置和航向角,如式(12)所示。
s=(x,y,γ)
(12)
(13)
在所有的粒子都有权重之后,需要滤掉权重低的粒子,这些粒子被认为是与用户真实状态较远。重采样的目的就是为了将粒子都集中到高权重粒子附近区域中,使得粒子群收敛。实际应用中,会有一部分粒子的位置出现在用户不可达的位置上,这种现象称为“穿墙”,在重采样之前,应该剔除“穿墙”的粒子。
最后,通过式(14)对所有粒子的状态加权平均作为用户当前的真实状态。
(14)
图9 粒子滤波算法流程图
4 实验结果及分析
为了验证本文提出的基于地磁指纹和PDR融合的手机室内定位系统的定位性能,本文在实际室内环境中进行实验。实验场景选择在桂林电子科技大学图书馆4楼的走廊进行室内定位导航。
4.1 地磁基准图的采集
在进行室内定位实验之前,需要离线采集实验区域的地磁数据作为地磁指纹库。本文的采集方式是把实验区域划分为若干条直线行走路线,用户在每条直线上匀速行走,记录下行走直线的起点和终点的位置坐标,同时记录下行人的步数,然后将直线划分为若干个点,每个点代表的是一个跨步,跨步内地磁数据为该网格点的地磁指纹。与传统的采集方式相比,不需要在划分好的每个网格内进行采集,能够节约大量时间。图10是自主开发的数据采集应用程序及实验场景图,其中数据采集程序能实时采集三轴加速度计、陀螺仪、磁力计并以excel格式存储在手机。
本文首先设置手机采样频率为20 Hz,然后将实验走廊划分为4个区域,每个区域分别按照图11所示的采集路径分别采集3次。最后,采用三次样条插值对数据进行0.2 m间隔的空间插值,插值后的走廊地磁指纹图如图12所示。其中,黑色的点代表采样点,颜色的深浅代表地磁强度的大小。
图10 数据采集界面及实验场景
图11 地磁指纹采集路径图
图12 地磁指纹图
4.2 室内定位结果分析
实验过程中,假设用户的初始位置已知,用户水平手持手机以20 Hz的采样频率沿长90 m的走廊行走一圈,并将实时采集到的加速度、陀螺仪和磁力计数据存储在手机中。最后将数据导入MATLAB中,并在MATLAB平台上实现地磁指纹和PDR融合的手机室内定位算法的仿真分析。实验对比了PDR的定位结果以及地磁指纹和PDR融合之后的定位结果,如图13所示,从图中可以看出,PDR定位误差随着行走距离的增加逐渐累积,最终严重偏离实际轨迹。本文提出的地磁指纹和PDR融合算法能够实时校正PDR的误差,图14为反复实验20次得出的定位误差分布图,从图中可以看出,定位精度在2 m以内的概率达到了95%,满足室内定位精确的需求。
图13 室内定位效果图
图14 定位误差分布图
5 结束语
本文提出的地磁指纹和PDR融合的手机室内定位算法无需部署任何信标节点,由于使用地磁地磁场进行导航定位,在导航过程不会向外发射能量,因此具有全天候、隐蔽性高、低成本等特征。在步频探测算法上,采用相关法提高了不同步态下步频探测的准确率;在航向估计上,采样扩展卡尔曼滤波提高了航向精度;与传统的地磁指纹库采集方式相比,本文提出的采集方式更加方便快捷。在实际使用中可能会存在较大的地磁平稳区域,这会导致定位精度下降,甚至使定位结果发散,通常采用磁标对地磁平稳区域进行干扰,使室内地磁异常,但这会使成本增加。在未来的研究中,可以使用多个地磁要素作为特征量,在成本不变的情况下提高了指纹的唯一性,同时也解决了初始化位置的问题,进一步提高了系统的稳定性及定位精度。
[1] 王杨,赵红东. 室内定位技术现状和发展趋势[J]. 测控技术,2016,35(7):1-8.
[2] Hong F,Zhang Y,Zhang Z,et al. WaP:Indoor Localization and Tracking Using Wifi-Assisted Particle Filter[C]//2014 IEEE 39th Conference on Local Computer Networks(LCN). IEEE,2014:210-217.
[3] 杨狄,唐小妹,李柏渝,等. 基于超宽带的室内定位技术研究综述[J]. 全球定位系统,2015,40(5):34-40.
[4] 陈国平,马耀辉,张百珂. 基于指纹技术的蓝牙室内定位系统[J]. 电子技术应用,2013,39(3):104-107.
[5] 刘晓叶,徐玉斌. 基于自适应射频指纹地图的WSN室内定位算法研究[J]. 传感技术学报,2015,28(8):1215-1220.
[6] 郭才发,胡正东,张士峰,等. 地磁导航综述[J]. 宇航学报,2008,30(4):1314-1319.
[7] 宋镖,程磊,周明达,等. 基于惯导辅助地磁的手机室内定位系统设计[J]. 传感技术学报,2015,28(8):1249-1254.
[8] 杨增瑞,段其昌,毛明轩,等. 基于磁场指纹辅助的手机室内定位系统[J]. 传感技术学报,2016,29(9):1441-1448.
[9] Xie H,Gu T,Tao X,et al. A Reliability-Augmented Particle Filter for Magnetic Fingerprinting Based Indoor Localization on Smart-Phone[J]. IEEE Trans on Mobile Computing,2016,15(8):1877-1892.
[10] Subbu K P,Gozick B,Dantu R. Locateme:Magnetic-Fields-Based Indoor Localization Using Smartphones. TIST 4,2013:73.
[11] Haverinen J,Kemppainen A. Global Indoor Self-Localization Based on the Ambient Magnetic Field[J]. Robotics and Autonomous System,2009,57(10):1028-1035.
[12] Bilke A,Sieck J. Using the Magnetic Field for Indoor Localisation on a Mobile Phone[M]//Progress in Location-Based Services. Springer Berlin Heidelberg,2013:195-208.
[13] 刘飞,周贤高,杨晔,等. 相关地磁匹配定位技术[J]. 中国惯性技术学报,2007,15(1):59-62.
[14] 陈兴秀,张金艺,晏理,等. 三维复杂运动模式航迹推算惯性导航室内定位[J]. 应用科学学报,2014,32(4):349-356.
[15] Lan K C,Shih W Y. Using Smart-Phones and Floor Plans for Indoor Location Tracking[J]. IEEE Transactions on Human-Machine System,2014,44(2):211-221.
[16] 陈国良,张言哲,杨洲. 一种基于手机传感器自相关分析的计步器实现方法[J]. 中国惯性技术学报,2014,22(6):794-798.
[17] Fang L,Antsaklis P,Montestruque L,et al. Design of a Wireless Assisted Pedestrian Dead Reckoning System—The NavMote Experience[J]. IEEE Trans Instrum and Meas,2005,54(6):2342-2358.
[18] 陈洁,黄庆安,秦明. MEMS磁场传感器的研究进展[J]. 电子器件,2006,29(4):1384-1388.
[19] 米刚,田增山,金悦,等. 基于MIMU和磁力计的姿态更新算法研究[J]. 传感技术学报,2015,28(1):43-48.
[20] Chung J,Donahoe. Indoor Location Sensing Using Geomagne-Tism[C]//Mobisys,ACM,2011:141-154.
[21] 程水英,张剑云. 粒子滤波评述[J]. 宇航学报,2008,29(4):1099-1108.
[22] 胡士强,敬忠良. 粒子滤波算法综述[J]. 控制与决策,2005,20(4):361-371.
[23] Le Grand E,Thrun S. 3-Axis Magnetic Field Mapping and Fusion for Indoor Localization[C]//MFI,IEEE,2012:358-364.