APP下载

基于多传感器与WiFi融合的室内定位方法

2017-09-29漏鸣杰秦会斌

软件导刊 2017年9期

漏鸣杰 秦会斌

摘 要:针对室内定位精度不高的问题,通过融合多惯性传感器定位技术和WiFi定位技术,提出一种基于多惯性传感器和WiFi定位结合室内定位方法。首先使用基于WiFi的室内定位中的RSSI算法,根据位置指纹、利用最近邻匹配算法获得绝对位置信息,再通过基于三轴加速度传感器与陀螺仪的步数检测方法以及基于电子罗盘与陀螺仪的航向估算方法获得相对位置信息。最后基于位置指纹的方式对多传感器的室内定位进行步长校正,得到较为准确的定位结果。实验结果表明,该方法与单独运用惯性传感器或单独使用基于WiFi的室内定位方法相比,精度更高。

关键词:多惯性传感器;RSSI;步数检测;航向估算;步长校正

DOI:10.11907/rjdk.171586

中图分类号:TP319 文献标识码:A 文章编号:1672-7800(2017)009-0138-04

Abstract:Aiming at the problem that the indoor positioning accuracy is not high enough, an indoor positioning method based on the combination of multiple inertial sensors and WiFi positioning is proposed by fusing the multi sensor positioning technology and WiFi positioning technology. Firstly, using RSSI indoor positioning algorithm based on WiFi, according to the nearest neighbor matching algorithm to obtain the absolute position information by using location fingerprints. Secondly, the detection the number of steps through three axis accelerometer and estimate the course of steps through gyroscope and the electronic compass to obtain the relative position information. Finally, the step length of the multi sensor indoor positioning method is corrected based on the location fingerprint method. The experimental results show that the proposed method is more accurate than using inertial sensor or the indoor positioning method based on WiFi alone.

Key Words:multi inertial sensor; RSSI; step number detection; course estimation; step correction

0 引言

隨着移动设备与无线通信技术的不断发展,人们对定位的要求越来越高。室外定位技术已经日趋成熟,诸如美国的GPS定位技术、中国的北斗定位技术、俄罗斯的CIONASS定位技术[1]等,在民用与军用领域都得到了广泛应用。而对于室内定位技术,由于室内的复杂环境使微波信号衰减严重,室外定位方法应用在室内将会产生极大误差。

近年来对于室内定位的研究主要集中在基于无线传感网络的室内定位和基于惯性传感器的室内定位。基于无线传感网络的室内定位主要使用RSSI(信号强度测量)、TDOA(信号到达时间差定位)、TOA(信号到达时间定位)、AOA(信号到达角度定位)等算法获得绝对位置信息[2];基于惯性传感器的室内定位主要使用移动端的包括加速度计、电子罗盘、陀螺仪、重力传感器、距离传感器等惯性传感器获得相对位置信息。

在基于无线传感网络的室内定位中,WiFi室内定位由于其简单、低成本的特性,应用十分广泛,但是其定位精度并不能满足现实生活中的很多需求。而采用基于惯性传感器的室内定位技术相对精度较高,但是由于其只能获取相对位置信息,并且具有累计误差等缺点,使其应用受到限制。针对上述问题,本文提出一种基于多传感器与WiFi融合的室内定位方法,此方法首先通过WiFi室内定位的信号强度检测(RSSI)算法[3],运用最近邻算法[4](NNSS)将位置指纹信息与离线阶段建立的位置指纹数据库进行比较,求得最小差异值Djmin,确定所测移动终端的绝对位置,然后将通过多惯性传感器测得的数据经过平滑滤波后进行步数检测、航向估算以及步长校验实现航迹推算,获取相对位置,结合两者信息获得更高的室内定位精度。

1 整体定位过程

本文采用的基于多传感器与WiFi的室内定位技术,以基于多惯性传感器的室内定位技术为主,基于WiFi的位置指纹室内定位技术为辅。通过基于位置指纹的室内定位技术确定绝对位置坐标,在此基础上,通过多传感器融合的方式进行相对定位,并运用位置指纹的方式对多传感器的室内定位进行步长校正,最终得到较为准确的结果。流程如图1所示,Dj为实际位置指纹与数据库位置指纹的信息差异值。

2 基于WiFi的位置指纹室内定位

基于WiFi的室内定位技术分为离线和定位两个阶段[5]。离线阶段是一个建立位置指纹数据库的过程,定位阶段是一个获取实时位置指纹信息后,与数据库位置指纹匹配获得坐标的过程。endprint

2.1 离线阶段

在测试区划分若干测试点N,坐标分别为(x,y1),(x2,y2),…,(xN,yN),在每个测试点分别测试周围的AP信号强度,用R=(r1r2...rn)表示,然后取多次测试的平均信号Ravg=(r′1,r′2,…,r′n),将位置信息与信号信息成对存入位置指纹数据库。本文使用Andriod中已有的API测量测试点周围的AP强度,通过WiFiManger类中的getScanResults方法获取附近AP的对象集合,然后通过ScanResult对象的level方法得到信号强度,为一个0~-100的int型数据,数值越大表示信号强度越高。

