室内定位融合算法的制作方法

文档序号:20583537发布日期:2020-04-29 01:38阅读:216来源:国知局
室内定位融合算法的制作方法

本发明涉及室内定位技术,具体来说是根据蓝牙信号、惯导数据和地磁数据进行综合定位的方法。



背景技术:

获取目标的位置信息在很多领域都具有非常重要的意义,定位技术越来越得到人们的关注与研究。目前成熟的定位服务限于室外场景,卫星定位系统如gps、北斗等gnss已经能够较好地解决室外定位问题,然而在室内以及其他遮蔽环境下卫星信号强度和质量急速下降。地面蜂窝移动网络在室内的信号质量和强度都远远优于卫星系统,但移动蜂窝网的定位精度较差,在几十米至几百米量级。

在一些特殊场景,如监狱、医院、养老院、商业化服务、园区、景区以及在仓储服务领域中,高精度的室内定位技术有着非常重要的意义,是某些应用的基础条件。在社会公共安全保障方面,精准的室内定位技术可以为消防员、警察等人员提供室内导航服务;在监狱,可以有效监控服刑人员的活动范围;在商场、博物馆等室内环境中可提供精准导航,在医院、养老院可以提供对病人及老人的看护定位服务。在仓储服务中,可以对物品进行定位。

目前,为了对室内空间中移动目标实现定位目的,出现了许多室内定位技术。例如,wi-fi、蓝牙、红外线、超宽带、rfid、zigbee和超声波等。

由于室内环境复杂,无线信号易产生多径效应等干扰,采用单一的技术手段很难实现精准定位。

本申请人2017年提出了《一种基于蓝牙的室内定位系统及方法》(201711238640.6),在实际应用中,随着室内环境的日渐复杂,已经不能满足定位需要。



技术实现要素:

本发明的目的是提供一种消除由于室内环境复杂造成的多径效应,提供更精准的室内定位的方法。

为实现上述目的,本发明采用的技术方案是:室内定位融合算法,基于蓝牙的室内定位系统实现,所述定位系统包括带有蓝牙信号发送装置的终端、蓝牙接收标签、定位管理服务器以及连接蓝牙接收标签和定位管理服务器的通信网络;绘制定位空间地图,在地图上设置定位参考点,在定位参考点上采集指纹数据,滤波处理后存入数据库,所述定位参考点为指纹点。

关键在于:所述终端中配置mems传感器,包括加速度传感器、陀螺仪、地磁传感器。

所述算法包括以下步骤:

步骤a、获取所有收到终端发出蓝牙信号的蓝牙接收标签及对应的信号强度。

步骤b、以上次定位结果为基准,依据mems传感器的数据,得出惯导定位位置。

步骤c、根据步骤a和步骤b得到的信息,筛选出蓝牙接收标签集合。

步骤d、将步骤d中得到的蓝牙接收标签集合进行指纹匹配,得到指纹点集合m。

步骤e、依据mems传感器的数据,得出地磁定位位置。

步骤f、根据惯导定位位置、地磁定位位置,对指纹点集合m进行筛选,得到指纹点集合n。

步骤g、根据指纹电集合n计算蓝牙定位位置。

步骤h、根据惯导定位位置和蓝牙定位位置,得出最终定位点。

进一步地,根据博弈论筛选出蓝牙接收标签集合和到指纹点集合。

以上步骤在每个定位周期内执行。

本发明,首先根据蓝牙信号的接收强度以及接收标签的位置,删除受多径效应干扰的蓝牙接收标签,然后进行指纹匹配,再根据匹配的指纹是否落入惯导定位位置、地磁定位位置周围,删除误匹配的指纹,根据选择的指纹计算蓝牙定位位置,再用惯导定位位置对蓝牙定位位置进行修正,得到最终定位点。

本发明中,依赖惯导定位位置、地磁定位位置对蓝牙接收标签和指纹进行筛选。惯导定位会产生累计误差,但在本发明中,惯导定位的基准位置是上次定位得到的最终定位点,是比较精准的位置数据,二两次定位的时间间隔不大,因此累计误差可以忽略不计。

