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

基于并发学习神经网络的三角翼飞行器容错控制方法

2022-07-30 13:19:44 来源:中国专利 TAG:


1.本发明涉及三角翼飞行器的容错控制方法,具体涉及一种三角翼飞行器基于并发学习神经网络的容错控制方法。


背景技术:

2.无人飞行器广泛应用于国防与社会经济建设的方方面面。相比于有人驾驶飞行器,无人飞行器具有灵活机动、快速部署、成本低廉、无人员伤亡风险等特点。在国防领域和社会经济领域,无人飞行器已经展现极其广阔的应用潜力及发展价值。
3.但是,无人飞行器在大规模应用的同时其自身也存在诸多问题,尽管实现了一定程度的自主飞行,但其在故障处理方面与人类智能仍有差距。无人飞行器在飞行过程中会受到风以及发动机震动等因素的干扰,并且由于缺少人工的干预和环境的不确定性,无人飞行器发生故障后更容易失去控制。当今无人机系统自动化程度越来越高,规模越来越大,对无人系统的投资也越来越大,如果飞行器在飞行过程中出现故障而控制系统无法消除或者“容忍”故障,那么就可能造成飞行器瘫痪、失效,进一步地,会造成人员伤亡以及财产的重大损失。为了解决这些问题,本专利提出一种用于无人飞行器的容错控制方法,以期无人飞行器发生故障后,飞行器能够在线解决,并在某种可接受的状态下继续工作。
4.在无人飞行器工作过程中,可能遇到各种突发状况,比如大机动下产生气动非线性,或者执行机构故障。并发学习神经网络可以在不知道故障信息的情况下,实现对控制律的在线调整,以解决未知的非线性干扰,实现飞行器的容错控制。同时,并发学习可以估计飞行器的气动参数和执行机构控制效率,用于解决部分执行机构失效、气动参数改变等故障。
5.由于上述原因,本发明人对现有的三角翼飞行器的容错控制方法做了深入研究,以期待设计出一种能够解决上述问题的基于并发学习神经网络的三角翼飞行器容错控制方法。


技术实现要素:

6.为了克服上述问题,本发明人进行了锐意研究,设计出基于并发学习神经网络的三角翼飞行器容错控制方法,该方法中,通过建立并发学习神经网络,在基础控制器的基础上引入容错机制,使得无人飞行器发生故障后,飞行器能够在线处理并解决,实现在某种可接受的状态下继续工作。同时,并发学习可以记录历史数据,在没有持续激励的情况下保证神经网络权重的收敛,进而可以执行要求更高的任务,从而完成本发明。
7.具体来说,本发明的目的在于提供一种基于并发学习神经网络的三角翼飞行器容错控制方法,该方法包括以下步骤:
8.步骤1,对飞行器基础控制器的输出值做容错处理,得到伪控制量u;
9.所述飞行器基础控制器的输出值包括并发学习气动参数的输出值和并发控制效率处理的输出值;
10.步骤2,将准确的伪控制量u输出给执行机构,进而控制三角翼飞行器的姿态角。
11.在步骤1中,伪控制量u通过下式(一)获得:
[0012][0013]
其中,表示理想模型的飞行状态值,为理想模型中飞行器实时测量的理想滚转角与理想滚转速率的矩阵,表示取矩阵第二行的值,ax(2)表示矩阵ax第二行的值;
[0014]
x表示实际的飞行状态值,其中φ表示飞机滚转角,p表示飞机滚转速率;
[0015]kp
表示比例增益,k
p
=[-1
ꢀ‑
1];
[0016]
e表示理想模型的飞行状态值x
ref
与实际状态值x之间的差值;
[0017]vad
表示并发学习神经网络处理的输出值;
[0018]
a表示并发学习气动参数的输出值,
[0019]
表示并发控制效率处理的输出值,由执行机构的控制效率λ计算得到。
[0020]
所述并发学习神经网络处理采用单隐层径向基函数(rbf)神经网络,神经网络的输出值v
ad
通过下式(二)获得:
[0021][0022]
其中,v表示输入层与隐含层间的权重,w表示输出层与隐含层间的权重;
[0023]
σ表示隐含层的非线性激活函数,优选地,所述非线性激活函数为高斯基函数;
[0024]
表示神经网络输入层;
[0025]
所述通过下式(三)获得:
[0026][0027]
其中bv表示偏置,设置为常数1;
[0028]
x
in
即为输入层的输入值,此处设有两个输入值,分别为飞行器实际测量得到的φ和p。
[0029]
所述v和w通过下式(五)和式(六)获得:
[0030][0031][0032]
其中,表示w的一阶导数,表示v的一阶导数;
[0033]
[0034][0035]
i表示适当维数的单位矩阵,设置为20维单位矩阵;
[0036]
γw表示w的增益,设置为常数3;
[0037]
γv表示v的增益,设置为常数1;
[0038]
γ
w1
表示w的并发学习增益,设置为常数1;
[0039]
γ
v1
表示v的并发学习增益,设置为常数1;
[0040]
κ表示神经网络阻尼增益,设置为常数0.01;
[0041]
||e||表示e的范数,即理想模型的飞行状态值与实际的飞行状态值之间差值的范数;
[0042]
表示残差信号;
[0043]
σ

