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

文档序号:14448100阅读:1048来源:国知局
一种Q学习的无人机集群智能地理路由方法与流程

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



背景技术:

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

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

无人机自组网是网络拓扑结构迅速变化的网络,网络内部成员以较高的速率运动导致网络拓扑结构的迅速改变,从而使传统的主动路由和按需路由协议不能适用于无人机自组网。人们相继提出了以地理位置信息为决策依据的路由协议,如贪婪周边无状态路由协议(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、学习速率αt(αt<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、的学习速率αt(αt<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 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1