一种基于WiFi与PDR的室内定位简易方法与流程

文档序号:12310555阅读:832来源:国知局
一种基于WiFi与PDR的室内定位简易方法与流程

本发明涉及室内定位技术领域,具体涉及一种基于android智能终端设备的室内定位简易方法。



背景技术:

随着无线通信技术的快速发展和人们对定位服务需求的日益增多,无线定位技术获得越来越多的关注。全球定位系统gps(globalpositionsystem)是20世界70年代由美国国防部研制建立的一种具有全方位、全天候、全时段、高精度的卫星导航系统,能为全球用户提供低成本、高精度的三维位置、速度和精确定时等导航信息。在信号比较容易到达的无遮挡的室外,可以通gps来获取高精度的定位信息。对于室内环境,由于gps信号强度受到室内复杂环境的影响而大为衰弱,降低了定位精度,无法取得有用的位置信息。

研究表明人们日常生活中90%的时间是在室内,也就是说大部分时间都是gps定位照顾不到的,所以我们需要研究别的室内定位技术。现如今,室内定位技术受到了越来越多的关注,人们对室内定位的需求不断增长,如:地下车库对车辆位置的定位管理,医院对病人的跟踪管理,家中儿童老人定位看护以及发生灾难时的人员追踪与定位等等。根据室内环境的复杂多变性,室内定位的各种实现方法和解决方案也日益出现,比如依靠gnss技术实现室内定位,或利用无线传输技术进行室内定位,以及利用航位推算、图像分析、电脑视觉等技术进行室内定位。

现有的红外线、rfid等定位技术的定位精度一般,而且需要预先在定位环境中铺设精度较高的信号接收装置,对信号接受装置的摆放位置也有很高要求。而如超声波和超宽带等定位技术的定位精度较高,但定位装置的成本造价太高,不便于技术推广。如蓝牙、zigbee等定位技术虽然应用较为普及,实现成本较低,但定位精度受周围环境影响较大。wifi技术是一种基于无线信号的定位技术,它对基础设施的需求低,成本低廉,而且不需要安装额外设备,是现在主流的室内定位技术。但wifi室内定位技术也存在着信号容易被室内复杂环境干扰的缺点。pdr(pedestriandeadreckoning)定位技术是一种基于传感器的定位技术,是一种相对位置定位技术,能够随时提供运动体连续的二维位置信息。与基于无线信号的定位技术相比,该技术的优点在于它的定位精度,取决于传感器实时测量的数据的准确性,受周围环境的干扰较小。但是pdr技术也有相应的缺点,它容易产生累积误差。



技术实现要素:

本发明的目的在于克服现有的室内定位技术存在的精确度不足,易于受环境干扰和成本高的缺点,本发明提出了一种能够有效提高定位精度,减小环境干扰,成本低廉,技术原理简单,易于推广的室内定位简易方法。

本发明是通过下述技术方案实现的:

一种基于wifi与pdr的室内定位简易方法,包括如下步骤:

s1:设定初始位置和步长;

s2:通过加速度传感器测量的加速度值对行人的运动状态进行判定;

s3:通过rssi值进行wifi定位方法,采集多个参考节点的rssi值,当检测到rssi值超过阈值时,运用改进后的算法计算出当前位置,将当前位置作为实际位置值;

s4:进行pdr定位,对室内行人进行航迹推算得到位置估计。

上述技术方案中,步骤s2中,判断行人的运动状态的方法如下:

通过android系统提供的系统接口获取移动终端加速度传感器的实时数据,得到数组ai=(xi,yi,zi),xi、yi、zi分别代表系统第i次测量时在三个方向上的加速度,与此同时通过对z轴加速度值zi进行峰值检测,得到z轴加速度峰值大小数据zp,间隔时间ti,持续时间td;

记录当前时刻的加速度传感器数据an=(xn,yn,zn)与100ms前的加速度传感器数据an-1=(xn-1,yn-1,zn-1),将an与an-1的数据与间隔时间ti进行处理可以得到震动幅度值value,value由以下的式子得出:

value=(|xn-xn-1|+|yn-yn-1|+|zn-zn-1|)/ti*100,

对value的累积值values进行检测,当values大于设定的震动阈值5时,才会判断z轴加速度峰值大小数据zp是否大于1.5,当300ms>持续时间td>90ms,间隔时间ti>100ms时,计步算法才会判定用户的移动。

