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

基于强化学习的飞行机动决策的辅助方法与流程

2022-03-26 06:43:53 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种基于强化学习的飞行机动决策的辅助方法、装置及存储介质。


背景技术:

2.强化学习是一种通过经验进行策略自主学习的数学框架,且强化学习的决策能力在围棋、即时战略游戏等对抗博弈环境下应用广泛。因此,强化学习在飞行机动决策控制系统中能够根据人类专家经验使得智能体更贴近实际有人机的真实行为,同时可以为操作人员提供辅助决策方案。
3.但是,相关技术中,采用端到端的方案,利用强化学习算法直接学习飞行的机动动作,可解释性差,不利于移植使用。


技术实现要素:

4.本技术提供一种基于强化学习的飞行机动决策的辅助方法、装置及存储介质,以至少解决相关技术中的可解释性差,不利于移植使用的技术问题。
5.本技术第一方面实施例提出一种基于强化学习的飞行机动决策辅助方法,包括:
6.获取六自由度飞机空气动力学模型;
7.设计状态机并利用所述状态机控制所述六自由度飞机空气动力学模型完成机动,并获取所述飞机空气动力学模型的飞行参数;
8.建立强化学习的初始模型,并设置对应的强化学习算法和奖励函数;
9.利用所述飞行参数对所述强化学习的初始模型进行训练,并得到最终模型;
10.利用所述最终模型,根据所述飞机空气动力学模型当前的飞行参数输出下一飞行状态的pid控制器参数及控制变量。
11.本技术第二方面实施例提出一种基于强化学习的飞行机动决策控制系统的辅助装置,包括:
12.获取模块,用于获取六自由度飞机空气动力学模型;
13.控制模块,用于设计状态机并利用所述状态机控制所述六自由度飞机空气动力学模型完成机动,并获取所述飞机空气动力学模型的飞行参数;
14.建立模块,用于建立强化学习的初始模型,并设置对应的强化学习算法和奖励函数;
15.处理模块,用于利用所述飞行参数对所述强化学习的初始模型进行训练,并得到最终模型;
16.输出模块,用于利用所述最终模型,根据所述飞机空气动力学模型当前的飞行参数输出下一飞行状态的的pid控制器参数及控制变量。
17.本技术的实施例提供的技术方案至少带来以下有益效果:
18.本公开提供的基于强化学习的飞行机动决策控制系统辅助方法、装置及存储介质
中,获取六自由度飞机空气动力学模型,然后设计状态机并利用状态机控制六自由度飞机空气动力学模型完成机动,并获取飞机空气动力学模型的飞行参数,建立强化学习的初始模型,并设置对应的强化学习算法和奖励函数,利用飞行参数对强化学习的初始模型进行训练,并得到最终模型,再利用最终模型,根据飞机空气动力学模型当前的飞行参数输出下一飞行状态的pid控制器参数及控制变量。由此可知,本公开提出的方法中,可以通过利用状态机获取到的飞行参数训练强化学习的模型,从而优化飞机根据状态机实现机动的航迹,以使得训练完成的模型可以更贴近实际有人机的真实行为,同时为操作人员提供可参考的舵面、油门控制指令,作为辅助飞行决策方案,提高了结果的可解释性、移植性。
19.本技术附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
20.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
21.图1为根据本技术一个实施例提供的基于强化学习的飞行机动决策的辅助方法的流程示意图;
22.图2为根据本技术一个实施例提供的控制器纵向控制中的保持升降舵指令的结构示意图;
23.图3为根据本技术一个实施例提供的状态机完成英麦曼半筋斗飞行动作的流程示意图;
24.图4为根据本技术一个实施例提供的智能体自动完成半筋斗飞行动的流程图;
25.图5为根据本技术一个实施例提供的基于强化学习的飞行机动决策的辅助装置的结构示意图。
具体实施方式
26.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本技术,而不能理解为对本技术的限制。
27.本公开提供的基于强化学习的飞行机动决策控制系统辅助方法、装置及存储介质中,获取六自由度飞机空气动力学模型,然后设计状态机并利用状态机控制六自由度飞机空气动力学模型完成机动,并获取飞机空气动力学模型的飞行参数,建立强化学习的初始模型,并设置对应的强化学习算法和奖励函数,利用飞行参数对强化学习的初始模型进行训练,并得到最终模型,再利用最终模型,根据飞机空气动力学模型当前的飞行参数输出下一飞行状态的pid控制器参数及控制变量。由此可知,本公开提出的方法中,可以通过利用状态机获取到的飞行参数训练强化学习的模型,从而优化飞机根据状态机实现机动的航迹,以使得训练完成的模型可以更贴近实际有人机的真实行为,同时为操作人员提供可参考的舵面、油门控制指令,作为辅助飞行决策方案,提高了结果的可解释性、移植性。
28.下面参考附图描述本技术实施例的基于强化学习的飞行机动决策的辅助方法及装置。
29.实施例一
30.图一为根据本技术一个实施例提供的基于强化学习的飞行机动决策的辅助方法的流程示意图,如图1所示,可以包括:
31.步骤101、获取六自由度飞机空气动力学模型。
32.需要说明的是,本公开的实施例中,六自由度飞机空气动力学模型是基于jsbsim平台,并使用模拟真实数据(例如,nasa公布的f-16风洞试验数据)得到的。以及,本公开的实施例中,六自由度飞机空气动力学模型的气动系数是根据风洞试验和飞行测试得到的。
33.具体的,在本公开的实施例中,六自由度飞机空气动力学模型中飞机的姿态可以由发动机推力、升降舵、副翼、方向舵等变量控制。以及,在本公开的实施例中,当发动机推力和各操纵面变化时,模型选择对应的气动系数,从而改变飞机所受的合力和合力矩,以改变飞机飞行姿态、速度、位置,从而完成对应的飞行动作。
34.其中,本公开的实施例中,六自由度飞机空气动力学模型中飞机受到的外力f可以包括重力矢量w,气动力矢量r,以及发动机推力矢量e。
35.具体的,重力矢量w可以表示为:
[0036][0037]
其中,θ是在机体坐标系中定义的飞机滚转角、俯仰角,在地面坐标系中利用转移矩阵即可实现飞机姿态的描述。
[0038]
气动力矢量r可以表示为:
[0039][0040]
其中,为动压,s为机翼面积,c
x
,cy,cz为气动系数,气动力矢量会受到攻角α、侧滑角β、操纵面偏转δ等因素影响。
[0041]
以及,本公开的实施例中,假设推力f
t
只沿机体方向,即e=[f
t
,0,0]
t

