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

一种基于卡尔曼DNN模型预测的无人机自组网路由更新方法与流程

2022-11-09 23:00:48 来源:中国专利 TAG:

一种基于卡尔曼dnn模型预测的无人机自组网路由更新方法
技术领域
1.本发明涉及无人机自组网领域的节点位置预测技术与路由更新技术,具体公开了一种基于卡尔曼dnn模型预测的无人机自组网路由更新方法。


背景技术:

2.无人机自组织网络具有灵活动态组网、自愈性与抗攻击强的特点,它将每个无人机作为通信节点,用于各个无人机之间实现各种信息交互,是大规模无人机作战效能的根本保障。在高速移动的无人机场景下,uanet具有链路变化快,时延敏感的特点,导致了uanet拓扑变化频繁,路由信息易丢失。传统的路由协议用于高速运动的无人机自组网时会导致链路中断,将严重影响集群飞行控制与集群编队任务的完成,需要在原有路由协议的基础上设计新的路由协议。
3.目前,国内外对于移动自组织网络的研究主要集中于路由协议的优化,而基于移动自组织网络衍生出的无人机自组织网络与传统的移动自组织网络的不同在于各节点移动速度较高。受制于各无人机节点通信距离的限制,快速移动的无人机节点会严重影响数据包分组到达率、端到端时延等关键性能指标,传统的网络协议无法适用。针对机上述问题,部分学者提出了基于移动预测与链路保持的路由协议,该协议综合考量了节点位置与链路质量来选择下一跳,减缓了节点高速移动带来的不利因素;部分学者对节点已有路径进行贪婪转发,进行偏移的修正,能有效减少控制包开销;部分学者使用了基于卡尔曼滤波的位置预测模型来预测邻居节点的位置;部分学者提出基于机器学习技术提出了节点位置预测算法,此类算法的预测精度相比于比传统的算法有了一定的提升;部分学者提出了改进的周界无状态路由算法,该算法考虑了节点的速度和方向,并根据节点的当前速度计算之后某一时间内节点的位置选择最佳中继节点;部分学者使用了灰度预测-wnn联合预测模型来获得节点移动状态评价因子,并综合该因子设计了一个分簇路由协议。以上研究中,除了传统方法存在预测精度相对较低的问题以外,精度较高的机器学习方法模型复杂度较高,本发明提出的模型兼顾了复杂度与预测精度。


技术实现要素:

4.本发明目的在于针对上述现有技术的不足,提供了一种基于卡尔曼dnn模型预测的无人机自组网路由更新方法,该方法在卡尔曼预测邻居节点位置的基础上,通过深度神经网络模型(dnn)的非线性运算对卡尔曼位置预测的结果进行修正,从而提高邻居信息的准确性,并根据邻居更新的结果计算路由,在提高了邻居信息准确的同时,又能提高数据分组投递率,降低端到端时延。
5.本发明解决其技术问题所采用的技术方案是:一种基于卡尔曼dnn模型预测的无人机自组网路由更新方法,该方法包括如下步骤:
6.步骤1:若无人机节点工作在二维平面,无人机随机部署在该平面内,每个节点首先广播hello包发现邻居;
7.步骤2:当无人机节点收到上述步骤1发出的hello信令后,如果邻居表中没有对应的节点号,节点会该邻居建立邻居表,并根据hello包中的邻居表建立本节点的两跳邻居信息,节点通过卡尔曼dnn预测模型的计算,获得邻居表中每一个邻居节点下一时刻的位置信息;
8.步骤3:根据邻居节点广播的hello包中位置信息更新卡尔曼滤波相关的参数,其他节点在接收到该hello包后更新相关邻居信息与链路质量值pq,并计算本节点与该邻居节点的距离,如果该距离大于某个阈值则在定时时间t后更新邻居表并重新广播重新hello包;
9.步骤4:如果某个节点的邻居一直没有超出通信范围,需要设置一个定时器,当节点在定时时间内都没有邻居节点更新事件发生,则广播一个hello包,其他节点收到该hello包后按照上述方式决定是否更新邻居表与链路质量值pq值;
10.步骤5:根据上述步骤3和步骤4中更新后的邻居信息,计算路由。
11.进一步地,本发明所述步骤2中,卡尔曼dnn预测位置计算公式包括:
12.s(n 1|n 1)=as(n|n) gn[x(n)-acs(n|n)]
ꢀꢀꢀ
(1)
[0013]
其中,s(n 1|n 1)为预测值,a为状态转移矩阵,s(n|n)为系统上一次预测输出,gn为卡尔曼增益,x(n)为观测值,c为观测系数矩阵;
[0014]
设n时刻预测输出误差协方差矩阵为p(n),白噪声过程w(n)与k(n)的协方差矩阵分别为covw和covk,则有:
[0015]
p(n)=au(n)a
t
covwꢀꢀꢀ
(2)
[0016]
u(n)可由卡尔曼增益:
[0017]gn
=p(n)c
t
[cp(n)c
t
covk]-1
ꢀꢀꢀ
(3)
[0018]
表示为:
[0019]
u(n)=[i-cgn]p(n)
ꢀꢀꢀ
(4)
[0020]
dnn每一层的输出h可由w,s,b以及激活函数f表示为:
[0021]
h=f(ws b)
ꢀꢀꢀ
(5)
[0022]
进一步地,本发明所述步骤3中距离d计算公式包括:
[0023][0024]
其中,(x

,y

)为本节点邻居预测的输出,为本节点下一时刻自身位置坐标;
[0025]
定时时长t为:
[0026][0027]
其中,v为节点移动的速度;
[0028]
链路质量pq值的定义为:
[0029][0030]
其中,pq0为当前节点邻居表中对应的邻居节点所记录的pq值,pq1为邻居信令包中存储的pq值,信令包中存储的pq值为该邻居节点内的pq值。
[0031]
有益效果:
[0032]
1、本发明的预测模型由卡尔曼滤波器与dnn组成,通过邻居预测更新路由的策略,针对无人机自组织网络因快速移动导致拓扑变化频繁,路由信息因未能及时根据邻居节点的变化而更新导致链路中断的问题,从而提高了邻居信息的准确性,并且满足了无人机自组网系统端到端时延低、数据分组投递率高的需求,克服了传统预测模型结构预测精度较低,同时也兼顾了模型的复杂度。
[0033]
2、本发明将基于卡尔曼dnn预测路由更新策略应用到传统的无人机自组网路由中,采用预测机制能减小机因节点快递移动导致邻居信息错误的影响,通过更新邻居表计算路由信息,保证了系统端到端时延低的同时也满足了数据分组投递率高的需求。
附图说明
[0034]
图1为本发明的预测模型架构图。
[0035]
图2为本发明的方法流程图。
具体实施方式
[0036]
下面结合说明书附图,对本发明创造作进一步地详细说明。
[0037]
实施例一
[0038]
如图1-2所示,本发明提供了一种基于卡尔曼dnn模型预测的无人机自组网路由更新方法,该方法包括如下步骤:
[0039]
s1:各节点发送hello信令包,建立相关邻居信息的表
[0040]
s1.1:若无人机节点工作在二维平面。各个无人机节点开机后,每个节点首先广播hello信令包发现邻居。hello包中含发送节点的节点号、邻居表、节点的位置与速度信息、链路质量值pq。当无人机节点收到自身一跳邻居的邻居发现信令后,如果邻居表中没有对应的节点号,节点会该邻居建立邻居表,并根据hello包中的邻居表建立本节点的两跳邻居信息。此外节点还会额外建立一个记录各邻居节点位置与速度信息的表ta(x,v
x
,y,vy);如果收到的hello包对应的节点已经存在与本节点的邻居表中,则更新pq值与位置信息。
[0041]
s2:使用卡尔曼dnn模型预测下一时刻邻居节点的位置
[0042]
s2.1:节点通过卡尔曼dnn预测模型,获得邻居表中每一个邻居节点下一时刻的位置信息,并在卡尔曼滤波的更新阶段,根据邻居节点广播的hello包中位置信息更新相关的参数。设d为两个节点的距离,则本节点邻居预测的输出(x

,y

)与本节点下一时刻自身位置坐标通过公式(16):
[0043][0044]
计算与邻居节点的距离。设节点当前的位置为(x,y),如果d小于某个阈值th,则暂时不广播hello包;如果d大于th则判定该一跳邻居在下一时刻失效,节点会启动一个定时器,定时的时长t为:
[0045]
[0046]
其中,v为节点移动的速度。当定时器超时事件发生后,节点删除失效的一跳邻居节点;若d大于2th,同样删除失效的两跳邻居节点。更新完成后,节点需要广播包含新的邻居信息的hello包,其他节点在接收到该hello包后更新相关邻居信息,并重新计算pq值。pq值将作为路由转发的依据。pq值的定义为:
[0047][0048]
除了本节点到本节点的pq初始值设置设为pq_max以外,本节点到其他节点的pq值均设为pq_min。每当节点收到hello包时,pq值会根据式(18)进行更新;如果pq大于等于存储于本节点路由表所对应的信令包源节点的pq值,表示该链路质量更优,使用该pq值替换当前节点一跳邻居表内的pq0。
[0049]
s2.2:如果某个节点的邻居一直没有超出通信范围,该节点将长时间不广播hello包。当一个新的节点移动到本节点的通信范围内,会导致这个新加入的节点长时间收不到自身邻居节点的信令而无法更新该节点的邻居信息。因此需要设置一个定时器,当节点在定时时间timer_update_msg内都没有邻居节点更新事件发生,则广播一个hello包,其他节点收到该hello包后按照上述方式决定是否更新邻居表与链路质量值pq值。
[0050]
实施例二
[0051]
如图1所示,本发明提供了一种基于卡尔曼dnn模型预测的无人机自组网路由更新方法,该方法采用卡尔曼滤波与dnn以级联的方式构成系统预测模型。模型的输入为节点当前的位置与速度信息[x,v
x
,y,vy]
t
。卡尔曼预测输出与dnn输入层sn相连;dnn输出相应的位置修正值[x

,y

]
t
。本发明在gpsr协议的基础上通过基于位置预测的邻居发现方法,以贪婪模式与周边模式完成数据分组的转发,提高了数据分组传输的可靠性。包括:
[0052]
1)当节点存在待发送的数据分组时,判断目的节点是否在本节点的一跳邻居范围内;如果是,将该分组发送至目的节点。否则转到2)。
[0053]
2)首先检查邻居节点是否存在路由空洞问题,若存在,根据一跳与两跳邻居表寻找比该邻居节点到目的节点更近的节点,若没有找到这样的节点,则根据周边转发寻找下一跳。若不存在路由空洞,则按照贪婪模式,结合邻居节点中较大的链路质量值pq值寻找节点的下一跳地址。按照上述方式,若寻找到下一跳地址,转到4);否则,转到3)。
[0054]
3)将该数据分组存入到数据待发送队列中。当存在邻居节点加入到本节点的一跳邻居范围时,转到1)。
[0055]
4)数据分组转发至下一跳,沿用上述转发策略直至数据分组到达目的节点。以上所述仅为本发明的较佳实施方式,本发明并不局限于上述实施方式,在实施过程中可能存在局部微小的结构改动,如果对本发明的各种改动或变型不脱离本发明的精神和范围,且属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变型。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献