一种基于自适应粒子滤波的室内定位方法与流程

文档序号:18815301发布日期:2019-10-08 23:48阅读:239来源:国知局
一种基于自适应粒子滤波的室内定位方法与流程

本发明涉及基于android系统的自适应粒子滤波算法、pdr行人航迹推算方法、随机抽样一致性算法、wi-fi定位、地磁定位,通过搭载磁力计的android系统智能手机作为接收设备,进行随机一致性算法和自适应粒子滤波算法对数据的加权融合,从而实现提高室内定位精度的目的,属于地理信息系统(gis)领域。



背景技术:

随着国民经济的快速发展,人们在室内活动的时间越来越长,室内的空间环境也越来越复杂,人们在室内环境下需要的位置与导航服务的需求越来越高。大型建筑物室内场馆内的室内定位的技术通常有超宽带定位、蓝牙定位、wi-fi定位、超声波定位和红外线定位等。由于地磁信号具有稳定性的特点,且不需要安装专门的基础设施,wi-fi信号随着室内环境下的移动互联网的发展已得到大量的部署,使用地磁和wi-fi定位就具有了一定的优势,而且搭载android系统的智能手机等接收设备也已经得到大范围的普及。

目前,单一的室内位置服务与导航定位技术在技术成本、定位精度和稳定性存在一定的缺点,不能满足现代科技生活下人们对室内定位精度的需求服务,多种定位技术方法的结合已成为提高室内定位精度的主要方法。



技术实现要素:

本发明要解决的技术问题在于通过融合地磁信号、wi-fi信号以及pdr(pedestriandeadreckoning,行人航迹推算)技术,基于搭载磁力计的android系统智能手机对室内地磁场进行采集,采用自适应粒子滤波模型将pdr行人航迹推算与地磁定位进行融合,利用wi-fi信号来限制地磁匹配定位的范围,实现将地磁、wi-fi、pdr三者的融合进行室内定位,从而达到提高定位精度的目标。

本发明针对现有技术的不足,基于pdr行人航位推算android智能手机的步频、步长的计算,利用android智能手机加速度计对pdr中的步长以及步频进行验证。其中,对步数的计算是用峰值探测法进行计算,并利用加速度计对行走、慢跑的步数进行验证,保证其峰值探测的错误率在1.5-2%之间。在验证步长模型时,在20m的直线距离行走,对加速度计采集的数据进行处理,得出步长模型系数k的值为0.445。得出系数模型后,在对步长模型进行距离的验证。

本发明的思路:

本发明通过android智能手机采集wi-fi信号、地磁信号,利用随机抽样一致性算法确定需要定位服务与导航并且持有android移动智能终端手机的用户的初始位置。基于android智能手机中的加速度计对人行走的步长进行估计,采用自适应粒子滤波算法在磁场数据的基础上进行pdr定位结果的纠正,从而达到融合wi-fi、地磁和pdf技术提高室内定位精度的目的。

具体步骤为:

(1)基于android系统的行人航迹推算

在行人航迹推算pdr方法中,获得行人的初始位置后,通过android系统智能手机内置的加速度计、方向传感器等微型传感器得到行人的步频、步长以及方向角,便可以根据初始位置推算出下一时刻行人的位置。其推算方程及模型如下:

pdr推算模型如图1。

由此可知,在行人当前位置已知的情况下,可以利用搭载微型传感器的android系统智能手机的方向传感器判断行人的前进方向,并利用加速度计输出有周期性的波形去实现步数的计算。具体推算过程如图2。

具体步骤如下:

1)步频计算原理

行人的步频检测原理主要是依赖人在行走的时候的运动力学估量行人的行走频率。人类行走是一个周期性的过程:即起步,迈右脚,迈左脚,双脚着地;在竖直方向上人的向上加速度为上、下、上、下、上,如图3。图3的红点表示重心的起伏,而迈左、右脚时重心比较高,在双脚着地的时候,重心最低,在人即将起步的时候,重心位于中间位置。依据这种有规律变化的加速度值与方向,可以判别人在行走过程中的步数。在行走的一个过程当中,有四次峰值的呈现,共走了两步,即一次上峰值和一次下峰值算为一步。

