基于模糊控制的飞行器俯仰通道姿态指令快速跟踪方法与流程

文档序号:12062930阅读:来源:国知局

技术特征:

1.基于模糊控制的飞行器俯仰通道姿态指令快速跟踪方法,其特征在于,具体按照以下步骤进行:

步骤1,测量飞行器俯仰姿态角、俯仰角速度和俯仰角误差;

步骤2,采用俯仰角误差信号,设计非线性立方微积分滑模面s;

步骤3,针对非线性立方微积分滑模面s,构造变结构控制律δz1

步骤4,构造模糊系统,建立控制律增益k2的模糊调整规则;

步骤5,构造模糊系统,建立纯模糊控制律δz2

步骤6,将纯模糊控制律与变结构控制律δz1进行复合,得到最终的总控制律δz:δz=δz1z2;最后进行控制器参数调节,使系统具有合适的动态特性;

步骤7,飞行器俯仰通道姿态控制系统的建模与数字仿真模拟;

步骤8,将步骤1-6得到的结果,让输入步骤7所建立的超声速飞行器俯仰通道姿态控制简化模型,通过选取合适的滑模面参数、模糊系统参数、控制增益参数,并观察输出曲线,确定最终的基于模糊控制的飞行器俯仰姿态跟踪控制器参数,使得整个飞行器俯仰通道姿态控制器具有令人满意的稳定性与响应速度。

2.根据权利要求1所述的基于模糊控制的飞行器俯仰通道姿态指令快速跟踪方法,其特征在于,所述步骤1的具体步骤是:将测角陀螺仪与俯仰角速率陀螺仪安装在飞行器器体纵轴上,其中测角陀螺仪计测量飞行器的俯仰姿态角,记为θ,采用俯仰角速率陀螺仪测量飞行器俯仰角速度,记为ωz;将俯仰姿态角θ与飞行器的俯仰角指令θd进行比较,得到俯仰角误差,记作e,其满足e=θ-θd

3.根据权利要求2所述的基于模糊控制的飞行器俯仰通道姿态指令快速跟踪方法,其特征在于,所述步骤2,设计的非线性立方微积分滑模面s:

其中ε、c1、c2、c3、c4、c5、c6为待设计的正参数,为滑模面参数,均为增益;t为时间,∫edt为对误差信号e积分。

4.根据权利要求3所述的基于模糊控制的飞行器俯仰通道姿态指令快速跟踪方法,其特征在于,所述步骤3,构造变结构控制律δz1如下:

其中ε1、ε2、ε3、k1、k2、k3、k4为待设计的正参数,均为控制量参数;k1、k2、k3、k4为增益,ε1、ε2、ε3为柔化系数,用于减弱系统颤振。

5.根据权利要求4所述的基于模糊控制的飞行器俯仰通道姿态指令快速跟踪方法,其特征在于,所述步骤4具体按照以下步骤进行:

首先,以俯仰角误差e为模糊系统的输入,滑模控制中增益k2为模糊系统的输出,建立输入输出变量的隶属度函数,数学表达如下:

取d1=0.017,认为俯仰角误差e属于‘PB’即‘正大’的范围,其隶属概率函数p5

<mrow> <msub> <mi>p</mi> <mn>5</mn> </msub> <mo>=</mo> <mfenced open = "{" close = "}"> <mtable> <mtr> <mtd> <mn>1</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&gt;</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>-</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <msubsup> <mi>d</mi> <mn>1</mn> <mn>2</mn> </msubsup> </mfrac> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>&le;</mo> <mi>e</mi> <mo>&le;</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&lt;</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

认为误差e属于‘PM’即‘正中’的范围,其隶属概率函数p4

<mrow> <msub> <mi>p</mi> <mn>4</mn> </msub> <mo>=</mo> <mfenced open = "{" close = "}"> <mtable> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&gt;</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>-</mo> <mfrac> <mrow> <mi>e</mi> <mo>-</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> <msub> <mi>d</mi> <mn>1</mn> </msub> </mfrac> </mrow> </mtd> <mtd> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>&le;</mo> <mi>e</mi> <mo>&le;</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mfrac> <mi>e</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mfrac> </mtd> <mtd> <mrow> <mn>0</mn> <mo>&le;</mo> <mi>e</mi> <mo>&le;</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&lt;</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

认为误差e属于‘ZO’即‘几乎为零’的范围,其隶属概率函数p3