2.2 定位阶段

获取实时位置指纹信息后,从位置指纹数据库中选取与此信息最相近的位置指纹信息,通过常用的欧几里得距离即公式(1)求得实时位置指纹信息与数据库位置指纹信息的差异值Dj,求得最小Dj值对应数据库中的位置坐标(xi,yi)即为所求的绝对位置。Dj=1N∑Ni=1(x′i-xi)2

(1) 式中N为AP个数,x′i为测试点得到的第i个AP的信号强度,xi为位置指纹数据库中第i个AP点的信号强度。

3 基于多惯性传感器的室內定位

基于惯性传感器的室内定位可分为步数检测、航向估算、步长调整3部分,通过步长乘以步数求得实际走过的距离,结合航向信息估算相对位置[6]。

3.1 融合陀螺仪与加速度传感器的步数检测

比较实验数据得知,使用基于加速度传感器定位比陀螺仪的定位稳定性高一些,但是在测量精度方面要差一些。然而,当出现急速转弯等特殊情况时,陀螺仪容易出现大的数据波动,导致定位不稳定。因此,本文将两种检测方法结合起来。当人体在平稳行走时,将两者的检测结果求平均;而当出现突然转弯等情况时,仅使用加速度传感器进行步数检测。流程如图2所示。

首先检测角速度的变化值,然后判断角速度变化是否大于设定的角速度阈值,本文选取阈值为1.5,若超过阈值,说明发生了急速转弯情况,仅使用加速度传感器确定步数值;若未超过阈值,则说明未发生大的航向变化,取加速度传感器与陀螺仪的平均值,有利于提高定位精度。

3.1.1 陀螺仪步数检测

人在步行过程中每一方位角速度的变化呈现类似正弦变化的规律,角速度大小在0周围上下波动,由于数值较小并且有负值,三轴角速度联合使用有一定难度。通过多种方式相互比较,发现水平方位角速度的变化效果最好,最符合正弦变化规律。所以本文通过Andriod中的senserManger API传入Senser.TYPE_GYROSCOPE参数,得到角速度数组,取value[2]为水平方位角速度值。进行步行实验,将取值进行平滑滤波后呈现类似正弦变化规律。设计算法步数检测:①设定单步时间周期范围(Tmin~Tmax),小于Tmin的正弦周期视为干扰去除,大于Tmax的周期视为转弯,仍然算作一步。正常人的行走时间在0.2~1s之间,本文取Tmin为0.2s,取Tmax为1s;②引入角速度动态阈值即初始角速度,初始为0,后面的阈值按照前一步的峰值和谷值求平均得到,只有角速度达到动态阈值上下一定范围才可算作一步,以滤除轻微震动带来的干扰;③记录峰值、谷值,为下一步动态阈值作准备。

3.1.2 加速度传感器步数检测

人在步行过程中竖直方向的加速度呈现类似正弦变化规律,并且加速度大小在g值上下波动,本文通过andriod中senserManger API传入参数Senser.TYPE_ACCELEROMETER得到3个方向的加速度值,取竖直方向加速度ay,发现虽然ay数值在g附近波动,但是波动幅度较大,波动峰值ap值超过2g,数据不稳定,不能准确进行步数检测。针对上述问题,通过公式(2)计算表明,净加速度A,式中xa、ya、za分别为3个垂直方向加速度。A=x2a+y2a+z2a/g

(2) 将净加速度进行平滑滤波后得到一个光滑类正弦曲线,设计算法进行步数检测:①设定单步时间窗口,规定在0.2~2s(对应人的步行频率0.5~5Hz)内分别达到一次峰值和一次谷值记为一步;②设定动态阈值即初始加速度,首次设置为1,之后每一步的阈值取前一步的峰值与谷值的平均值,只有幅度达到动态阈值上下一定幅度,才可记步,该阈值可有效过滤轻微抖动对加速度的影响;③记录峰值、谷值,为下一步动态阈值作准备。

3.2 融合电子罗盘和陀螺仪的航向估算

比较实验数据得知,电子罗盘能够通过获取方位角获得绝对航向,并且没有绝对误差,但是在转弯时获得的数据很不稳定,而陀螺仪恰恰相反,在短时间内获得的数据十分稳定。本文将两种方法结合起来,当人体在平稳行走时,使用电子罗盘进行航向估算;而当出现突然转弯等情况时,仅使用短期数据稳定的陀螺仪进行航向估算,如图3所示。

首先连续检测电子罗盘的水平角值,然后判断电子罗盘水平角波动是否超过设定的水平角波动阈值,本文选取阈值为35,若超过阈值,说明发生了转弯的情况,使用陀螺仪进行航向估算;若未超过阈值,则说明未发生大的航向变化,继续使用电子罗盘进行航向估算。

