锚节点选择与部署方法、系统、存储介质、设备及应用与流程

文档序号:24403296发布日期:2021-03-26 15:54阅读:216来源:国知局
锚节点选择与部署方法、系统、存储介质、设备及应用与流程

1.本发明属于三维空间三边定位技术领域,尤其涉及一种锚节点选择与部署方法、系统、存储介质、设备及应用。


背景技术:

2.目前:位置信息是许多集群网络,例如机器人网络,车联网,无人机集群等,提供服务的基础。位置信息包括绝对位置信息,例如大地坐标,以及相对位置信息,例如以集群网络服务区域为参考系建立的相对坐标系。获取绝对位置信息的一种可能方案是为集群网络的每个节点安装gps或者bds接收机,但对于部署在室内,水下以及区域拒止环境中的集群网络,gps信号容易受到多径干扰、遮挡等因素的影响,往往只有少部分外层节点能够获得精确的绝对位置信息。同样的,相对位置信息的获取也存在上述问题。
3.目前获取位置信息的定位技术主要可以划分为两类,一类是基于跳数的,另一类是基于相对测量的。基于跳数的定位算法避免了对于复杂的测量硬件的依赖,但用跳数来代替测量信息估计节点位置,无法保证定位精度。利用集群网络节点之间通信交互的过程中获得的相对测量信息辅助网络节点定位是在gps缺失环境下实现高精度定位的一种新思路。相对测量信息包括相对距离测量,相对角度测量,相对速度测量等。本发明只针对基于相对距离测量的定位。目前常用的测距技术主要有:射频信号强度指示模型rssi,该技术费用低但测距精度不稳定;到达时间测量模型toa以及超宽带(ultra wideband,uwb)。基于测距的定位算法主要可分为两大类,单点定位和协同定位。三边定位或者多边定位是单点定位算法的基础,是完全分布式,算法简单,只需要局部通信即可完成,但该算法存在启动困难,过早停机,迭代误差方面的问题。基于刚性图的定位算法放松了定位单个点的需求,从而部分解决了锚节点稀疏带来的算法无法启动的问题。刚性图理论主要针对二维网络,对于三维网络的适用性较差。协同定位相较于单点定位的优势在于,可以利用集群网络节点间相对测量信息,给出集群网络节点相对位置的整体解。协同定位可以建模为求解非凸优化问题,求解方法主要有基于半定规划(sdp,semidefiniteprogramming)的算法和基于mds(multi

dimensional scaling)的算法。基于sdp的求解方法,其基本思想是将原来的非凸优化问题放松为凸优化问题,进而通过内点法、模拟退火等算法求解,sdp算法最大的问题是计算复杂度过高,在理想的情况下计算复杂度依然达到o(n3)

o(n4)。多维标度分析(multidimensional scaling,mds)是一种数据分析技术,根据求解mds的压力函数的方法不同,可以把基于mds的定位算法分为两类,一类是经典mds,另一类是迭代mds。基于mds的定位算法虽然能够部分解决单点定位中存在的启动困难与迭代误差方面的问题,但该类算法的计算复杂度至少为o(n3),本质上依然是一种集中式算法。
4.通过上述分析,现有技术存在的问题及缺陷为:
5.(1)协同定位技术存在计算复杂度高,通信复杂度高的问题;
6.(2)单点定位技术虽然计算与通信复杂度相较于协同定位技术低,但存在迭代误差的问题;
7.(3)缺乏三维空间中部署锚节点以提高定位精度的方案。
8.解决以上问题及缺陷的难度为:三维空间中锚节点组合的几何形状的评价,以及基于该评价的锚节点选择方法;三维空间中锚节点部署方法。
9.解决以上问题及缺陷的意义为:
10.(1)提出了一种基于条件数的四面体形状度量方法,该方法是基于代数运算的。与基于几何运算的评价方法相比,该方法计算简单,且适用于平面三角形的形状度量;
11.(2)提出了一种在三维空间未知节点空心球体上选择锚节点的方法,该方法能有效抑制迭代误差。
12.(3)基于条件数的四面体形状度量方法可以指导三维空间锚节点的部署。


技术实现要素:

13.针对现有技术存在的问题,本发明提供了一种锚节点选择与部署方法、系统、存储介质、设备及应用。
14.本发明是这样实现的,一种锚节点选择与部署方法,所述锚节点选择与部署方法包括:
15.初始阶段,网络中的节点与邻居相互测距,并存储与邻居的距离信息;
16.初始锚节点广播自己的位置信息,收集到足够信息的未知节点执行锚节点选择算法;
17.完成定位的未知节点更新待测节点是否完成定位,初值为0,完成定位后更新为1,在下一轮定位中成为锚节点,广播自己的位置信息;
18.在本轮中未完成定位的未知节点,进入等待状态,等待下一轮定位中接收到足够多的信息,完成定位。
19.进一步,所述锚节点选择与部署方法的规则:
20.(1)四个锚节点所构成的四面体条件数cond
sum
<cond
max

