发明名称 一种自抗扰控制器参数的整定方法
摘要 本发明公开了属于工业自动化领域的一种自抗扰控制器的参数整定方法。所述自抗扰控制器由TD、NLSEF和ESO串联组成;在实施对自抗扰控制器进行参数整定时,自抗扰控制器的参数整定方法包括两个相互联系的内容:1)待整定参数初始值的确定;2)确定待整定参数初始值之后的后续整定;本发明基于MATLAB仿真,可离线进行,以给出的一组简单的计算公式计算确定待整定的各个参数的初始值,或以直接提供的一组数值作为初始化参数,然后以此作为开始点,再按照几个简要步骤的操作流程即可完成自抗扰控制器的参数整定,具有整定速度快、效率高、参数准确的特点。
申请公布号 CN103019095A 申请公布日期 2013.04.03
申请号 CN201210479254.7 申请日期 2012.11.22
申请人 华北电力大学 发明人 梁庚;李文
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 北京众合诚成知识产权代理有限公司 11246 代理人 史双元
主权项 1.一种自抗扰控制器的参数整定方法,其特征在于,自抗扰控制器的参数整定方法包括1)待整定参数初始值的确定;2)确定待整定参数初始值之后的后续整定;具体的实施过程如下:首先对1)待整定参数初始值进行确定如下:为明晰起见,使用上述自抗扰控制器对其ESO进行稳定性分析:如果ESO稳定则z<sub>1</sub>收敛到y,则v<sub>1</sub>和v<sub>2</sub>视作ESO的外部扰动,在ESO的稳定性分析中可忽略,然后使用梅森公式获取G<sub>ESO</sub>(S)的表达式;ESO的传递函数表征为:<maths num="0001"><![CDATA[<math> <mrow> <msub> <mi>G</mi> <mi>ESO</mi> </msub> <mrow> <mo>(</mo> <mi>S</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>z</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>y</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow></math>]]></maths>式中,z<sub>1</sub>(s)为ESO对被控对象输出y的估计z1的拉氏变换;y(s)为被控对象输出y的拉氏变换;将ESO视作一个单位反馈系统,z<sub>1</sub>为反馈点;定义G<sub>ESO</sub>(S)的前向通道传递函数为G<sub>m</sub>(S),因此有:<maths num="0002"><![CDATA[<math> <mrow> <msub> <mi>G</mi> <mi>ESO</mi> </msub> <mrow> <mo>(</mo> <mi>S</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>G</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <mi>S</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>G</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <mi>S</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow></math>]]></maths>对G<sub>m</sub>(S)应用梅森公式,有:<maths num="0003"><![CDATA[<math> <mfenced open="" close=""> <mtable> <mtr> <mtd> <msub> <mi>P</mi> <mn>1</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mfrac> <mn>1</mn> <mi>s</mi> </mfrac> </mtd> </mtr> <mtr> <mtd> <msub> <mi>P</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mfrac> <mn>1</mn> <msup> <mi>s</mi> <mn>2</mn> </msup> </mfrac> </mtd> </mtr> <mtr> <mtd> <msub> <mi>P</mi> <mn>3</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> <mfrac> <mn>1</mn> <msup> <mi>s</mi> <mn>3</mn> </msup> </mfrac> </mtd> </mtr> <mtr> <mtd> <msub> <mi>P</mi> <mn>4</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> <mfrac> <mn>1</mn> <msup> <mi>s</mi> <mn>3</mn> </msup> </mfrac> </mtd> </mtr> </mtable> </mfenced></math>]]></maths>和<maths num="0004"><![CDATA[<math> <mfenced open="" close=""> <mtable> <mtr> <mtd> <msub> <mi>L</mi> <mn>1</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>N</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mfrac> <mn>1</mn> <msup> <mi>s</mi> <mn>2</mn> </msup> </mfrac> </mtd> </mtr> <mtr> <mtd> <msub> <mi>L</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>N</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mfrac> <mn>1</mn> <msup> <mi>s</mi> <mn>2</mn> </msup> </mfrac> </mtd> </mtr> </mtable> </mfenced></math>]]></maths>可见L<sub>1</sub>和L<sub>2</sub>含有公共部分;因此得到<maths num="0005"><![CDATA[<math> <mrow> <mi>&Delta;</mi> <mo>=</mo> <mn>1</mn> <mo>+</mo> <msub> <mi>N</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mfrac> <mn>1</mn> <msup> <mi>s</mi> <mn>2</mn> </msup> </mfrac> <mo>+</mo> <msub> <mi>N</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mfrac> <mn>1</mn> <msup> <mi>s</mi> <mn>2</mn> </msup> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow></math>]]></maths>所以有<maths num="0006"><![CDATA[<math> <mrow> <msub> <mi>&Delta;</mi> <mn>1</mn> </msub> <mo>=</mo> <msub> <mi>&Delta;</mi> <mn>2</mn> </msub> <mo>=</mo> <msub> <mi>&Delta;</mi> <mn>3</mn> </msub> <mo>=</mo> <msub> <mi>&Delta;</mi> <mn>4</mn> </msub> <mo>=</mo> <mn>1</mn> </mrow></math>]]></maths>因此得到G<sub>m</sub>(S)表达式为<maths num="0007"><![CDATA[<math> <mrow> <msub> <mi>G</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <mi>S</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mi>&Delta;</mi> </mfrac> <munderover> <mi>&Sigma;</mi> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mn>4</mn> </munderover> <msub> <mi>P</mi> <mi>k</mi> </msub> <msub> <mi>&Delta;</mi> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mn>1</mn> <mi>&Delta;</mi> </mfrac> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mn>1</mn> </msub> <msub> <mi>&Delta;</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>P</mi> <mn>2</mn> </msub> <msub> <mi>&Delta;</mi> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>P</mi> <mn>3</mn> </msub> <msub> <mi>&Delta;</mi> <mn>3</mn> </msub> <mo>+</mo> <msub> <mi>P</mi> <mn>4</mn> </msub> <msub> <mi>&Delta;</mi> <mn>4</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mo>-</mo> <mrow> <mo>(</mo> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mi>s</mi> <mo>+</mo> <mn>2</mn> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <mi>s</mi> <mrow> <mo>(</mo> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>N</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow></math>]]></maths>因此进一步得到ESO的闭环传递函数为<maths num="0008"><![CDATA[<math> <mrow> <mfenced open="" close=""> <mtable> <mtr> <mtd> <msub> <mi>G</mi> <mi>ESO</mi> </msub> <mrow> <mo>(</mo> <mi>S</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <msub> <mi>G</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <mi>S</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mn>1</mn> <mo>+</mo> <msub> <mi>G</mi> <mi>m</mi> </msub> <mrow> <mo>(</mo> <mi>S</mi> <mo>)</mo> </mrow> </mrow> </mfrac> </mtd> </mtr> <mtr> <mtd> <mo>=</mo> <mfrac> <mrow> <mo>-</mo> <mrow> <mo>(</mo> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>+</mo> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mi>s</mi> <mo>+</mo> <mn>2</mn> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> <mo>)</mo> </mrow> </mrow> <mrow> <msup> <mi>s</mi> <mn>3</mn> </msup> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mo>(</mo> <msub> <mi>N</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mi>s</mi> <mo>-</mo> <mn>2</mn> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> </mrow> </mfrac> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow></math>]]></maths>由此可见G<sub>ESO</sub>(S)是一个三阶系统;根据劳斯判据,ESO如果是稳定的则必须满足下列条件:<maths num="0009"><![CDATA[<math> <mrow> <mfenced open="{" close=""> <mtable> <mtr> <mtd> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mo>&lt;</mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> <mo>&lt;</mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>(</mo> <msub> <mi>N</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>&gt;</mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mrow> <mo>(</mo> <msub> <mi>N</mi> <mn>1</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>+</mo> <msub> <mi>N</mi> <mn>2</mn> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>-</mo> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>&gt;</mo> <mo>-</mo> <mn>2</mn> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow></math>]]></maths>现在根据式(6)来选择自抗扰控制器的初始化参数,只要所选择的参数满足式(6)即可;其中,给出如下一组经过验证效果较好的参数:<maths num="0010"><![CDATA[<math> <mfenced open="" close=""> <mtable> <mtr> <mtd> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mo>=</mo> <mo>-</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>-</mo> <mn>2</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> <mo>=</mo> <mo>-</mo> <mn>1</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>N</mi> <mn>1</mn> </msub> <mo>=</mo> <mn>300</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>N</mi> <mn>2</mn> </msub> <mo>=</mo> <mn>10</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>=</mo> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced></math>]]></maths>或者<maths num="0011"><![CDATA[<math> <mfenced open="" close=""> <mtable> <mtr> <mtd> <msub> <mi>&beta;</mi> <mn>1</mn> </msub> <mo>=</mo> <mo>-</mo> <mn>0.1</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&beta;</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>-</mo> <mn>1.5</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&beta;</mi> <mn>3</mn> </msub> <mo>=</mo> <mo>-</mo> <mn>0.1</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>N</mi> <mn>1</mn> </msub> <mo>=</mo> <mn>300</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>N</mi> <mn>2</mn> </msub> <mo>=</mo> <mn>10</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mi>b</mi> <mn>0</mn> </msub> <mo>=</mo> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced></math>]]></maths>(7);上述式中,β<sub>1</sub>,β<sub>2</sub>,β<sub>3</sub>,b<sub>0</sub>为扩张状态观测器(ESO)的参数;N<sub>1</sub>,N<sub>2</sub>为非线性状态误差反馈(NLSEF)参数;p<sub>1</sub>、p<sub>2</sub>、p<sub>3</sub>、p<sub>4</sub>、L<sub>1</sub>、L<sub>2</sub>、、1、2、3和4都是梅森公式中定义的有固定含义的参数,S是拉氏算子;其次,2)确定待整定参数初始值之后的后续整定;经反复仿真实验,后续的参数调节按如下的过程实施:第1步:按式(6)给出的条件自行确定一组参数的初始值,或者直接使用式(7)给出的一组数值作为参数初始值;第2步:在自抗扰控制闭环控制系统的MATLAB仿真模型中,使用由第1步确定的初始化参数进行仿真,然后观察闭环系统的输出,如果系统输出呈现纹波较小的衰减振荡则直接进行第4步;如果系统输出呈现纹波较大的衰减振荡或发散则进行第3步;实际操作中,超调量达到8%-15%范围,即可认为是纹波较小,若大于该范围,则认为系统输出呈现纹波较大的衰减振荡;第3步:按1~2个数量级减小β<sub>1</sub>、β<sub>3</sub>的绝对值,如果采用式(7)给出的一组数值作为参数初始值,则此步中β<sub>1</sub>、β<sub>3</sub>使用下面数值:β<sub>1</sub>=-0.1,β<sub>3</sub>=-0.1然后在MATLAB仿真模型中观察闭环系统的仿真输出,如果系统输出呈现衰减振荡出现第2步中系统输出呈现纹波较大的衰减振荡情况,则继续重复该步,在多次重复了该步骤后,如果发现系统输出的纹波形状变化很小或者基本不再有变化则进行第4步,如果系统输出呈现第2步中纹波较小的衰减振荡,则直接进行第5步;第4步:按减半方式减小β<sub>2</sub>,如果采用式(7)给出的一组数值作为参数初始值,则此步中β<sub>2</sub>使用下面数值:β<sub>2</sub>=-1然后回到第2步开始新一轮的参数调节;当持续调节到系统输出曲线的纹波较小时进行第5步,无论此时系统输出是否存在静态偏差;所述静态偏差是指系统调节达到稳定后系统的输出与设定值的偏差;第5步:如果此时系统输出存在静态偏差,则适当增加N<sub>1</sub>的数值,同时保持N<sub>2</sub>不变,以消除静态误差。
地址 102206 北京市昌平区朱辛庄北农路2号