技术领域
[0001] 本发明涉及飞行器控制领域,尤其涉及一种基于强化学习的飞行器控制方法、终端设备及介质。
相关背景技术
[0002] 传统的飞行器控制方法依赖于机翼及其动力学的数学模型,这种方法的精确模型很难建立,所以在控制过程中存在很多不确定性,难以抵抗飞行过程中存在的干扰,比如天气、参数调整等持续性或突发性的扰动。另一方面,传统方法控制参数的调试过程比较复杂,需要不断进行试错,导致飞行器的姿态控制存在稳定性较低的问题。
具体实施方式
[0026] 为进一步说明各实施例,本发明提供有附图。这些附图为本发明揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本发明的优点。
[0027] 现结合附图和具体实施方式对本发明进一步说明。
[0028] 实施例一:
[0029] 本发明实施例提供了一种基于强化学习的飞行器控制方法,如图1所示,所述方法包括以下步骤:
[0030] S1:基于飞行器的运动状态数据构建飞行器的状态空间。
[0031] 本实施例中飞行器的运动状态数据包括以下几个方面:飞行器的位置集合,即经度、纬度、高度;飞行器的速度集合,即北向速度、天向速度、东向速度;飞行器的加速度集合,即北向加速度、天向加速度、东向加速度。
[0032] 在构建状态空间时,首先将飞行器的运动状态信息包含的各参数的值进行归一化处理,采用如下公式:
[0033]
[0034] 之后再将归一化之后的各参数的值(如经度、纬度、高度、北向速度、天向速度、东向速度、北向加速度、天向加速度以及东向加速度)进行拼接,最终得到飞行器的状态空间。
[0035] S2:将当前时刻飞行器的状态作为深度强化学习的策略网络的输入,通过策略网络获取当前时刻的最优控制策略。
[0036] 本实施例中深度强化学习网络的动作空间包括横向杆、纵向杆、脚蹬和油门拉力输出。
[0037] 如图2所示,策略网络配置为全连接神经网络,其网络输入是所述第t时刻飞行器的状态空间,输出为第t时刻飞行器的横向杆、纵向杆、脚蹬和油门拉力输出。网络结构包含四个隐藏层,单元数分别为192个、256个、256个、192个,用于拟合策略πθ(α|s),输出动作空间中累计回报值最大的动作到飞行器,使得飞行器根据选择的动作飞行。
[0038] 如图3所示,价值网络配置为全连接神经网络,包含四个隐藏层,单元数分别为192个、256个、256个、192个,用于拟合值函数Vw(s),对策略网络所选动作进行评价。
[0039] 本实施例中的深度强化学习网络的训练采取回合的方式,每个回合有不同的初始状态和设定值,训练开始时,回合的初始状态是接近设定值的,这样的设计比较简单有助于算法的安全性,然后随着算法回合数的增加,训练逐渐增大初始状态与设定值的差距,提高算法的控制难度。
[0040] 初始化模型参数,包括飞行器初始状态、期望飞行轨迹、主网络和目标网络权重参数设置为随机数、以及最大循环次数,并为动作的探索过程引入随机噪声等。在训练过程中每0.1秒采一次样,每回合采样200次,共计20秒。
[0041] S3:根据当前时刻的最优控制策略对飞行器的姿态进行调整,并获取下一时刻飞行器的状态。
[0042] 在飞行器飞行过程中,每个控制周期都是采用步骤S1‑S3的方式进行飞行器姿态控制。
[0043] S4:基于当前时刻的状态st、动作at、总回报rt和下一时刻的状态st+1作为状态转换数据存储至经验池中。
[0044] 总回报rt为飞行器执行动作at后获得总回报。
[0045] 在飞行器执行动作at后,可以获得总回报rt,然后进入新的状态st+1,此时将状态转换数据(st、at、rt、st+1)存储在经验池中。
[0046] 奖励函数设计为:
[0047] rt=rpos+rvel+racc
[0048]
[0049] 其中,epos代表飞行器与期望轨迹的位置误差;evel代表飞行器与期望轨迹的速度误差;eacc代表飞行器与期望轨迹的加速度误差。
[0050] 奖励设置的依据为,为了实现飞行器的姿态控制,希望飞行器的位置、速度、加速度与期望轨迹的误差尽可能小,且对位置、速度、加速度设置权重,优先考虑位置的精确性。
[0051] S5:抽取经验池中的状态转移数据作为训练集,通过近端策略优化算法(PPO)更新策略网络的参数。
[0052] 从经验池中取出状态转换数据集(si、ai、ri、si+1)作为训练集。基于损失函数Lactor(θ)和Lcritic(w),利用神经网络梯度反向传播,更新主网络中价值网络和策略网络中的权重参数w和θ;其中,Lcritic(w)为价值网络损失函数,Lactor(θ)为策略网络损失函数。
[0053] 损失函数Lactor(θ)和Lcritic(w)分别为:
[0054]
[0055]
[0056] 本实施例中,通过最小化损失函数Lcritic(w)和Lactor(θ)更新主网络中价值网络和策略网络中的权重参数w和θ。
[0057] 如果下一时刻的飞行器状态为终止状态,则结束迭代,否则重复步骤S1‑S5。
[0058] 在飞行器飞行过程中,每个控制周期都是采用步骤S1‑S5的方式进行飞行器姿态控制,即在步骤S5之后,进行新一轮的计算和控制,直到姿态控制结束。
[0059] 本方面实施例采用近端策略优化算法来控制飞行器的姿态,通过这种策略优化方法和深度神经网络开发可以提高策略的训练效率和控制精度。一方面对参数不确定项造成的干扰进行补偿,降低对模型精度的要求;另一方面深度强化学习的智能控制器相比传统的固定参数控制器具有更精准的控制精度、更强的鲁棒性,具有一定的工程实用价值。
[0060] 实施例二:
[0061] 本发明还提供一种基于强化学习的飞行器控制终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例一的上述方法实施例中的步骤。
[0062] 进一步地,作为一个可执行方案,所述基于强化学习的飞行器控制终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述基于强化学习的飞行器控制终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,上述基于强化学习的飞行器控制终端设备的组成结构仅仅是基于强化学习的飞行器控制终端设备的示例,并不构成对基于强化学习的飞行器控制终端设备的限定,可以包括比上述更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述基于强化学习的飞行器控制终端设备还可以包括输入输出设备、网络接入设备、总线等,本发明实施例对此不做限定。
[0063] 进一步地,作为一个可执行方案,所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field‑Programmable Gate Array,FPGA)或者其他可编程逻辑器件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述基于强化学习的飞行器控制终端设备的控制中心,利用各种接口和线路连接整个基于强化学习的飞行器控制终端设备的各个部分。
[0064] 所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述基于强化学习的飞行器控制终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0065] 本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例上述方法的步骤。
[0066] 所述基于强化学习的飞行器控制终端设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read‑Only Memory)、随机存取存储器(RAM,Random Access Memory)以及软件分发介质等。
[0067] 尽管结合优选实施方案具体展示和介绍了本发明,但所属领域的技术人员应该明白,在不脱离所附权利要求书所限定的本发明的精神和范围内,在形式上和细节上可以对本发明做出各种变化,均为本发明的保护范围。