采用本发明提出的方法,可以有效地删除受多径效应干扰的蓝牙接收标签,只选取正常接收的蓝牙接收标签进行指纹匹配;惯导定位依据上次室内定位结果,结果可信;根据惯导定位位置和地磁定位位置对匹配的指纹进行二次筛选;最终的定位点由蓝牙定位位置、惯导定位位置综合修正,几种定位技术相互弥补,定位准确。

附图说明

图1为室内定位空间的布置及定位示意图。

具体实施方式

实施基础。

本发明的基础是本申请人的在先申请《一种基于蓝牙的室内定位系统及方法》(201711238640.6)。

基于蓝牙的室内定位系统,包括带有蓝牙信号发送装置的终端、蓝牙接收标签、定位管理服务器以及连接蓝牙接收标签和定位管理服务器的通信网络,所述终端中还包括加速度传感器;所述通信网络由485集线器和通信线路组成,485集线器经通信线路分别连接蓝牙接收标签和通信网关,通信网关连接定位管理服务器。

所述系统将定位空间按现有的物理分隔划分成不同的定位区域,也是最小划分的区域,每个定位区域中设置2个及2个以上蓝牙接收标签;每个蓝牙接收标签设定一个覆盖范围,覆盖范围是该蓝牙接收标签所在定位区域及相邻的定位区域;定位管理服务器中存储定位空间的地图、各蓝牙接收标签的id及覆盖范围。

定位空间中设置定位参考点,相邻定位参考点之间的距离为2-3米,定位管理服务器中存储由定位参考点的位置信息和信号强度向量组成的指纹信息数据库,定位参考点的位置信息包括坐标和所属定位区域。

终端定时广播信息,蓝牙接收标签接收,并将接收到的信号强度发送给定位管理服务器。

实施上述方法时,首先进行前期准备。

建立一个参考坐标系,在参考坐标系中绘制定位空间地图,将室内平面图的左下角设定为坐标原点,沿建筑物的一面墙设定为x轴,垂直的另一面墙为y轴;以实际尺寸绘制室内平面图,其中包括墙体、门等物理隔离。

在个区域布置蓝牙接收标签,连接485通信网络,设定各蓝牙接收标签的覆盖范围并存储到服务器。

在各定位区域设置定位参考点的位置。

下面采集各定位参考点的指纹数据,生成指纹数据库。定位参考点为指纹点。

众所周知,蓝牙信号的传输受环境影响非常大,为了使采集时的环境更接近实际使用环境,在采集信号时,将楼层各房间、楼道等布置为日常使用的状态,摆放上永久性物品,如桌椅、柜子等。

终端为手环,佩戴在手腕上,由于人体的遮挡,人即使在同一位置,处于不同的朝向、不同的体位时,蓝牙接收标签收到手环的广播信号强度也不同。

人佩戴手环,站立在定位参考点,选取人面向东、西、南、北四个方向的使用场景。在每个场景下,手环发送强度为0dbm的100次广播信息。

每个场景下,距定位参考点较近的蓝牙接收标签能够收到全部广播信息,较远的会收到一部分,有些蓝牙接收标签收不到。

采集数据期间,只有一个或少数手环发送广播信息,无线电环境较为干净,为了更精确得到指纹数据,针对收到信息的蓝牙接收标签,对收到信息的信号强度进行滤波处理。

对信号强度进行基于高斯滤波、卡尔曼滤波、均值滤波的融合滤波处理,将(id1,rssi1),(id2,rssi2),......,(idn,rssin)和位置信息组合,作为该定位参考点的一条指纹数据存入数据库,其中,n为蓝牙接收标签的数量,idm(1<=m<=n)为第m个蓝牙接收标签的标识码,rssim(1<=m<=n)为经滤波处理后的第m个蓝牙接收标签收到信号的信号强度;若标识码为idm的蓝牙接收标签未收到广播信息,则rssim置强度极小值-200dbm。

融合滤波处理,按照收到手环广播信号的数量,分两种情况:

