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

一种适应多种构型飞行器的强化学习自抗扰姿态控制方法与流程

2022-06-05 03:34:31 来源:中国专利 TAG:


1.本发明涉及一种适应多种构型飞行器的强化学习自抗扰姿态控制方法,属于飞行器控制技术领域。


背景技术:

2.传统飞行器的控制系统设计往往仅针对某种构型与飞行环境进行,在构型与飞行环境发生变化的条件下需要重新设计与调试,增加了设计工作量,因此需要开发一种能够适应于多种飞行器构型的控制方法。


技术实现要素:

3.为解决背景技术中存在的问题,本发明提供一种适应多种构型飞行器的强化学习自抗扰姿态控制方法。
4.实现上述目的,本发明采取下述技术方案:一种适应多种构型飞行器的强化学习自抗扰姿态控制方法,所述方法包括如下步骤:
5.s1:构建飞行器姿态动力学模型,采用输入-输出线性化方法得到飞行器姿态控制模型;
6.s2:对于飞行器俯仰通道、偏航通道以及滚转通道三个通道,分别设计跟踪微分器对姿态指令安排过渡过程、设计扩张状态观测器对除控制量之外的总扰动进行观测以及基于跟踪微分器和扩张状态观测器的输出,设计反馈控制律实现基本的姿态控制功能;
7.s3:构建强化学习环境,初始化智能体,以第一类构型的飞行器为被控对象,利用soft actor-critic算法对智能体进行强化学习,使智能体可根据不同飞行环境,对s2中反馈控制律参数进行自适应调节;
8.s4:将s3中得到智能体作为初始智能体,以第二类构型的飞行器为被控对象,利用soft actor-critic算法对智能体进行强化学习,使智能体可根据不同飞行环境及构型,对s2中反馈控制律参数进行自适应地调节。
9.与现有技术相比,本发明的有益效果是:
10.本发明采用跟踪微分器对指令安排过渡过程,减小构型不同下,姿态角指令差异对控制系统的影响;将构型差异及飞行环境变化对控制系统的影响归结为总扰动,采用扩张状态观测器对其进行观测与补偿,从而消除构型差异对模型的影响,提高控制系统的适应能力;构建可调节控制系统参数的智能体,采用soft actor-critic算法,充分利用不同构型的数据对智能体进行强化学习,训练智能体调节自抗扰控制参数,实现适应不同构型的姿态控制器设计,进一步提高控制系统适应构型差异的能力。
附图说明
11.图1是本发明的流程图。
具体实施方式
12.下面将结合本发明实施例中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
13.一种适应多种构型飞行器的强化学习自抗扰姿态控制方法,所述方法包括如下步骤:
14.s1:构建飞行器姿态动力学模型,采用输入-输出线性化方法得到飞行器姿态控制模型;
15.s101:基于绕质心转动动力学和姿态运动学,构建飞行器姿态动力学模型如下:
[0016][0017]
式(1)中:
[0018]
为ω关于时间的一阶导数;
[0019]
为飞行器的姿态角矢量;
[0020]
为俯仰角;
[0021]
ψ为偏航角;
[0022]
γ为滚转角;
[0023]
r为姿态转换矩阵,
[0024]
为ω关于时间的一阶导数;
[0025]
ω=[ω
x
,ωy,ωz]为飞行器的姿态角速度矢量;
[0026]
ω
x
为滚转角速度;
[0027]
ωy为偏航角速度;
[0028]
ωz为俯仰角速度;
[0029]
j为飞行器的转动惯量矩阵,且
[0030]jxx
为飞行器绕x轴的转动惯量;
[0031]jyy
为飞行器绕y轴的转动惯量;
[0032]jzz
为飞行器绕z轴的转动惯量;
[0033]jxy
,j
xz
,j
yz
为惯性积;
[0034]
b1为控制力矩系数矩阵;
[0035]
δ=[δ
x
,δy,δz]表示控制输入量;
[0036]
δ
x
为副翼的偏转角;
[0037]
δy为方向舵的偏转角;
[0038]
δz为升降舵的偏转角;
[0039]
d=[d
x
,dy,dz]为气动力矩与干扰力矩项;
[0040]dx
为作用在滚转方向的气动力矩与干扰力矩项;
[0041]dy
为作用在偏航方向的气动力矩与干扰力矩项;
[0042]dz
为作用在俯仰方向的气动力矩与干扰力矩项;
[0043]
s102:采用输入-输出线性化方法,对式(1)进行线性化,可得:
[0044][0045]
式(2)中:
[0046]
为ω关于时间的二阶导数;
[0047]
为r关于时间的一阶导数;
[0048]
s103:定义状态量将式(2)转化为:
[0049][0050]
式(3)中:
[0051]
u为控制量,且u=rj-1
b1δ=[u
x
,uy,uz];
[0052]ux
为滚转方向控制量;
[0053]
uy为偏航方向控制量;
[0054]
uz为俯仰方向控制量;
[0055]
为x1关于时间的一阶导数;
[0056]
为x2关于时间的一阶导数;
[0057]
h为总扰动,且
[0058]
h1为滚转方向总扰动量;
[0059]
h2为偏航方向总扰动量;
[0060]
h3为俯仰方向总扰动量。
[0061]
s2:对于飞行器俯仰通道、偏航通道以及滚转通道三个通道,分别设计跟踪微分器对姿态指令安排过渡过程、设计扩张状态观测器对除控制量之外的总扰动进行观测以及基于跟踪微分器和扩张状态观测器的输出,设计反馈控制律实现基本的姿态控制功能;
[0062]
s201:设定飞行器姿态角变化指令:
[0063]
ωc=[ω
cz

cy

xz
]
ꢀꢀꢀ
(4)
[0064]
式(4)中:
[0065]
ω
cz
为俯仰通道指令;
[0066]
ω
cy
为偏航通道指令;
[0067]
ω
xz
为滚转通道指令;
[0068]
定义姿态角跟踪误差为:
[0069][0070]
式(5)中:
[0071]
为俯仰角跟踪误差;
[0072]
x