<mrow> <msub> <mi>p</mi> <mn>3</mn> </msub> <mo>=</mo> <mfenced open = "{" close = "}"> <mtable> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&gt;</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>-</mo> <mfrac> <mi>e</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mfrac> </mrow> </mtd> <mtd> <mrow> <mn>0</mn> <mo>&le;</mo> <mi>e</mi> <mo>&le;</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>+</mo> <mfrac> <mi>e</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mfrac> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>&le;</mo> <mi>e</mi> <mo>&le;</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&lt;</mo> <mo>-</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

认为误差e属于‘NM’即‘负中’的范围,其隶属概率函数p2

<mrow> <msub> <mi>p</mi> <mn>2</mn> </msub> <mo>=</mo> <mfenced open = "{" close = "}"> <mtable> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&lt;</mo> <mo>-</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mn>1</mn> <mo>+</mo> <mfrac> <mrow> <mi>e</mi> <mo>+</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> <msub> <mi>d</mi> <mn>1</mn> </msub> </mfrac> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>&le;</mo> <mi>e</mi> <mo>&le;</mo> <mo>-</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>-</mo> <mfrac> <mi>e</mi> <mrow> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mfrac> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <mn>2</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>&le;</mo> <mi>e</mi> <mo>&le;</mo> <mn>0</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&gt;</mo> <mn>0</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

认为误差e属于‘NB’即‘负大’的范围,其隶属概率函数p1

<mrow> <msub> <mi>p</mi> <mn>1</mn> </msub> <mo>=</mo> <mfenced open = "{" close = "}"> <mtable> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&lt;</mo> <mo>-</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>exp</mi> <mrow> <mo>(</mo> <mo>-</mo> <mfrac> <msup> <mrow> <mo>(</mo> <mi>e</mi> <mo>+</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mn>2</mn> </msup> <msubsup> <mi>d</mi> <mn>1</mn> <mn>2</mn> </msubsup> </mfrac> <mo>)</mo> </mrow> </mrow> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>&le;</mo> <mi>e</mi> <mo>&le;</mo> <mo>-</mo> <mn>3</mn> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mi>e</mi> <mo>&gt;</mo> <mo>-</mo> <msub> <mi>d</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

系统输入输出的模糊集分别定义如下:

e={NB NM ZO PM PB}

dk2={NB NM ZO PM PB}

其中,NB为误差“负大”的范围,NM为误差“负中”的范围,ZO为误差“几乎为零”的范围,PM为误差“正中”的范围,PB为过载误差“正大”的范围;

dk2为增益k2的变化量;

其次,建立模糊调整的基本原则为:|e|越大,则模糊控制量u应当越大,从而dk2也应当越大,设计模糊规则库如下:

R1:IF e is PB Then dk2 is PB

R2:IF e is PM Then dk2 is PM

R3:IF e is ZO Then dk2 is ZO

R4:IF e is NM Then dk2 is PM

R5:IF e is NB Then dk2 is PB

并设计规则矩阵如下:

rulelist=[5 5 1 1;

4 4 1 1;

3 3 1 1;

2 4 1 1;

1 5 1 1];

最后,采用Matlab软件的newfis('smc_fz_2')函数生成模糊系统,再采用addrule函数将上述规则矩阵加入模糊系统,然后利用函数a1=setfis(a1,'DefuzzMethod','centroid')设置采用centroid方法反模糊化,使用evalfis(abs(e),a1)函数,反解模糊滑模控制的增益调节规律,得到dk2;

k2=k20+dk2

k20的含义是增益k2的初始值。

6.根据权利要求5所述的基于模糊控制的飞行器俯仰通道姿态指令快速跟踪方法,其特征在于,所述步骤5具体按照以下步骤进行:

首先,以俯仰角误差e为模糊系统的输入,纯模糊滑模控制律δz2为模糊系统的输出,建立输入输出变量的隶属度函数,系统输入输出的模糊集分别定义如下:

e={NB NM ZO PM PB}

δz2={NB NM ZO PM PB}

δz2为模糊控制量;

其次,建立模糊调整的基本原则为:e越大,则δz2应当越大,设计模糊规则库如下:

R1:IF e is PB Then δz2 is PB

R2:IF e is PM Then δz2 is PM

R3:IF e is ZO Then δz2 is ZO

R4:IF e is NM Then δz2 is PM

R5:IF e is NB Then δz2 is PB

并设计规则矩阵如下:

rulelist=[5 5 1 1;

4 4 1 1;

3 3 1 1;

2 4 1 1;

1 5 1 1];

最后,采用Matlab软件的newfis('smc_fz_2')函数生成模糊系统,再采用addrule函数将上述规则矩阵加入模糊系统,然后利用函数a2=setfis(a2,'DefuzzMethod','centroid')设置采用centroid方法反模糊化,使用evalfis(e,a2)函数,反解纯模糊控制量,得到δz2

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1