一种手机室内定位解决方法技术领域
本发明属于室内定位导航技术领域,尤其涉及一种基于智能手机平台的室内定位
方法及定位系统。
背景技术
近年来,随着物联网与无线通信的快速发展,基于位置的服务(Location Based
Service,LBS)得到越来越多的重视。如GPS提供的LBS服务广泛应用于汽车导航,医疗救护
等应用中。但是当GPS接收机在室内工作时,信号受到建筑物的阻碍,定位精度远远达不到
应用需求,因此,高精度的室内定位技术的研究成为近些年的研究热点。
常见的室内定位技术有室内无线定位技术和基于地磁定位技术的研究。室内无线
定位技术主要包括Wi-Fi技术、蓝牙技术、红外线室内定位技术、射频识别技术以及新型的
超宽带技术等。但是这些技术均需要预先大量铺设AP或蓝牙基站,成本较高且定位精度对
信号稳定性依赖较大。受到鸽子等生物可以利用地球磁场进行定位的启发,产生了基于地
磁场实现室内定位的技术。其主要依据是建筑物的钢筋混凝土结构及室内装修设备等使其
产生密度不同的地磁场,该特性可以将地磁场看作位置指纹实现室内定位。同理,无线定位
技术中也有一种方法是将信号的强度看作位置指纹实现定位,相比较而言,基于地磁场的
室内定位技术有更多优势,它不需要铺设任何基础设施,且信号更稳定,随着智能手机的快
速发展和普及,使得利用智能手机磁强计实现LBS的研究更有前景。Haverinen等人发表的
《Global indoor self-localization based on the ambient magnetic field》
(Robotics and Autonomous Systems 57,1028-1035)提出利用粒子滤波算法融合地磁场
实现室内定位的方法,但是只适用于一维空间的室内场景。Chung等人发表的《Indoor
location sensing using geo-magnetism》(Mobisys,ACM.pp.141-154)使用一组磁强计实
现二维空间的室内定位,平均精度4.7米,但是它需要对每个位置点旋转360度采集所有朝
向的磁场特征,信息采集工作量非常大。
发明内容
本发明要解决的技术问题是提高室内定位的精度以及传统WiFi室内定位技术存
在的耗能大、可靠性低和成本高的缺陷。
为此,本发明提出的技术方案为一种手机室内定位解决方法,包括以下步骤:
S1:在定位目标周围分布多个粒子,形成粒子集,利用粒子滤波算法和室内地磁场
地图,根据自所述智能手机的监测传感器接收的方向和磁场分量,确定所述粒子集中各粒
子的位姿和归一化权重;
S2:根据所述智能手机传感器检测的地磁分量对地磁地图进行Kring插值;
S3:当系统检测到定位目标失败时,采用自适应重采样策略,当系统检测到正确定
位目标后,恢复之前的重采样过程;
S4:根据所述重采样粒子集中各粒子的位姿和归一化权重,确定定位目标在所述
室内地磁图中的估计位置。
进一步,在粒子滤波算法中是根据传感器检测的数据确定所述粒子集中各粒子的
位姿和归一化权重,该数据包括:抽取地磁水平方向和垂直方向的分量形成新的HV位置指
纹,使用该二维指纹与地磁库匹配,采用磁场的变化率来克服不同的智能手机可能存在的
读数偏差问题;采用指数函数加权粒子来估计定位目标的姿态分布。
上述室内地磁地图为网格地图,所述Kring插值方法是以粒子滤波算法得到的估
计位置为中心,对周围10*10的小方格进行插值。
当系统检测到定位目标失败时,采用自适应重采样策略,当系统检测到正确定位
目标后,恢复之前的重采样过程包括:所述粒子集中各粒子均含有一个标志位,每当粒子的
位置与定位目标的估计位置超出规定值时,标志位置0,粒子的位置与定位目标的估计位置
在规定值之内时,标志位置1,当系统检测到标志位为1的粒子数小于设定的门限值时,系统
就采用自适应重采样策略,当系统检测到粒子的标志位为1的粒子数目大于门限值时,就恢
复之前的重采样过程。
上述自适应重采样方法包括:在重采样过程中,以定位目标的估计位置为中心,以
一个较大的距离为半径,在此空间随机一些随机粒子,并在全局空间重采样一部分粒子。
该方法中根据智能手机传感器所检测到的信息估计行人的运动步长,包括:
通过下式(1)和(2)更新粒子集,粒子集中包含正确跟踪行人的粒子,
xt=xt-1+T sinθt+N(0,δ) (1)
yt=yt-1+T cosθt+N(0,δ) (2)
其中,(xt-1,yt-1)为粒子在t-1时刻的位置,T为估计的用户移动的步长均值,θt表
示t时刻智能手机检测到的相对正北方向的角度,N(0,δ)表示均值为0,方差为δ的高斯变
量。
该方法中根据智能手机传感器所检测到的信息计算粒子的归一化权重,包括:
通过下式(3)和(4)计算所述粒子集中每个粒子的权重,
其中,ΔBH,ΔBV分别为传感器t时刻测得的水平和垂直方向上的地磁较上一时刻
的变化率,分别表示t时刻的第i个粒子的所在磁场地图位置的水平和垂直
方向的磁场较上一时刻的变化率,λ表示指数函数的变化情况,即权重取值的灵敏度。
本发明还进一步包括一种利用上述手机室内定位解决方法进行基于地磁场的室
内定位的智能手机平台系统,包括:
粒子集生成模块,用于在定位目标周围分布多个粒子,形成粒子集,利用粒子滤波
器和室内地磁图,根据自所述定位目标的监测传感器接收的方向和磁场值,确定所述粒子
集中各粒子的位姿和归一化权重;
重采样模块,用于从所述粒子集中选取多个粒子组成重采样粒子集;
Kring插值模块,用于更新地磁场地图;
自适应重采样模块,用于在跟踪定位目标错误时,重新寻找定位目标,正确估计定
位目标;
位置确定模块,用于根据所述重采样粒子集中各粒子的位姿和归一化权重,确定
定位目标在所述室内地磁图中的估计位置。
上述室内地磁图为网格地图,在开始定位之前需要加载事先采集训练的地磁数据
库,在完成对目标的定位之后,关闭系统时更新上传新的地磁数据库。
上述重采样模块用于:按归一化权重由大到小的顺序,从所述粒子集中选取多个
粒子组成重采样粒子集。
与现有技术相比,本发明的有益效果在于:
1,提出了一种完整,低成本的室内定位技术,本发明不需要外部安装无线节点、发
射器等硬件设施的支持,在断电、没有无线网络、充满浓烟等恶劣的环境下可以继续工作,
实现室内定位精度较高,平均为1-2米。
2,如遇到发生定位错误的情况,即定位误差较大超出可接受范围时,系统会自动
检索矫正,更新到正确位置。此外,与WiFi室内定位技术相比,本发明耗能小,可靠性高,成
本低。
附图说明
图1为本发明实施例提供的一种室内定位方法的的流程图;
图2为本发明实施例提供的另一种室内定位方法的的流程图;
图3为系统建立的运动模型坐标系;
图4为实验测试场地的室内平面图;
图5为采集的室内磁场图;
图6为根据本发明实施例提供的室内定位方法对定位目标进行定位的一次测试
图;
图7为根据现有技术提供的方法对定位目标在不同路径下行走进行定位的测试
图;
图8为本发明实施例在改变步长的情况下测试结果图;
图9为本发明实施例中粒子数目对定位误差的影响测试图。
图10为本发明实施例提供的一种室内定位设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例
中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是
本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员
在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人
员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
第一方面,本发明实施例提供一种室内定位方法,包括:
在定位目标周围分布多个粒子,形成粒子集,利用粒子滤波算法和室内地磁场地
图,根据自所述智能手机的监测传感器接收的方向和磁场分量,确定所述粒子集中各粒子
的位姿和归一化权重;
根据所述智能手机传感器检测的地磁分量对地磁地图进行Kring插值;
当系统检测到定位目标失败时,采用自适应重采样策略,当系统检测到正确定位
目标后,恢复之前的重采样过程;
根据所述重采样粒子集中各粒子的位姿和归一化权重,确定定位目标在所述室内
地磁图中的估计位置。
第二方面,本发明实施例还提供了一种室内定位系统,包括:
粒子集生成模块,用于在定位目标周围分布多个粒子,形成粒子集,利用粒子滤波
器和室内地磁图,根据自所述定位目标的监测传感器接收的方向和磁场值,确定所述粒子
集中各粒子的位姿和归一化权重;
重采样模块,用于从所述粒子集中选取多个粒子组成重采样粒子集;
Kring插值模块,用于更新地磁场地图;
自适应重采样模块,用于在跟踪定位目标错误时,重新寻找定位目标,正确估计定
位目标;
位置确定模块,用于根据所述重采样粒子集中各粒子的位姿和归一化权重,确定
定位目标在所述室内地磁图中的估计位置。
第三方面,本发明实施例提供了一种非易失性计算机存储介质,存储有计算机可
执行指令,所述计算机可执行指令用于执行本申请上述任一项室内定位方法。
第四方面,本发明实施例还提供了一种室内定位设备,包括:
安卓手机软件;其中,
所述安卓手机软件用于存储室内地磁图和可被所述处理器执行的指令,所述指令
被所述安卓手机软件执行,以使所述安卓手机软件能够:
在定位目标周围分布多个粒子,形成粒子集,利用粒子滤波算法和室内地磁场地
图,根据自所述智能手机的监测传感器接收的方向和磁场分量,确定所述粒子集中各粒子
的位姿和归一化权重;
根据所述智能手机传感器检测的地磁分量对地磁地图进行Kring插值;
当系统检测到定位目标失败时,采用自适应重采样策略,当系统检测到正确定位
目标后,恢复之前的重采样过程;
根据所述重采样粒子集中各粒子的位姿和归一化权重,确定定位目标在所述室内
地磁图中的估计位置。
假设用户位姿为状态矢量xt,环境磁场特征为m,其中xt与m相互独立。定义zt为传
感器测得的观测序列,ut为用户的控制变量。实现室内定位就是估计位姿和和环境磁场特
征的联合后验概率:
p(xt,m|zt,ut)=p(xt|zt,ut)*p(m|zt,ut) (5)
其中p(xt|zt,ut)可由xt-1与ut求得,满足
xt~p(xt|ut,xt-1) (6)
用粒子滤波器实现(5)式的主要过程为:初始化N个粒子,根据运行模型(6)更新每
个粒子,计算每个粒子的权重,依据权重实现粒子重采样。算法步骤如下:
初始化
本发明中假设已知用户的初始位置,在室内均匀分布N个粒子来表示机器人的
可能位姿,其中每个粒子权重为权值初始化为1/N。
重要性采样
通过传感器检测到行人的控制变量μt,对粒子集合从状态根据公式(6)进行更
新得到状态在新位置周围随机采样N个粒子,作为当前时刻对用户位姿概率分布的估
计。由于每个人的步长是不同的,且同一个人在不同的情况下步长也可能不同,所以进行了
更新,如下:
xt=xt-1+T sinθt+N(0,δ) (1)
yt=yt-1+T cosθt+N(0,δ) (2)
添加一个高斯变量,这样更新后每个粒子的步长就不完全相同,就会存在更接近
真实状态的粒子。
计算权重
和手机地磁传感器读取的地磁强度Bp进行比较可以评估每个粒子的权重,其中地
磁传感器的读数是三维向量Bp=<Bx,By,Bz>,分别代表基于手机坐标系三个轴方向上的磁
场强度分量。若直接使用Bp,则需要在每个位置采集360度朝向不同的磁场分量,这使得采
集和存储信息变得不可能。一种可行的方法是使用||Bp||,但是这样会将位置指纹信息从
三维降到了一维,使得指纹唯一性变差,定位精度不高。本发明在试验中采用HV指纹实现基
于地磁场的室内定位。考虑到不同智能手机安装的地磁传感器型号可能不同,因此准确性
存在一定的差别,就一种型号的传感器而言,在同一地点的读数也可能存在差别,一般情况
下需要添加传感器校准操作。本发明经过对不同智能手机对地磁的检测实验发现,不同手
机对磁场强度读数的偏差是恒定的,因此本文采用磁场变化率来实现室内定位。
对更新后的粒子进行权重计算,本文重要性概率分布函数选用指数分布形式,指
数分布的计算复杂度是O(N),而传统的高斯分布计算复杂度是O(N2),这样可以降低粒子滤
波的运算复杂度。粒子权重为
其中ΔBH,ΔBV分别为传感器t时刻测得的水平和垂直方向上的地磁较上一时刻的
变化率,分别表示t时刻的第i个粒子的所在磁场地图位置的水平和垂直方
向的磁场较上一时刻的变化率,λ表示指数函数的变化情况,即权重取值的灵敏度。λ值由实
验选出最佳值,本实验选取为2。
归一化权重
计算有效的粒子数
通过公式计算粒子t时刻第k步的位姿,若还要计算下一时刻的位
姿,则转到重要性采样步骤;否则结束定位。
根据本发明实施例提供的一种室内定位方法,如图1所示,包括:
步骤S101:在定位目标周围分布多个粒子,形成粒子集,调用智能手机的传感器检
测移动方向和当前位置磁场分量;
步骤S102:在粒子滤波算法中,根据建立的合理运动模型动态估计用户的实时步
长,采用HV指纹匹配模型和指数函数加权粒子来估计定位目标的姿态分布;
步骤S103:利用Kriging插值算法来插值更新磁场地图;
步骤S104:系统检测到估计位置周围粒子数小于规定门限值时,说明粒子处于发
散状态,在大的空间注入一些随机粒子,并在整个空间采样一部分粒子,当检测到估计位置
周围粒子数大于规定门限值时,说明粒子群处于收敛状态,粒子正确跟踪定位目标;
根据本发明实施例提供的一种室内定位方法,如图2所示,包括:
步骤S201:在定位目标周围分布多个粒子,形成粒子集。
假设已知用户的初始位置,在室内均匀分布N个粒子来表示机器人的可能位
姿,其中每个粒子权重为权值初始化为1/N。
步骤S202:根据智能手机传感器检测到的信息,计算粒子的位姿和归一化权重。
在本发明实施例中,室内地磁图是对平面图进行网格初始化,通过对目标所处的
室内进行实地测量获得,具体过程为利用智能手机地磁传感器,每隔一段距离测得一组磁
场数据,组成地磁数据库。然后将所有的磁场数据导入数据库中,形成L*L个网格的室内地
磁图。在地磁传感器测量过程中,分别测量水平面上纵向、横向和重力方向上的磁场分量。
在本发明实施例中,定位目标是手执智能手机的行人。
智能手机的监测传感器可以包括陀螺仪、加速度计和地磁传感器。
在本发明实施例中,步骤S102的具体实现为:
重要性采样:和手机地磁传感器读取的地磁强度Bp进行比较可以评估每个粒子的
权重,其中地磁传感器的读数是三维向量Bp=<Bx,By,Bz>,分别代表基于手机坐标系三个轴
方向上的磁场强度分量。若直接使用Bp,则需要在每个位置采集360度朝向不同的磁场分
量,这使得采集和存储信息变得不可能。一种可行的方法是使用||Bp||,但是这样会将位置
指纹信息从三维降到了一维,使得指纹唯一性变差,定位精度不高。本发明抽取水平方向和
垂直方向分量形成新的二维向量<BH,BV>,即HV指纹。本发明在试验中采用HV指纹实现基于
地磁场的室内定位。考虑到不同智能手机安装的地磁传感器型号可能不同,因此准确性存
在一定的差别,就一种型号的传感器而言,在同一地点的读数也可能存在差别,一般情况下
需要添加传感器校准操作。本发明经过对不同智能手机对地磁的检测实验发现,不同手机
对磁场强度读数的偏差是恒定的,因此本文采用磁场变化率来实现室内定位。
对更新后的粒子进行权重计算,本文重要性概率分布函数选用指数分布形式,指
数分布的计算复杂度是O(N),而传统的高斯分布计算复杂度是O(N2),这样可以降低粒子滤
波的运算复杂度。粒子权重为
其中ΔBH,ΔBV分别为传感器t时刻测得的水平和垂直方向上的地磁较上一时刻的
变化率,分别表示t时刻的第i个粒子的所在磁场地图位置的水平和垂直方
向的磁场较上一时刻的变化率,λ表示指数函数的变化情况,即权重取值的灵敏度。λ值由实
验选出最佳值,本实验选取为2。
步骤S203:本发明采用Kring算法对采集的地磁信息进行插值,根据周围已知位置
点的地磁信息进行加权操作估计未知点的地磁信息,如下:
其中S0为预测位置,Si为预测位置周围的随机位置点,λ为第i个位置点的权重。用
Si(ai,bi)表示位置点,S0(a0,b0)表示预测位置,然后求位置点之间的距离:
把距离按照大小排序,合成距离组,求出半变异分布形状。发明中用球形半变异拟
合模型求得S0处的地磁场预测值。
步骤S204:所述粒子集中各粒子均含有一个标志位,每当粒子的位置与定位目标
的估计位置超出规定值时,标志位置0,粒子的位置与定位目标的估计位置在规定值之内
时,标志位置1,当系统检测到标志位为1的粒子数小于设定的门限值时,系统就采用自适应
重采样策略,当系统检测到粒子的标志位为1的粒子数目大于门限值时,就恢复之前的重采
样过程。在重采样过程中,以定位目标的估计位置为中心,以一个较大的距离为半径,在此
空间随机一些随机粒子,并在全局空间重采样一部分粒子。
步骤S205:根据所述重采样粒子集中各粒子的位姿和归一化权重,确定定位目标
在所述室内地磁图中的估计位置。
在本发明实施例中,将重采样粒子集中各粒子的位姿及归一化权重相乘,累加得
到的乘积,估计定位目标在所述室内地磁图中的位置。
若定位目标继续行走,则返回到步骤S102进行下一次定位,若定位目标停止行走
则定位结束。
根据本发明实施例提供的室内定位方法,在图4的平面图中选取10米*10米的环境
进行室内定位实验。首先需要调用智能手机的地磁传感器,先由南向北,再由西向东,每隔
0.5米采集一组地磁数据<a1,a2,a3>,在测量过程中,手机水平放置,手机的方位与正北方
向尽量保持平行,读数即为水平面上纵向、横向和重力三个方向上的分量值,本文实验测得
的实验室内地磁图图5所示,其中西边有充电设备,故数值较大。
本发明在图4所示的室内进行了大量实验,在每组实验中,通过比较系统的定位结
果和实验人员的真实位置来计算系统的定位精度。具体实验过程为,在实验环境内先设定
几条路线,实验人员手持智能手机沿着事先设定的某一条路线前进,最后根据设定路线上
的真实位置坐标与手机定位的坐标进行比较。其中根据每条路线都会测试很多次系统性
能,图6为沿某一条设定路线的一次性能测试结果,终点误差为0.839米,图7为不同路径测
测试误差结果,其中路径A和路径B为环形路径,路径C和路径D含有较多直线路径。
本发明又针对行人的可能运动情况做了一些测试,如图7所示,当测试者固定步长
在室内进行移动时,传统的运动模型与文中的运动模型不存在较大区别,平均误差都在1米
左右,当测试者以不恒定的步长进行实验测试时,测试结果定位误差较大,平均在3米左右,
为图中绿色实线,文中采用的运动模型测试结果为蓝色虚线,定位误差在局部存在较大值,
但整体得到明显改善。
本发明对粒子数目对定位误差的影响进行了大量的仿真实验,总结粒子对定位误
差的影响如图9所示。本发明基于地磁场实现室内定位的智能手机平台解决方案可以采用
较少的粒子达到较高的定位要求,同时采用较少的粒子数可以减少计算复杂度及粒子收敛
时间,提高定位实时性。
图10是本发明实施例提供的一种室内定位系统1000,如图10所示,该系统包括:
粒子集生成模块1010,用于在定位目标周围分布多个粒子,形成粒子集,利用粒子
滤波器和室内地磁图,根据自所述定位目标的监测传感器接收的方向和磁场值,确定所述
粒子集中各粒子的位姿和归一化权重;
重采样模块1020,用于从所述粒子集中选取多个粒子组成重采样粒子集;
Kring插值模块1030,用于更新地磁场地图;
自适应重采样模块1040,用于在跟踪定位目标错误时,重新寻找定位目标,正确估
计定位目标;
位置确定模块1050,用于根据所述重采样粒子集中各粒子的位姿和归一化权重,
确定定位目标在所述室内地磁图中的估计位置。
该室内定位系统可执行指令可执行上述任意方法实施例中的室内定位方法,并能
达到与所述室内定位方法同样的效果。
本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储
有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的室内定位方
法。
本发明实施例的电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据
通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低
端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功
能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可
以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单
元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性
的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可
借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上
述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该
计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指
令用以使得一台计算机设备(可以是个人计算机,存储模块,或者网络设备等)执行各个实
施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管
参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可
以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;
而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和
范围。