一种基于物理场的室内定位方法与流程

文档序号:16443763发布日期:2018-12-28 21:44阅读:205来源:国知局
一种基于物理场的室内定位方法与流程

本发明涉及定位技术领域,具体涉及一种基于pdr和地磁指纹融合的室内定位方法。

背景技术

定位技术分为室外定位技术和室内定位技术两种,常用的室内定位方法有很多种,其中最常用的有以下几种:(1)行人航迹推算(pdr):pdr是一种相对定位方法,它通过实时测量行人的步频、步长和航向信息,不依靠外部信息自主定位,在短期内精度高,稳定性好。但是pdr会受到传感器特性的影响,误差会随时间累积。(2)wifi定位:wifi定位是通过采集目标点的信号强度与事先建立好的指纹数据库做比对来得到目标点的位置信息。wifi的误匹配率低但定位结果波动显著,并且需要部署足够多的节点才能保证定位的准确性。(3)超宽带(uwb):超宽带技术是通过发送纳秒级或纳秒级以下的超窄脉冲来传输数据,可以获得ghz级的数据带宽,实现室内定位。但是uwb难以实现大范围室内覆盖,而且系统建设成本极高。(4)地磁匹配(mm):地磁匹配是将实时的地磁信息与地磁数据库中贮存的基准图进行匹配,根据一定的准则判断两者的拟合程度找出最相似点就可以实现定位。然而当地图过大时,地磁匹配会存在模糊解的问题。

目前,使用单一技术的室内定位方法都有一定的局限性,且部分室内定位方法需要布置大量节点才能完成定位,还没有一种普适化技术能满足当前所有的室内定位服务需求,急需一种将多种方法特点优势互补的室内定位方法。



技术实现要素:

本发明针对地磁场在室内定位中存在模糊解及行人航迹推算(pdr)存在累积误差的问题,提供一种改进的行人航迹推算与地磁指纹匹配方法融合的室内定位方法,不依赖任何节点,以pdr定位结果为中心,缩小地磁匹配区域,采用改进的粒子滤波算法解决地磁指纹的模糊解问题,达到实时修正pdr累积误差,有效的提升室内定位精度的目的。

本发明的技术方案中主要包括改进的对行人步频检测步骤、步长检测步骤和航向解算步骤。在所述步频检测步骤中,当a(代表行人的三轴合加速度)经过了下述的全部状态后计为行人迈出了一步:

(1)初始状态为s0,当a大于thr时,状态由s0转入s1,否则在s0状态循环。

(2)在s1状态时,当a大于peak_thr时,状态由s1转入s2,当a小于thr时,由s1跳回s0,否则在s1状态循环。

(3)在s2状态时,当a大于neg_thr且小于peak_thr时,状态由s2转入s3,否则在s2状态循环。

(4)在s3状态时,当a小于neg_thr时,状态由s3转入s4,当a大于peak_thr时,状态由s3跳回s2,否则在状态s3循环。

(5)在s4状态时,当a大于neg_thr且小于thr时,状态由s4转入s5,否则在状态s4循环。

(6)在s5状态时,当a大于thr时,状态由s5转入s0,当a小于neg_thr时,状态由s5跳回s4,否则在状态s5循环。

上述步骤中:thr代表a的检测阈值;peak_thr代表a的峰值阈值;neg_thr代表a的谷值阈值;s0代表行人静止状态;s1代表a上升;s2代表a上升进入波峰状态;s3代表a下降离开波峰进入波谷状态;s4代表a在波谷状态循环;s5代表a离开波谷回归静止状态。

在所述步长检测步骤中的步长测量采用加速度方差判别行人处于普通步行状态或是高速步行状态,当行人处于普通步行状态时,步长计算公式为:li=0.35fi+0.48vi+0.22。当行人处于高速步行状态时,步长计算公式为:li=0.30fi+0.05vi+0.72。其中:li是行人的步长;fi是行人的步频;vi是行人的三轴合加速度方差。

在所述航向解算步骤中的航向角计算公式为:θi=atan(hy/hx)+mag_dec;式中:θi是行人的航向角,hx、hy分别是x、y轴方向地磁强度;mag_dec是当地的磁偏角。

本发明的技术方案中,还提供了一种经过改进的根据行人的步频、步长、航向信息及地磁基准图进行的粒子滤波算法,其主要步骤包括如下:

(1)初始化粒子群。

(2)更新粒子群状态。

(3)检测粒子是否穿墙并去除穿墙粒子。

(4)计算各个粒子的权重。