情况1:如果属于某一蓝牙接收标签(ap)的rssi数量大于或等于rssi数量阈值thre_rssi_num,如5,则对属于该ap的每一条rssi数据(每条数据包括若干个ap的rssi值)求均值μ和标准差σ,对这一ap的rssi分量保留rssi值在μ-3*σ和μ+3*σ之间的数据,不在此范围内的数据作为野值剔除,处理完成后,对各ap保留的rssi数据进而卡尔曼滤波处理(以均值u为卡尔曼滤波器初值,对数据按接收顺序进行滤波),对处理后的数据再求取均值,作为该ap的指纹点rssi向量。

情况2:如果属于某一ap的rssi数量小于rssi数量阈值thre_rssi_num,则对这一ap的rssi分量直接求均值,作为该ap的指纹点rssi向量。

均值:(s1+s2+...+sk)/k,其中,k是收到广播信息的个数,s是信号强度。

上述处理过程中,信号强度极小值,即-200dbm,不做处理。在下面描述中的过程中,信号强度极小值-200dbm,是未收到信号的标志,只用作比较,不做运算处理。

一个定位参考点上有4条指纹数据,分属不同方向。

图1中,显示了在室内定位空间中蓝牙接收标签及指纹点的分布。

实施方式。

步骤a、获取所有收到终端发出蓝牙信号的蓝牙接收标签及对应的信号强度。

终端以固定频率(如5hz)发送强度为0dbm的广播信息;蓝牙接收标签将收到的广播信息,连同id、信号强度发送给定位管理服务器,定位管理服务器对信息进行过滤,生成以下实时向量:(id1,rssi1),(id2,rssi2),......,(idn,rssin),

其中,n为蓝牙接收标签的数量,idm(1<=m<=n)为第m个蓝牙接收标签的标识码,rssim(1<=m<=n)为第m个蓝牙接收标签收到该终端信号强度的算术平均值,若标识码为idm的蓝牙接收标签未收到该终端的广播信息,则rssim置-200dbm。

步骤b、以上次定位结果为基准,依据加速度传感器及陀螺仪的数据,得出惯导定位位置。

基于mems惯导芯片的室内定位技术使用行人航迹推算的方法,通过基于行人的步态特征计算行走的步数和估计步长,联合航向信息推算行人的位置。

基于三轴mems加速度传感器分别建立了步态检测模型、步长模型,基于三轴mems陀螺仪建立航向模型,运用航迹推算的方法求取定位终端的位置变化。其中,计步模型依据加速度的周期性变化对人的行走过程进行计步,步长模型根据每个人的行走特征来确定模型参数,航向模型则基于陀螺仪输出的数据对人体的行走方向进行解算。

上次定位结果如图1所示,为“t0时刻”所在位置。

步骤c、根据步骤a和步骤b得到的信息,筛选出蓝牙接收标签集合。

步骤a中得到的蓝牙接收标签,由于室内多径效应的影响,有些接收的不是正常的信号。该步骤剔除这些标签。

可以依据信号强度和蓝牙接收标签距上次定位点的距离来进行剔除。但如果终端移动较快,上次定位点与本次定位点的距离较远,易发生误删除的情况。

本发明步骤c中,根据博弈论筛选蓝牙接收标签集合,包括以下步骤:

步骤c1、针对每个收到终端发出蓝牙信号的蓝牙接收标签api,假设信号强度为api_rssi,则:

如果api_rssi>=-30dbm则api_intensity_distance=1;

如果-30dbm>api_rssi>=-40dbm则api_intensity_distance=2;

如果-40dbm>api_rssi>=-50dbm则api_intensity_distance=3;

如果-50dbm>api_rssi>=-55dbm则api_intensity_distance=4;

如果-55dbm>api_rssi>=-60dbm则api_intensity_distance=5;

如果-60dbm>api_rssi>=-65dbm则api_intensity_distance=6;

如果-65dbm>api_rssi>=-70dbm则api_intensity_distance=7;

如果-70dbm>api_rssi>=-80dbm则api_intensity_distance=8;

如果-80dbm>api_rssi>=-90dbm则api_intensity_distance=9;

如果api_rssi<-90dbm则api_intensity_distance=10。

api_intensity_distance代表接收到终端发出的蓝牙信号的强度,信号强度越大,该值越小。

