肿瘤康复网,内容丰富有趣,生活中的好帮手!
肿瘤康复网 > 一种基于深度强化学习的四旋翼无人机航线跟随控制方法与流程

一种基于深度强化学习的四旋翼无人机航线跟随控制方法与流程

时间:2018-11-02 06:11:54

相关推荐

本发明属于智能控制领域,尤其涉及一种无人机航线跟随控制方法。

背景技术:

近年来,随着四旋翼无人机在工业巡检、抢险救灾、生活辅助等诸多领域的大放异彩,其逐渐成为军事航空学术研究中新的前沿和热点。针对无人机完成高空航线跟随、目标跟踪等人类无法到达现场操作的任务场景,保证无人机飞行的自主性和可控性是一项最基本且重要的功能要求,是实现各项复杂作业任务的前提。由于诸多原因,无人机自主决策与控制在智能控制领域仍然面临巨大的挑战。其一,无人机飞行控制输入输出量繁多,其运动学和动力学模型复杂,具有高度非线性、强耦合和时变等特点;其二,受诸多不可控因素影响,无人机在高空飞行时,无法对内外部不确定因素的改变做出合理反应;其三,无人机作为一种欠驱动系统,高精度、高质量完成飞行任务较为困难。因此,如何实现无人机执行任务的自主决策,成为无人机在军事应用领域得到更加广泛应用的关键问题。

现有技术中无人机智能控制方法有很多。公开专利cn109544597a提出一种基于视觉的四旋翼无人机目标跟踪方法,通过无人机拍摄获取跟踪目标的图像,通过深度神经网络对其进行特征提取,进而控制无人机飞行轨迹实现目标跟踪。该发明使用基于视觉的方法,自适应能力较弱,在视觉装置无法正常使用时,无法对未知环境做出判断进而做出正确决策。公开专利cn109933086a提出一种基于深度q学习的无人机环境感知与自主避障方法,将深度强化学习运用于无人机自主决策之中,实现无人机在未知环境的感知与决策。然而,该方法对四旋翼无人机模型进行了解耦或线性化处理,很难满足四旋翼无人机在特定应用场景下的高精度控制。

技术实现要素:

为了克服现有技术的不足,本发明提出了一种基于深度强化学习的四旋翼无人机航线跟随控制方法,该方法首先建立了四旋翼无人机航线跟随深度强化学习算法的马尔可夫模型,然后采用深度确定性策略梯度(ddpg)算法进行深度强化学习,克服以往基于强化学习的方法控制精度较低、无法实现连续控制和学习过程不稳定等问题,实现高精度的四旋翼无人机航线跟随控制。通过四旋翼无人机与环境的交互,采用离线学习对神经网络进行训练,并结合四旋翼无人机飞行特性和姿态控制要求,设计环境空间、状态空间、动作空间和奖惩机制,提高深度强化学习模型的泛化能力,最终实现四旋翼无人机完成状态输入-神经网络分析-动作输出工作,从而执行飞行动作完成航线跟随任务。

为达到上述目的,本发明提供的一种基于深度强化学习的四旋翼无人机航线跟随控制方法,包括以下步骤:

步骤1:采用如下步骤定义四旋翼无人机航线跟随深度强化学习算法的马尔可夫模型:

对马尔科夫决策过程mdp的五元组(s,a,p,r,γ)进行建模,其中s为四旋翼无人机的输入状态,a为四旋翼无人机的输出动作集,p为状态转移概率函数,r为奖励函数,γ为折扣系数;

步骤1-1:确定四旋翼无人机的输入状态s:

建立机体坐标系cb和惯性坐标系ci,定义φ、θ、ψ分别表示机体坐标系下四旋翼无人机的滚动角、俯仰角和偏航角;

四旋翼无人机每个旋翼电机产生的升力fj=ctωj2,其中j=1,2,3,4,ct为推力系数,ωj为第j个旋翼电机转速,机体坐标系下无人机受到的总升力为fz=f1+f2+f3+f4;

