首页> 中国专利> 基于模仿学习和强化学习算法的无人机飞行控制方法

基于模仿学习和强化学习算法的无人机飞行控制方法

摘要

本发明公开一种基于模仿学习和强化学习算法的无人机飞行控制方法:创建无人机飞行仿真环境模拟器;定义飞行的基本动作集合;根据飞行基本动作将轨迹数据进行分类;对于每个飞行动作,利用模仿学习学出从飞行基本动作到原始动作的映射网络参数;统计每个基本动作的最小连续行动数量;构建上层的强化学习网络,并将最小连续行动数量作为飞机动作不一致性的惩罚p加入;在模拟器中,获取当前的观测信息和奖励,使用pDQN算法,选取对应飞行基本动作;将飞机自身的状态信息输入到飞行基本行动对应的模仿学习神经网络中,输出模拟器的原始行动;将得到的原始行动输入到模拟器中获取下个时刻的观测和奖励;使用pDQN算法进行训练,直到上层的策略网络收敛。

著录项

  • 公开/公告号CN112162564A

    专利类型发明专利

  • 公开/公告日2021-01-01

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN202011020765.3

  • 申请日2020-09-25

  • 分类号G05D1/08(20060101);G05D1/10(20060101);

  • 代理机构32326 南京乐羽知行专利代理事务所(普通合伙);

  • 代理人李玉平

  • 地址 210023 江苏省南京市栖霞区仙林大道163号

  • 入库时间 2023-06-19 09:24:30

说明书

技术领域

本发明涉及一种在复杂的、快速变化的环境下基于模仿学习和强化学习算法的无人机飞行控制方法,属于无人机控制技术领域。

背景技术

无人机在未知环境中的自主飞行问题一直是无人机自主飞行主要难点之一,传统的无人机飞行主要是采用基于规则的控制方法,先将环境可能带来的影响列举出来,再让相关领域专家去制定飞行规则。但是这方法一般只能在环境较为简单的情况下取得比较理想的效果。在复杂变化的环境下,由于受到的影响因素较多,周边的环境场景变化频繁,会出现大量的没有在训练数据中出现过的样本数据。飞行规则在这种情况下往往效果较差甚至无法工作。

近年来随着强化学习算法的发展,众多将其应用在围棋,Atari游戏等领域的研究取得一系列成果。一些无人机飞行领域的相关研究通过将使用强化学习算法,在构建了动力学仿真环境模拟器基础上,设计合理的奖赏函数,可以实现使无人机在复杂多变的情况下自主飞行控制取得较好的效果。由于训练采样丰富,使用强化学习得到的飞行控制策略,相比与规则控制无人机,在各种复杂变化情况下有着更加高效,灵活的优点。然而,在完整的一局飞行过程中,强化学习的探索学习空间过大,得到的奖励稀疏,效果严重依赖参数调优trick,训练困难。

对于该问题,一种改进方法是采用分层强化学习算法,将无人机自主飞行过程抽象分为两层,高层策略负责选择飞机的抽象的策略行动,底层策略负责探索该动作的最优飞行参数进行控制。该方法通过将飞行动作类型固定,缩小探索空间,降低学习难度。然而,在分层强化学习算法中,如何定义高层的抽象策略是一个较为困难的问题。常用的方法是基于当前模拟环境另外构建剥离了飞行细节的简化环境,在该环境中学习抽象策略。但当原始的仿真环境比较复杂时,往往难以构建简化的抽象环境。同时,如果底层的飞行控制参数直接在原始的动力学仿真环境模拟器中进行学习,最后学习出来的飞行动作连贯性、平稳性较差,与实际的飞行动作差别较大。

发明内容

发明目的:针对现有技术中无人机自主飞行问题,规则控制无法处理复杂变化环境,以及强化学习算法行动探索空间过大,奖励稀疏,学出的飞行策略不够平稳、波动较大等缺点,本发明提供一种基于模仿学习和强化学习算法的无人机飞行控制方法。

