发明名称 批次过程的线性二次型容错控制方法
摘要 本发明公开了一种批次过程的线性二次型容错控制方法。本发明方法首先建立被控对象基于线性二次控制的状态空间模型,包括利用实时数据驱动的方法建立过程输入输出模型、将过程模型转换为差分方程的形式、将差分方程模型转化为状态空间模型和差分状态空间模型转换为包含状态变量和输出跟踪误差的新状态空间模型。然后设计被控对象的线性二次型容错控制器,包括选取被控对象过程的目标函数和求解目标函数得到控制量。本发明弥补了传统线性二次控制方法的不足,有效地保证了系统在未知扰动和执行器故障情况下的良好跟踪性能。
申请公布号 CN103699009A 申请公布日期 2014.04.02
申请号 CN201310433584.7 申请日期 2013.09.18
申请人 杭州电子科技大学 发明人 张日东;李海生;吴锋;王俊宏;郑松
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 1.批次过程的线性二次型容错控制方法,其特征在于该方法的具体步骤是:步骤(1).建立被控对象基于线性二次控制的状态空间模型,具体方法是:a.利用实时数据驱动的方法建立过程输入输出模型,具体方法是:建立批次过程的实时运行数据库,通过数据采集装置采集实时过程运行数据,将采集的实时过程运行数据作为样本集合<img file="FDA0000383967520000011.GIF" wi="255" he="102" />其中,<img file="FDA0000383967520000012.GIF" wi="49" he="59" />表示第i组工艺参数的输入数据,y(i)表示第i组工艺参数的输出值,N表示采样总数;以该对象的实时过程运行数据集合为基础建立基于最小二乘法的离散差分方程形式的过程模型:<img file="FDA0000383967520000013.GIF" wi="917" he="81" /><img file="FDA0000383967520000014.GIF" wi="1076" he="68" />其中,y<sub>L</sub>(k)表示k时刻过程模型的工艺参数的输出值,θ表示通过辨识得到的模型参数的集合,<img file="FDA0000383967520000015.GIF" wi="41" he="50" />表示过程模型工艺参数的过去时刻的输入和输出数据的集合,u(k)表示k时刻工艺参数对应的控制变量,n,m,d+1分别为对应实际过程的输出变量阶次、输入变量阶次、时滞,T为矩阵的转置符号;采用的辨识手段为:<img file="FDA0000383967520000016.GIF" wi="604" he="83" /><img file="FDA0000383967520000017.GIF" wi="767" he="75" /><img file="FDA0000383967520000018.GIF" wi="630" he="82" />其中,<img file="FDA0000383967520000019.GIF" wi="60" he="66" />和P为辨识中的两个矩阵,<img file="FDA00003839675200000110.GIF" wi="374" he="74" />γ为遗忘因子,<img file="FDA00003839675200000111.GIF" wi="40" he="62" />为单位矩阵;b.将a步骤中得到的过程模型转换为差分方程的形式:Δy(k)+M<sub>1</sub>Δy(k-1)+M<sub>2</sub>Δy(k-2)+…+M<sub>n-1</sub>Δy(k-n-1)+M<sub>n</sub>Δy(k-n)=N<sub>1</sub>Δu(k-1)+N<sub>2</sub>Δu(k-2)+…+N<sub>n-1</sub>Δu(k-n-1)+N<sub>n</sub>Δu(k-n)其中,Δ为差分算子,M<sub>1</sub>,M<sub>2</sub>…M<sub>n</sub>,N<sub>1</sub>,N<sub>2</sub>…N<sub>n</sub>为通过模型转换得到的相关系数;引入中间变量Δm(k),Δm(k)满足<![CDATA[<math><mrow><mi>&Delta;m</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>&Delta;u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mn>1</mn><mo>+</mo><msub><mi>M</mi><mn>1</mn></msub><msup><mi>z</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>+</mo><msub><mi>M</mi><mn>2</mn></msub><msup><mi>z</mi><mrow><mo>-</mo><mn>2</mn></mrow></msup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msub><mi>M</mi><mi>n</mi></msub><msup><mi>z</mi><mrow><mo>-</mo><mi>n</mi></mrow></msup></mrow></mfrac></mrow></math>]]></maths><![CDATA[<math><mrow><mfrac><mrow><mi>&Delta;y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow><mrow><mi>&Delta;m</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></mfrac><mo>=</mo><msub><mi>N</mi><mn>1</mn></msub><msup><mi>z</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>+</mo><msub><mi>N</mi><mn>2</mn></msub><msup><mi>z</mi><mrow><mo>-</mo><mn>2</mn></mrow></msup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msub><mi>N</mi><mi>n</mi></msub><msup><mi>z</mi><mrow><mo>-</mo><mi>n</mi></mrow></msup></mrow></math>]]></maths>将上面的差分方程改写成Δm(k)+M<sub>1</sub>Δm(k-1)+…+M<sub>n</sub>Δm(k-n)=Δu(k)Δy(k)=N<sub>1</sub>Δm(k-1)+N<sub>2</sub>Δm(k-2)+…+N<sub>n</sub>Δm(k-n)c.选取Δm(k),Δm(k-1),Δm(k-2)…Δm(k-n+1)为相变量形式,即<![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>&Delta;m</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>&Delta;m</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mi>n</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>&Delta;m</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mi>n</mi><mo>+</mo><mn>3</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mi>&Delta;m</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>其中,Δx<sub>1</sub>(k),Δx<sub>2</sub>(k),…,Δx<sub>n</sub>(k)为系统k时刻的各个状态变量;d.进一步将b步骤的差分方程模型转化为状态空间模型:<![CDATA[<math><mfenced open='{' close=''><mtable><mtr><mtd><mi>&Delta;x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>A&Delta;x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mi>B&Delta;u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>C&Delta;x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></math>]]></maths>其中<img file="FDA0000383967520000023.GIF" wi="1006" he="376" />C=[N<sub>n</sub>,N<sub>n-1</sub>,…,N<sub>1</sub>]<![CDATA[<math><mrow><mi>&Delta;x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close='}'><mtable><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>;</mo><mi>&Delta;x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close='}'><mtable><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>2</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mn>3</mn></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mi>&Delta;</mi><msub><mi>x</mi><mi>n</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>e.将d步骤中得到的差分状态空间模型转换为包含状态变量和输出跟踪误差的新状态空间模型,形式如下:p(k+1)=A<sub>m</sub>p(k)+B<sub>m</sub>Δu(k)=A<sub>m</sub>p(k)+B<sub>m</sub>u(k)-B<sub>m</sub>u(k-1)式中,<![CDATA[<math><mrow><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>&Delta;x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>;</mo><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>&Delta;x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>e</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced></mrow></math>]]></maths><![CDATA[<math><mrow><msub><mi>A</mi><mi>m</mi></msub><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><mi>A</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mi>CA</mi></mtd><mtd><mn>1</mn></mtd></mtr></mtable></mfenced><mo>;</mo><msub><mi>B</mi><mi>m</mi></msub><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>B</mi></mtd></mtr><mtr><mtd><mi>CB</mi></mtd></mtr></mtable></mfenced></mrow></math>]]></maths>e(k)为k时刻理想输出与实际输出之间的差值;步骤(2).设计被控对象的线性二次型容错控制器,具体方法是:f.选取被控对象过程的目标函数,形式如下:<![CDATA[<math><mrow><mi>J</mi><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>k</mi><mo>=</mo><msub><mi>k</mi><mn>0</mn></msub></mrow><mrow><msub><mi>k</mi><mi>f</mi></msub><mo>-</mo><mn>1</mn></mrow></munderover><mo>[</mo><msup><mrow><mo>(</mo><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>p</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mi>T</mi></msup><mi>Q</mi><mrow><mo>(</mo><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>p</mi><mi>r</mi></msub><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>+</mo><mi>&Delta;</mi><msup><mi>u</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mi>R&Delta;u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>]</mo><mo>+</mo><msup><mrow><mo>[</mo><mi>p</mi><mrow><mo>(</mo><msub><mi>k</mi><mi>f</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>p</mi><mi>r</mi></msub><mrow><mo>(</mo><msub><mi>k</mi><mi>f</mi></msub><mo>)</mo></mrow><mo>]</mo></mrow><mi>T</mi></msup><msub><mi>Q</mi><mi>f</mi></msub><mo>[</mo><mi>p</mi><mrow><mo>(</mo><msub><mi>k</mi><mi>f</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>p</mi><mi>r</mi></msub><mrow><mo>(</mo><msub><mi>k</mi><mi>f</mi></msub><mo>)</mo></mrow><mo>]</mo></mrow></math>]]></maths>其中,p<sub>r</sub>(k),Q>0,R>0,Q<sub>f</sub>>0分别为设定状态、输出加权矩阵、输入加权矩阵和终端加权矩阵,[k<sub>0</sub>,k<sub>f</sub>]为优化时域,这里的p<sub>r</sub>(k)设置为0状态;g.通过求解f步骤中的目标函数得到控制量,形式如下:<![CDATA[<math><mrow><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mo>-</mo><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>B</mi><mi>m</mi><mi>T</mi></msubsup><msup><mrow><mo>[</mo><mi>I</mi><mo>+</mo><msub><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mi>f</mi></msub></mrow></msub><msub><mi>B</mi><mi>m</mi></msub><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>B</mi><mi>m</mi><mi>T</mi></msubsup><mo>]</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mi>f</mi></msub></mrow></msub><msub><mi>A</mi><mi>m</mi></msub><mi>p</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mrow></math>]]></maths><![CDATA[<math><mfenced open='' close=''><mtable><mtr><mtd><msub><mi>H</mi><msub><mrow><mi>k</mi><mo>,</mo><mi>k</mi></mrow><mi>f</mi></msub></msub><mo>=</mo><msubsup><mi>A</mi><mi>m</mi><mi>T</mi></msubsup><msup><mrow><mo>[</mo><mi>I</mi><mo>+</mo><msub><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mi>f</mi></msub></mrow></msub><msub><mi>B</mi><mi>m</mi></msub><msup><mi>R</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>B</mi><mi>m</mi><mi>T</mi></msubsup><mo>]</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msub><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mi>f</mi></msub></mrow></msub><msub><mi>A</mi><mi>m</mi></msub><mo>+</mo><mi>Q</mi></mtd></mtr><mtr><mtd><mo>=</mo><msubsup><mi>A</mi><mi>m</mi><mi>T</mi></msubsup><msub><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mi>f</mi></msub></mrow></msub><msub><mi>A</mi><mi>m</mi></msub><mo>-</mo><msubsup><mi>A</mi><mi>m</mi><mi>T</mi></msubsup><msub><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mi>f</mi></msub></mrow></msub><msub><mi>B</mi><mi>m</mi></msub><msup><mrow><mo>(</mo><mi>R</mi><mo>+</mo><msubsup><mi>B</mi><mi>m</mi><mi>T</mi></msubsup><msub><mi>H</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><msub><mi>k</mi><mi>f</mi></msub></mrow></msub><msub><mi>B</mi><mi>m</mi></msub><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><msubsup><mi>B</mi><mi>m</mi><mi>T</mi></msubsup><msub><mi>H</mi><msub><mrow><mi>k</mi><mo>+</mo><mn>1</mn><mo>,</mo><mi>k</mi></mrow><mi>f</mi></msub></msub><msub><mi>A</mi><mi>m</mi></msub><mo>+</mo><mi>Q</mi></mtd></mtr></mtable></mfenced></math>]]></maths><![CDATA[<math><mrow><msub><mi>H</mi><mrow><msub><mi>k</mi><mi>f</mi></msub><mo>,</mo><msub><mi>k</mi><mi>f</mi></msub></mrow></msub><mo>=</mo><msub><mi>Q</mi><mi>f</mi></msub></mrow></math>]]></maths>其中,R<sup>-1</sup>表示输入加权矩阵的逆矩阵,I表示合适维数的单位阵;h.将g步骤中得到的控制量u(k)作用于被控对象;i.在下一时刻,依照f到h的步骤继续求解新的控制量u(k+1),依次循环。
地址 310018 浙江省杭州市下沙高教园区2号大街