[0042]
进一步地,本公开的实施例中,在不同的坐标系下,飞机受到的合力和合力矩的表示也不相同。
[0043]
具体的,在本公开的一个实施例中,在地面坐标系下,飞机所受的合力和合力矩可以表示为:
[0044][0045]
其中,m为质量,v为相对地面参考系的合速度矢量,h为角动量矢量。
[0046]
以及,在本公开的另一个实施例中,在机体坐标系下,飞机所受的合力和合力矩可以表示为:
[0047][0048]
其中,ω为相对地面参考系的角速度矢量。
[0049][0050]
其中,i为飞机转动惯量,一般假设飞机为轴对称模型,即i为对称阵。以及,本公开的实施例中,影响力矩的外部因素有空气动力矩和发动机角动量,因此m可以表示为:
[0051][0052]
其中,b为翼展,为平均气动弦长,c
l
,cm,cn为气动系数,h
eng
为发动机角动量。
[0053]
步骤102、设计状态机并利用状态机控制六自由度飞机空气动力学模型完成机动,并获取飞机空气动力学模型的飞行参数。
[0054]
需要说明的是,本公开的实施例中,可以参考人类专家操作流程设计状态机。
[0055]
其中,本公开的实施例中,利用设计的状态机控制六自由度飞机空气动力学模型完成机动,并获取飞机空气动力学模型的飞行参数的方法可以包括:利用设计的状态机设置串级pid(proportion integration differentiation,比例-积分-微分)控制器的输入参数,通过pid控制器反馈机制实现对六自由度飞机空气动力学模型姿态的调节,并获取飞机空气动力学模型的飞行参数。
[0056]
具体的,本公开的实施例中,利用设计的状态机设置串级pid控制器的输入参数,通过pid控制器反馈机制实现对六自由度飞机空气动力学模型姿态的调节的方法可以包括以下步骤:
[0057]
步骤a、状态机设置飞行动作的变量初始值(例如,高度、空速、姿态角等);
[0058]
步骤b、状态机根据历史数据(例如,飞行动作经典航迹),设置飞行动作状态转移关键节点;
[0059]
步骤c、状态机在各节点设置pid控制器的控制指令;
[0060]
步骤d、状态机判断当前状态是否满足节点要求;
[0061]
步骤e、若当前状态满足节点要求,则进入下一步指令,直至飞行动作结束。
[0062]
其中,本公开的实施例中,状态机可以根据不同机动中飞机目标姿态的变化规律,将状态机分为数个连续的转移过程。以及,本公开的实施例中,状态机可以改变pid控制器的输入控制变量(例如,俯仰角、滚转角),pid控制器根据负反馈调节机制输出飞机控制变量(例如,舵面偏转角、油门开度等),从而影响飞机的合力和合力矩,实现对飞机角速度、姿态和速度等的调节,以完成对应的飞行动作。
[0063]
示例的,本公开的实施例中,图2为控制器纵向控制中的保持升降舵指令的结构示意图。
[0064]
参考图2,内环控制器控制俯仰角速度q,外环控制器控制俯仰角,pid控制器可以根据纵向控制中的俯仰角保持升降舵指令得出六自由度飞机空气动力学模型的升降舵偏转角,以使得pid控制器以该升降舵偏转角控制六自由度飞机空气动力学模型。
[0065]
进一步地,本公开的实施例中,俯仰角保持升降舵指令为:
[0066][0067]
其中,δe表示升降舵偏转角,θ表示当前仰角,θc为目标仰角,q表示当前俯仰角速
度,k表示各比例、积分系数。
[0068]
进一步地,本公开的实施例中,利用串级pid控制器和状态机控制六自由度飞机空气动力学模型可以完成不同的飞行动作(例如,英麦曼半筋斗、筋斗、高yoyo、低yoyo、滚桶)。
[0069]
示例的,本公开的实施例中,利用串级pid控制器和状态机控制六自由度飞机空气动力学模型完成英麦曼半筋斗,状态机将英麦曼半筋斗控制流程机动分为5个子状态,分别为:
[0070]
状态0:控制飞机快速拉到指定空域内;
[0071]
状态1:控制飞行高度、速度及姿态,满足机动初始条件;
[0072]
状态2:控制系统及人工指令同时纵向控制拉杆,完成倒扣;
[0073]
状态3:控制系统及人工指令同时横向控制拉杆,完成滚转;
[0074]
状态4:恢复平飞。
[0075]
示例的,本公开的实施例中,图3为状态机完成英麦曼半筋斗飞行动作的流程示意图。
[0076]
参考图3,以状态0为例,当状态机在状态0时,通过pid控制器判断指令是否为0;若为0则继续通过pid控制器判断目标高度差的绝对值是否大于或等于200m;若满足,则控制pid控制器对油门及俯仰角进行控制;通过pid控制器控制横向滚转角、偏航角,状态0结束。以及,本公开的实施例中,其余状态1-4可以参考状态0的描述。
[0077]
其中,本公开的实施例中,通过pid控制器控制横向滚转角、偏航角可以为发动机加力,纵向升降舵由pid控制器控制拉杆,爬升至机头倒转180
°
松杆,松杆后pid控制器纵向控制俯仰角,拉杆过程中横向控制0
°
滚转角。待飞机倒扣后飞机纵向近似水平时,横向控制滚转角使飞机绕纵向x轴旋转180
°

