APP下载

融合多源信息的室内定位App的设计与实现

2021-11-10朱律

城市勘测 2021年5期
关键词:抗差步长行人

朱律

(上海市测绘院,上海 200063)

1 引 言

如今,各大公共场所基本部署了一定量的WiFi热点与网关,智能手机都能接收无线保真(wireless fidelity,WiFi)进行定位[1];同时,智能手机一般都配置有加速度传感器、磁传感器、陀螺仪等微型电子机械系统(Micro-Electro-Mechanical System,MEMS)传感器,利用这些微型传感器可以在短时间内获得位置变化信息,即通过行人航迹推算(Pedestrian Dead Reckoning,PDR)来实现室内定位[2]。WiFi定位易受障碍物以及多路径效应等因素的干扰,稳定性较差[3],而PDR定位则存在着严重的误差累积效应[4]。

因此,本文融合上述两种方式进行组合定位,利用Eclipse跨平台开源集成开发环境和Android SDK软件开发工具包,基于JAVA编程语言在安卓智能手机终端开发了室内定位App,实现了WiFi定位与PDR定位的优势互补,获得了更高精度的定位结果。

2 WiFi定位模块

以WiFi接收信号强度(received signal strength indication,RSSI)为观测值,一般包括传播模型法和位置指纹法两类定位方法:传播模型法是指利用信号传输模型将RSSI转化为距离,再进行距离交会[5];位置指纹法分为离线和在线两个阶段,离线阶段建立RSSI与采样位置对应的关系,在线阶段通过位置指纹算法匹配出与实时信号强度最佳匹配的位置[6]。

在传统对数路径损耗模型基础上设计顾及无线接入点位置和随机噪声项的距离交会迭代算法[7],可以提高WiFi距离模型定位的精度;在传统的位置指纹加权K最近邻(weighted K-nearest neighbor,WKNN)算法中,引入灰色关联分析,依据方差信息设计每个无线接入点的计算权值[8],可以提高WiFi位置指纹定位的精度。本文设计的室内定位App中的WiFi定位模块利用上述自主研究的改进WiFi位置指纹定位算法和改进距离模型定位算法,基于安卓智能手机终端分别实现了WiFi数据采集和定位功能。Eclipse开发环境下WiFi距离模型室内定位的设计界面如图1所示,位置指纹定位离线指纹建库界面如图2所示:

图1 Eclipse开发环境下WiFi距离模型定位界面

图2 WiFi位置指纹定位界面

3 PDR定位模块

PDR定位模块主要实现了调用手机中的加速度传感器和磁场传感器来得到行人行走的步数,调用陀螺仪和方向传感器得到行人行走的方向,再结合加速度传感器推估的步长进而得到行人行走的完整轨迹。针对上述主要步骤,本文分别研究算法对获取到的各类传感器的数据进行处理,降低上述步骤中使用的各种惯性传感器存在的随机误差,结果表明使用优化之后的传感器数据能够有效提高行人航迹推算方法的精度和可靠性。

3.1 步数检测

行人的行走步态包括抬脚、跨步、落地,各个方向的加速度表现为波峰与波谷曲线的交替变换,具有一定规律和周期性。所以,步数的检测可以利用加速度传感器来实现[9]。首先通过对加速度传感器三轴的测量值进行低通滤波,可以分离出重力在各个轴上的分量剔除重力干扰后三轴的线性加速度[10]。加速度传感器在三轴输出的波形都具有一定的周期性,但都不十分明显。因此,计算三轴的平方和开根号作为整体加速度来进行分析。由于行人行走的随意性和手机MEMS传感器不高的精度,在加速度传感器采集信号的过程中会产生一定的噪声。为了尽可能减小噪声对判断计步数的影响,采用简单移动平均法(Simple Moving Average Method,SMA)来平滑数据[11]。简单移动平均法将该时刻前的若干个测量值的均值作为预测值,与此刻的测量值共同得到平滑值。经过SMA平滑后,能够比较明显地区分出各步的周期。

3.2 步长估计

在行人前进的过程中,使用动态模型来进行估计。动态模型通过建立人体行走模型分析步长和每个记步周期中身体位移之间的联系,从而获取步长与加速度之间的关系并推算步长的动态变化[12]。行人在正常变速行走的情况下,速度是一个逐渐变化的过程。因而在使用动态模型进行步长估计时,任意时刻前后两步之间步长的差异不会过大。所以,可以借助前一步的步长对后一步的步长进行预测与调整,即使用卡尔曼滤波结合动态估计模型对步长进行修正。

3.3 航向估算