在惯性坐标系中,用rx、ry、rz表示无人机在x、y、z轴的位置量,vx、vy、vz表示无人机在x、y、z轴的速度量,设定z轴向上为正方向,计算从机体坐标系cb到惯性坐标系ci的转换矩阵λ:

计算无人在惯性坐标系下受到的升力f=λfz,进而推出:

其中m表示四旋翼无人机质量,g表示重力加速度,表示惯性坐标系下四旋翼无人机在x、y、z轴的线加速度,进而得到:

其中ω1、ω2、ω3、ω4分别表示四旋翼无人机4个旋翼电机的转速;

在欧拉方程中,τb为四旋翼无人机电机产生的旋转扭矩矩阵,j为惯性矩阵,ωb为角速度矩阵,为角加速度矩阵,欧拉方程可转化为:

其中jxx、jyy、jzz表示惯性矩阵在x、y、z轴上的分量,d表示无人机力臂长度,从而计算出机体坐标系下的无人机滚动角、俯仰角、偏航角角速度和角速度变化率

计算惯性坐标系中四旋翼无人机沿x、y、z轴运动的角速度ωx、ωy、ωz:

则四旋翼无人机的输入状态为:

s=[φθψrxryrzvxvyvzωxωyωz]

步骤1-2:定义四旋翼无人机的输出动作集a为:

a=[0,ωmax]

a表示四旋翼无人机在接受到外界反馈值之后,针对自身状态值,所能采取的所有动作的集合,其中,ωmax表示四旋翼无人机旋翼电机最大转速;四旋翼无人机的四个旋翼电机转速在a范围内改变;

步骤1-3:定义四旋翼无人机由当前时刻输入状态s且采取动作量为a的条件下,能够到达下一输入状态s′的概率为状态转移概率函数p;

步骤1-4:设定当前航线起点为c(rxc,ryc,rzc),航线终点为d(rxd,ryd,rzd),四旋翼无人机当前位置为u(rx,ry,rz),则四旋翼无人机到当前航线终点d的距离d1为:

找到航线上一点e(rxe,rye,rze)使ue⊥cd,则联立直线方程求出e(rxe,rye,rze),得到无人机到航线距离d2为:

定义奖励函数r,表示无人机在当前输入状态下,选择某动作后,得到的瞬时反馈,公式如下:

r=-(αd1+βd2)+λnδt

其中α为第一增益参数,β为第二增益参数,λ为第三增益参数,n为无人机运动步数,δt为无人机单步运动时间;

步骤1-5:定义折扣系数0<γ<1,用于计算整个过程中的回报累计值,折扣系数越大,表示越注重长期收益;

步骤2:根据步骤1建模出的马尔科夫决策过程五元组(s,a,p,r,γ),使用深度确定性策略梯度(ddpg)算法实现四旋翼无人机的航线跟随控制,步骤如下:

步骤2-1:采用两种独立的神经网络-actor网络和critic网络,并随机初始化critic网络的网络状态-行为值函数q(s,a|θq)和actor网络的策略函数μ(s,a|θμ),将critic网络和actor网络的权重复制到各自网络的目标网络参数,即θq→θq′,θμ→θμ′,其中θq、θμ分别表示critic网络参数和actor网络参数,θq′、θμ′分别表示critic目标网络参数和actor目标网络参数;

步骤2-2:设置单个回合内最大动作步数k,最大训练回合数e,经验池最大容量值c,初始化训练回合数e=1;

步骤2-3:初始化动作步数k=0,时间t=0,初始化四旋翼无人机的输入状态为:

s0=[000000000000];

步骤2-4:在当前输入状态下选取动作at=μ(st|θμ)+m,at指t时刻下执行的动作,μ为动作策略函数,st为t时刻的输入状态,m为噪声;

