发明名称 一种基于反演设计的伺服系统的抗饱和控制方法
摘要 本发明是一种基于反演设计的伺服系统的抗饱和控制方法,它有四大步骤:步骤1:伺服系统模型分析及建模;步骤2:伺服系统抗饱和控制律设计;步骤3:跟踪性能检验与参数调节;步骤4:设计结束。采用这种控制律设计方法,可以保证系统由于初始误差导致的输入饱和情况下系统的稳定性,且实现信号的快速精确跟踪,方便在工程实践中应用。本发明设计的控制律,通过李雅普诺夫函数分析证明跟踪误差的收敛性。此外,通过数字仿真,验证了所发明的控制方法的有效性。
申请公布号 CN104007660A 申请公布日期 2014.08.27
申请号 CN201410262268.2 申请日期 2014.06.12
申请人 国电科学技术研究院 发明人 陈宝林;皮操;刘金琨
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 北京慧泉知识产权代理有限公司 11232 代理人 王顺荣;唐爱华
主权项 一种基于反演设计的伺服系统的抗饱和控制方法,其特征在于:该方法具体步骤如下:步骤1:伺服系统模型分析及建模闭环控制系统采用负反馈的控制结构,输出量是伺服电机系统的角度,伺服系统的动力学方程为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mover><mi>&theta;</mi><mrow><mo>.</mo><mo>.</mo></mrow></mover><mo>=</mo><mo>-</mo><mfrac><mrow><msub><mi>K</mi><mi>m</mi></msub><msub><mi>C</mi><mi>e</mi></msub></mrow><mi>JR</mi></mfrac><mover><mi>&theta;</mi><mo>.</mo></mover><mo>+</mo><msub><mi>K</mi><mi>u</mi></msub><mfrac><msub><mi>K</mi><mi>m</mi></msub><mi>JR</mi></mfrac><mi>u</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000011.GIF" wi="1359" he="129" /></maths>其中:K<sub>u</sub>表示功率放大器放大系数;R表示电枢电阻;K<sub>m</sub>表示电机力矩系数;C<sub>e</sub>表示电压反馈系数;J表示转动惯量;u(t)表示实际控制输入;为了便于设计,分别定义两个状态变量x<sub>1</sub>、x<sub>2</sub>如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>x</mi><mn>1</mn></msub><mo>=</mo><mi>&theta;</mi><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>=</mo><mover><mi>&theta;</mi><mo>.</mo></mover></mrow>]]></math><img file="FDA0000519721510000012.GIF" wi="327" he="80" /></maths>这时(1)写成<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msub><mover><mi>x</mi><mo>.</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub></mtd></mtr><mtr><mtd><msub><mover><mi>x</mi><mo>.</mo></mover><mn>2</mn></msub><mo>=</mo><msub><mi>k</mi><mn>1</mn></msub><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub><mi>u</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000013.GIF" wi="1190" he="160" /></maths>其中:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>k</mi><mn>1</mn></msub><mo>=</mo><mo>-</mo><mfrac><mrow><msub><mi>K</mi><mi>m</mi></msub><msub><mi>C</mi><mi>e</mi></msub></mrow><mi>JR</mi></mfrac><mo>,</mo><msub><mi>k</mi><mn>2</mn></msub><mo>=</mo><msub><mi>K</mi><mi>u</mi></msub><mfrac><msub><mi>K</mi><mi>m</mi></msub><mi>JR</mi></mfrac><mo>,</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub><mo>;</mo></mrow>]]></math><img file="FDA0000519721510000014.GIF" wi="913" he="129" /></maths>考虑伺服系统存在输入饱和的情况,即<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>u</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mi>sat</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><mfenced open='{' close=''><mtable><mtr><mtd><mi>sgn</mi><mrow><mo>(</mo><mi>v</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>)</mo></mrow><msub><mi>u</mi><mi>M</mi></msub><mo>,</mo></mtd><mtd><mo>|</mo><mi>v</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>&GreaterEqual;</mo><msub><mi>u</mi><mi>M</mi></msub></mtd></mtr><mtr><mtd><mi>v</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>,</mo></mtd><mtd><mo>|</mo><mi>v</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>|</mo><mo>&lt;</mo><msub><mi>u</mi><mi>M</mi></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000015.GIF" wi="1424" he="191" /></maths>其中,v表示理论控制输入,u表示实际控制输入,u<sub>M</sub>表示控制输入饱和幅值,这样处理的目的是将伺服电机系统转化为状态方程的表达形式,便于控制设计;步骤2:伺服系统抗饱和控制律设计针对以上伺服系统的模型,设计过程是逐步递进的过程,一共分三个小步;第一小步:假设理想角度为y<sub>r</sub>,定义第一个误差表面z<sub>1</sub>为z<sub>1</sub>=x<sub>1</sub>‑y<sub>r</sub>     (4)对(4)求导得到<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msub><mover><mi>z</mi><mo>.</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mover><mi>x</mi><mo>.</mo></mover><mn>1</mn></msub><mo>-</mo><msub><mover><mi>y</mi><mo>.</mo></mover><mi>r</mi></msub><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mover><mi>y</mi><mo>.</mo></mover><mi>r</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000021.GIF" wi="1014" he="63" /></maths>设计第一个虚拟控制量α<sub>1</sub>为α<sub>1</sub>=‑c<sub>1</sub>z<sub>1</sub>     (6)其中:c<sub>1</sub>表示调节参数;第二小步:定义第二个误差表面z<sub>2</sub>为<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><msub><mi>z</mi><mn>2</mn></msub><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub><mo>-</mo><msub><mi>&alpha;</mi><mn>1</mn></msub><mo>-</mo><msub><mover><mi>y</mi><mo>.</mo></mover><mi>r</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000022.GIF" wi="986" he="69" /></maths>设计第二个虚拟控制量α<sub>2</sub>为<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><msub><mi>&alpha;</mi><mn>2</mn></msub><mo>=</mo><mfrac><mn>1</mn><msub><mi>k</mi><mn>2</mn></msub></mfrac><mrow><mo>(</mo><mo>-</mo><mrow><mo>(</mo><msub><mi>c</mi><mn>2</mn></msub><mo>+</mo><mi>l</mi><mo>)</mo></mrow><msub><mi>z</mi><mn>2</mn></msub><mo>+</mo><msub><mover><mi>y</mi><mrow><mo>.</mo><mo>.</mo></mrow></mover><mi>r</mi></msub><mo>-</mo><msub><mi>z</mi><mn>1</mn></msub><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>+</mo><msub><mover><mi>&alpha;</mi><mo>.</mo></mover><mn>1</mn></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000023.GIF" wi="1265" he="142" /></maths>其中:c<sub>2</sub>,l均表示调节参数;第三小步:定义第三个误差表面z<sub>3</sub>为z<sub>3</sub>=g(v)‑α<sub>2</sub>     (9)其中,<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><mi>g</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>=</mo><msub><mi>u</mi><mi>M</mi></msub><mi>tanh</mi><mrow><mo>(</mo><mfrac><mi>v</mi><msub><mi>u</mi><mi>M</mi></msub></mfrac><mo>)</mo></mrow><mo>=</mo><msub><mi>u</mi><mi>M</mi></msub><mfrac><mrow><msup><mi>e</mi><mrow><mi>v</mi><mo>/</mo><msub><mi>u</mi><mi>M</mi></msub></mrow></msup><mo>-</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>v</mi><mo>/</mo><msub><mi>u</mi><mi>M</mi></msub></mrow></msup></mrow><mrow><msup><mi>e</mi><mrow><mi>v</mi><mo>/</mo><msub><mi>u</mi><mi>M</mi></msub></mrow></msup><mo>+</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>v</mi><mo>/</mo><msub><mi>u</mi><mi>M</mi></msub></mrow></msup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000024.GIF" wi="1315" he="157" /></maths>其中,v表示理论控制输入,u<sub>M</sub>表示控制输入饱和幅值;设计辅助系统<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><mover><mi>v</mi><mo>.</mo></mover><mo>=</mo><mo>-</mo><mi>cv</mi><mo>+</mo><mi>&omega;</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000025.GIF" wi="981" he="63" /></maths>其中:c表示调节参数;设计<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mi>&omega;</mi><mo>=</mo><mi>N</mi><mrow><mo>(</mo><mi>&chi;</mi><mo>)</mo></mrow><mover><mi>&omega;</mi><mo>&OverBar;</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000026.GIF" wi="948" he="83" /></maths>其中:<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><mi>N</mi><mrow><mo>(</mo><mi>&chi;</mi><mo>)</mo></mrow><mo>=</mo><msup><mi>&chi;</mi><mn>2</mn></msup><mi>cos</mi><mrow><mo>(</mo><mi>&chi;</mi><mo>)</mo></mrow><mo>,</mo><mover><mi>&chi;</mi><mo>.</mo></mover><mo>=</mo><msub><mi>&gamma;</mi><mi>&chi;</mi></msub><msub><mi>z</mi><mn>3</mn></msub><mover><mi>&omega;</mi><mo>&OverBar;</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000027.GIF" wi="1127" he="83" /></maths><maths num="0013" id="cmaths0013"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mover><mi>&omega;</mi><mo>&OverBar;</mo></mover><mo>=</mo><mo>-</mo><msub><mi>c</mi><mn>3</mn></msub><msub><mi>z</mi><mn>3</mn></msub><mo>+</mo><mfrac><mrow><mo>&PartialD;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mrow><mrow><mo>&PartialD;</mo><msub><mi>x</mi><mn>1</mn></msub></mrow></mfrac><msub><mi>x</mi><mn>2</mn></msub><mo>+</mo><mfrac><mrow><mo>&PartialD;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mrow><mrow><mo>&PartialD;</mo><msub><mi>y</mi><mi>r</mi></msub></mrow></mfrac><msub><mover><mi>y</mi><mo>.</mo></mover><mi>r</mi></msub><mo>+</mo><mfrac><mrow><mo>&PartialD;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mrow><mrow><mo>&PartialD;</mo><msub><mover><mi>y</mi><mo>.</mo></mover><mi>r</mi></msub></mrow></mfrac><msub><mover><mi>y</mi><mrow><mo>.</mo><mo>.</mo></mrow></mover><mi>r</mi></msub><mo>+</mo><mfrac><mrow><mo>&PartialD;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mrow><mrow><mo>&PartialD;</mo><msub><mover><mi>y</mi><mrow><mo>.</mo><mo>.</mo></mrow></mover><mi>r</mi></msub></mrow></mfrac><msub><mover><mi>y</mi><mrow><mo>.</mo><mo>.</mo><mo>.</mo></mrow></mover><mi>r</mi></msub><mo>+</mo></mtd></mtr><mtr><mtd><mi>cv</mi><mfrac><mrow><mo>&PartialD;</mo><mi>g</mi></mrow><mrow><mo>&PartialD;</mo><mi>v</mi></mrow></mfrac><mo>+</mo><mi>b</mi><mfrac><mrow><mo>&PartialD;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mrow><mrow><mo>&PartialD;</mo><msub><mi>x</mi><mn>2</mn></msub></mrow></mfrac><mi>g</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow><mo>-</mo><mi>b</mi><msub><mi>z</mi><mn>2</mn></msub><mo>-</mo><mi>l</mi><msup><mrow><mo>(</mo><mfrac><mrow><mo>&PartialD;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mrow><mrow><mo>&PartialD;</mo><msub><mi>x</mi><mn>2</mn></msub></mrow></mfrac><mo>)</mo></mrow><mn>2</mn></msup><msub><mi>z</mi><mn>3</mn></msub><mo>+</mo><mfrac><mrow><mo>&PartialD;</mo><msub><mi>&alpha;</mi><mn>2</mn></msub></mrow><mrow><mo>&PartialD;</mo><msub><mi>x</mi><mn>2</mn></msub></mrow></mfrac><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mn>1</mn></msub><mo>,</mo><msub><mi>x</mi><mn>2</mn></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000519721510000031.GIF" wi="1276" he="272" /></maths>其中:<img file="FDA0000519721510000032.GIF" wi="604" he="140" />分别为α<sub>2</sub>对x<sub>1</sub>,x<sub>2</sub>,y<sub>r</sub>,<img file="FDA0000519721510000034.GIF" wi="180" he="70" />的偏导数,γ<sub>χ</sub>为调节参数,<maths num="0014" id="cmaths0014"><math><![CDATA[<mrow><mfrac><mrow><mo>&PartialD;</mo><mi>g</mi><mrow><mo>(</mo><mi>v</mi><mo>)</mo></mrow></mrow><mrow><mo>&PartialD;</mo><mi>v</mi></mrow></mfrac><mo>=</mo><mfrac><mn>4</mn><msup><mrow><mo>(</mo><msup><mi>e</mi><mrow><mi>v</mi><mo>/</mo><msub><mi>u</mi><mi>M</mi></msub></mrow></msup><mo>+</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>v</mi><mo>/</mo><msub><mi>u</mi><mi>M</mi></msub></mrow></msup><mo>)</mo></mrow><mn>2</mn></msup></mfrac><mo>;</mo></mrow>]]></math><img file="FDA0000519721510000033.GIF" wi="532" he="180" /></maths>至此求出ω,再通过辅助系统即求得伺服系统的理论控制输入v;由以上控制律求出的输入v证明出李雅普诺夫函数V(z<sub>1</sub>,z<sub>2</sub>,z<sub>3</sub>)有界,因此保证整个系统的稳定性;步骤3:跟踪性能检验与参数调节这一步将检验系统跟踪性能是否满足设计要求,并且适当调节控制参数,借助于常用的数值计算和控制系统仿真工具Matlab7.0进行;参数c<sub>1</sub>、c<sub>2</sub>、c<sub>3</sub>、c、l、γ<sub>χ</sub>为调节参数,若跟踪误差过大,不满足设计要求,则调节以上参数使得控制算法满足要求;步骤4:设计结束整个设计过程重点考虑了三个方面的控制需求,分别为设计的简便性,闭环系统的稳定性,跟踪的快速精确性;围绕这三个方面,首先在上述第一步中确定了伺服系统的动力学模型;第二步中重点给出了伺服系统的抗饱和控制方法;第三步中介绍了用以提高跟踪性能的参数调节方法;经上述各步骤后,设计结束。
地址 210031 江苏省南京市浦口区浦东路10号