2)步频计算过程

通过android系统智能手机加速度计根据步数采集数据,统计后对步频进行检测,如图4。从下表1中的行人步数检测比较,峰值探测法的错误率在1.5%-2%之间,证明了峰值探测法在正常行走和慢跑方面具有良好的性能,为后续的pdr能够提供足够高的精度。

表1行人步数检测比较

3)步长估计

人的步长值和人的身高、体重、身体的健康状态有关,存在着一定的随机性,且可以通过行走的加速度来表示。根据android系统智能手机搭载的惯性导航器件测到的数据进行步长的估计,非线性步长估计模型为:

k=dr-de(2)

式中,在离线阶段进行训练得模型系数k的值,amax,amin表示行人每一步中加速度的最大最小值。dr表示行人行走实际的距离,de表示移动智能手机终端传感器估计的距离。

为了对步长模型估计的有效性进行验证,利用传感器加速度计在20m的直线距离上行走10次,并进行最小二乘法训练k系数,得出k的取值为0.445,选择在30m的距离行走四次,得出的实验结果如下表2所示。

表2步长估计结果

从表2中看出,该步长模型的精度较高,为pdr算法的精度提供了一个可靠的依据。

(2)随机抽样一致算法处理

结合随机抽样一致性算法(randomsampleconsensus,简称ransac),该算法本质是一种抽样方法。若数据中存在一些特别的点,ransac会适当剔除一些现有数据。图5为最小二乘法(洋红线)和ransac(蓝线)的拟合对比,可以看出,与最小二乘法相比,ransac在粒子选择方面具有更高的拟合度。

通过ransac算法对内部数据进行建模,将远离群体的数据剔除,将pdr的行走路径作为ransac算法的模型。假设行人走的是一条直线,在采样点中任意的选最小的几个点作为内部数据,内部数据满足的数学模型为:

mpdr(x,y)=ax+b;x∈(xmin,ymax)(3)

式中,(a,b)是属于线性模型的参数,pdr轨迹的最大最小值为xmin,ymix。为了在离散的粒子中找到最合适的匹配模型,将最小数量的数据作为内部数据

argmin(x,y)∑d∈s(u)dis(d;mpdr(x,y))2(4)

式中,dis(d;mpdr(x,y))表示采样的地点到模型的距离,点a(xa,ya)距离直线的计算式子为:

式中,将d(xa,ya)赋值为0,则得到在线段上离a点最近的点(x0,y0)。

式中可以得到全部采样点和拟合模型的出错率,利用出错率判断拟合模型是否正确,在粒子被不断采样的过程中,产生的模型因为所能用的点太少而被更好的模型取代,从而可以得到最佳匹配模型,也就是得到了初始路径,与此同时可以将初始位置确定下来。

(3)基于android系统的自适应粒子滤波处理

使用自适应粒子滤波分为四个步骤:粒子状态的初始化、粒子权重的赋值、粒子状态的更新、粒子的重采样。

1)粒子状态的初始化

当行人需要进行定位服务时,智能手机通过微型传感器中的加速度计手机数据进而判断用户是否开始运动。当加速度计检测到行人将要准备运动时,在原始位置附近收集随机n个粒子(地磁强度信号)样本,然后对应地磁指纹地图上的地磁指纹。当存在wi-fi信号时,可以使用wi-fi进行一个初定位,然后用随机抽样一致性算法对地磁和wi-fi进行加权,通过这样可以得到一个更为精确的位置。若未存在wi-fi信号,可以用随机抽样一致性算法对地磁指纹匹配的结果进行取舍,从而得到行人的初始位置。

2)粒子权重的赋值

