一种基于UWB信号的粒子群搜索室内定位方法及系统与流程

文档序号:24888670发布日期:2021-04-30 13:13阅读:138来源:国知局
一种基于UWB信号的粒子群搜索室内定位方法及系统与流程

本发明涉及无线通信网络技术领域,尤其涉及一种基于uwb信号的粒子群搜索室内定位方法及系统。



背景技术:

随着智能技术的快速发展,人们对于定位的需求越来越高。传统的gps等定位技术无法满足定位精度的需求,从而出现了以wi-fi、蓝牙、zigbee、射频识别等为基础的室内定位技术,超宽带定位技术因具有高多径分辨率、强穿透力、低功耗、易于集成、高定位性能等优势,成为目前定位应用最广泛的一项无线通信技术。

超宽带(uwb)技术是基于窄脉冲的无线技术,由于uwb能够分别检测反射脉冲,因此可以通过在已知环境中仅使用基站与定位终端进行定位来执行定位任务,其具有高传输率、低功耗、穿透能力强等优点,uwb的定位技术一般包含有toa、aoa、tdoa等算法,采取toa方式也就是获得基站与定位终端的距离的方式获取的定位精度最高。然而对于室内定位系统的真实实施环境来说,由于遮挡物以及无线噪声和一些观测误差的引入,会导致无法确定真实的坐标位置。

粒子群优化算法模拟鸟群觅食的运动,通过群体中个体之间的协作和信息共享来寻找最优解。由于其简单容易实现并且没有许多参数的调节,被广泛用于函数优化,神经网络训练等。

如公开号为cn110045324a公开了一种基于uwb和蓝牙技术的室内定位融合方法,结合了两种室内定位方案的优势,利用uwb测距误差小的特点,限定了估计位置的可能区域,减小了求解范围;相对于传统根据测距估算出位置的方法,直接利用蓝牙信号的rssi值,通过贝叶斯推理得到求解区域内的概率分布来求解位置,避免了rssi信号在计算成距离时的误差引入,提高了定位精度;利用一个uwb基站和2个蓝牙基站即可在大多数的情况下获得uwb技术的定位精度,相比于使用4个uwb基站的uwb定位方案,成本可降低至原成本的四分之一;利用粒子群优化算法来求解不等式约束下的极值问题,在rssi测量值误差较大导致最小值偏离真实解的情况下能够获得局部最优解,有更好的实际使用效果。上述专利虽然可以得到一个局部最优解,但是其是基于一个uwb基站的测距加上多个蓝牙的信号强度,且通过贝叶斯推理配合蓝牙信号强度模型计算适应度,依然不能解决由于遮挡物以及无线噪声和一些观测误差的引入,导致无法估算出最优的定位终端坐标。



技术实现要素:

本发明的目的是针对现有技术的缺陷,提供了一种基于uwb信号的粒子群搜索室内定位方法及系统。

为了实现以上目的,本发明采用以下技术方案:

一种基于uwb信号的粒子群搜索室内定位方法,包括步骤:

s1.初始化粒子群;其中种群大小为n,初始速度为0,迭代次数为l;

s2.计算所有基站与定位终端的测距值,根据测距值计算每个粒子的适应值,并根据计算得到的每个粒子的适应值更新个体最优值以及全局最优值;

s3.判断是否符合迭代停止条件,若否,则执行步骤s4;若是,则执行步骤s6;

s4.更新每个粒子的位置和速度;

s5.筛选处于测距值外部的粒子,并淘汰筛选出的粒子,将未淘汰的粒子进行分裂复制,得到优化后的粒子群,并重新执行步骤s2;

s6.输出全局最优值时的位置信息,结束流程。

进一步的,所述步骤s2中根据测距值计算每个粒子的适应值,表示为:

其中,q表示适应值;x、y表示定位终端的位置坐标;xi,yi表示基站的位置坐标;di表示基站与定位终端之间的测距值;i=1,2,3,…,n。

进一步的,所述步骤s2中计算得到的每个粒子的适应值的最优准则,需满足以下条件:

其中,min(x,y)表示定位终端位置坐标的最小值,即搜索的最优值。

进一步的,所述步骤s4中更新每个粒子的位置和速度是基于个体最优值以及全局最优值机型更新的,表示为:

vi=vi+ci×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi)

xi=xi+vi

其中,vi表示粒子的速度;rand()表示包含两个元素的介于(0,1)之间的随机向量;xi表示粒子当前的位置;c1和c2表示学习因子;pbesti表示个体最优值;gbesti表示全局最优值。

进一步的,所述步骤s4中还包括引入自适应的权重因子ω,表示为:

