本发明涉及室内定位
技术领域:
,更具体地,涉及一种基于手持设备的室内定位方法及系统。
背景技术:
:近年来,随着科技的不断进步和移动通信的快速发展,定位的需求也越来越高。现在广泛应用的定位系统为全球定位系统(GlobalPositioningSystem,GPS),利用GPS定位卫星可在全球范围内实时进行定位、导航。然而由于卫星信号的传播极易受环境中建筑物遮挡的影响,使得卫星信号大大较弱,导致定位不精准。因此,人们就开始考虑一种总能在室内能使用的、精准的室内定位系统。室内导航定位可以为人们的生活带来很大便利。在地下停车场、超市、医院、机场、建筑物密集的街区等建筑物内,用户通常需要通过定位技术来获取当前的位置以及周围事物的导览。例如在超市购物时,用户需要获取自己的位置以及周围物品的种类和位置;在地下停车场停车后,用户想知道车辆所停放的位置;在商场购物,手持设备可以提供导购信息,告诉用户附近的打折信息等。由此看来,提供基于位置的服务(LocationBasedService,LBS)显得越来越重要,使得室内定位技术成为当今研究的热点。随着易于携带的智能手持设备的快速普及,它们提供了一些以前普通的智能手持设备所没有的功能。智能手持设备不仅能提供良好的软件功能,而且也拥有许多先进的硬件设施,包括加速度传感器、方向传感器、磁传感器、陀螺仪、磁罗盘等。通过提高软件功能与硬件设施,可使得智能手持设备能够好的实现室内定位,为人们的生活带来方便。因此,基于高精度的室内定位技术会给人们的生活带来更可靠更实用的服务,在通信领域具有非常重要的意义。然而对于手持设备内基于行人航迹推算算法的惯性传感器,其定位误差会随着时间不断积累,室内定位精度逐渐降低。本发明将致力于该方面的研究,通过对目前国内外研究现状的深入调研、分析,寻求更精准的室内方式。技术实现要素:本发明提供一种克服上述问题或者至少部分地解决上述问题的基于手持设备的室内定位方法和系统。根据本发明的一个方面,提供一种基于手持设备的室内定位方法,所述手持设备包括加速度传感器、陀螺仪以及地磁感应器,包括:S1、基于行人的步数、步长以及角位移获得行人的位置坐标;以及S2、基于室内的磁场地图对所述位置坐标进行定位校正。根据本发明的另一个方面,一种基于手持设备的室内定位系统,所述手持设备包括加速度传感器、陀螺仪以及地磁感应器,包括:位置坐标模块,基于行人的步数、步长以及角位移获得行人的位置坐标;以及定位校正模块,基于室内的磁场地图对所述位置坐标进行定位校正。本申请提出了一种行人航迹推算与航迹校正相融合的室内定位方法。通过基于动态阈值的步态检测、基于线性步长的步长估计和基于口袋模式的方向检测实现了行人航迹推算。同时,采用基于粒子滤波的地磁校正算法对行人航迹推算算法获得的位置进行校正,以消除累积误差,使得定位更加精准。一旦行人由运动状态变为静止状态,精度提高的行人航迹推算模块会将实时位置发送给地磁校正模块,通过匹配离线预存的磁场地图,及时校正行人的位置。通过实际场地采集数据与MATLAB平台仿真,得出的结论能够验证本发明的方法可实现稳定性强的、高精度的室内定位。附图说明图1为是传统的行人航迹推算与精度提高的行人航迹推算算法对比图;图2为根据本发明实施例的步态检测算法的流程图;图3为根据本发明实施例的迈步起点检测静止状态下的轻微振动图;图4为根据本发明实施例的步态检测中动态阈值的更新图;图5为根据本发明实施例的行人步长与步频和加速度方差的关系图:图6为根据本发明实施例的直角转弯状态下行人航迹的偏转角度图;图7为根据本发明实施例的磁场地图校正点示意图;图8为根据本发明实施例的室内定位系统的整体仿真图。具体实施方式下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。图1示出了传统的行人航迹推算与本发明的行人航迹推算算法对比图,传统的行人航迹推算算法主要包括三部分:步态检测、步长估计和方向检测。其中,步态检测只使用时间窗口法,步长估计设为固定值0.7m,方向检测只使用手持设备在平放模式下的z轴的角度偏移。而本发明中的行人航迹推算算法,是根据人行走的生理体征和行人手持设备的方式进行改正。步态检测中,采用均值滤波、对其迈步起点的准确检测、动态阈值的更新来提高精度;步长估计中,采用线性步长估计模型在线动态调整步长;方向检测中,采用一种新的手持手持设备的口袋模式,来检测方向。通过这三种方法,推算出行人的航迹,并且提高的行人航迹推算的准确度。此外,在现代建筑中,钢筋混凝土结构中的钢铁等磁性物质会在局部范围内扰乱当前的地球磁场,这种磁场异常的现象随着其位置的变化而变化。本发明使用这些地磁特征信息作为特定的室内环境磁场校正点,通过测量的校正点的地磁特征与预存的磁场校正点的数据进行匹配来确定测量的位置,然后对获得的行航迹推算的结果进行校正。基于地磁传感器的航迹纠正主要包含两部分:室内地磁校正点地图和基于粒子滤波的磁场匹配算法,使得室内定位更加精准。在一个实施例中,本发明所述的于手持设备的室内定位方法和系统包括:包括:S1、基于行人的步数、步长以及角位移获得行人的位置坐标;以及S2、基于室内的磁场地图对所述位置坐标进行定位校正。在一个实施例中,所述步骤S1进一步包括:S1.1、通过基于动态阈值的步态检测法对行人的步态进行检测,获得步数;S1.2、基于步频和加速度方差获得步长;S1.3、将手持设备的坐标系投影至行人的空间坐标系中,获得行人的角位移;S1.4、基于行人的步数、步长以及角位移获得行人的位置坐标。在一个实施例中,所述步骤S2进一步包括:S2.1、选取室内磁场异常的位置作为校正点,测量所述校正点的二维磁感应强度坐标以及对应的二维位置坐标,获得磁场地图;以及S2.2、基于行人位于校正点的系统状态值和归一化权值获得估测值,将所述估测值作为校正后的位置坐标。图2给出了基于动态阈值的步态检测法的流程示意图,如图2所示,所述步态检测法包括:S1.1.1、将竖直方向的加速度进行均值滤波,得到滤波后的加速度;以及S1.1.2、检测滤波后的加速度的波峰和波谷,当波峰和波谷值的差值大于当前的动态阈值a±0.3的值且波峰和波谷间的时间间隔位于0.1-1s之间时,对行人进行计步,否则认为非迈步起点,不进行计步,计步同时对当前的动态阈值进行更新。在均值滤波中,本发明采用窗口因子为M的均值滤波器,则其窗口大小为2M+1,将2M+1窗口在长度为n的加速度信号上面滑动,求得的算术平均值为处理后的加速度值,所述均值滤波使用的公式为:其中,ak为竖直方向加速度值,Ai为滤波后的加速度值,M为窗口因子。在迈步起点检测中,人在迈步的时候,竖直方向加速度会有周期性变化,幅度较大;而人在静止的时候,由于轻微震动,使得竖直方向加速度数值会有轻微震动,幅度较小,图3示出了迈步起点检测静止状态下的轻微振动图。动态阈值是对人的迈步起点的检测,根据行人行走时候的状态连贯性与相似性动态地调整阈值,图4示出了步态检测中动态阈值的更新图。在时间窗口检测中,通过检测行人行走一步的时间是否符合单步周期为0.2~2s的标准,来判定行人总的步数。动态阈值更新的公式通过下式计算:其中,Tthr为上一周期的动态阈值,MAXi、MINi分别为当前单步周期内的竖直方向加速度最大值和最小值,即该单步周期的波峰波谷值,α、β、γ为提前训练好的参数,初始的动态阈值Tthr为重力加速度g=9.8m/s2。图5是行人步长与步频和加速度方差的关系图,当行人的步频在一个标准的范围内,步长会与步频、加速度方差会有一个接近线性的关系,线性步长模型是在步长和步频、加速度方差之间建立一个线性的估计模型,所述步骤S1.2进一步包括:S1.2.1、基于当前时刻迈步的迈步时间与前一时刻迈步的迈步时间获得当前时刻迈步的步频;所述步频的计算公式为:其中,fi为第i步的步频,ti为第i步的迈步起点时间。S1.2.2、基于当前迈步内的每个采样点的加速度幅值、当前迈步的所述滤波后的加速度的平均值、以及采样点的个数获得加速度方差;所述加速度方差的计算公式为:其中,Ns是第i步内的加速度采样点的个数,at是在第i步的单步周期内每个采样点的加速度幅值,是第i步的单步周期内的加速度平均值。S1.2.3、基于所述步频、所述加速度方差以及根据行走习惯预设的参数获得步长,所述步长的计算公式为:li=a*fi+b*vi+c其中,li为第i步的步长,a、b、c是根据人的行走习惯,在训练阶段内预设好的参数。设定人前行的方向为Y轴正方向,X轴正方向垂直于Y轴水平向右,Z轴正方向沿人体竖直向上。然而实际行人行走过程中,不一定严格保持手持设备平放,可能会倾斜或者放入口袋中。这时,智能手持设备内的加速度传感器、陀螺仪的空间坐标系与行人的空间坐标系不重叠,此时就不能只使用z轴的角度数据表示航向。通过将手持设备的坐标系投影到行人的空间坐标系上进行计算,可以适应于各种手持手持设备的方式,不用必须将手持设备严格平放于胸前,可以斜放或者放置于口袋当中等,可通过下式计算Z轴方向的偏转角度,所述步骤S1.3进一步包括:S1.3.1、基于手持设备在x、y、z轴方向的角速度获得手持设备在x、y、z轴方向的角位移,所述手持设备的在x、y、z轴方向的角位移的计算公式分别为:其中,wx、wy、wz分别为x、y、z轴的角速度,θx、θy、θz分别为x、y、z轴的角位移,tbegin和tstop分别表示第t步的开始时间和结束时间。S1.3.2、基于手持设备在x、y、z轴方向的角位移以及竖直方向的加速度在x、y、z轴方向的分量获得行人的角位移,所述角位移的计算公式为:Oz为θx、θy、θz投影到行人坐标系Z轴的角位移;行人在直线行走的过程中,其手机坐标系中x、y、z轴的平均加速度的矢量和约为地球的重力加速度g,即行人坐标系中Z轴方向上的加速度分量;行人坐标系中Z轴方向上的加速度分量可以被分解成三个部分,即手机坐标系中的算术平均值在一个实施例中,所述步骤S1.4所采用的公式为:L(tk-1)=n(tk-1)*S(tk-1)其中,xk为k时刻行人的x轴的坐标;yk为k时刻行人的y轴的坐标,L(tk-1)为k-1时刻行人的位移,n(tk-1)为行走步数,S(tk-1)为一步的步长,r为行人的角位移。在一个实施例中,所述步骤S2.1进一步包括:S2.1.1、选取室内磁场异常的位置作为校正点,测量所述校正点的正左和正右两个方向的磁感应强度,构成二维磁感应强度坐标;以及S2.1.2、将所述二维磁感应强度坐标与矫正点的二维位置坐标对应,获得磁场地图。图6示出了直角转弯状态下行人航迹的偏转角度示意图,对于在转弯处的校正点,本发明规定保持方向不变地测量正左、正右的磁感应强度,其中二维磁感应强度坐标的前后分别为左、右两个方向的磁感应强度,设定行人进入一个建筑物之前的位置或者GPS信号消失或减弱前最后提供的位置为室内定位的起点,设定二维位置坐标的起始点为(0,0),为了与步骤1获得的坐标方向相同,本发明设x轴负方向为正北,y轴负方向为正西,由此形成了磁场地图。在一个实施例中,本发明的实验在北京邮电大学第三教学楼一层进行,该教学楼属于钢筋混凝土结构,因此在某些特征点具有独特的磁场特性,这些特征点即可设定为校正点,校正点的信息如表1所示:表1教三一楼磁场校正点信息表基于粒子滤波算法的地磁匹配算法,首先依据行人位置系统状态向量的经验条件分布,在行人位置状态空间抽样产生一组随机样本集合,这些样本集合称为粒子;然后根据观测值不断调整粒子的权重大小和样本位置;最后通过调整后的粒子信息修正最初的行人位置经验条件分布,估计出系统状态和参数。粒子滤波算法的系统状态模型和观测模型分别见如下两式:xk=Φxk-1+Γμk-1Zk=Zkt+vk其中xk=[xk,yk]T为k时刻的系统状态值,为k-1时刻的系统噪声;Zk为k时刻的观测值,即实际测量的地磁校正点的值,Zkt为k时刻的真实值,vk为k时刻的观测噪声。在一个实施例中,基于所述地刺匹配算法,所述步骤S2.2进一步包括:S2.2.1、当行人的位置坐标位于校正点时,在所述位置坐标周围随机采集一组粒子,所述粒子具有独立的坐标值。在一个实施例中,粒子滤波的初始化过程通过检测到第一个校正点来激活。在一个实施例中,所述步骤S2.2进一步包括:S2.2.2、基于任一个粒子的坐标值获得该粒子的系统状态值,本步骤的计算公式如下:其中,和分别表示该粒子的x轴和y轴的坐标值;nt为零均值高斯噪声。在一个实施例中,所述步骤S2.2进一步包括:S2.2.3、基于该粒子的所述系统状态值和校正点的二维位置坐标获得每个粒子的权值,本步骤的技术公式如下:Zt=Zrt+ng其中,Zt为校正点的二维位置坐标,更具体地说,它是手持设备获取的校正点的二维位置坐标,Zrt为真实的校正点的二维位置坐标,ng表示手持设备的噪声,由于噪声是不可能去除的,因此Zt永远和Zrt存在偏差,代表第i个粒子的权值,σ表示手持设备的偏移标准差,由手持设备的说明书给出。进一步对所有粒子的权值进行归一化处理,得到归一化权值。在一个实施例中,所述步骤S2.2进一步包括:S2.2.4、基于所有粒子的系统状态值和归一化权值获得估测值,将所述估测值作为校正后的位置坐标,本步骤的计算公式为:其中,为估测值,N表示粒子的总数。下面按照本发明的方法进行实验,说明本发明的实验效果。测试环境:MATLAB2014b;本次实验使用小米2s智能手机,基于Android4.1.1系统,内置三轴加速度传感器,陀螺仪,三轴磁场传感器;智能手机内部各传感器采样频率均为50Hz,采样高度为1.2m,实验地点在北京邮电大学第三教学楼。测试结果如下:表2步态检测算法评估表表2是在北京邮电大学第三教学楼实验场地中,将智能手机放入口袋中,分三组实验,行人尽量保持匀速行走,每次行走260步,并统计实际总步数、算法得到的总步数和无效步数,并计算准确率和分析结果,三组的平均准确率高达97.7%,错误率不足3%,较传统的步态检测方法,本发明具有较高的准确率。表3线性步长参数训练结果状态astepbstepcstep正常走0.09080.00910.4113正常跑0.00120.09031.152表3是为了得到比较准确的轨迹,通过MATLAB中的多元线性回归分析的函数regress(),训练了自己正常走和正常跑的参数,结果参数如上所示。表4线性步长算法评估表4是在北京邮电大学第三教学楼实验场地中,将智能手机平放,正常行走10步,并实际测量步长和分析智能手机分析出的数据,本次测量误差可以控制在比较小的范围内,步长误差在3厘米内,误差率在5%以内。可以看出线性步长估计模型更适合行人的实时步长,以及不同的运动方式。图8示出了室内定位系统的整体仿真图,步数检测的有效步数为246步,实际部数251步,误差小于2%;从图中9可以明显看出5次直角转弯。图中星号点为校正点,曲线分别为真实轨迹、精度提高的航迹推算、精度提高的航迹推算+航迹纠正。黑色的点虚线表示精度提高的行人航迹推算,可以看出计算的路径与真实的路径最大距离在5m左右,这是由于尽管我们提高的各个模块的精度,但是陀螺仪在使用过程中是由累计偏差的,无法消除,所以使得航向稍微有偏差。红色的实线表示精度提高的航迹推算+航迹纠正,可以看出,每个点纠正后,航向还是会继续偏转,还是由于陀螺仪的累计误差无法消除。纠正后的航迹与真实轨迹之间最大的差值在2m之内。从仿真结果可以看出,本文提出的算法在实际应用中可以有很好的定位精度,具有一定的实用性和可行性。本发明还提供一种基于手持设备的室内定位系统,所述手持设备包括加速度传感器、陀螺仪以及地磁感应器,包括:位置坐标模块,基于行人的步数、步长以及角位移获得行人的位置坐标;以及定位校正模块,基于室内的磁场地图对所述位置坐标进行定位校正。最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3