(5)根据有效粒子规模ness判断是否需要对粒子群进行重采样,其计算公式为:设定阈值当ness<ness_thr时,则进行重采样;若ness≥ness_thr时,则不进行重采样;其中:n代表第n个粒子,n表示粒子群的粒子数目;ωn表示归一化之后第n个粒子所占的权重。

(6)如果对粒子群进行了重采样,则对粒子群进行粗化,粗化过程包括:第一,重采样之后对每个粒子增加一个噪声,使其在状态空间中散开;第二,下一步更新粒子群状态时,加大步长和航向的随机误差。

附图说明

图1是基于pdr和地磁指纹融合的室内定位方法流程图。

图2是步频检测的有限状态机流程图。

图3是粒子滤波算法流程图。

图2中:input代表三轴合加速度值,thr代表的是检测阈值,peak_thr代表的是峰值阈值,valley_thr代表的是谷值阈值。

具体实施方式

下面以实施例详细阐述本发明的设计方案。

基于物理场的室内定位系统依托于包含三轴加速度计、三轴陀螺仪、三轴磁力计的智能手机。通过智能手机中的传感器获取地球重力场、地磁场这些自带的物理场信息,对行人进行航迹推算,利用地磁场信息构建地磁基准图,在每个行人航迹推算的每个步态周期内进行地磁匹配时使用粒子滤波来得到行人的准确位置。

具体主要包括如下内容:

(1)步频检测:

根据智能手机中三轴加速度计采集得到的行人加速度数据,使用有限状态机法完成行人的有效步频检测,并记录下每一有效步的起始时间戳。

(2)自适应步长估计:

根据自适应步长模型估算出行人每一有效步的步长。

(3)航向解算:

根据陀螺仪采集得到的角速度数据对磁力计数据进行倾斜补偿,根据倾斜补偿后的磁力计数据解算出绝对航向后再加上当地的磁偏角解算出当前步态的运动方向。

(4)粒子滤波:

根据得到的步频、步长、航向信息及地磁基准图进行粒子滤波,估计出行人准确的位置。

一.所述步频检测包括以下步骤:

s11:智能手机中三轴加速度计采集得到的加速度数据记为a={ax、ay、az}。

s12:对手持式设备采集得到的三轴加速度数据a,进行平滑滤波,并计算三轴合加速度a:平滑滤波的目的是平滑数据,滤除噪声。使用三轴合加速度的原因是能够避免设备安装带来的额外误差,不用考虑加速度计的具体方向,合加速度的波形能够稳定在[-g,g]内变化。

s13:使用有限状态机对行人的步频进行检测,得到有效的行人步数。有限状态机中各状态分别代表:s0:用户静止状态;s1:加速度上升,行人可能进入运动状态;s2:加速度上升进入波峰状态;s3:加速度下降离开波峰进入波谷状态;s4:a在波谷状态循环;s5:加速度离开波谷回归静止状态。

如图2所示,基于有限状态机的步频检测算法的初始状态为s0,当a大于thr时,状态由s0转入s1,否则在s0状态循环。

在s1状态时,当a大于peak_thr时,状态由s1转入s2,当a小于thr时,由s1跳回s0,否则在s1状态循环。

在s2状态时,当a大于valley_thr且小于peak_thr时,状态由s2转入s3,否则在s2状态循环。

在s3状态时,当a小于valley_thr时,状态由s3转入s4,当a大于peak_thr时,状态由s3跳回s2,否则在状态s3循环。

在s4状态时,当a大于valley_thr且小于thr时,状态由s4转入s5,否则在状态s4循环。

在s5状态时,当a大于thr时,状态由s5转入s0,当a小于valley_thr时,状态由s5跳回s4,否则在状态s5循环。

只有当三轴合加速度a在经过s0~s5状态后,才认为行人迈出了一步。在状态转换图中,thr代表的是检测阈值,peak_thr代表的是峰值阈值,valley_thr代表的是谷值阈值。具体的thr、peak_thr和valley_thr可以针对不同的行人作出改变。在本发明实施例中,优选thr设定为9.8,peak_thr设定为10.5,valley_thr设定为9.1。有限状态机法克服了峰值检测法中只关注峰值与阈值关系的缺点,将峰值和谷值设定为一种状态,更加关注加速度数据的变化情况。该方法对正弦波规律良好的加速度数据具有较好的处理能力。

s14:记录下每一有效步的起始时间戳式中的代表第i有效步的起始时间。

二.所述自适应步长估计包括以下步骤:

s21:计算每个有效步的步伐频率fi和加速度方差vi,步伐频率fi的计算公式为:式中:ts代表当前有效步的开始时间戳,te代表当前有效步的结束时间戳。

