一种具有移动信标节点的无线传感网节点定位方法

文档序号:10661659阅读:746来源:国知局
一种具有移动信标节点的无线传感网节点定位方法
【专利摘要】一种具有移动信标节点的无线传感网节点定位方法,信标节点的辅助定位过程:1.1)程序初始化;1.2)将监控区域划分成大小一致的六边形网格,建立优化模型;1.3)获取自身位置并广播位置信息包;1.4)随机选择2个停留位置并移动到停留位置上广播位置信息包;1.5)更新未定位传感节点的估计位置信息表;1.6)选择下一个停留位置;1.7)移动到该停留位置获取自身位置并广播位置信息包;1.8)如果d1≤dth,返回1.5),否则结束移动完成定位;传感节点的位置计算过程:未定位传感节点的位置坐标计算和已定位传感节点的位置信息包发送。本发明有效提高信标节点的停留位置个数和传感节点的平均定位锚点个数,降低平均节点定位误差。
【专利说明】
一种具有移动信标节点的无线传感网节点定位方法
技术领域
[0001] 本发明涉及移动无线传感网领域,尤其涉及一种具有移动信标节点的无线传感网 节点定位方法。
【背景技术】
[0002] 随着微电子机械系统、芯片系统和无线通信技术的发展,具有信息采集、数据处 理、无线通信等功能的低功耗、有限资源和多功能传感节点获得快速发展。无线传感网 (wireless sensor networks,WSNs)由大量的传感节点组成,是一个多跳自组织网络。WSNs 可感知,收集和处理网络覆盖范围内传感节点的信息,并应用于军事、工业、家居、医疗、海 洋等领域,特别是在自然灾害监测、预警、救援等紧急情况,其应用前景广阔。
[0003] 在很多无线传感网的应用中,所有信息的收集需要传感节点的准确位置,因此,定 位是WSNs的核心技术之一。目前,卫星定位系统如全球定位系统(global positioning system,GPS)和北斗定位系统,是一种户外可使用的定位系统。但是由于WSNs的节点能量有 限,而且相关卫星定位模块工作电流需要几十毫安,其能耗相当于节点的无线通信能耗,在 环境监测等需要长期监测的应用中,要求传感节点的能耗和成本都低,因此不一定所有传 感节点都安装卫星定位模块。
[0004] 在WSNs中,一些学者利用少量可获知自身位置的信标节点,研究监测区域中传感 节点的定位算法,并取得一定的成果。如针对信标节点移动造成的分布不均衡,梅举等提出 基于蒙特卡洛方法的移动传感网节点定位优化算法。该算法筛选出定位精度高的节点作为 临时锚节点,协助其他节点定位,并通过待定位节点的蒙特卡洛盒和粒子滤波实现节点的 精确定位。但是该算法没有利用信标节点的移动性这个关键特点。Huang R.等分析了SCAN、 D0UBLE_SCAN、HIBERT等多种信标节点的移动路径,提出了圆形移动路径(CIRCLES ),可减少 共线性的停留点。Huang K.F.等将监控区域分成多个网格,提出一种信标节点的移动算法。 未定位节点根据与信标节点通信的RSSI(received signal strength indication)值,采 用三点定位方法计算自身的位置。Farman i Μ.等提出一种信标节点的修正HI BERT移动路 径。该路径可提高未定位节点的定位精度。Rezazadeh J.等提出可辅助定位的移动信标节 点高级路径规划机制(ZSCAN)。该移动路径可定位所有部署的传感节点。Han G.J.等提出基 于三边测量的移动信标节点定位算法。在该算法中,信标节点沿着三角轨迹移动,并周期性 广播当前的位置。所有传感节点根据信标节点的位置信息计算自身的位置。但以上学者研 究的信标节点需要全覆盖整个监测区域,其移动路程较长,而且没有考虑传感节点的实际 分布。当传感节点分布不均匀时,这些算法的部分移动路径周围没有传感节点,因此可进一 步缩减其移动路径。刘克中等根据周围传感节点的信息,采用虚拟力理论计算信标节点的 移动路径,提出一种信标节点的动态移动策略。Chang C.T.等假设已执行距离无关算法,所 有传感节点获知自身误差较大的位置信息。根据每个静态传感节点的可估区域尺寸,提出 信标节点的引导机制,构造可提高传感节点定位精度的移动信标节点高效路径。Li X.等提 出动态信标节点的移动调度算法(dynamic beacon mobility scheduling,DBMS)。该算法 只根据周围传感节点的RSS(received signal strength)信息,启发式选择下一个移动目 标,并采用图论的深度优先遍历方法遍历所有传感节点。但是让信标节点移动到每个传感 节点的周围,其移动路径也较长。
[0005] 目前学者偏向于研究全覆盖监测区域或传感节点且可辅助定位的信标节点移动 路径。但是在现实项目中,信标节点的移动能耗非常大而且其能量供应有限,不能支持较长 时间的移动。同时网络启动后,需要尽快实现大多数传感节点的定位,从而快速提供节点位 置信息,有利于系统其它算法的实现。

