摘要:针对室内定位的实际应用需求,提出了基于行人航迹推算算法(PDR)的适用于手机采集数据的室内定位方法。不同于传统的数据采集方法,该种定位方法利用手机得到加速度、陀螺仪以及地磁原始数据,通过分析加速度信号实现步频探测和步长估计。利用扩展卡尔曼滤波器(EKF)融合各惯性传感器数据以提高方向角的解算精度。最后设计了基于Android平台的数据采集软件,可利用手机内置的传感器设备实现数据采集。经实验数据分析,该算法的定位精度优于2 m,在实用的基础上具有较高的定位精度和较低的实现复杂度。

中文引用格式: 王亚娜,蔡成林,李思民,等. 基于行人航迹推算的室内定位算法研究[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)

 

室内定位算法_【好设计论文】基于行人航迹推算的室内定位算法研究相关推荐

  1. 【毕业设计_课程设计】基于机器学习的情感分类与分析算法设计与实现(源码+论文)

    文章目录 0 项目说明 1 研究目的 2 研究方法 3 研究结论 4 项目流程 4.1 获取微博文本 4.2 SVM初步分类 4.3 使用朴素贝叶斯分类 4.4 AdaBoost 4.4.1 二分类A ...

  2. 【毕业设计_课程设计】基于mtcnn的实时高精度人脸检查算法实现

    文章目录 0 前言 1 简介 2 模型理解 3 环境说明 4 代码介绍 5 下载数据 6 运行 7 效果展示 8 最后 0 前言 基于mtcnn的实时高精度人脸检查算法实现 提示:适合用于课程设计或毕 ...

  3. dp聚类算法_【深度】基于残差分析的混合属性数据聚类算法

    CAA 智慧起航,共创未来 聚类分析在医学.图像分割.生物学.电子商务.互联网等领域得到了广泛应用.在实际应用环境中,被聚类的数据通常含有数值属性和分类属性,例如医学检测报告不仅有血压.脉搏等数值属性 ...

  4. java交通信号灯毕业论文范文_信号灯设计论文,关于基于FPGA的交通信号灯控制系统设计相关参考文献资料-免费论文范文...

    导读:本文关于信号灯设计论文范文,可以做为相关参考文献. 文/ 胡桂戎 陕西警官职业学院 陕西 西安 710021 [摘 要]本文采用FPGA 设计,结合了道路传感器,设计了交通信号灯全感应自适应的控 ...

  5. 多目标优化算法_【实验室论文】基于多种群协同演化的约束多目标优化算法

    欢迎关注智能优化与学习实验室 在很多实际问题中,例如科学.工程设计等领域,衡量一个方案的好坏难以用一个指标来判断,需要用多个目标来刻画,且实际问题通常带有约束条件,这类问题被称为约束多目标优化问题,高 ...

  6. java饭堂管理代码论文_[计算机设计精品] 基于java的餐饮管理系统(毕业论文).doc...

    [计算机设计精品] 基于java的餐饮管理系统(毕业论文).doc 还剩 68页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环保 ...

  7. 【毕业设计_课程设计】基于Android的人脸门禁系统

    文章目录 0 项目说明 1 研究目的 2 研究内容及实验结果 3 部分系统界面 4 项目源码 0 项目说明 基于Android的人脸门禁系统 提示:适合用于课程设计或毕业设计,工作量达标,源码开放 1 ...

  8. 【数字图像处理课程设计】基于非深度学习方法实现身份证定位与正反面识别

    文章目录 基于透视矫正与区域特征匹配的身份证图像定位与正反面识别 摘要 实现细节 1.总体流程 2.前景背景分割 3.身份证角点定位 4.透视变换 5.模板匹配 5.1 基于区域颜色匹配的国徽检测 5 ...

  9. 电镀用整流电源设计matlab,基于MATLAB的三相整流电路的仿真研究毕业设计论文

    基于MATLAB的三相整流电路的仿真研究毕业设计论文 西安航空职业技术学院 毕业设计论文西安航空职业技术学院毕 业 设 计(论 文)论文题目:基于 MATLAB 的三相整流电路仿真研究 所属系部:自动 ...

最新文章

  1. Oracle创建用户设置权限
  2. fedora7 常用软件安装
  3. yunos5 linux内核,魅蓝5S、魅蓝5对比看差异 选Android还是YunOS?
  4. win10系统,在安装masm32的时候出现DELETE operation of EXE file has failed 解决方案
  5. 评价最高影片JAVAlibrary_视频 | 手游大神,动画导演,机圈新贵,极客怎么评价《愤怒的小鸟2》?...
  6. html ajax 双引号的问题
  7. 优化技巧一、UITableView加载图片
  8. 文件服务器 重复文件,ftp服务器校验重复文件
  9. Spark —— RDD、DataFrame 与 Dataset
  10. DEP机制的保护原理
  11. Layer表格列根据配置动态显示
  12. 381.O(1)时间插入、删除和获取随机元素-允许重复
  13. element表格序号排序
  14. 计算机求和怎样操作,电脑求和怎么操作
  15. (菜鸟python)统计字符串的字符数和标点数
  16. android手机怎么拍月亮,nubia相机怎么拍月亮 努比亚手机相机拍月亮教程
  17. 计算机图形学-曲线和曲面
  18. PPTV电视怎么安装第三方软件看电视直播方法
  19. Unable to load authentication plugin ‘caching_sha2_password‘
  20. 前端成神之路-HTML

热门文章

  1. 趣味Python——如何帮女朋友快速抢票
  2. 人工智能下的中秋祝福
  3. NVIDIA Jetson TK1 rosrun rviz segmentation fault的解决方法
  4. STM32F1和F4的区别
  5. LeNet实现手写数字识别
  6. ERP、APS、MES 三者之间的关系是什么?
  7. 红绿灯单片机仿真;Keil和Proteus的联合使用仿真;包含免费资源
  8. 痛与快乐有一个代码是什么_痛苦与快乐
  9. Python -- 找出100以内的所有质数
  10. 【Python】时间序列数据分析与预测之Python工具汇总