加速度方差vi的计算公式为:式中:at是加速度传感器t时刻的加速度值,是行人当前步的三轴合加速度平均值,k是当前有效步加速度传感器的采样点数量。

s22:判断当前有效步的加速度方差vi是否大于阈值3.8,如果大于或等于3.8,那么判定行人为高速步行状态,如果小于3.8,那么判定行人处于普通步行状态。

s23:自适应步长模型可以表示为:li=astep·fi+bstep·vi+cstep;式中:astep、bstep、cstep为自适应步长模型的参数,当判定当前行人处于普通步行状态时,astep、bstep、cstep的值分别取0.35、0.48和0.22,当判定当前行人处于高速步行状态时,astep、bstep、cstep的值分别取0.3、0.05和0.72。

本发明采用加速度方差来判别行人处于普通步行状态或是高速步行状态,自适应步长模型能够自适应的调整行人处于不同运动状态下的步长模型参数,得到的估计步长更加准确,同时算法更加稳定,适合长时间的室内定位。

三.所述航向解算包括以下步骤:

s31:记录人在行走过程中所持设备的三轴陀螺仪数据,记为b={ωx、ωy、ωz},三轴磁力计数据,记为c={mx、my、mz},使用低通滤波器对三轴陀螺仪数据和三轴磁力计数据进行低通滤波,能有效去除行人行走过程中抖动所造成的噪声。

s32:根据低通滤波之后的陀螺仪数据计算每个有效步之内的俯仰角(pitch)和横滚角(roll);俯仰角(pitch)的计算公式为:横滚角(roll)的计算公式为:式中的ωx、ωy为三轴陀螺仪经过低通滤波后的数据。

s33:根据加速度数据计算出的姿态角对磁力计数据进行倾斜补偿,得到磁力计数据在水平方向上的投影:hy=-my·cos(roll)+mz·sin(roll);hz=mx·cos(pitch)+my·sin(roll)·sin(pitch)+mz·cos(roll)·sin(pitch);式中的mx、my、mz为三轴磁力计经过低通滤波之后的数据。

s34:航向角解算:θi=atan(hy/hx)+mag_dec;式中的mag_dec为当地的磁偏角,可以通过查表得到;经过陀螺仪数据计算出姿态角对磁力计数据进行姿态补偿后,可以有效的消除行人手持设备时所带来的倾斜误差,进一步加上当地的磁偏角,可以使解算出的航向角更为准确。

四.所述粒子滤波包括以下步骤:

s41:初始化粒子群:初始化粒子群的粒子数目,设置n=5000,每一个粒子表示对当前状态的一个假设并带有权重ω,将所有粒子在空间内均匀分布,初始每个粒子的权重为

s42:更新粒子群状态:根据前述步骤得到的步长和航向信息更新粒子群的属性,

式中的xi、yi表示第i步的位置坐标,li+1和θi+1分别表示经过粒子权重加权过的步长和方向值,δl和δθ表示步长和方向的随机误差,均服从高斯分布。

s43:检测粒子是否穿墙并去除穿墙粒子:在实际应用中,会有一部分粒子的位置出现在用户不可能到达的位置上,这种现象称之为“穿墙”,根据地磁基准图信息去除穿墙粒子。

s44:计算各个粒子的权重ωn:

式中的表示第n个粒子在第i步从指纹库中获得状态s对应的地磁指纹,zi表示第i步内测量的地磁强度值,σ为磁力计的偏移标准差。

s45:根据有效粒子规模ness判断是否需要重采样,ness的计算公式为:

ness的值越小表明粒子退化越严重,设定阈值当ness<ness_thr时,则进行重采样,若ness≥ness_thr,则不进行重采样。

s46:若进行了重采样,则对粒子群进行粗化,粗化过程包括:第一,重采样之后对每个粒子增加一个噪声,使其在状态空间中散开,第二,下一步更新粒子群状态时,加大步长和方向的随机误差。

s47:估计行人真实位置,最后对所有粒子的状态加权平均作为用户当前的真实状态

式中的ωn表示归一化之后第n个粒子所占的权重。

本发明的有益效果:本发明给出的室内定位方法中,基于有限状态机的步频检测算法误判率低且计算量更小;步长自适应模型能够根据行人运动状态更换步长模型参数,实现步长自适应估计,估算出的行人每步步长更加准确;经过倾斜补偿和磁偏角补偿后解算出的航向更为精确;根据有效粒子规模判断是否重采样可以在权值退化及多样性匮乏之间取得平衡,重采样之后进行粒子粗化能增加粒子的多样性,进而提升了算法的鲁棒性。本发明算法复杂度低,准确性高,且不依赖任何节点信息,定位所需信息完全由物理场提供,具有重要的实用价值。

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