【发明内容】

[0006] 为了克服当无线传感网中移动信标节点的最大移动距离有限时传感节点的定位 误差较大的不足,本发明提供一种可提高信标节点的停留位置个数和传感节点的平均定位 锚点个数、降低平均节点定位误差的具有移动信标节点的无线传感网节点定位方法。
[0007] 本发明解决其技术问题所采用的技术方案是:
[0008] -种具有移动信标的无线传感网节点定位方法,包括信标节点的辅助定位过程和 传感节点的位置计算过程,
[0009] 所述信标节点的辅助定位过程如下:
[0010] 1.1)程序初始化:初始化传感节点的引力系数Xw,信标节点的最大移动距离dth,当 如移动距尚(11 = 0;
[0011] 1.2)将监控区域划分成多个六边形网格,选择邻居停留位置集合约束、不重复选 择约束、非共线性约束和移动距离约束,建立节点定位误差最小的优化模型;
[0012] 1.3)通过北斗定位模块获取自身的经炜度,转化成地球位置坐标后,记录初始停 留位置集合Py={Pl},并广播自身的位置信息包;
[0013] 1.4)执行2次以下操作:随机选择未停留过的邻居停留位置,更新位置集合Py,移 动到该停留位置上,计算其移动距离并累加到当前移动距离cU,通过北斗定位模块获取自 身位置坐标,广播其位置信息包;
[0014] 1.5)直接接收或通过已定位传感节点接收周围未定位传感节点的位置信息包,分 析信息的有效性,并添加到未定位传感节点的估计位置信息表中;
[0015] 1.6)从当前停留位置的可选停留位置集合仏中,删除已停留的位置和与最近2个 停留位置在同一条直线上的位置,获得更新可选位置集合,如果集合Ν' g是空集,则信标 节点沿着所选路径逆向移动,直到找到不为空的集合根据估计位置信息表中传感节点 位置,计算虚拟引力,计算所有虚拟力的合力与当前停留位置到集合Ν' g中每一个位置的夹 角S,选择使夹角最小的邻居停留位置作为下一个停留位置,更新位置集合Py;
[0016] 1.7)移动到该邻居停留位置上,计算其移动距离并累加到当前移动距离d1;通过 北斗定位模块获取自身位置坐标,广播其位置信息包;如果接收到已定位传感节点的信息 包,删除未定位传感节点的估计位置信息表中该传感节点信息;
[0017] 1.8)如果cKdth,则跳到步骤1.5),否则结束移动,完成定位。
[0018] 所述传感节点的位置计算过程如下:
[0019] 2.1)程序初始化:将自身定义为未定位传感节点且通信范围内存在其他未定位传 感节点,即Lf lag = 0,Nf lag = 0,其中Lflag表示传感节点是否完成定位的标志符,Nflag表 示通信范围内是否存在未定位传感节点的标志符;
[0020] 2.2)判断Lflag是否为0,如果不是0,则跳到步骤2.5);如果接收到位置信息包,则 判断该信息包的来源,如果是邻居传感节点的位置信息包,则接收该信息包,获取传感节点 ID、位置坐标、链路RSSI值信息,并分析信息有效性,如果有效,则将该信息添加到邻居传感 节点的位置信息表中;如果是信标节点的位置信息包,则接收该信息包,获取信标节点ID、 位置坐标、链路RSSI值信息,并分析信息有效性,如果有效,则将该信息添加到信标节点的 位置信息表中;
[0021] 2.3)判断信标节点的位置信息表中不在同一条直线上的位置个数是否大于2,如 果大于2个,则根据RSSI值计算到每一个位置的距离,采用极大似然估计算法计算自身的位 置坐标(Ο,),标志为已定位传感节点,即Lf lag = 1,并通知信标节点,返回步骤2.2); [0022] 2.4)如果信标节点的位置信息表中不在同一条直线上的位置个数小于2个,则从 邻居传感节点的位置信息表中选择RSSI值较高且与信标节点位置信息表中不在同一条直 线上的位置信息,获得3个以上不同位置信息,采用极大似然估计算法计算自身的位置坐标 (Cif);当信标节点出现在其通信范围内或者出现在其邻居已定位传感节点的通信范围 内,则直接或通过该邻居传感节点发送给信标节点,跳到步骤2.2);
[0023] 2.5)只接收信标节点的位置信息包,更新自身的位置;判断标志符Nflag是否为1, 如果是〇,则并向未定位传感节点广播自身的位置信息包,接收未定位传感节点的反馈信 息,否则跳到步骤2.2);如果接收到未定位传感节点的反馈包,跳到步骤2.2),否则Nflag = 1,跳到步骤2.2)。
[0024] 进一步,所述步骤1.2)中,优化模型建立方法包括如下步骤:
[0025] 1.2.1)将监控区域划分成大小一致的nXm个六边形网格,其中m表示监测区域内 第一列网格的数量,η表示监测区域内网格的列数且为奇数,m和η根据监测区域边长取值, 是经验值。对矩形监测区域内所有顶点进行编号,当信标节点的停留位置为网格中心时,选 择下一个停留位置集合为
[0027]其中,Pg表示信标节点停留的位置,Ng表示当前停留位置?8的可选下一个停留位置 集合,P(i,j)表示六边形网格grid(i,j)的中心位置;当信标节点的停留位置为顶点时,选 择下一个停留位置集合为
[0029] 1.2.2)选择邻居停留位置集合约束为
[0030] Pg+1eNg,g=l,2,...,NP-l (3)其中,信标节点移动的路径,即经过的停留位置 集合为…·,/〇,信标节点停留的位置Pg是一个1X3的向量[ki k2 k3],向量的第 一个元素匕表示停留位置的列数,第二个元素k2表示停留位置的行数,第三个元素k3表示停 留位置的类型,取值〇,1,Np表示信标节点经过的停留位置数量;如果k3 = 0,则表示该元素是 六边形网格中心p(ki,k2),否则表示该元素为顶点ding(ki,k2);
[0031] 1.2.3)选择不重复选择约束为
[0032] Pg ^ ΕΡ,β Φν (4)
[0033] 1.2.4)选择非共线性约束为
[0035]其中Λ%,,.,#表示集合Ρ中连续三个停留位置pg,pg+1,pg+2是否在同一条直线上的 标识符,七s,Vl.^ = 1表示该三个停留位置在同一条直线上,否则表示不在同一条直线上; [0036] 1.2.5)选择移动距离约束为
[0038]其中,dth表示信标节点的最大移动距离;
[0039] 1.2.6)根据邻居停留位置集合约束、不重复选择约束、非共线性约束和移动距离 约束,建立传感节点定位误差最小的优化模型(7);
[0040] min(error(P)) (7)
[0046]其中,error(P)表示信标节点沿着路径P移动时,传感节点获知自身位置与真实位 置的误差平均值。
[0047] 再进一步,所述步骤1.6)中,所述下一个停留位置选择方法包括如下步骤:
[0048] 1.6.1)信标节点接收未定位传感节点的估计位置信息,更新其估计位置信息表, 并计算该信息表中未定位传感节点对信标节点的虚拟引力;
[0049] 1.6.2)分析当前停留位置的下一个停留位置集合Ng,从该集合中删除已停留的位 置,使选择路径符合不重复选择约束(4);分析剩余位置元素,删除与最近2个停留位置在同 一条直线上的位置,使选择路径符合非共线性约束(5),获得更新位置集合Ν' g;如果位置集 合是空集,说明集合Ng中所有元素都不符合约束(4)和(5),则路径选择进入死胡同,信标 节点沿着所选路径逆向移动,直到找到不为空的更新位置集合根据位置集合Ν' g,获得 当前停留位置到该集合中每个停留位置的距离向量,并分别计算与合力F的夹角S;
[0050] 1.6.3)选择使夹角δ最小的停留位置作为信标节点的下一个停留位置,使选择路 径符合邻居停留位置集合约束(3)。
[0051 ]所述步骤2.3)中,极大似然估计算法的实现步骤如下:
[0052] 2.3.1)未定位传感节点获知3个以上不在同一条直线上的位置坐标和到各个位置 的距离,根据RSSI值计算自身到所有位置的距离分别是dLdhcb……dn,其中,η表示位置个 数;
[0053] 2.3.2)求解式(11)获得自身位置坐标;
[0055] 其中,(/,/)表示输出的自身横坐标和纵坐标,(X1,yi),(X2,y 2)……(xn,yn)表示 位置坐标。
[0056] 本发明的技术构思为:本发明将监控区域划分成大小一致的nXm个六边形网格, 选择信标节点的邻居停留位置集合约束、不重复选择约束、非共线性约束和移动距离约束, 建立节点定位误差最小的优化模型。信标节点采用基于虚拟力理论的启发式方法近似求解 优化模型,获得一条适合当前节点分布的移动路径。未定位传感节点根据信标节点或已定 位传感节点位置,采用极大似然估计算法计算自身位置坐标。
[0057] 本发明的有益效果主要表现在:本发明中信标节点采用基于虚拟力理论的启发式 方法近似求解优化模型,从而寻找到符合当前传感节点分布的移动路径。当最大移动距离 有限时,本发明提高了信标节点的停留位置个数和传感节点的平均定位锚点个数,保持较 高的移动路径覆盖范围,从而降低了平均节点定位误差,提高了节点定位精度,有一定的应 用价值。
【附图说明】
[0058]图1是本发明的原理框图。
[0059] 图2是本发明的信标节点工作流程图。
[0060] 图3是本发明的传感节点工作流程图。
【具体实施方式】
[0061] 下面结合附图对本发明作进一步描述。
[0062] 参照图1~图3,一种具有移动信标节点的无线传感网节点定位方法,包括信标节 点的辅助定位过程和传感节点的位置计算过程。
[0063] 参照图1,本发明包括至少10个以上且需要部署时自身位置未知的静止传感节点2 和至少1个可移动的信标节点1。信标节点1安装GPS或北斗卫星定位模块,可获知自身的位 置坐标。传感节点2随机分布在矩形监测区域内。信标节点1辅助定位传感节点,利用精度较 高的传感节点辅助定位信标节点未定位的其他传感节点。信标节点1将监测区域划分成大 小一致的nXm个六边型网格,并根据从左到右,从上到下的原则对每一个六边型网格进行 编码。如grid(ij)表示在左开始计数的第i列中,从下到上计数的第j个六边型网格。信标 节点1停留在初始网格中心,从自身所在网格顶点中选择一个未停留过的顶点移动,并在该 顶点上停留一段时间发送自身的位置信息后,移动到具有该顶点且未停留过的网格中心。 同时由于相邻三个位置点不能在同一条直线上,因此在选择停留位置时,需要删去与前面 两个位置在同一条直线上的位置。信标节点不停移动和发送自身位置信息,直到其移动距 离达到最大移动距离。传感节点接收3个以上不同信标节点位置的信息,收集通信时的RSSI 值,采用Kalman滤波器降低通信噪声,采用极大似然估计算法计算自身位置坐标,并标记为 已定位传感节点,广播自身的位置坐标。未被信标节点定位的传感节点根据周围已定位传 感节点和信标节点坐标,计算自身位置。
[0064] 参照图2,所述信标节点的辅助定位过程包括如下步骤:
[0065] 1.1)程序初始化:初始化传感节点的引力系数Xw,信标节点的最大移动距离d th,当 前移动距离di = 0。
[0066] 1.2)将监控区域划分成大小一致的nXm个六边形网格,其中,m表示监测区域内第 一列网格的数量,η表示监测区域内网格的列数且为奇数,m和η根据监测区域边长取值,是 经验值。选择邻居停留位置集合约束、不重复选择约束、非共线性约束和移动距离约束,建 立节点定位误差最小的优化模型;本步骤的具体优选实施方法如下:
[0067] 1.2.1)参照图1,将监控区域划分成大小一致的nXm个六边形网格,对矩形监测区 域内所有顶点进行编号,如ding(ij)表示在左开始计数的第i列中,从下到上计数的第j个 顶点;当信标节点的停留位置为网格中心时,选择下一个停留位置集合为
[0068]
[0069]其中,Pg表示信标节点停留的位置,Ng表示当前停留位置?8的可选下一个停留位置 集合,P(i,j)表示六边形网格grid(i,j)的中心位置;当信标节点的停留位置为顶点时,选 择下一个停留位置集合为 [0070]
[0071] 1.2.2)选择邻居停留位置集合约束为
[0072] pg+ieNg,g=l ,2, . . . ,Np-l (3)
[0073] 其中,信标节点移动的路径,即经过的停留位置集合为丨/>~〃:,··~"、丨,信标节 点停留的位置Pg是一个1X3的向量[ki k2 k3],向量的第一个元素ki表示停留位置的列数, 第二个元素k2表示停留位置的行数,第三个元素k 3表示停留位置的类型,取值0,1,NP表示信 标节点经过的停留位置数量;如果k3 = 0,则表示该元素是六边形网格中心p(lu,k2),否则表 示该元素为顶点ding(ki,k2);
[0074] 1.2.3)选择不重复选择约束为
[0075] Pg ^ pvypg e P, Vpv e P,g Φ v .(4)
[0076] 其中,该约束要求信标节点不在同一个停留位置上停留二次以上;
[0077] 1.2.4)选择非共线性约束为
[0079] 其中表示集合P中连续三个停留位置pg,pg+1,pg+2是否在同一条直线上的 标识符,= 1表示该三个停留位置在同一条直线上,否则表示不在同一条直线上;该 约束要求信标节点不能沿着直线连续移动,即连续3个停留位置不在同一个直线上;
[0080] 1.2.5)选择移动距离约束为
[0082]其中,dth表示信标节点的最大移动距离;
[0083] 1.2.6)根据邻居停留位置集合约束、不重复选择约束、非共线性约束和移动距离 约束,建立传感节点定位误差最小的优化模型(7);
[0084] min(error(P)) (7)
[0085] s. t.pg+iENg,g=l,2, · · ·,Np_l
[0086] p,, - ^ V/Λ e r\g Φ V
[0087] P 二{Mw'Pn)
[0090] 其中,error(P)表示信标节点沿着路径P移动时,传感节点获知自身位置与真实位 置的误差平均值;
[0091] 1.3)通过北斗定位模块获取自身的经炜度,转化成地球位置坐标后,记录初始停 留位置集合P y={Pl},并广播自身的位置信息包;
[0092] 1.4)执行2次以下操作:随机选择未停留过的邻居停留位置,更新位置集合Py,移 动到该停留位置上,计算其移动距离并累加到当前移动距离cU,通过北斗定位模块获取自 身位置坐标,广播其位置信息包;
[0093] 1.5)直接接收或通过已定位传感节点接收周围未定位传感节点的位置信息包,分 析信息的有效性,并添加到未定位传感节点的估计位置信息表中;
[0094] 1.6)从当前停留位置的可选停留位置集合仏中,删除已停留的位置和与最近2个 停留位置在同一条直线上的位置,获得更新可选位置集合,如果集合Ν' g是空集,则信标 节点沿着所选路径逆向移动,直到找到不为空的集合根据估计位置信息表中传感节点 位置,计算虚拟引力,计算所有虚拟力的合力与当前停留位置到集合Ν' g中每一个位置的夹 角S;选择使夹角最小的邻居停留位置作为下一个停留位置,更新位置集合Py;本步骤的下 一个停留位置选择方法如下:
[0095] 1.6.1)信标节点接收未定位传感节点的估计位置信息,更新其估计位置信息表, 并计算该信息表中未定位传感节点对信标节点的虚拟引力;
[0096] F\v=xJvldv (8)
[0097] 其中,Fw表示传感节点w对信标节点的虚拟引力,xw表示传感节点的引力系数, 表示信标节点到传感节点w的有向距离向量,_表示距离向量的模,即距离值;根据未 定位传感节点的虚拟引力,计算所有虚拟引力的合力F ;
[0099] 1.6.2)分析当前停留位置的下一个停留位置集合Ng,从该集合中删除已停留的位 置,使选择路径符合不重复选择约束(4);分析剩余位置元素,删除与最近2个停留位置在同 一条直线上的位置,使选择路径符合非共线性约束(5),获得更新位置集合Ν'g,如果位置集 合是空集,说明集合N g中所有元素都不符合约束(4)和(5),则路径选择进入死胡同,信标 节点沿着所选路径逆向移动,直到找到不为空的更新位置集合根据位置集合Ν' g,获得 当前停留位置到该集合中每个停留位置的距离向量,并分别计算与合力F的夹角h
[0101]其中,acos()表示反余弦函数,I表示从信标节点的当前停留位置到下一个停留 位置pv的距离向量,表示向量的大小;
[0102] 1.6.3)选择使夹角δ最小的停留位置作为信标节点的下一个停留位置,使选择路 径符合邻居停留位置集合约束(3)。
[0103] 1.7)移动到该邻居停留位置上,计算其移动距离并累加到当前移动距离d1;通过 北斗定位模块获取自身位置坐标,广播其位置信息包,如果接收到已定位传感节点的信息 包,删除未定位传感节点的估计位置信息表中该传感节点信息;
[0104] 1.8)如果cbSdth,则跳到步骤1.5),否则结束移动,完成定位。
[0105] 参照图2,所述传感节点的位置计算过程包括如下步骤:
[0106] 2.1)程序初始化:将自身定义为未定位传感节点且通信范围内存在其他未定位传 感节点,即Lf lag = 0,Nf lag = 0,其中Lflag表示传感节点是否完成定位的标志符,Nflag表 示通信范围内是否存在未定位传感节点的标志符;
[0107] 2.2)判断Lflag是否为0,如果不是0,则跳到步骤2.5);如果接收到位置信息包,则 判断该信息包的来源,如果是邻居传感节点的位置信息包,则接收该信息包,获取传感节点 ID、位置坐标、链路RSSI值信息,并分析信息有效性,如果有效,则将该信息添加到邻居传感 节点的位置信息表中;如果是信标节点的位置信息包,则接收该信息包,获取信标节点ID、 位置坐标、链路RSSI值信息,并分析信息有效性,如果有效,则将该信息添加到信标节点的 位置信息表中;
[0108] 2.3)判断信标节点的位置信息表中不在同一条直线上的位置个数是否大于2。如 果大于2个,则根据RSSI值计算到每一个位置的距离,采用极大似然估计算法计算自身的位 置坐标?'>^),标志为已定位传感节点,8卩1^1 &8 = 1,并通知信标节点,返回步骤2.2);本 步骤的极大似然估计算法的实现步骤如下:
[0109] 2.3.1)未定位传感节点获知3个以上不在同一条直线上的位置坐标和到各个位置 的距离,根据RSSI值计算自身到所有位置的距离分别是dLdhcb……d n,其中,η表示位置个 数;
[0110] 2.3.2)求解式(11)获得自身位置坐标;
[0112]其中,(xR,yR)表示输出的自身横坐标和纵坐标,(xi,yi),(X2,y2)......(x n,yn)表示 位置坐标;
[0113] 2.4)如果信标节点的位置信息表中不在同一条直线上的位置个数小于2个,则从 邻居传感节点的位置信息表中选择RSSI值较高且与信标节点位置信息表中不在同一条直 线上的位置信息,获得3个以上不同位置信息,采用极大似然估计算法计算自身的位置坐标 当信标节点出现在其通信范围内或者出现在其邻居已定位传感节点的通信范围 内,则直接或通过该邻居传感节点发送给信标节点。跳到步骤2.2);
[0114] 2.5)只接收信标节点的位置信息包,更新自身的位置;判断标志符Nflag是否为1, 如果是〇,则并向未定位传感节点广播自身的位置信息包,接收未定位传感节点的反馈信 息,否则跳到步骤2.2);如果接收到未定位传感节点的反馈包,跳到步骤2.2),否则Nflag = 1,跳到步骤2.2)。
【主权项】
1. 一种具有移动信标节点的无线传感网节点定位方法,其特征在于:所述定位方法包 括信标节点的辅助定位过程和传感节点的位置计算过程,所述信标节点的辅助定位过程如 下: 1.1) 程序初始化:初始化传感节点的引力系数Xw,信标节点的最大移动距离dth,当前移 动距离di = 0; 1.2) 将监控区域划分成多个六边形网格,选择邻居停留位置集合约束、不重复选择约 束、非共线性约束和移动距离约束,建立节点定位误差最小的优化模型; 1.3) 通过北斗定位模块获取自身的经炜度,转化成地球位置坐标后,记录初始停留位 置集合Py= {Pl},并广播自身的位置信息包; 1.4) 执行2次以下操作:随机选择未停留过的邻居停留位置,更新位置集合Py,移动到该 停留位置上,计算其移动距离并累加到当前移动距离cU,通过北斗定位模块获取自身位置 坐标,广播其位置信息包; 1.5) 直接接收或通过已定位传感节点接收周围未定位传感节点的位置信息包,分析信 息的有效性,并添加到未定位传感节点的估计位置信息表中; 1.6) 从当前停留位置的可选停留位置集合心中,删除已停留的位置和与最近2个停留位 置在同一条直线上的位置,获得更新可选位置集合Y g,如果集合Yg是空集,则信标节点沿 着所选路径逆向移动,直到找到不为空的集合f g;根据估计位置信息表中传感节点位置, 计算虚拟引力,计算所有虚拟力的合力与当前停留位置到集合N 7g中每一个位置的夹角δ, 选择使夹角最小的邻居停留位置作为下一个停留位置,更新位置集合Py; 1.7) 移动到该邻居停留位置上,计算其移动距离并累加到当前移动距离d1;通过北斗定 位模块获取自身位置坐标,广播其位置信息包;如果接收到已定位传感节点的信息包,删除 未定位传感节点的估计位置信息表中该传感节点信息; 1.8) 如果Cl1Sdth,则跳到步骤1.5),否则结束移动,完成定位; 所述传感节点的位置计算过程如下: 2.1) 程序初始化:将自身定义为未定位传感节点且通信范围内存在其他未定位传感节 点,即Lf lag = O,Nf lag = O,其中Lf lag表示传感节点是否完成定位的标志符,Nf lag表示通 信范围内是否存在未定位传感节点的标志符; 2.2) 判断Lflag是否为0,如果不是0,则跳到步骤2.5);如果接收到位置信息包,则判断 该信息包的来源,如果是邻居传感节点的位置信息包,则接收该信息包,获取传感节点ID、 位置坐标、链路RSSI值信息,并分析信息有效性,如果有效,则将该信息添加到邻居传感节 点的位置信息表中;如果是信标节点的位置信息包,则接收该信息包,获取信标节点ID、位 置坐标、链路RSSI值信息,并分析信息有效性,如果有效,则将该信息添加到信标节点的位 置信息表中; 2.3) 判断信标节点的位置信息表中不在同一条直线上的位置个数是否大于2,如果大 于2个,则根据RSSI值计算到每一个位置的距离,采用极大似然估计算法计算自身的位置坐 标(Of m),标志为已定位传感节点,即Lf lag = 1,并通知信标节点,返回步骤2.2); 2.4) 如果信标节点的位置信息表中不在同一条直线上的位置个数小于2个,则从邻居 传感节点的位置信息表中选择RSSI值较高且与信标节点位置信息表中不在同一条直线上 的位置信息,获得3个以上不同位置信息,采用极大似然估计算法计算自身的位置坐标 当信标节点出现在其通信范围内或者出现在其邻居已定位传感节点的通信范围 内,则直接或通过该邻居传感节点发送给信标节点,跳到步骤2.2); 2.5)只接收信标节点的位置信息包,更新自身的位置;判断标志符Nflag是否为1,如果 是〇,则并向未定位传感节点广播自身的位置信息包,接收未定位传感节点的反馈信息,否 则跳到步骤2.2);如果接收到未定位传感节点的反馈包,跳到步骤2.2),否则Nflag= 1,跳 到步骤2.2)。2.如权利要求1所述的信标节点的辅助定位方法,其特征在于:所述步骤1.2)中,优化 模型建立方法包括如下步骤: 1.2.1) 将监控区域划分成大小一致的nXm个六边形网格,其中m表示监测区域内第一 列网格的数量,η表示监测区域内网格的列数且为奇数,m和η根据监测区域边长取值,是经 验值,对矩形监测区域内所有顶点进行编号,当信标节点的停留位置为网格中心时,选择下 一个停留位置集合为(!) 其中,Pg表示信标节点停留的位置,Ng表示当前停留位置pg的可选下一个停留位置集 合,P(i,j)表示六边形网格grid(i,j)的中心位置;当信标节点的停留位置为顶点时,选择 下一个停留位置集合为1.2.2) 选择邻居停留位置集合约束为 Pg+iGNg,g=l,2,. . . ,Np-I (3) 其中,信标节点移动的路径,即经过的停留位置集合为P = _!/V,信标节点停 留的位置Pg是一个1X3的向量[kilwh],向量的第一个元素Iu表示停留位置的列数,第二个 元素k2表示停留位置的行数,第三个元素k3表示停留位置的类型,取值0,1,NP表示信标节点 经过的停留位置数量;如果k3 = 0,则表示该元素是六边形网格中心p(ki,k2),否则表示该元 素为顶点ding(ki,k2); 1.2.3)选择不重复选择约束为(4) P) 其中,表示集合P中连续三个停留位置Pg,Pg+i,Pg+2是否在同一条直线上的标识 符,七s= 1表示该三个停留位置在同一条直线上,否则表示不在同一条直线上; 1.2.5) 诜择移动距离约東为(6) 其中,dth表示信标节点的最大移动距离; 1.2.6) 根据邻居停留位置集合约束、不重复选择约束、非共线性约束和移动距离约束, 建立传感节点定位误差最小的优化模型(7);其中,error(P)表示信标节点沿着路径P移动时,传感节点获知自身位置与真实位置的 误差平均值。3. 如权利要求1或2所述的信标节点的辅助定位方法,其特征在于:所述步骤1.6)中,下 一个停留位置选择方法包括如下步骤: 1.6.1) 信标节点接收未定位传感节点的估计位置信息,更新其估计位置信息表,并计 算该信息表中未定位传感节点对信标节点的虚拟引力; 1.6.2) 分析当前停留位置的下一个停留位置集合Ng,从该集合中删除已停留的位置,使 选择路径符合不重复选择约束(4);分析剩余位置元素,删除与最近2个停留位置在同一条 直线上的位置,使选择路径符合非共线性约束(5 ),获得更新位置集合N' g;如果位置集合N' g 是空集,说明集合Ng中所有元素都不符合约束(4)和(5),则路径选择进入死胡同,信标节点 沿着所选路径逆向移动,直到找到不为空的更新位置集合Y g;根据位置集合Yg,获得当前 停留位置到该集合中每个停留位置的距离向量,并分别计算与合力歹的夹角S; 1.6.3) 选择使夹角δ最小的停留位置作为信标节点的下一个停留位置,使选择路径符 合邻居停留位置集合约束(3)。4. 如权利要求1或2所述的信标节点的辅助定位方法,其特征在于:所述步骤2.3)中,极 大似然估计算法的实现步骤如下: 2.3.1) 未定位传感节点获知3个以上不在同一条直线上的位置坐标和到各个位置的距 离,根据RSSI值计算自身到所有位置的距离分别是Hd 3……dn,其中,η表示位置个数; 2.3.2) 求解式(11)获得自身位置坐标;其中,(xR,yR)表示输出的自身横坐标和纵坐标,(xi,yi),(X2,y2)......(x n,yn)表示位置 坐标。
【文档编号】H04W64/00GK106028363SQ201610305596
【公开日】2016年10月12日
【申请日】2016年5月10日
【发明人】陈友荣, 陆思, 陆思一, 万锦昊, 任条娟, 王章权
【申请人】浙江树人大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1