一种基于边界条件的节点定位方法及系统转让专利

申请号 : CN201810137395.8

文献号 : CN108347694B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张百海王昭洋柴森春崔灵果姚分喜

申请人 : 北京理工大学

摘要 :

本发明公开了一种基于边界条件的节点定位方法及系统。该方法包括:获取初始时刻各锚节点的参数信息;参数信息包括锚节点的坐标以及跳数信息;根据各锚节点的参数信息计算初始时刻各待定位节点的位置;根据初始时刻各待定位节点的位置预测各待定位节点k时刻的位置,得到各待定位节点的初始预测位置;根据边界区域对各待定位节点的初始预测位置进行约束,得到各待定位节点的约束位置;对各待定位节点的约束位置进行矫正,使其符合置信传播规则和积分消息传递规则,得到各待定位节点矫正后的位置。本发明能够提高节点定位的准确性,规避累积误差带来的位置漂移。

权利要求 :

1.一种基于边界条件的节点定位方法,其特征在于,包括:获取初始时刻各锚节点的参数信息;所述参数信息包括锚节点的坐标以及跳数信息;

所述锚节点为无线传感器网络中坐标点已知的节点;

根据各所述锚节点的参数信息计算初始时刻各待定位节点的位置;所述待定位节点为无线传感器网络中坐标点未知的节点;

根据初始时刻各待定位节点的位置预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置,k=1,2,....,K,K表示任意时刻;

对于每一个待定位节点,获取k时刻所述待定位节点两跳范围内进行通讯的多个锚节点;

根据多个所述锚节点的通讯距离确定第一边界区域;

根据k-1时刻所述待定位节点的位置确定第二边界区域;k=1时,所述待定位节点的位置为初始时刻的位置;

叠加第一边界区域以及第二边界区域得到第三边界区域;

通过所述第三边界区域对所述待定位节点的初始预测位置进行约束,得到所述待定位节点的约束位置;

对于每一个待定位节点,判断所述待定位节点的初始预测位置是否在所述第三边界区域内;

若是,所述待定位节点的初始预测位置为所述待定位节点的约束位置;

若否,以所述第三边界区域的中心位置为所述待定位节点的约束位置;

根据边界区域对各所述待定位节点的初始预测位置进行约束,得到各所述待定位节点的约束位置;

对各所述待定位节点的约束位置进行矫正,使各所述待定位节点的位置符合置信传播规则和变分消息传递规则,得到各所述待定位节点矫正后的位置。

2.根据权利要求1所述的节点定位方法,其特征在于,所述计算初始时刻各节点的位置,具体包括:根据各所述锚节点的参数信息计算各所述锚节点的平均跳距;

获取与各所述锚节点进行通讯的待定位节点;

根据各所述锚节点的平均跳距,计算各所述锚节点与对应进行通讯的待定位节点之间的距离;

根据各所述锚节点与对应进行通讯的待定位节点之间的距离,计算初始时刻各所述待定位节点的位置。

3.根据权利要求1所述的节点定位方法,其特征在于,所述根据初始时刻各待定位节点的位置预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置,具体包括:根据初始时刻各所述待定位节点的位置计算各所述待定位节点的历史运动轨迹;

根据各所述待定位节点的历史运动轨迹得到各所述待定位节点的运动趋势;所述运动趋势包括速度以及加速度;

根据各所述待定位节点的运动趋势预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置。

4.根据权利要求1所述的节点定位方法,其特征在于,所述对各所述待定位节点的约束位置进行矫正,使其符合置信传播规则和变分消息传递规则,得到各所述待定位节点矫正后的位置,具体包括:估计k时刻各节点之间的距离;

根据各节点之间的距离确定置信传播规则和变分消息传递规则;

根据置信传播规则和变分消息传递规则对各所述待定位节点的约束位置进行矫正,得到各所述待定位节点矫正后的位置。

5.一种基于边界条件的节点定位系统,其特征在于,包括:获取模块,用于获取初始时刻各锚节点的参数信息;所述参数信息包括锚节点的坐标以及跳数信息;所述锚节点为无线传感器网络中坐标点已知的节点;

计算模块,用于根据各所述锚节点的参数信息计算初始时刻各待定位节点的位置;所述待定位节点为无线传感器网络中坐标点未知的节点;

预测模块,用于根据初始时刻各待定位节点的位置预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置,k=1,2,....,K,K表示任意时刻;

预测模块包括:

运动轨迹计算单元,用于根据初始时刻各所述待定位节点的位置计算各所述待定位节点的历史运动轨迹;

第一确定单元,用于根据各所述待定位节点的历史运动轨迹得到各所述待定位节点的运动趋势;所述运动趋势包括速度以及加速度;

