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

基于虚拟环境模仿重构和强化学习的无人机飞行控制方法与流程

2021-10-09 15:23:00 来源:中国专利 TAG:无人机 飞行 控制 方法 模仿


1.本发明涉及一种无人机飞行控制的实现方法,尤其涉及一种基于虚拟环境模仿重构和强化学习的无人机飞行控制方法。


背景技术:

2.无人机的飞行环境具有多样、复杂、快速变化的特点,实现自主飞行控制一直是技术攻关的重点。传统无人机自主飞行控制方法依赖专家经验和环境预判,或者通过编写规则来控制无人机的飞行姿态。但这一方法主要有两个局限,一方面,这对领域专家专业水平有非常高要求;而且穷尽现实飞行中的所有情况需要耗费大量的时间和精力。另一方面,由于空中飞行往往会遇到许多意外情况,在气象,机动性能等指标变化比较大的情形下,靠人工预编程的方法难以全面地覆盖无人机飞行的态势空间,更难以计算产生最优的动作决策。一旦出现未覆盖的极端情况,损失巨大。
3.强化学习基于马尔科夫决策过程,通过计算当前状态下执行动作后的累计回报期望值的大小来判断动作选择的合理性。通过强化学习产生的“状态

动作”映射考虑了动作的长期影响,能够获得很好的长期收益,且不需要专家接入便能实现自主学习,同时对未知环境有较强的泛化能力和自学习能力。然而,强化学习是一种采用“试错”的方法与环境交互的学习方法,同时由于强化学习的采样效率不高,会在真实环境中产生较高的试错成本。而对于无人机飞行环境而言,试错往往意味着较大的资产损失。
4.通过建立仿真模型

训练强化学习策略

迁移到真实环境的学习过程,可以有效避免强化学习路线存在的试错问题。对于模拟器的建立,目前主流的方法有两类,一类仍是基于专家知识,构建基于规则的模拟器。这一方法仍然需要大量专家知识,无法避免前述专家规则控制法的诸多弊端;另一类方法则采用模仿学习(imitation learning)方法,通过历史飞行记录数据,自主学习模拟器,从而实现无需专家的学习,且能对绝大多数飞行场景数据进行覆盖,并具有边应用边优化的能力。但这样的方法在收敛性能方面存在瓶颈,难以根据真实数据训练得到较好模型。
5.因此,基于上述分析,针对复杂多变环境下的飞行控制,需要建立一种无需专家介入,避免试错成本,训练高效稳定的方法。


技术实现要素:

6.发明目的:针对现有技术中存在的无人机自主飞行控制问题,以及利用专家规则控制成本过高,且无法处理多变和未知的飞行环境的情况,本发明提供一种基于虚拟环境模仿重构和强化学习的无人机飞行控制方法。
7.技术方案:一种基于虚拟环境模仿重构和强化学习的无人机飞行控制方法,利用在真实飞行环境中采集到的状态转移历史轨迹数据,利用gail bc算法构建基于模仿学习的虚拟环境;在虚拟环境中利用强化学习算法训练无人机飞行策略;将策略迁移到真实环境中。包含以下步骤:
8.步骤1:将无人机在飞行过程中自身的飞行状态变化,和与环境状态的变化交互抽象为马尔可夫决策过程(mdp),用五元组<s,a,p,r,γ>表示,其中s为状态空间,a为动作空间,p为状态转移概率,r为从环境得到的单步奖赏,γ为累计奖赏的折扣因子。
9.步骤2:构建和初始化强化学习ppo算法的模型、模拟器环境的状态转移模型f。其中f为“当前状态

当前动作”对到下一状态的映射。
10.步骤3:收集现实环境中无人机的飞行数据,提取所有的三元组(s,a,s

),其中s为当前状态,a为当前动作,s

为下一状态,得到用于训练现实的环境的状态转移模型的数据集d
rea1
={(s1,a1,s2),(s2,a2,s3),...,(s
n
‑1,a
n
‑1,s
n
)}。
11.步骤4:根据步骤3得到的数据,构建bc(behavior cloning)算法虚拟环境训练损失函数。对于bc算法,以“当前状态