步骤2-5:在输入状态st下,执行动作at,计算无人机到当前航线终点d的距离d1和无人机到航线距离d2,从而计算出当前奖励函数值rt,利用步骤1-1的方法重新得到下一输入状态st′,然后将经验条(st,at,rt,st′)保存于经验池之中,新保存的经验条存储在经验池中第一个位置,经验池中原有的经验条依次后移一位;

步骤2-6:如果经验池中的经验条数量达到经验池最大容量值c,则新保存的经验条存储在经验池中第一个位置,经验池中原有的经验条依次后移一位,删除最后一个经验条;同时从经验池中随机提取部分样本进行训练,训练过程表示为:

yt=rt+γq′(st′,μ′(st′|θμ′)|θq′)

其中yt代表目标网络,θμ′、θq′表示actor、critic目标网络参数,μ′表示对st′进行分析得到的策略,q′表示在st′时采取μ′策略得到的状态-行为值;

步骤2-7:计算最小损失函数:

l表示loss损失函数,n表示从经验池中抽取的样本数量;

步骤2-8:根据actor网络、critic网络参数更新策略梯度:

表示在actor网络参数θμ下的策略梯度,分别表示critic网络状态-行为值函数梯度和actor网络策略函数梯度,μ(st)表示在actor网络输入状态st时选取的动作策略,分别表示输入状态st时采取动作a=μ(st)的critic网络状态-行为值函数和输入状态st下的actor网络策略函数;

步骤2-9:分别复制actor目标网络参数和critic目标网络参数,即利用当前的网络参数,对actor目标网络和critic目标网络进行更新:

actor目标网络更新:

critic目标网络更新:

τ表示更新比例系数;

步骤3:采用如下步骤对模型进行训练:

步骤3-1:令动作步数k加1,并对k进行判定:若k<k,则执行t=t+δt并跳转至步骤2-4,否则当k≥k进入步骤3-2;

步骤3-2:令训练回合数e加1,并对e进行判定:若e<e,则跳转至步骤2-3,否则当e≥e进入步骤3-3;

步骤3-3:迭代完成,终止神经网络训练过程,并保存当前actor目标网络数据和critic目标网络数据;将保存好的数据加载至四旋翼无人机系统之中,从而执行飞行动作完成航线跟随任务。

本发明的有益效果是:

(1)本发明方法建立的四旋翼无人机运动学和动力学模型完整,通过无人机在飞行过程中的采样数据,自主学习使得控制目标达到最优的目标策略。该过程中的环境较为真实,有很高的实际应用价值。

(2)本发明方法使用的深度确定性策略梯度(ddpg)算法,有效的解决了无人机连续性控制问题,使得无人机在飞行时姿态、速度更为稳定。

(3)本发明方法将强化学习与深度神经网络相结合,提高了模型的学习能力和泛化能力,避免了在不确定性环境中人为操作无人机飞行的繁琐性和粗疏性,使得无人机完成航线跟随任务更为安全高效,同时在无人机目标跟踪、自主避障等场景中有很好的应用前景。

附图说明

图1为基于ddpg的无人机航线跟随算法总体框架图。

图2为四旋翼无人机执行航线跟随任务飞行示意图。

图3为基于ddpg的无人机航线跟随算法流程图。

图4为四旋翼无人机训练效果图。

图5为四旋翼无人机完成航线跟随任务轨迹展示图。

图中:cn-第n条航线起点,dn-第n条航线终点,u-无人机中心位置,d1-无人机到航线终点距离,d2-无人机到航线偏差距离。

具体实施方式

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

本发明提供的一种基于深度强化学习的四旋翼无人机航线跟随控制方法,包括以下步骤:

步骤1:采用如下步骤定义四旋翼无人机航线跟随深度强化学习算法的马尔可夫模型:

对马尔科夫决策过程mdp的五元组(s,a,p,r,γ)进行建模,其中s为四旋翼无人机的输入状态,a为四旋翼无人机的输出动作集,p为状态转移概率函数,r为奖励函数,γ为折扣系数;

步骤1-1:确定四旋翼无人机的输入状态s:

建立机体坐标系cb和惯性坐标系ci,定义φ、θ、ψ分别表示机体坐标系下四旋翼无人机的滚动角、俯仰角和偏航角;

四旋翼无人机每个旋翼电机产生的升力fj=ctωj2,其中j=1,2,3,4,ct为推力系数,ωj为第j个旋翼电机转速,机体坐标系下无人机受到的总升力为fz=f1+f2+f3+f4;

在惯性坐标系中,用rx、ry、rz表示无人机在x、y、z轴的位置量,vx、vy、vz表示无人机在x、y、z轴的速度量,设定z轴向上为正方向,计算从机体坐标系cb到惯性坐标系ci的转换矩阵a:

计算无人在惯性坐标系下受到的升力f=λfz,进而推出:

其中m表示四旋翼无人机质量,g表示重力加速度,表示惯性坐标系下四旋翼无人机在x、y、z轴的线加速度,进而得到:

其中ω1、ω2、ω3、ω4分别表示四旋翼无人机4个旋翼电机的转速;

在欧拉方程中,τb为四旋翼无人机电机产生的旋转扭矩矩阵,j为惯性矩阵,ωb为角速度矩阵,为角加速度矩阵,欧拉方程可转化为:

其中jxx、jyy、jzz表示惯性矩阵在x、y、z轴上的分量,d表示无人机力臂长度,从而计算出机体坐标系下的无人机滚动角、俯仰角、偏航角角速度和角速度变化率

计算惯性坐标系中四旋翼无人机沿x、y、z轴运动的角速度ωx、ωy、ωz:

则四旋翼无人机的输入状态为:

s=[φθψrxryrzvxvyvzωxωyωz]

步骤1-2:定义四旋翼无人机的输出动作集a为:

a=[0,ωmax]

a表示四旋翼无人机在接受到外界反馈值之后,针对自身状态值,所能采取的所有动作的集合,其中,ωmax表示四旋翼无人机旋翼电机最大转速;四旋翼无人机的四个旋翼电机转速在a范围内改变;

步骤1-3:定义四旋翼无人机由当前时刻输入状态s且采取动作量为a的条件下,能够到达下一输入状态s′的概率为状态转移概率函数p;

步骤1-4:设定当前航线起点为c(rxc,ryc,rzc),航线终点为d(rxd,ryd,rzd),四旋翼无人机当前位置为u(rx,ry,rz),则四旋翼无人机到当前航线终点d的距离d1为:

找到航线上一点e(rxe,rye,rze)使ue⊥cd,则联立直线方程求出e(rxe,rye,rze),得到无人机到航线距离d2为:

定义奖励函数r,表示无人机在当前输入状态下,选择某动作后,得到的瞬时反馈,公式如下:

r=-(αd1+βd2)+λnδt

其中α为第一增益参数,β为第二增益参数,λ为第三增益参数,n为无人机运动步数,δt为无人机单步运动时间;

步骤1-5:定义折扣系数0<γ<1,用于计算整个过程中的回报累计值,折扣系数越大,表示越注重长期收益;

步骤2:根据步骤1建模出的马尔科夫决策过程五元组(s,a,p,r,γ),使用深度确定性策略梯度(ddpg)算法实现四旋翼无人机的航线跟随控制,步骤如下:

步骤2-1:采用两种独立的神经网络-actor网络和critic网络,并随机初始化critic网络的网络状态-行为值函数q(s,a|θq)和actor网络的策略函数μ(s,a|θμ),将critic网络和actor网络的权重复制到各自网络的目标网络参数,即θq→θq′,θμ→θμ′,其中θq、θμ分别表示critic网络参数和actor网络参数,θq′、θμ′分别表示critic目标网络参数和actor目标网络参数;

