1.一种工业加热炉系统的分数阶预测函数控制方法,其特征在于:该方法的具体步骤如下:
步骤1、建立实际过程中被控对象的分数阶线性模型,具体方法是:
1.1采集实际过程对象的实时输入输出数据,利用该数据建立被控对象在时刻t的分数阶微分方程模型,形式如下:
<mrow>
<msub>
<mi>c</mi>
<mn>2</mn>
</msub>
<msup>
<mi>y</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&alpha;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</msup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>c</mi>
<mn>1</mn>
</msub>
<msup>
<mi>y</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&alpha;</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</msup>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>c</mi>
<mn>0</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
其中,α1,α2为微分阶次,c0,c1,c2为相应的系数,y(t),u(t)分别为过程的输出和输入;
1.2根据分数阶微积分定义,对步骤1.1中的模型进行拉氏变换,得到被控对象的传递函数形式如下:
<mrow>
<mi>G</mi>
<mrow>
<mo>(</mo>
<mi>s</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mn>1</mn>
<mrow>
<msub>
<mi>c</mi>
<mn>2</mn>
</msub>
<msup>
<mi>s</mi>
<msub>
<mi>&alpha;</mi>
<mn>2</mn>
</msub>
</msup>
<mo>+</mo>
<msub>
<mi>c</mi>
<mn>1</mn>
</msub>
<msup>
<mi>s</mi>
<msub>
<mi>&alpha;</mi>
<mn>1</mn>
</msub>
</msup>
<mo>+</mo>
<msub>
<mi>c</mi>
<mn>0</mn>
</msub>
</mrow>
</mfrac>
</mrow>
其中,s为复变量;
1.3由Oustaloup近似方法得到微分算子sα的近似表达形式如下:
<mrow>
<msup>
<mi>s</mi>
<mi>&alpha;</mi>
</msup>
<mo>&ap;</mo>
<mi>K</mi>
<munderover>
<mo>&Pi;</mo>
<mrow>
<mi>n</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>N</mi>
</munderover>
<mfrac>
<mrow>
<mi>s</mi>
<mo>+</mo>
<msup>
<msub>
<mi>w</mi>
<mi>n</mi>
</msub>
<mo>&prime;</mo>
</msup>
</mrow>
<mrow>
<mi>s</mi>
<mo>+</mo>
<msub>
<mi>w</mi>
<mi>n</mi>
</msub>
</mrow>
</mfrac>
</mrow>
其中,α为分数阶微分阶次,0<α<1,N为选定的近似阶次, wb和wh分别为选定的拟合频率的下限和上限;
1.4根据步骤1.3中的方法,将步骤1.2中的分数阶系统近似为整数阶高阶系统模型,对得到的高阶模型在采样时间Ts下加零阶保持器离散化,得到如下形式的模型:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>-</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mn>...</mn>
<mo>-</mo>
<msub>
<mi>F</mi>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>+</mo>
<msub>
<mi>H</mi>
<mn>1</mn>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>H</mi>
<mn>2</mn>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mn>...</mn>
<mo>+</mo>
<msub>
<mi>H</mi>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,Fj,Hj(j=1,2,…,LS)均为离散近似后得到的系数,LS为离散模型的长度;
步骤2、设计被控对象的分数阶预测函数控制器,具体方法如下:
2.1计算被控对象在预测函数控制下的i步预测输出,形式如下:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>-</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mn>...</mn>
<mo>-</mo>
<msub>
<mi>F</mi>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>H</mi>
<mn>1</mn>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>H</mi>
<mn>2</mn>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mn>...</mn>
<mo>+</mo>
<msub>
<mi>H</mi>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>-</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mn>...</mn>
<mo>-</mo>
<msub>
<mi>F</mi>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
<mo>+</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>H</mi>
<mn>1</mn>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>H</mi>
<mn>2</mn>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mn>...</mn>
<mo>+</mo>
<msub>
<mi>H</mi>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>-</mo>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
<mo>+</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>P</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mo>-</mo>
<msub>
<mi>F</mi>
<mn>1</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>P</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>F</mi>
<mn>2</mn>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>P</mi>
<mo>-</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mn>...</mn>
<mo>-</mo>
<msub>
<mi>F</mi>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
</msub>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>P</mi>
<mo>-</mo>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>H</mi>
<mn>1</mn>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>P</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<msub>
<mi>H</mi>
<mn>2</mn>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>P</mi>
<mo>-</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>+</mo>
<mn>...</mn>
<mo>+</mo>
<msub>
<mi>H</mi>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
</msub>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>+</mo>
<mi>P</mi>
<mo>-</mo>
<msub>
<mi>L</mi>
<mi>S</mi>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,P为预测时域,y(k+i)为k+i时刻过程的预测模型输出,i=1,2,…,P;
2.2对步骤2.1中的式子进行整理变换,得到如下模型:
AY=BYpast+Cu(k)+DUpast
其中,
Y=[y(k+1),y(k+2),…,y(k+P)]T
Ypast=[y(k),y(k-1),…,y(k-LS+1)]T
Upast=[u(k-1),u(k-2),…,u(k-LS+1)]T
其中,T为转置符号;结合上述式子,得到被控对象的预测输出模型为:
<mrow>
<mi>Y</mi>
<mo>=</mo>
<mover>
<mi>B</mi>
<mo>&OverBar;</mo>
</mover>
<msub>
<mi>Y</mi>
<mrow>
<mi>p</mi>
<mi>a</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<mover>
<mi>C</mi>
<mo>&OverBar;</mo>
</mover>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mover>
<mi>D</mi>
<mo>&OverBar;</mo>
</mover>
<msub>
<mi>U</mi>
<mrow>
<mi>p</mi>
<mi>a</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msub>
</mrow>
其中,
2.3修正当前时刻被控对象的预测输出模型,得到修正后的对象模型,形式如下:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mover>
<mi>Y</mi>
<mo>~</mo>
</mover>
<mo>=</mo>
<mi>Y</mi>
<mo>+</mo>
<mi>E</mi>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<mover>
<mi>B</mi>
<mo>&OverBar;</mo>
</mover>
<msub>
<mi>Y</mi>
<mrow>
<mi>p</mi>
<mi>a</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<mover>
<mi>C</mi>
<mo>&OverBar;</mo>
</mover>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mover>
<mi>D</mi>
<mo>&OverBar;</mo>
</mover>
<msub>
<mi>U</mi>
<mrow>
<mi>p</mi>
<mi>a</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>+</mo>
<mi>E</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
E=[e(k+1),e(k+2),…,e(k+P)]T
e(k+i)=yp(k)-y(k),i=1,2,…,P
其中,yp(k)是k时刻被控对象的实际输出值,e(k+i)为k+i时刻被控对象的实际输出值与模型预测输出的差值;
2.4选取预测函数控制方法的参考轨迹yr(k+i)和目标函数JFPFC,其形式如下:
yr(k+i)=λiyp(k)+(1-λi)c(k),i=0,1,…P
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>J</mi>
<mrow>
<mi>F</mi>
<mi>P</mi>
<mi>F</mi>
<mi>C</mi>
</mrow>
</msub>
<mo>=</mo>
<mmultiscripts>
<mi>I</mi>
<msub>
<mi>T</mi>
<mi>S</mi>
</msub>
<mrow>
<msub>
<mi>PT</mi>
<mi>S</mi>
</msub>
</mrow>
<mi>&gamma;</mi>
</mmultiscripts>
<msup>
<mrow>
<mo>&lsqb;</mo>
<msub>
<mi>y</mi>
<mi>r</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mn>2</mn>
</msup>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>=</mo>
<msubsup>
<mo>&Integral;</mo>
<msub>
<mi>T</mi>
<mi>S</mi>
</msub>
<mrow>
<msub>
<mi>PT</mi>
<mi>S</mi>
</msub>
</mrow>
</msubsup>
<msup>
<mi>D</mi>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&gamma;</mi>
</mrow>
</msup>
<msup>
<mrow>
<mo>&lsqb;</mo>
<msub>
<mi>y</mi>
<mi>r</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>y</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mn>2</mn>
</msup>
<mi>d</mi>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,yr(k+i)为k+i时刻的参考轨迹,λ为参考轨迹的柔化系数,c(k)为k时刻的设定值,表示函数f(t)在[t1,t2]上的γ次积分,D为微分符号;
依据Grünwald-Letnikov分数阶微积分定义,对上述目标函数在采样时间TS进行离散化,得到:
<mrow>
<msub>
<mi>J</mi>
<mrow>
<mi>F</mi>
<mi>P</mi>
<mi>F</mi>
<mi>C</mi>
</mrow>
</msub>
<mo>&ap;</mo>
<msup>
<mrow>
<mo>(</mo>
<msub>
<mi>Y</mi>
<mi>r</mi>
</msub>
<mo>-</mo>
<mover>
<mi>Y</mi>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
<mi>T</mi>
</msup>
<mi>&Lambda;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>T</mi>
<mi>S</mi>
</msub>
<mo>,</mo>
<mi>&gamma;</mi>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<msub>
<mi>Y</mi>
<mi>r</mi>
</msub>
<mo>-</mo>
<mover>
<mi>Y</mi>
<mo>~</mo>
</mover>
<mo>)</mo>
</mrow>
</mrow>
其中,
Yr=[yr(k+1),yr(k+2),…,yr(k+P)]T
Λ(TS,γ)=TSdiag(mP-1,mP-2,…,m1,m0)
<mrow>
<msub>
<mi>m</mi>
<mi>q</mi>
</msub>
<mo>=</mo>
<msubsup>
<mi>&omega;</mi>
<mi>q</mi>
<mrow>
<mo>(</mo>
<mi>&gamma;</mi>
<mo>)</mo>
</mrow>
</msubsup>
<mo>-</mo>
<msubsup>
<mi>&omega;</mi>
<mrow>
<mi>q</mi>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mi>P</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>(</mo>
<mi>&gamma;</mi>
<mo>)</mo>
</mrow>
</msubsup>
</mrow>
时,对q<0,
2.5依据步骤2.4中的目标函数求解过程输入的最优值,即最优控制律,形式如下:
<mrow>
<mi>u</mi>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msup>
<mrow>
<mo>(</mo>
<msup>
<mover>
<mi>C</mi>
<mo>&OverBar;</mo>
</mover>
<mi>T</mi>
</msup>
<mi>&Lambda;</mi>
<mo>(</mo>
<mrow>
<msub>
<mi>T</mi>
<mi>S</mi>
</msub>
<mo>,</mo>
<mi>&gamma;</mi>
</mrow>
<mo>)</mo>
<mover>
<mi>C</mi>
<mo>&OverBar;</mo>
</mover>
<mo>)</mo>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<msup>
<mover>
<mi>C</mi>
<mo>&OverBar;</mo>
</mover>
<mi>T</mi>
</msup>
<mi>&Lambda;</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>T</mi>
<mi>S</mi>
</msub>
<mo>,</mo>
<mi>&gamma;</mi>
<mo>)</mo>
</mrow>
<mrow>
<mo>(</mo>
<msub>
<mi>Y</mi>
<mi>r</mi>
</msub>
<mo>-</mo>
<mover>
<mi>B</mi>
<mo>&OverBar;</mo>
</mover>
<msub>
<mi>Y</mi>
<mrow>
<mi>p</mi>
<mi>a</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<mover>
<mi>D</mi>
<mo>&OverBar;</mo>
</mover>
<msub>
<mi>U</mi>
<mrow>
<mi>p</mi>
<mi>a</mi>
<mi>s</mi>
<mi>t</mi>
</mrow>
</msub>
<mo>-</mo>
<mi>E</mi>
<mo>)</mo>
</mrow>
</mrow>
2.6在k+l时刻,l=1,2,3,…,依照2.1到2.5中的步骤依次循环求解分数阶预测函数控制器的控制量u(k+l),再将其作用于被控对象。