APP下载

移动无线传感网络的分布式协作定位的研究

2019-04-15

计算机应用与软件 2019年4期
关键词:测距传感协作

贺 伟 梁 潘

1(阿坝师范学院电子信息与自动化学院 四川 汶川 623002) 2(成都航空职业技术学院机电工程学院 四川 成都 610100)

0 引 言

微型的、能量受限的具有数据感知能力的传感节点组成的无线传感网络WSNs(Wireless Sensor Networks)[1-2]已在医疗、环境监测、军事等领域得到广泛应用。这些应用均以节点有效的收集数据为前提,并且节点所感知的数据需配备准确的位置才具有价值,换言之,无准确位置的感测数据是无价值的。因此,节点定位已成为WSNs的研究焦点[3-4]。

考虑到WSNs的节点能量、尺寸和成本限制,常通过测量传感节点与锚节点间的测距信息估计传感节点位置,其中锚节点是指已知位置的传感节点[3]。通常,通过测量无线信号的物理参数获取测距数据。在众多的测量技术中,基于到达时间TOA[4]受到广泛关注。

目前,尽管研究人员提出不同的定位算法,但是这些定位算法是针对静态传感网络,即传感节点和锚节点都是静态的。然而,在一些实际场景中,如水下传感网络,小型的跟踪移动网络、车联网。这些场景中节点是非静态的。

现只有少数文献关注了移动锚节点协助定位问题[5-6]。文献[6]针对移动传感节点环境,研究了基于最大似然ML(Maximum Likelihood)估计的节点定位问题。但是,文献[6]所提出的定位方案属非协作式[7]。在非协作式定位中,每个传感节点需要不断与锚节点通信。然而,如果传感节点不能直接与足够多的锚节点通信时,传感节点就无法定位。例如,在二维空间中,每个传感节点至少需要与三个锚节点连接,才能定位,否则传感节点将无法获取自己的位置。为了解决此问题,协作定位[7]得到关注。在协作定位算法中,每个节点与其通信范围内的节点进行通信,获取更多测量信息,进而提高定位精度。

为此,基于TOA测量,提出二阶锥规划的分布式定位算SOCP-DL(Second-order Cone Programming-based distributed localization)算法。SOCP-DL算法将复杂的ML问题分解为分布式子问题,然后再由传感节点局部求解。因此,提出的SOCP-DL算法适用于大型WSNs网络。

1 测距模型

假定WSNs内有ms个传感节点和ma个移动锚节点构成,这些移动锚节点能独自移动,并且锚节点位置已知。类似文献[6],假定每个移动锚节点能测量它的速度矢量,包括大小和方向,并将这些速度矢量用于定位阶段。

此外,引用式(1)的感测模型协作速度测量,进而完成定位[7]:

(1)

(2)

(3)

其中,1≤i≤ms,1≤j≤ms+ma,且i≠j,1≤n≤N。

(4)

2 算法设计

本文算法先利用测距值和测速值作为ML估计的观察数据,再建立ML估计表达式。考虑到ML估计为非凸、NP-hard问题,利用SOCP松弛技术求解。然而,为了降低算法的复杂度,将集中式求解转化为分布式求解,整个SOCP-DL算法框架如图1所示。

图1 本文算法框架

2.1 基于ML定位

(5)

基于TOA场景,定义D集,其内元素表示所有的测距值,如式(6)所示:

(6)

依据速度测量值V和测距值D,再最大化条件概率分布函数f(D,V|S),便可获取ML估计。具体而言,由于速度和距离测量误差相互独立,可得f(D,V|S)=f(D|S)f(V|S),其定义如式(7)所示:

(7)

再对式(7)两边取对数,便可得ML估计值:

(8)