步骤2-2:设置单个回合内最大动作步数k,最大训练回合数e,经验池最大容量值c,初始化训练回合数e=1;

步骤2-3:初始化动作步数k=0,时间t=0,初始化四旋翼无人机的输入状态为:

s0=|000000000000];

步骤2-4:在当前输入状态下选取动作at=μ(st|θμ)+m,at指t时刻下执行的动作,μ为动作策略函数,st为t时刻的输入状态,m为噪声;

步骤2-5:在输入状态st下,执行动作at,计算无人机到当前航线终点d的距离d1和无人机到航线距离d2,从而计算出当前奖励函数值rt,利用步骤1-1的方法重新得到下一输入状态st′,然后将经验条(st,at,rt,st′)保存于经验池之中,新保存的经验条存储在经验池中第一个位置,经验池中原有的经验条依次后移一位;

步骤2-6:如果经验池中的经验条数量达到经验池最大容量值c,则新保存的经验条存储在经验池中第一个位置,经验池中原有的经验条依次后移一位,删除最后一个经验条;同时从经验池中随机提取部分样本进行训练,训练过程表示为:

yt=rt+γq′(st′,μ′(st′|θμ′)|θq′)

其中yt代表目标网络,θμ′、θq′表示actor、critic目标网络参数,μ′表示对st′进行分析得到的策略,q′表示在st′时采取μ′策略得到的状态-行为值;

步骤2-7:计算最小损失函数:

l表示loss损失函数,n表示从经验池中抽取的样本数量;

步骤2-8:根据actor网络、critic网络参数更新策略梯度:

表示在actor网络参数θμ下的策略梯度,分别表示critic网络状态-行为值函数梯度和actor网络策略函数梯度,μ(st)表示在actor网络输入状态st时选取的动作策略,分别表示输入状态st时采取动作a=μ(st)的critic网络状态-行为值函数和输入状态st下的actor网络策略函数;

步骤2-9:分别复制actor目标网络参数和critic目标网络参数,即利用当前的网络参数,对actor目标网络和critic目标网络进行更新:

actor目标网络更新:

critic目标网络更新:

τ表示更新比例系数;

步骤3:采用如下步骤对模型进行训练:

步骤3-1:令动作步数k加1,并对k进行判定:若k<k,则执行t=t+δt并跳转至步骤2-4,否则当k≥k进入步骤3-2;

步骤3-2:令训练回合数e加1,并对e进行判定:若e<e,则跳转至步骤2-3,否则当e≥e进入步骤3-3;

步骤3-3:迭代完成,终止神经网络训练过程,并保存当前actor目标网络数据和critic目标网络数据;将保存好的数据加载至四旋翼无人机系统之中,从而执行飞行动作完成航线跟随任务。

实施例:

本实施用例实现了四旋翼无人机完成随机航线跟随的自主飞行。设定无人机质量m=0.62千克,重力加速度g=9.81米/秒2。设定无人机初始为悬停状态,从起始坐标(0,0,0)处飞行执行任务。当无人机完成目标航线跟随到达航线终点后,系统自动刷新出新目标航线,无人机执行航线跟随任务飞行示意图如图2所示。

初始φ、θ、ψ都为0°,由无人机传感器识别导出。为方便神经网络处理,将滚动角、俯仰角和偏航角输入到状态中时,分别做余弦化处理。设置无人机单步运动时间δt=0.05秒,四旋翼无人机推力系数ct=0.00003,力臂长度d=0.23米。

由步骤1-1求解无人机在惯性坐标系下的位置量rx、ry、rz和速度量vx、vy、vz:

其中rx0、ry0、rz0和vx0、vy0、vz0分别表示惯性坐标系下无人机上一时刻在x、y、z轴向的位置量(单位:米)和线速度(单位:米/秒)。