当前动作”对作为特征(feature),下一状态作为标签(label),进行回归学习,训练现实环境的状态转移模型f。通过最小化损失函数训练:
[0012][0013]
其中f
α
代表当神经网络参数设置为α时的状态转移模型。
[0014]
因此,对于bc算法,需要将轨迹数据d
real
中的s
n
,a
n
联合作为输入,s
n 1
作为标签,计算损失函数进行训练。
[0015]
步骤5:根据步骤3得到的数据,构建gail(generative adversarial imitation learning)算法虚拟环境训练损失函数。对于gail算法,通过将需要学习的状态转移模型作为生成对抗网络(gan)中的生成器,这一生成器以“当前状态

当前动作”对作为状态(state,s),下一状态作为动作(action,a),然后训练一个判别器(discriminator,dis)通过区分真实历史数与生成数据的差异程度作为策略网络的奖赏函数,以此来引导策略网络的优化,不断地重复上述对抗训练过程,直到最终得到收敛的转移模型和更好的奖赏函数,具体的优化目标为:
[0016][0017]
其中log底数为e,即自然对数,本说明书中若未特别注明,所有对数均为自然对数。π为当前生成器策略,π
e
为专家策略,dis(s,a)为判别器输出,即对(s,a)这一动作对的专家相似性判别结果,h(π)为策略训练的正则化约束项,防止出现过度训练或梯度下降,λ为可调节比例参数。
[0018]
这一优化目标的目的在于得到一个平衡点,在这一平衡点上,生成器已经能够完全生成与专家一致的样本,判别器无法区分专家样本和生成样本的区别。此时的生成器便是模仿学习训练的目标。
[0019]
因此,gail的训练过程就是策略与奖赏函数分别代表的生成器与判别器的对抗博弈训练:
[0020][0021]
步骤6:将步骤4,5中的两种训练方法结合起来,具体的结合方法为使用同一神经网络同时作为bc算法的预测网络,也作为gail算法的生成器网络,交替使用bc算法的损失函数j
transition
(a)和gail算法的损失函数l
gail
(π,dis),对这一神经网络进行训练,直至神经网络收敛,便能得到虚拟环境网络。
[0022]
步骤7:基于步骤6建立的虚拟环境,在虚拟环境中通过强化学习训练无人机自主飞行控制agent策略网络。具体而言,将虚拟环境作为强化学习agent交互的环境,agent通过发出动作不断与环境交互,获得下一状态和奖励函数,将这些转移过程(下一状态)和奖励函数输入到ppo算法模型中,基于ppo算法更新策略神经网络。ppo算法是基于策略梯度和价值函数的算法,通过最小化下述损失函数l
t
(θ)来更新网络:
[0023][0024]
其中θ为策略网络(即强化学习agent策略来源)参数,r
t
为t时刻的强化学习奖励函数,clip操作为可调参数,将函数值限制在了(1

∈,1 ∈)范围内,防止出现偏移,为优势函数,定义了当前更新和之前更新的策略进步值:
[0025][0026]
其中λ为可调节比例参数,δ
t
为t时刻的优势值,具体为:
[0027]
δ
t
=r
t
γv(s
t 1
)

v(s
t
)
[0028]
v为值函数,即每一个状态动作对,所对应的潜在价值。γ为可调节比例参数。在具体训练中,首先根据转移过程数据和奖励函数数据库抽样一批数据,之后计算值函数和优势函数,最后计算损失函数更新agent策略网络。
[0029]
重复上述步骤3~7,直到agent策略网络收敛或者达到最大迭代次数为止。最终得到的飞行策略模型,将飞行策略模型应用在现实无人机中,观测其效果。
[0030]
所述步骤6中交替利用gail损失函数和bc损失函数更新虚拟环境状态转移模型,所述gail训练和bc训练的比例按照m:n配置,每使用m次gail损失函数更新网络,加入n次bc损失函数更新。
[0031]
一种基于虚拟环境模仿重构和强化学习的无人机飞行控制系统,其特征在于,包括虚拟环境训练模块和策略训练模块;所述虚拟环境训练模块中,训练模拟器的无人机飞行策略之前,从现实环境无人机的飞行轨迹数据抽取出所有的“当前状态