将初始位置确定下来后,再按照粒子滤波算法对地磁指纹定位的结果进行权重的赋值。在公式(7)中,di表示在指纹地图中每个采集的粒子对应的地磁场强度与在现实行人行走情况下采集到的特征地磁强度的差值,σ代表室内环境下地磁场对估计位置时的影响因子,要是采集到的粒子的位置不在地图的边界框内,则直接将该粒子的权重赋值为0。判断地磁粒子的权重公式为:

3)粒子状态的更新

在分配所有粒子的权重后,把经过加权粒子的中心点作为最新的位置估量,根据步长计算公式得到的每一步的步长和转角,通过公式(8)对粒子的状态进行更新,从而纠正路线,实现路径规划和室内定位的跟踪。粒子状态更新的公式如下:

式中,为粒子i更新后的坐标位置,为上一个步长中粒子的坐标位置,δ属于满足正态分布情况下的高斯白噪声。

4)粒子的重采样

经过反复的利用上一次粒子状态更新结果作为下一个更新的初始值,粒子逐渐向具有高权重的粒子靠拢,就会仅剩下几个权重很高的粒子。从而粒子失去了它多样性的特点,在后验概率密度分布中很难有效表达状态。在室内环境下需要进行定位服务的行人运动都会有一定的方向,而不是杂乱无章的。在这种情况下,可以利用地图进行粒子采用的约束,称为自适应粒子重采样。如图6的模型中,通过智能手机中的陀螺仪判断行人是否在要进行转向的状态,在将要行走的方向和路径的主要方向进行采样,保留像模型中2、3类型的粒子,当行人处于3状态的位置时,根据实际情况下采集的地磁场强度和指纹库中的地磁场强度的差值进行k邻近算法。剔除外面的粒子,增加粒子在转弯处的跟踪性能,如图6所示,转向不正确的粒子1在墙壁的阻挡下很快会被剔除,留下正确方向上的粒子,减少计算量并提高运算速度,从而更快,更准确的去确定行人的位置。

(4)融合wi-fi、地磁与pdr

基于地磁的室内位置导航过程是将采集到的地磁数据与地磁指纹数据库中的地磁指纹进行匹配定位。虽然pdr在短距离内的定位精度比较高,但是由于传感器的累计效应造成偏差,可以通过适合的运算法则将地磁与其融合进行定位。融合地磁与pdr的定位过程,分为两个阶段:离线数据收集和在线匹配两个阶段,如图7所示。

1)离线数据收集阶段:在待测地方选择位置参考点,然后在参考点收集地磁信息,将采集到的地磁强度特征作为指纹的参考点关联,并存储在指纹数据库中创建地磁指纹库。

2)在线匹配阶段:通过wi-fi辅助地磁、pdr对行人的位置进行估计,在确定初始位置时,因为同一楼层的地磁起伏变化不是很大,在利用地磁匹配定位时运算量会很大,根据扫描到的wi-fi信号获取其mac地址值,判断行人所在的楼层,再调用地磁指纹库中对应区域的指纹进行匹配确定用户的初始位置。pdr模块利用加速度、地磁信息对行人的运动距离、方向去预测行人的位置,在预测的区域把实时采集的地磁信息和指纹库中的地磁数据进行匹配,通过自适应粒子滤波与地磁匹配结果对行人的位置进行估计,最后输出行人的位置坐标。

附图说明:

图1为pdr模型。

图2为本发明基于android系统的pdr推算过程。

图3为本发明行走示意图。

图4为本发明步数采集的统计处理。

图5为本发明最小二乘法与ransac的拟合对比。

图6为本发明基于地图约束下的自适应粒子重采样模型。

图7为本发明地磁与pdr的融合算法流程。

图8为本发明ransac采样拟合。

图9为本发明地磁和pdr、wi-fi的融合轨迹图。

具体实施方式

本发明采用的是自适应粒子滤波算法和随机抽样一致性,主要的核心思想是通过wi-fi信号、地磁信号利用随机抽样一致性算法去确定需要定位服务与导航并且持有android移动智能终端的用户的初始位置加速度计对人行走的步长进行估计,基于粒子滤波算法在磁场数据的基础上进行pdr定位结果的纠正。

