基于PDR与蓝牙区段模糊匹配的室内融合定位方法与流程

文档序号:19486108发布日期:2019-12-21 03:51阅读:293来源:国知局
基于PDR与蓝牙区段模糊匹配的室内融合定位方法与流程

本发明涉及地理定位技术,尤其涉及一种基于pdr与蓝牙区段模糊匹配的室内融合定位方法。



背景技术:

随着我国的经济的不断发展,对室内定位技术的需求日益增长,作为lbs最后一米的室内定位备受关注,其也在近几年得到了广泛的发展和应用。与此同时,智能手持终端的迅速发展,给基于蓝牙的室内定位技术提供了良好的发展环境,对于集成蓝牙设备的智能手持终端,用户仅需开启蓝牙,即可实现室内环境的定位导航。

为了实现良好的室内定位体验,现有的一些公开的专利和论文都提出了各自的理论解决方案。专利名称:基于蓝牙和惯导的融合室内定位方法(专利号:201710063113.x)公开了一种基于蓝牙和计步器的融合室内定位方法,其主要是基于rssi指纹库,利用计步器步长和卡尔曼滤波器进行定位位置的纠正更新,同时通过指纹方向和计步器方向不断纠正当前方向。

该定位方法较为新颖,但仍存在不少问题:

1)首先,采用rssi指纹库,需要事先离线采集室内空间指纹,对于地下停车场、商场等大型室内环境,该方法的将消耗大量人力物力,且一旦室内布局和拓扑结构发生变化,指纹库的准确度将受到影响,需重新采集更新指纹库,费时费力;同时,如果应用整个空间的指纹进行位置匹配,计算量过大,且在兼顾多个终端的情况下,定位的实时性无法得到保证;

2)其次,使用蓝牙来定位极易出现严重的波段信号跳跃,其定位的稳定性较差,关键在于实际应用中由于定位设备质量参差,容易发生蓝牙基站搜索缺漏、中断等问题,蓝牙定位会发生反复回跳的问题,在此情况下,获得的蓝牙指纹方向大概率会出现无序、大幅度的变化,当蓝牙指纹不正常或在用户处于拐弯处时,采用均值计算方向的做法因此会带来较大的方向误差,而方向的误差在一定时间后即会给惯导定位带来较大的累积误差,影响定位准确度。

3)最后,惯导方向的获取在实际的应用开发中不具通用性,在部分开发环境下,没有现成接口可供调用,而自行调用底层硬件就会给开发工作带来极大的时间和金钱成本,同时,由于设备传感器性能参差不齐,获得的方向也不尽准确。



技术实现要素:

本发明提出了一种基于pdr与蓝牙区段模糊匹配的室内融合定位方法。

实现本发明的技术解决方案为:一种基于pdr与蓝牙区段模糊匹配的室内融合定位方法,具体步骤为:

步骤1、根据实际应用的室内环境部署蓝牙基站,相邻两个基站的间距根据实际环境条件和蓝牙发射功率调整;

步骤2、初始化计步器及地图比例尺;

步骤3、根据蓝牙基站返回的定位数据,采用蓝牙区段模糊匹配算法,计算本次蓝牙初步定位位置;

步骤4、判断向量方向偏差是否满足方向构建条件,如果满足则方向构建计数器累加一,进行下一步;如果不满足则方向构建计数器清零,执行步骤6;

步骤5、判断方向构建计数器是否大于等于三,如果大于等于三则将方向构建计数器清零,同时采用方向构建算法构建方向并确定本次最终定位位置,结束本次定位;如果小于三则执行步骤6;

步骤6、判断是否已构建过用户方向,若未构建,对本次蓝牙初步定位位置进行纠正,以纠正后的蓝牙定位位置作为本次最终定位位置;若已构建,则利用行人航迹推算计算推测位置,根据本次蓝牙初步定位位置与推测位置,采用防回退算法来确定本次最终定位位置。

本发明与现有技术相比,其显著优点为:本发明仅需部署少量蓝牙基站,降低了部署复杂度,且软硬件维护需求较少,金钱和人力成本低廉;同时,克服了用户手持终端传感器质量参差的问题,采用通用性的方向构建算法,跨应用环境开发的兼容性强,对用户手持终端传感器的依赖性相对较低,且利用了行人航迹推算短时间内的高可靠性,采用蓝牙定位修正偏差,保证了室内较高精度、较低时延的定位导航体验。

下面结合附图对本发明做进一步详细的描述。

附图说明

图1本发明基于pdr与蓝牙区段模糊匹配的室内融合定位方法流程图。

