发明名称 多变量过程的蒸馏塔模型预测控制优化PID控制方法
摘要 本发明公开了一种多变量过程的蒸馏塔模型预测控制优化PID控制方法,本发明结合扩展非最小状态空间模型预测控制和传统PID控制算法。首先建立多变量过程的蒸馏塔状态空间模型,挖掘出基本的过程特性;然后结合蒸馏塔内多变量过程的状态过程和输出误差,建立扩展非最小状态空间模型。在模型的基础上,基于优化思想,利用模型预测控制方法来整定PID控制器的参数,最后对蒸馏塔内多变量过程实现PID控制,有效提高了多变量系统的控制性能,明显减小系统超调量,改善了控制性能,又保证了控制结构简单;弥补了传统PID控制的不足,又保证了良好的控制性能。
申请公布号 CN105159095A 申请公布日期 2015.12.16
申请号 CN201510653833.2 申请日期 2015.10.10
申请人 杭州电子科技大学 发明人 薛安克;徐卫德;张日东;王俊宏
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州君度专利代理事务所(特殊普通合伙) 33240 代理人 杜军
主权项 多变量过程的蒸馏塔模型预测控制优化PID控制方法,其特征在于包括如下步骤:步骤(1).建立被控对象的扩展非最小状态空间模型;步骤(2).设计多变量过程的PID控制器;步骤1所述的建立被控对象的扩展非最小状态空间模型,具体步骤如下:1‑1.通过采集被控对象的实时数据,用最小二乘法建立多输入多输出系统的模型Y(k)+H<sub>1</sub>Y(k‑1)+…H<sub>n</sub>Y(k‑n)=L<sub>1</sub>U(k)+L<sub>2</sub>U(k‑1)+……+L<sub>n</sub>U(k‑n+1)其中,<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>Y</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>y</mi><mn>1</mn></msub><mo>(</mo><mi>k</mi><mo>)</mo></mtd></mtr><mtr><mtd><msub><mi>y</mi><mn>2</mn></msub><mo>(</mo><mi>k</mi><mo>)</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>y</mi><mi>p</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo></mtd></mtr></mtable></mfenced><mo>,</mo><mi>U</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><msub><mi>u</mi><mn>1</mn></msub><mo>(</mo><mi>k</mi><mo>)</mo></mtd></mtr><mtr><mtd><msub><mi>u</mi><mn>2</mn></msub><mo>(</mo><mi>k</mi><mo>)</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><msub><mi>u</mi><mi>q</mi></msub><mo>(</mo><mi>k</mi><mo>)</mo></mtd></mtr></mtable></mfenced><mo>;</mo></mrow>]]></math><img file="FDA0000818892270000011.GIF" wi="712" he="354" /></maths>Y(k)为p维输出,U(k)为q维输入,H<sub>1</sub>…H<sub>n</sub>,L<sub>1</sub>,L<sub>2</sub>…L<sub>n</sub>是系统需要辨识的系数;通过最小二乘法辨识系统模型<img file="FDA0000818892270000012.GIF" wi="87" he="90" />结果如下:<img file="FDA0000818892270000013.GIF" wi="441" he="93" />其中,<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>Y</mi><mi>j</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mrow><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mi>N</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced><msub><mi>H</mi><mi>j</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mo>-</mo><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mo>-</mo><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msup><mi>U</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><msup><mi>U</mi><mi>T</mi></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mo>-</mo><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msup><mi>U</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>2</mn><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><msup><mi>U</mi><mi>T</mi></msup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mi>N</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mo>-</mo><msub><mi>y</mi><mi>j</mi></msub><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow></mtd><mtd><mrow><msup><mi>U</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mi>N</mi><mo>)</mo></mrow></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><msup><mi>U</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>N</mi><mo>)</mo></mrow></mrow></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000818892270000014.GIF" wi="1630" he="328" /></maths>1‑2.将步骤1‑1中辨识得到的模型进一步处理为如下形式:△y(k+1)+H<sub>1</sub>△y(k)+H<sub>2</sub>△y(k‑1)+…+H<sub>n</sub>△y(k‑n+1)=L<sub>1</sub>△u(k)+L<sub>2</sub>△u(k‑1)+…+L<sub>n</sub>△u(k‑n+1)其中,y(k)和u(k)分别是k时刻输出和输入,△为后移算子;1‑3.选取非最小状态空间变量△x(k),形式如下:△x(k)<sup>T</sup>=[△y(k)<sup>T</sup>,△y(k‑1)<sup>T</sup>,…,△y(k‑n+1)<sup>T</sup>,△u(k‑1)<sup>T</sup>,△u(k‑2)<sup>T</sup>,…,△u(k‑n+1)<sup>T</sup>]其中,△x(k)的维数是m=p×(n‑1)+q×n;将步骤1‑2中的模型经过转换后,可得状态空间模型:△x(k+1)=A△x(k)+B△u(k)△y(k+1)=C△x(k+1)其中,<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>A</mi><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mo>-</mo><msub><mi>H</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mo>-</mo><msub><mi>H</mi><mn>1</mn></msub></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mo>-</mo><msub><mi>H</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mo>-</mo><msub><mi>H</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mo>-</mo><msub><mi>H</mi><mn>1</mn></msub></mrow></mtd><mtd><mo>...</mo></mtd><mtd><mrow><mo>-</mo><msub><mi>H</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mo>-</mo><msub><mi>H</mi><mn>1</mn></msub></mrow></mtd></mtr><mtr><mtd><msub><mi>I</mi><mi>q</mi></msub></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><msub><mi>I</mi><mi>q</mi></msub></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mo>...</mo></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mo>...</mo></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><msub><mi>I</mi><mi>q</mi></msub></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><msub><mi>I</mi><mi>q</mi></msub></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mo>...</mo></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mo>...</mo></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd><mtd><mtable><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr><mtr><mtd><mo>&CenterDot;</mo></mtd></mtr></mtable></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mo>...</mo></mtd><mtd><msub><mi>I</mi><mi>q</mi></msub></mtd><mtd><mn>0</mn></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000818892270000021.GIF" wi="1011" he="547" /></maths>B=[L<sub>1</sub> 0 0 … 0 I<sub>p</sub> 0 0]C=[I<sub>q</sub> 0 0 … 0 0 0 0]△x(k+1)、△y(k+1)分别是第k+1时刻的状态和输出,△u(k)是第k时刻的输入变量增量值,A、B、C分别对应的是状态矩阵、输入矩阵和输出矩阵;I<sub>p</sub>为p维的单位矩阵,I<sub>q</sub>为q维的单位矩阵;1‑4定义预期的输出r(k),则跟踪误差表示为:e(k)=y(k)‑r(k)结合步骤1‑3中的状态空间模型和定义的跟踪误差得到:e(k+1)=e(k)+CA△x(k)+CB△u(k)‑△r(k+1)其中△u(k),△r(k+1)分别是经过后移算子后的输入和预期的输出;为了获得扩展非最小状态空间模型,构造一个新的状态变量如下:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>z</mi><mrow><mo>(</mo><mi>k</mi><mo>)</mo></mrow><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mi>&Delta;</mi><mi>x</mi><mo>(</mo><mi>k</mi><mo>)</mo></mtd></mtr><mtr><mtd><mi>e</mi><mo>(</mo><mi>k</mi><mo>)</mo></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000818892270000022.GIF" wi="317" he="150" /></maths>进一步扩展状态空间模型,形式如下:z(k+1)=A<sub>m</sub>z(k)+B<sub>m</sub>△u(k)+C<sub>m</sub>△r(k+1)其中,<maths num="0005" id="cmaths0005"><math><![CDATA[<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><mrow><mi>C</mi><mi>A</mi></mrow></mtd><mtd><msub><mi>I</mi><mi>q</mi></msub></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>C</mi><mi>B</mi></mtd></mtr></mtable></mfenced><mo>,</mo><msub><mi>C</mi><mi>m</mi></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mo>-</mo><msub><mi>I</mi><mi>q</mi></msub></mtd></mtr></mtable></mfenced></mrow>]]></math><img file="FDA0000818892270000023.GIF" wi="897" he="164" /></maths>0是一个m×q维的零矩阵,I<sub>q</sub>是一个q维单位矩阵。
地址 310018 浙江省杭州市下沙高教园区2号大街