vi=ω×vi+ci×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi)

其中,ω的动态范围为[0,1]。

进一步的,所述步骤s4中还包括引入因子sp来动态调整自适应的权重因子ω,表示为:

ω=(ωmax-ωmin)×sp

其中,sp的值为每次迭代后,统计处于任意一个测距值的外部粒子数量在所有粒子数目n的占比。

进一步的,所述步骤s3中判断是否符合迭代停止条件中的条件为全局最优值的适应度值小于1或迭代次数达到l次。

相应的,还提供一种基于uwb信号的粒子群搜索室内定位系统,包括:

初始化模块,用于初始化粒子群;其中种群大小为n,初始速度为0,迭代次数为l;

计算模块,用于计算所有基站与定位终端的测距值,根据测距值计算每个粒子的适应值,并根据计算得到的每个粒子的适应值更新个体最优值以及全局最优值;

判断模块,用于判断是否符合迭代停止条件;

更新模块,用于更新每个粒子的位置和速度;

筛选模块,用于筛选处于测距值外部的粒子,并淘汰筛选出的粒子,将未淘汰的粒子进行分裂复制,得到优化后的粒子群;

输出模块,用于输出全局最优值时的位置信息。

进一步的,所述更新每个粒子的位置和速度种还包括引入自适应的权重因子ω,表示为:

vi=ω×vi+ci×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi)

其中,ω的动态范围为[0,1];vi表示粒子的速度;rand()表示包含两个元素的介于(0,1)之间的随机向量;xi表示粒子当前的位置;c1和c2表示学习因子;pbesti表示个体最优值;gbesti表示全局最优值。

进一步的,所述更新每个粒子的位置和速度中还包括引入因子sp来动态调整自适应的权重因子ω,表示为:

ω=(ωmax-ωmin)×sp

其中,sp的值为每次迭代后,统计处于任意一个测距值的外部粒子数量在所有粒子数目n的占比。

与现有技术相比,本发明利用了toa的定位机制在平面几何的原理,转化为了一个求解超定的非线性方程组的最小二乘解的方式,并且相较于最小二乘定位不够稳定的问题,引入了粒子群搜索算法。并且为了提升定位精度,在uwb定位误差存在正向误差的前提下,采取toa测距圆外粒子难以存活的方式来提高搜索准确性以及效率。同时,在迭代的过程中,引入了粒子的筛选消亡和分裂进化思想来提高搜索的效率以及准确性,并且在通过实际uwb测试系统中获得较为理想的改善效果。

附图说明

图1是实施例一提供的一种基于uwb信号的粒子群搜索室内定位方法流程图;

图2是实施例一提供uwb室内定位模型示意图;

图3是实施例二提供的一种基于uwb信号的粒子群搜索室内定位系统结构图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

本发明的目的是针对现有技术的缺陷,提供了一种基于uwb信号的粒子群搜索室内定位方法及系统。

实施例一

本实施例提供一种基于uwb信号的粒子群搜索室内定位方法,如图1所示,包括步骤:

s11.初始化粒子群;其中种群大小为n,初始速度为0,迭代次数为l;

s12.计算所有基站与定位终端的测距值,根据测距值计算每个粒子的适应值,并根据计算得到的每个粒子的适应值更新个体最优值以及全局最优值;

s13.判断是否符合迭代停止条件,若否,则执行步骤s14;若是,则执行步骤s16;

s14.更新每个粒子的位置和速度;

s15.筛选处于测距值外部的粒子,并淘汰筛选出的粒子,将未淘汰的粒子进行分裂复制,得到优化后的粒子群,并重新执行步骤s12;

s16.输出全局最优值时的位置信息,结束流程。

如图2所示为uwb室内定位模型图,a1、a2、a3、a4的圆心表示四个已知平面坐标的定位基站,五角星位置代表了所要定位的未知的标签坐标,虚线的长度表示了uwb定位系统中每个基站对于定位标签获得的真实平面距离。

假定基站的坐标为(xi,yi),i=1,2…,n,基站相距未知坐标(x,y)的标签的欧式距离值为di,根据平面欧氏距离公式,便可得到包含n个关于基站与未知坐标的平面距离方程组成的非线性方程组,公式如下1.1所示,对于室内定位系统的真实实施环境来说,由于遮挡物以及无线噪声和一些观测误差的引入,会导致各定位圆无法相交于真实的坐标位置。并且通常需要通过n(n≥3)个基站共同参与,来估算出最优的定位终端坐标。