上述技术方案中,在步骤s3中的采集rssi值,当检测到有三个以上的rssi值超过阈值时,运用rssi三角形质心算法计算出当前位置,将当前位置作为实际位置值,实现rssi测距补偿。

上述技术方案中,步骤s3具体通过以下步骤实现:

s301:设定rssii表示未知节点m接受固定锚节点b1信号的rssi平均值,pi表示未知节点m接收到固定锚节点bi的信号强度平均值,则两者的转换关系,如公式所示:

为固定锚节点bi和bj之间的距离,为以固定锚节点bi和bj计算得到的从未知节点m到固定锚节点bi的距离,如下式所示:

s302:所有锚节点以相同功率周期性地对外发出广播信息,信息中包括自身坐标及节点id,未知节点收集每一锚节点的rssi值,求出每个锚节点的平均值;

s303:当普通节点收集到一定数量的锚节点信息时,求出普通节点到锚节点距离,由对应公式计算出di,将计算得到的di值从小到大排列;

s304:普通节点根据rssi值从大到小对锚节点排序,并建立rssi值与节点到锚节点距离的映射,建立三个集合,

其中锚节点位置集合:p_set={(x1,y1),(x2,y2),…,(xn,yn),},

锚节点集合:b_set={a1,a2,…,an},

未知节点到锚节点距离集合:d_set={d1,d2,…,dn},三个集合根据di从小到大的顺序进行排列;

s305:在锚节点集合b_set中优先选取rssi值大的前几个锚节点,组成以下的锚节点集合:

tset={(a1,a2,a3),(a1,a2,a4)…..(a1,a3,a4),(a1,a3,a5)…}

对锚节点集合tset,根据传统的三角形质心算法,求出最终节点m坐标,也就是最后的定位位置。

上述技术方案中,步骤s4具体包括对室内行人进行航迹推算,设定k是预先设定的步长,ai表示第i次测量的z轴加速度值,n表示行人在一步过程中一共采集到了n次z轴加速度值,根据以上的数值,估算位移stepsize,由下面的式子得出:

通过android智能设备提供的方位传感器对应api接口得到浮点型方向数据后,首先对东西南北四个方向进行判断,然后每隔45度分割,以此判断东南、东北、西南和西北,然后再计算出具体的度数得到具体的方位,根据方位和估算位移,由初始位置p0得到推算位置p1,将推算位置p1的值赋给p0,做好下一次pdr定位的准备。

上述技术方案中,所述android智能设备包智能手机、智能平板或者智能手表。

本发明与现有技术相比,具有如下有益效果:

由于本本发明使用的技术方案是采用基于rssi的wifi定位技术与pdr技术相融合的联合定位策略,基于rssi的绝对定位克服了单独使用pdr航位推算算法时步长不稳定及容易产生积累误差的缺陷,又可以通过pdr技术减小rssi定位的波动性。定位过程主要采用航位推算,规避了基于rssi室内定位时信号易受环境干扰的缺点。同时,使用本发明的方法的系统不用安装外部设备,对传感器的精度要求低,从而在避免设计复杂度较高的系统的同时,还可减少硬件成本消耗,进而使得室内定位时耗费的成本较低。本发明具有成本低廉,技术原理简单,并且定位精度较高,受周围环境干扰较小的优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。

图1为本发明的流程示意图;

图2为本发明中的运动状态判断原理图;

图3为本发明中基于pdr的计步算法流程图;

图4为本发明中基于rssi的三角形质心定位原理图;

图5为本发明中运用方位传感器判断方向流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

如图1所示,本发明提出一种基于wifi与pdr的室内定位简易方法,包括如下步骤:

s1:设定初始位置和步长;初始步长需要根据对应模型设定。通过一个佩戴在行人身上的设备,由加速度传感器实时收集数据,可以由收集的加速度信息和预先设定的阈值进行初始化状态判定。通过行人起步的时间和步行过程中的加速度值,通过步长算法求出行人的步长。

s2:通过加速度传感器测量的加速度值对行人的运动状态进行判定;

s3:通过rssi值进行wifi定位方法,采集多个参考节点的rssi值,当检测到rssi值超过阈值时,运用改进后的算法计算出当前位置,将当前位置作为实际位置值;

