一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于改进蚁群算法的果园物联网节点故障检测方法及系统

2022-06-11 04:43:13 来源:中国专利 TAG:
1.本发明涉及无线通信故障排查
技术领域
:,更具体的说是涉及一种基于改进蚁群算法的果园物联网节点故障检测方法及系统。
背景技术
::2.蚁群算法是一种群智能算法,它是由一群无智能或有轻微智能的个体通过相互协作而表现出智能行为,从而为求解复杂问题提供了一个新的可能性。蚂蚁行走在路径上时会释放信息素,一条路径上信息素的浓度越多,可以吸引其它的蚂蚁更趋向于走这条路,从而使得最优路径上的信息素浓度越来越高,而其它路径上的信息素会随着时间的推移逐渐蒸发。目前的果园物联网节点无线传输故障排查主要依靠人力,在上千亩的果园中进行多个节点的排查需要耗费大量的人力物力;同时传统的方法无法感知故障的动态变化,不能及时嗅探出即将发生和已经自恢复的无线传输问题。3.因此,如何提供一种基于蚁群算法计算不同路径上信息素的多寡,分析路径存在的故障概率的果园物联网节点故障检测方法及系统是本领域技术人员亟需解决的问题。技术实现要素:4.有鉴于此,本发明提供了一种基于改进蚁群算法的果园物联网节点故障检测方法,通过改进的蚁群算法,结合无线传输理论损耗,实现果园物联网节点无线传输故障的动态感知,降低节点维护成本。5.为了实现上述目的,本发明采用如下技术方案:6.一种基于改进蚁群算法的果园物联网节点故障检测方法,包括:7.s1、基于改进的蚁群算法计算果园物联网各节点间路径的信息素浓度矩阵,并在每次蚂蚁迁徙时,对所述信息素浓度矩阵进行更新;8.s2、基于softmax算法根据各节点间路径的信息素浓度计算对应路径的故障概率,若所述故障概率大于预设阈值,则判断该路径存在故障。9.进一步的,在上述一种基于改进蚁群算法的果园物联网节点故障检测方法中,s1包括:10.s11、随机初始化蚂蚁出生点;11.s12、以信息素启发因子为基础,为每一只蚂蚁可访问的节点计算访问概率;12.s13、根据所述访问概率确定每一只蚂蚁下一次要到的节点;13.s14、移动蚂蚁,并更新信息素浓度矩阵和所移动蚂蚁的移动距离,将当前蚂蚁所在节点加入该蚂蚁的已访问列表,后续不再访问这些节点;14.s15、判断蚂蚁访问过的节点数量是否达到设定值,若是,则停止对信息素浓度矩阵的更新,若否,则返回执行s11。15.进一步的,在上述一种基于改进蚁群算法的果园物联网节点故障检测方法中,s12中,所述访问概率的计算公式为:[0016][0017]ηij[m]=a·qij[m]-b·lij[0018]其中,pij[h]表示第h只蚂蚁从i节点到j节点的概率;τij和ηij分别表示从节点i到节点j路径上的信息素浓度和透明度;jh表示第h只蚂蚁下一次可访问的节点的集合;α和β分别表示信息素启发因子与透明度启发因子;ηij[m]和qij[m]分别表示蚂蚁第m次迁徙时,节点i到节点j路径的透明度和链路质量;lij表示节点i到节点j路径的无线信号传输理论损耗;a和b分别表示链路质量影响因子与理论损害影响因子。[0019]进一步的,在上述一种基于改进蚁群算法的果园物联网节点故障检测方法中,s13包括:[0020]对每一只蚂蚁当前可访问节点按照访问概率从小到大排列并进行累加,得到一个数组,数组的计算公式为:[0021][0022]其中,s表示累加结果数组;p[k]表示该蚂蚁对节点k的访问概率;n表示当前可访问的节点的数量;[0023]产生一个在区间[0,s[n]]内的随机数,如果该随机数处于区间[s[k-1],s[k]]内,则选择节点k作为该蚂蚁下一个要访问的节点。[0024]进一步的,在上述一种基于改进蚁群算法的果园物联网节点故障检测方法中,s14包括:[0025]按照下式计算蚂蚁每次迁徙时,两个节点间路径上的信息素增量:[0026][0027]其中,δτij[m]表示第m次迁徙节点i到节点j路径上的信息素增量;ηij表示从节点i到节点j的透明度;dh表示第h只蚂蚁已经走过的路径长度;表示冲量系数;η表示冲量初值参数,n表示节点个数,k表示蚂蚁群已经访问的节点数量;[0028]根据信息素增量计算蚂蚁在第k次迁移时节点i到j路径上的信息素浓度[0029]τij[m]=ln(τij[m-1] 1) δτij[m][0030]其中,τij[m]表示蚂蚁在第m次迁移时节点i到j路径上的信息素浓度;δτij[m]表示在第m次迁移节点i到节点j路径上的信息素浓度增量。[0031]进一步的,在上述一种基于改进蚁群算法的果园物联网节点故障检测方法中,所述故障概率的计算公式为:[0032][0033][0034]其中,pweak[τij]和pexc[τij]分别表示节点i到j的路径发生信号微弱故障概率和信号异常故障概率;exp表示以自然对数e为底的指数函数;∑exp(τ)表示对整个信息素浓度矩阵中的每一个元素取以自然对数e为底的指数后求和。[0035]本发明还公开一种基于改进蚁群算法的果园物联网节点故障检测系统,包括:上位机、串口模块、内核模块、积分模块、浮点运算模块和蚁群算法模块;[0036]所述上位机每间隔预设时间通过所述串口模块发送果园物联网节点分布情况、地形信息和链路质量至所述内核模块;[0037]所述内核模块用于控制所述积分模块和所述浮点运算模块根据果园物联网节点分布情况和地形信息计算无线传输理论损耗,并根据链路质量计算当前的节点路径透明度;[0038]所述内核模块还用于控制所述蚁群算法模块根据计算的无线传输理论损耗和当前的节点路径透明度执行一次如上述的检测方法,得到对应路径的故障概率,并通过所述串口模块将对应路径的故障概率发送至所述上位机。[0039]进一步的,在上述一种基于改进蚁群算法的果园物联网节点故障检测系统中,还包括:中断管理模块;所述积分模块、所述浮点运算模块和所述蚁群算法模块在执行完一次计算后,通过所述中断管理模块向所述内核模块发送中断请求。[0040]进一步的,在上述一种基于改进蚁群算法的果园物联网节点故障检测系统中,所述中断管理模块、所述积分模块、所述浮点运算模块、所述蚁群算法模块和所述串口模块均通过总线互联桥与所述内核模块通信连接;所述内核模块通过所述总线互联桥向所述积分模块、所述浮点运算模块和所述蚁群算法模块发送调度指令,并在收到中断请求后,通过所述总线互联桥读取相应的计算结果。[0041]进一步的,在上述一种基于改进蚁群算法的果园物联网节点故障检测系统中,所述积分模块用于采用龙贝格算法根据果园物联网节点分布情况和地形信息进行菲涅尔积分运算,得到无线传输理论消耗;所述浮点运算模块用于根据线性插值法计算菲涅尔积分运算过程中产生的正弦计算和余弦计算。[0042]经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于改进蚁群算法的果园物联网节点故障检测方法及系统,检测方法中,通过自主改进的蚁群算法,结合无线传输理论损耗,实现果园物联网节点无线传输故障的动态感知,降低节点维护成本;检测系统中,通过积分模块和浮点运算模块能够加速无线传输理论损耗的计算过程。附图说明[0043]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。[0044]图1为本发明提供的基于改进蚁群算法的果园物联网节点故障检测方法的流程图;[0045]图2为本发明提供的基于改进蚁群算法的果园物联网节点故障检测系统的结构框图;[0046]图3为本发明提供的基于改进蚁群算法的果园物联网节点故障检测系统的工作流程图;[0047]图4为本发明提供的蚁群算法模块、积分模块和浮点运算模块之间的关系图;[0048]图5为本发明提供的线射损耗计算原理图;[0049]图6为本发明提供的线性插值原理图。具体实施方式[0050]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0051]如图1所示,本发明实施例公开了一种基于改进蚁群算法的果园物联网节点故障检测方法,包括:[0052]s1、基于改进的蚁群算法计算果园物联网各节点间路径的信息素浓度矩阵,并在每次蚂蚁迁徙时,对信息素浓度矩阵进行更新;[0053]s2、基于softmax算法根据各节点间路径的信息素浓度计算对应路径的故障概率,若故障概率大于预设阈值,则判断该路径存在故障。[0054]本发明实施例中,果园物联网节点已预先安装到果园中,可以根据节点安装的位置以及果园整体地形信息,计算出不同节点间的无线信号传输理论损耗,无线传输故障包括信号微弱和信号异常两种情况,通过计算相应节点间路径中存在信号微弱或信号异常两种故障类型的概率,判断果园物联网节点是否存在故障。[0055]具体的,s1包括:[0056]s11、随机初始化蚂蚁出生点;[0057]s12、以信息素启发因子为基础,为每一只蚂蚁可访问的节点计算访问概率;[0058]s13、根据访问概率确定每一只蚂蚁下一次要到的节点;[0059]s14、移动蚂蚁,并更新信息素浓度矩阵和所移动蚂蚁的移动距离,将当前蚂蚁所在节点加入该蚂蚁的已访问列表,后续不再访问这些节点;[0060]s15、判断蚂蚁访问过的节点数量是否达到设定值,若是,则停止对信息素浓度矩阵的更新,若否,则返回执行s11。[0061]其中,s12中的访问概率的计算公式为:[0062][0063]为了实现动态故障检测,ηij由下式计算得到:[0064]ηij[m=a·qij[m]-b·lij[0065]其中,pij[h]表示第h只蚂蚁从i节点到j节点的概率;τij和ηij分别表示从节点i到节点j路径上的信息素浓度和透明度;jh表示第h只蚂蚁下一次可访问的节点的集合;α和β分别表示信息素启发因子与透明度启发因子;ηij[m]和qij[m]分别表示蚂蚁第m次迁徙时,节点i到节点j路径的透明度和链路质量;lij表示节点i到节点j路径的无线信号传输理论损耗,可通过节点安装位置及地形信息计算得到;a和b分别表示链路质量影响因子与理论损害影响因子。[0066]s13可概括为“轮盘赌”,具体包括:[0067]对每一只蚂蚁当前可访问节点按照访问概率从小到大排列并进行累加,得到一个数组,数组的计算公式为:[0068][0069]其中,s表示累加结果数组;p[k]表示该蚂蚁对节点k的访问概率;n表示当前可访问的节点的数量;[0070]产生一个在区间[0,s[n]]内的随机数,如果该随机数处于区间[s[k-1],s[k]]内,则选择节点k作为该蚂蚁下一个要访问的节点,其中s[n]、s[k-1]、s[k]分别表示数组s的第n、k-1、k个元素。[0071]s14中对信息素浓度怒真更新的算法可概括为“冲量-对数蒸发”方法,具体包括:[0072]按照下式计算蚂蚁每次迁徙时,两个节点间路径上的信息素增量:[0073][0074]其中,δτij[m]表示第m次迁徙节点i到节点j路径上的信息素增量;ηij表示从节点i到节点j的透明度;dh表示第h只蚂蚁已经走过的路径长度;表示冲量系数;η表示冲量初值参数,n表示节点个数,k表示蚂蚁群已经访问的节点数量;[0075]根据信息素增量计算蚂蚁在第k次迁移时节点i到j路径上的信息素浓度[0076]τij[m]=ln(τij[m-1] 1) δτij[m][0077]其中,τij[k]表示蚂蚁在第m次迁移时节点i到j路径上的信息素浓度;δτij[m]表示在第m次迁移节点i到节点j路径上的信息素浓度增量。[0078]s2中,softmax算法用于根据路径上的信息素浓度计算该路径有故障的概率,故障概率的计算公式为:[0079][0080][0081]其中,pweak[τij]和pexc[τij]分别表示节点i到j的路径发生信号微弱故障概率和信号异常故障概率;exp表示以自然对数e为底的指数函数;∑exp(τ)表示对整个信息素浓度矩阵中的每一个元素(不包括节点i到节点j不存在路径的元素)取以自然对数e为底的指数后求和。[0082]如图2-4所示,本发明实施例还提供一种基于改进蚁群算法的果园物联网节点故障检测系统,包括:上位机、串口模块、内核模块、积分模块、浮点运算模块和蚁群算法模块;[0083]上位机每间隔预设时间通过串口模块发送果园物联网节点分布情况、地形信息和链路质量至内核模块;[0084]内核模块用于控制积分模块和浮点运算模块根据果园物联网节点分布情况和地形信息计算无线传输理论损耗,并根据链路质量计算当前的节点路径透明度;[0085]内核模块还用于控制蚁群算法模块根据计算的无线传输理论损耗和当前的节点路径透明度执行一次前面所述的检测方法,得到对应路径的故障概率,并通过串口模块将对应路径的故障概率发送至上位机。[0086]其中,内核模块为microblaze内核,在microblaze内核的协调下,蚁群算法模块利用积分模块和浮点运算模块执行上述蚁群算法,在蚁群的一次迁移后,通过串口模块向上位机发送执行结果。[0087]更有利的,还包括:中断管理模块;积分模块、浮点运算模块和蚁群算法模块在执行完一次计算后,通过中断管理模块向内核模块发送中断请求。[0088]其中,中断管理模块、积分模块、浮点运算模块、蚁群算法模块和串口模块均通过总线互联桥与内核模块通信连接;内核模块通过总线互联桥向积分模块、浮点运算模块和蚁群算法模块发送调度指令,并在收到中断请求后,通过总线互联桥读取相应的计算结果。[0089]本发明实施例中,microblaze内核利用axi总线,通过总线互联桥的地址映射,访问串口模块、积分模块、浮点运算模块和蚁群算法模块,通过读写相应模块的寄存器控制模块运作。其中,串口模块用于与外部上位机通信,在fpga模块上电时,外部上位机通过串口往microblaze内核发送节点分布情况与地形信息,内核模块控制积分模块和浮点运算模块计算出无线传输理论损耗后,初始化每一只蚂蚁的出生位置,并进入就绪态。果园节点一定时间上传与其附近可通信节点的无线链路质量到上位机,上位机通过串口模块把收集的链路质量发送到microblaze内核,microblaze内核计算当前的节点路径透明度,执行一次蚁群算法,计算故障概率,故障概率通过串口发送到上位机,再次进入就绪态,等待下一次链路质量信息。当蚁群算法执行次数达到设定的次数时,重新根据节点分布情况与地形信息初始化路径透明度与蚂蚁位置,进入就绪态,依次循环执行蚁群算法。microblaze内核通过总线互联桥向浮点运算模块、积分模块以及蚁群算法模块分别发送调度指令,浮点运算模块用于计算积分模块执行菲涅尔积分操作中产生的正弦和余弦运算,蚁群算法模块根据相应步骤执行蚁群算法,并计算故障概率。浮点运算模块、积分模块以及蚁群算法模块在一次计算结束后通过中断管理模块向microblaze内核发送中断请求,microblaze内核收到中断请求后通过总线互联桥读取相应计算的结果。[0090]具体的,无线传输理论损耗计算由电磁波自由空间传输损耗和绕射损耗相加得到,绕射损耗采用菲涅尔积分法计算。获得果园地形和节点分布数据后,利用自由空间损耗公式以及菲涅尔积分,计算得到无线传输理论损耗。积分运算由积分模块在microblaze内核的控制下,采用龙贝格算法计算,可以在设定的精度条件下较快得到积分的数值解,该积分模块用于完成菲涅尔积分运算。正弦与余弦值计算由浮点运算模块,通过诱导公式,结合查表法与线性插值法计算得到,浮点运算模块用于计算菲涅尔积分过程中产生的正弦和余弦计算。[0091]下面,对无线传输理论损耗的计算原理进行进一步说明,如图5所示。[0092]无线传输理论损耗由电磁波自由空间传输损耗和绕射损耗相加得到,自由空间损耗通过下式计算:[0093]θfs=32.44 20log10f 20log10d[0094]其中,θfs表示自由空间传输损耗,单位为db;f表示电磁波的频率,单位为mhz;d为信号发射点与接收点间的直线距离,单位为km。[0095]绕射损耗的计算方法分为以下两步:[0096]a)由下式计算几何参数综合量:[0097][0098]其中,v表示全部几何参数的综合量;h表示端点的水平连线距离峰顶的垂直距离,单位为m,当端点水平线在山峰上方时,h为负值,反之则为正值;λ为电磁波的波长,单位为m;d1和d2分别为障碍物顶部与路径两端之间的距离。[0099]b)通过几何参数综合量计算绕射损耗:[0100][0101]其中,j为绕射损耗,单位为db;c(v)和s(v)分别为复数菲涅尔积分的实部和虚部,通过下式计算:[0102][0103]计算出自由空间损耗与绕射损耗后,相加作为无线信号传输理论损耗:[0104]lij=θij jij[0105]其中,lij、θij和jij分别表示节点i到j的无线信号传输理论损耗、自由空间传输损耗以及绕射损耗。[0106]下面,对积分模块的计算原理进行进一步说明。[0107]积分模块用于计算定积分的数值解,根据地形数据计算节点间无线传输的绕射损耗,在几何参数的综合量v小于等于-0.87时,需要使用菲涅尔积分法计算。[0108]在本发明中用于计算菲涅尔积分的复数数值解,采用龙贝格算法实现,该算法如下式所示:[0109]垂直扩展公式:[0110][0111]水平扩展公式:[0112][0113]其中,f(x)表示被积函数;a与b分别为定积分的下限与上限。通过两个公式可得到以下所示的t表:[0114]表1龙贝格积分算法得到的t表[0115][0116]执行龙贝格算法的步骤为:[0117]1.利用梯形积分公式计算[0118][0119]2.利用垂直扩展公式计算[0120][0121]3.利用水平扩展公式计算[0122][0123]重复以上步骤依次由计算由和计算由和计算以此类推,直到结果满足精度要求,取作为积分结果。精度ε计算公式如下:[0124][0125]下面,结合图6对浮点运算模块的计算原理进行进一步说明。[0126]在菲涅尔积分运算过程中会产生正弦余弦运算,为了加速该运算,设计浮点运算模块专门用于计算菲涅尔积分过程中的正弦和余弦值计算。为了加速三角函数的计算,在模块中保存了0度到90度,步长为1度的正弦真值表,并使用线性插值法估算正弦值与余弦值。[0127]当要计算sin(35.5)的值时,查表得到sin(35)(点a)和sin(36)(点b)的值,取点a与点b的中点的纵坐标作为sin(35.5)的值。更具体地讲,对于求正弦值,假设输入的值为x,真值表为table,转换步骤如下:[0128]a)把输入值转换到[0360]范围内:[0129]y1=|x|mod360[0130]b)利用诱导公式,转换到[090]范围内:[0131][0132]c)利用插值法得到正弦结果:[0133]z0=table[floor(y2)][0134]z1=table[ceil(y2)][0135][0136]其中,floor与ceil分别表示向下取整与向上取整,y1、y2、z0和z1为中间变量。[0137]对于求余弦,假设输入的值为x,利用诱导公式:cos(x)=sin(90 x),令x=x 90,然后用上述求正弦的方法求得余弦值。[0138]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。[0139]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献