预测单元,用于根据各所述待定位节点的运动趋势预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置;

约束模块,用于根据边界区域对各所述待定位节点的初始预测位置进行约束,得到各所述待定位节点的约束位置;

所述约束模块包括:

锚节点获取单元,用于对于每一个待定位节点,获取k时刻所述待定位节点两跳范围内进行通讯的多个锚节点;

第二确定单元,用于根据多个所述锚节点的通讯距离确定第一边界区域;

第三确定单元,用于根据k-1时刻所述待定位节点的位置确定第二边界区域;k=1时,所述待定位节点的位置为初始时刻的位置;

叠加单元,用于叠加第一边界区域以及第二边界区域得到第三边界区域;

约束单元,用于通过所述第三边界区域对所述待定位节点的初始预测位置进行约束,得到所述待定位节点的约束位置;

对于每一个待定位节点,判断所述待定位节点的初始预测位置是否在所述第三边界区域内;

若是,所述待定位节点的初始预测位置为所述待定位节点的约束位置;

若否,以所述第三边界区域的中心位置为所述待定位节点的约束位置;

矫正模块,用于对各所述待定位节点的约束位置进行矫正,使各所述待定位节点的位置符合置信传播规则和变分消息传递规则,得到各所述待定位节点矫正后的位置。

6.根据权利要求5所述的系统,其特征在于,所述计算模块包括:平均跳距计算单元,用于根据各所述锚节点的参数信息计算各所述锚节点的平均跳距;

获取单元,用于获取与各所述锚节点进行通讯的待定位节点;

距离计算单元,用于根据各所述锚节点的平均跳距,计算各所述锚节点与对应进行通讯的待定位节点之间的距离;

位置计算单元,用于根据各所述锚节点与对应进行通讯的待定位节点之间的距离,计算初始时刻各所述待定位节点的位置。

说明书 :

一种基于边界条件的节点定位方法及系统

技术领域

[0001] 本发明涉及系统工程技术领域,特别是涉及一种基于边界条件的节点定位方法及系统。

背景技术

[0002] 无线传感器网络(Wireless SensorNetworks,WSNs)作为一种信息攫取的现代化手段,已经在无线通讯领域实现了信息感知、数据处理和实时传输功能。相对于传统的传感器,具有独特的技术优势、灵活的自组织方式和强大的数据处理能力,在环境监测、灾害预警、空间探索和军事侦察等领域实现了广泛的应用。无线传感器网络中的位置信息获取是基本功能之一,也是提供监测事件位置信息的前提,节点采集的信息,如果脱离了位置信息,会失去使用价值,那么无线传感器网络也就不能发挥应有的事件发现与跟踪的作用,因此,节点定位问题是无线传感器网络领域内的重要课题。
[0003] 移动WSNs的传感器节点往往搭载于移动监测对象或可移动设备,在信息感知和监测范围上往往更加灵活全面,是WSNs领域中具有广泛的应用,然而移动WSNs的节点能够自主移动,同样会导致网络拓扑易变,节点的邻居关系随机变化,传感器网络也随之不断演进,因此需要使用移动管理技术来保证高质量的信息流通信和实时准确定位。
[0004] 移动WSNs定位中,仅已知最大节点速度的定位算法主要集中在蒙特卡洛定位MCL(Monte-Carlo Location)及其拓展,虽然MCL定位算法抛开了节点移动性的干扰,定位结果达到一定的准确率,但是采样成功率低和粒子退化现象限制了MCL的进一步发展。作为近似贝叶斯推理的一种实现方法,基于因子图的消息传递算法(Message PassingAlgorithm,MPA)特别适用于大规模概率模型和协同运算,并在移动WSNs体现出较大的优越性。置信传播(BeliefPropagation,BP)和变分消息传递(Variational Message Passing,VMP)是两种简单、易操作的消息更新规则,适用于协作定位中的指数型消息,因此在协同定位中具有广泛的应用。但是,基于消息传递的移动传感器仍存在以下问题,制约着该方法的发展和实际应用。
[0005] 1、协同定位中对初始位置测量和节点间的距离估计具有一定的要求,若在传感器中搭载相应的测速、测距设备,将会大大提高传感器节点的定位成本,并增加过量的能耗,且无法降低运算复杂度和通信负载。
[0006] 2、基于消息传递的定位算法尚无法达到精确的定位要求,针对初始估计所产生的误差,通过运算进行传递、累积,可能对长时间工作的移动节点定位产生较大的影响,为了获取位置感知过程中传感信息的精确处理和应用,定位精度有待提高。

发明内容