计算无人机运动的角速度。在机体坐标系中,四旋翼无人机电机产生的旋转扭矩矩阵τb为:

其中τx、τy、τz为机体坐标下电机旋转扭矩矩阵在x、y、z轴上的分量,ct为推力系数,d为力臂长度(单位:米)。设定惯性矩阵j=diag[jxxjyyjzz],无人机角速度矩阵角加速度矩阵根据欧拉方程可以计算出:

其中jxx、jyy、jzz表示惯性矩阵在x、y、z轴上的分量,分别表示机体坐标系下无人机的滚动角、俯仰角、偏航角角速度(单位:弧度/秒)和角速度变化率(单位:弧度/秒2)。

计算惯性坐标系下四旋翼无人机沿x、y、z轴运动的角速度ωx、ωy、ωz:

最后,四旋翼无人的输入状态确立为:

s=[φθψrxryrzvxvyvzωxωyωz]

设定电机最大转速为ωmax=319.1567400弧度/秒,无人机悬停时电机转速大小为225.6778900弧度/秒。

定义奖励函数如下:

r=-(100d1+10d2)+5nδt

为使无人机安全、平稳、高效的完成任务,考虑其权重,分别设定奖励函数中的第一增益参数α=100,第二增益参数β=10,第三增益参数λ=5。

本实验中,考虑无人机平稳、持续飞行等因素,设定折扣系数γ=0.90。

构建神经网络结构,actor、critic网络都有三层:输入层,隐藏层,输出层,设置隐藏层神经元数量为150。

设置单位回合内最大动作数量k=300,最大训练回合数e=10000,设置经验池容量大小c=10000。

本发明中设定更新比例系数τ=0.95。

在仿真环境中,将时间状态t加入到无人机的输入状态s之中。设定t=15s为虚拟环境中无人机满电量时的飞行续航时间:当无人机在设定时间t内未完成飞行任务时,无人机能源耗尽,航线跟随任务失败;当完成航线跟随任务或飞行续航时间内未完成航线跟随任务时,回合终止,进入下回合学习。

根据以上设定的各值,按照步骤1-步骤3,得到算法流程如下:初始化神经网络,设置学习率等超参数,对神经网络进行训练。回合起始时,无人机执行动作改变电机转速,得到新的状态,并将每一回合的经验条保存于经验池之中作为学习样本,以此更新神经网络,不断迭代重复。当训练完成时,保存训练好的神经网络参数,应用于无人机智能控制算法网络。至此,四旋翼无人机航线跟随控制训练完成,其跟随算法总体框架图如图1所示,具体流程如图3所示。

基于以上步骤,可实现无人机在复杂飞行场景下,通过提前训练好的ddpg神经网络,进行指定航线跟随,安全到达目的地。

表1为四旋翼无人机航线跟随运动数据(部分)展示。

表1四旋翼无人机模型位置和电机转速数据

无人机训练效果图如图4所示,大约3000回合后,无人机能够实现平均奖励函数的收敛。给无人机动作值赋予噪声m=3,无人机会随机探索未知动作。随着四旋翼无人机不断的训练学习,每一百回合令噪声值乘以0.995进行指数衰减。由于无人机对随机动作进行学习,函数会产生较高的跳变,再不断学习使神经网络重新收敛,直至稳定状态。

四旋翼无人机航线完成航线跟随任务轨迹展示图如图5所示,可看出,无人机在建立的模型中,可以完成指定航线跟随并安全到达终点。结果表明基于深度强化学习的无人机航线跟随算法能够在复杂的飞行场景中完成航线跟随飞行。

技术特征:

1.一种基于深度强化学习的四旋翼无人机航线跟随控制方法,其特征在于,包括以下步骤;

步骤1:采用如下步骤定义四旋翼无人机航线跟随深度强化学习算法的马尔可夫模型:

对马尔科夫决策过程mdp的五元组(s,a,p,r,γ)进行建模,其中s为四旋翼无人机的输入状态,a为四旋翼无人机的输出动作集,p为状态转移概率函数,r为奖励函数,γ为折扣系数;

步骤1-1:确定四旋翼无人机的输入状态s:

建立机体坐标系cb和惯性坐标系ci,定义φ、θ、ψ分别表示机体坐标系下四旋翼无人机的滚动角、俯仰角和偏航角;

四旋翼无人机每个旋翼电机产生的升力fj=ctωj2,其中j=1,2,3,4,ct为推力系数,ωj为第j个旋翼电机转速,机体坐标系下无人机受到的总升力为fz=f1+f2+f3+f4;

在惯性坐标系中,用rx、ry、rz表示无人机在x、y、z轴的位置量,vx、vy、vz表示无人机在x、y、z轴的速度量,设定z轴向上为正方向,计算从机体坐标系cb到惯性坐标系ci的转换矩阵λ:

计算无人在惯性坐标系下受到的升力f=λfz,进而推出:

其中m表示四旋翼无人机质量,g表示重力加速度,表示惯性坐标系下四旋翼无人机在x、y、z轴的线加速度,进而得到:

其中ω1、ω2、ω3、ω4分别表示四旋翼无人机4个旋翼电机的转速;

在欧拉方程中,τb为四旋翼无人机电机产生的旋转扭矩矩阵,j为惯性矩阵,ωb为角速度矩阵,为角加速度矩阵,欧拉方程可转化为:

其中jxx、jyy、jzz表示惯性矩阵在x、y、z轴上的分量,d表示无人机力臂长度,从而计算出机体坐标系下的无人机滚动角、俯仰角、偏航角角速度和角速度变化率

计算惯性坐标系中四旋翼无人机沿x、y、z轴运动的角速度ωx、ωy、ωz:

则四旋翼无人机的输入状态为:

s=[φθψrxryrzvxvyvzωxωyωz]

步骤1-2:定义四旋翼无人机的输出动作集a为:

a=[0,ωmax]

a表示四旋翼无人机在接受到外界反馈值之后,针对自身状态值,所能采取的所有动作的集合,其中,ωmax表示四旋翼无人机旋翼电机最大转速;四旋翼无人机的四个旋翼电机转速在a范围内改变;

步骤1-3:定义四旋翼无人机由当前时刻输入状态s且采取动作量为a的条件下,能够到达下一输入状态s"的概率为状态转移概率函数p;

步骤1-4:设定当前航线起点为c(rxc,ryc,rzc),航线终点为d(rxd,ryd,rzd),四旋翼无人机当前位置为u(rx,ry,rz),则四旋翼无人机到当前航线终点d的距离d1为:

找到航线上一点e(rxe,rye,rze)使ue⊥cd,则联立直线方程求出e(rxe,rye,rze),得到无人机到航线距离d2为:

定义奖励函数r,表示无人机在当前输入状态下,选择某动作后,得到的瞬时反馈,公式如下:

r=-(αd1+βd2)+λnδt

其中α为第一增益参数,β为第二增益参数,λ为第三增益参数,n为无人机运动步数,δt为无人机单步运动时间;

步骤1-5:定义折扣系数0<γ<1,用于计算整个过程中的回报累计值,折扣系数越大,表示越注重长期收益;

步骤2:根据步骤1建模出的马尔科夫决策过程五元组(s,a,p,r,γ),使用深度确定性策略梯度(ddpg)算法实现四旋翼无人机的航线跟随控制,步骤如下:

步骤2-1:采用两种独立的神经网络—actor网络和critic网络,并随机初始化critic网络的网络状态-行为值函数q(s,a|θq)和actor网络的策略函数μ(s,a|θμ),将critic网络和actor网络的权重复制到各自网络的目标网络参数,即θq→θq",θμ→θμ",其中θq、θμ分别表示critic网络参数和actor网络参数,θq"、θμ"分别表示critic目标网络参数和actor目标网络参数;