表示隐含层的非线性激活函数σ的导数;
[0044]
表示记录的神经网络输入层的值;
[0045]vc
表示中间变量。
[0046]
该方法中,在执行所述步骤1的同时,还执行步骤1',所述步骤1'包括以下子步骤:
[0047]
步骤1'-1,在飞行器启动运行时同步开始读取数据点,每0.005秒进行一次读取,并将读取到的数据点存入数据库;
[0048]
步骤1'-2,当数据库中存储满负荷时,对再次读取的数据点进行判定,将满足判定条件的数据点列为备选数据点;
[0049]
步骤1'-3,对备选数据点与数据库中的数据点做奇异值最大化处理,对数据库中数据点进行更新;
[0050]
步骤1'-4,通过数据库实时获得残差信号
[0051]
优选地,所述步骤1'-3包括如下子步骤,
[0052]
子步骤a,将备选数据点和数据库中的5数据点组成数据集;
[0053]
子步骤b,在数据集中任选5个数据点,并求取其奇异值;
[0054]
子步骤c,重复5次子步骤b,每次选取的数据点都不完全相同;
[0055]
子步骤d,对得到的6个奇异值按照大小排序,选取其中最大的奇异值;
[0056]
子步骤e,调取该最大的奇异值对应的5个数据点,并用所述调取的5个数据点更新数据库。
[0057]
在步骤1'-2中,记录数据点的判定条件为

[0058]
其中,x(t)表示t时刻读取的数据点的飞行状态值,x
p
表示数据库中最后存入的数据点的飞行状态值;
[0059]
表示设定的判定条件,设为常数0.3。
[0060]
所述数据库中满负荷时记录5~10个数据点,优选地,数据库中满负荷时记录5个数据点。
[0061]
当数据库中数据点更新时,所述残差信号通过下式(七)获得:
[0062]
[0063]
其中,δ表示模型误差的计算值,
[0064]
表示xi的二阶导数;
[0065]
ui表示由并发学习数据记录处理记录的伪控制量u值;
[0066]
当数据库中数据点不更新时,所述残差信号取值为0。
[0067]
所述并发控制效率处理的输出值通过下式(八)获得:
[0068][0069]
其中,γ2表示增益项,设置为常数1;
[0070]
ui表示由并发学习数据记录处理记录的伪控制量u值;b表示矩阵
[0071]
表示的一阶导数;
[0072]
yi表示并发学习数据记录处理记录的y值,其中
[0073]
优选地,所述a
11
、a
12
、a
21
和a
22
通过下式(九)获得:
[0074][0075]
其中,k
cl
表示并发学习增益,设置为常数0.01;
[0076]
γ1表示增益矩阵,设置为4维单位矩阵;
[0077]
y(x)表示状态矩阵,
[0078]
y表示y(x)的积分,yi表示由并发学习数据记录处理记录的y