21.(2)四个锚节点所构成的四面体体积尽可能较大;
22.(3)未知节点到四个锚节点的距离尽可能保持一致。
23.进一步,所述锚节点选择与部署方法在以未知节点为球心的空心球体上选择锚节点,待测节点是p,r是节点的通信半径,r是空心球体内半径,红色标注的节点是p在空心半球体内的邻居节点。
24.进一步,所述锚节点选择与部署方法首先设置r,缩小p的邻居锚节点数量,在空心球体上选择;对于三维空间中的三边定位,如果节点i在所有邻居锚节点中选择最合适的组合,要执行次组合运算,n(i)是节点i的邻居锚节点数量;如果节点i在空心半球体上选择锚节点,则n(i)降低为n(i)

=n(i)
·
(r3‑
r3)/(r3);在空心半球体上选择锚节点,可以尽量使d
i
(i=1,...,4)不会有过大的差距,满足规则(3)。
25.进一步,所述锚节点选择与部署方法对于空心球体上的锚节点,根据规则(1)和(2)选择其中4个对p进行定位。对于规则(1),四个锚节点所构成的四面体条件数cond
sum
<cond
max
;其中,cond
max
是四面体条件数的阈值,选择条件数小于该阈值的四面体,在满足规则(1)和(3)的所有锚节点中,选择体积最大的四面体所对应的锚节点对p进行定位。
26.进一步,所述锚节点选择与部署方法规定||
·
||表示二范数,也即
根据矩阵范数的性质,有||ab||≤||a||
·
||b||;
27.当仅有测距误差存在时,误差体现在列向量b上,此时列向量b将变为:
[0028][0029]
将ax=b式改写为:
[0030]
a(x+δx)=b+δb;
[0031]
其中δx是列向量,代表定位误差,δb表示为:
[0032][0033]
由a(x+δx)=b+δb得:
[0034]
δx=a
‑1(δb)
[0035]
将ax=b和δx=a
‑1(δb)两边同时取范数可得1/||x||≤||a||/||b||和||δx||≤||a
‑1||*||δb||,得:
[0036][0037]
式中,||δx||/||x||是解的相对误差,||δb||/||b||是列向量b的相对误差,||a
‑1||
·
||a||是指矩阵a的条件数,用cond(a)=||a
‑1||
·
||a||表示;条件数是一个矩阵病态与否的度量。||a
‑1||
·
||a||与||δb||/||b||将决定解的相对误差||δx||/||x||的上界;
[0038]
当锚节点的位置和测距都存在误差时,误差体现在系数矩阵a与列向量b上,a(x+δx)=b+δb改写为:
[0039][0040]
||δa||较小且能够满足||a
‑1||
·
||δa||<1,将ax=b带入得:
[0041][0042]
两边取范数得:
[0043][0044]
将||ax||=||b||带入得:
[0045]
[0046]
由得:
[0047][0048]
观察右端,||δa||/||a||是a的相对误差,在||δa||较小的条件下,解的相对误差||δx||/||x||的上界由cond(a)与||δb||/||b||共同决定;
[0049]
得到四个系数矩阵:
[0050][0051][0052][0053][0054]
定义1:四个锚节点在三维空间构成一个四面体,将cond(a1)+cond(a2)+cond(a3)+cond(a4)定义为四面的条件数,用cond
sum
表示,cond
sum
刻画了四个锚节点的共面程度,当四个锚节点构成正四面体时,cond
sum
取得最小值为8,直角四面体的最小条件数是12.1962;所有未知节点与任一锚节点直接通信,测距误差δd~u(

1,1),用平均绝对误差mae评价位置估计的准确度,mae的定义如下:
[0055][0056]
其中,是指第i个节点的估计位置,x
i
=(x
i
,y
i
,z
i
)是指第i个节点的真实位置;
[0057]
||δa||较小,锚节点的坐标都是精确的,只存在测距误差,根据δx=a
‑1(δb),
[0058]
||δx||≤||a
‑1||
·
||δb||;
[0059]
将可得:
[0060][0061]
δd是一个随机变量,并且δd~u(

ε,ε),由于的数值很小,故:
[0062][0063]
对于四面体t(t1,t2,t3,t4),确定四个系数矩阵,这四个系数矩阵分别对应到δb1,δb2,δb3和δb4,实际上,对应的是δb4;
[0064]
对于两边同时取f范数得:
[0065][0066]
同理可得:以及同样也是随机变量,由于e(δd)=0和d(δd)=ε2/3,有:
[0067][0068]
使所示的数学期望取得最小值,转化为如下非线性规划问题:
[0069]
[0070]
其中目标函数矩阵正定,是凸函数,不等式约束也为凸函数,故极小问题是凸规划,k

t点必是全局最优解,该问题的k

t条件表示为:
[0071][0072]
ω
i
≥0,i=1,2
…5[0073]
其中是梯度运算,解得k