s4:进行pdr定位,对室内行人进行航迹推算得到位置估计。

步骤s2中,判断行人的运动状态的方法如下:

通过android系统提供的系统接口获取移动终端加速度传感器的实时数据,得到数组ai=(xi,yi,zi),xi、yi、zi分别代表系统第i次测量时在三个方向上的加速度,与此同时通过对z轴加速度值zi进行峰值检测,得到z轴加速度峰值大小数据zp,间隔时间ti,持续时间td,结果如图2所示。

记录当前时刻的加速度传感器数据an=(xn,yn,zn)与100ms前的加速度传感器数据an-1=(xn-1,yn-1,zn-1),将an与an-1的数据与间隔时间ti进行处理可以得到震动幅度值value,value由以下的式子得出:

value=(|xn-xn-1|+|yn-yn-1|+|zn-zn-1|)/ti*100,

对value的累积值values进行检测,当values大于设定的震动阈值5时,才会判断z轴加速度峰值大小数据zp是否大于1.5,当300ms>持续时间td>90ms,间隔时间ti>100ms时,计步算法才会判定用户的移动,如图3所示。

在步骤s3中的采集rssi值,当检测到有三个以上的rssi值超过阈值时,运用rssi三角形质心算法计算出当前位置,将当前位置作为实际位置值,实现rssi测距补偿。

步骤s3具体通过以下步骤实现:

s301:设定rssii表示未知节点m接受固定锚节点b1信号的rssi平均值,pi表示未知节点m接收到固定锚节点bi的信号强度平均值,则两者的转换关系,如公式所示:

为固定锚节点bi和bj之间的距离,为以固定锚节点bi和bj计算得到的从未知节点m到固定锚节点bi的距离,如下式所示:

s302:所有锚节点以相同功率周期性地对外发出广播信息,信息中包括自身坐标及节点id,未知节点收集每一锚节点的rssi值,求出每个锚节点的平均值;

s303:当普通节点收集到一定数量的锚节点信息时,求出普通节点到锚节点距离,由对应公式计算出di,将计算得到的di值从小到大排列;

s304:普通节点根据rssi值从大到小对锚节点排序,并建立rssi值与节点到锚节点距离的映射,建立三个集合,

其中锚节点位置集合:p_set={(x1,y1),(x2,y2),…,(xn,yn),},

锚节点集合:b_set={a1,a2,…,an},

未知节点到锚节点距离集合:d_set={d1,d2,…,dn},三个集合根据di从小到大的顺序进行排列;

s305:在锚节点集合b_set中优先选取rssi值大的前几个锚节点,组成以下的锚节点集合:

tset={(a1,a2,a3),(a1,a2,a4)…..(a1,a3,a4),(a1,a3,a5)…}

对锚节点集合tset,根据传统的三角形质心算法,求出最终节点m坐标,也就是最后的定位位置,如图4所示。

步骤s4具体包括对室内行人进行航迹推算,设定k是预先设定的步长,ai表示第i次测量的z轴加速度值,n表示行人在一步过程中一共采集到了n次z轴加速度值,根据以上的数值,估算位移stepsize,由下面的式子得出:

通过android智能设备提供的方位传感器对应api接口得到浮点型方向数据后,首先对东西南北四个方向进行判断,然后每隔45度分割,以此判断东南、东北、西南和西北,然后再计算出具体的度数得到具体的方位,根据方位和估算位移,如图5所示。由初始位置p0得到推算位置p1,将推算位置p1的值赋给p0,做好下一次pdr定位的准备。

所述android智能设备包智能手机、智能平板或者智能手表。

上述方案使用的是基于rssi的wifi定位技术与pdr技术相融合的联合定位策略,基于rssi的绝对定位克服了单独使用pdr航位推算算法时步长不稳定及容易产生积累误差的缺陷,又可以通过pdr技术减小rssi定位的波动性。定位过程主要采用航位推算,规避了基于rssi室内定位时信号易受环境干扰的缺点。同时,使用本发明的方法的系统不用安装外部设备,对传感器的精度要求低,从而在避免设计复杂度较高的系统的同时,还可减少硬件成本消耗,进而使得室内定位时耗费的成本较低。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

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