一种WSNs中基于聚类分簇的协同充电方法与流程

文档序号:17150023发布日期:2019-03-19 23:20阅读:254来源:国知局
一种WSNs中基于聚类分簇的协同充电方法与流程

本发明属于无线传感器网络节点能量补充技术领域,具体涉及一种wsns中基于聚类分簇的协同充电方法。



背景技术:

众所周知,能量问题是无线传感器网络的各种应用的主要制约因素之一。一般情况下,无线传感器网络中的传感器节点都是由电池供电,因此如何有效地补充电池电量成为最需要解决的问题之一。

为了保证wsn能尽可能长时间的正常工作,必须定期对节点电池进行更换,避免因节点失效而导致网络生命期缩短。但是对于有特殊环境要求的应用,如火山监测系统、野外科考等,人为地对传感器节点电池进行定期更换变得难以实现。通过研究wsn对能量管理策略,路由协议算法等方法来降低节点能耗的方式只能尽可能延长节点电池寿命,不能从本质上解决能量限制问题。而通过从自然环境中获取环保能源(如太阳能、风能)的方法过于依赖周围环境,而且能量采集装置体积也会远大于传感器节点,使得成本过高。

无线能量传输技术的发展使得无线传感器网络的研究进入到了一个全新的局面。借助无线能量传输技术,通过能量补充设备为传感器节点定期充电事一种解决wsn能量问题的新的方案。通过将无线充电装置部署在可移动的小车或者无人机上充当移动充电器,通过装置的移动实现对整个网络能量的补给。同时,通过节点的分簇和对移动充电器的控制,可以实现对节点的有效可控充电。

为了提高无线充电技术的充电效率,国内外研究专家提出了许多不同的充电方法,相关的文献如下:

2014年,pan等人在《optimalenergyreplenishmentanddatacollectioninwirelessrechargeablesensornetworks》中,文章将能量补充问题和数据收集问题(erdc)结合成一个混合的整数非线性规划问题。由于该问题是一个np-hard问题,文章又将该问题转换成上限的lp问题,并提出了一个启发式算法加以解决。作者通过仿真证明提出的算法接近最优的解决方案,并且该方案在保证数据传输的同时能够最佳地补充节点的能量。

2015年,gao等人在《jointwirelesschargingandsensoractivitymanagementinwirelessrechargeablesensornetworks》中,文章提出了一个新的框架,可以联合安排传感器活动和充电,以节省充电车(rv)的的行驶能量。首先,作者提出了两种管理传感器活动的方案:平衡聚类和分布式传感器激活方案,并进一步引入了一个新指标,以便管理每个集群的能源需求。然后将充电问题制定为具有利润的旅行商问题,这是一个np-hard问题。对于充电路线队列,文章首先通过协调传感器活动和能量补充来研究单个rv的情况,然后使用两种不同的方案将其扩展到多个rv。第一种方案侧重于通过限制移动范围来减少rv的行进距离,第二种方案通过为rv提供整个网络的全局视图来提高整体系统性能。

2016年,wang等人在《anoptimizationframeworkformobiledatacollectioninenergy-harvestingwirelesssensornetworks》中,作者提出使用名为sencar的移动收集器从指定的传感器收集数据并平衡网络中的能量消耗。然后,作者提出了一个移动数据收集的两步方法。首先,自适应地选择传感器位置的子集,并利用自适应算法,根据节点的能量搜索节点。其次,作者设计了一种分布式算法,通过调整数据速率,链路调度和适应能量波动的流量路由来实现最大的网络效益。仿真表明分布式算法能够非常快速地收敛到最优,并在节点失效的情况下验证其收敛性。作者还表明了此框架的优势,例如它可以适应空间时间能量变化,并证明其与具有静态数据接收器的网络相比的优越性。

2016年,lin等人在《clusteringandsplittingchargingalgorithmsforlargescaledwirelessrechargeablesensornetworks》中,文章设计了一种混合聚类充电算法(hcca),它首先构建一个基于给定网络构建的最小连通支配集的网络骨干网。接下来,提出了一种利用位置关系优势的分层聚类算法,将节点分组成簇。然后,实现k均值聚类算法来计算用于实现能量感知的能量核心集。为了进一步优化hcca的性能,作者提出了hcca-ts算法,将能量充电过程转换为任务分割模型。hcca产生的任务分为小任务,目的是减少充电时间以提高充电效率。仿真结果表明,hcca可以同时提高充电时间,行程时间和平均充电时间。而hcca-ts可以进一步改善hcca的性能。