t点为
[0074]
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0075]
初始阶段,网络中的节点与邻居相互测距,并存储与邻居的距离信息;
[0076]
初始锚节点广播自己的位置信息,收集到足够信息的未知节点执行锚节点选择算法;
[0077]
完成定位的未知节点更新待测节点是否完成定位,初值为0,完成定位后更新为1,在下一轮定位中成为锚节点,广播自己的位置信息;
[0078]
在本轮中未完成定位的未知节点,进入等待状态,等待下一轮定位中接收到足够多的信息,完成定位。
[0079]
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
[0080]
初始阶段,网络中的节点与邻居相互测距,并存储与邻居的距离信息;
[0081]
初始锚节点广播自己的位置信息,收集到足够信息的未知节点执行锚节点选择算法;
[0082]
完成定位的未知节点更新待测节点是否完成定位,初值为0,完成定位后更新为1,在下一轮定位中成为锚节点,广播自己的位置信息;
[0083]
在本轮中未完成定位的未知节点,进入等待状态,等待下一轮定位中接收到足够多的信息,完成定位。
[0084]
本发明的另一目的在于提供一种实施所述锚节点选择与部署方法的锚节点选择与部署系统,所述锚节点选择与部署系统包括:
[0085]
距离信息存储模块,用于初始阶段,网络中的节点与邻居相互测距,并存储与邻居的距离信息;
[0086]
信息收集模块,用于初始锚节点广播自己的位置信息,收集到足够信息的未知节点执行锚节点选择算法;
[0087]
待测节点定位模块,用于完成定位的未知节点更新待测节点是否完成定位,初值为0,完成定位后更新为1,在下一轮定位中成为锚节点,广播自己的位置信息;
[0088]
未完成定位节点处理模块,用于在本轮中未完成定位的未知节点,进入等待状态,等待下一轮定位中接收到足够多的信息,完成定位。
[0089]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于
实现所述锚节点选择与部署方法,所述信息数据处理终端为机器人网络终端、车联网终端或无人机集群终端。
[0090]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明在对三维空间三边定位算法的误差分析过程中,构造了一种新的基于四面体条件数的四面体形状度量方法。该方法是基于代数运算的,比以往基于几何运算的方法简单,且对于平面三角形的形状度量与空间四面体的形状度量是相统一的。对于三维空间的三边定位,设计了一种基于四面体的条件数,在未知节点空心球体上选择锚节点的方法,能够有效抑制三边定位中的迭代误差问题。此外,对四面体的条件数的计算可用于三边定位中锚节点的部署。
[0091]
本发明在对三维空间三边定位的误差分析中,定义了四面体条件数cond
sum
,可用于评价四面体质量的好坏。仿真实验表明,cond
sum
,θ
min
,ρ以及η评价四面体质量时是相似的。cond
sum
是基于代数运算的,在评价二维平面的三角形和立体空间的四面体是相统一的。进而提出了在未知节点空心半球体上选择锚节点的方法tsm,仿真实验表明该方法可以有效抑制单点定位中的迭代误差问题,定位精度与经过改进的ls