鉴于基于规则的专家系统具有能有效利用先验知识,简单高效,发展成熟等优点,同时也考虑到分层强化学习算法的优点和限制,本发明所采用的技术方案是基于分层强化学习算法思想,结合先验知识对其进行改进。先根据实际的完整飞行动作去定义高层的抽象动作空间,再通过底层的模仿学习去拟合对应的动作。本方法学习到的飞行控制方法动作连续流畅,与实际的飞行动作相似度较高。同时可以在后续在高层的抽象动作空间中加入新的飞行动作,可扩展性较强。

技术方案:一种基于模仿学习和强化学习算法的无人机飞行控制方法,包括如下内容:

(1)基于空气动力学构建无人机的环境模拟器;

(2)根据实际的飞行效果,定义19个机动动作;使用模仿学习,得到机动动作和模拟器中原始动作的映射网络,将定义机动动作的集合作为新的基本动作库;模拟器原始动作是模拟器中飞机的驾驶控杆指令:包括控制飞机飞行速度的油门控制指令,以及控制飞行的三个基本角度变化指令:俯仰指令、翻滚指令、偏航指令。

(3)通过使用强化学习算法,进行上层的策略选择。根据环境模拟器提供的观测信息,在新的基本动作库中选择飞行动作去规划无人机飞行,得到无人机自主飞行控制的智能体,将学习到的无人机自主飞行控制的智能体,迁移到真实环境中。

所述环境模拟器接受无人机的原始输入信息,并将部分环境信息和飞机自身状态信息作为观测值返还给无人机,这个过程定义为马尔可夫决策过程的元组形式(O,A,P,R),其中观测信息O由两部分组成,外部的环境信息E和无人机自身的状态信息S,其中S=<V,α,β,γ>,分别对应飞机当前的速度,相对于北偏东坐标系的三个角度。A是无人机的动作集合,P是模拟器中状态的转移概率,R是奖励函数。

所述的无人机原始输入信息,指的是无人机行动集合A,模拟真实飞行的驾驶杆控制操作,包括控制飞机飞行速度的油门控制指令,以及控制飞行的三个基本角度变化指令:俯仰指令、翻滚指令、偏航指令,其形式为a=<Δv,Δα,Δβ,Δγ>,空间大小为

所述的机动动作,是基于实际飞行员操作飞行指令,一共定义了19个机动动作,分别为:等速平飞、平飞加减速、最速爬升、等航迹角爬升、水平转弯、稳定转弯、俯冲、横切、半滚倒转、斜斤斗、偏置、转入、向下斜斤斗、中断、S形、拦射、快转、抛射、偏置俯冲。