2018年,wang等人在《crcm:anewcombineddatagatheringandenergychargingmodelforwrsn》中,文章提出了基于六边形(hb)的算法对该区域内的所有传感器节点进行分类,使数据采集和能量充电同时工作。首先作者考虑传感器节点的剩余能量和地理位置(regp)来计算每个簇的优先级。其次,提出了动态移动充电器(dmc)算法来计算mc的数量,以确保每个充电队列中没有传感器节点死亡。仿真结果表明,regp算法优于edf和njnp算法,并且当传感器节点数量增加时,dmc也可以很好地运行。



技术实现要素:

针对以上问题,本发明提出了一种wsns中基于聚类分簇的协同充电方法,通过聚类算法对网络区域进行分簇,由母充电器携带子充电器利用最优化的方法对每个簇中节点进行充电和数据收集,从而最大化充电器的充电有效性和网络寿命。

一种wsns中基于聚类分簇的协同充电方法,包括以下步骤:

(1)将全网的节点进行分簇,根据节点的剩余能量和邻居节点个数选取簇头节点,当节点能量下降到预先设置的阈值时,向基站发出充电请求;

(2)基站根据节点发送的充电请求,规划充电路径,派出母充电器遍历每一个簇;

(3)如果当前簇没有充电节点,充电器从簇头收集簇内数据后离开;如果当前簇内只有一个待充电节点,该充电节点将转变成簇头,母充电器对该节点进行充电并且收集数据;如果当前簇内有多个待充电节点,母充电器释放小充电器同时对多个节点进行充电;

(4)将数据分为紧急数据和不紧急数据,并采取不同的收集策略进行数据收集,实现网络的充电过程与数据收集过程相结合。

上述步骤(1)中将全网的节点进行分簇,根据节点的剩余能量和邻居节点个数选取簇头节点的具体步骤如下:

(1.1)分簇;分簇算法使用的是mean-shift(均值漂移)算法,mean-shift算法是基于核密度估计的爬山算法,可用于聚类、图像分割、跟踪等。在均值漂移算法中,通过迭代的方式找到最终的聚类中心,即对每一个样本点计算器漂移均值,以计算出来的漂移均值点作为新的起始点,重复以上的步骤,直到满足终止的条件,得到的最终的均值漂移点即为最终的聚类中心;该算法的优点在于不需要事先确定簇的个数,并且能够准确的找出网络中节点分布密度较高的区域。分好簇后,再将簇中只有一个或两个节点的簇合并到距离该簇位置最近的簇中;

(1.2)簇头的选取;根据节点的剩余能量、节点在簇中的邻居节点的数目,为每个节点设置一个名为的值,值的具体计算公式如下:

其中,ωi表示节点i的值;α表示选举因素的权重;ni表示节点i的邻居节点个数;nmax表示簇内节点的个数;ei_residual为节点i的剩余能量;enode为节点的电池容量;将所有节点的值进行降序排序,选取值最大的节点作为簇头节点。

上述步骤(2)的具体步骤如下:

(2.1)根据簇中待充电节点的坐标位置,计算母充电器在每个簇的停留位置;如果簇中没有或者只有一个待充电节点,则簇头或者充电节点为母充电器停留点;如果簇中有多个待充电节点,则使用虚拟势场的方法求得该停留点,具体计算公式如下:

f=force(η1*f1,η2*f2,...,ηi*fi)

其中u(q)是势能函数;d(q,qgoal)指的是两者之间的距离,q代表母充电器,qgoal代表目标节点;f(q)是力的函数,由u(q)函数求导得来;ηi是能量系数,是节点需要补充对能量ech_i和节点电池容量enode的比值;f是所有力的合力,这里的所有力代表所有的待充电节点对母充电器产生的引力;当合力f为0时的位置就是母充电器的停留位置;

(2.2)根据簇内节点的能量消耗速率和距离,为每一个簇设置一个名为p的值,p值的具体计算公式如下:

其中,pj代表簇j的p值;α表示选举因素的权重;eth表示充电阈值;ρi表示节点i的消耗速率;nj表示簇j中节点的个数;enode为节点的电池容量;dj-1,j代表上一个已知簇和当前簇的距离;n表示簇的个数;

将所有簇的p值降序排序得到的顺序就是簇的遍历队列。

上述步骤(3)具体步骤如下:

(3.1)采用子母充电器进行协通充电;

(3.2)当前簇中没有待充电节点,母充电器前往该簇的簇头收集数据后离开;

(3.3)当前簇中只有一个待充电节点,在母充电器到达该节点并为其充电时,该节点向簇内节点广播使得自己成为簇头,母充电器在充电的同时收集该簇的数据;

(3.4)当前簇中有多个待充电节点,假设有n个待充电节点,母充电器最多可携带3个子充电器,那么可以将4个充电器如何给n个节点充电的问题转化成一个最优化的问题;

wcv_1~wcv_4代表4个充电器,c1~cni代表每个充电器的充电节点队列,那么最优化的函数为:

τ=at

τ:1*4a:n*4t:1*n