具体实施方式

结合图1所示,一种基于pdr(行人航迹推算)与蓝牙区段模糊匹配的室内融合定位方法,具体步骤为:

步骤1、根据实际应用的室内环境部署蓝牙基站,相邻两个基站的间距根据实际环境条件和蓝牙发射功率调整;

进一步的实施例中,蓝牙基站首先部署在室内通道的关键位置,然后以关键位置为中心每间隔一定距离布置一个蓝牙基站,所述关键位置是指定位导航过程中能给予用户指示性意义的位置,其中,布置的间隔距离由实际环境条件和蓝牙发射功率决定。例如根据实际应用的室内环境,在室内通道包括但不限于交叉口、拐弯处等位置部署蓝牙基站于通道中轴线正上方,然后以所述关键位置为中心每隔一定距离布置一个蓝牙基站。

步骤2、初始化计步器及地图比例尺;

步骤3、用户手持终端与搜索到的各蓝牙基站建立连接,各蓝牙基站返回定位数据,采用蓝牙区段模糊匹配算法,计算本次蓝牙初步定位位置;

进一步的实施例中,所述定位数据至少包括蓝牙基站唯一标识号和蓝牙基站距所述用户手持终端的距离。

进一步的实施例中,采用蓝牙区段模糊匹配算法,计算本次蓝牙初步定位位置的具体步骤为:

遍历所述各蓝牙基站,找出符合特定条件的蓝牙基站,由所述符合特定条件的蓝牙基站及其与用户手持终端最近的相邻基站确定用户所在位置区间,所述位置区间为两蓝牙基站相连直线包含的坐标区间,首先将位置区间等分为两个大区段,所述两蓝牙基站各自关联与其邻近的一个大区段,然后将所述大区段等分为两个或以上的小区段,最后依据蓝牙发射功率,设定每个小区段的阈值范围,其中,所述阈值范围是指位于小区段内时用户手持终端与所述小区段归属的蓝牙基站的距离范围,然后根据用户手持终端与所述符合特定条件的蓝牙基站的距离落入的区段距离确定用户所在小区段,并以小区段中点作为本次蓝牙定位位置。

优选地,蓝牙基站符合的特定条件为:

条件一、用户手持终端搜索到的各蓝牙基站中应有至少一个以上的基站与该基站相邻;

条件二、该基站为符合条件一的基站中与用户手持终端距离最近的基站。

步骤4、判断向量方向偏差是否满足方向构建条件,如果满足则方向构建计数器累加一,进行下一步;如果不满足则方向构建计数器清零,执行步骤6;其中,所述方向构建计数器是指一个记录满足所述方向构建条件次数的变量。

每次采用蓝牙区段模糊匹配算法定位时,都会获得由上一次蓝牙初步定位位置指向本次蓝牙定位位置的向量及步数差,进一步的实施例中,所述方向构建条件即指本次定位较上次定位中所述向量方向偏差小于10°同时步数差在两步及以上。

步骤5、判断方向构建计数器是否大于等于三,如果大于等于三则表征用户正以较快速度朝着上一次蓝牙初步定位位置指向本次蓝牙定位位置的向量方向前进,则将方向构建计数器清零,同时采用方向构建算法构建方向并确定本次最终定位位置,结束本次定位;如果小于三则执行步骤6;

进一步的实施例中,采用方向构建算法构建方向并确定本次最终定位位置具体为:

步骤5.1、以上一次蓝牙初步定位位置指向本次蓝牙初步定位位置的向量方向作为用户初始方向,判断是否已构建过用户方向,若未构建过,则执行步骤5.2;若已构建过,则执行步骤5.3;

步骤5.2、应启动方向监听器,监听用户手持终端转动角度,实时获得用户当前方向,完成用户方向的构建,并以本次蓝牙初步定位位置作为本次定位最终定位位置;

步骤5.3、重置方向监听器,以本次蓝牙初步定位位置作为本次定位最终定位位置。

步骤6、判断是否已构建过用户方向,若未构建,对本次蓝牙定位位置进行纠正,以纠正后的蓝牙定位位置作为本次最终定位位置,同时亦以纠正后的蓝牙定位位置作为本次最终定位位置来纠正了pdr的累积误差;若已构建,则利用行人航迹推算计算推测位置,根据本次蓝牙初步定位位置与推测位置,采用防回退算法来确定本次最终定位位置。

进一步的实施例中,对本次蓝牙定位位置进行纠正的纠正策略具体为:

策略1、若本次蓝牙定位与上次定位的步数差小于一步或本次蓝牙定位位置较上次定位位置不变,则输出上次定位位置作为本次定位最终定位位置;