6算法相当。四面体的条件数与tsm算法对于在三维空间中部署锚节点具有很强的指导意义。
附图说明
[0092]
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0093]
图1是本发明实施例提供的锚节点选择与部署方法流程图。
[0094]
图2是本发明实施例提供的锚节点选择与部署系统的结构示意图;
[0095]
图中:1、距离信息存储模块;2、信息收集模块;3、待测节点定位模块;4、未完成定位节点处理模块。
[0096]
图3是本发明实施例提供的单点定位示意图。
[0097]
图4是本发明实施例提供的三边定位模型(3d空间)示意图。
[0098]
图5是本发明实施例提供的条件数与mae的关系示意图。
[0099]
图6是本发明实施例提供的四面体的条件数示意图。
[0100]
图7是本发明实施例提供的锚节点选择示意图。
[0101]
图8是本发明实施例提供的锚节点选择与部署方法实现流程图。
[0102]
图9(a)是本发明实施例提供的没有短边,但四点接近共面示意图。
[0103]
图9(b)是本发明实施例提供的1条短边示意图。
[0104]
图9(c)是本发明实施例提供的2条短边示意图。
[0105]
图9(d)是本发明实施例提供的3条短边示意图。
[0106]
图10是本发明实施例提供的没有短边的情形示意图。
[0107]
图11是本发明实施例提供的一条短边的情形示意图。
[0108]
图12是本发明实施例提供的两条短边的情形示意图。
[0109]
图13是本发明实施例提供的三条短边的情形示意图。
[0110]
图14(a)是本发明实施例提供的锚节点随机分布于网络周边示意图。
[0111]
图14(b)是本发明实施例提供的锚节点随机分布于网络内部示意图。
[0112]
图15(a)是本发明实施例提供的算法mae比较锚节点随机分布于网络周边示意图。
[0113]
图15(b)是本发明实施例提供的算法mae比较锚节点随机分布于网络内部示意图。
[0114]
图16(a)是本发明实施例提供的连通度对定位精度的影响锚节点随机分布于网络周边示意图。
[0115]
图16(b)是本发明实施例提供的连通度对定位精度的影响锚节点随机分布于网络内部。
具体实施方式
[0116]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0117]
针对现有技术存在的问题,本发明提供了一种锚节点选择与部署方法、系统、存储介质、设备及应用,下面结合附图对本发明作详细的描述。
[0118]
如图1所示,本发明提供的锚节点选择与部署方法包括以下步骤:
[0119]
s101:初始阶段,网络中的节点与邻居相互测距,并存储与邻居的距离信息;
[0120]
s102:初始锚节点广播自己的位置信息,收集到足够信息的未知节点执行锚节点选择算法;
[0121]
s103:完成定位的未知节点更新待测节点是否完成定位,初值为0,完成定位后更新为1,在下一轮定位中成为锚节点,广播自己的位置信息;
[0122]
s104:在本轮中未完成定位的未知节点,进入等待状态,等待下一轮定位中接收到足够多的信息,完成定位。
[0123]
本发明提供的锚节点选择与部署方法业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的锚节点选择与部署方法仅仅是一个具体实施例而已。
[0124]
如图2所示,本发明提供的锚节点选择与部署系统包括:
[0125]
距离信息存储模块1,用于初始阶段,网络中的节点与邻居相互测距,并存储与邻居的距离信息;
[0126]
信息收集模块2,用于初始锚节点广播自己的位置信息,收集到足够信息的未知节点执行锚节点选择算法;
[0127]
待测节点定位模块3,用于完成定位的未知节点更新待测节点是否完成定位,初值为0,完成定位后更新为1,在下一轮定位中成为锚节点,广播自己的位置信息;
[0128]
未完成定位节点处理模块4,用于在本轮中未完成定位的未知节点,进入等待状态,等待下一轮定位中接收到足够多的信息,完成定位。
[0129]
下面结合附图对本发明的技术方案作进一步的描述。
[0130]
1、gps系统和bds系统本质上也是一种单点定位。考虑如图3所示的一种应用,需要定位的节点称为未知节点(unknown node);已知位置的节点,称为锚节点(anchor node),用来协助未知节点进行定位。在该应用中,锚节点只能部署在网络周边。初始时,锚节点广播自己的位置信息,由于通信半径的限制,只有网络外侧的未知节点获得足够多的锚节点位置信息以及与锚节点的距离信息,从而完成定位。完成定位的未知节点作为锚节点,辅助
网络中其他未知节点定位,通过这种节点间信息交互,以不断迭代的方式完成整个网络的定位。
[0131]
在没有先验信息的条件下,确定一个未知节点的位置在三维空间中至少需要四个锚节点(二维空间中需要两个)。当未知节点周边有超过四个锚节点时,可以用最小二乘法(least square,ls)估计位置。不同的测距技术都存在测距误差,较小的测距误差也会带来较大的位置估计误差和迭代误差。三边定位中,假设未知节点p周围有n个锚节点(n>4),用最小二乘法可得对p的坐标估计在实验过程中,本发明发现若遍历n个锚节点找到所有可能的组合(3d网络有种),利用三边定位求解,总能得到比更理想的结果,当然能够这样做是因为本发明有全局信息。做了误差分析,发现测距误差对定位精度的影响主要取决于以下两个方面。第一个是四个锚节点的相对位置,也即四个锚节点所构成四面体的形状,第二个是未知节点与四个锚节点的相对位置。
[0132]
对于四面体质量的评价最初源自三维空间的有限元分析。四面体网格常用于有限元中求解偏微分方程,形状较好的四面体有利于问题的求解,而形状较差的四面体会导致数值计算困难。以往的评价四面体质量的指标,主要是通过几何方法计算而来。经常采用的三种质量评价指标,包括最小立体角θ
min
(the minimum solidθ
min
),半径比ρ(the radius ratioρ)以及平均比率η(the mean ratioη)。上述三个评价指标都需要较为复杂的几何运算,并且这些指标很难直接应用于评价平面三角形的质量。本发明对三维空间中三边定位误差进行分析的过程中,从代数的角度出发,提出了一个新的评价四面体质量的指标,四面体条件数cond
sum
。与基于几何运算的评价方法相比,基于四面体条件数的评价方法有如下两方面的优势。第一在计算方面,只需要知道四面体四个顶点的坐标,构建系数矩阵,进而根据(14)

