本发明总体上归属于无线可充电传感器网络领域,具体涉及到网络节点聚类、无线能量传输、蚁群系统智能计算、路径规划以及移动调度等技术领域。
背景技术:
传统的无线传感器网络(wirelesssensornetwork,wsn)是由大量低成本的微型传感器节点组成的多跳自组织网络,在军事侦查、健康医疗、环境监测、仓储管理和智能家居等领域有广阔的应用前景。但是,由于wsn节点体积小,其上搭载的电池容量有限,节点常常因为能量耗尽而死亡。依靠更换电池来延长网络寿命的方法往往操作不便、维护成本高、甚至有时根本不可行,这严重阻碍了wsn的进一步发展和应用。近年来,随着无线能量传输(wirelesspowertransfer,wpt)技术的快速发展,将能量补给装置放置在机器人或者移动设备上,以移动充电车辆(mobilechargingvehicle,mcv)的形式为节点提供稳定可持续的能量,已成为突破传统wsn节点能量瓶颈的重要方式。这种方式下,wsn节点能够按需、适时得到能量补充,从而形成了无线可充电传感器网络(wirelessrechargeablesensornetwork,wrsn)。与wsn相比,wrsn能够有效延长网络的生存周期,其应用的广度和深度得到了大幅度拓展与提升。
根据mcv对wrsn节点的充电方式不同,可将其分为一对一接触式充电和一对多非接触式充电两种形式。前者需要mcv移动至待充电节点处,以一对一接触的形式逐一为各个节点补充能量。然而,随着网络规模的扩大以及节点密度的增加,这种方式充电效率低,仅适合于节点较为稀疏的小规模网络。后者只需将mcv移动到合适的位置,就能够对其充电范围内的多个节点同时进行充电,这种批量并行操作的方式大大提高了网络的充电效率,因此可用于大规模无线传感器网络的能量补给。
在一对多非接触充电方式中,为了提高充电效率,可先对网络进行分簇,然后在每个簇内选择合适的停靠位置,即锚点(anchor),使得mcv停留在锚点处对其簇内的多个节点同时进行无线充电。此外,为了提高通信效率,簇内的节点往往将数据发送给簇头,由簇头节点将数据转发给汇聚节点(sink)。在这个过程中,有两个关键问题亟待解决:(1)如何对wrsn进行合理分簇,并确定通信簇头以及锚点的位置;(2)如何确定mcv对各个簇的充电次序以及充电停留时间,并调度mcv进行移动,使得其路线最优、充电效率最高。这两个因素均对wrsn的充电效果产生至关重要的影响。
技术实现要素:
针对一对多非接触方式下对wrsn节点进行能量补给的问题,本发明提出了一种基于能量优先的mcv多目标充电调度方法——per-mtcs(priorityofenergyrequirementbasedmultipletargetchargingscheduling)。该方法中,wrsn包括若干个带有可充电电池的同类传感器节点、一个携带有大容量可充电电池和无线充电装置的移动充电车辆mcv、一个用于给mcv补给能量的充电服务站、一个采集整个网络信息并调度mcv进行移动充电的基站;基站能够收集各个节点的数据信息、状态信息以及充电请求信息,并综合利用这些信息进行充电调度,最后将调度结果发送至mcv,由mcv执行具体的无线充电任务。整个系统的结构如图1所示。
本发明的技术方案为:
一种基于能量优先的mcv多目标充电调度方法,首先,采用基于能量优先的k-means-per(k-means-priorityofenergyrequirement)方法对wrsn节点进行聚类,使得剩余能量越少、能量需求越紧急的节点优先成为聚类的中心,从而实现对wrsn网络的分簇;其次,采用red-chs(residualenergyanddistancebasedclusterheadselection)算法来选择通信簇头,簇内其余节点通过簇头与基站进行信息交互;然后,采用vff-as(virtualforcefield-anchorselection)算法来选择簇内锚点,使得在能够兼顾簇内各个节点能量需求的前提下,确定簇内最佳的锚点位置;最后,采用per-acs(priorityofenergyrequirementbasedantcolonysystem)算法对mcv进行最优路径规划与充电调度;
所述的k-means-per方法用于将整个wrsn网络节点聚类为不同的簇,以便提高其通信效率和mcv充电效率;
所述的red-chs算法用于选择簇内的通信簇头,使得其能够在簇内普通节点与网络基站之间中转信息;
所述的vff-as方法用于确定mcv在每个簇内的最佳停靠位置,使得mcv能够停留在该处为簇内的节点进行一对多非接触式充电;
所述的per-acs路径规划与充电调度方法用于求解mcv的最优移动路线,并确定在最优路径上每个站点的停靠时长,在该时长内mcv为相应簇内的节点进行无线充电。
进一步,所述的基于能量优先的k-means-per算法与传统的k-means聚类算法不同,除了考虑节点之间的位置关系外,k-means-per算法更关注节点对能量的需求。由于能量需求与剩余能量有着密切联系,当前剩余能量越少,越需要补给能量,对充电需求越迫切,因此,k-means-per算法首先获取各个节点的剩余能量,依据其剩余能量多少对节点进行快速排序,剩余能量越少的节点在队列中的次序越靠前,充电优先级越高;然后取排序中的前k个节点作为初始的聚类中心;之后依据节点间的欧式距离进行聚类,最终获得k个以聚类中心为中心、半径不超过mcv有限充电范围的簇。
所述的通信簇头主要用于簇内节点与基站之间的信息中转,与普通通信方式相比,分簇机制通信效率更高,整个wrsn网络的通信开销更小。本发明中的red-chs通信簇头选择方法特征在于,它同时考虑了节点的能量状况以及节点与簇中心(即聚类中心)的位置关系双重因素,为节点设计了一个综合权重,作为它是否被选为簇头的度量依据。剩余能量越多、离簇中心距离越近的节点,权重越大,它当选为簇头的概率也越大。这是因为,一方面,在一个簇内,簇头由于要频繁地中转信息,故能量消耗很快,因此需要能量比较充足的节点担任簇头;另一方面,簇头负责中转簇内各个节点与基站之间的通信,从物理位置上讲,越是靠近簇中心位置的节点,越是能够兼顾簇内各个节点的通信需求。综上,那些剩余能量较多、同时又比较靠近簇中心的节点最合适作为簇头。
再进一步,在选择簇内锚点时,采用了vff-as方法,它借鉴了力学中的虚拟力场(virtualforcefield)理论,将每个节点建模为质点,将其质量表示为该节点对能量需求的紧急程度;假设存在一个虚拟质点,根据牛顿万有引力定律,可以得到簇内每个节点对该虚拟质点的引力,进而求出虚拟质点所受的合力;合力为0的点即为平衡点,该点处能够兼顾到各个节点的引力需求,因此,该位置即为锚点的最佳位置。基于vff-as方法的锚点位置选择方法示意图如图3所示。
在规划mcv最优路径并调度其进行多目标充电时,采用了基于能量优先的蚁群系统方法per-acs,其过程为:(1)采用蚁群系统来解决mcv的路径规划问题,并对普通的蚁群系统进行改进,将锚点对能量需求的紧急程度整合到到蚁群系统的启发信息中,同时采用伪随机比例规则优化了蚂蚁从一个锚点到下一个锚点的转移决策,使得其能在先验知识和探索新路径之间做出权衡和调节,扩大了路径的搜索范围,避免了算法陷入局部最优,从而找到一条mcv移动充电的全局最优路径;(2)根据一轮调度中的充电请求数量动态调节mcv对簇内节点的充电量,并根据当前簇内节点的剩余能量信息和mcv的充电功率,精确地计算出mcv在各个锚点的停靠时长,在该时长内mcv对簇内的各个节点以一对多非接触方式进行无线充电。
本发明的有益效果为:充分考虑网络节点的能量需求,并结合聚类算法、蚁群系统和路径规划等技术,给出了mcv的最优调度,从而有效解决了wrsn节点的能量补给问题。
附图说明
图1是本发明的系统结构示意图;
图2是基于能量优先的mcv多目标充电调度方法per-mtcs的实现流程图;
图3是基于虚拟力场的锚点位置选择方法vff-as的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
现在将详细参考本发明的实施例,这些实施例的示例在附图中示出。文中“停靠点”和“锚点”在此用于方便描述,并且因此可以可交换地被使用,而且没有任何可区别的意义或功能。同样,文中“聚类中心”和“簇中心”也可以可交换地被使用,而且没有任何可区别的意义或功能。
图1给出了本发明的系统结构示意图,其核心组件包括可充电的传感器节点、网络基站、无线移动充电车辆和充电服务站四部分,各部分的功能如下:
(1)可充电的传感器节点(rechargeablesensors,rss,简称节点)
整个wrsn网络由大量安装有可充电电池的传感器节点组成,每个节点感知并采集周围环境的信息,多个传感器以自组织的形式相互协作,共同完成对环境的监测任务。本发明中每个传感器节点同质同构,它们具有相同的计算能力和通信能力;每个节点所配备的可充电电池容量相等,最大容量均为emax;mcv为节点充电时,若节点的能量达到最大容量emax后,它不再接收能量;每个节点均能够通过gps(globalpositionsystem,全球定位系统)装置自行定位,且一旦部署,其位置就静止不动。
(2)网络基站(basestation,bs,简称基站)
基站是整个wrsn网络的数据中心和控制中心,相当于网络的汇聚节点(sink),有恒定的电源供电。它不仅能够以无线多跳形式收集各个节点采集的数据,进行分析和处理,还能获取各个节点的状态信息(例如:节点的位置坐标、节点当前的剩余能量等),并能接收节点的充电请求,然后调度mcv对节点进行一对多非接触式充电。
需要说明的是,每个普通的wrsn节点并不是直接与基站进行通信,而是首先对wrsn网络进行聚类,一个聚类形成一个簇,然后从中选出簇头,由簇头负责本簇内节点与基站之间的信息交互。
簇内节点向簇头发送的信息包括所采集的普通数据信息和充电请求信息等,簇头能对不同类型的信息进行区分和处理。具体地,在一段时间内,簇头可能会收到多个节点发来的充电请求,这时,它能够从中辨别出紧急度最高的请求,并将该请求转发到基站,由基站进行最终的充电调度。
(3)无线移动充电车辆(mobilechargingvehicle,mcv)
mcv是wrsn中的能量补给设备,它具有以下功能:
①携带有充足的电量(远远大于普通节点所需的充电量),具有无线充电能力,并且自身能够控制充电的开启与停止;
②具有无线通信能力,能够以无线方式接收基站发来的调度信息;
③具有移动能力,能够按照指定的调度路线在锚点间匀速移动;
④能够以一对多非接触方式为其充电半径内的所有节点进行无线充电;
初始运行时,系统根据各个节点的剩余能量进行聚类分簇,再根据虚拟力场理论确定簇内的最佳停靠点,即锚点。在wrsn运行过程中,若某节点有充电需求,则向自己所在簇的簇头发充电请求,簇头将此请求转发至基站。在一段时间内,基站根据所收到的充电请求状况,采用基于能量优先的蚁群系统进行调度,并将调度结果发送给mcv。mcv根据调度结果,沿着基站所规划的最优路径移动,依次停靠到各个锚点位置,为有充电需求的簇进行一对多无接触式充电。
(4)充电服务站(chargingservicestation,css)
充电服务站相当于一个后勤服务站,能够为mcv快速提供能量补给。随着mcv为其它节点进行能量输出,其自身的能量会逐渐减少,因此需要适时进行补给,以满足整个wrsn网络的充电需求。本发明中,当所有节点都没有充电需求时,mcv停留在充电服务站,为自身充满能量,然后处于待命状态;当接收到基站的调度信息后,它沿着最优路径依次为有能量需求的簇进行充电,最后再回到充电服务站补满能量,等待下一轮调度。
本发明公开了一种wrsn中基于能量优先的mcv多目标充电调度方法——per-mtcs。图2给出了本发明实施例的流程图。per-mtcs调度方法包括以下四步:(1)基于能量优先的k-means-per节点聚类分簇;(2)基于red-chs机制的通信簇头选择;(3)基于vff-as的最佳锚点确定方法;(4)基于per-acs的mcv路径规划与调度。各个步骤的具体实施方式如下。
步骤一:基于能量优先的k-means-per节点聚类分簇,过程如下:
步骤1.1:计算各节点的能量消耗速率
根据公式
步骤1.2:计算各节点的能量接收功率
根据公式
步骤1.3:计算各节点的剩余能量
根据公式
步骤1.4:依据剩余能量值对节点进行排序
根据(式3)计算的剩余能量多少,对wrsn网络节点进行排序,剩余能量越少的节点次序越靠前。然后,选取前k个节点作为初始聚类中心。k为常数,在系统初始时设定。
设k个初始聚类中心所在的位置依次为
步骤1.5:将每个节点划分到簇中
对于节点i,计算它与当前k个簇中心的距离,从中找出距离最近且小于r(r是mcv的有效充电半径)的那个簇中心,将其归为该簇。依次遍历所有节点,最终形成k个分簇。
步骤1.6:计算本轮分簇时各个簇的簇中心
对于第m个分簇cm,按照公式
步骤1.7:更新簇中心
对于每个簇,判断新的簇中心位置
然后转到步骤1.5继续新一轮的分簇,直到所有簇的簇中心均不再变化为止。此时,每个簇的簇中心及其簇内的节点确定了下来。
步骤1.8:输出分簇结果
输出分簇结果c={c1,c2,…,cm,…,ck},其中,cm是第m个簇内的节点所形成的集合。
步骤二:基于red-chs机制的通信簇头选择,过程如下:
步骤2.1:计算簇内每个节点的选举权重
对于簇cm内的节点i,根据公式
步骤2.2:根据节点的选举权重确定通信簇头
按照选举权重大小为簇内每个节点进行降序排序,选择权重最大的节点作为该簇的通信簇头。这种机制使得那些剩余能量越多、越靠近簇中心的节点被选为通信簇头的概率越大。
步骤三:基于vff-as的最佳锚点确定方法,过程如下:
步骤3.1:计算簇内每个节点的质量
根据公式
步骤3.2:计算簇内各节点对虚拟质点的引力
设簇cm内存在一个虚拟质点svirtual,其质量为mvirtual,根据牛顿万有引力定律,按照公式
步骤3.3:计算虚拟质点所受的合力,确定锚点的最佳位置
根据公式
基于虚拟力场的最佳锚点位置选择方法vff-as的示意图如图3所示。
步骤四:基于per-acs的mcv路径规划与充电调度
本发明中mcv路径规划与充电调度使用了基于能量优先的改进的蚁群系统来实现,其具体实施步骤如下:
步骤4.1:基站bs收集wrsn网络信息,并设置调度基本参数。
wrsn网络的每个节点定期更新自身信息,包括能量消耗速率、剩余能量、分簇信息和节点质量(表征该节点对能量需求的紧急程度)等。当节点的剩余能量低于设定的阈值时,它向通信簇头发送充电请求。簇头在一段时间内收到各个节点的充电请求后,从中找出质量最大的节点,将其充电请求转发给基站bs。bs定期收集各个通信簇头发来的充电请求,调度mcv执行充电任务。
路径规划与充电调度时,需设置以下基本参数:
k:wrsn网络被划分成的总簇数;
κ:本轮调度时基站收到簇头发来的充电请求个数;
emax:节点的初始能量;
ereq-th:节点的充电请求阈值;
nant:蚁群系统的蚂蚁总数量;
niter:蚁群系统的总迭代次数;
ω:每个路段上的信息素浓度初始值;
ρ:全局信息素挥发因子;
μ:局部信息素挥发因子;
α:信息素启发式因子;
β:距离期望启发式因子;
γ:能量需求紧急程度期望启发式因子。
以上参数中,除了κ会随着节点的充电请求状况而动态变化外,其它参数均是常数,可根据需要设定。但是,一旦基站bs启动了路径规划过程,在同一轮调度中κ值保持不变。
除以上参数外,还需设置蚁群系统迭代计数变量nc,其初值为1。
步骤4.2:初始部署蚂蚁
随机将nant只蚂蚁部署在κ个有充电请求的锚点上。
步骤4.3:当迭代计数nc≤niter时,执行步骤4.4~4.7
步骤4.4:对于每一只蚂蚁antl(l=1,2,…,nant),执行步骤4.5~4.7
步骤4.5:对于蚂蚁antl,选择当前的下一跳锚点
由于本轮调度时基站收到κ个簇头发来的充电需求,故mcv需要停靠κ个锚点为相应簇内的节点充电,这κ个锚点的编号为1,2,…,κ,对应的锚点集为{a1,a2,…,aκ}。对于任一只蚂蚁antl,设其当前位于锚点i处,根据(式9)的伪随机比例规则确定它到下一个锚点j的转移决策。
(式9)中,τij(t)为t时刻锚点i到锚点j路段上的信息素浓度,初值为常数ω,即:τij(0)=ω,α为信息素启发式因子,表征信息素的重要程度;
(式9)采用了伪随机比例规则。q是在[0,1]区间均匀分布的随机变量,参数q0(0≤q0≤1)是当前选择最优移动方式的概率。当q≤q0时,蚂蚁根据先验知识选择目前最优路径;而当q>q0时,则按照概率
步骤4.6:局部信息素更新
对于锚点i到锚点j之间的路段,按照公式τij(t+t)=(1-μ)τij(t)+μτ0……(式10)进行局部信息素更新。其中,τij(t)为当前t时刻锚点i到锚点j路段上的信息素浓度,τij(t+t)为经过时间t后该路段上的信息素浓度;μ为局部信息素挥发因子,取μ=0.1时可以取得较好的搜索结果;
步骤4.7:循环边界判定
判断蚂蚁antl是否访问完所有κ个锚点,形成一条完整的路径:
(1)若否,则转到步骤4.5处,继续寻找下一跳锚点,直到将所有κ个锚点访问完毕;
(2)若是,则蚂蚁antl已形成一条自己的访问路径,此时,转到步骤4.4处,继续下一只蚂蚁的路径搜索(l=l+1),直到所有nant只蚂蚁都形成自己完整的访问路径。
步骤4.8:全局信息素更新
当前轮所有蚂蚁都形成自己的路径后,从中找出最优的一条路径
步骤4.9:更新迭代次数nc,判断是否路径搜索结束
若当前迭代计数nc达到了总迭代次数niter,则路径搜索结束,
步骤4.10:输出最优的访问路径
输出最终的最优访问路径
步骤4.11:计算mcv对节点的充电停止能量阈值
根据公式
步骤4.12:确定mcv在最优路径上各个锚点的停靠时间
根据公式
按照4.1至4.12所描述的步骤,基站bs可以求出本轮有请求的κ个簇的最优访问路径lbest,然后按照该路径依次停靠在锚点
综上,本发明中基于能量优先的mcv多目标充电调度方法per-mtcs通过步骤一的k-means-per算法实现wrsn网络的聚类分簇,通过步骤二的red-chs机制来选择合适的通信簇头,通过步骤三的vff-as方法来选择簇内最佳的锚点位置,通过步骤四的per-acs算法来实现mcv的最优路线规划与充电调度。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例,用于解释本发明,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。