对于每一个机动动作,采集飞行员在无人机飞行过程中执行的实际飞行操作序列(τ

所述的模仿学习为:对于每一个机动动作,把环境模拟器中的轨迹对应的所有「状态-动作对」抽取出来构造新的集合

对于新定义的飞机机动动作结合,使用强化学习算法进行策略选择。根据环境模拟器提供的观测信息,在新的机动动作库中选择合适的飞行机动动作去规划无人机飞行。

所述的策略选择算法(pDQN),在使用强化学习算法Deep-Q-Learning的基础上,为了加强无人机飞行动作的连贯性,加入了非连续动作的惩罚,

目的是优化改函数,直至θ收敛。

其中,先从下层行动的网络集合中获取每个机动动作的最小连续数量集合S,s代表当策略选择算法所选择的机动动作的最小连续数量。m是当前机动动作已经连续执行的数量,如果一个机动动作持续的数量小于最小连续数量,说明该动作不够连贯,需要进行惩罚。策略网络在t时刻选择机动动作的惩罚为P

r

有益效果:与现有技术相比,本发明提供的基于模仿学习和强化学习算法的无人机飞行控制方法,具有如下优点:

1、本发明采用分层强化学习算法(上层是强化学习,下层是模仿学习。)实现无人机控制,能有效解决强化学习算法在多步决策中面临的行动探索空间过大,奖励稀疏的缺陷;

2、本发明通过使用模仿学习的方法,将原始问题的行动空间转换成定义得到的新的行动空间。

3、本发明定义的行动空间是基于真实的飞行机动,最后学习出来的飞行效果较一般的强化学习算法飞行更加稳定,与飞行员真实的飞行轨迹相似度更高。

4、本发明定义的行动空间支持飞机机动集合的扩充,可扩展性更强,适合迁移。

附图说明

图1为本发明的整体训练框架图;

图2为本发明模仿学习训练的流程图;

图3为本发明策略选择的强化学习神经网络结构图。

具体实施方式

下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

一种基于模仿学习和强化学习算法的无人机飞行控制方法,根据实际的飞行资料定义不同的完整飞行动作,通过模仿学习对采集到的飞行轨迹进行学习,达到将原问题的行动空间化简的效果。之后在简化的空间里使用DQN算法的改进算法pDQN算法去学习策略。包括以下步骤:

步骤一:

首先构造出一个基于空气动力学的环境模拟器,其可视化部分基于unity3D引擎实现,该环境模拟器会用来进行无人机飞行选择策略的学习。环境模拟器中的环境能随机的生成各种复杂的障碍环境,并且会随着时间的变化而不断的变化。环境模拟器接受无人机的原始输入信息,并将部分环境信息和飞机自身状态信息作为观测值返还给无人机,这个过程定义为马尔可夫决策过程(MDP)的元组形式(O,A,P,R),其中观测信息O由两部分组成,外部的环境信息E和无人机自身的状态信息S,其中S=<V,α,β,γ>,分别对应飞机当前的速度,相对于北偏东坐标系的三个角度。行动空间a=<Δv,Δα,Δβ,Δγ>,为模拟真实飞行的驾驶杆控制操作,包括控制飞机飞行速度的油门控制指令,以及控制飞机飞行的三个基本角度变化指令:俯仰指令、翻滚指令、偏航指令。

步骤二:

基于实际飞行员操作飞行指令,定义机动动作,作为无人机基本动作。一共定义了19个机动动作,分别为:等速平飞、平飞加减速、最速爬升、等航迹角爬升、水平转弯、稳定转弯、俯冲、横切、半滚倒转、斜斤斗、偏置、转入、向下斜斤斗、中断、S形、拦射、快转、抛射、偏置俯冲。转换后得到的飞机基本动作(Marco Action)A空间大小为19。

对于每个机动动作,采集飞行员在无人机飞行过程中执行的实际飞行操作序列(τ

步骤三

对于每一个机动动作,把环境模拟器中的驾驶杆指令轨迹对应的所有「状态-动作对」抽取出来构造新的集合

模仿学习的神经网络是多层前馈神经网络,输入层是无人机自身的状态,输出是驾驶杆指令行动,激活函数是sigmoid函数。训练方法是使用BP算法,最小化训练集上的累计误差:

其中m是当前机动动作状态-动作对的数据样本中样本数量,k是当前第k个样本,

通过迭代对网络参数进行更新,直至达到最大迭代次数或者收敛为止,得到无人机基本动作网络。

对于每一个机动动作,都建立一个模仿学习神经网络进行,将19个无人机基本动作(Marco Action)的网络全部训练完毕,用网络拟合的函数将得到的机动动作作为新的行动空间(新的基本动作库)去替换原始环境中的驾驶杆控制动作空间。

步骤四:

对于新的行动空间的策略选择训练所使用的算法是Deep-Q-Learning的方法。使用tensorflow搭建策略网络。最小化损失函数:

其中,先从下层行动的网络集合中获取每个机动动作的最小连续数量集合S,s代表当策略选择算法所选择的机动动作的最小连续数量。m是当前机动动作已经连续执行的数量,如果一个机动动作持续的数量小于最小连续数量,说明该动作不够连贯,需要进行惩罚。策略网络在t时刻选择机动动作的惩罚为P

r

通过迭代对网络参数进行更新,直至达到最大迭代次数或者收敛为止,得到无人机自主飞行控制的智能体。

步骤五:

将学习到的无人机自主飞行控制的智能体,迁移到真实环境中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号