当所处的室内环境中有较强的磁干扰时,磁传感器数据会严重失真,造成一定程度的方位偏离。陀螺仪不受磁干扰的影响,在短时间内通过对输出的角速度积分能够得到精确的方位数据[13],但受制于自身数据漂移的影响误差会随着时间不断累积,并且得到的方位都是相对于初始方向的位置。因此,本文融合加速度传感器,磁传感器和陀螺仪三种传感器共同对行人的方位进行估计,从而削弱室内磁干扰信号和陀螺仪漂移误差带来的影响,得到更可靠的方位角信息。在获得加速度传感器和磁传感器计算的方向值后,将该数据与陀螺仪输出的角速度积分得到的方向值进行融合,使用卡尔曼滤波算法弥补两种方式各自的缺点,得到更符合行人实际行走情况的航向角。融合传感器方向信息的卡尔曼滤波状态预测方程可以表示为:

(1)

(2)

(3)

(4)

(5)

4 WiFi与手机惯性传感器组合定位

WiFi定位方法可以获取用户的实时绝对位置,且误差不随时间积累,具有良好的低频响应特性,但其数据输出频率低,并易受障碍物以及多路径效应等因素的干扰,定位稳定性较差;基于手机惯性传感器的航迹推算定位方法在短时间内能够获取较高精度的定位结果,但需要其他定位方式提供初始绝对位置,且存在着严重的误差累积效应。因此,引入自适应抗差滤波理论,构建误差判别统计量,设计一种WiFi与PDR自适应抗差滤波组合定位算法,融合两种方式进行组合定位,可以获得更高精度的定位结果。根据卡尔曼滤波模型,行人行进中的线性动力学模型和观测模型可以分别表示为:

(6)

Lk=AkXk+ek

(7)

式(6)中,Φk,k-1为状态转移矩阵,Wk为动力学模型噪声向量,Xk为系统状态向量,式(7)中ek为观测噪声向量,Ak为设计矩阵,Lk为观测向量,共有三个参数,前两项由WiFi与PDR两种定位方式的位置差构成,后一项由不同传感器之间的航向差构成,即:

(8)

观测误差方程:

(9)

自适应抗差滤波的预测方程:

(10)

(11)

当预测步骤完成后,根据状态参数估计向量与预测状态参数向量之间的不符值可构成模型误差的状态不符值统计量。求得状态不符值统计量后,根据设置的阈值来确定自适应因子αk,即可得到自适应抗差滤波的更新方程:

(12)

(13)

(14)

(15)

(16)

基于安卓移动端的室内定位App分别按照上述步骤实现了组合定位。组合定位设计界面如图3所示,组合定位中需要设置的扫描时间参数、计步参数和灵敏度如图4所示:

图3 组合定位模块界面 图4 组合定位模块参数设置界面

5 实验分析

为了验证算法的可靠性与准确性,进行了实验分析。实验环境搭建在上海市测绘院C楼二楼走廊,在实验场地内共分散布设了5个信号节点,WiFi指纹点的分布位置如图5红色圆圈所示。行人的真实行走轨迹为以走廊的一端为起始方向保持直行,直至步行到走廊的另一端转弯,如图5红色实线所示,起始点用红色五角星标注。

图5 测绘院二楼走廊场地

重复进行4次实验,PDR定位、WiFi定位以及两者自适应抗差滤波组合的定位轨迹如图6所示。图6中黄色线型为实际轨迹;蓝色线型为PDR定位轨迹;绿色线型为WiFi定位轨迹;红色线型为组合定位轨迹。

图6 不同室内定位模型定位轨迹图

重复实验的精度统计结果如表1所示:

不同室内定位模型的定位结果对比 表1

由定位点统计结果可知,每次实验中两者的自适应抗差组合定位精度均优于单独使用PDR定位方式和WiFi定位方式。

6 结 论

本文通过引入自适应抗差滤波理论,构建误差判别统计量,设计了WiFi与PDR自适应抗差滤波室内组合定位算法,并基于安卓移动端开发室内定位App实现了上述算法。通过实验分析,结果表明融合WiFi与MEMS传感器两种定位方式的组合定位更加符合实际的行走轨迹。如何在定位算法中更好地融合采样频率不同的多源数据,进而获得更高的定位精度是接下来需要进一步研究的问题。

猜你喜欢

抗差步长行人
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
毒舌出没,行人避让
路不为寻找者而设
我是行人
改善单频PPP参数收敛速度的抗差估计方法
曝光闯红灯行人值得借鉴
两种抗差Kalman滤波在隧道监测中的应用研究
地形简化对DEM不确定性的抗差性研究
基于抗差最小均方估计的输电线路参数辨识
基于逐维改进的自适应步长布谷鸟搜索算法