3.2.1 电子罗盘航向估算

电子罗盘传感器通过3个角度值来确定航向,分别为方位角、俯仰角、横滚角[7],规定X轴正方向为传感器水平放置正前方,Y轴正方向为传感器水平放置正右方,Z轴正方向为垂直XY平面向上。方位角是传感器Y轴水平面上的投影与正北方向的夹角(取值范围为0°~359°,0°为North,90°为East,180°为South,270°为West);俯仰角是传感器Y轴与水平面的夹角(传感器Z轴向Y轴方向移动为正,值的范围是-180°~180°);横滚角是传感器X轴与水平面的夹角(传感器X轴离开Z轴方向为正,值的范围是-90°~90°)。本文主要使用在水平面上的角度变化,未使用俯仰角和横滚角。endprint

通过AndriodSenserOrientation API测试航向,测得数据表明,由于周围环境磁场干扰,导致所取值在短时间内出现较大波动,因此需设定一个阈值,只有在波动大于阈值时,认为绝对航向发生了变化,记录航向值;否则认为航向未变,舍弃该数据。

3.2.2 陀螺仪航向估算

陀螺仪不像电子罗盘一样能够根据与地磁场的夹角确定绝对航向信息,陀螺仪只能确定相对航向信息。陀螺仪从一定意义来说就是一个角速度传感器,运用其来测算航向,就是在航向的基础上,通过对角速度值求积分的方式获取下一时刻的航向。

3.3 步长调整

如果没有步长调整,那么即使步数检测上达到令人满意的定位结果,检测获得的距离与实际距离也是有一定误差。因为不同的人步长不同,同一人在不同情况下的步长也有差别。针对上述问题,本文提出基于WiFi定位的步长校准。具体方法如图4所示。

首先设定步长初始值为0.5m,然后通过连续两次的基于WiFi的室内定位方式获取两点坐标(x1,y1)与(x2,y2)之间的距离D。采取两点间距离除以步数的方式,获取位置之间的距离时,需要有路径为直线的限制,即航向不能发生变化。若发生变化,则不记录坐标点位置;若未发生变化,则判断行进路程是否已经超过设定值。若还未到设定值则不记录,若到达设定长度值,则记录坐标点位置。然后将D除以步数S,即得到动态步长SD。

4 实验分析与结论

以使用多惯性传感器的室内定位和使用基于WiFi的室內定位为对照组,验证本文融合多惯性传感器与WiFi室内定位方法的精度。

实验在杭州电子科技大学2教中楼进行,选择WiFi信号覆盖强度不同的区域,在此区域选定10个测试点,均匀分布,通过不同的行走轨迹和行走方式行走50m到达基准点。每个测试点测试20次,而且在行走过程中必须既要经过信号强的区域,也要经过信号弱的区域,10个测试点共计200个数据,取每次距离误差作出统计。图5为基于WiFi室内定位的200次误差情况统计,图6为基于多传感器的200次误差情况统计,图7为融合多传感器与WiFi的误差情况统计,图8为3种室内定位误差情况的对比统计。通过统计数据可以看出3种方法的定位精度:基于多传感器的室内定位数据集中分布在1~2m之间,占总数据量的86%,但在2~2.5m范围内也有7%的数据,说明基于多传感器的定位精度为3m;基于WiFi的定位数据集中分布在0.5~2m范围内,占总数据量的84.5%,在2~2.5m范围内也有1.5%的数据分布,同样基于WiFi的室内定位精度也为3m;而基于多传感器与WiFi融合的室内定位数据都集中分布在0~1.5m范围内,1.5m以上的误差基本为零,所以该融合定位方法的定位精度为2m。

5 结语

本文提出了一种融合多传感器与WiFi的室内定位方法,通过融合三轴加速度传感器、电子罗盘、陀螺仪传感器、无线WiFi传感器进行室内定位。实验结果表明,该定位方法有效提高了室内定位精度,定位精度为2m。

参考文献:

[1] 马岳雷.基于WLAN的室内定位技术研究[D].兰州:兰州大学,2014.

[2] 纪程程.基于接收信号强度测量的室内定位技术研究[D].济南:山东师范大学,2013.

[3] 石为人,熊志广,许磊.一种用于室内人员定位的RSSI定位算法[J].计算机工程与应用,2010(17):232-235.

[4] 周武,赵春霞,张浩峰.动态联合最近邻算法[J].电子学报,2010(2):359-365.

[5] 宋欣.多传感融合的室内定位技术研究[D].上海:上海交通大学,2013.

[6] 张世哲.基于惯性传感器和WiFi的室内定位系统的设计与实现[D].北京:北京邮电大学,2012.

[7] 王斌.地磁导航综合检测仪的实现及其精确校准技术的研究[D].杭州:杭州电子科技大学,2011.

(责任编辑:黄 健)endprint