此外,式(8)是基于ML的协作定位估计,且其属于非凸的,通常认为是NP-hard。针对非凸问题,常利用半定规划SDP(Semi-definiteProgramming)松弛技术求解。然而,SDP技术并不适用于求解式(8),这主要是基于两点原因:1) 对于大型网络,利用SDP技术求解,计算复杂度很高;2) 由于它们的复杂结构[8],利用SDP技术求解,需要集中计算。为此,SOCP-DL算法利用SOCP松弛技术求解,降低计算时间,更适合于分布式算法。

2.2 基于SOCP定位

将式(8)转换成集中式凸SOCP问题。先建立约束问题,如式(9)所示:

(9)

(10)

(11)

利用现成的凸优化软件包(CVX)便可有效地求解式(11)。CVX是MATLAB软件自带的软件包,并提供MATLAB接口。通过CVX软件包可解决线性规划、最小二乘法等问题。

然而,式(11)需要集中方式求解,其要求将所有测距值传输至融合中心FC,这将导致大量的功率消耗和高的计算成本。为此,以分布方式求解式(11)。

2.3 分布式实施SOCP

分析如何利用分布方式实现SOCP算法。首先,将约束优化的式(9)问题进行松弛:

(12)

(13)

观察到式(13)不难发现,对于每个传感节点i∈{1,2,…,ms},式(13)仅取决于位置和它的邻居节点所转发的测距信息和速度测量值。因此,可将式(13)分解为ms个独立的子问题。

(14)

3 实 验

3.1 仿真环境

利用MATLAB 7.1软件建立仿真平台,并通过实验分析SOCP-DL算法的性能。利用CVX编程工具实施凸规划[9]。所有传感节点和锚节点部署于10 m×10 m方形区域。最初(n=1),所有锚节点和传感节点随机分布于10 m×10 m区域,并且它们依据随机的点移动模型(Random-way point mobility)[10-11]进行移动。最大的移动速度为Vmax。

在每个时刻,每个节点就随机地选择目的地,当它达到了目的地后,再随机地选择下一目的地,并以不同的速度移动。此外,引用均方根误差RMSE(Root Mean Square Error)作为性能指标。

3.2 实验数据分析

图2 RMSE随的变化曲线

图3 RMSE随R、Vmax变化曲线

从图3可知,通信半径R的增加,有利于降低RMSE。这主要是因为:通信半径越大,节点的通信范围越宽,节点获取的信息就越多,越有利于定位。例如,当Vmax=1.4 m/s时,R=2.5 m增加至R=5.0 m,RMSE也随之下降。但是,Vmax从1.4 m/s增加至2.8 m/s比通信半径R从2 m增加至4 m,RMSE降低得更多。

图4 对比实验

从图4可知,与文献[7]的算法相比,提出的SOCP-DL算法的RMSE得到有效地降低。例如,在n=15,Vmax=1.4 m/s时,文献[7]算法的RMSE为3 m,而提出SOCP-DL算法的RMSE为2.25 m。这些数据表明,提出的SOCP-DL算法能够有效地降低RMSE。

表1 算法的运行时间

E-NIL算法的计算时间为2.34 s,而文献[7]算法的计算时间为3.01 s。但是采用集中式求解的运行时间达到3.32 s,高于E-NIL。这也说明通过分布式实施SOCP能够有效地降低算法的复杂度。

4 结 语

本文针对移动WSNs的节点定位,提出基于二阶锥规划的分布式定位算法SOCP-DL。SOCP-DL算法先基于测距和速度测量值,建立ML估计表达式,然后再利用SOCP松弛技术求解,并对SOCP松驰技术分布式实施,进而降低算法的复杂度。实验数据表明,提出的SOCP-DL算法能够有效地提高定位精度。

猜你喜欢

测距传感协作
《传感技术学报》期刊征订
新型无酶便携式传感平台 两秒内测出果蔬农药残留
类星体的精准测距
团结协作成功易
IPv6与ZigBee无线传感网互联网关的研究
协作
浅谈超声波测距
协作
可与您并肩协作的UR3
基于PSOC超声测距系统设计