(17)式计算条件数即可,运算比较简单。第二是在统一性方面,对于评价平面三角形和空间四面体是完全统一的,只是构建的系数矩阵的阶数不同。本发明的主要贡献如下:
[0133]
(1)在对三维空间三边定位的误差分析过程中,定义了四面体条件数,构造了一种新的评价四面体质量的方法,该方法对于三维空间中锚节点的部署具有指导意义;
[0134]
(2)提出了一种在未知节点空心球体上选择锚节点的方法,该方法能有效抑制迭代误差。
[0135]
2、三维空间三边定位的数学模型
[0136]
如图4所示,p(x,y,z)表示未知节点的坐标,t1(x1,y1,z1)、t2(x2,y2,z2)、t3(x3,y3,z3)与t4(x4,y4,z4)分别表示未知节点通信半径r内的锚节点。
[0137]
假如已知待测节点p与四个锚节点t1、t2、t3和t4的距离分别是d1、d2、d3、d4,则p的坐标可以通过求解下列方程组得到:
[0138][0139]
解方程组(1)常用的方法是利用方程组(1)中的1式、2式、3式分别与4式作差,消去
二次项,得到一个线性方程组:
[0140][0141]
为了简化讨论,本发明将方程组(2)抽象为如下形式:
[0142]
ax=b
ꢀꢀ
(3)
[0143]
其中,a是系数矩阵,x是未知节点的坐标,b是一组列向量。
[0144]
实际中,测距是带有误差的。例如锚节点anchor1与待测节点p的实际欧氏距离是d1,而观测距离是d1′
,测距误差δd1=d1‑
d1′
。在这种情况下四个球不会如图3一般相交于一点,而是相交于一个区域。当两球相交时,两个球的方程相减得到的是相交圆环所在平面的方程。实质上方程组(2)是三个平面的方程,求解方程组(2)得到的是三个平面交点的坐标。当然,(2)若有唯一解,则必满足rank(a)=4,其中rank(a)表示系数矩阵a的秩。本发明总是假设a是非奇异的。
[0145]
3、误差分析
[0146]
当测距误差δd存在时,通过求解方程组(2)得到的p点坐标也是不精确的。即使测距误差δd比较小的情况,通过不同的锚节点组合得到的p点坐标也会存在比较大的差异。看表1中的例子:(x,y,z)指三个锚节点的坐标,第三列是待测节点与锚节点间的实际距离,第四列是带有测距误差的观测距离。
[0147]
表1误差实例
[0148][0149]
根据实际距离用三边定位可解的p点的精确坐标是(99.4487,89.1365,98.0738),而根据观测距离解出的p点坐标是(95.0634;96.6149;49.0440)。可以看到实际距离与观测距离的差距较小,但解出来的坐标尤其是z轴相差近50米。所以研究哪些因素会影响到方程组(2)的解是非常重要的。
[0150]
由方程(2)和(3)可知,系数矩阵a中的元素完全是由四个锚节点的坐标所确定,也即四个锚节点在三维空间中的分布。列向量b中的元素是由四个锚节点的坐标以及待测节点到锚节点的距离完全确定,也即四个锚节点与待测节点的相对位置。本发明将从四个锚节点的分布以及待测节点与四个锚节点的相对位置两个角度,对3d空间的三边定位进行误差分析。本发明假设四个锚节点的坐标是精确的,即(3)式的系数矩阵a是精确的,只有测距存在误差的情形。本发明讨论四个锚节点的坐标以及测距都存在误差时的情形。
[0151]
3.1锚节点的分布对定位精度的影响
[0152]
在本发明中,如果没有特别说明,本发明规定||
·
||表示二范数,也即根据矩阵范数的性质,本发明有||ab||≤||a||
·
||b||。
[0153]
3.1.1仅存在测距误差的情形
[0154]
当仅有测距误差存在时,误差主要会体现在列向量b上,此时列向量b将变为:
[0155][0156]
本发明可以将(3)式改写为:
[0157]
a(x+δx)=b+δb
ꢀꢀ
(5)
[0158]
其中δx是列向量,代表定位误差,δb可表示为:
[0159][0160]
由(5)式可得:
[0161]
δx=a
‑1(δb)
ꢀꢀ
(7)
[0162]
将(3)和(7)两边同时取范数可得1/||x||≤||a||/||b||和||δx||≤||a
‑1||*||δb||,由此可得:
[0163][0164]
在(8)式中,||δx||/||x||是解的相对误差,||δb||/||b||是列向量b的相对误差,||a
‑1||
·
||a||是指矩阵a的条件数,用cond(a)=||a
‑1||
·
||a||来表示。条件数是一个矩阵病态与否的度量。||a
‑1||
·
||a||与||δb||/||b||将决定解的相对误差||δx||/||x||的上界。
[0165]
3.1.2锚节点位置与测距都存在误差的情形
[0166]
当锚节点的位置和测距都存在误差时,误差主要体现在系数矩阵a与列向量b上,(5)式应改写为:
[0167][0168]
本发明假设||δa||较小且能够满足||a
‑1||
·
||δa||<1。因为如果||δa||比较大,意味着锚节点本身的坐标误差非常大。将(3)式带入(9)式可得:
[0169][0170]
(10)式两边取范数可得:
[0171][0172]
将||ax||=||b||带入(11)可得:
[0173][0174]
由(12)式可得:
[0175][0176]
观察(13)式右端,||δa||/||a||是a的相对误差,在||δa||较小的条件下,与3.11中的讨论类似,解的相对误差||δx||/||x||的上界由cond(a)与||δb||/||b||共同决定。
[0177]
3.1.3条件数对定位精度的影响
[0178]
由(8)和(13)可知解的相对误差||δx||/||x||上界依赖于系数矩阵的条件数cond(a)。这里需要指出的是,求解方程组(1)时,利用方程组(1)中的1式、2式和3式分别与4式作差,可以得到线性方程组(2)以及相应的系数矩阵,同样的道理利用方程组(1)中的1式、2式和4式分别与3式作差,也会得到相应的线性方程组以及系数矩阵,以此类推,本发明可以得到四个系数矩阵:
[0179][0180][0181][0182][0183]
定义1:四个锚节点在三维空间构成一个四面体,本发明将cond(a1)+cond(a2)+cond(a3)+cond(a4)定义为四面的条件数,用cond
sum
表示。cond
sum
刻画了四个锚节点的共面程度。当四个锚节点构成正四面体时,cond
sum
取得最小值为8。作为比较,直角四面体的最小条件数是12.1962。在绝大数情况下,本发明很难找到四个锚节点构成正四面体。为了说明条件数对定位精度的影响,做如下仿真实验:在100
×
100
×
100的网络中随机部署n=1000个未知节点。设置两组锚节点,第一组锚节点坐标分别为:t1(25,25,25),t2(75,25,25),t3(50,68,25),t4(50,40,25+0.5i),i=1,2