(1)实施例实验环境

实施本发明选择在桂林理工大学雁山校区图书馆五楼。选择原因是作为实验区域的原因是区域面积大,环境结构较简单,方便实验开展,且wi-fi已经覆盖雁山图书馆。采集实验数据的时间段为较少或无人流的时间段,因为在实验结果中人类流动的原因会有影响。

(2)采集数据

实验沿预定路线收集数据。在构建地磁指纹库时,每个节点的地磁数据采集时间约为一分钟,利用matlab工具过滤数据并创建地磁数据指纹库。利用oppo移动智能终端手机对桂林理工大学雁山图书馆五楼进行数据采集所有采集的数据都转成csv的形式存储在oppo的文件管理器中,然后导入到数据到计算机。当数据被处理和优化后,然后再matlab上执行算法,得到最优定位结果。

(3)基于oppo移动智能终端手机的自适应粒子滤波处理

使用自适应粒子滤波分为四个步骤:粒子状态的初始化、粒子权重的赋值、粒子状态的更新、粒子的重采样。

1)粒子状态的初始化

当行人需要进行定位服务时,智能手机通过微型传感器中的加速度计手机数据进而判断用户是否开始运动。当加速度计检测到行人将要准备运动时,在原始位置附近收集随机n个粒子(地磁强度信号)样本,然后对应地磁指纹地图上的地磁指纹。当存在wi-fi信号时,可以使用wi-fi进行一个初定位,然后用随机抽样一致性算法对地磁和wi-fi进行加权,通过这样可以得到一个更为精确的位置。若未存在wi-fi信号,可以用随机抽样一致性算法对地磁指纹匹配的结果进行取舍,从而得到行人的初始位置。

2)粒子权重的赋值

将初始位置确定下来后,再按照粒子滤波算法对地磁指纹定位的结果进行权重的赋值。在公式(9)中,di表示在指纹地图中每个采集的粒子对应的地磁场强度与在现实行人行走情况下采集到的特征地磁强度的差值,σ代表室内环境下地磁场对估计位置时的影响因子,要是采集到的粒子的位置不在地图的边界框内,则直接将该粒子的权重赋值为0。判断地磁粒子的权重公式为:

3)粒子状态的更新

在分配所有粒子的权重后,把经过加权粒子的中心点作为最新的位置估量,根据步长计算公式得到的每一步的步长和转角,通过公式(10)对粒子的状态进行更新,从而纠正路线,实现路径规划和室内定位的跟踪。粒子状态更新的公式如下:

式中,为粒子i更新后的坐标位置,为上一个步长中粒子的坐标位置,δ属于满足正态分布情况下的高斯白噪声。

4)粒子的重采样

经过反复的利用上一次粒子状态更新结果作为下一个更新的初始值,粒子逐渐向具有高权重的粒子靠拢,就会仅剩下几个权重很高的粒子。从而粒子失去了它多样性的特点,在后验概率密度分布中很难有效表达状态。在室内环境下需要进行定位服务的行人运动都会有一定的方向,而不是杂乱无章的。在这种情况下,可以利用地图进行粒子采用的约束,称为自适应粒子重采样。如图6的模型中,通过智能手机中的陀螺仪判断行人是否在要进行转向的状态,在将要行走的方向和路径的主要方向进行采样,保留像模型中2、3类型的粒子,当行人处于3状态的位置时,根据实际情况下采集的地磁场强度和指纹库中的地磁场强度的差值进行k邻近算法。剔除外面的粒子,增加粒子在转弯处的跟踪性能,如图6所示,转向不正确的粒子1在墙壁的阻挡下很快会被剔除,留下正确方向上的粒子,减少计算量并提高运算速度,从而更快,更准确的去确定行人的位置。

(5)融合wi-fi、地磁与pdr

