具体实施方式
本发明四旋翼飞行器容错控制方法的容错控制实现原理如图1所示,该方法主要包括如下步骤:
步骤1:根据四旋翼飞行器的数学模型,建立飞行器存在系统故障情况下的姿态模型;
步骤2:根据步骤1中所述的姿态模型,推出飞行器系统故障估计的自适应律;
步骤3:根据步骤1中所述的姿态模型,建立飞行器执行器(电机)失效故障的传递函数;
步骤4:根据步骤3中所述的传递函数,得出飞行器执行器失效故障估计的自适应律;
步骤5:根据步骤1中所述的姿态模型和步骤3中所述的传递函数,建立飞行器带有系统故障和执行器失效故障的复合故障姿态模型;
步骤6:根据步骤5中所述的复合故障姿态模型,设计出飞行器存在系统故障以及飞行器执行器失效故障下的容错控制器,从而实现飞行器的容错控制。
下面对每个步骤作进一步详细说明:
步骤1中:飞行器存在系统故障情况下的姿态模型
本发明中的四旋翼飞行器存在系统故障情况下的姿态模型是在(Z.Zuo.Trajectory trackingcontrol design with command-filter compensation for a quadrotor.IET Control Theory andApplication,2010,4(11):2343-2355.)的基础上提出的,该姿态模型的具体建模过程可参见此文献,该姿态模型为:
式(1)、(2)中:Θ=(φ,θ,ψ)T为飞行器的姿态角,φ为滚转角,θ为俯仰角,ψ为偏航角;Ω=(p,q,r)T为飞行器绕质心运动的角速率,p为滚转角速率,q为俯仰角速率,r为偏航角速率;β(t-tf)是一个单位阶跃函数,表示系统在tf时刻出现系统故障;ρ1、ρ2分别表示飞行器姿态角回路和角速率回路的系统故障大小。
W为姿态角与绕质心运动的角速率之间的转换关系,其表达式如下:
J为飞行器的惯性矩阵,其表达式如下:
式(4)中:Jx、Jy、Jz分别为机体x轴、y轴、z轴的转动惯量。
Ga为飞行器由电机转动而产生的陀螺力矩,其表达式为:
式(5)中:Jr为电机的转动惯量;ze=(0,0,1)T;ωi为第i个电机的转速。
M为飞行器的控制分配矩阵,其表达式为:
式(6)中:b、d分别为升力和阻力系数;l为旋翼到飞行器质心的距离。
为飞行器的控制输入,其表达式为: 其中i=1,2,3,4为飞行器四个执行器(电机)的转速平方。
步骤2中:飞行器的系统故障估计自适应律
四旋翼飞行器的状态Θ和Ω都是可测的,根据飞行器存在系统故障情况下的姿态模型,定义状态观测器如下:
式(7)中:是系统故障估计向量;κ1,κ2>0是(3×3)的矩阵;和是预测误差,分别为式(7)所示状态观测器的输出。
为下式所示滤波器的输出,滤波器为:
式(8)中:1∈R3×1的向量。
定义和为系统故障估计误差,由式(1)、(2)和(7)可得:
定义:
结合式(8)、(9),则η1、η2可表示为:
故,系统故障估计自适应律为:
式(12)中:γ1、γ2为设计的对角参数矩阵;表示在tf时刻ρ1和ρ2的故障值。
步骤3中:执行器失效故障的传递函数
直流电机的模型可以近似为惯性环节,并描述为:
式(13)中:α=1/Tm,Tm为惯性时间常数;s为传递函数的符号;ωm(s)为直流电机的输出转速;u(s)为直流电机的输入量。
四旋翼飞行器的实时输入量为每个直流电机转速的平方,所以四旋翼飞行器每个执行器的实时动态模型可表示为以下的传递函数形式:
式(14)中:i=1,2,3,4。
当飞行器的执行器(电机)无失效故障,式(13)和(14)的输出增益fi、ki均为1;当发生失效故障后,fi、ki分别降到[εi,1)和区间上,其中εi<1,εi为大于等于0且小于1的常数。假设fi、ki为分段的固定百分比,即则对时间的导数可写成
因此,发生故障后的直流电机模型和四旋翼执行器的实时传递函数可描述为:
式(15)、(16)中:i=1,2,3,4;ki=fi 2,ki为故障执行器的输出增益;(s)为故障执行器的输出量;为故障执行器的输入量。
步骤4中:执行器失效故障估计的自适应律
本发明提出一种基于执行器输入输出模型的故障估计自适应方法,其结构类似于MIT模型参考自适应控制,该故障估计器的结构原理如图2所示。
具体实现步骤如下:
定义故障执行器和正常执行器传递函数的广义误差为:
选取性能指标泛函数为:
当可调增益(执行器失效故障估计值)等于ki(执行器失效故障实际值)时,则可使得性能指标J*达到最小值。采用梯度法,首先求出J*对的梯度:
根据梯度法可知,值应沿梯度下降的方向移动,在一定的步距下,的变化量将取值为:
式(20)中λ>0。
调整后的为:
式(21)中:为可调增益的初始值,
为了获得调整的自适应规律,式(21)的两边对时间t求导得:
由式(22)可见,为了获得调整的自适应规律必须计算由图2可以看出,此类故障估计器的的传递函数为:
将式(23)变形为:
将频域方程(24)进行Laplace反变换为时域方程:
式(25)中p为微分算子。
将式(25)的两边对求导得:
而故障执行器的输入与输出有下列关系:
由式(26)和(27)可知,和成比例关系。为了抗干扰起见,实际系统中常避免使用微分信号而采用故障执行器的输出,因为两者之间仅差一个比例常数,所以由式(22)得:
式(28)中:μ为设计的常数;为执行器发生故障时的输出转速;t为时间。
式(28)就是执行器的失效故障估计自适应规律。
步骤5中:飞行器的复合故障姿态模型
由于四旋翼飞行器执行器(电机)的动态非常快,故式(13)中α>>1。将式(16)写成微分方程并且方程两边同除以α2可得:
因为α>>1,可得1/α2≌0,2/α≌0,则可获得低阶执行器故障动态模型为:
因此,飞行器带有系统故障和执行器失效故障的复合故障姿态模型为:
式(31)中:K=diag{k1,k2,k3,k4}是以k1、k2、k3、k4为对角线元素的对角矩阵,k1、k2、k3、k4为飞行器四个故障执行器的输出增益(失效故障实际值);为执行器的控制输入。
步骤6中:飞行器姿态系统的容错控制器
根据系统故障估计和执行器失效故障估计设计飞行器的容错控制器,其包括:
1)姿态角回路控制器:
式(32)中:c1为设计的第一正定对角阵;ZΘ=Θ-Θd为姿态角跟踪误差,Θd为飞行器的期望姿态角指令;r1是为消除估计误差的鲁棒性,Φ1为的上界,可表示为为姿态角回路的系统故障估计误差,为姿态角回路的系统故障估计向量。
2)角速率回路容错控制器:
式(33)中:c2为设计的第二正定对角阵;ZΩ=Ω-Ωd为角速率跟踪误差;是以为对角线元素的对角矩阵,为飞行器四个执行器失效故障的估计值;r2是为消除估计误差的鲁棒性,Φ2为的上界,可表示为为角速率回路系统故障估计误差,为角速率回路系统的故障估计向量;uvsc为非线性滑模项。
下面介绍本发明的实施例。
以某小型四旋翼飞行器为对象,在Matlab/Simulink环境下对其进行仿真验证,以验证本发明的四旋翼飞行器容错控制方法的有效性。四旋翼飞行器数学模型的具体参数如下:m=0.468Kg,l=0.225m,Jx=4.856×10-3Kg.m2,Jy=4.856×10-3Kg.m2,Jz=8.801×10-3Kg.m2,Jr=3.357×10-5Kg.m2,b=2.98×10-5NS2/rad2,d=1.14×10-6NS2/rad2。
情况1:假设飞行器只发生系统故障,并假设系统故障为如下形式:
系统故障估计算法的参数选择为:γ1=γ2=diag([600,600,600]),κ1=κ2=diag([2,2,2]);容错控制器的参数选取为:c1=diag{0.4,0.4,0.4},c2=diag{1,1,1},其仿真结果如图3~图5所示,表示系统相应的状态(姿态角和角速率)和系统故障的估计。由仿真结果可以看出,利用在线系统故障估计、补偿以及容错控制器,当系统故障发生后,容错控制系统的状态能在短时间之内很好地跟踪设定值。可见本发明对于系统故障的影响具有很好的容错能力。
情况2:假设飞行器只发生执行器(电机)失效故障。
假定发生的执行器故障为:在t=1s时,前面电机M1丧失效力50%,而且在t=8s时,左边电机M4丧失效力60%,即四旋翼飞行器的实时执行器分别在t=1s和t=8s丧失效力25%和36%。
执行器故障估计器自适应律设计为:容错控制器的参数选取为:c1=diag{0.4,0.4,0.4},c2=diag{1,1,1}。当执行器在t=1s和t=8s发生上述失效故障时,仿真结果如图6~图8所示,表示系统相应的状态(姿态角和角速率)和执行器失效故障值的估计。由仿真结果可以看出,没有容错控制的系统,当执行器故障发生后,飞行器的姿态角会发生较大波动,而不能很好地跟踪设定值。采用本发明的容错控制器,在发生执行器失效故障后,容错控制系统的状态能在短时间之内很好地跟踪设定值。
情况3:系统故障和执行器故障同时存在,假设飞行器在飞行过程中先后发生第一种系统故障和第二种执行器故障,系统故障和执行器故障估计算法的参数选择同情况1和情况2。当系统在t=5s时发生系统故障,在t=1s、t=8s发生如情况2所述的执行器故障,仿真结果如图9~图11所示,表示系统的相应状态(姿态角和角速率)以及系统故障和执行器失效故障值的估计。由仿真结果可以看出,利用本发明的容错控制器,在发生系统故障和执行器失效故障后,容错控制系统的状态仍能在短时间之内很好地跟踪设定值,而没有进行容错控制的系统,当执行器发生故障后,系统的状态会发生较大波动,而不能很好地跟踪设定值。
实验表明,本发明不仅对单类型故障有较好的容错能力,对于系统故障和执行器故障甚至多类型的故障,仍然具有很好的容错控制能力。
在本说明书中未作详细描述的内容属本领域技术人员的公知技术。