100。其中t4的z轴坐标初始取25.5,每隔0.5采样一次,总共采样100次,来观察四个锚节点构成四面体的条件数对定位精度的影响。第二组锚节点坐标分别为:t1′
(37.5,37.5,37.5),t2′
(62.5,37.5,37.5),t3′
(50,60,37.5),t4′
(50,40,37.5+0.25i),i=1,2

100。第二组锚节点相较于第一组锚节点的不同在于,第二组锚节点构成的四面体的体积更小。本发明假设所有未知节点可以与任一锚节点直接通信,测距误差δd~u(

1,1)。用平均绝对误差mae(mean absolute error)评价位置估计的准确度,mae的定义如下:
[0184][0185]
其中,是指第i个节点的估计位置,x
i
=(x
i
,y
i
,z
i
)是指第i个节点的真实位置。
[0186]
如图5所示,mae随条件数的增加呈增加的趋势。当第一组锚节点与第二组锚节点有相似的条件数时,第二组的mae接近于第一组的两倍,这说明三边定位的误差并不是由锚节点所构成四面体的条件数所完全确定。总的来说,当条件数小于45时,节点定位的平均误差均在10以内。当四个锚节点所构成的四面体形状确定之后,cond
sum
也随之确定。如图5所示,四面体t

(t1′
,t2′
,t3′
,t4′
)是四面体t(t1,t2,t3,t4)的等比例缩写(例如边t1t2的长度是t1′
t2′
的m倍,m>1),cond
sum
(t)=cond
sum
(t

)。假设四个锚节点t(t1,t2,t3,t4)对应的系数矩阵是a,而另外四个锚节点t

(t1′
,t2′
,t3′
,t4′
)对应的系数矩阵是a

。虽然a和a

对应的条件数是相同的,但对于δx的影响是不同的。本发明知道a=m
·
a

,则(a

)
‑1=ma
‑1,而由(7)式,显然四面体t(t1,t2,t3,t4)的构型能减少定位误差,这与图5呈现的结论类似。利用表1中的数据,根据(2)式,可求得四个锚节点对应的系数矩阵的条件数是cond
sum
=438.3616,条件数很大说明该系数矩阵是病态矩阵,对扰动非常敏感。所以才出现了测距误差厘米级,而定位误差确是几十米的情况。
[0187]
3.2锚节点与待测节点的相对位置对定位精度的影响
[0188]
假设||δa||较小,本发明只讨论3.1.1中的情形,即假设锚节点的坐标都是精确的,只存在测距误差。根据(7)式,
[0189]
||δx||≤||a
‑1||
·
||δb||
ꢀꢀ
(19)
[0190]
将(6)式带入(7)式,可得:
[0191][0192]
δd是一个随机变量,并且δd~u(

ε,ε)。由于|δd
12

δd
42
|的数值很小,故本发明假设:
[0193][0194]
对于四面体t(t1,t2,t3,t4),可确定如式(14)

式(17)所示的四个系数矩阵,这四个系数矩阵分别对应到δb1,δb2,δb3和δb4。实际上,(21)式对应的是δb4。
[0195]
对于(21)式两边同时取f范数可得:
[0196][0197]
同理可得:以及同样也是随机变量。由于e(δd)=0和d(δd)=ε2/3,本发明有:
[0198][0199]
本发明可以将(23)式建模为未知节点选择锚节点的过程,也就是说d
i
(i=1,

,4)取何值时,(23)式可取的最小值。这里需要指出的是,假如d
i
(i=1,

,4)都取较小值,这就意味着四面体的体积很小,这将会放大a
‑1中的元素。本发明可以假定d1+d2+d3+d4≥d
min
,在该假设下,要使(23)所示的数学期望取得最小值,(23)式可转化为如下非线性规划问题:
[0200][0201]
其中目标函数矩阵正定,是凸函数,不等式约束也为凸函数,故极小问题(24)是凸规划,k

t点必是全局最优解。该问题的k

t条件可表示为:
[0202][0203]
其中是梯度运算。由(25)式可解得k

t点为
[0204]
根据上述分析,未知节点与四个锚节点之间的距离,应尽可能的保持一致。
[0205]
4、基于误差分析的锚节点选择算法
[0206]
4.1算法设计规则
[0207]
基于误差分析,本发明提出的三维空间的锚节点选择算法主要遵循以下三方面的规则:
[0208]
(1)四个锚节点所构成的四面体条件数cond
sum
<cond
max

[0209]
(2)四个锚节点所构成的四面体体积尽可能较大;
[0210]
(3)未知节点到四个锚节点的距离尽可能保持一致。
[0211]
基于上述原则,本发明可以在以未知节点为球心的空心球体上选择锚节点。如图7所示,待测节点是p,r是节点的通信半径,r是空心球体内半径,红色标注的节点是p在空心半球体内的邻居节点。
[0212]
首先设置r,缩小p的邻居锚节点数量,只在如图7所示的空心球体上选择。这样一方面,降低了计算复杂度。对于三维空间中的三边定位,如果节点i在所有邻居锚节点中选择最合适的组合,要执行次组合运算,n(i)是节点i的邻居锚节点数量。如果节点i在空心半球体上选择锚节点,则n(i)降低为n(i)

