一种Q学习的无人机集群智能地理路由方法与流程

文档序号:14448100
一种Q学习的无人机集群智能地理路由方法与流程

本发明属于无人机集群组网领域,尤其涉及一种Q学习的无人机集群智能地理路由方法。



背景技术:

无人机(UAV)具有多用途、灵活性强和低成本等优势,所以在军用、民用领域受到广泛关注。多无人机协同应用比单无人机具备可生存性更强、扩展性更高等优势,但同时也带来多无人机间的协同通信较为的实际问题。因此,需要设计适应未来发展需求的多无人机通信网络。作为无人机集群化、网络化、智能化的重要发展方向,无人机自组网是新兴的无人机集群应用模式。

无人机自组网采用动态网络完成机群内部成员的互相联通,具有自我智能组织、自动愈合以及高性能低延时的组网优点,适用于无人机集群在特殊场景下的需要。无人机集群内部每个成员都具备路由和转发能力,成员间均可互相传送各类数据,构成一个可自动连接的移动Ad hoc网络。

无人机自组网是网络拓扑结构迅速变化的网络,网络内部成员以较高的速率运动导致网络拓扑结构的迅速改变,从而使传统的主动路由和按需路由协议不能适用于无人机自组网。人们相继提出了以地理位置信息为决策依据的路由协议,如贪婪周边无状态路由协议(GPSR),其性能高于主动和按需路由,在节点密度较大的无人机组网中具有良好的性能。

一般基于位置的路由协议是以最大化分组传输距离为目标,缺乏对网络动态时变行为的理解,选择转发节点时未考虑到链路状态或位置误差等因素的影响,其所产生的干扰/阻碍导致频繁重传。为了支持UAV快速、可靠传输,结合Q学习在复杂、未知网络环境下能自主学习到性能良好动作策略的优势,本发明提出一种Q学习的无人机集群智能地理路由方法。



技术实现要素:

本发明提供一种Q学习的无人机集群智能地理路由方法,利用Q学习算法不断与周围环境交换信息能获得最优解的优势,把自主学习任务分配给每个网络节点,各个节点通过周期地与邻居节点交换信息,动态调整奖赏函数值来寻找到最优路由路径,有效的解决了UAV集群网络中由于拓扑变化带来的路径不可靠的问题。

本发明一种的Q学习的无人机集群智能地理路由方法,实现步骤如下:

步骤(1):UAV集群网络内每个节点设置初始时间t0=0,Q值函数Q(si,ai)=0,其中si为每个节点i下一跳所选择的邻居节点,ai为根据该状态执行路由选择的动作,它们构成状态—动作集{si,ai}。

步骤(2):更新时间t=t0+1。

步骤(3):UAV节点利用GPS估计出当前位置,并对Hello消息中的节点位置信息进行更新。

步骤(4):UAV节点通过信标机制将自身标识ID和地理位置信息以广播的形式发送,使得网内各成员可获取下一跳邻居节点及目的节点的地址信息。

步骤(5):UAV网内各节点估计出与邻居节点之间传输链路的误分组率PER,作为评价链路质量的指标。

步骤(6):利用误分组率等计算UAV相邻节点之间分组传输时间T。

步骤(7):利用分组传输时间计算UAV相邻节点之间有效分组转发速率Reff

步骤(8):利用有效分组转发速率计算Q学习算法中的奖赏函数r(st,at)。

步骤(9):UAV网络节点根据t时刻执行动作at获得的奖赏函数值r、学习速率αtt<1)、折扣因子γ(γ<1)来更新Q表中Q值。

步骤(10):重复步骤(2)至步骤(9),直到Q表中Q值接近于收敛状态,即达到稳定状态。

步骤(11):从发送节点到目的节点的路径中,找出具有最大Q值的节点所组成的路径即为最佳路径,从而完成路由建立过程。