步骤c2、假设所有收到蓝牙信号的蓝牙接收标签中,apx距惯导定位位置最远,将apx至惯导定位位置的距离分为10等分;针对每个收到终端发出蓝牙信号的蓝牙接收标签api,api_distance=d,d为api到惯导定位位置的距离,最大为10,最小为1。

终端不同时间发出的信号,由于终端所处位置、周边环境等因素,收到信号的蓝牙接收标签都可能会有差异,该步骤是将蓝牙接收标签按照远近进行赋值,其参考点为惯导定位位置。

本次惯导定位的基准是上次定位结果,假设上次定位结果是准确的,由于两次定位时间间隔很短(如10秒),惯导定位的累积误差可以忽略不计,因此本次惯导定位的位置可以认为比较精确,接近最终定位结果。

api_distance代表蓝牙接收标签距临时定位点(惯导定位位置)的距离,距离越近,该值越小。

步骤c3、针对每个收到终端发出蓝牙信号的蓝牙接收标签api,计算api_uniformity=|api_intensity_distance―api_distance|。

api_uniformity表示某蓝牙接收标签收到的信号强度与距临时定位点(惯导定位位置)的距离之间的差。

信号强且距临时定位点近,或信号弱且距临时定位点远,则一致性好,选择可能性大,否则,则一致性差。

步骤c4、设定阈值d_threshold=m,m为正整数,2<m<5,计算各api的收益函数ui=d_threshold―api_uniformity。

设定并计算收益函数是博弈论的基础。m跟应用场景、室内蓝牙接收标签的布置密度等相关,密度越大,m值越小。

api_uniformity小,则一致性好,api_uniformity大,则一致性差。这里选取一致性好的蓝牙接收标签作为定位的基础。

根据博弈论,博弈过程是选择收益函数最大的一组蓝牙接收标签。如共有4个收到终端发出蓝牙信号的蓝牙接收标签ap1、ap2、ap3、ap4,则可能的组合有:{ap1}、{ap2}、{ap3}、{ap4}、{ap1,ap2}、{ap1,ap3}、{ap1,ap4}、{ap2,ap3}、{ap2,ap4}、{ap3,ap4}、{ap1,ap2,ap3}、{ap1,ap2,ap4}、{ap2,ap3,ap4}、{ap1,ap2,ap3,ap4}。

分别计算上述组合的收益函数之和,取最大值对应的组合得到蓝牙接收标签集合。

很显然,如果组合中的所有收益函数都大于0,则收益函数之和最大。

为了简化上述过程,本申请中,选择收益函数ui>=0的api,进而得到蓝牙接收标签集合。ui=0的api对总的收益函数并没有贡献,但为了获得较多的蓝牙接收标签增加定位精度,将此类标签也纳入选择范围。

如图1所示,在t0+t时刻,假设全部9个蓝牙接收标签都能收到蓝牙信号,ap9距惯导定位位置最远。

经上述过程,得到蓝牙接收标签集合,如{ap1、ap2、ap3、ap4、ap5、ap8},其他蓝牙接收标签因收益函数小于0而被剔除。

蓝牙定位需要数量较多的蓝牙接收标签数据。如果上述步骤中筛选出的蓝牙接收标签数量太少,说明环境比较复杂,蓝牙定位不可靠。如果步骤c中筛选出的蓝牙接收标签数量小于hreshold_num1,则本次定位不使用蓝牙定位,最终的定位位置为惯导定位位置,定位结束,hreshold_num1为正整数且hreshold_num1>3。

一般来讲,针对一个应用场景,m的值是固定的。但在一个场景的开始应用阶段,m的选择可能不正确。如果多次定位过程中(如3次),都出现筛选出的蓝牙接收标签很少的情况,则增加m的值。

步骤d、将步骤d中得到的蓝牙接收标签集合进行指纹匹配,得到指纹点集合m。

指纹匹配使用本申请人的在先申请《一种基于蓝牙的室内定位系统及方法》(201711238640.6)中提出的方法。

选取指纹数据,原则是:

1-1所有接收到蓝牙信号的标签,全部包含在指纹数据中有信号的标签中。