当前动作

下一状态”三元组,组成轨迹数据集;初始化虚拟环境状态转移模型;根据轨迹数据集,通过gail bc算法结合,对虚拟环境状态转移模型进行交替训练;所述策略训练模块中,将虚拟环境状态转移神经网络封装为强化学习可交互的环境;初始化ppo策略网络;利用基于强化学习的无人机自主飞行控制agent与虚拟环境不断交互,训练自主飞行控制agent策略;虚拟环境训练模块和策略训练模块是交替优化,互相促进的关系,强化学习策略收敛后,在真实环境中可以收集到更多的轨迹数据提供给虚拟环境训练模块,使环境更精准;而更精准的环境又能反过来提升强化学习策略的效果。
[0032]
一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行上述计算机程序时实现如上所述的基于虚拟环境模仿重构和强化学习的无人机飞行控制方法。
[0033]
一种计算机可读存储介质,该计算机可读存储介质存储有执行如上所述的基于虚拟环境模仿重构和强化学习的无人机飞行控制方法的计算机程序。
[0034]
与现有技术相比,本发明具有的益处有:
[0035]
1、本发明使用基于模仿学习的虚拟环境重构算法和深度强化学习策略训练算法,
使无人机能够在复杂多变的环境中,实现有效,稳定的自主飞行控制。
[0036]
2、本发明通过利用历史交互数据构建虚拟环境,并让强化学习agent在虚拟环境中训练的方式,避免了强化学习的高试错成本弊端,同时不再依赖专家知识和人力,并提高了模型对特殊环境状态的适应能力。
[0037]
3、本发明通过gail算法和bc算法两种算法的结合,避免了基于纯模仿学习算法的收敛性问题,也避免了纯bc算法的模型偏移问题,解决了传统的虚拟环境重构算法的应用难题。
附图说明
[0038]
图1是本发明实施例的整体框架图;
[0039]
图2是本发明实施例的训练流程图。
具体实施方式
[0040]
下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本技术所附权利要求所限定的范围。
[0041]
本实施例提供了的基于虚拟环境模仿重构和强化学习的无人机飞行控制方法,首先根据历史飞行器与环境的交互数据,利用gail bc算法构建模拟仿真飞行环境;在模拟环境中,使用ppo强化算法进行飞行策略训练;使用训练得到的飞行策略作为现实无人机的初始飞行策略。
[0042]
图1所示的是基于虚拟环境模仿重构和强化学习的无人机飞行控制系统的整体框架图,主要包含两部分:1、虚拟环境训练模块2、策略训练模块。两者互相促进,迭代训练,交互优化。其中,对于虚拟环境训练模块而言,主要由以下三部分构成:(1)训练模拟器的无人机飞行策略之前,从现实环境无人机的飞行轨迹数据抽取出所有的“当前状态

当前动作

下一状态”三元组,组成轨迹数据集;(2)初始化虚拟环境状态转移模型(3)根据轨迹数据集,通过gail bc算法结合,对虚拟环境状态转移模型进行交替训练。对于策略训练模块而言,主要由以下部分组成:(1)将虚拟环境状态转移神经网络封装为强化学习可交互的环境;(2)初始化ppo策略网络;(3)利用基于强化学习的无人机自主飞行控制agent与虚拟环境不断交互,训练自主飞行控制agent策略。虚拟环境训练模块和策略训练模块是交替优化,互相促进的关系,强化学习策略收敛后,在真实环境中可以收集到更多的轨迹数据提供给虚拟环境训练,使环境更精准;而更精准的环境又能反过来提升强化学习策略的效果。
[0043]
基于虚拟环境模仿重构和强化学习的无人机飞行控制方法的主要算法伪代码如下:
[0044][0045][0046]
初始状态下,神经网络均可以采用随机初始化方式,例如,本实施例中,将虚拟环境状态转移模型,无人机自主飞行控制agent策略网络模型和判别器网络模型设置为三个5层全连接神经网络,全连接神经网络中每个神经元节点的初始值设置为一个0