[0007] 本发明的目的是提供一种基于边界条件的节点定位方法及系统,在控制节点成本的前提下,解决移动传感器定位中的误差累积问题,提高定位精度。
[0008] 为实现上述目的,本发明提供了如下方案:
[0009] 一种基于边界条件的节点定位方法,包括:
[0010] 获取初始时刻各所述锚节点的参数信息;所述参数信息包括锚节点的坐标以及跳数信息;所述锚节点为无线传感器网络中坐标点已知的节点;
[0011] 根据各所述锚节点的参数信息计算初始时刻各待定位节点的位置;所述待定位节点为无线传感器网络中坐标点未知的节点;
[0012] 根据初始时刻各待定位节点的位置预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置,k=1,2,....,K,K表示任意时刻;
[0013] 根据边界区域对各所述待定位节点的初始预测位置进行约束,得到各所述待定位节点的约束位置;
[0014] 对各所述待定位节点的约束位置进行矫正,使各所述待定位节点的位置符合置信传播规则和变分消息传递规则,得到各所述待定位节点矫正后的位置。
[0015] 可选的,所述计算初始时刻各节点的位置,具体包括:
[0016] 根据各所述锚节点的参数信息计算各所述锚节点的平均跳距;
[0017] 获取与各所述锚节点进行通讯的待定位节点;
[0018] 根据各所述锚节点的平均跳距,计算各所述锚节点与对应进行通讯的待定位节点之间的距离;
[0019] 根据各所述锚节点与对应进行通讯的待定位节点之间的距离,计算初始时刻各所述待定位节点的位置。
[0020] 可选的,所述根据初始时刻各待定位节点的位置预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置,具体包括:
[0021] 根据初始时刻各所述待定位节点的位置计算各所述待定位节点的历史运动轨迹;
[0022] 根据各所述待定位节点的历史运动轨迹得到各所述待定位节点的运动趋势;所述运动趋势包括速度以及加速度;
[0023] 根据各所述待定位节点的运动趋势预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置。
[0024] 可选的,所述根据边界区域对各所述待定位节点的初始预测位置进行约束,得到各所述待定位节点的约束位置,具体包括:
[0025] 对于每一个待定位节点,获取k时刻所述待定位节点两跳范围内进行通讯的多个锚节点;
[0026] 根据多个所述锚节点的通讯距离确定第一边界区域;
[0027] 根据k-1时刻所述待定位节点的位置确定第二边界区域;k=1时,所述待定位节点的位置为初始时刻的位置;
[0028] 叠加第一边界区域以及第二边界区域得到第三边界区域;
[0029] 通过所述第三边界区域对所述待定位节点的初始预测位置进行约束,得到所述待定位节点的约束位置。
[0030] 可选的,所述通过所述第三边界区域对各所述待定位节点的初始预测位置进行约束;具体包括:
[0031] 对于每一个待定位节点,判断所述待定位节点的初始预测位置是否在所述第三边界区域内;
[0032] 若是,所述待定位节点的初始预测位置为所述待定位节点的约束位置;
[0033] 若否,以所述第三边界区域的中心位置为所述待定位节点的约束位置。
[0034] 可选的,所述对各所述待定位节点的约束位置进行矫正,使其符合置信传播规则和变分消息传递规则,得到各所述待定位节点矫正后的位置,具体包括:
[0035] 估计k时刻各节点之间的距离;
[0036] 根据各节点之间的距离确定置信传播规则和变分消息传递规则;
[0037] 根据置信传播规则和变分消息传递规则对各所述待定位节点的约束位置进行矫正,得到各所述待定位节点矫正后的位置。
[0038] 本发明还提供了一种基于边界条件的节点定位系统,包括:
[0039] 获取模块,用于获取初始时刻各所述锚节点的参数信息;所述参数信息包括锚节点的坐标以及跳数信息;所述锚节点为无线传感器网络中坐标点已知的节点;
[0040] 计算模块,用于根据各所述锚节点的参数信息计算初始时刻各待定位节点的位置;所述待定位节点为无线传感器网络中坐标点未知的节点;
[0041] 预测模块,用于根据初始时刻各待定位节点的位置预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置,k=1,2,....,K,K表示任意时刻;
[0042] 约束模块,用于根据边界区域对各所述待定位节点的初始预测位置进行约束,得到各所述待定位节点的约束位置;
[0043] 矫正模块,用于对各所述待定位节点的约束位置进行矫正,使各所述待定位节点的位置符合置信传播规则和变分消息传递规则,得到各所述待定位节点矫正后的位置。
[0044] 可选的,所述计算模块包括:
[0045] 平均跳距计算单元,用于根据各所述锚节点的参数信息计算各所述锚节点的平均跳距;
[0046] 获取单元,用于获取与各所述锚节点进行通讯的待定位节点;
[0047] 距离计算单元,用于根据各所述锚节点的平均跳距,计算各所述锚节点与对应进行通讯的待定位节点之间的距离;
[0048] 位置计算单元,用于根据各所述锚节点与对应进行通讯的待定位节点之间的距离,计算初始时刻各所述待定位节点的位置。
[0049] 可选的,所述预测模块包括:
[0050] 运动轨迹计算单元,用于根据初始时刻各所述待定位节点的位置计算各所述待定位节点的历史运动轨迹;
[0051] 第一确定单元,用于根据各所述待定位节点的历史运动轨迹得到各所述待定位节点的运动趋势;所述运动趋势包括速度以及加速度;
[0052] 预测单元,用于根据各所述待定位节点的运动趋势预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置。
[0053] 可选的,所述约束模块包括:
[0054] 锚节点获取单元,用于对于每一个待定位节点,获取k时刻所述待定位节点两跳范围内进行通讯的多个锚节点;
[0055] 第二确定单元,用于根据多个所述锚节点的通讯距离确定第一边界区域;
[0056] 第三确定单元,用于根据k-1时刻所述待定位节点的位置确定第二边界区域;
[0057] 叠加单元,用于叠加第一边界区域以及第二边界区域得到第三边界区域;
[0058] 约束单元,用于通过所述第三边界区域对所述待定位节点的初始预测位置进行约束,得到所述待定位节点的约束位置。
[0059] 根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明根据边界区域对各所述待定位节点的初始预测位置进行约束,并对约束位置进行矫正,使其符合置信传播规则和变分消息传递规则。利用边界区域缩小节点运动的可能区域,避免预测过程中粗大误差的产生,提高定位准确性,规避累积误差带来的位置漂移。