1-2选择所有接收到蓝牙信号的标签中信号最强和次强的蓝牙接收标签;在指纹数据中,上述两个标签的信号强度在最强和次强信号±rssi_toler范围内,rssi_toler为误差容许值,取值范围是6dbm-10dbm。

所有满足上述条件的指纹数据组成指纹点集合m。

图1中,假设满足上述条件的指纹点集合m={3、6、7、8、9、10、11、12、13、14}。

步骤e、依据mems传感器的数据,得出地磁定位位置。

地磁定位的方法很多,如申请号为201810463296.9的公开文本就有详细的披露,这里不再冗述。

步骤f、根据惯导定位位置、地磁定位位置,对指纹集合m进行筛选,得到指纹点集合n。

步骤d得到的指纹点集合m,还有可能因为多径效应引起误匹配,步骤f是剔除误匹配的指纹点。

如图1所示,指纹点集合m包括3、6、7、8、9、10、11、12、13、14共10个指纹点。

步骤f中,根据博弈论对指纹集合m进行筛选,包括以下步骤:

步骤f1、以惯导定位位置的坐标为圆心,设定半径为r_ins的圆形区域为可信范围d_ins,r_ins>2米。

步骤f2、以地磁定位位置的坐标为圆心,设定半径r_geomagnetism的圆形区域为可信范围d_geomagnetism,r_geomagnetism>2.5米。

步骤f3、针对指纹点组合m中的每一个指纹点fi,进行下面计算。

步骤f3-1:设定该指纹点的收益函数ui的初值为0。

步骤f3-2:如果指纹点fi在d_ins范围内,则ui=ui+2,否则ui=ui-1;如果指纹点fi在d_geomagnetism范围内,则ui=ui+1.5,否则ui=ui-1。

步骤f4、选择收益函数ui>=0的fi得到指纹点集合n。

步骤f4中,同样也简化了收益函数的计算过程。

参看图1,7、8、12、13号指纹满足上述条件,得到的指纹点集合n中包括这4个指纹。

如果步骤f中筛选出的指纹点集合n中的指纹点数量小于hreshold_num2,hreshold_num2为正整数且hreshold_num2>2,说明环境比较复杂,蓝牙定位不可靠,则最终的定位点为惯导定位位置,定位结束。

步骤g、根据指纹点集合n计算蓝牙定位位置。

假设收到终端蓝牙信号的蓝牙接收标签apx与对应信号强度的实时向量为:(api,api_rssi),(apj,apj_rssi),......,(apm,apm_rssi)。

指纹点的数据统一表示为:(ap1,r1),(ap2,r2),......,(apn,rn)。

{api,apj,...,...,apm}是{ap1,ap2,...,...,apn}的子集。

欧氏距离:sqrt((ap1_rssi―r1)2+(ap2_rssi―r2)2+......+(apn_rssi―rn)2)。

如果指纹点数据中的apx没有出现在实时向量中,则在上面公式中,对应的apx_rssi置0。

计算指纹点集合n中所有指纹点与实时向量的欧氏距离。

如果某一指纹点与实时向量间欧氏距离为0,则该指纹点对应的定位参考点坐标为蓝牙定位位置。

否则,计算各欧氏距离的倒数,求取平方值后做归一化处理,以此为权项,根据指纹点集合n中的指纹点对应的定位参考点坐标计算出蓝牙定位位置。

本实施例中,假设步骤c中得到的蓝牙接收标签集合为{api,apj,......,apm},apx(x=i,j,......,m)为蓝牙接收标签的标识码,进而可以得到实时向量。

步骤f中得到了指纹点集合n,其中包括7、8、12、13号指纹。计算各指纹点与实时向量间的欧氏距离,最终得到蓝牙定位位置。

步骤h、根据惯导定位位置和蓝牙定位位置,得出最终定位点。

惯导定位位置的坐标为position_ins,蓝牙定位位置为position_rssi,

最终定位点position=a*position_rssi+b*position_ins,

其中,参数a>0,b>0,a+b=1,a选取0.6-0.85之间的值,具体数值根据蓝牙接收标签的布置密度设定。

采用加权融合算法,以t0时刻的定位点为基准,计算在t0+t时刻的定位点。

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