对于求解这种超定的(未知变量个数小于方程个数)的非线性方程组,无法求得一个唯一的解析解,而是求解一个最优解。从公式1.1的方程左边公式可以看成是设定基站与定位终端的估计坐标的平面距离和实际观测的uwb测距值的平方差。

在步骤s11中,初始化粒子群;其中种群大小为n,初始速度为0,迭代次数为l。

对于平面定位系统而言,要将定位标签的位置进行一次抽象,粒子具有两个维度(x,y)的信息,每一个维度包含了两个属性:速度和位置,速度代表了移动的快慢,位置代表了移动的方向。在定位系统中粒子可以抽象为(x,y),飞行速度表示为矢量的(vx,vy)。

本实施例以粒子数量为20个进行说明:

初始化方法为在所有测距圆当中,挑选一个最小测距圆,随机生成20个粒子坐标xi(xi,yi),初始速度向量为vi(0,0),初始迭代次数为记为,且设迭代次数l=6。

在步骤s12中,计算所有基站与定位终端的测距值,根据测距值计算每个粒子的适应值,并根据计算得到的每个粒子的适应值更新个体最优值以及全局最优值。

通过求得最小化q时使用的(x,y)值来认定此(x,y)也就是定位终端真实所处的位置。为了求解q的极值,引入了一种粒子群算法来搜索整个可能的平面空间内的坐标使得q的值最小,也即是满足公式1.2的最优解。

其中,q表示适应值;x、y表示定位终端的位置坐标;xi,yi表示基站的位置坐标;di表示基站与定位终端之间的测距值;i=1,2,3,…,n。

计算得到的每个粒子的适应值的最优准则具体为:每个粒子都有一个共享信息的由目标函数决定的适应值(fitnessvalue),对于定位系统来说,所要解决的适应度函数是求得一个平面坐标(x,y)使得在误差存在的情况下,需满足公式1.3可求得最小值。

其中,min(x,y)表示定位终端位置坐标的最小值,即搜索的最优值。

粒子群方法主要是初始化为一群随机粒子(随机解)。然后通过迭代适配所要解决的问题的准则,平面定位系统的准则就是尽可能的找到满足q值时的(x,y)来确定最优解。在每一次迭代中,粒子通过跟踪两个"极值"来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pbest。另一个极值是整个种群目前找到的最优解,这个极值是全局极值gbest。当然也可以不一定就要用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。

在步骤s13中,判断是否符合迭代停止条件,若否,则执行步骤s14;若是,则执行步骤s16。

在搜索过程中,粒子可以计算适应度的值知道自己到目前为止发现的最好位置(pbest,适应度值最低)以及对应的位置(x′,y′),这个可以看作是粒子自己的搜索经验。除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(gbest,gbest是pbest中的最好值),这个可以看作是粒子种群中的经验。

判断是否符合迭代停止条件中的条件为全局最优值的适应度值小于1或迭代次数达到l次;当不符合时,执行步骤s14;当符合时,执行步骤s16。

在步骤s14中,更新每个粒子的位置和速度。

更新粒子的位置以及速度信息。在每一次的迭代中,粒子通过跟踪两个“极值”(pbest,gbest)来更新自己的速度和位置。

vi=vi+ci×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi)(1.4)

xi=xi+vi(1.5)

其中i=1,2,…,n,n表示此群中粒子的总数;vi表示粒子的速度;rand()表示包含两个元素的介于(0,1)之间的随机向量;xi表示粒子当前的位置;c1和c2表示学习因子。

目前取c1=c2=2,vi的最大值为vmax(大于0),根据当前系统来说,设定的vmax为最小测距圆dmin/(2×trange),trange代表了测距周期。如果某一次的vi大于vmax,则vi=vmax,为了避免陷入局部最优问题,或者是在获得全局最优的过程中搜索过程较长。

在本实施例中,在更新每个粒子的位置和速度中引入一个自适应的权重因子ω,表示为:

vi=ω×vi+ci×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi)(1.6)

其中,ω的动态范围为[0,1],动态的自适应的ω能获得比固定值更好的寻优结果。根据toa定位系统的特殊性,由于uwb的无线定位系统基本会由于反射或者多径传播造成的干扰,会导致测距值偏大,这个特性可以在定位过程中当作一种约束条件来提高搜索的效率与准确性。

在本实施例中,还引入了另一个因子sp来动态调整ω,表示为:

ω=(ωmax-ωmin)×sp(1.7)

其中,sp的值等于每次迭代后,粒子是否存在于任意一个toa测距值外部;假如在总共n个粒子中,有m个粒子存在于toa测距圆外部,sp=m/n。