策略2、若所述步数差大于等于一步,则本次蓝牙定位位置的纠正公式如下:

式中,currentbtpostion′为纠正后的蓝牙定位位置在x和y轴上的坐标,currentbtposition为本次蓝牙定位位置在x和y轴上的坐标,lastpostion为上次定位位置在x和y轴上的坐标,stepdischange为步数差计算的行走距离,posdischange为本次蓝牙定位位置与上次定位位置的距离,输出本次蓝牙定位位置作为本次定位位置。

进一步的实施例中,根据本次与上次定位的步数差以及上次定位时的方向利用行人航迹推算计算推测位置;

优选地,利用行人航迹推算计算推测位置的计算公式为:

式中,predictposition为推测位置x和y轴上的坐标,lastposition为上一次最终定位位置x和y轴上的坐标,stepdiff为本次和上次定位的步数差,stepdis为行人单步伐距离长度,mapscale为地图比例尺,direction为上次定位时的用户方向。

根据本次蓝牙初步定位位置与推测位置,采用防回退算法确定本次定位最终定位位置,进一步的实施例中,具体步骤为:

步骤6.1、若推测位置较上次定位位置不变,输出推测位置作为本次最终定位位置;若推测位置较上次定位位置发生改变,计算本次蓝牙初步定位位置与推测位置的偏差距离;

步骤6.2、若所述偏差距离小于两步远,记本次蓝牙初步定位位置为临时定位位置;若所述偏差距离大于等于两步远,小于等于六步远,记本次蓝牙初步定位位置和推测位置的加权平均值为临时定位位置;若所述偏差距离大于六步远,偏差较大,记推测位置为临时定位位置,其中,每步的距离长度为行人单步伐距离及地图比例尺的乘积;

步骤6.3、计算由上次定位位置指向临时定位位置向量的方向与当前用户方向的差值,若差值小于20°,输出临时定位位置作为本次定位位置;若差值大于等于20°,输出预测位置作为本次最终定位位置。

下面结合实施例对本发明做进一步说明。

实施例1

一种基于pdr(行人航迹推算)与蓝牙区段模糊匹配的室内融合定位方法,具体步骤如下:

1)部署蓝牙基站

根据实际应用的室内环境,在室内通道包括但不限于交叉口、拐弯处等关键位置部署蓝牙基站于通道中轴线正上方,并以所述关键位置为中心每隔6-8m布置一个蓝牙基站,蓝牙发射功率设置在0db左右,其中布置的间隔距离根据实际环境条件和蓝牙发射功率适当调整,总体原则是蓝牙发射功率越大,间隔越大,反之亦然。

2)初始化计步器与地图比例尺

在用户手持终端,例如智能手机上,利用加速度传感器、数字罗盘、陀螺仪等设备信息,构建一个计步程序,初始化计步器参数,每当检测到三轴加速度的变化则开始累积步数;同时,根据所用的地图与实际地形确定比例尺,用于后续计算用户单步伐距离长度,并推测位置。

3)采用蓝牙区段模糊匹配算法,计算本次蓝牙初步定位位置

用户手持终端开启蓝牙后,与搜索到的各蓝牙基站通信,各蓝牙基站周期性返回定位数据,其中,所述定位数据至少包括蓝牙基站唯一标识minor号和蓝牙基站距所述用户手持终端的距离;利用蓝牙区段模糊匹配算法计算初步定位位置具体为:遍历所述各蓝牙基站,先从中找出距离最近的蓝牙基站b1,判断用户手持终端搜索到的各蓝牙基站中是否有基站与其相邻,如果有,则找出其相邻基站中离用户手持终端最近的一个,结束遍历;如果没有,则结束本轮遍历进行下一轮。所述下一轮中,找出距离次近的蓝牙基站b2,同样去判断用户手持终端搜索到的各蓝牙基站中是否有基站与其相邻,依此按距离从近到远的顺序不断找下去(b3、b4、b5……),直至找出两个符合条件的基站,如果找不到,则以最近蓝牙基站位置作为本次蓝牙定位位置,如果找到了,则由所述两个符合条件的蓝牙基站确定用户所在位置区间,其中,所述位置区间为两蓝牙基站相连直线包含的坐标区间,设置蓝牙发射功率为0db,将位置区间等分为六个区段,每个蓝牙基站分别管理与其相近的三个区段,将这三个区段的阈值范围根据离其归属蓝牙基站距离由近及远依次划分为:0-1m、1-2m、2-∞m,然后根据用户手持终端与所述符合特定条件的蓝牙基站的距离落入哪个阈值范围,即确定用户大概率在该阈值范围所在区段,并以区段中点作为本次蓝牙定位位置。

