多传感器融合的行人航位推算方法研究

2021-03-31 09:02:42曹娟崔学荣李娟张国平
微型电脑应用 2021年3期
关键词:波谷步频波峰

曹娟, 崔学荣, 李娟, 张国平

(1.中国石油大学(华东) 计算机科学与技术学院, 山东 青岛 266580;2.中国石油大学(华东) 海洋与空间信息学院, 山东 青岛 266580)

0 引言

在移动互联网技术和通信行业快速发展的推动下,定位服务日益受到人们的关注与应用。相关研究表明,如今人们在室内的时间已经超过70%。但因为室内环境复杂多变,全球定位系统(Global Positioning System,GPS)受建筑物等的遮挡,无法为用户提供较为准确的定位服务。因此研究高精度的室内定位方法是非常有必要的。常见的室内定位技术主要有WI-FI定位[1]、蓝牙定位[2]、ZigBee定位[3]和地磁定位[4]等。这些室内定位技术存在不同缺点,例如信号不稳定、易受干扰、成本高等缺点,所以难以实现广泛推广与应用。

行人航位推算(Pedestrian Dead Reckoning,PDR)[5-6]可在已知初始位置的情况下,推算出行人在任一时刻的位置[7]。PDR定位基于设备中集成的传感器实现完全自主定位,不易受外界环境干扰[8],具有成本低且短时间定位精度高等优点。微机电系统(Micro-Electro-Mechanical System, MEMS)惯性传感器逐渐形成样式小、功耗低的特点[9],这为使用移动终端进行PDR定位提供了可能。

文献[10]中提出了一种借助建筑几何信息实现行人航向的实时补偿方案,通过提高定向精度来抑制定位误差的累积传递。但是借助建筑物信息时可能会引入额外误差;文献[11]利用加速度二次积分及步长滑动窗口法进行在线步长估计的方法,但是加速度二次积分的误差很难消除。文献[12]中,提出了一种基于神经网络和智能手机内置多传感器融合的PDR室内定位方法,但是计算复杂度较高,不适用于手机客户端。通过分析行人运动模型及步行姿态,设计了一种基于零速检测的加速度量测幅值计步算法,实现了载体坐标系和行人地理坐标系的转换,剔除了伪零速现象[13]。虽然该算法的计步准确率和环境适应度较高,但是实验室需要惯性传感器设备绑在脚部,应用性较差。朱庄生等[14]人提出了一种多源信息自适应步态检测算法。该方法通过综合考虑人体运动过程中的加速度信号和角速度信号,根据不同的步态特征通过设定不同的自适应阈值条件实现步数的检测。算法可以适用于不同的运动状态,步数检测的准确率高于峰值检测和阈值检测方法。文献[15]采用的传感器为加速度传感器和电子罗盘,把定位结果与真实路径进行匹配,来减小航向估计的误差,但是地图中采集真实路径时容易带入误差;Fan Qigao等[16]人提出了一种改进的行人航位推算算法,主要包括改进的步长估计和航向估计。使用小波去噪算法对原始信号进行预处理,然后利用多阈值方法以改善步长估计算法,针对航向估计误差和离群值的问题,提出了鲁棒的自适应卡尔曼滤波算法,并结合互补滤波提高定位精度。

本文主要从步频检测和航向判断两方面对PDR算法进行改进。提出了一种相邻波峰(波谷)二次判断及多重阈值联合的步频推算方法以及卡尔曼滤波融合多传感器的航向估计方法。

1 行人航位推算

1.1 行人航位推算

行人航位推算是一个不断累积迭代的过程,通过采集惯性传感器的数据,估计出行人步数、步长和航向信息,用于估算下一步位置。因此,只要知道前一时刻的位置信息,就可以计算出当前位置。令当前时刻的位置为LN,如式(1)。

(1)

2 多传感器融合的行人航位推算方法

2.1 相邻波峰(波谷)二次判断及多重阈值的联合步频推算方法

本文针对步频检测提出了一种相邻波峰(波谷)二次判断及多重阈值联合的步频推算方法。具体算法如下。

(1) 运动状态判断:采用滑动窗口方法求原始加速度的均值和方差,若方差大于某一阈值则认为处于运动状态,否则为静止状态;

(2) 首次判断波峰/波谷:设置校验点,若校验点为波峰/波谷,则对该采样频率内的数据去均值化,寻找波峰和波谷,并设置一次阈值,过滤掉一部分不属于正常行走的加速度值。设置校验点的目的是为了减少计算量;

(3) 寻找相邻波峰/波谷中的最大和最小值:经过上述判断后,从相邻波峰/波谷中寻找最大和最小值,去掉伪波峰和伪波谷;

(4) 二次判断波峰/波谷:根据上一步确定好的波峰波谷的状态,再次判断校验点是否为波峰/波谷,避免伪波峰(波谷)的干扰;

(5) 多重阈值校验:若校验点满足波峰/波谷,则采用滑动窗口法,计算最近三步波峰的均值和方差,若均值和方差以及两次波峰之间的时间差小于某一阈值,经过多次试验最终确定的峰值方差的阈值为σ<5,当前峰值P与均值μ满足P-μ<2,时间差T<300即可认为是走了一步,步数加一。

采集到的原始加速度,如图1所示。

图1 原始加速度信号图

采用该方法处理过的加速度数据,如图2所示。