为偏航角跟踪误差;
[0073]
x

为滚转角跟踪误差:
[0074]
s202:设计仰通道的跟踪微分器如下:
[0075][0076]
式(6)中:
[0077]
r>0为速度因子;
[0078]
h0>0为滤波因子;
[0079]
a、a0、a1、a2、y、s、fh均为中间量;
[0080]
sign(
·
)为符号函数;
[0081]v1z
为跟踪微分器对俯仰通道指令ω
cz
安排过渡过程后的输出值;
[0082]v2z
为跟踪微分器对俯仰通道指令对时间一阶导数的估计值;
[0083]
偏航通道以及滚转通道所采用的跟踪微分器与俯仰通道形式相同,因此可得俯仰通道、偏航通道与滚转通道的跟踪微分器输出定义为 v1=[v
1z
,v
1y
,v
1x
],v2=[v
2z
,v
2y
,v
2x
];
[0084]
s202设计俯仰通道的扩张状态观测器如下:
[0085][0086]
式(7)中:
[0087]
χ
1z
为对的估计;
[0088]
χ
2z
为对的估计;
[0089]
χ
3z
为对h3的估计;
[0090]
β
01

02

03
均为扩张状态观测器的增益系数;
[0091]
fez,fe
z1
均为中间量;
[0092]
ο>0为线性段的长度;
[0093]
偏航通道以及滚转通道所采用的扩张状态观测器与俯仰通道形式相同,因此,俯仰通道、偏航通道与滚转通道的扩张状态观测器输出定义为χ1=[χ
1z

1y

1x
],χ2=[χ
2z

2y

2x
],χ3=[χ
3z

3y

3x
];
[0094]
s203:设计俯仰通道的反馈控制律如下:
[0095][0096]
式(8)中:
[0097]
λ
1z

2z
均为中间量;
[0098]kp
与kd为增益系数;
[0099]
为控制输出;
[0100]
偏航通道以及滚转通道所采用的反馈控制律形式与俯仰通道相同。
[0101]
s3:构建强化学习环境,初始化智能体,以第一类构型的飞行器为被控对象,利用soft actor-critic算法对智能体进行强化学习,使智能体可根据不同飞行环境,对s2中反馈控制律参数进行自适应调节;
[0102]
s301:初始化强化学习交互环境为第一类构型的飞行器,强化俯仰通道学习交互环境,包括:总观测量o
t
、动作量a
t
和奖励函数,具体如下:
[0103]
1)每一个仿真时间步t的观测量为
[0104]
其中:
[0105]
为飞行器高度;
[0106]
ma为飞行器的马赫数:
[0107]
总观测量o
t
={o
t-3
,o
t-2
,o
t-1
,o
t
};
[0108]
需要说明的是,总观测量o
t
设计为连续4个仿真时间步观测量o
t-3
,o
t-2
,o
t-1
,o
t
的叠加,这种设计可以减小观测噪声对算法的影响,提高算法的稳定性;
[0109]
2)动作量为a
t
={δβ
01
,δβ
02
,δβ
03
,δk
p
,δkd},
[0110]
其中:
[0111]
β
01

