1.本发明属于自动控制的技术领域,具体涉及一种多矢量螺旋桨组合浮空器故障诊断和容错控制系统及方法。
背景技术:2.多矢量螺旋桨组合浮空器在其周围配置四个矢量螺旋桨,能够长期驻空,其水平各向阻力系数相同,可以实现横向运动。由于长期高空作业,在强风扰、高辐射、昼夜温差大的环境中,系统出现故障的可能性很大,不能及时手动修复。因此,自动容错控制系统的设计很重要。
3.一个矢量螺旋桨具有两个独立的控制变量:矢量推力和矢量转角,四个螺旋桨组合共有八个控制变量,为执行器冗余配置,可以实现浮空器独立的位置和姿态控制,然而矢量推力代表力的大小,矢量转角代表力的方向,两者互相耦合产生了有方向的力。到目前为止,还没有研究公开讨论基于矢量螺旋桨故障识别的多螺旋桨组合浮空器的容错控制问题。
技术实现要素:4.本发明提供了一种多矢量螺旋桨组合浮空器故障诊断和容错控制系统及方法,通过建立线性的故障诊断容错模块,计算复杂的非线性时变故障力,简化了系统的复杂度,提高了故障辨识的精度,故障容错跟踪效果好,并能够适应执行器不同故障类型的切换,适用范围广。
5.本发明可通过以下技术方案实现:
6.一种多矢量螺旋桨组合浮空器故障诊断和容错控制系统,包括状态测量模块,所述状态测量模块与浮空器本体相连,还与目标跟踪控制器相连,所述目标跟踪控制器通过状态转换模块与控制分配模块相连,所述控制分配模块通过矢量推力模块与故障识别与估计模块相连,所述故障识别与估计模块与浮空器本体相连,还反馈连接到控制分配模块;
7.所述状态测量模块用于测量在地理坐标系下浮空器的当前位置信息和偏航角信息;
8.所述目标跟踪控制器用于接收在地理坐标系下浮空器的当前位置信息和偏航角信息,将其与设定轨迹作比较产生误差信息,以所述误差信息作为输入,利用pid控制器,生成跟踪加速度信息;
9.所述状态转换模块用于接收地理坐标系下的跟踪加速度信息,并生成机体坐标系下的跟踪控制力;
10.所述故障识别与估计模块用于识别浮空器出现故障时矢量推力偏移,生成故障控制力;
11.所述控制分配模块控制分配模块用于接收跟踪控制力和故障控制力重新分配给浮空器的间接控制力;
12.所述矢量推力模块跟据间接控制力生成每个螺旋桨的推力及矢量转角作用于故障识别与估计模块和浮空器本体系统。
13.进一步,所述故障识别与估计模块包括与控制分配模块相连的无故障控制系统、故障控制系统,所述无故障控制系统、故障控制系统均与故障识别观测器相连,所述故障识别观测器、故障测量模块与故障力生成模块相连,所述故障力生成模块还反馈连接到控制分配模块,所述故障测量模块还与浮空器本身、故障力生成模块相连;
14.所述无故障控制系统用于依据目标跟踪控制器,获取浮空器无故障时的状态变量;
15.所述故障控制系统用于获取浮空器故障状态下的状态变量;
16.所述故障识别观测器用于根据浮空器无故障状态下的状态变量、故障状态下的状态变量,辨识出推力偏移;
17.所述故障力生成模块用于根据推力偏移以及故障测量模块得到的浮空器故障状态下的矢量转角偏移,生成故障控制力。
18.进一步,所述无故障控制系统的数学模型设置为其中,x=[u v w r]
t
为无故障时浮空器在机体坐标系下的状态变量,[u v w]
t
为线性速度,r为偏航角速度,为质量矩阵,m为浮空器的质量,m
11
,m
22
,m
33
和m
66
为浮空器的附加质量,iz为浮空器的偏航转动惯量,f
gb
为重力、浮力,fa为气动力,fi为哥氏力,f
t
为实际作用的矢量螺旋桨的推力;
[0019]
所述故障控制系统的数学模型设置为其中,xr为浮空器故障时在机体坐标系下的状态变量,为无故障直接控制力,为故障直接控制力,
[0020]
所述故障识别观测器的数学模型设置为其中,表示间接控制分配矩阵,r
p
表示螺旋桨位置到浮空器体积中心的距离;
[0021]
所述故障力生成模块的数学模型设置为其中,s=[sf,s
μ
]
[0022][0023]
μ1,μ2,μ3,μ4,f1,f2,f3,f4分别表示各个螺旋桨的矢量角和推力,表示故障测量模块测量得到的浮空器故障状态下的矢量转角偏移。
[0024]
一种基于上文所述的多矢量螺旋桨组合浮空器故障诊断和容错控制系统的控制方法,根据浮空器故障时的状态变量以及在目标跟踪系统中无故障时的状态变量,计算故障时的推力偏移,再结合可测量的故障时的矢量转角偏移,计算故障控制力,将所述故障控制力补偿到目标跟踪系统生成的跟踪控制力,重新分配虚拟控制力,获得浮空器中各个螺旋桨的控制量,控制浮空器重新到达理想位置。
[0025]
进一步,其特征在于:利用如下方程式,计算故障控制力,
[0026][0027]
其中,x=[u v w r]
t
为浮空器无故障时在机体坐标系下的状态变量,[u v w]
t
为线性速度,r为偏航角速度,xr为浮空器故障时在机体坐标系下的状态变量,为质量矩阵,m为浮空器的质量,m
11
,m
22
,m
33
和m
66
为浮空器的附加质量,表示故障测量模块测量得到的浮空器故障状态下的矢量角偏移,s=[sf,s
μ
],
[0028][0029]
μ1,μ2,μ3,μ4,f1,f2,f3,f4分别表示各个螺旋桨的矢量转角和推力,
表示间接控制分配矩阵,r
p
表示螺旋桨位置到浮空器体积中心的距离。
[0030]
本发明有益的技术效果在于:
[0031]
考虑到冗余执行器配置,建立了多矢量螺旋桨的线性耦合故障模型,从而实现了多执行器的多类故障的容错控制;通过间接控制分配矩阵,把空间控制力转换到矢量推力平面内,得到常数的间接控制系数矩阵,使计算伪逆时一直有解,增加了控制器的可靠性;依据实际使用情况,选择矢量转角偏差作为测量量,获得的自由故障变量,将推力偏移作为识别量,假设浮空器本体的状态加速度是可测量的,通过故障识别观测器确定的独立故障变量;为了实现精确辨识,选择缓慢变化的推力偏移作为辨识变量,提高故障辨识的精度;通过线性故障模型计算复杂的非线性时变故障力,简化了系统的复杂度。仿真结果表明,该方法能够准确的识别推力偏移故障的大小,故障容错跟踪效果好,并能够适应执行器不同故障类型的切换。
附图说明
[0032]
图1是本发明的浮空器在机体坐标系下的结构示意图;
[0033]
图2是本发明的推力局部分解和向机体坐标系的映射;
[0034]
图3是本发明的容错控制系统的总体结构框图;
[0035]
图4是本发明的容错控制系统状态跟踪结果;
[0036]
图5是本发明的实际输出矢量推力和矢量推力偏移设置;
[0037]
图6是本发明的实际输出矢量转角和矢量转角偏移设置;
[0038]
图7是本发明的矢量转角的理论值和辨识值,其中
△
f1,
△
f2,
△
f3,和
△
f4是执行器故障的理论值;d1,d2,d3和d4是执行器故障的识别值;
[0039]
图8是本发明的故障力的理论值和估计值,其中
△fx
,
△fy
,
△fz
和
△fψ
为故障直接控制力的理论值;d1,d2,d3和d4是故障直接控制力的估计值。
具体实施方式
[0040]
下面结合附图及较佳实施例详细说明本发明的具体实施方式。
[0041]
如图3所示,本发明提供了一种多矢量螺旋桨组合浮空器故障诊断和容错控制系统,包括状态测量模块,该状态测量模块与浮空器本体相连,还与目标跟踪控制器相连,该目标跟踪控制器通过状态转换模块与控制分配模块相连,该控制分配模块通过矢量推力模块与故障识别与估计模块相连,该故障识别与估计模块与浮空器本体相连,还反馈连接到控制分配模块;该状态测量模块用于测量在地理坐标系下浮空器的当前位置信息和偏航角信息;该目标跟踪控制器用于接收在地理坐标系下浮空器的当前位置信息和偏航角信息,将其与设定轨迹作比较产生误差信息,以所述误差信息作为输入,利用pid控制器,生成跟踪加速度信息;该状态转换模块用于接收地理坐标系下的跟踪加速度信息,并生成机体坐
标系下的跟踪控制力;该故障识别与估计模块用于识别浮空器出现故障时矢量推力偏移,生成故障控制力;该控制分配模块控制分配模块用于接收跟踪控制力和故障控制力重新分配给浮空器的间接控制力;该矢量推力模块跟据间接控制力生成每个螺旋桨的推力及矢量转角作用于故障识别与估计模块和浮空器本体系统。考虑到冗余执行器配置,建立了多矢量螺旋桨的故障诊断容错模型,通过以浮空器出现故障时执行器的矢量转角偏移和推力偏移为变量,生成故障控制力,然后将其补偿到依据目标跟踪控制器的目标跟踪控制系统产生的跟踪控制力,重新计算分配给每个螺旋桨所需的推力及其对应的矢量转角,从而使浮空器重新到达理想位置,由于执行器故障时的推力偏移是恒定或者缓慢变化的,因此故障诊断容错模型为线性模型,降低了整个系统的复杂度,提高了故障辨识的精度,故障容错跟踪效果好,并能够适应执行器不同故障类型的切换,适用范围广。
[0042]
该故障识别与估计模块包括与控制分配模块相连的无故障控制系统、故障控制系统,该无故障控制系统、故障控制系统均与故障识别观测器相连,该故障识别观测器、故障测量模块与故障力生成模块相连,该故障力生成模块还反馈连接到控制分配模块,该故障测量模块还与浮空器本身、故障力生成模块相连;该无故障控制系统用于依据目标跟踪控制器,获取无故障状态下的状态变量;该故障控制系统用于获取浮空器故障状态下的状态变量;该故障识别观测器用于根据无故障状态下的状态变量、浮空器故障状态下的状态变量,辨识出推力偏移;该故障力生成模块用于根据推力偏移以及故障测量模块得到的浮空器故障状态下的矢量转角偏移,生成故障控制力。具体如下:
[0043]
1、建立无故障控制系统
[0044]
考虑回转对称浮空器的特点以及计算方便,假定地理坐标系为[x、y、z],机体坐标系为[x、y、z],其原点为机体的体积中心,对应的x轴、y轴、z轴上的速度为[u、v、w]。
[0045]
如图1所示,该浮空器具体为带有四个矢量螺旋桨的椭圆外形飞艇,四个矢量螺旋桨对称分布于浮空器的直径处,其高度由浮力控制,不考虑其姿态运动,则浮空器的动力学模型为
[0046][0047]
其中,x=[u v w r]
t
为浮空器无故障时在机体坐标系下的状态变量,[u v w]
t
为线性速度,r为偏航角速度,为浮空器无故障时在机体坐标系下的状态变量的一阶导数,为质量矩阵,m为浮空器的质量,m
11
,m
22
,m
33
和m
66
为浮空器的附加质量,iz为浮空器的偏航转动惯量,方程右边f
gb
为重力、浮力,fa为气动力,fi为哥氏力,f
t
为实际作用的矢量螺旋桨的推力。由于浮空器的吊舱和负载置于舱下,在一定程度上提高了系统的稳定性,因此,在本发明的研究中,假设浮空器的横滚和俯仰偏移足够小,且可以忽略不计。
[0048]
矢量螺旋桨的局部坐标系建立在矢量旋转平面中,在该平面中,螺旋桨可绕轴偏转,范围为[-180
°
,180
°
],每个螺旋桨的矢量转角用μi(i=1,2,3,4)表示,产生的推力用fi(i=1,2,3,4)表示,如图2所示。在矢量旋转平面中,推力可分解为两个正交力,即水平f
ih
和垂直分量f
iv
:
[0049][0050]
该浮空器有四个矢量螺旋桨,有八个控制变量,称为间接控制力f
hv
:f
hv
=[f
1h f
2h f
3h f
4h f
1v f
2v f
3v f
4v
]
t
,这样就可以将偏航和位置控制通过把间接控制力f
hv
映射到机体坐标系下,其无故障时候螺旋桨对浮空器的直接控制力如下
[0051][0052]
其中,表示间接控制分配矩阵,r
p
表示从螺旋桨位置到浮空去体积中心的距离,这里t设计为常数矩阵,在后续的控制器设计中很重要。
[0053]
2、建立故障控制系统
[0054][0055]
其中,xr为故障下系统的状态变量,为无故障直接控制力,为故障时直接力,故障包括矢量推力偏移和矢量转角偏移。该模型建立了多矢量螺旋桨的耦合故障模型,基于此实现了多执行器的多类故障的容错控制。
[0056]
此时矢量螺旋桨的故障可分为推力偏移和矢量转角偏移,分别导致矢量推力和矢量转角的固定初始偏移。当推力和矢量角偏移同时发生时候,故障就会引起间接控制力的改变
[0057][0058][0059]
这里代表矢量螺旋桨i产生的故障间接控制力。
[0060]
依据矢量螺旋桨推力模型,则有
[0061][0062]
其中,δfi=[
△
f1ꢀ△
f2ꢀ△
f3ꢀ△
f4],δμi=[
△
μ1ꢀ△
μ2ꢀ△
μ3ꢀ△
μ4]。定义s=[sf,s
μ
],则
[0063][0064]
3、建立故障观测识别器
[0065]
该故障识别观测器是假设飞行器的实际状态加速度是可以测量的。
[0066][0067]
结合有无故障的动力学模型推导出执行器故障的理论表达:
[0068][0069]
这里δfi和δμi分别是矢量螺旋桨i的故障推力偏移和故障转角偏移。给定冗余致动器配置,分配矩阵t的维数为4
╳
8,因此故障模型为欠定方程,理论上有无数的解。为了获得唯一的故障解决方案,需要设计四个独立变量和四个自由变量,并且自由变量由传感器测量确定,则自变量具有唯一的解决方案。考虑到矢量螺旋桨,矢量转角偏差可以比推力偏差更精确地测量,因此矢量角偏差被设计为可测量的自由变量,而矢量推力偏移做为独立变量,进行识别。使用以下滤波器根据以下参数估计推力故障偏移大小
[0070][0071]
这里d代表推力故障偏移大小,与浮空器的无故障模型输出的理论加速度和故障系统测量的实际加速度有关系,和分别代表估计的推力故障偏移大小和估计的推力故障偏移的微分,这里p是对角线系数矩阵,每一项为正。定义有
[0072][0073]
hurwitz条件满足估计误差趋近于零。因此有
[0074][0075]
这里即为估计出的推力故障偏移大小。
[0076]
故障识别观测器设计的是直接选择执行器故障δfi作为识别变量,而不是合成后的故障力,这是因为故障力在跟踪中是非线性时变的,源于故障力系数矩阵是矢量转角的三角函数,在跟踪过程中变化迅速,因此难以准确识别。然而,在实际情况下,执行器故障(推力偏移)是恒定的或缓慢的时变的,因此可以通过线性故障观测器准确识别。
[0077]
4、建立故障控制力模块
[0078]
该故障控制力d的计算如下:
[0079][0080]
这里为矢量转角偏移,通过传感器测量获得,而为利用故障识别观测器估计出的推力故障偏移大小。该模块可以通过线性故障模型计算出复杂的非线性故障力,简化了控制器设计的复杂成度。
[0081]
5、目标跟踪控制器设计
[0082]
设定当前状态为p(x,y,z,ψ),目标状态为pc(xc,yc,zc,ψc),通过pid控制器计算跟踪加速度具体如下
[0083][0084][0085][0086][0087]
而偏航角度可以设定为ψc=atan2(y
c-y,x
c-x)或者定值。
[0088]
6、建立状态测量模块
[0089]
该状态测量单元用于获得在地理参考坐标系下浮空器的位置和偏航角为η=[x y z ψ]
t
,则在地面参考系下浮空器的状态和机体坐标系下状态关系为
[0090][0091]
其中变换矩阵
[0092][0093]
7、建立状态转换模块
[0094]
该状态转换模块用于把跟踪控制器计算得到的跟踪加速度转到机体坐标系下,计算跟踪控制力
[0095][0096]
8、控制分配模块
[0097]
直接控制力f
t
包括跟踪控制力和故障控制力
[0098]ft
=u+d
[0099]
动态逆实现间接控制力f
hv
的计算
[0100]fhv
=pinv(t)f
t
,
[0101]
这里pinv(t)是伪逆t.控制矩阵的选择t在求逆的过程很重要,为了避免奇异,这里t为常数矩阵,其逆也是常数,所以总会有解。
[0102]
9、建立矢量推力模块
[0103]
依据矢量推力模型,执行器的输出变量可以计算
[0104][0105]
μi=atan2(f
ih
,-f
iv
)
[0106]
通过推力和转角的控制获得跟踪控制力f
t
,进而实现目标跟踪。
[0107]
本发明还提供了一种基于上文所述的多矢量螺旋桨组合浮空器故障诊断和容错控制系统的控制方法,根据浮空器故障时的状态变量以及在目标跟踪系统中理论状态的状态变量,计算故障时的推力偏移,再结合故障时的矢量转角偏移,计算故障控制力,将所述故障控制力补偿到目标跟踪系统生成的跟踪控制力,重新分配虚拟控制力,获得浮空器中各个螺旋桨的控制量,控制浮空器重新到达理想位置。
[0108]
具体地,利用如下方程式,计算故障控制力,
[0109][0110]
其中,x=[u v w r]
t
为浮空器无故障时在机体坐标系下的状态变量,[u v w]
t
为线性速度,r为偏航角速度,为浮空器无故障时在机体坐标系下的状态变量的一阶导数,xr为浮空器故障时在机体坐标系下的状态变量,为浮空器故障时在机体坐标系下的状态变量的一阶导数,为质量矩阵,m为浮空器的质量,m
11
,m
22
,m
33
和m
66
为浮空器的附加质量,表示故障测量模块测量得到的浮空器故障状态下的矢量转角偏移,s=[sf,s
μ
],
[0111][0112]
μ1,μ2,μ3,μ4,f1,f2,f3,f4分别表示各个螺旋桨的矢量转角和推力,表示间接控制分配矩阵,r
p
表示螺旋桨位置到浮空器体积中心的距离。
[0113]
对本发明的控制法进行仿真验证
[0114]
初始状态p(0,0,0,0),跟踪目标状态pc(-20,-10,30,0).故障设置如下
[0115]
[0116]
故障识别观测器参数
[0117]
p=diag(p1,p2,p3,p4)=diag(0.1,0.1,0.1,0.1),
[0118]
跟踪控制器参数
[0119]kp
=diag(k
pu
,k
pv
,k
pw
,k
pr
)=diag(0.1,0.1,0.05,1)
[0120]ki
=diag(k
iu
,k
iv
,k
iw
,k
ir
)=diag(0.0,0.0,0.0,0.05)
[0121]
kd=diag(k
iu
,k
iv
,k
iw
,k
ir
)=diag(1,1,1,2)
[0122]
图4显示了50秒和100秒故障阶跃变化时的跟踪结果。当执行器故障切换为50秒和100秒时,偏航角明显振荡,在位置跟踪中抑制故障影响的同时,高度跟踪显示高度跟踪的轻微波动。
[0123]
图5和6显示跟踪和执行器故障的控制输出,图7和8显示了执行器故障识别和故障力估计,从中可以看出,随着执行器故障切换变化,故障识别在切换时刻有一个过渡过程,稳定值和理论值与图7所示一致。基于模型的输出故障力估计有效跟踪时变故障力,如图8所示。
[0124]
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,因此,本发明的保护范围由所附权利要求书限定。