[0079]
θ表示飞行器模型的参数,
[0080]
表示θ的一阶导数。
[0081]
本发明所具有的有益效果包括:
[0082]
(1)根据本发明提供的基于并发学习神经网络的三角翼飞行器容错控制方法,可以在故障信息未知的情况下对控制律进行在线重构,对未知的非线性故障进行对消,进而在一定程度恢复控制器性能,实现容错控制;
[0083]
(2)根据本发明提供的基于并发学习神经网络的三角翼飞行器容错控制方法,可以在没有持续激励的条件下保证神经网络权重向真值收敛,提高神经网络容错控制效能,当故障不发生变化时,基于并发学习的神经网络自适应控制不需要每次激励都进行学习;
[0084]
(3)根据本发明提供的基于并发学习神经网络的三角翼飞行器容错控制方法,不需要大量的实时计算,在飞行器计算资源有限的情况下容易实现;
[0085]
(4)根据本发明提供的基于并发学习神经网络的三角翼飞行器容错控制方法,利用并发学习估计执行机构效率和气动参数,可以在没有持续激励的条件下进行估计,以较
好地解决执行机构控制效率降低以及气动参数发生变化的故障。
附图说明
[0086]
图1示出本发明并发学习神经网络的三角翼飞行器容错控制方法框架;
[0087]
图2示出本发明实验例中设置容错控制方法的飞行器发生错误后实际滚转角跟踪效果;
[0088]
图3示出本发明实验例中设置容错控制方法的飞行器并发学习神经网络的输出值v
ad
曲线;
[0089]
图4示出本发明实验例中神经网络对未知非线性干扰的拟合曲线;
[0090]
图5示出本发明实验例中未设置容错控制方法的飞行器发生错误后实际滚转角跟踪效果。
具体实施方式
[0091]
下面通过附图和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。
[0092]
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0093]
根据本发明提供的三角翼飞行器容错控制方法,该方法中,
[0094]
该方法包括以下步骤:
[0095]
步骤1,对飞行器基础控制器的输出值做容错处理,得到准确的伪控制量u;
[0096]
所述飞行器基础控制器的输出值包括并发学习气动参数的输出值和并发控制效率处理的输出值;
[0097]
步骤2,将准确的伪控制量u输出给执行机构,进而控制三角翼飞行器的姿态角。
[0098]
在步骤1中,伪控制量通过下式(一)获得:
[0099][0100]
其中,表示理想模型的飞行状态值,为理想模型中飞行器实时测量的理想滚转角与理想滚转速率的矩阵;表示取矩阵第二行的值,ax(2)表示矩阵ax第二行的值;
[0101]
所述理想模型一般被称为参考模型,该模型可以对指令做出所期望的响应;
[0102]
x表示实际的飞行状态值,可以表示为其中φ表示飞机滚转角(rad),p表示飞机滚转速率(rad/s);
[0103]
所述φ和p均由传感器实时读取得到,所述传感器为速率陀螺传感器,所述传感器的工作频率为200hz。
[0104]kp
表示比例增益,k
p
=[-1
ꢀ‑
1];
[0105]
e表示理想模型的飞行状态值与实际的飞行状态值x之间的差值;
[0106]vad
表示并发学习神经网络处理的输出值;
[0107]
a表示并发学习气动参数的输出值,
[0108]
表示并发控制效率处理的输出值,由执行机构的控制效率λ计算得到。
[0109]
所述飞行器基础控制器为简单的比例积分微分控制器(pid),三角翼飞行器滚转动态模型表示为
[0110]
其中,为x的一阶导数,通过计算获得;通过传感器直接测得,通过对p求一阶导数获得。
[0111]
三角翼飞行器在进行大攻角滚转机动时是开环不稳定的,这种不稳定性被称为“机翼滚摆现象”。这是由作用于三角翼上的不对称的气动效应引起的,会造成飞行器不稳定的滚摆运动。因此,需要对伪控制量u进行计算控制,从而对三角翼飞行器进行主动控制。
[0112]
在本发明中,所述并发学习神经网络的三角翼飞行器容错控制方法框架如图1所示,通过容错处理,对飞行器基础控制器的输出值进行抵消,消除后输出准确的伪控制量u,再将准确的伪控制量u输出给执行机构,对无人飞行器进行控制,减少突发性错误对飞行器飞行的影响。
[0113]
根据本发明一种优选的实施方式,所述并发学习神经网络处理采用单隐层径向基函数(rbf)神经网络,并发学习神经网络处理的输出值v
ad
通过下式(二)获得:
[0114][0115]
其中,v表示输入层与隐含层间的权重,w表示输出层与隐含层间的权重;
[0116]
σ表示隐含层的非线性激活函数,优选地,所述非线性激活函数为高斯基函数;
[0117]
表示神经网络输入层;
[0118]
优选地,所述通过下式(三)获得:
[0119][0120]
其中bv表示偏置,设置为常数1;
[0121]
x
in
即为输入层的输入值,此处设有两个输入值,分别为飞行器实际测量得到的φ和p。
[0122]
所述单隐层径向基函数(rbf)神经网络就是输入和输出中间有一个隐含层,即输入层的输出是隐含层的输入,隐含层的输出和对应权重的乘积是输出层的输入,输出层的输出才是最终的输出。
[0123]
非线性激活函数对于人工神经网络模型去学习、理解非常复杂和非线性的函数来说具有十分重要的作用。它们将非线性特性引入到我们的网络中,在神经元中,输入值通过加权求和后,还被作用了一个函数,这个函数就是非线性激活函数。引入非线性激活函数是为了增加神经网络模型的非线性,使得神经网络可以逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。高斯基函数也称径向基函数,是常用的一种核函数,通常定义为空间中任一点到某一中心之间欧氏距离的单调函数。
[0124]
在本技术中,所述非线性激活函数表示为下式(四):
[0125][0126]
其中,j=1,...,n2,bj是一个正的标量,表示高斯基函数的宽度,cj是中心向量,和输入参数向量x维数相同,二者之间的欧氏距离定义为||x-cj||。
[0127]
根据本发明,获得权重值是保证并发学习与神经网络权值调整算法结合可以保证权重收敛到真值中的重要环节,基于历史数据和瞬时数据的估计参数,即使没有外部激励,当历史数据中包含了足够的信息时,也能够保证结果收敛到真值。
[0128]
所述v和w通过下式(五)和式(六)获得:
[0129][0130][0131]
其中,表示w的一阶导数,表示v的一阶导数;
[0132][0133][0134]
i表示适当维数的单位矩阵,设置为20维单位矩阵;
[0135]
γw表示w的增益,设置为常数3;
[0136]
γv表示v的增益,设置为常数1;
[0137]
γ
w1
表示w的并发学习增益,设置为常数1;
[0138]
γ
v1
表示v的并发学习增益,设置为常数1;
[0139]
κ表示神经网络阻尼增益,设置为常数0.01;
[0140]
||e||表示e的范数,即理想模型的飞行状态值与实际的飞行状态值之间差值的范数;
[0141]
表示残差信号;
[0142]
σ