附图说明

[0060] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0061] 图1为本发明实施例提供的一种基于边界条件的节点定位方法的流程图;
[0062] 图2是本发明实施例提供的边界盒子示意图;
[0063] 图3是本发明实施例提供的边界盒子一跳节点切割示意图;
[0064] 图4是本发明实施例提供的两跳节点通讯情况;
[0065] 图5是本发明实施例提供的一跳节点通讯情况;
[0066] 图6是本发明实施例提供的节点距离估计误差的相关性;
[0067] 图7是本发明实施例提供的因子图模型;
[0068] 图8是本发明实施例提供的一种基于边界条件的节点定位系统的结构框图。

具体实施方式

[0069] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0070] 本发明的目的是提供一种基于边界条件的节点定位方法及系统,在控制节点成本的前提下,解决移动传感器定位中的误差累积问题,提高定位精度。
[0071] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0072] 如图1所述,一种基于边界条件的节点定位方法,包括:
[0073] 步骤101:获取初始时刻各所述锚节点的参数信息;所述参数信息包括锚节点的坐标以及跳数信息;所述锚节点为无线传感器网络中坐标点已知的节点。
[0074] 步骤102:根据各所述锚节点的参数信息计算初始时刻各待定位节点的位置;所述待定位节点为无线传感器网络中坐标点未知的节点。
[0075] 具体的,根据各所述锚节点的参数信息计算各所述锚节点的平均跳距;
[0076] 获取与各所述锚节点进行通讯的待定位节点;
[0077] 根据各所述锚节点的平均跳距,计算各所述锚节点与对应进行通讯的待定位节点之间的距离;
[0078] 根据各所述锚节点与对应进行通讯的待定位节点之间的距离,计算初始时刻各所述待定位节点的位置。
[0079] 移动WSNs中,所有节点随机布撒在一定区域,由于初始时刻无法根据前一时刻的节点运动情况进行预测,因此采用DV-HOP方法对节点的初始位置进行估计。首先,所有节点进行广播,获得它到锚节点的跳数信息和锚节点坐标。锚节点根据上述信息,计算锚节点的平均跳距,如公式(1)所示。
[0080]
[0081] 其中,m为锚节点个数,i,j分别表示第i个锚节点和第j个锚节点;hij为锚节点i,j之间的跳数,(xi,yi),(xj,yj)分别为锚节点i,j的坐标。
[0082] 锚节点获知其平均跳距并将其广播给未知节点,并根据公式(2)估计未知节点与锚节点间的距离。
[0083] d=Hh  (2)
[0084] 其中,d为节点间的距离,H为平均跳距,h为节点间的跳数。
[0085] 因此,可估算未知节点到任意锚节点的距离,并对每个锚节点写出距离公式(3)。
[0086]
[0087] 其中,dia表示节点i与锚节点a之间的距离。上述公式对m个锚节点可表述成m个方程的非线性方程组,方程组以矩阵的形式表示,如公式(4)。
[0088] Ax=b  (4)
[0089] 式中,x表示待定位节点坐标,A表示矩阵系数,b为矩阵乘积。A,x,b的具体表达式如(5)所示。
[0090]
[0091] 根据以上公式,将最小二乘的解作为节点初始位置的估计坐标xinitial。
[0092] xinitial=(ATA)-1ATb。
[0093] 步骤103:根据初始时刻各待定位节点的位置预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置,k=1,2,....,K,K表示任意时刻。
[0094] 具体的,根据初始时刻各所述待定位节点的位置计算各所述待定位节点的历史运动轨迹;
[0095] 根据各所述待定位节点的历史运动轨迹得到各所述待定位节点的运动趋势;所述运动趋势包括速度以及加速度;
[0096] 根据各所述待定位节点的运动趋势预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置。
[0097] 传感器节点在不同时刻以不同的速度移动,tk时刻对应节点位置为 为了实现移动传感器的位置预测,利用前三个时刻节点的坐标进行多项式牛顿插值,实现历史轨迹的拟合,拟合后的预测位置如公式(7)至(9)所示。
[0098] xk=f(t)=Nxk-1(t)+Rxk-1(t)  (7)
[0099] Nxk-1(t)=f(tk-3)+f[tk-3,tk-2](tk-3-tk-2)+f[tk-3,tk-2,tk-1](t-tk-3)(t-tk-2)  (8)[0100] Rxk-1(t)=f[t,tk-3,tk-2,tk-1](t-tk-3)(t-tk-2)(t-tk-1)  (9)
[0101] 其中,
[0102]
[0103]
[0104] 式中,xk表示tk时刻的预测位置,f(t)为历史轨迹拟合的位置函数。
[0105] 步骤104:根据边界区域对各所述待定位节点的初始预测位置进行约束,得到各所述待定位节点的约束位置。
[0106] 具体的,对于每一个待定位节点,获取k时刻所述待定位节点两跳范围内进行通讯的多个锚节点;
[0107] 根据多个所述锚节点的通讯距离确定第一边界区域;
[0108] 根据k-1时刻所述待定位节点的位置确定第二边界区域;k=1时,所述待定位节点的位置为初始时刻的位置。
[0109] 叠加第一边界区域以及第二边界区域得到第三边界区域;
[0110] 通过所述第三边界区域对所述待定位节点的初始预测位置进行约束,得到所述待定位节点的约束位置。对于每一个待定位节点,判断所述待定位节点的初始预测位置是否在所述第三边界区域内;若是,所述待定位节点的初始预测位置为所述待定位节点的约束位置;若否,以所述第三边界区域的中心位置为所述待定位节点的约束位置。
[0111] 只考虑未知节点两跳范围内的锚节点,在第k个时间,未知节点能够接收来自n个锚节点的信息,对两跳范围内的锚节点,以其自身为中心,通讯半径的四倍为边长绘制正方形,其相交区域则为锚盒子(即第一边界区域),该区域的边界如公式(10)所示。
[0112]
[0113] 其中x1min表示锚盒子横坐标的下界,x1max表示锚盒子横坐标的上界,x2min表示锚盒子纵坐标的下界,x2max表示锚盒子纵坐标的上界。x1j表示临近锚节点的横坐标,x2j表示临近锚节点的纵坐标。r为传感器的通讯半径。
[0114] 此外应考虑上一时刻节点位置和节点运动的最大速度,对节点预测位置进行约束。以上一时刻未知节点的位置为中心,2Vmax为边长绘制正方形(即第二边界区域),该正方形与锚盒子的相交区域则为边界盒子(即第三边界区域),如图2所示,区域边界如公式(11)所示。
[0115]
[0116] 其中,等式右边x1min,x1max,x2min,x2max为公式(10)中得到的边界值,等式左边x1min,x1max,x2min,x2max为边界盒子的边界值,x1(t-1),x2(t-1)为上一时刻节点坐标,Vmax为节点运动的最大速度。
[0117] 为了进一步精确节点的预测位置,本发明对边界盒子进一步缩小区域,以保证边界区域的有效性。在上述边界盒子的绘制中,采用未知节点两跳以内的锚节点作为参考,然而对于两跳以内、一跳以外的锚节点可利用阴影效应进一步处理,如图3所示。对于图3(a)中的矩形有两个角含于圆内,根据图形相交部分裁剪圆内区域,对于图3(b)中的矩形有三个角含于圆内,裁剪圆内区域,以上两种情况遵循的原则是不能裁剪未知节点可能存在的位置,因此对于仅含有一个角在圆内的情况,不做处理。
[0118] 根据阴影效应裁剪后的边界盒子,将对二次牛顿插值法预测的结果进行约束,若预测位置位于边界盒子内,则二次牛顿插值法的结果直接作为约束位置,若在边界盒子之外,则利用边界盒子的中心作为约束位置。
[0119] 步骤105:对各所述待定位节点的约束位置进行矫正,使其符合置信传播规则和变分消息传递规则,得到各所述待定位节点矫正后的位置。
[0120] 估计k时刻各节点之间的距离;
[0121] 根据各节点之间的距离确定置信传播规则和变分消息传递规则;
[0122] 根据置信传播规则和变分消息传递规则对各所述待定位节点的约束位置进行矫正,得到各所述待定位节点矫正后的位置。
[0123] 为实现节点间的协同定位,首先应估计节点间的距离。假设节点均匀密集地分布在一定区域内,节点间以通讯半径R进行通讯,常用的基于跳数的距离估计方法多采用公式(12)处理,需要获得节点间的平均跳距和最短路径。
[0124]
[0125] 其中,nh为最短路径上的跳数, 为估计的节点间距离,hav是由泊松过程的极限定理根据公式(13)获得的平均跳距,因此hav的求取将会产生较大的误差,为避免平均跳距的片面性,本发明采用多跳算法对节点间的距离进行估计,如公式(13)所示。
[0126]
[0127] 式中,hl表示第h跳的跳距。在多跳算法中,对节点通讯的最短路径上,每两跳节点作为一个单元,两节点间的相交区域记做F=Dk(R)∩Si(R),如图4所示,相交区域与节点间距离的关系可表示成公式(14)所示。
[0128]
[0129] 其中,R为通讯半径,F,φ(d)表示相交区域面积,是一个关于节点距离di-k的递减函数,根据F=m/(N/S)求得,N为区域内的节点总数,S为节点分布区域的面积,m为相交区域内的节点个数。因此节点距离可表示为公式(15)。
[0130]
[0131] ψ(x)是φ(d)的反函数,针对ψ(x)没有闭环解的情况,采用正割法 对该问题进行迭代寻根,如公式(16)所示。
[0132]
[0133] 其中p为迭代次数, 为第p次迭代节点间的距离,迭代收敛条件为为了计算 本发明将初始值设置为
[0134] 若节点间的最短路径跳数为偶数,则按照公式(17)计算,若为奇数,则按公式(18)计算。
[0135]
[0136]
[0137] 其中,ml相交区域节点个数,λ为节点分布区域的平均节点分布密度,nh为最短路径上的跳数, 为最后一跳的距离,节点最后一跳的距离计算方法与两跳节点计算相似,如图5所示,相交区域与节点距离的关系可表示成公式(19)所示。
[0138]
[0139] 其中A(S1)和A(S2)为S1,S2的面积,二者之间的比可用邻居节点的个数N(S)表示,如公式(20)所示。
[0140]
[0141] N(si)为节点i邻居节点的个数,N(sj)为节点j邻居节点的个数。因此一跳节点间的距离同样利用正割法迭代求解,其估计公式表示为(21)所示。
[0142]
[0143] 上述方法可实现节点距离的粗略估计,但是精度尚未达到要求,因此本发明借助锚节点的参考作用,对节点距离的估计进行误差补偿。首先分析未知节点距离估计误差与邻近锚节点距离估计误差的关系,计算两者的相关系数,节点距离均采用上述多跳算法进行估计,邻近锚节点按照邻近程度分别分析,相关系数采用皮尔逊相关系数进行表征,相关性分析如图6所示。
[0144] 图6可以看出,由于未知节点与邻近节点可能分享相同的最短路径,其距离估计误差之间也存在较大的相关性,相关系数的大小与节点的邻近关系有关,因此本发明借助未知节点最邻近的i个锚节点对距离估计进行指数型误差补偿,邻近节点误差补偿的贡献Wi取决于未知节点与邻近锚节点间的距离disi的指数型,如公式(22)所示,所取的邻近锚节点个数n取决于相关系数的大小,本发明中通常采用锚节点个数的5%。
[0145]
[0146] Wi是邻近节点对未知节点的补偿误差,e为指数函数,dis是第i邻近节点与未知节点之间的距离。
[0147] 未知节点的指数型补偿误差如公式(23)所示。节点最终的估计距离为多跳算法的估计距离与补偿误差之和EC。
[0148]
[0149] 其中,errori表示第i个邻居锚节点与待定位节点的距离估计误差。
[0150] 假设二维空间中任意时刻分布的锚节点集合A和未知节点集合M,所有节点集合用V=A∪M,所有节点的位置可用 表示,其中锚节点的位置用 考虑节点从k-1时刻以速度 运动到k时刻,节点的概率状态转移函数 如公式(24)所示。
[0151]
[0152] 其中,ΔT为k-1时刻到k时刻时间间隔, 表示高斯噪声,节点的概率状态转移函数服从高斯分布N,类似的,k时刻节点间的距离服从高斯分布,其噪声为高斯噪声,因此节点i,j之间距离 的概率分布函数 可表示成公式(25)所示。
[0153]
[0154] 其中, 表示节点的欧式距离, 为估计距离的标准差。定义节点位置集合与节点距离集合 同时对多个时刻的位置和距离进行定义,即 假设节点间的运动相互独立,则节点运动的联合
状态转移函数p(Xk|Xk-1)如公式(26)所示。
[0155]
[0156] Xk表示k时刻所有节点的位置集合,x表示k时刻节点i的位置,V表示未知节点个数。
[0157] 假设不同时间的测距相互独立,建立观测概率函数p(Zk|Xk)如公式(27)所示。
[0158]
[0159] Zk表示k时刻未知节点与其他节点的距离集合,d表k时刻节点i与节点j之间的距离,x表示k时刻节点位置,M表示锚节点个数,V表示未知节点个数。
[0160] 根据贝叶斯理论,基于观测值的节点位置联合后验分布p(X0:K|Z1:K)如公式(28)所示。
[0161]
[0162] X0:k表示0时刻到k时刻节点位置集合的集合。Z1:k表示1时刻到k时刻距离集合的集合。
[0163] 根据移动WSNs的网络联通关系,绘制因子图模型如图7所示。图中每个变量节点表示传感器节点的位置变量,每个因子节点表示边与其相关的变量节点相连,因此变量节点可定义为 因子节点定义为 在图7的因子图模型中,变量节点之间的连接关系分为两种,一种是同一节点相邻时间之间的连接关系,采用BP消息更新规则,如公式(29)所示。另一种连接关系是同一时刻相邻节点之间的连接关系,相邻节点包括锚节点和其他未知节点,采用VMP消息更新规则,分别如公式(30)和公式(31)所示。
[0164]
[0165]
[0166]
[0167] 其中, 表示上一时刻对现在时刻的消息更新规则, 表示锚节点对未知节点的消息更新规则, 表示其他未知节点对该未知节点的消息更新规则,表示上一轮迭代更新的锚节点、未知节点置信度,消息传递方向和连接关系可
由图7中的因子图表示。考虑到节点定位中可能存在的误差积累和位置漂移,本发明提出了判断因子和惩罚函数的概念改进VMP更新规则,改进后的公式如(32)所示。
[0168]
[0169]
[0170] 式中 和 为判断因子, 的判断条件为验证更新后的节点位置与邻居锚节点是否满足通讯范围的情况,即一跳范围内的节点,若更新后的位置与实际情况相符,则 否则 的判断条件为验证更新后的节点位置与邻居未
知节点是否满足通讯范围的情况,若更新后的位置与实际情况相符则 否则
为惩罚函数,定义为 vi(x)表征的
是通讯范围内满足情况的节点的数目变化,若消息更新之后,满足实际通讯情况的节点不变或增多,则vi(x)=1,若数目减少,则vi(x)=p/q,p表示更新后满足实际通讯情况的个数,q表示更新前满足实际通讯情况的个数。δ是浮点常数,表示节点满足情况对节点位置的影响。
[0171] 此外,VMP消息更新规则中的距离消息可表示成如公式(34)和(35)所示。
[0172]
[0173]
[0174] 其中,N表示距离消息的高斯形式, 为节点a,i的欧式距离, 为节点l,i的欧式距离。节点经过多次迭代后的估计位置取决于节点的置信度 节点置信度需要综合多方面的消息,表示成公式(36)。
[0175]
[0176] 其中,Z为消息传递常数,m表示传递过程中的消息,具体计算公式由式(29)至(35)给出。
[0177] 为了降低通讯负载,下面将对附带判断因子和惩罚函数的置信度进行低复杂度消息估计,根据公式(36),节点的置信度 可进一步表示成公式(37)所示。
[0178]
[0179] 分别为置信度推导的中间变量,经推导后可进一步展开,具体表示为如下形式。
[0180]
[0181]
[0182]
[0183] 其中, 分别为未知节点i和锚节点a的位置期望, 为高斯分布协方差矩阵。针对公式中导致置信度 为非高斯形式的 和 在 和 处二阶泰勒展开实现线性化,线性化后的置信度表达式如公式(41)所示。
[0184]
[0185] 其中,附带判断因子和惩罚函数的方差 和均值 如公式(42)和(43)所示。
[0186]
[0187]
[0188] 其中I为单位矩阵, 分别为 在处的一阶梯度和Hessian矩阵, 为 在 处的一阶偏导,且
[0189] 根据本发明提供的具体实施例,本发明公开了以下技术效果:
[0190] 1)本发明根据边界区域对各所述待定位节点的初始预测位置进行约束,并对约束位置进行矫正,使其符合置信传播规则和变分消息传递规则。利用边界区域缩小节点运动的可能区域,避免预测过程中粗大误差的产生,提高定位准确性,规避累积误差带来的位置漂移。
[0191] 2)节点间的距离估计通过邻近节点可能存在的通讯过程中分享部分相同路径,其误差可能存在指数型相关性质,对多跳距离估计方法进行指数型误差补偿,指数型补偿结果能够有效的提高节点距离估计的精度,同时可以避免异构网络的拓扑结构对多跳算法的限制,提高了算法的适用性。
[0192] 3)在消息传递过程中首次引入惩罚函数和判断因子对更新规则进行改进,有效修正消息更新中的错误方向,过滤迭代过程中的干扰项,迅速逼近准确值,调整算法迭代准确性和收敛速度,提高节点的定位精度。
[0193] 4)本发明提出的协同定位方案仅已知节点的最大速度,在节点间的距离估计和节点位置预测中无需搭载测距、测速装备,降低对硬件条件要求,并减少定位方案中硬件搭载所需的能量消耗,极大的降低硬件成本和通讯成本。
[0194] 如图8所示,本发明还提供了一种基于边界条件的节点定位系统,包括:
[0195] 获取模块801,用于用于获取初始时刻各所述锚节点的参数信息;所述参数信息包括锚节点的坐标以及跳数信息;所述锚节点为无线传感器网络中坐标点已知的节点。
[0196] 计算模块802,用于用于根据各所述锚节点的参数信息计算初始时刻各待定位节点的位置;所述待定位节点为无线传感器网络中坐标点未知的节点。
[0197] 所述计算模块802包括:
[0198] 平均跳距计算单元,用于根据各所述锚节点的参数信息计算各所述锚节点的平均跳距;
[0199] 获取单元,用于获取与各所述锚节点进行通讯的待定位节点;
[0200] 距离计算单元,用于根据各所述锚节点的平均跳距,计算各所述锚节点与对应进行通讯的待定位节点之间的距离;
[0201] 位置计算单元,用于根据各所述锚节点与对应进行通讯的待定位节点之间的距离,计算初始时刻各所述待定位节点的位置。
[0202] 预测模块803,用于根据初始时刻各待定位节点的位置预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置,k=1,2,....,K,K表示任意时刻。
[0203] 所述预测模块803包括:
[0204] 运动轨迹计算单元,用于根据初始时刻各所述待定位节点的位置计算各所述待定位节点的历史运动轨迹;
[0205] 第一确定单元,用于根据各所述待定位节点的历史运动轨迹得到各所述待定位节点的运动趋势;所述运动趋势包括速度以及加速度;
[0206] 预测单元,用于根据各所述待定位节点的运动趋势预测各所述待定位节点k时刻的位置,得到各所述待定位节点的初始预测位置。
[0207] 约束模块804,用于根据边界区域对各所述待定位节点的初始预测位置进行约束,得到各所述待定位节点的约束位置。
[0208] 所述约束模块804包括:
[0209] 锚节点获取单元,用于对于每一个待定位节点,获取k时刻所述待定位节点两跳范围内进行通讯的多个锚节点;
[0210] 第二确定单元,用于根据多个所述锚节点的通讯距离确定第一边界区域;
[0211] 第三确定单元,用于根据k-1时刻所述待定位节点的位置确定第二边界区域;k=1时,所述待定位节点的位置为初始时刻的位置。
[0212] 叠加单元,用于叠加第一边界区域以及第二边界区域得到第三边界区域;
[0213] 约束单元,用于通过所述第三边界区域对所述待定位节点的初始预测位置进行约束,得到所述待定位节点的约束位置。
[0214] 矫正模块805,用于对各所述待定位节点的约束位置进行矫正,使各所述待定位节点的位置符合置信传播规则和变分消息传递规则,得到各所述待定位节点矫正后的位置。
[0215] 所示矫正模块805包括:
[0216] 估计单元,用于估计k时刻各节点之间的距离;
[0217] 第四确定单元,用于根据各节点之间的距离确定置信传播规则和变分消息传递规则;
[0218] 矫正单元,用于根据置信传播规则和变分消息传递规则对各所述待定位节点的约束位置进行矫正,得到各所述待定位节点矫正后的位置。
[0219] 通过本系统能够缩小节点运动的可能区域,避免预测过程中粗大误差的产生,提高定位准确性,规避累积误差带来的位置漂移。
[0220] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0221] 本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。