本发明涉及一种改进leach协议的无人机集群网络拓扑设计方法,属于无人机集群网络拓扑设计技术领域。
背景技术:
有效的通信是实现无人机集群协同任务的基础与保证。基于无人机对环境良好的认知能力,集群个体间可以进行各种信息交互,包括位置、速度和各种传感器状态等。通过状态信息和环境信息的交互和处理,个体可以进行自我调整、自我完善,最终使整个系统能自适应地完成任务。无线传感网络在无人机集群中有重大的意义。无线传感网络中所有节点是独立电池供电的,由于节点数目庞大且应用环境特殊,电池更换是很难实现的,因此节省各个节点的能量消耗成为网络的主要设计目标。而在传感器网络的研究中,网络路由协议是其研究的基础以及核心技术,是网络研究中必不可少的研究点。因此,研究设计更有效的网络路由协议,在网络中建立可靠的数据传输路径,使节点更高效的传输信息到汇聚节点,以此来延长网络的生命周期是十分有必要的。
leach算法是其中一种广泛运用的无线传感器网络路由协议。leach协议中的簇头节点是随机产生的,可能会造成簇头节点的分布不均,出现某一区域的簇头节点相对集中或某一区域没有簇头节点的情况,不利于网络通信、造成能量的不必要消耗,导致网络的性能下降。同时簇头的选举是根据节点产生的随机数与固定值t(n)的比较来决定的,并没有考虑到节点的剩余能量,导致选举的簇头能量过低,造成簇头节点的失效,使得整个簇在当前轮中失效直到下一轮重新建立簇,影响网络的有效性且不利于网络生命周期的延长。
并且leach协议中虽然可以通过p设置簇头节点个数,但它只是一个理想值,我们并不能保证每一轮产生理想簇头个数,簇头节点的个数波动很大,因此会产生极大簇(簇内节点太多)或极小簇(簇内节点太少)的情况,这两种情况会造成不同簇的簇头节点能量消耗有极大的不同。簇内节点少的簇数据采集和发送的时间更短,向汇聚节点发送数据的频率比簇内节点多的高,造成网络能量的浪费。
技术实现要素:
本发明所要解决的技术问题是:提供一种改进leach协议的无人机集群网络拓扑设计方法,针对leach协议存在的不足,用谱聚类对leach协议进行改进,从而达到优化整个网络,降低能量的不必要消耗,使网络的生命周期可以大大的延长的目的。
本发明为解决上述技术问题采用以下技术方案:
一种改进leach协议的无人机集群网络拓扑设计方法,包括如下步骤:
步骤1,将无人机集群中的每个无人机坐标视为一个节点,对于通信过程的第t轮,利用谱聚类对所有节点进行聚类得出聚类结果;
步骤2,对于聚类结果,在每一类中选取能量值最高的节点作为簇头;
步骤3,每个簇头与该簇头所属类中的其他节点构成通信网络,第t轮完成;
步骤4,计算第t轮完成后每个节点的能量值并进行更新,判断通信过程是否完成,若未完成,则令t=t+1,并返回步骤1,否则通信过程结束。
作为本发明的一种优选方案,所述步骤1的具体过程如下:
1.1,将所有节点建立数据集v,v=(v1,v2,…,vm),v1,v2,…,vm分别表示第1,2,…,m个节点,根据数据集建立无向权重图,根据无向权重图构建相似度矩阵w;
1.2,根据无向权重图构建度矩阵d;
1.3,计算拉普拉斯矩阵l=d-w;
1.4,计算拉普拉斯矩阵l的所有特征值,并将所有特征值按从小到大的顺序进行排列,计算前k个特征值对应的特征向量;
1.5,将前k个特征值对应的特征向量组成m*k维的矩阵,对该矩阵按行进行标准化得到矩阵h;
1.6,将矩阵h中的每一行作为一个1*k维样本,共m个样本,用k-means对m个样本进行聚类,得出聚类结果,即所有节点的聚类结果。
作为本发明的一种优选方案,所述相似度矩阵w为:
式中,wij表示第i个节点和第j个节点之间的权值,wij=wji,i=1,2,…,m,j=1,2,…,m,m为所有节点的个数;若第i个节点和第j个节点之间有连接边,则wij>0,否则wij=0。
作为本发明的一种优选方案,所述度矩阵d为:
式中,i=1,2,…,m,m为所有节点的个数,wij表示第i个节点和第j个节点之间的权值。
作为本发明的一种优选方案,所述步骤3的具体过程如下:
当节点被选取为簇头后,簇头广播消息告知网络中所有非簇头节点,非簇头节点根据接收到的消息,判断要加入哪个簇头,判断的依据是接收到的各簇头所属类的编号,非簇头节点选择与自己所属类的编号相同的编号对应的簇头,向该簇头发送请求加入消息;簇头根据接收到的请求加入消息,确定自己的成员节点,建立通信。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
1、本发明借用谱聚类可以对任意形状的数据集进行聚类,计算量较小、实现简单、聚类效果好并能收敛于全局最优解的特性,用谱聚类对leach协议进行改进,从而达到优化整个网络,降低能量的不必要消耗,使网络的生命周期可以大大的延长的目的。
2、本发明改进的s-leach协议对网络的生命周期有了明显的延长,其网络的负载均衡性也得到了提高。
附图说明
图1是本发明一种改进leach协议的无人机集群网络拓扑设计方法的流程图。
图2是本发明实施例中leach协议第五轮通信拓扑。
图3是本发明实施例中s-leach协议第二十七轮通信拓扑。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本发明针对leach协议中的簇头节点选取的随机性,并没有考虑到节点的剩余能量,可能会造成簇头节点的分布不均,出现某一区域的簇头节点相对集中或某一区域没有簇头节点的情况;以及簇头节点的个数波动很大,因此会产生极大簇(簇内节点太多)或极小簇(簇内节点太少)的情况,不利于网络通信、造成能量的不必要消耗,导致网络的性能下降的局限性,基于谱聚类对其进行改进,提出改进后的s-leach协议,并对改进协议在无人机集群网络拓扑中的应用做详细的分析。在matlab平台上,对s-leach协议、leach协议进行仿真对比试验并比较分析。仿真结果验证了s-leach协议对网络的生命周期有了明显的延长,其网络的负载均衡性也得到了提高。
如图1所示,为本发明一种改进leach协议的无人机集群网络拓扑设计方法的流程图。具体步骤如下:
(1)将待处理数据即无人机的坐标建立数据集v,构建表示对象相似度的矩阵w;
v为数据集中所有点v=(v1,v2,…,vm),定义任意两点vi,vj之间的权重为wij,建立无向权重图,由无向图的性质可知wij=wji。对于有连接边的两点wij>0,对于没有连接边的点wij=0。用所有点之间的权重值构建图的m*m相似矩阵w:
(2)构建度矩阵d;
无向权重图中任意一点vi的度di定义为它和其它点的边的权重之和:
利用每个点度的定义,得到m*m的度矩阵d:
(3)计算拉普拉斯矩阵l=d-w;
(4)计算l的前k个最小特征值的特征向量;
(5)将k个特征向量组成m*k维的矩阵,按行进行标准化得到矩阵h;
(6)对矩阵h中的每一行作为一个k维样本,共m个样本,用k-means进行聚类得出聚类结果;
(7)在每一类中选取能量值最高的节点作为簇头;
(8)每个簇头与处于同一类的其它子节点构成通信网络;
当前轮中节点当选为簇头之后,就会广播消息告知网络中所有节点,非簇头节点根据接收到的消息,判断要加入哪个簇,判断的依据是接收到各簇头节点所属的类的编号,非簇头节点选择本类的簇头节点,加入该簇,并发送请求加入消息给相应的簇头节点。簇头节点根据接收到的请求消息,确定自己的成员节点,建立通信。
(9)计算每个节点本轮后的能量值完成更新,通信未完成则返回步骤(1);
簇内的节点按照簇头分配的发送数据的时间间隙,将采集到的数据传输给簇头节点。数据传输阶段结束后,由于簇头节点能量消耗比较大,每一轮工作完之后,计算每个节点本轮后的能量值完成更新从而在下一轮重新选举簇头节点,形成新的簇,让所有节点都有成为簇头节点的机会,以此来实现网络能量的均衡。
实施例
设定在1000米*1000米的地图范围内随机生成100个无人机位置点,p=0.05,簇头用“o”表示,其他节点用“+”表示,设定给定的所有节点具有相同的能量,能量值为100,节点的能量消耗仅考虑关键的几次通信过程,其他能量消耗不计。作为簇头的节点每条数据链的建立消耗能量为2,非簇头消耗为1。节点能耗点用“o”标识。如图2所示在第五轮出现节点能量耗尽,耗尽节点编号为76。
同样在1000米*1000米的地图范围内随机生成100个无人机位置点,首先采用谱聚类对节点分类,“+”节点被划分到不同的类别中,设定聚类类别数量为10,基于谱聚类的leach协议(s-leach)构建的网络拓扑在第二十七轮出现节点能量被耗尽,如图3所示。
并且对比分簇结果,改进后的通信网络分布更加合理。对比能量耗尽点首次出现的时间可见改进后的方法可以优化整个网络,降低能量的不必要消耗,使网络的生命周期可以大大的延长。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。