1之间的随机小数。无人机与真实环境历史交互数据可以为任意的历史飞行数据,在本实施例中选取无人机前100小时的飞行轨迹数据。具体算法步骤如下:
[0047]
步骤201,初始化上述神经网络参数,同时将ppo数据集存储设为空,用于收集虚拟化的交互数据,时间步设为0;
[0048]
步骤202,设置整体方法循环目标为飞行策略达到理想状态,否则继续训练循环(即回到步骤203);
[0049]
步骤203,开始第一部分,即训练虚拟环境状态转移模型,设置虚拟环境训练循环,在本实施例中训练次数n设置为32次,即训练32次虚拟环境后,进入步骤209策略训练;
[0050]
步骤204,从真实环境数据集中采样一组(在本实施例中为128条)轨迹数据;
[0051]
步骤205,根据轨迹数据,虚拟环境状态转移模型和gail算法,计算gail算法的损失函数;
[0052]
步骤206,根据轨迹数据,虚拟环境状态转移模型和bc算法,计算bc算法的损失函数;
[0053]
步骤207,交替利用gail损失函数和bc损失函数更新虚拟环境状态转移模型,在本实施例中,gail训练和bc训练的比例按照3∶1配置,即每使用三次gail损失函数更新网络,加入一次bc损失函数更新;
[0054]
步骤208,虚拟环境训练n次后,开始第二部分训练,即训练无人机自主飞行控制agent策略网络,进入步骤209;
[0055]
步骤209,从真实环境历史交互数据中选择一条轨迹的状态

动作交互记录中最开始的状态作为启动状态;
[0056]
步骤210,利用初始化的ppo策略网络,在虚拟环境状态转移模型(即步骤207训练得到的模型)中进行交互,即将策略放入虚拟环境中不断运行获取状态

动作转移轨迹数据,将得到的轨迹数据存入ppo数据集中;
[0057]
步骤211,从ppo数据集中采样一组(在本实施例中为128条)轨迹转移数据;
[0058]
步骤212,计算ppo算法值函数和优势函数;
[0059]
步骤213,计算ppo损失函数,更新策略网络,直至收敛;
[0060]
步骤214,利用训练好的策略,在真实环境中执行策略,获得新的真实环境交互数据,存入真实环境数据集中;
[0061]
步骤215,跳转至步骤203,直到飞行策略达到理想效果;
[0062]
步骤216,过程结束。
[0063]
图2所示的是方法整体训练流程架构图,训练流程描述如下:
[0064]
步骤301,收集历史数据,整理为数据轨迹,初始化状态转移网络,开始虚拟环境状态转移模型的更新;
[0065]
步骤302,初始化bc模仿学习算法,构建loss函数;
[0066]
步骤303,初始化gail模仿学习算法,构建loss函数;
[0067]
步骤304,根据轨迹数据,结合gail bc算法的两种损失函数,交替训练虚拟环境网络,直至收敛;
[0068]
步骤305,初始化策略网络,在虚拟环境中进行策略交互,获取轨迹数据;
[0069]
步骤306,基于ppo算法更新策略神经网络(actor)和价值神经网络(critic),直至策略收敛;
[0070]
步骤308,过程结束,最终得到的策略作为的现实无人机的初始飞行策略。
[0071]
显然,本领域的技术人员应该明白,上述的本发明实施例的基于虚拟环境模仿重构和强化学习的无人机飞行控制方法各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实
现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
[0072]
综上所述,基于虚拟环境模仿重构和强化学习的无人机飞行控制方法可以应用于农业现代化、航空拍摄、军事国防等诸多领域,例如,在农业现代化领域,可以利用自主飞行无人机对大规模作物种植区域或家畜养殖区域进行全方位空中监控,可以显著降低人力城本,对农业种植区如山间的瞬间天气变化也有更强的适应能力,这样农业劳动者便可以以相对较低的城本,随时掌握农作物或家畜的生长环境,确保农作物和家畜的健康成长。由于无人机自主飞行控制具有无需专家成本、恶劣环境适应性强、迭代优化越用越聪明等特点,同时结合无人机自身全天候全地形环境空中飞行的优势,使得本技术具有很高的推广价值。
[0073]
本发明提供了一种无人机自主飞行控制的实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