4)判断向量方向偏差是否满足方向构建条件,如果满足则方向构建计数器累加一,进行下一步;如果不满足则方向构建计数器清零,执行步骤6;

每次采用蓝牙区段模糊匹配算法定位时,都会获得由上一次蓝牙初步定位位置lastpos指向本次蓝牙定位位置currentpos的向量d及步数差stepdiff,若在连续的三次定位中,本次定位较上次定位中所述向量方向偏差小于10°,同时步数差在两步及以上,表征用户正以较快速度往所述向量方向前进,方向构建计数器累加一,进行下一步;

5)判断方向构建计数器是否大于等于三,如果大于等于三则表征用户正以较快速度朝着上一次蓝牙初步定位位置指向本次蓝牙定位位置的向量方向前进,则将方向构建计数器清零,同时采用方向构建算法构建方向并确定本次最终定位位置,结束本次定位;如果小于三则执行步骤6;

采用方向构建算法构建方向并确定本次最终定位位置的具体步骤为:

步骤5.1、以上一次蓝牙初步定位位置指向本次蓝牙初步定位位置的向量方向作为用户初始方向,判断是否已构建过用户方向,若未构建过,则执行步骤5.2;若已构建过,则执行步骤5.3;

步骤5.2、应启动方向监听器,监听用户手持终端转动角度,实时获得用户当前方向,完成用户方向的构建,并以本次蓝牙初步定位位置作为本次定位最终定位位置;

步骤5.3、重置方向监听器,以本次蓝牙初步定位位置作为本次定位最终定位位置。

步骤6、判断是否已构建过用户方向,若未构建,对本次蓝牙定位位置进行纠正,以纠正后的蓝牙定位位置作为本次最终定位位置,同时亦以纠正后的蓝牙定位位置作为本次最终定位位置来纠正了pdr的累积误差;若已构建,则利用行人航迹推算计算推测位置,根据本次蓝牙定位位置与推测位置,采用防回退算法来确定本次最终定位位置。

对本次蓝牙定位位置进行纠正的纠正策略具体为:

策略1、若本次蓝牙定位与上次定位的步数差小于一步或本次蓝牙定位位置较上次定位位置不变,则输出上次定位位置作为本次定位最终定位位置;

策略2、若所述步数差大于等于一步,则本次蓝牙定位位置的纠正公式如下:

式中,currentbtposition为本次蓝牙定位位置在x和y轴上的坐标,lastpostion为上次定位位置在x和y轴上的坐标,stepdischange为步数差计算的行走距离,posdischange为本次蓝牙定位位置与上次定位位置的距离,输出本次蓝牙定位位置作为本次定位位置。

在本步骤中,利用行人航迹推算计算推测位置,根据本次蓝牙定位位置与推测位置,采用防回退算法来确定本次最终定位位置的具体方法为:

根据本次与上次定位的步数差以及上次定位时的方向利用行人航迹推算计算推测位置;

优选地,利用行人航迹推算计算推测位置的计算公式为:

式中,predictposition为推测位置x和y轴上的坐标,lastposition为上一次最终定位位置x和y轴上的坐标,stepdiff为本次和上次定位的步数差,stepdis为行人单步伐距离长度,mapscale为地图比例尺,direction为上次定位时的用户方向。

根据本次蓝牙定位位置与推测位置,采用防回退算法确定本次定位最终定位位置,进一步的实施例中,具体步骤为:

步骤6.1、若推测位置较上次定位位置不变,即没有移动,输出推测位置作为本次最终定位位置;若推测位置较上次定位位置发生改变,计算本次蓝牙定位位置与推测位置的偏差距离;

步骤6.2、若所述偏差距离小于两步远,偏差较小,记本次蓝牙定位位置为临时定位位置;若所述偏差距离大于等于两步远,小于等于六步远,偏差适中,记本次蓝牙定位位置和推测位置的加权平均值为临时定位位置;若所述偏差距离大于六步远,偏差较大,记推测位置为临时定位位置,其中,每步的距离长度为行人单步伐距离及地图比例尺的乘积;

步骤6.3、计算由上次定位位置指向临时定位位置向量的方向与当前用户方向的差值,若差值小于20°,表征临时定位位置较为可靠,输出临时定位位置作为本次定位位置;若差值大于等于20°,表征临时定位位置有一定误差,输出预测位置作为本次最终定位位置。

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