步骤(12):UAV节点间通过周期性的交换Hello消息数据来更新Q表的值、节点位置信息、链路质量等,完成路由维护过程。

有益效果

提出的Q学习智能地理路由技术,同时考虑到链路质量状态和传输距离对分组传输的影响,提出了利用有效分组转发速率来计算Q学习算法中的奖赏函数,提高了在高移动环境下路由的鲁棒性。

附图说明

图1为本发明所涉及方法的流程图;

图2为Q学习后的网络拓扑。

具体实施方式

下面结合附图和实施步骤对本发明做进一步说明。

如图1所示,本发明提供一种Q学习的无人机集群智能地理路由方法,包括以下步骤:

步骤(1):UAV集群网络内每个节点设置初始时间t=0,Q值函数Q(si,ai)=0,其中si为每个节点i下一跳所选择的邻居节点,ai为根据该状态执行路由选择的动作,它们构成状态—动作集{si,ai}。

步骤(2):更新时间t=t+1。

步骤(3):UAV节点利用所安装的GPS报告当前位置,并对Hello消息中的节点位置信息进行更新。

步骤(4):UAV节点通过信标机制将自身标识ID和地址位置信息以广播的形式发送,使得网内各成员可获取一跳邻节点及目的节点的地址信息。

步骤(5):UAV网内各节点估计出与邻居节点之间传输链路的误分组率PER,作为评价链路质量的指标。

误分组率的计算公式为其中Ne为接收的错误分组数,NT发送的总分组数。

步骤(6):计算UAV相邻节点之间分组传输时间T。

UAV节点i和邻居节点j之间的传输时间计算公式为:其中Ovh为信道接入开销,L为分组长度,R是数据传输速率。

步骤(7):计算UAV相邻节点之间有效分组转发速率Reff

UAV节点i和邻居节点j之间的有效分组转发速率的计算公式为:其中dij为节点i、j到目的节点的距离之差。

步骤(8):计算Q值更新算法中的奖赏函数r(st,at)。

若当前节点的下一跳节点为目的节点时,最大奖赏设定为Rmax=Reff/(1-PER),否则设定奖赏为Reff,即

步骤(9):UAV网络节点根据t时刻执行动作at获得的奖赏函数值r、的学习速率αtt<1)、折扣因子γ(γ<1)来更新Q值。更新Q值的计算公式为

Q(st,at)←Q(st,at)+αt(r(st,at)+γmaxQ-Q(st,at))

Q学习算法中,折扣因子代表未来Q值期望和状态转移的稳定性,高折扣因子表明未来状态转移稳定。一般Q学习算法中折扣因子为常数,本发明的目的是选择高概率连接到邻居节点的可靠链路。为了反映动态移动环境,根据距离和相邻节点移动方式选择动态折扣因子,若相邻节点距离E[dij]在下一个HELLO时间间隔内小于该节点的通信dcomm时,设定折扣因子γ=0.6,否则减小折扣因子。

步骤(10):重复步骤(2)至步骤(9),直到Q表接近于收敛状态。然后根据不同邻居—目的节点之间Q值建立Q表。

Q表是一个二维表,其大小由邻居节点以及目的节点的数量来决定。其中第一行代表所有可能到达的目的节点ID,在这里用Di表示。第一列表示与其相邻的一跳邻居节点ID,在这里用Ni表示。Q表中Q(Di,Ni)表示本节点到达目的节点Di时与邻居节点Ni之间的Q值。节点间通过周期性的交换信标数据包来更新Q表的值,若某一目的节点不可达,则删除对应的表项。

步骤(11):若经过Q学习后,网络拓扑的Q值如图2,即从发送节点A到目的节点F的路径中,找出具有最大Q值的节点所组成的路径即为最佳路径,即A→C→E→F,从而完成路由建立过程。

步骤(12):UAV节点间通过周期性的交换Hello消息数据来更新Q表的值、节点位置信息、链路质量等,完成路由维护过程。

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