表示隐含层的非线性激活函数σ的导数;
[0143]
表示记录的神经网络输入层的值;
[0144]vc
表示中间变量,没有具体物理含义,根据表达式计算即可。
[0145]
根据本发明一种优选的实施方式,在并发学习神经网络处理中还包括并发学习数据记录处理,所述并发学习数据记录处理即对数据点进行记录和计算,判定哪些数据点可以进行记录,并可以对后续数据起到判断价值。
[0146]
该方法中,在执行所述步骤1的同时,还执行步骤1',所述步骤1'包括以下子步骤:
[0147]
步骤1'-1,在飞行器启动运行时同步开始读取数据点,每0.005秒进行一次读取,并将读取到的数据点存入数据库;
[0148]
步骤1'-2,当数据库中存储满负荷时,对再次读取的数据点进行判定,将满足判定
条件的数据点列为备选数据点;
[0149]
步骤1'-3,对备选数据点与数据库中的数据点做奇异值最大化处理,对数据库中数据点进行更新;
[0150]
步骤1'-4,通过数据库实时获得残差信号
[0151]
所述数据点为当前时刻传感器读取的飞机滚转角φ和飞机滚转速率p。
[0152]
优选地,所述步骤1'-3包括如下子步骤,
[0153]
子步骤a,将备选数据点和数据库中的5数据点组成数据集;
[0154]
子步骤b,在数据集中任选5个数据点,并求取其奇异值;
[0155]
子步骤c,重复5次子步骤b,每次选取的数据点都不完全相同;
[0156]
子步骤d,对得到的6个奇异值按照大小排序,选取其中最大的奇异值;
[0157]
子步骤e,调取该最大的奇异值对应的5个数据点,并用所述调取的5个数据点更新数据库。
[0158]
根据本发明,所述数据库中满负荷时记录5~10个数据点,优选地,数据库中满负荷时记录5个数据点。
[0159]
由于并发学习数据记录处理的收敛速度与历史数据栈的最小奇异值成正比,为了得到较好结果,需要保证:1)秩条件被满足,2)最小奇异值最大化。
[0160]
所述秩条件是指历史数据栈z的秩等于真值权重矩阵的行数,即设权重真值w
*
∈rm×n,令rank(z)=m。保证秩条件满足可以保证跟踪误差收敛到0,最小奇异值最大化则可以实现较快的收敛速度。
[0161]
虽然数据库中的记录点越多越好,但是考虑到计算程序的计算时间过长,需要保证飞行器在合理时间内做出反应及控制,因此数据库中记录点不能设置过多;若数据点过少,则会导致数据库中存储数据过少,无法对数据值进行准确的判断,可能会导致判定失误,无法达到对飞行器的准确控制。
[0162]
在步骤1'-2中,记录数据点的判定条件为