=n(i)
·
(r3‑
r3)/(r3)。另一方面,在空心半球
体上选择锚节点,可以尽量使d
i
(i=1,...,4)不会有过大的差距,这主要是满足规则(3)。
[0213]
对于如图6所示空心球体上的锚节点,可以根据规则(1)和(2)选择其中4个对p进行定位。对于规则(1),四个锚节点所构成的四面体条件数cond
sum
<cond
max
,主要是为了避免四个锚节点的共面程度过高。其中,cond
max
是四面体条件数的阈值,一般来说,本发明要选择条件数小于该阈值的四面体。在满足规则(1)和(3)的所有锚节点中,本发明选择体积最大的四面体所对应的锚节点对p进行定位。
[0214]
4.2参数解释
[0215]
本发明定位算法的主要参数如表2所示:
[0216]
表2参数与变量说明
[0217][0218]
4.3算法流程
[0219]
初始阶段,网络中的节点与邻居相互测距,并存储与邻居的距离信息。初始锚节点广播自己的位置信息,收集到足够信息的未知节点执行锚节点选择算法,算法流程如图7所示。完成定位的未知节点更新node(i).flag1=1,在下一轮定位中成为锚节点,广播自己的位置信息;而在本轮中未完成定位的未知节点,进入等待状态,等待下一轮定位中接收到足够多的信息,完成定位。
[0220]
这里需要指出的是,在比较稀疏的网络中,部分未知节点在寻找满足图8条件的锚节点组合等待时间过长,为此根据不同应用的需要,可以设置一个等待时间阈值t,当未知节点达到等待时间阈值依然没有完成定位时,流程图8中的条件可以适当放宽。当然这也意味着定位精度的降低。
[0221]
下面结合仿真对本发明的技术效果作详细的描述。
[0222]
仿真实验分三个部分,第一部分本发明设计仿真实验来比较评价四面体质量的四个指标,cond
sum
,θ
min
,ρ以及η。第二部分设计仿真实验来验证本发明提出的锚节点选择算法在三维定位中的有效性。第三部分是根据四面体条件数在三维空间布设锚节点。仿真软件是matlab2017a,仿真环境是windows平台。
[0223]
1、条件数评价四面体质量
[0224]
通过设计仿真实验的方法,说明了θ
min
,ρ以及η是“equivalent”,下面本发明也通过实验的方法说明cond
sum
也是“equivalent”。对于形态较差的四面体,主要有四种情形,其中9(a)的四面体没有短边,但形状较为“扁平”。在评价平面三角形质量的方法中有一种最短边长法,显然这种方法不适用于图9(a),图9(b)所示的四面体只有一条短边,图9(c)所示的四面体有一对棱都是短边,而图9(d)所示的四面体有三条短边。
[0225]
对于如图9所示的四种情形,本发明分别设置四个仿真实验来说明θ
min
,ρ,η以及cond
sum
是“equivalent”。为使上述四个指标的量纲一致,也即取值区间是[0,1],本发明对cond
sum
作归一化处理,令cond
sum

=8/cond
sum
(正四面体的cond
sum
是8)。对于7(a),本发明设置如下仿真实验。四面体四个顶点坐标:t1=(0,0,0),t2=(1,0,0),=(1,0,0),其中u∈(0,1],当u

0时,四面体逐渐“扁平”。如图10所示,当u趋向于0时,四个评价指标都趋于0,四个顶点趋于共面。随着u的增大,四个评价指标也都逐渐增大并趋于1,图形趋于正四面体。cond
sum
的变化趋势与θ
min
更加接近。
[0226]
对于图9(b),本发明设置t1=(0,0,0),t2=(1,0,0),=(1,0,0),其中u∈(0,1]。实验结果如图11所示,与图10有相似的结论。
[0227]
对于图9(c)本发明设置t1=(0,0,0),t2=(1,0,0),=(1,0,0),其中u∈(0,1]。实验结果如图12所示。
[0228]
对于图9(d)本发明设置t1=(0,0,0),t2=(u,0,0),=(u,0,0),其中u∈(0,1]。实验结果如图13所示。
[0229]
通过这一部分的仿真实验,利用cond
sum
评价四面体的质量是有效的。
[0230]
2、基于四面体度量的锚节点选择算法
[0231]
实验主要参数,n=150个未知节点随机部署在100
×
100
×
100的网络中。m=50个锚节点的部署方式有两种,图14(a)展示的是部署在网络周边,考虑这种部署方式是因为在许多应用场景中,锚节点只能出现在场景的周边。第二种锚节点部署方式如图14(b)所示,与未知节点一样,随机分布于网络中。节点通信半径r∈[25,35],以测试连通度对定位精度的影响。本发明设置r=0.5r,cond
sum
=50,这里需要指出的是r与cond
sum
都是经过仿真实验取得的经验值。测距误差取网络边长的1%,即δd~u(

1,1)。定位精度用(14)式的mae评价。本算法(tsm)主要与基于最小二乘(least square,ls)的定位算法作比较。在本发明的实验中,基于ls算法是不稳定的。一个未知节点通信半径内至少有四个锚节点即可完成定位,倘若这四个锚节点构成的四面体形状较差,该未知节点的坐标估计会存在较大偏差,进而会为后面的定位带来较大的迭代误差。为此本发明将ls算法做简单改进,一个未知节点周围至少有六个锚节点才能完成定位,本发明把改进后的ls算法记为ls