步骤2-2:设置单个回合内最大动作步数k,最大训练回合数e,经验池最大容量值c,初始化训练回合数e=1;

步骤2-3:初始化动作步数k=0,时间t=0,初始化四旋翼无人机的输入状态为:

s0=[000000000000];

步骤2-4:在当前输入状态下选取动作at=μ(st|θμ)+m,at指t时刻下执行的动作,μ为动作策略函数,st为t时刻的输入状态,m为噪声;

步骤2-5:在输入状态st下,执行动作at,计算无人机到当前航线终点d的距离d1和无人机到航线距离d2,从而计算出当前奖励函数值rt,利用步骤1-1的方法重新得到下一输入状态st",然后将经验条(st,at,rt,st")保存于经验池之中,新保存的经验条存储在经验池中第一个位置,经验池中原有的经验条依次后移一位;

步骤2-6:如果经验池中的经验条数量达到经验池最大容量值c,则新保存的经验条存储在经验池中第一个位置,经验池中原有的经验条依次后移一位,删除最后一个经验条;同时从经验池中随机提取部分样本进行训练,训练过程表示为:

yt=rt+γq"(st",μ"(st"|θμ")|θq")

其中yt代表目标网络,θμ"、θq"表示actor、critic目标网络参数,μ"表示对st"进行分析得到的策略,q"表示在st"时采取μ"策略得到的状态-行为值;

步骤2-7:计算最小损失函数:

l表示loss损失函数,n表示从经验池中抽取的样本数量;

步骤2-8:根据actor网络、critic网络参数更新策略梯度:

表示在actor网络参数θμ下的策略梯度,分别表示critic网络状态-行为值函数梯度和actor网络策略函数梯度,μ(st)表示在actor网络输入状态st时选取的动作策略,分别表示输入状态st时采取动作a=μ(st)的critic网络状态-行为值函数和输入状态st下的actor网络策略函数;

步骤2-9:分别复制actor目标网络参数和critic目标网络参数,即利用当前的网络参数,对actor目标网络和critic目标网络进行更新:

actor目标网络更新:

critic目标网络更新:

τ表示更新比例系数;

步骤3:采用如下步骤对模型进行训练:

步骤3-1:令动作步数k加1,并对k进行判定:若k<k,则执行t=t+δt并跳转至步骤2-4,否则当k≥k进入步骤3-2;

步骤3-2:令训练回合数e加1,并对e进行判定:若e<e,则跳转至步骤2-3,否则当e≥e进入步骤3-3;

步骤3-3:迭代完成,终止神经网络训练过程,并保存当前actor目标网络数据和critic目标网络数据;将保存好的数据加载至四旋翼无人机系统之中,从而执行飞行动作完成航线跟随任务。

技术总结

本发明提出了一种基于深度强化学习的四旋翼无人机航线跟随控制方法,该方法首先建立了四旋翼无人机航线跟随深度强化学习算法的马尔可夫模型,然后采用深度确定性策略梯度(DDPG)算法进行深度强化学习,克服以往基于强化学习的方法控制精度较低、无法实现连续控制和学习过程不稳定等问题,实现高精度的四旋翼无人机航线跟随控制。本发明方法将强化学习与深度神经网络相结合,提高了模型的学习能力和泛化能力,避免了在不确定性环境中人为操作无人机飞行的繁琐性和粗疏性,使得无人机完成航线跟随任务更为安全高效,同时在无人机目标跟踪、自主避障等场景中有很好的应用前景。

技术研发人员:李波;杨志鹏;万开方;高晓光;甘志刚;梁诗阳;越凯强

受保护的技术使用者:西北工业大学

技术研发日:.10.22

技术公布日:.01.10

如果觉得《一种基于深度强化学习的四旋翼无人机航线跟随控制方法与流程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。