[0163]
其中,x(t)表示t时刻读取的数据点的飞行状态值,x
p
表示数据库中最后存入的数据点的飞行状态值;
[0164]
表示设定的判定条件,设为常数0.3。
[0165]
若当前时刻数据点满足判定条件,将t时刻数据点列为备选数据点,进行步骤1'-3,对备选数据进行矩阵奇异值最大化处理,同时需要满足数据库的矩阵奇异值最大化,t时刻数据点才会被记录在数据库中。
[0166]
若当前刻数据点满足判定条件不满足判定条件或满足判定条件但不满足数据库的矩阵奇异值最大化,该当前数据点都不会被记录在数据库中。
[0167]
根据本技术,奇异值最大化可以保证数据库中的数据足够不同,并且数据库的矩阵最小奇异值最大化,更能反映飞行器实际飞行中的数据情况。
[0168]
在步骤1'-3中,矩阵奇异值最大化处理过程如下,首先记录与之前数据足够不同的点,如果存储的数据点的数量超过了最大允许数量,则算法会以最大化数据栈最小奇异值的方式合并新的数据点,为了实现这一点,算法顺序地将历史数据栈中的数据点替换为当前数据点,并将产生的最小奇异值存储在一个变量中,找到最大的最小奇异值,并将新的
数据点替换掉原来的数据点,具体算法如下:
[0169]
根据本发明一种优选的实施方式,所述残差信号表示模型误差的瞬时估计和模型误差的存储估计之间的差值,可以直接用于自适应更新律的训练信息。
[0170]
当数据库中数据点更新时,所述残差信号通过下式(七)获得:
[0171][0172]
其中,δ表示模型误差的计算值,
[0173]
表示xi的二阶导数;
[0174]
xi表示数据点更新最新记录的数据点i点的飞行状态值,由传感器实时测量得到;
[0175]
ui表示由并发学习数据记录处理记录的伪控制量u值;
[0176]
当数据库中数据点不更新时,所述残差信号取值为0。
[0177]
通过上述方法,可以通过三角翼飞行器实时获得的飞机滚转角和飞机滚转速率,获得并发学习神经网络的权值v和w,进一步获得并发学习神经网络处理的输出值,与飞行器基础控制器中的错误数据进行抵消,达到容错的效果。
[0178]
根据本发明一种优选的实施方式,在容错处理过程中还包括并发学习控制效率处理,通过并发学习控制效率处理可以得到飞行器实时飞行过程中的控制效率的计算值
[0179]
所述控制效率的计算值通过下式(八)获得:
[0180][0181]
其中,γ2表示增益项,设置为常数1;
[0182]
ui表示由并发学习数据记录处理记录的伪控制量u值;b表示矩阵
[0183]
表示的一阶导数;
[0184]
yi表示由并发学习数据记录处理记录的y值,其中
[0185]
通过并发学习估计控制效率处理,可以对飞行器的实时控制效率进行计算并输出,将并发学习控制效率处理的输出值用于伪控制量u的计算,可以获得更贴近实际情况的伪控制量u,从而达到在飞行器遇到故障时,通过本方法可以实现对飞行器精准的控制,避免无人飞行器发生坠毁,可以完成基本的工作任务。
[0186]
优选地,所述a
11
、a
12
、a
21
和a
22
通过下式(九)获得:
[0187][0188]
其中,k
cl
表示并发学习增益,设置为常数0.01;
[0189]
γ1表示增益矩阵,设置为常数4维单位矩阵;
[0190]
y(x)表示状态矩阵,
[0191]
y表示y(x)的积分,y表示由并发学习数据记录处理记录的y;
[0192]
θ表示飞行器模型的参数,
[0193]
表示θ的一阶导数。
[0194]
通过求解气动参数θ可以得到并发学习气动参数处理的输出值a。
[0195]
通过并发学习气动参数处理可以实时得到并发学习气动参数的输出值a,当有气体动力学影响飞行器飞行时,通过输出值a对气动参数进行调整,减少由于环境因素对飞行器造成的影响,降低飞行器发生故障的概率。
[0196]
根据本发明提供的三角翼飞行器容错控制方法,可以在故障信息未知的情况下对控制律进行在线重构,对未知的非线性故障进行对消,进而在一定程度恢复控制器性能,实现容错控制。利用并发学习估计执行机构效率和气动参数,可以在没有持续激励的条件下进行估计,以较好地解决执行机构控制效率降低以及气动参数发生变化的故障。
[0197]
实施例:
[0198]
选取三角翼飞行器滚转动态模型如下:
[0199][0200]
从飞行启动时刻开始进行并发学习神经网络的输出值v
ad
的计算,此时v
ad
为0,飞行开始10s后由于大风影响发生故障。
[0201]
在飞行器中设置有容错控制方法,飞行器通过检测,得到自身的φ和p值,求得并发学习神经网络的输出值v
ad
曲线如图3所示,神经网络对未知非线性干扰的拟合曲线如图4所示,并发控制效率处理的输出值为0.75,k
p
=[-1
ꢀ‑
1],
[0202]
通过实时求得伪控制量u。
[0203]
通过飞行器中的容错控制方法,使得飞行器发生故障后,可以实现对故障的处理,保证对滚转角的跟踪,实际滚转角跟踪效果如图2所示。
[0204]
对比例:
[0205]
选取与实施例相同的通用三角翼飞行器滚转动态模型,从飞行启动时刻开始进行并发学习神经网络的输出值v
ad
的计算,此时v
ad
为0,飞行开始10s后由于大风影响发生故障。
[0206]
在飞行器中没有设置容错控制方法,仅通过基础控制器,发生故障后,无法对故障进行处理,实际滚转角跟踪效果如图3所示。
[0207]
在图2至图5中,r表示滚转角指令,ref表示理想模型中的滚转角,plant表示飞行器实际飞行过程中的滚转角,nonlinear表示非线性拟合曲线。
[0208]
从图2中可以看出,通过本技术中的容错控制方法,可以及时处理问题数据,校正飞行器的伪控制量,在遇到突发状况时可以保证滚转角跟踪,进而保证无人机在故障情况下不坠毁,可以继续完成任务。
[0209]
从图5中可以看出,在未设置容错控制方法的飞行器遇到突发状况时,无法进行容
错处理,导致无人机无法跟踪滚转角,有可能导致无人机坠毁。
[0210]
综上,通过图2至图5可以看出,本技术中的容错控制方法,可以实现对控制律的在线调整,以解决未知的非线性干扰,实现飞行器的容错控制。
[0211]
以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。
再多了解一些

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

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

相关文献