图2 处理后的加速度信号图

两图对比发现该算法可以很好地过滤掉伪波峰和伪波谷。

2.2 基于卡尔曼滤波的航向判断

方向传感器获取的是绝对方向,不存在误差累积,但磁力计的精度容易受磁干扰的影响,而使航向估计出现误差;陀螺仪短时间内精度高,受环境干扰极小,但存在误差累积。结合两者的优缺点,本文用加速度传感器和磁力计模拟方向传感器,其值作为状态值,用卡尔曼滤波算法与陀螺仪进行融合,减小航向估计中的漂移现象。

卡尔曼滤波常用于线性模型,是一种自回归滤波器,滤波效率很高。滤波过程可以用式(2)和式(3)表示,分为两个过程:时间更新和测量更新。前者实际是一个预测过程,根据先验知识预测当前状态并计算先验估计的协方差,后者是一个更新校正过程。

(1) 预测过程,如式(2)。

Pk-=APk-1AT+Q

(2)

(2) 更新过程,如式(3)。

K=Pk-HT(HPk-HT+R)-

Pk=(E-KH)Pk-

(3)

式中,X表示状态值;Z表示测量值;A和B表示系统状态;K表示卡尔曼增益;P表示预测估计协方差矩阵;Q和R分别表示过程噪声与测量噪声,实验中其初取分别取为0.01和0.05,H为观测矩阵。

3 实验结果与分析

实验时采用不同品牌不同型号的手机进行验证,例如vivo X27、小米6、红米note5、oppo R17等。本文的实验结果以华为荣耀8手机为例,手机系统为Android7.0。实验地点选取中国石油大学(华东)工科楼E座1楼大厅,平面图,如图3所示。

图3 室内平面图

其中实验区域为中间走廊,长为38.5米,宽为12.8米。

对于步频验证实验,在25-200步范围内共采集了8个不同区间的步数。每个步数区间各进行5次试验并取平均值作为最终的步频计数。实验时采集不同身高、不同体重行人的不同行走速度下的步频情况,实验结果,如图4所示。

图4 步频估计结果对比图

实验步数与真实步数较为接近,步数差别在3步左右,准确率为98%。图4中调用系统计步传感器方法是指调用华为荣耀8手机中的TYPE_STEP_COUNTER传感器。该方法采用的是系统回调而非查询的方式,定位初始阶段无法实时获取步数,因此并不适用于PDR定位;波峰(波谷)及时间联合推算方法指波峰(波谷)检测与时间阈值结合。

实验结果表明,改进的相邻波峰(波谷)二次判断及多重阈值联合的步频推算方法的步频最接近真实,使步频估计的准确率得以提高。

采用提出的卡尔曼滤波融合加速度传感器、磁力计和陀螺仪的方法,在多次转弯的情况下平均航向误差为13.6°,比用互补滤波方法的航向估计误差38°有较大提高,与真实值更接近,如图5所示。

图5 航向判断结果图

为验证改进的相邻波峰(波谷)二次判断及多重阈值联合的步频推算方法以及卡尔曼滤波融合多传感器的航向估计方法对于PDR定位的准确性,选取图6中的A点为起始点,沿图中蓝色(深色直线)线条轨迹进行实验。先后经过B、C、D、E和F之后,回到A,如图6所示。

图6 实验结果图

图6中红色(深色虚线)轨迹的航向计算采用本文提出的卡尔曼滤波融合多传感器的方法,步频计算为本文提出的波峰(波谷)二次判断及多重阈值联合的步频推算方法,实验结果为图中的步数1和距离1所示;黄色(浅色虚线)轨迹的航向计算采用互补滤波,步频计算采用回调系统计步传感器的方法,实验结果为图中的步数2和距离2所示。实验中整个轨迹的真实长度为92.5 m,用本文提出的步频推算方法结合多传感器融合的航向判断,单次试验得到的结果为91 m,误差为1.5 m。经过多次试验统计后,平均误差为1.8 m。

4 总结

对于PDR定位,本文从步频检测、航向判断两方面进行了改进,提出了一种相邻波峰(波谷)二次判断及多重阈值联合的步频推算方法,可以较好地过滤掉抖动手机产生的“假步”,步频检测的准确率可达到98%;采用提出的卡尔曼融合多传感器的航向判断方法平均航向误差为13.6°。在多次转弯后,PDR定位误差可以达到1.8 m。

利用文中的方法并不能完全消除PDR定位中的累积误差。文中采用的步长为固定步长,不能根据不同行人自适应步长,会使定位误差较大。因此未来可以研究自适应步长计算方法,根据不同行人计算不同步长,以此来降低误差。

猜你喜欢
波谷步频波峰
板厚与波高对波纹钢管涵受力性能影响分析
苏炳添、谢震业百米跑技术变化特征的比较分析
梅缘稻
作用于直立堤墙与桩柱的波峰高度分析计算
苏炳添60米跑全程节奏研究
苏炳添与世界优秀男子60 m跑运动员步频节奏对比分析
谢震业与世界优秀100m运动员步频节奏比较研究
儿童标准12导联T波峰末间期的分析
基于音节时间长度高斯拟合的汉语音节切分方法
计算机应用(2016年5期)2016-05-14 10:37:23
Dynamic Loads and Wake Prediction for Large Wind Turbines Based on Free Wake Method