基于LPV系统的三自由度直升机控制方法与流程

文档序号:13766965阅读:616来源:国知局
本发明是针对基于LPV系统的三自由度直升机控制方法,这种控制方法是基于三自由度直升机的线性参数变化(Linearparametervarying)模型,设计增益调度控制器,优化该直升机系统的控制性能。
背景技术
:三自由度直升机系统是一类典型的非线性系统,而传统的控制方法例如PID控制、传统增益调度控制针对的是其线性化模型,没有很好的全局控制效果,且当三自由度直升机系统飞行过程中系统参数变化过快时,往往不能得到良好的系统响应。而且传统的控制器设计方法中控制器性能好坏与平衡点的选择息息相关,模型个数少,会影响系统精确性,模型个数选取过多,控制器的设计会变得复杂,硬件要求也会变得苛刻,不利于工程实现。正是基于以上考虑,本文发明了一种基于三自由度直升机系统LPV模型的增益调度控制器设计方法。令三自由度直升机这个非线性系统的动态特性依赖于实时可测的外部参数,同时又可以采用线性控制理论的方法来设计增益调度控制器,使得控制器的增益可以随外部参数的变化而变化,不需要再为一个系统设计多个控制器,以控制器的切换达到全局控制的目的。其次,根据LPV形式建立的直升机模型,我们也可以通过参数依赖型二次Lyapunov函数,理论上证明其在工作区间内的稳定性。技术实现要素:本发明为了克服传统的三自由度直升机系统控制器设计与应用过程中存在的不足,创新发明了一种新的控制器设计方法,即基于三自由度直升机系统LPV模型的增益调度控制方法。该方法不仅适合于高度非线性的三自由度直升机,同时也为控制其他的非线性系统提供了一个方向。本发明所采用的技术方案如下:根据实际的三自由度直升机系统主体结构与运动方式,建立高度轴运动方程、俯仰轴运动方程、旋转轴运动方程,选取合适的系统输入、可变参数、状态向量与观测输出,并拟合LPV系统的概念建立三自由度直升机系统的LPV模型。得到数学模型之后在配套的计算机系统MATLAB软件中以M语言建立三自由度直升机系统的计算机模型,并计算得到增益调度控制器的相关参数。在此基础上,利用增益调度控制器参数在Simulink中搭建控制器模块,并与三自由度直升机系统的计算机模型构成反馈回路,联动官方软件Quarc对被控对象进行控制。通过MATLAB给定跟踪信号,经计算机计算得到控制电压后,驱动Quarc将数据写入数据采集卡,控制信号流经功率放大器对三自由度直升机主体进行控制。在三自由度直升机系统主体上还存在三个自由度编码器能够采集实际的角度信息并传输给外部的数据采集卡,作为整个被控系统的反馈信息。当采用这种控制器设计方法后,整个设计过程将变得异常简洁,而且只需设计一个控制器,就能对三自由度直升机系统的全局状态进行良好的控制。三自由度直升机的增益调度控制方法,包括如下步骤:步骤1.建立三自由度直升机系统的LPV模型;1.1,根据三自由度直升机系统的运动特性能够分析其受力情况,首先建立高度轴运动方程。直升机前后电机带动螺旋桨,产生的升力分别为Ff与Fb,升力之和为Fm=Ff+Fb,前后螺旋桨质量相同,mf=mb,配重块质量为mw。根据力矩平衡方程能够得到:Jϵϵ··=KfLa(Uf+Ub)cos(ρ)-Tgcos(ϵ)---(1)]]>Tg为有效重力矩,代表配重块与螺旋桨质量对力矩的影响,表示如下:Tg=MfgLa+MbgLa-MwgLw(2)重力矩是一个常数,而且通过式2可以看出,当加长配重块到旋转轴之间的距离Lw就可以消除它的影响,因此建立高度轴运动方程时可以忽略其影响。最后得到高度轴运动方程如下:ϵ··=KfLa(Uf+Ub)Jϵ---(3)]]>为高度轴的旋转加速度;ε为高度角;p为俯仰角;g为重力加速度;Jε为高度轴的转动惯量,单位是Kg·m2;Kf为电机推力系数,单位为N/V;Uf和Ub分别为前后电机的控制输入电压,单位为V;mf为螺旋桨的质量,单位为Kg;mw为配重块的质量,单位为Kg;La为旋转轴到电机的距离,单位为m;Lw为旋转轴到配重块中心的距离,单位为m。1.2,俯仰角的变化是靠两个电机的电压差实现的,当电机存在电压差时,俯仰轴与水平线会存在一个夹角,电机产生的水平方向的力能够引起旋转角的变化。但是对于俯仰角度的控制,却与直升机当前的高度和旋转的角度是无关的,这也说明了当直升机处于运动状态中,选择的参数变化时,关于俯仰角的控制策略是不变的。同理建立俯仰轴运动方程如下:Jpp··=KfLh(Uf-Ub)---(4)]]>为俯仰轴的旋转加速度;Jp为俯仰轴的转动惯量,Jp=2mfLh2,单位是Kg·m2;Lh为俯仰轴到电机中心的距离,单位是m。1.3,同高度轴和俯仰轴类似,建立旋转轴初始运动方程如下所示:Jλλ··=KfLa(Uf+Ub)cos(ϵ)sin(p)+KfLh(Uf-Ub)sin(ϵ)---(5)]]>在这里不能再忽略高度角和俯仰角对旋转角的控制影响,旋转角的变化与它们存在着耦合关系。当对旋转角进行控制时,依靠的是俯仰角度的改变,形成横向作用力,实际应用中为了系统稳定性考虑,产生的俯仰角度p是很小的,其实p≈sin(p),为了能准确地建立LPV模型,将运动方程化为如下形式:λ··=KfLa(Uf+Ub)cos(ϵ)Jλp+KfLh(Uf-Ub)sin(ϵ)Jλ---(6)]]>为旋转轴的旋转加速度;ε和p分别为高度角和俯仰角;Jλ为俯仰轴的转动惯量,Jλ=2mfLh2+2mfLa2+mwLw2,单位是Kg·m2。1.4,为了建立三自由度直升机系统的LPV模型,定义状态变量x和输入参数u分别如下(7)-(8)所示:xT=ϵpλϵ··p··λ··---(7)]]>uT=[UfUb](8)xT,uT分别为x,u的转置,定义yT输出为高度角、俯仰角和旋转角的矩阵:yT=[εpλ](9)最后根据各个轴的运动方程,建立起的直升机LPV模型如下:x·=Ax+Buy=Cx+Du---(10)]]>其中:A=0001000000100000010000000000000(2mfLa-mwLw)gJλcos(ϵ)0000]]>B=000000KfLaJϵKfLaJϵKfLhJp-KfLhJp00C=100000010000001000D=000000]]>查阅三自由度直升机技术手册,可以得到各个系统参数的值,随之能够计算得到各个轴的转动惯量。其中:Kf=0.1188(N/V)mf=0.713(Kg)mw=1.87(Kg)La=0.660(m)Lh=0.178(m)Lw=0.470(m)Jε=1.034(Kg·m2)Jp=0.045(Kg·m2)Jλ=1.079(Kg·m2)步骤2.设计并应用增益调度控制器;2.1,根据步骤1得到三自由度直升机系统的LPV模型,在MATLAB中建立被控系统的计算机模型,为得到增益调度控制器参数做准备,所建立的计算机模型以M语言表示如下:%定义S_0A_0=[000100;000010;000001;000000;000000;000000];B_0=[00;00;00;0.07580.0758;0.4680-0.4680;00];C_0=[100000;010000;001000];D_0=[00;00;00];S_0=ltisys(A_0,B_0,C_0,D_0);%定义S_p1A_p1=[000000;000000;000000;000000;000000;00.56580000];B_p1=[00;00;00;00;00;00];C_p1=[000000;000000;000000];D_p1=[00;00;00];S_p1=ltisys(A_p1,B_p1,C_p1,D_p1,0);由于在实际系统中俯仰角不是任意变化的,当俯仰角较大时,直升机系统旋转角变化速率过快,易导致系统不稳定,因此这里规定俯仰角变化范围为[-π/6,π/6],即可变参数θ∈[0.866,1],θ=cos(ε),且认为可变参数速率建立的直升机系统模型pds_hel如下:%定义参数变化范围range=[0.8661];rate=[-0.50.5];pv=pvec('box',range,rate);pds_hel=psys(pv,[S_0S_p1]);2.2,设计三自由度直升机系统闭环反馈回路,并选择适当的权重函数;选择权重函数并通过M语言建立反馈回路如下:[pdP,nmc]=sconnect('r(3)','e1=r(1)-G(1);e2=r(2)-G(2);e3=r(3)-G(3);K','K:e1;e2;e3','G:K',pol_hel);其中每一个参数均以引号隔开,意义如下:①第一个参数r(3)代表输入信号,同时也指出输入信号的维数。这个系统中只有唯一的输入信号,就是标量参考信号r(3)。②第二个参数分成4部分,分别是e1=r(1)-G(1),e2=r(2)-G(2),e3=r(3)-G(3)以及K。因为我们需要观测系统状态,前面3个部分代表参考信号和直升机系统输出之间的差值,第4部分则代表控制输入u。③第三个参数K:e1;e2;e3不仅定义了控制器的名字,同时也为其指定了输入,控制器输入即为参考信号和直升机输出之间的差值。④其余参数都是成对出现的,并且为回路中的系统定义了输入列表和系统矩阵。G:K表明直升机系统G的输入是控制器K的输出,pol_hel即为系统状态空间模型的多胞形式,可由仿射参数依赖模型转换而来。2.3,计算增益调度控制器参数,搭建控制器Simulink模块;相应的控制器参数能够通过以下语句计算得到:[gopt,pdK]=hinfgs(Paug,nmc)其中pdK中即包含了增益调度控制器的各个参数;2.4,在Simulink中连接控制器模块与三自由度直升机模块,构成反馈回路;三自由度直升机整体硬件构成包括直升机主体、计算机系统、数据采集卡、功率放大器、控制手柄与急停开关。此时能够通过MATLAB给定跟踪信号,经计算机计算得到控制电压后联动官方软件QuaRC将数据写入数据采集卡,然后控制信号流经功率放大器,直接对直升机主体进行控制。外部的数据采集卡还会读取各个自由度编码器数值,作为半实物仿真平台的反馈信息,使整个系统构成闭环回路。本发明具有以下几个优点:1.充分保留三自由度直升机的非线性特性,具有更小的保守性,更精确的控制性能。2.直接设计一个控制器,不需要通过切换局部控制器达到控制要求,极大简化了控制器设计过程,同时也减轻了硬件负担。3.拥有更完善的理论支持能够证明被控系统即三自由度直升机的鲁棒性能。4.本发明所对应的三自由度直升机是一个开放式的结构,对于不同的非线性系统,均才采用本发明思想,设计增益调度控制器。附图说明图1是本发明的三自由度直升机系统受力图图2是本发明的闭环反馈回路示意图图3是本发明的增益调度控制器Simulink模块示意图图4是本发明的三自由度直升机控制连接模块图图5是本发明的控制器控制效果图图6是传统PID控制器控制效果图具体实施方式下面结合附图对本发明的设计过程即控制效果进行说明:本发明所述的三自由度直升机的增益调度控制方法,包括如下步骤:步骤1.建立三自由度直升机系统的LPV模型1.1,三自由度直升机系统的主体结构与受力情况如图1所示,图中轴1代表高度轴,轴2代表俯仰轴,轴3代表旋转轴,结构4为前电机,结构5为电机,结构6为配重块。首先建立高度轴运动方程。直升机前后电机带动螺旋桨,产生的升力分别为Ff与Fb,升力之和为Fm=Ff+Fb,前后螺旋桨质量相同,mf=mb,配重块质量为mw。根据力矩平衡方程能够得到:Jzϵ··=KfLa(Uf+Ub)cos(p)-Tgcos(ϵ)---(1)]]>Tg为有效重力矩,代表配重块与螺旋桨质量对力矩的影响,表示如下:Tg=mfgLa+mbgLa-mwgLw(2)重力矩是一个常数,而且通过式2可以看出,当我们加长配重块到旋转轴之间的距离Lw就可以消除它的影响,因此建立高度轴运动方程时可以忽略其影响。最后得到高度轴运动方程如下:ϵ··=KfLa(Uf+Ub)Jϵ---(3)]]>为高度轴的旋转加速度;ε为高度角;p为俯仰角;g为重力加速度;Jε为高度轴的转动惯量,单位是Kg·m2;Kf为电机推力系数,单位为N/V;Uf和Ub分别为前后电机的控制输入电压,单位为V;mf为螺旋桨的质量,单位为Kg;mw为配重块的质量,单位为Kg;La为旋转轴到电机的距离,单位为m;Lw为旋转轴到配重块中心的距离,单位为m。1.2,俯仰角的变化是靠两个电机的电压差实现的,当电机存在电压差时,俯仰轴与水平线会存在一个夹角,电机产生的水平方向的力能够引起旋转角的变化。但是对于俯仰角度的控制,却与直升机当前的高度和旋转的角度是无关的,这也说明了当直升机处于运动状态中,我们选择的参数变化时,关于俯仰角的控制策略是不变的。同理根据图1建立俯仰轴运动方程如下:Jpp··=KfLh(Uf-Ub)---(4)]]>为俯仰轴的旋转加速度;Jp为俯仰轴的转动惯量,Jp=2mfLh2,单位是Kg·m2;Lh为俯仰轴到电机中心的距离,单位是m。1.3,同高度轴和俯仰轴类似,建立旋转轴初始运动方程如下所示:Jλλ··=KfLa(Uf+Ub)cos(ϵ)sin(p)+KfLh(Uf-Ub)sin(ϵ)---(5)]]>在这里不能再忽略高度角和俯仰角对旋转角的控制影响,旋转角的变化与它们存在着耦合关系。当我们对旋转角进行控制时,依靠的是俯仰角度的改变,形成横向作用力,实际应用中为了系统稳定性考虑,产生的俯仰角度p是很小的,其实p≈sin(p),为了能准确地建立LPV模型,将运动方程化为如下形式:λ··=KfLa(Uf+Ub)cos(ϵ)Jλp+KfLh(Uf-Ub)sin(ϵ)Jλ---(6)]]>为旋转轴的旋转加速度;ε和p分别为高度角和俯仰角;Jλ为俯仰轴的转动惯量,Jλ=2mfLh2+2mfLa2+mwLw2,单位是Kg·m2。1.4,为了建立三自由度直升机系统的LPV模型,我们定义状态变量x和输入参数u分别如下(7)-(8)所示:xT=ϵpλϵ··p··λ··---(7)]]>uT=[UfUb](8)xT,uT分别为x,u的转置,定义yT输出为高度角、俯仰角和旋转角的矩阵:yT=[εpλ](9)最后根据各个轴的运动方程,建立起的直升机LPV模型如下:x·=Ax+Buy=Cx+Du---(10)]]>其中:A=0001000000100000010000000000000(2mfLa-mwLw)gJλcos(ϵ)0000]]>B=000000KfLaJϵKfLaJϵKfLhJp-KfLhJp00C=100000010000001000D=000000]]>查阅三自由度直升机技术手册,可以得到各个系统参数的值,随之能够计算得到各个轴的转动惯量。其中:Kf=0.1188(N/V)mf=0.713(Kg)mw=1.87(Kg)La=0.660(m)Lh=0.178(m)Lw=0.470(m)Jε=1.034(Kg·m2)Jp=0.045(Kg·m2)Jλ=1.079(Kg·m2)步骤2.设计并应用增益调度控制器2.1,根据步骤1得到三自由度直升机系统的LPV模型,在MATLAB中建立被控系统的计算机模型,为得到增益调度控制器参数做准备,所建立的计算机模型以M语言表示如下:%定义S_0A_0=[000100;000010;000001;000000;000000;000000];B_0=[00;00;00;0.07580.0758;0.4680-0.4680;00];C_0=[100000;010000;001000];D_0=[00;00;00];S_0=ltisys(A_0,B_0,C_0,D_0);%定义S_p1A_p1=[000000;000000;000000;000000;000000;00.56580000];B_p1=[00;00;00;00;00;00];C_p1=[000000;000000;000000];D_p1=[00;00;00];S_p1=ltisys(A_p1,B_p1,C_p1,D_p1,0);由于在实际系统中俯仰角不是任意变化的,当俯仰角较大时,直升机系统旋转角变化速率过快,易导致系统不稳定,因此这里规定俯仰角变化范围为[-π/6,π/6],即可变参数θ∈[0.866,1],θ=cos(ε),且认为可变参数速率建立的直升机系统模型pds_hel如下:%定义参数变化范围range=[0.8661];rate=[-0.50.5];pv=pvec('box',range,rate);pds_hel=psys(pv,[S_0S_p1]);2.2,设计三自由度直升机系统闭环反馈回路,并选择适当的权重函数,加上权重函数后的三自由度直升机闭环系统如图2所示。选择权重函数并通过M语言建立反馈回路如下:[pdP,nmc]=sconnect('r(3)','e1=r(1)-G(1);e2=r(2)-G(2);e3=r(3)-G(3);K','K:e1;e2;e3','G:K',pol_hel);其中每一个参数均以引号隔开,意义如下:⑤第一个参数r(3)代表输入信号,同时也指出输入信号的维数。这个系统中只有唯一的输入信号,就是标量参考信号r(3)。⑥第二个参数分成4部分,分别是e1=r(1)-G(1),e2=r(2)-G(2),e3=r(3)-G(3)以及K。因为我们需要观测系统状态,前面3个部分代表参考信号和直升机系统输出之间的差值,第4部分则代表控制输入u。⑦第三个参数K:e1;e2;e3不仅定义了控制器的名字,同时也为其指定了输入,控制器输入即为参考信号和直升机输出之间的差值。⑧其余参数都是成对出现的,并且为回路中的系统定义了输入列表和系统矩阵。G:K表明直升机系统G的输入是控制器K的输出,pol_hel即为系统状态空间模型的多胞形式,可由仿射参数依赖模型转换而来。2.3,计算增益调度控制器参数,搭建控制器Simulink模块如图3所示。相应的控制器参数能够通过以下语句计算得到:[gopt,pdK]=hinfgs(Paug,nmc)其中pdK中即包含了增益调度控制器的各个参数,对应着图5里的A1,A2,…,C2。2.4,在Simulink中连接控制器模块与三自由度直升机模块,构成反馈回路,系统框图如图4所示。三自由度直升机整体硬件构成包括直升机主体、计算机系统、数据采集卡、功率放大器、控制手柄与急停开关。此时能够通过MATLAB给定跟踪信号,经计算机计算得到控制电压后联动官方软件QuaRC将数据写入数据采集卡,然后控制信号流经功率放大器,直接对直升机主体进行控制。外部的数据采集卡还会读取各个自由度编码器数值,作为半实物仿真平台的反馈信息,使整个系统构成闭环回路。案例分析本发明通过一个半实物仿真平台对该三自由度直升机控制器进行验证。该过程中我们将输入信号设置为阶跃输入,三自由度直升机输出信号如图5所示,而传统的PID控制效果如图6所示,横坐标代表时间,纵坐标代表弧度。从跟踪效果图可以看出,本发明设计的基于三自由度直升机系统LPV模型的增益调度控制器响应快速,超调量小,跟踪精确且系统十分稳定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1