6。
[0232]
2.1算法mae的比较
[0233]
在本实验中,本发明取r=30。tsm,ls

6,ls这种算法的mae都随迭代次数的增加呈上升趋势,这是迭代误差导致的。ls的迭代次数较少,但mae以及标注差都显著大于tsm和ls

6,这即说明三边定位中锚节点形态的重要性,也说明了tsm和ls

6在抑制迭代误差增长的有效性。锚节点随机分布于网络周边时,tsm的整体mae是1.98m,略优于ls

6的2.2m。这是
由于随机分布在网络周边的锚节点其构型更加偏平,“有选择的使用”比“有多少用多少”更加有效,这点从图15(a)的首次迭代可以看出,tsm首次迭代的mae比ls

6的mae更小。锚节点随机分布于网络中时,三种算法的mae都有所降低,其中tsm、ls

6和ls的整体mae分别是1.69m,1.48m以及5.01m。ls

6的mae优于tsm,这是由于随机分布在网络中的锚节点其构型更加平均,“有多少用多少”比“有选择的使用”更加有效。锚节点随机分布在网络内部时,会出现分布于网络边缘节点由于邻居节点少于4个而无法定位的情形。
[0234]
2.2节点的连通度对定位精度的影响
[0235]
在本实验中,r分别取25,27.5,30,32.5以及35,以测试不同的节点平均连通度对定位精度的影响。以锚节点随机部署在网络中为例,不同的通信半径对应的节点平均度如下表3所示:
[0236]
表3节点的平均度
[0237][0238]
图16(a)和图16(b)展示的是不同节点平均度对定位精度的影响。随着通信半径的增加,节点平均连通度不断增加,对于基于ls的定位算法,意味着可用信息不断增加,对于tsm,意味着可供选择的节点组合不断增加。三种算法的mae都有减少的趋势,但ls的mae和标准差都显著大于tsm和ls

6。在图16(b)中,当r=25时,有大量未知节点的邻居节点少于4个而无法完定位,顾对于锚节点随机分布于网络内部的情形,通信半径r的取值从27.5开始。由图16(a)和图16(b),对于tsm和ls

6这两种算法的比较与2.1有相似的结论。总体来说,tsm相较于ls算法,定位精度有了显著的提升,与本发明简单改进后的ls

6的定位精度相当。
[0239]
3、三维空间中锚节点的布设
[0240]
尽管tsm的定位精度与ls

5接近,计算复杂度比ls

5高,但基于tsm的定位算法对于锚节点的部署具有一定的指导意义。想象如下场景,有一个10
×
10
×
4的仓库,仓库内的物品需要知道相对坐标,即以仓库建立相对坐标系。现准备在该仓库部署四个锚节点,以满足物品的相对定位需求,这四个锚节点应该怎样部署。以该仓库的某个立体角建立空间直角坐标系,四个锚节点在该坐标系下构成四面体。很容易想到的三种部署方案如下表4所示:
[0241]
表4锚节点的部署方案
[0242][0243]
很容易看出三个四面体体积相同,哪个四面体的定位效果较好那?本发明分别计算了三个四面体的条件数,其中cond
sum
(t1)=19.63,cond
sum
(t2)=21.71,cond
sum
(t3)=14.06。按照本发明的分析,应该选择条件数最小的四面体t3。为了验证本发明的结论,设计如下仿真实验,在10
×
10
×
4的空间内随机部署5000个未知节点,锚节点的部署如t1,t2,t3。测距误差δd~u(

0.1,0.1),三种部署方案的mae如下表5所示:
[0244]
表5不同部署方案的mae
[0245][0246]
由表5,t3的mae显著小于t1与t2,这也说明了本发明所提出的四面体条件数对于三维空间锚节点部署的指导意义。当然,本发明所提出的条件数的概念对于二维平面和三维立体是相统一的,本发明同样可以定义二维平面三角形的条件数,对于二维平面锚节点的部署也具有指导意义。
[0247]
本发明在对三维空间三边定位的误差分析中,定义了四面体条件数cond
sum
,可用于评价四面体质量的好坏。第五节的仿真实验表明,cond
sum
,θ
min
,ρ以及η评价四面体质量时是相似的。cond
sum
是基于代数运算的,在评价二维平面的三角形和立体空间的四面体是相统一的。进而本发明提出了在未知节点空心半球体上选择锚节点的方法tsm,仿真实验表明该方法可以有效抑制单点定位中的迭代误差问题,定位精度与经过改进的ls

6算法相当。四面体的条件数与tsm算法对于在三维空间中部署锚节点具有很强的指导意义。
[0248]
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、cd或dvd

rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
[0249]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所
作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1