文献标识码:A
DOI:10.16157/j.issn.0258-7998.2017.04.023
中文引用格式:王亚娜,蔡成林,李思民,等. 基于行人航迹推算的室内定位算法研究[J].电子技术应用,2017,43(4):86-89,93.
英文引用格式:Wang Yana,Cai Chenglin,Li Simin,et al. The research on indoor positioning algorithm based on pedestrian dead reckoning[J].Application of Electronic Technique,2017,43(4):86-89,93.
0 引言
目前已有大量关于室内定位技术的研究,包括红外技术IR[1]、无线局域网WLAN[2]、蓝牙技术Blue Tooth[3]、计算机视觉Computer Vision[4]等。而基于自包含传感器的定位技术是近几年比较热门的一种室内定位手段,其突出优势在于可抗干扰地提供实时、连续、精准的位置信息。
目前国内外已有不少对基于自包含传感器的定位技术的研究。FOXLIN E[5]等人提出基于惯性测量单元(Inertial Measurement Unit,IMU)的传统导航机制,通过将加速度两次积分得到行走距离,将陀螺仪积分得到航向变化值,最终得到较为精确的定位结果,然而其高精度性能的基础是价格昂贵的IMU,在行人定位中并不能普及;LEVI R W和JUDD T[6]提出了行人航迹推算(Pedestrian Dead Reckoning,PDR)算法来实现行人定位,该算法利用加速度信号的周期性来确定用户的步频,采用相关模型估计步长,利用从陀螺仪获得的方向信息推算出行人的速度、位置和距离等信息,算法简单,比传统惯性导航机制的定位精度更高。然而,为了得到明显的行人步频特性,采集原始数据时需将传感器固定在腿部,在实际生活中并不实用。
基于上述原因,本文从新的角度提出一种基于PDR的室内定位方法,并且设计了相应的基于Android平台的数据采集软件,行走时以正常持手机的方式即可采集到数据,这种手持式的数据采集方式在不影响精度的情况下,可以提高PDR算法的实用性。
1 PDR定位原理
PDR算法的基本原理是利用加速度信号的周期性来确定用户行走时的步频,采用相关模型估计步长,结合从角度传感器获得的方向信息推算出行人的位置、距离、速度和方向等信息[7]。该算法包含4个核心问题:步频探测、步长估计、方向确定和位置计算。
2 步频探测算法
正常人行走时的加速度具有周期性,本文采用峰值探测和零点交叉法来确定行人的步频。为了避免系统误差,忽略加速度计具体朝向带来的影响,计算时采用三轴总加速度,这样三轴加速度值的波形就保持在一个固定的数值范围[0,2g]内变化[8]。
步频探测算法步骤如下:
(1)初始化,获取加速度数据;
(2)初始化滑动窗口,剔除重力加速度值并平滑;
(3)零点探测;
(4)峰值探测;
(5)如果探测到的峰值大于预设的峰值阈值,且相邻两个峰值之间的时间差大于规定时间阈值,该峰值记为有效峰值[9];
(6)探测跨步结束点,统计步频。
3 步长估计算法
其中,β是比例因子,定位之前将得到的训练数据经最小二乘法拟合得到。
4 方向估计算法
4.1 陀螺仪估计方向角
表征姿态有很多种方法,本文选取四元数来确定行人方向角。基于四元数的刚体运动学方程如式(3)所示:
假设在一个采样周期内角速度是常量,对式(4)求差分可得离散域的四元数公式,如式(5)所示:
4.2扩展卡尔曼滤波器实现
本文用EKF来融合各传感器数据,以提高方向角的解算精度。EKF模型如式(6)所示[11]:
观测方程表明,状态矢量和测量矢量之间的关系是非线性的,将式(8)线性化可求得关系矩阵[12]。
5 位置估计
在二维平面内,行人的运动轨迹可由步长和方向角计算得到。本文简化了定位问题,将行人运动模型简化为行人运动方向估计和步长的估计[13]。若已知起始时刻的位置坐标为(E(t0),N(t0)),那么ti时刻的位置坐标为:
6 仿真结论
为了验证算法的性能,开发了基于Android操作系统的数据采集软件,并且用MATLAB软件对上述算法进行仿真实验。选择华为手机为数据采集设备,数据的采集频率是50 Hz。实验场地选择大学图书馆四楼的走廊,其平面结构图如图1所示,三角形标注为起点,围绕走廊一圈的虚线是预先设定的参考轨迹,实验人员手持手机沿着该轨迹进行数据测试,最后将得到的数据信息在MATLAB软件中利用上述算法进行处理。
6.1 步频检测
首先检测步频探测算法的性能,本文采用过零点检测和峰值检测来确定步频,最后检测到的峰值个数即为行人的步频。对加速度数据处理后的仿真结果如图2所示,图2(a)是经处理的加速度波形图,图2(b)是图2(a)的局部放大图。加速度波形中的小圆圈表示检测到的峰值。统计圆圈的个数即可得到步频。该结果表明步频检测的准确率接近100%。
6.2 步长估计
本次试验用8个人的8组数据来检测步长估计算法的性能,每次测试者行走的总长度是20 m。表1是8组数据分别对应的解算距离以及误差。表1的数据表明该步长估计算法的精度可以达到1 m。
6.3 航向估计
图3是由EKF算法得到的行人方向角,图中虚线表示参考方向,在试验之前已经确定,实线表示由MATLAB软件仿真得到的结果。图3表明经EKF解算得到的方向角与参考方向基本一致,由此表明EKF算法可以解算出较高精度的方向角。
6.4 定位结果
测试之前先在走廊进行磁力计校准和步长估计模型的训练,完成后沿预定的参考轨迹行走一圈,最终回到起点。将测量到的数据在MATLAB仿真软件中进行处理,由PDR算法得到的行走轨迹如图4所示。
图4中实线表示的是参考轨迹,虚线表示由PDR算法在MATLAB中仿真得到的实际轨迹。由于传感器和算法等本身存在的误差,使得解算轨迹(虚线)与参考轨迹(实线)有些许偏差。然而,在精度允许范围内定位到的轨迹与参考轨迹基本吻合,定位精度优于2 m,从而验证该算法能够成功实现室内高精度定位。
7 结论
本文详细讨论了PDR算法的跨步探测、步长估计、方向角以及位置的估算方法,最后开发了基于Android平台的数据采集软件。在此基础上,利用学校图书馆走廊进行了基于手机传感器的室内定位实验。实验结果表明,该种定位方法是可行的,且定位精度优于2 m,有很大的实用价值。
参考文献
[1] 王小辉,汪云甲,张伟.基于RFID的室内定位技术评述[J].传感器与微系统,2009,28(2):1-3.
[2] 张明华.基于WLAN的室内定位技术研究[D].上海:上海交通大学,2009.
[3] 陈国平,马耀辉,张百珂.基于指纹技术的蓝牙室内定位系统[J].电子技术应用,2013,39(3):104-107.
[4] 于秀芬,段海滨,龚华军.移动机器人视觉定位方法的研究与实现[J].数据采集与处理,2004,19(4):433-437.
[5] FOXLIN E.Pedestrian tracking with Shoe-Mounted Inertial sensors[J].IEEE Computer Graphics & Applications,2005,25(6):38-46.
[6] LEVI R W,JUDD T.Dead reckoning navigational system using accelerometer to measure foot impacts[P].US:US5583776,1996.
[7] 陈伟.基于GPS和自包含传感器的行人室内外无缝定位算法研究[D].合肥:中国科学技术大学,2010.
[8] KANG W,HAN Y.SmartPDR:Smartphone-based pedestrian dead reckoning for indoor localization[J].IEEE Sensors Journal,2014,15(5):1.
[9] TIAN Z,ZHANG Y,ZHOU M,et al.Pedestrian dead reckoning for MARG navigation using a smartphone[J].Eurasip Journal on Advances in Signal Processing,2014(1):1-9.
[10] KAKIUCHI N,SUNAGAWA K,KAMIJO S.Pedestrian dead reckoning for mobile phones using magnetic deviation map[J].Ieice Transactions on Fundamentals of Electronics Communications & Computer Sciences,2015,E98-A(1):313-322.
[11] 周亮,付永涛,李广军.无线定位与惯性导航结合的室内定位系统设计[J].电子技术应用,2014,40(4):73-76.
[12] 郑学理,付敬奇.基于PDR和RSSI的室内定位算法研究[J].仪器仪表学报,2015,36(5):1177-1185.
[13] TIAN Q,SALCIC Z,WANG I K,et al.A multi-mode dead reckoning system for pedestrian tracking using smartphones[J].IEEE Sensors Journal,2016,16(7):2079-2093.
作者信息:
王亚娜,蔡成林,李思民,于洪刚
(桂林电子科技大学 信息与通信学院,广西 桂林541004)