[0078]
步骤103、建立强化学习的初始模型,并设置对应的强化学习算法和奖励函数。
[0079]
其中,本公开的实施例中,建立强化学习的初始模型可以包括以下步骤:
[0080]
步骤一、利用openai gym开源平台,搭建基于jsbsim的六自由度飞机空气动力学模型的强化学习仿真环境,定义状态空间和动作空间等接口信息;
[0081]
步骤二、将自定义环境注册到ray框架下rllib模块;
[0082]
步骤三、继承或修改接口函数;
[0083]
步骤四、构建强化学习算法框架及其初始参数;
[0084]
步骤五、利用ray框架,建立并行多线程仿真环境。
[0085]
以及,本公开的实施例中,上述步骤三中继承或修改接口函数可以包括设置step()函数、定义奖励函数等,其中,step(action)函数表示智能体根据动作action执行并反馈当前状态及奖励。
[0086]
进一步地,本公开的实施例中,奖励函数可以包括时间惩罚、动作完成奖励、动作失败惩罚,在状态机各关键节点奖励。
[0087]
具体的,本公开的实施例中,时间惩罚可以表示为物理时间间隔,回报值贡献与动作执行时间呈反比。示例的,本公开实施例中,假设数据刷新频率60hz,即单步时间回报-0.0167。
[0088]
以及,本公开的实施例中,动作完成奖励是当状态机完成一次状态遍历时,表示动
作完成,可以得到一次反馈较大正奖励值。示例的,本公开的实施例中,可以设置为200。
[0089]
进一步地,本公开的实施例中,动作失败惩罚是动作未完成,可以包括超过最高高度限制或低于最低高度限制、超过最高速度限制或低于最低速度限制等,得到一次反馈较大负惩罚值。示例的,本公开实施例中可以设置为-50。
[0090]
进一步地,本公开的实施例中,关键节点奖励是飞行状态到达某节点,一次反馈较大正奖励值,但小于动作完成奖励。示例的,本公开的实施例中,在图3指令置位命令处,反馈10到100的奖励值。
[0091]
此外,需要说明的是,上述步骤四中构建强化学习算法框架及其初始参数可以包括以下步骤:
[0092]
步骤1、使用强化学习ppo算法,并根据环境定义actor和critic网络输入及输出维度(例如,状态空间可以包括位置、姿态、速度等20维,动作空间可以包括纵向、横向控制器参数、舵面指令等8维);
[0093]
步骤2、设置ppo算法超参数;
[0094]
步骤3、设置多智能体仿真环境,利用rllib的pbt算法自动优化网络超参数;
[0095]
步骤4、智能体多线程并行仿真,提高仿真效率。
[0096]
步骤104、利用飞行参数对强化学习的初始模型进行训练,并得到最终模型。
[0097]
步骤105、利用最终模型,根据飞机空气动力学模型当前的飞行参数输出下一飞行状态的pid控制器参数及控制变量。
[0098]
其中,本公开的实施例中,输出的下一飞行状态的pid控制器参数可以包括pid控制器的比例、积分系数控制变量,控制变量可以包括舵面偏转、油门控制,以使得操作人员可以参考输出的pid控制器参数及控制变量,完成对应的飞行动作。
[0099]
以及,本公开的实施例中,在无人干预模式下,智能体能够根据控制器参数自动完成飞行动作。
[0100]
示例的,图4为智能体自动完成半筋斗飞行动的流程图。
[0101]
参考图4所示,首先飞机进入状态机状态0,根据指令0到达飞行高度,指令置1;进入状态1,设置目标俯仰角180度并保持横向姿态,飞机向上拉升,当俯仰角到达170度,完成倒扣过程,指令置2;进入状态2,设置目标俯仰角0度,目标滚转角0度,飞机横滚,当误差小于10度,完成横滚,指令置3;进入状态3,飞机恢复原飞行高度。
[0102]
本公开提供的基于强化学习的飞行机动决策控制系统辅助方法中,获取六自由度飞机空气动力学模型,然后设计状态机并利用状态机控制六自由度飞机空气动力学模型完成机动,并获取飞机空气动力学模型的飞行参数,建立强化学习的初始模型,并设置对应的强化学习算法和奖励函数,利用飞行参数对强化学习的初始模型进行训练,并得到最终模型,再利用最终模型,根据飞机空气动力学模型当前的飞行参数输出下一飞行状态的pid控制器参数及控制变量。由此可知,本公开提出的方法中,可以通过利用状态机获取到的飞行参数训练强化学习的模型,从而优化飞机根据状态机实现机动的航迹,以使得训练完成的模型可以更贴近实际有人机的真实行为,同时为操作人员提供可参考的舵面、油门控制指令,作为辅助飞行决策方案,提高了结果的可解释性、移植性。
[0103]
实施例二
[0104]
图五为根据本技术一个实施例提供的基于强化学习的飞行机动决策的辅助装置
的结构示意图,如图5所示,可以包括:
[0105]
获取模块501,用于获取六自由度飞机空气动力学模型;
[0106]
控制模块502,用于设计状态机并利用状态机控制六自由度飞机空气动力学模型完成机动,并获取飞机空气动力学模型的飞行参数;
[0107]
建立模块503,用于建立强化学习的初始模型,并设置对应的强化学习算法和奖励函数;
[0108]
处理模块504,用于利用飞行参数对所述强化学习的初始模型进行训练,并得到最终模型;
[0109]
输出模块505,用于利用最终模型,根据飞机空气动力学模型当前的飞行参数输出下一飞行状态的pid控制器参数及控制变量。
[0110]
其中,本公开的实施例中,控制模块用于利用设计的状态机设置串级pid控制器输入参数,通过pid控制器反馈机制实现对六自由度飞机空气动力学模型姿态的调节,并获取飞机空气动力学模型的飞行参数。
[0111]
以及,本公开的实施例中,控制模块用于设置飞行动作的变量初始值,并根据历史数据,设置飞行动作状态转移关键节点,在各节点设置控制指令,判断当前状态满足节点要求进入下一步指令,直至飞行动作结束。
[0112]
进一步地,本公开的实施例中,奖励函数包括时间惩罚、动作完成奖励、动作失败惩罚,在状态机各关键节点奖励。
[0113]
本公开提供的基于强化学习的飞行机动决策控制系统辅助方法、装置及存储介质中,获取六自由度飞机空气动力学模型,然后设计状态机并利用状态机控制六自由度飞机空气动力学模型完成机动,并获取飞机空气动力学模型的飞行参数,建立强化学习的初始模型,并设置对应的强化学习算法和奖励函数,利用飞行参数对强化学习的初始模型进行训练,并得到最终模型,再利用最终模型,根据飞机空气动力学模型当前的飞行参数输出下一飞行状态的pid控制器参数及控制变量。由此可知,本公开提出的方法中,可以通过利用状态机获取到的飞行参数训练强化学习的模型,从而优化飞机根据状态机实现机动的航迹,以使得训练完成的模型可以更贴近实际有人机的真实行为,同时为操作人员提供可参考的舵面、油门控制指令,作为辅助飞行决策方案,提高了结果的可解释性、移植性。
[0114]
为了实现上述实施例,本公开还提出一种计算机存储介质。
[0115]
本公开实施例提供的计算机存储介质,存储有可执行程序;所述可执行程序被处理器执行后,能够实现如图1所示的方法。
[0116]
为了实现上述实施例,本公开还提出一种计算机设备。
[0117]
本公开实施例提供的计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序;所述处理器执行所述程序时,能够实现如图1所示的方法。
[0118]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结
合和组合。
[0119]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0120]
尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
再多了解一些

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

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

相关文献