在步骤s15中,筛选处于测距值外部的粒子,并淘汰筛选出的粒子,将未淘汰的粒子进行分裂复制,得到优化后的粒子群,并重新执行步骤s12。

需要说明的是,测距值外部的粒子表示这部分粒子距离基站的位置大于实际测量的标签距离基站的距离。

在搜索过程中,粒子总是向着最优解靠拢,若这一最优解为局部最优解,随着粒子的逐渐聚集,粒子便难以趋近于全局最优,为了避免此种现象,本实施例引入粒子消亡和分裂的特性。

假如在上一步搜索过程中,有部分m个粒子位置处于toa测距值外部,或者适应度较低的情况下,将这部分粒子淘汰掉,将那些幸存的粒子进行分裂复制,在下一步迭代时进行搜索。这种带有种群淘汰进化机制的方式,提高了种群的多样性,优化了搜索的效率。

筛选机制如下,假如m>n/3,则淘汰掉m个粒子,假如m<3/n,则首先淘汰掉m个粒子,然后在剩下的粒子里根据适应度的从小到到大排序,选择尾部的3/n–m个粒子进行淘汰。

分裂复制的方式为在幸存的这些粒子当中,均匀采样补足原有的n个粒子,得到优化后的粒子群,迭代次数+1,,重新执行步骤s12,进入下一轮迭代。

在步骤s16中,输出全局最优值时的位置信息,结束流程。

粒子通过自己的经验和同伴中最好的经验来决定下一步的运动。也就是搜索路径的选择,通过不断的搜索迭代,在达到一定的收敛条件时迭代终止,给出搜索过程中的gbest值。

当符合迭代停止条件,即当全局最优值的适应度值小于1或迭代次数达到l次后,则跳出迭代,输出迭代过程中最优的gbest值时的位置信息,即uwb系统中所要求解的最优定位坐标,结束流程。

通过测试发现,本实施例根据最小均方误差准则的粒子搜索方式在toauwb定位系统中具有较高的鲁棒性,定位偏差能够控制在nlos(非视距遮挡环境中)系统中维持在80cm左右,在los系统中的误差在30cm以下。且本实施例添加的toa测距误差圆内有效的粒子约束机制可以解决粒子群容易陷入局部最优的问题,而粒子的消亡筛选和种群进化分裂也提高了搜索效率,从原有的大概平均8次迭代才能收敛,到基本上3~4次就能收敛获得符合最小二乘准则的最优解。

实施例二

本实施例提供一种基于uwb信号的粒子群搜索室内定位系统,如图3所示,包括:

初始化模块11,用于初始化粒子群;其中种群大小为n,初始速度为0,迭代次数为l;

计算模块12,用于计算所有基站与定位终端的测距值,根据测距值计算每个粒子的适应值,并根据计算得到的每个粒子的适应值更新个体最优值以及全局最优值;

判断模块13,用于判断是否符合迭代停止条件;

更新模块14,用于更新每个粒子的位置和速度;

筛选模块15,用于筛选处于测距值外部的粒子,并淘汰筛选出的粒子,将未淘汰的粒子进行分裂复制,得到优化后的粒子群;

输出模块16,用于输出全局最优值时的位置信息。

进一步的,所述更新每个粒子的位置和速度种还包括引入自适应的权重因子ω,表示为:

vi=ω×vi+ci×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi)

其中,ω的动态范围为[0,1];vi表示粒子的速度;rand()表示包含两个元素的介于(0,1)之间的随机向量;xi表示粒子当前的位置;c1和c2表示学习因子;pbesti表示个体最优值;gbesti表示全局最优值。

进一步的,所述更新每个粒子的位置和速度中还包括引入因子sp来动态调整自适应的权重因子ω,表示为:

ω=(ωmax-ωmin)×sp

其中,sp的值为每次迭代后,统计处于任意一个测距值的外部粒子数量在所有粒子数目n的占比。

需要说明的是,本实施例提供的一种基于uwb信号的粒子群搜索室内定位系统与实施例一类似,在此不多做赘述。

与现有技术相比,本实施例利用了toa的定位机制在平面几何的原理,转化为了一个求解超定的非线性方程组的最小二乘解的方式,并且相较于最小二乘定位不够稳定的问题,引入了粒子群搜索算法。并且为了提升定位精度,在uwb定位误差存在正向误差的前提下,采取toa测距圆外粒子难以存活的方式来提高搜索准确性以及效率。同时,在迭代的过程中,引入了粒子的筛选消亡和分裂进化思想来提高搜索的效率以及准确性,并且在通过实际uwb测试系统中获得较为理想的改善效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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