其中τ是一个4行1列的矩阵,代表每个充电器充电的总时间;a是一个n行4列的矩阵,其中如果aij=1则说明充电器给该节点充电,如果aij=0则说明充电器不给该节点充电;t是一个n行1列的矩阵,代表每个节点需要充电的时间;最优化的目标为:

min{max{τi}}τi∈τ

即,让τ1~τ4四个值中的最大值最小化就是最优化目标;

上述最优化具有两个约束条件:

(51)、

该条件表示一个充电器只给一个节点充电;

(5.2)、

针对子充电器,首先进行判断:

其中edemand_i表示前m个节点的充电量;est表示充电器行驶单位距离消耗的能量,di,i+1表示两个节点之间的距离;esc是小充电器的剩余能量;dm,bc指的是第m个节点和bc(母充电器)的距离;

这个条件判断的是当子充电器在给第m个节点充电的时候,子充电器需要先判断其剩余电量是否可以满足其给第m个节点充满电之后能够回到母充电器的位置补充能量;如果满足该条件,则子充电器继续给节点进行充电,则约束条件公式如下:

上式中,ei为节点i的能量;如果不满足该条件,子充电器应当放弃给该节点充电,首先回到母充电器补充能量,然后再继续给剩余队列中的节点进行充电,则约束条件公式如下:

上述步骤(4)中的不同的收集策略进行数据收集具体为:

紧急的信息例如充电请求等通过多条传输的方式传递到基站,不紧急的信息则由移动充电器在充电过程中进行收集。

附图说明

图1是本发明一种实施例的网络模型示意图;

图2是本发明一种实施例的网络分簇示意图;

图3是本发明一种确定利用虚拟势场确定母充电器释放位置示意图;

图4是本发明一种实施例的母充电器路径图;

图5是本发明一种母充电器前往某个簇并释放子充电器示意图;

图6是本发明一种实施例的簇内节点充电方式示意图。

具体实施方式

本发明首先对网络中的节点进行分簇,其中分簇算法使用的是mean-shift(均值漂移)算法,再将簇中只有一个或两个节点的簇合并到距离该簇位置最近的簇中。分好簇后,再根据节点的邻居点个数和能量来确定每个簇的簇头。此分簇方法可以找出网络中几个节点分布密度比较高的区域,避免让密度过高的区域集中在一个簇中,同时,簇头作为数据收集点,其在簇中也会随着能量的变化而变化,以达到平衡网络中各簇的能量消耗。其次若该簇中有多个待充电节点,则通过虚拟势场法找到母充电器释放子充电器的最佳位置。第三,根据节点的能量消耗速率和簇间的距离确定簇的优先级顺序。第四,在每个簇内采用最优化的方法为母充电器以及子充电器分配充电节点队列以达到充电时间最小化。本发明将充电过程和数据收集过程相结合,将全网数据分为紧急数据和非紧急数据,紧急数据通过多跳向基站进行传输,非紧急数据由充电器进行收集。本发明能够提高充电有效性和网络的可扩展性,从而最大化网络的寿命。

如图1所示为无线可充电传感器网络模型示意图,所述传感器网络为一个l×l的二维区域。网络包括一个基站,一个可携带三个子充电器的母充电器和若干个传感器节点。基站位于网络区域的中心,可以获得全网的信息,为充电器提供相应的信息,并为其提供能量。本实施例中的一种wsns中基于聚类分簇的协同充电方法,具体步骤如下:

步骤(1):首先将传感器网络进行分簇;

对于一个节点随机分布,基站位于网络中心,连通的无线传感器网络。网络初始状态节点能量相同,节点收集到的信息通过多跳向基站进行传输,节点部署完毕后,基站通知全网进行分簇。

分簇的过程分为两步:

(1.1)mean-shift分簇

首先利用mean-shift(均值漂移)法进行分簇。分好簇后,再将簇中只有一个或两个节点的簇合并到距离该簇位置最近的簇中。

(1.2)簇头选取

根据节点的剩余能量、该节点在簇中的邻居节点的数目,为簇中的每个节点设置一个名为ω的值,ω值的具体计算公式如下:

其中,ωi表示节点i的ω值;α表示选举因素的权重;ni表示节点i的邻居节点个数;nmax表示簇内节点的个数;ei_residual为节点i的剩余能量;enode为节点的电池容量。

对于每个簇,将所有节点的ω值进行降序排序,选取ω值最大的节点作为簇头节点。每轮充电结束后,每个簇再重新根据剩余能量和邻居节点数目选取簇头节点,分簇结果如图2所示。

步骤(2):规划簇的遍历顺序和路径;

网络分簇结束后,当基站收到充电请求的数量达到预先设定的阈值时,基站派出母充电器前往各簇进行充电,并收集数据。母充电器根据簇内节点的能量消耗速率和距离决定出簇的遍历序列,即路径。具体的路径设计方案如下:

(2.1)选择每个簇内母充电器的停留点

如果簇中没有或者只有一个待充电节点,则簇头或者充电节点为母充电器停留点。如果簇中有多个待充电节点,则使用虚拟势场的方法求得母充电器的最佳停留点位置,具体计算方法如下:

首先计算目标节点对母充电器产生的引力的势能函数,计算公式为:

其中u(q)是势能函数;d(q,qgoal)指的是两者之间的距离,q代表母充电器,qgoal代表目标节点;

其次将是能函数进行求导,得出力的函数:

其中,f(q)是力的函数,由u(q)函数求导得来;

计算每个节点对应的力的系数,计算公式为:

其中,ηi是能量系数,是节点需要补充对能量ech_i和节点电池容量enode的比值;

最后计算所有力的合力,计算公式为:

f=force(η1*f1,η2*f2,...,ηi*fi)

其中,f是所有力的合力,这里的所有力代表所有的待充电节点对母充电器产生的引力。当合力f为0时的位置就是母充电器的停留位置,停留点的选取如图3所示。

(2.2)计算每个簇的权值,并根据权值确定簇的遍历顺序:

根据簇内节点的能量消耗速率和距离,为每一个簇设置一个名为p的值,p值的具体计算公式如下:

其中,pj代表簇j的p值;α表示选举因素的权重;eth表示充电阈值;ρi表示节点i的消耗速率;nj表示簇j中节点的个数;enode为节点的电池容量;dj-1,j代表上一个已知簇和当前簇的距离;n表示簇的个数。

将所有簇的p值降序排序得到的顺序就是簇的遍历队列,而母充电器则根据这个队列依次访问每个簇,母充电器的路径如图4所示。

步骤(3):确定簇中节点的充电方法;

本发明采用子母充电器进行协通充电,即母充电器可随身携带三个子充电器进行充电。母充电器到达某一个簇后,根据簇中待充电节点的个数采用不同的充电策略,具体方案如下:

如果当前簇中没有待充电节点。母充电器前往该簇的簇头收集数据后离开。如果当前簇中只有一个待充电节点。在母充电器到达该节点并为其充电时,该节点向簇内节点广播使得自己成为簇头,母充电器在充电的同时收集该簇的数据;母充电器前往某一个簇并释放子充电器的方式如图5所示。

如果当前簇中有多个待充电节点。假设有n个待充电节点,母充电器最多可携带3个子充电器,那么4个充电器如何给n个节点充电的问题就是一个最优化的问题。

首先列出每个充电器的充电队列,队列表示为:

wcv_1~wcv_4代表4个充电器,c1~cni代表每个充电器的充电节点队列。

然后确定最优化的函数,公式为:

τ=at

τ:1*4a:n*4t:1*n

其中τ是一个4行1列的矩阵,代表每个充电器充电的总时间;a是一个n行4列的矩阵,其中如果aij=1则说明充电器给该节点充电,如果aij=0则说明充电器不给该节点充电;t是一个n行1列的矩阵,代表每个节点需要充电的时间。

接下来确定最优化的目标,其公式为:

min{max{τi}}τi∈τ

其中τ中有τ1~τ4四个值,将四个值中的最大值最小化就是我们的最优化目标。

确定好最优化的目标后需要确定最优化的约束条件:

第一个为:

该条件表示一个充电器只给一个节点充电。

第二个约束条件主要针对子充电器,首先进行判断:

其中edemand_i表示前m个节点的充电量;est表示充电器行驶单位距离消耗的能量,di,i+1表示两个节点之间的距离;esc是小充电器的剩余能量;dm,bc指的是第m个节点和bc(母充电器)的距离。

这个条件判断的是当子充电器在给第m个节点充电的时候,子充电器需要先判断其剩余电量是否可以满足其给第m个节点充满电之后能够回到母充电器的位置补充能量。如果满足该条件,则子充电器继续给节点进行充电,则约束条件公式如下:

上式中,ei为节点i的能量;如果不满足该条件,子充电器应当放弃给该节点充电,首先回到母充电器补充能量,然后再继续给剩余队列中的节点进行充电,则约束条件公式如下:

由上述最优化方法得出的队列即为充电器对所有节点充电的最佳方案。每个充电器在完成自己的充电队列之后,回到母充电器释放位置等待母充电器回收,母充电器完成回收所有子充电器之后前往下一个簇。簇内充电路径如图6所示。

步骤(4):数据收集;

首先将网络中节点收集到的信息分为两类:紧急信息和非紧急信息。紧急的信息例如充电请求等通过多条传输的方式传递到基站,不紧急的信息则由移动充电器在充电过程中进行收集,实现将节点的充电过程与数据收集过程相结合。

以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

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