02

03
均为扩张状态观测器的增益系数;
[0112]
δk
p
,δkd为反馈控制律中增益系数k
p
,kd的增量;
[0113]
3)奖励函数定义为r
t
=r1 r2,
[0114]
其中:
[0115]
r1为与姿态控制误差相关的损失函数,且其中:κ1,κ2为损失函数的增益系数,且κ1,κ2均设定为负数,用来惩罚姿态角和角速率的控制误差;
[0116]
r2为姿态控制误差小于0.1
°
时给予的正奖励,r2≥0;
[0117]
若则r2=p,
[0118]
若则r2=0,
[0119]
其中:
[0120]
ε1为理想的控制精度;
[0121]
p为正奖励的设定值;
[0122]
s302:强化学习中的智能体的三个神经网络,包括:actor网络μ
θ
(o
t
)、 critic_1网络以及critic_2网络
[0123]
其中:
[0124]
actor网络的输入为总观测量o
t
,输出为动作量a
t

[0125]
critic_1网络以及critic_2网络的输入均为总观测量o
t
和动作量a
t
,输出均为智能体采取动作量a
t
后所得到的累积奖励的期望值;
[0126]
需要说明的是,critic_2网络的引入可降低单一critic网络对累积奖励的期望值的过度估计,从而提高算法的准确度;
[0127]
设置critic_1网络以及critic_2网络的结构相同,随机初始化actor 网络的参数θ
μ
,critic_1网络的参数令critic_2网络的参数定义强化学习最大次数为n
max
,初始化强化学习次数n
step
=1;
[0128]
s303:对于每一个仿真时间步t,采集飞行器俯仰角跟踪误差、俯仰角速度、高度及马赫数,计算每一个仿真时间步t的观测量及总观测量o
t
;将总观测量o
t
输入actor网络中,得到动作量 a
t
={δβ
01
,δβ
02
,δβ
03
,δk
p
,δkd};根据动作量调节扩张状态观测器及反馈控制律的参数,仿真时间向前推进一步,得到下一个时间步的观测量o
t 1
,并根据s301 中定义计算奖励函数r
t

[0129]
s304:将总观测量o
t
,动作量a
t
,下一个时间步的观测量o
t 1
,奖励函数r
t
存入经验回放池中;待经验回放池中四元组数目达到100000个,转到 s305,否则继续进行s303;
[0130]
s305:自经验回放池中取出m个四元组,记为以及其中:1≤i≤m 为中的第i个四元组;将中下一个时间步的观测量o
t 1
输入actor网络中,得actor网络输出量
[0131]
将下一个时间步的观测量o
t 1
与actor网络输出量分别输入critic_1网络与critic_2网络,得critic_1网络输出量critic_2网络输出量
[0132]
s306:计算其中:y1为actor网络的损失函数,y2为critic_1网络及critic_2网络的损失函数, min(q
1i
,q
2i
)为q
1i
与q
2i
的最小值,为采用actor网络时,输入为o
t 1
,输出为的对数概率;α>0表示熵探索因子;
[0133]
s307:以最小化为目标,采用梯度下降方法更新critic_1网络的参数以最小化为目标,采用梯度下降方法更新critic_2 网络的参数以最大化y1为目标,采用梯度上升方法更新actor网络的参数θ
μ

[0134]
s308:强化学习次数n
step
增加一次,若n
step
<n
max
返回s303,否则结束强化学习,保存actor网络、critic_1网络及critic_2网络进入s4。
[0135]
s4:将s3中得到智能体作为初始智能体,以第二类构型的飞行器为被控对象,利用
soft actor-critic算法对智能体进行强化学习,使智能体可根据不同飞行环境及构型,对s2中反馈控制律参数进行自适应地调节。
[0136]
s401:载入actor网络、critic_1网络及critic_2网络,作为智能体初始值;
[0137]
s402:初始化强化学习交互环境为第二类构型的飞行器,采用s303-s308 的方式进行soft actor-critic强化学习,训练智能体;
[0138]
s403:保存s402强化学习所得智能体,上述智能体可同时适应面对称构型与轴对称构型的飞行器,实现在不同飞行环境下对扩张状态观测器中增益系数及反馈控制律中增益系数的调节。
[0139]
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同条件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0140]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
再多了解一些

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

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

相关文献