发明名称 一种基于内点法的LPV模型非线性预测控制方法
摘要 本发明公开了一种基于内点法的LPV模型非线性预测控制方法。首先在设置的工作点上,对系统复杂的机理模型进行线性化得到多个线性子模型;其次选择权重函数,加权各线性子模型得到系统的全局逼近模型,称为线性变参数模型即LPV模型;再将LPV模型作为预测模型,选用二次型性能指标函数构建非线性预测控制命题;最后在滚动优化过程中,用内点算法求解优化命题,得到最优控制序列完成非线性预测控制。与现有技术相比,本发明所述的方法,基于LPV模型全联立直接求解,求解精度高、算法耗时短;体现到控制效果上,则缩短系统的过渡过程、减少资源消耗,特别在大范围变工况下,明显地提高系统的控制品质。
申请公布号 CN104698842A 申请公布日期 2015.06.10
申请号 CN201510063509.5 申请日期 2015.02.06
申请人 浙江大学 发明人 陈垣君;邵之江
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 杜军
主权项 一种基于内点法的LPV模型非线性预测控制方法,其特征在于该方法包括以下步骤:步骤(1)、将复杂工业对象的机理模型在工作点上进行线性化处理,得到与工作点个数相同的线性子模型,其中工作点即为复杂工业对象的运行工况:所述的复杂工业对象的机理模型采用微分方程描述如下:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mo>=</mo><mi>&phi;</mi><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>u</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>t</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000011.GIF" wi="304" he="74" /></maths>y=ψ(x,u,t)    (1)其中t是时间,x∈R<sup>n</sup>是系统的状态向量,u∈R<sup>r</sup>、y∈R<sup>p</sup>分别是系统的输入和输出向量,φ(.)和ψ(.)都是非线性函数;将引起系统非线性的主要因素选作系统的工作点变量w,所述的工作点变量为系统的输入变量或者输出变量之一,由工作点变量w确定工业对象过程操作的工作点;假设上述工业对象有p个工作点,在操作空间Ω内的第j个工作点(x<sub>oj</sub>,u<sub>oj</sub>,y<sub>oj</sub>)上对系统进行线性化处理,得到第j个工作点上的线性状态空间方程如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>M</mi><mi>j</mi></msub><mo>:</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>&delta;</mi><mover><mi>x</mi><mover><mo>^</mo><mo>&CenterDot;</mo></mover></mover><mo>=</mo><msub><mover><mi>A</mi><mo>^</mo></mover><mi>j</mi></msub><mi>&delta;</mi><mover><mi>x</mi><mo>^</mo></mover><mo>+</mo><msub><mover><mi>B</mi><mo>^</mo></mover><mi>j</mi></msub><mi>&delta;</mi><mover><mi>u</mi><mo>^</mo></mover></mtd></mtr><mtr><mtd><mi>&delta;</mi><mover><mi>y</mi><mo>^</mo></mover><mo>=</mo><msub><mover><mi>C</mi><mo>^</mo></mover><mi>j</mi></msub><mi>&delta;</mi><mover><mi>x</mi><mo>^</mo></mover><mo>+</mo><msub><mover><mi>D</mi><mo>^</mo></mover><mi>j</mi></msub><mi>&delta;</mi><mover><mi>u</mi><mo>^</mo></mover></mtd></mtr></mtable></mfenced><mo>,</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>p</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000012.GIF" wi="1410" he="215" /></maths>其中,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>&delta;</mi><mover><mi>x</mi><mo>^</mo></mover><mo>=</mo><mover><mi>x</mi><mo>^</mo></mover><mo>-</mo><msub><mi>x</mi><mi>oj</mi></msub><mo>,</mo><mi>&delta;</mi><mover><mi>u</mi><mo>^</mo></mover><mo>=</mo><mover><mi>u</mi><mo>^</mo></mover><mo>-</mo><msub><mi>u</mi><mi>oj</mi></msub><mo>,</mo><mi>&delta;</mi><mover><mi>y</mi><mo>^</mo></mover><mo>=</mo><mover><mi>y</mi><mo>^</mo></mover><mo>-</mo><msub><mi>y</mi><mi>oj</mi></msub><mo>,</mo><msub><mover><mi>A</mi><mo>^</mo></mover><mi>j</mi></msub><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>&phi;</mi><mrow><mo>(</mo><mo>.</mo><mo>)</mo></mrow></mrow><mrow><mo>&PartialD;</mo><mover><mi>x</mi><mo>^</mo></mover></mrow></mfrac><mo>|</mo><mo>|</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>oj</mi></msub><mo>,</mo><msub><mi>u</mi><mi>oj</mi></msub><mo>)</mo></mrow><mo>,</mo></mrow>]]></math><img file="FDA0000668406680000013.GIF" wi="1344" he="126" /></maths><maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mover><mi>B</mi><mo>^</mo></mover><mi>j</mi></msub><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>&phi;</mi><mrow><mo>(</mo><mo>.</mo><mo>)</mo></mrow></mrow><mrow><mo>&PartialD;</mo><mover><mi>u</mi><mo>^</mo></mover></mrow></mfrac><mo>|</mo><mo>|</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>oj</mi></msub><mo>,</mo><msub><mi>u</mi><mi>oj</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mover><mi>C</mi><mo>^</mo></mover><mi>j</mi></msub><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>&psi;</mi><mrow><mo>(</mo><mo>.</mo><mo>)</mo></mrow></mrow><mrow><mo>&PartialD;</mo><mover><mi>x</mi><mo>^</mo></mover></mrow></mfrac><mo>|</mo><mo>|</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>oj</mi></msub><mo>,</mo><msub><mi>u</mi><mi>oj</mi></msub><mo>)</mo></mrow><mo>,</mo><msub><mover><mi>D</mi><mo>^</mo></mover><mi>j</mi></msub><mo>=</mo><mfrac><mrow><mo>&PartialD;</mo><mi>&psi;</mi><mrow><mo>(</mo><mo>.</mo><mo>)</mo></mrow></mrow><mrow><mo>&PartialD;</mo><mover><mi>u</mi><mo>^</mo></mover></mrow></mfrac><mo>|</mo><mo>|</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>oj</mi></msub><mo>,</mo><msub><mi>u</mi><mi>oj</mi></msub><mo>)</mo></mrow><mo>;</mo></mrow>]]></math><img file="FDA0000668406680000014.GIF" wi="1409" he="126" /></maths>根据采样周期T对式(2)离散化,得到系统的离散增量状态空间方程如下:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>M</mi><mi>j</mi></msub><mo>:</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>&Delta;</mi><mover><mi>x</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><msub><mi>A</mi><mi>j</mi></msub><mi>&Delta;</mi><mover><mi>x</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>B</mi><mi>j</mi></msub><mi>&Delta;</mi><mover><mi>u</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;</mi><mover><mi>y</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>C</mi><mi>j</mi></msub><mi>&Delta;</mi><mover><mi>x</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><msub><mi>D</mi><mi>j</mi></msub><mi>&Delta;</mi><mover><mi>u</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>j</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>p</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000015.GIF" wi="1324" he="172" /></maths>其中<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><mi>&Delta;</mi><mover><mi>x</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mover><mi>x</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><msub><mi>x</mi><mi>oj</mi></msub><mo>,</mo><mi>&Delta;</mi><mover><mi>x</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mover><mi>x</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>x</mi><mi>oj</mi></msub><mo>,</mo><mi>&Delta;</mi><mover><mi>y</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mover><mi>y</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>y</mi><mi>oj</mi></msub><mo>,</mo><mi>&Delta;</mi><mover><mi>u</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mover><mi>u</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>u</mi><mi>oj</mi></msub><mo>,</mo></mrow>]]></math><img file="FDA0000668406680000016.GIF" wi="1748" he="85" /></maths>k是采样时刻,A<sub>j</sub>,B<sub>j</sub>,C<sub>j</sub>,D<sub>j</sub>分别是<img file="FDA0000668406680000017.GIF" wi="274" he="86" />的离散化矩阵;依次重复上述线性化处理方法,分别得到系统在p个工作点上的p个线性子模型;步骤(2)、将步骤(1)得到的所有线性子模型利用权重函数加权得到LPV模型:所述的LPV模型的权重函数采用线性分段函数,其数学表达形式如下:<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>&alpha;</mi><mn>1</mn></msub><mrow><mo>(</mo><mi>w</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close='' separators=' '><mtable><mtr><mtd><mn>1</mn></mtd><mtd><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>w</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><mfrac><mrow><msub><mi>w</mi><mn>2</mn></msub><mo>-</mo><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>w</mi><mn>2</mn></msub><mo>-</mo><msub><mi>w</mi><mn>1</mn></msub></mrow></mfrac></mtd><mtd><msub><mi>w</mi><mn>1</mn></msub><mo>&le;</mo><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>w</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><msub><mi>w</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000668406680000023.GIF" wi="752" he="270" /></maths><maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>&alpha;</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>w</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mfrac><mrow><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>w</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow><mrow><msub><mi>w</mi><mi>j</mi></msub><mo>-</mo><msub><mi>w</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow></mfrac></mtd><mtd><msub><mi>w</mi><mrow><mi>j</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>&le;</mo><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>w</mi><mi>j</mi></msub></mtd></mtr><mtr><mtd><mfrac><mrow><msub><mi>w</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></mrow><mrow><msub><mi>w</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>-</mo><msub><mi>w</mi><mi>j</mi></msub></mrow></mfrac></mtd><mtd><msub><mi>w</mi><mi>j</mi></msub><mo>&le;</mo><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&le;</mo><msub><mi>w</mi><mrow><mi>j</mi><mo>+</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>others</mi></mtd></mtr></mtable></mfenced><mo>,</mo><mrow><mo>(</mo><mi>j</mi><mo>=</mo><mn>2,3</mn><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>p</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000024.GIF" wi="1177" he="416" /></maths><maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msub><mi>&alpha;</mi><mi>p</mi></msub><mrow><mo>(</mo><mi>w</mi><mo>)</mo></mrow><mo>=</mo><mtable></mtable><mfenced open='{' close=''><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>w</mi><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub></mtd></mtr><mtr><mtd><mfrac><mrow><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><msub><mi>w</mi><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow><mrow><msub><mi>w</mi><mi>p</mi></msub><mo>-</mo><msub><mi>w</mi><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub></mrow></mfrac></mtd><mtd><msub><mi>w</mi><mrow><mi>p</mi><mo>-</mo><mn>1</mn></mrow></msub><mo>&le;</mo><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&lt;</mo><msub><mi>w</mi><mi>p</mi></msub></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mi>w</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><msub><mi>w</mi><mi>p</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000025.GIF" wi="1594" he="416" /></maths>根据式y=Σ<sub>j</sub>α<sub>j</sub>(w)M<sub>j</sub>用分段线性权重函数加权步骤(1)的线性子模型,得到全局LPV模型;LPV模型采用状态空间描述如下:x(k+1)=Ax(k)+Bu(k)                                   (5)y(k)=C(w)x(k)+D(w)u(k)其中,<img file="FDA0000668406680000026.GIF" wi="460" he="321" /><maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mi>B</mi><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><msub><mi>B</mi><mn>1</mn></msub></mtd></mtr><mtr><mtd><msub><mi>B</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msub><mi>B</mi><mi>p</mi></msub></mtd></mtr></mtable></mfenced><mo>,</mo></mrow>]]></math><img file="FDA0000668406680000027.GIF" wi="248" he="319" /></maths>C(w)=[α<sub>1</sub>(w)C<sub>1</sub> α<sub>2</sub>(w)C<sub>2</sub> … α<sub>p</sub>(w)C<sub>p</sub>]D(w)=α<sub>1</sub>(w)D<sub>1</sub>+α<sub>2</sub>(w)D<sub>2</sub>+…α<sub>p</sub>(w)D<sub>p</sub>步骤(3)、用步骤(2)中得到的LPV模型作为预测模型,选取二次型性能指标函数作为目标函数,构建非线性预测控制命题:由于x(k)是工业对象当前时刻的状态,为已知状态;利用LPV模型即公式(5)进行迭代预测:x(k+1|k)=Ax(k)+Bu(k|k)x(k+2|k)=A<sup>2</sup>x(k)_+ABu(k|k)+Bu(k+1|k)                                           (6)···x(x+P|k)=A<sup>P</sup>x(k)+A<sup>P‑1</sup>Bu(k|k)+…Bu(k+P‑1|k)其中,P为预测时域;同时,在k时刻已知上一时刻的输入量u(k‑1),所以有<img file="FDA0000668406680000033.GIF" wi="1482" he="291" />其中,M为控制时域,u(k+i|k)=0,M≤i≤P‑1;将公式(7)代入到公式(6)中,推导得到:<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><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>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>M</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>M</mi><mo>+</mo><mn>1</mn><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>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>P</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>A</mi></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msup><mi>A</mi><mi>M</mi></msup></mtd></mtr><mtr><mtd><msup><mi>A</mi><mrow><mi>M</mi><mo>+</mo><mn>1</mn></mrow></msup></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msup><mi>A</mi><mi>P</mi></msup></mtd></mtr></mtable></mfenced><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>B</mi></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mi>A</mi><mi>i</mi></msup><mi>B</mi></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>M</mi></munderover><msup><mi>A</mi><mi>i</mi></msup><mi>B</mi></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>P</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mi>A</mi><mi>i</mi></msup><mi>B</mi></mtd></mtr></mtable></mfenced><mi>u</mi><mrow><mo>(</mo><mi>k</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>B</mi></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mi>AB</mi><mo>+</mo><mi>B</mi></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mi>A</mi><mi>i</mi></msup><mi>B</mi></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mi>B</mi></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mi>M</mi></munderover><msup><mi>A</mi><mi>i</mi></msup><mi>B</mi></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mi>AB</mi><mo>+</mo><mi>B</mi></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>P</mi><mo>-</mo><mn>1</mn></mrow></munderover><msup><mi>A</mi><mi>i</mi></msup><mi>B</mi></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>P</mi><mo>-</mo><mi>M</mi></mrow></munderover><msup><mi>A</mi><mi>i</mi></msup><mi>B</mi></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>&Delta;u</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>&Delta;u</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><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;u</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>M</mi><mo>-</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000031.GIF" wi="1738" he="556" /></maths>公式(3)中D<sub>j</sub>≠0这种情况不常见而且会使优化计算复杂化,一般假定D<sub>j</sub>=0,因此由公式(3)推导得到的公式(5)中D(w)=0;利用LPV模型得到预测输出:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>2</mn><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>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>P</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><mtable></mtable><mfenced open='[' close=']'><mtable><mtr><mtd><mi>C</mi><mrow><mo>(</mo><msub><mi>w</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>C</mi><mrow><mo>(</mo><msub><mi>w</mi><mrow><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mi>C</mi><mrow><mo>(</mo><msub><mi>w</mi><mrow><mi>k</mi><mo>+</mo><mi>P</mi></mrow></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>2</mn><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>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>P</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000032.GIF" wi="1425" he="301" /></maths>为了克服模型失配,利用常值输出扰动d(k|k)对系统进行反馈校正;因此在有常值输出扰动的情况下,根据公式(9)得到预测输出为:<maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><mfenced open='[' close=']'><mtable><mtr><mtd><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>2</mn><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>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>P</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>C</mi><mrow><mo>(</mo><msub><mi>w</mi><mrow><mi>k</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>)</mo></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>C</mi><mrow><mo>(</mo><msub><mi>w</mi><mrow><mi>k</mi><mo>+</mo><mn>2</mn></mrow></msub><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mi>C</mi><mrow><mo>(</mo><msub><mi>w</mi><mrow><mi>k</mi><mo>+</mo><mi>P</mi></mrow></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mfenced open='[' close=']'><mtable><mtr><mtd><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>1</mn><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mn>2</mn><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>x</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>P</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>+</mo><mfenced open='[' close=']'><mtable><mtr><mtd><mi>I</mi></mtd></mtr><mtr><mtd><mi>I</mi></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mi>I</mi></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mi>I</mi></mtd></mtr></mtable></mfenced><mi>d</mi><mrow><mo>(</mo><mi>k</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000041.GIF" wi="1681" he="454" /></maths>选二次型性能指标函数为目标函数:<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><munder><mi>min</mi><mi>&Delta;U</mi></munder><mo>=</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>P</mi></munderover><msubsup><mrow><mo>|</mo><mo>|</mo><msub><mi>y</mi><mi>r</mi></msub><mo>-</mo><mi>y</mi><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>i</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mi>Q</mi><mn>2</mn></msubsup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>0</mn></mrow><mrow><mi>M</mi><mo>-</mo><mn>1</mn></mrow></munderover><msubsup><mrow><mo>|</mo><mo>|</mo><mi>&Delta;u</mi><mo>-</mo><mrow><mo>(</mo><mi>k</mi><mo>+</mo><mi>i</mi><mo>|</mo><mi>k</mi><mo>)</mo></mrow><mo>|</mo><mo>|</mo></mrow><mi>R</mi><mn>2</mn></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000668406680000042.GIF" wi="1258" he="142" /></maths>其中y<sub>r</sub>定义为输出变量的期望值;Q阵和R阵分别称为误差权矩阵和控制权矩阵;约束条件:Δu<sup>‑</sup>≤Δu(k+i|k)≤Δu<sup>+</sup>(i=0…M‑1)u<sup>‑</sup>≤u(k+i|k)≤u<sup>+</sup>(i=0…M‑1)    (12)y<sup>‑</sup>≤y(k+i|k)≤y<sup>+</sup>(i=1…P)其中u<sup>+</sup>和u<sup>‑</sup>是控制量u的操作上下限;Δu<sup>+</sup>和Δu<sup>‑</sup>是控制增量Δu的操作上下限;y<sup>+</sup>和y<sup>‑</sup>是输出变量y的操作上下限;由目标函数公式(11)和约束条件公式(12)构成了LPV模型非线性预测控制命题;步骤(4)、用内点法求解步骤(3)得到的优化命题,得到当前时刻系统的控制增量施加于工业对象,并进行下一步滚动优化,实现工业对象的跟踪控制。
地址 310027 浙江省杭州市西湖区浙大路38号