基于地磁的室内位置导航过程是将采集到的地磁数据与地磁指纹数据库中的地磁指纹进行匹配定位。虽然pdr在短距离内的定位精度比较高,但是由于传感器的累计效应造成偏差,可以通过适合的运算法则将地磁与其融合进行定位。融合地磁与pdr的定位过程,分为两个阶段:离线数据收集和在线匹配两个阶段,如图7所示。

1)离线数据收集阶段:在待测地方选择位置参考点,然后在参考点收集地磁信息,将采集到的地磁强度特征作为指纹的参考点关联,并存储在指纹数据库中创建地磁指纹库。

2)在线匹配阶段:通过wi-fi辅助地磁、pdr对行人的位置进行估计,在确定初始位置时,因为同一楼层的地磁起伏变化不是很大,在利用地磁匹配定位时运算量会很大,根据扫描到的wi-fi信号获取其mac地址值,判断行人所在的楼层,再调用地磁指纹库中对应区域的指纹进行匹配确定用户的初始位置。pdr模块利用加速度、地磁信息对行人的运动距离、方向去预测行人的位置,在预测的区域把实时采集的地磁信息和指纹库中的地磁数据进行匹配,通过自适应粒子滤波与地磁匹配结果对行人的位置进行估计,最后输出行人的位置坐标。具体过程如下:

a.行人初始位置的确定。在定位开始的时候,行人在行走的过程中记录地磁数据,通过与地图指纹库中的数据进行对比得到匹配程度采样图,如图8(a)图所示,可以看到数据大部分集中在x:8-13dm,y:0-145dm中间,通过随机抽样一致性算法,选择如图8(b)中的实心黑色数据为开始行走的轨迹,再通过pdr的步长步频等数据计算距离得到初始位置。

b.为了验证pdr、地磁融合定位的有效性,通过android系统智能手机采集所需要的wi-fi、pdr和地磁数据,所有采集的数据都转成csv的形式存储并导入到计算机,并在matlab上执行算法。

融合定位的算法的初始位置由地磁和wi-fi联合定位得出,初始方位角由pdr模块得出,沿着计划的轨迹路径逆时针行走5次,获得的定位平均值轨迹如图9所示。每种定位方法的定位精度如表3所示。从轨迹图中,黄色实线代表了实际行走的轨迹,绿色虚线代表pdr定位的平均值轨迹,紫色虚线代表地磁定位的平均值轨迹,黄色虚线代表pdr、地磁定位的平均值轨迹,蓝紫色虚线代表wi-fi、pdr、地磁融合的平均值定位轨迹。

表3不同定位组合误差统计结果m

通过结果分析,pdr的运动轨迹在定位开始时的实际路径比较吻合,但是随着时间的累加,轨迹与实际路径偏离得越来越远。pdr融合地磁以及pdr融合地磁、wi-fi的运动轨迹基本上在真实轨迹上,并不会因为惯性传感器的积累偏差而出现偏离真实轨迹的情况。由此可见,pdr与其他定位方式融合的方案可以减少pdr算法的累积偏差。同时,在室内使用pdr时,虽然定位精度在短时间内很高,但由于android移动智能终端手机传感器的误差累计效应,最大的误差甚至达到10.45m。而利用pdr与地磁进行定位,最小误差为3.71m,误差的均值也相对较小,融合pdr和地磁和wi-fi的定位误差均值为1.96m,最小误差为1.02m,最大误差为4.50m。融合后的室内定位精度更高,误差均值也比较小,定位精度比较稳定平均误差在2-5m之间,最大的误差也不超过5m。

由此可见,本发明的优点在于,通过地磁、wi-fi和pdr的融合,能减少pdr在使用过程中由于android智能手机传感器产生的误差累计效应;且pdr融合地磁、wi-fi的运动轨迹基本上在真实轨迹上,并不会因为惯性传感器的积累偏差而出现偏离真实轨迹的情况,从而达到提高室内定位精度的目的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1