发明名称 一种伺服电机的基于K‑观测器的滑模预测控制方法
摘要 一种伺服电机的基于K‑观测器的滑模预测控制方法,该方法有五大步骤:步骤一:伺服电机系统模型分析及建模;步骤二:伺服电机系统K‑观测器设计;步骤三:伺服电机的滑模预测控制设计;步骤四:跟踪性能检验与参数调节;步骤五:设计结束。本发明克服了现有控制技术的不足,给出一种基于K‑观测器的滑模预测控制方法,在仅有角度信号的条件下,准确估计出角速度以及角加速度信号,实现对伺服电机系统转角、角速度以及角加速度的快速精确控制。
申请公布号 CN104753441B 申请公布日期 2017.03.29
申请号 CN201510192637.X 申请日期 2015.04.21
申请人 国电科学技术研究院;华北电力大学(保定) 发明人 陈彦桥;韩璞;姜婷婷;刘金琨;王东风;王德华
分类号 H02P29/00(2016.01)I 主分类号 H02P29/00(2016.01)I
代理机构 北京慧泉知识产权代理有限公司 11232 代理人 王顺荣;唐爱华
主权项 一种伺服电机的基于K‑观测器的滑模预测控制方法,其特征在于:该方法步骤如下:步骤一:伺服电机系统模型分析及建模伺服电机系统采用负反馈的控制结构,输出量为伺服电机系统转角;伺服电机系统传递函数描述如下:<maths num="0001"><math><![CDATA[<mrow><msub><mi>G</mi><mi>d</mi></msub><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow><mo>=</mo><mfrac><msub><mi>K</mi><mi>m</mi></msub><mrow><mi>s</mi><mo>&lsqb;</mo><msub><mi>JL</mi><mi>d</mi></msub><msup><mi>s</mi><mn>2</mn></msup><mo>+</mo><mrow><mo>(</mo><msub><mi>JR</mi><mi>d</mi></msub><mo>+</mo><msub><mi>f</mi><mn>0</mn></msub><msub><mi>L</mi><mi>d</mi></msub><mo>)</mo></mrow><mi>s</mi><mo>+</mo><mrow><mo>(</mo><msub><mi>R</mi><mi>d</mi></msub><msub><mi>f</mi><mn>0</mn></msub><mo>+</mo><msub><mi>K</mi><mi>e</mi></msub><msub><mi>K</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>&rsqb;</mo></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000011.GIF" wi="1437" he="158" /></maths>其中:K<sub>m</sub>表示伺服电机的力矩系数;J表示汽轮发电机功角初值;L<sub>d</sub>表示伺服电机系统电枢绕组的电感;R<sub>d</sub>表示伺服电机系统电枢绕组的电阻;f<sub>0</sub>表示阻尼系数;K<sub>e</sub>表示伺服电机系统反电势系数;为了便于设计,分别定义三个状态变量x<sub>1</sub>、x<sub>2</sub>、x<sub>3</sub>如下:x<sub>1</sub>=θx<sub>2</sub>=ω<maths num="0002"><math><![CDATA[<mrow><msub><mi>x</mi><mn>3</mn></msub><mo>=</mo><mover><mi>&omega;</mi><mo>&CenterDot;</mo></mover></mrow>]]></math><img file="FDA0001154319850000012.GIF" wi="157" he="62" /></maths>这时式(1)就写成<maths num="0003"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mi>x</mi><mn>2</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mn>2</mn></msub><mo>=</mo><msub><mi>x</mi><mn>3</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><msub><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mn>3</mn></msub><mo>=</mo><mfrac><mn>1</mn><mrow><msub><mi>JL</mi><mi>d</mi></msub></mrow></mfrac><mo>&lsqb;</mo><msub><mi>K</mi><mi>m</mi></msub><mi>u</mi><mo>-</mo><mrow><mo>(</mo><msub><mi>JR</mi><mi>d</mi></msub><mo>+</mo><msub><mi>f</mi><mn>0</mn></msub><msub><mi>L</mi><mi>d</mi></msub><mo>)</mo></mrow><msub><mi>x</mi><mn>3</mn></msub><mo>-</mo><mrow><mo>(</mo><msub><mi>R</mi><mi>d</mi></msub><msub><mi>f</mi><mn>0</mn></msub><mo>+</mo><msub><mi>K</mi><mi>e</mi></msub><msub><mi>K</mi><mi>m</mi></msub><mo>)</mo></mrow><msub><mi>x</mi><mn>2</mn></msub><mo>&rsqb;</mo></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000013.GIF" wi="1430" he="324" /></maths>取x=[x<sub>1</sub> x<sub>2</sub> x<sub>3</sub>]<sup>T</sup>这时式(2)就写成<maths num="0004"><math><![CDATA[<mrow><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><mi>A</mi><mi>x</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>+</mo><mi>B</mi><mi>u</mi><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000014.GIF" wi="1450" he="71" /></maths>其中<img file="FDA0001154319850000015.GIF" wi="363" he="213" />B=[0 0 b<sub>3</sub>]<sup>T</sup>,<img file="FDA0001154319850000016.GIF" wi="919" he="143" /><img file="FDA0001154319850000021.GIF" wi="214" he="127" />伺服电机输出表示为:y(t)=c<sup>T</sup>x,其中c=[1 0 0]<sup>T</sup>;如此处理的目的是将伺服电机系统化为状态方程的表达形式,便于下一步设计;步骤二:伺服电机系统K‑观测器设计1)K‑观测器设计与分析选取一个向量k=[k<sub>1</sub> k<sub>2</sub> k<sub>3</sub>]<sup>T</sup>使得A<sub>0</sub>=A‑kc<sup>T</sup>是Hurwitz的,采用如下形式的一类K‑观测器<maths num="0005"><math><![CDATA[<mrow><mtable><mtr><mtd><mrow><mover><mi>&omega;</mi><mo>&CenterDot;</mo></mover><mo>=</mo><msub><mi>A</mi><mn>0</mn></msub><mi>&omega;</mi><mo>+</mo><msub><mi>kx</mi><mn>1</mn></msub></mrow></mtd></mtr><mtr><mtd><mrow><mover><mi>v</mi><mo>&CenterDot;</mo></mover><mo>=</mo><msub><mi>A</mi><mn>0</mn></msub><mi>v</mi><mo>+</mo><msub><mi>e</mi><mn>3</mn></msub><mi>u</mi></mrow></mtd></mtr></mtable><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000022.GIF" wi="1062" he="135" /></maths>式中:ω、v均为观测器状态向量;e<sub>3</sub>=[0 0 1]<sup>T</sup>;定义状态估计量<maths num="0006"><math><![CDATA[<mrow><mover><mi>x</mi><mo>^</mo></mover><mo>=</mo><mi>&omega;</mi><mo>+</mo><msub><mi>b</mi><mn>3</mn></msub><mi>v</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000023.GIF" wi="1010" he="61" /></maths>以及估计误差<maths num="0007"><math><![CDATA[<mrow><mover><mi>x</mi><mo>~</mo></mover><mo>=</mo><mi>x</mi><mo>-</mo><mover><mi>x</mi><mo>^</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000024.GIF" wi="1005" he="55" /></maths>对式(5)求导并将式(4)代入得<maths num="0008"><math><![CDATA[<mrow><mover><mover><mi>x</mi><mo>^</mo></mover><mo>&CenterDot;</mo></mover><mo>=</mo><mover><mi>&omega;</mi><mo>&CenterDot;</mo></mover><mo>+</mo><msub><mi>b</mi><mn>3</mn></msub><mover><mi>v</mi><mo>&CenterDot;</mo></mover><mo>=</mo><msub><mi>A</mi><mn>0</mn></msub><mi>&omega;</mi><mo>+</mo><msub><mi>kx</mi><mn>1</mn></msub><mo>+</mo><msub><mi>b</mi><mn>3</mn></msub><mrow><mo>(</mo><msub><mi>A</mi><mn>0</mn></msub><mi>v</mi><mo>+</mo><msub><mi>e</mi><mn>3</mn></msub><mi>u</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000025.GIF" wi="1238" he="79" /></maths>结合式(3)‑(7)得<maths num="0009"><math><![CDATA[<mrow><mover><mover><mi>x</mi><mo>~</mo></mover><mo>&CenterDot;</mo></mover><mo>=</mo><mover><mi>x</mi><mo>&CenterDot;</mo></mover><mo>-</mo><mover><mover><mi>x</mi><mo>^</mo></mover><mo>&CenterDot;</mo></mover><mo>=</mo><msub><mi>A</mi><mn>0</mn></msub><mrow><mo>(</mo><mi>x</mi><mo>-</mo><mover><mi>x</mi><mo>^</mo></mover><mo>)</mo></mrow><mo>=</mo><msub><mi>A</mi><mn>0</mn></msub><mover><mi>x</mi><mo>~</mo></mover><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000026.GIF" wi="1194" he="79" /></maths>由于A<sub>0</sub>是Hurwitz的,则<img file="FDA0001154319850000027.GIF" wi="38" he="53" />按指数趋于零;2)按A<sub>0</sub>为Hurwitz进行k的设计首先求A<sub>0</sub>的特征值,由于<maths num="0010"><math><![CDATA[<mrow><msub><mi>A</mi><mn>0</mn></msub><mo>=</mo><mi>A</mi><mo>-</mo><msup><mi>kc</mi><mi>T</mi></msup><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>k</mi><mn>2</mn></msub></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>k</mi><mn>3</mn></msub></mrow></mtd><mtd><msub><mi>b</mi><mn>1</mn></msub></mtd><mtd><msub><mi>b</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000028.GIF" wi="1237" he="223" /></maths><maths num="0011"><math><![CDATA[<mrow><mi>&lambda;</mi><mi>I</mi><mo>-</mo><msub><mi>A</mi><mn>0</mn></msub><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mi>&lambda;</mi></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mi>&lambda;</mi></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mi>&lambda;</mi></mtd></mtr></mtable></mfenced><mo>-</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>k</mi><mn>2</mn></msub></mrow></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mrow><mo>-</mo><msub><mi>k</mi><mn>3</mn></msub></mrow></mtd><mtd><msub><mi>b</mi><mn>1</mn></msub></mtd><mtd><msub><mi>b</mi><mn>2</mn></msub></mtd></mtr></mtable></mfenced><mo>=</mo><mfenced open = "[" close = "]"><mtable><mtr><mtd><mrow><mi>&lambda;</mi><mo>+</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msub><mi>k</mi><mn>2</mn></msub></mtd><mtd><mi>&lambda;</mi></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><msub><mi>k</mi><mn>3</mn></msub></mtd><mtd><mrow><mo>-</mo><msub><mi>b</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mi>&lambda;</mi><mo>-</mo><msub><mi>b</mi><mn>2</mn></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000029.GIF" wi="1637" he="221" /></maths>则由|λI‑A<sub>0</sub>|=0得:<maths num="0012"><math><![CDATA[<mrow><mfenced open = "|" close = "|"><mtable><mtr><mtd><mrow><mi>&lambda;</mi><mo>+</mo><msub><mi>k</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><msub><mi>k</mi><mn>2</mn></msub></mtd><mtd><mi>&lambda;</mi></mtd><mtd><mrow><mo>-</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><msub><mi>k</mi><mn>3</mn></msub></mtd><mtd><mrow><mo>-</mo><msub><mi>b</mi><mn>1</mn></msub></mrow></mtd><mtd><mrow><mi>&lambda;</mi><mo>-</mo><msub><mi>b</mi><mn>2</mn></msub></mrow></mtd></mtr></mtable></mfenced><mo>=</mo><msup><mi>&lambda;</mi><mn>3</mn></msup><mo>+</mo><mrow><mo>(</mo><msub><mi>k</mi><mn>1</mn></msub><mo>-</mo><msub><mi>b</mi><mn>2</mn></msub><mo>)</mo></mrow><msup><mi>&lambda;</mi><mn>2</mn></msup><mo>+</mo><mrow><mo>(</mo><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub><msub><mi>b</mi><mn>2</mn></msub><mo>-</mo><msub><mi>b</mi><mn>1</mn></msub><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub><mo>)</mo></mrow><mi>&lambda;</mi><mo>+</mo><msub><mi>k</mi><mn>3</mn></msub><mo>-</mo><msub><mi>b</mi><mn>1</mn></msub><msub><mi>k</mi><mn>1</mn></msub><mo>-</mo><msub><mi>k</mi><mn>2</mn></msub><msub><mi>b</mi><mn>2</mn></msub><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00011543198500000210.GIF" wi="1723" he="215" /></maths>取极点为‑k<sub>0</sub>,k<sub>0</sub>>0,则(λ+k<sub>0</sub>)<sup>3</sup>=0,即<maths num="0013"><math><![CDATA[<mrow><msup><mrow><mo>(</mo><mi>&lambda;</mi><mo>+</mo><msub><mi>k</mi><mn>0</mn></msub><mo>)</mo></mrow><mn>3</mn></msup><mo>=</mo><msup><mi>&lambda;</mi><mn>3</mn></msup><mo>+</mo><mn>3</mn><msub><mi>k</mi><mn>0</mn></msub><msup><mi>&lambda;</mi><mn>2</mn></msup><mo>+</mo><mn>3</mn><msubsup><mi>k</mi><mn>0</mn><mn>2</mn></msubsup><mi>&lambda;</mi><mo>+</mo><msubsup><mi>k</mi><mn>0</mn><mn>3</mn></msubsup><mo>=</mo><mn>0</mn><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000031.GIF" wi="1150" he="78" /></maths>对应式(11)和式(12),得:<maths num="0014"><math><![CDATA[<mrow><msub><mi>k</mi><mn>1</mn></msub><mo>=</mo><mn>3</mn><msub><mi>k</mi><mn>0</mn></msub><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><mo>,</mo><msub><mi>k</mi><mn>2</mn></msub><mo>=</mo><mn>3</mn><msubsup><mi>k</mi><mn>0</mn><mn>2</mn></msubsup><mo>+</mo><msub><mi>k</mi><mn>1</mn></msub><msub><mi>b</mi><mn>2</mn></msub><mo>+</mo><msub><mi>b</mi><mn>1</mn></msub><mo>,</mo><msub><mi>k</mi><mn>3</mn></msub><mo>=</mo><msub><mi>b</mi><mn>1</mn></msub><msub><mi>k</mi><mn>1</mn></msub><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><msub><mi>k</mi><mn>2</mn></msub><mo>+</mo><msubsup><mi>k</mi><mn>0</mn><mn>3</mn></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001154319850000032.GIF" wi="1365" he="63" /></maths>步骤三:伺服电机的滑模预测控制设计采用输出量即角度信号的单位负反馈控制结构,利用Matlab环境下的.m语言编程实现伺服电机转角滑模预测控制器的结构和功能;即控制器的输入信号是参考信号和步骤二中K‑观测器的输出值;1)设定预定指令x<sub>1d</sub>,与K‑观测器的状态<img file="FDA0001154319850000033.GIF" wi="254" he="71" />相减得到<img file="FDA0001154319850000034.GIF" wi="515" he="71" /><img file="FDA0001154319850000035.GIF" wi="238" he="71" />取滑模函数<img file="FDA0001154319850000036.GIF" wi="339" he="78" />为设计方便取中间变量<img file="FDA0001154319850000037.GIF" wi="370" he="79" />2)预测经过时间T的滑模面<img file="FDA0001154319850000038.GIF" wi="177" he="71" />表示为:<img file="FDA0001154319850000039.GIF" wi="518" he="71" />3)设计滑模预测控制的目标函数为<img file="FDA00011543198500000310.GIF" wi="1454" he="127" />要实现最优控制需满足<img file="FDA00011543198500000311.GIF" wi="310" he="127" />由此可得基于K‑观测器的滑模预测控制器为<maths num="0015"><math><![CDATA[<mrow><mi>u</mi><mo>=</mo><mo>-</mo><msup><mi>T</mi><mrow><mo>-</mo><mn>1</mn></mrow></msup><msup><mrow><mo>(</mo><mfrac><msub><mi>K</mi><mi>m</mi></msub><mrow><msub><mi>JL</mi><mi>d</mi></msub></mrow></mfrac><mo>)</mo></mrow><mrow><mo>-</mo><mn>1</mn></mrow></msup><mo>&lsqb;</mo><mover><mi>&sigma;</mi><mo>^</mo></mover><mo>+</mo><mi>T</mi><mrow><mo>(</mo><mo>-</mo><mfrac><mrow><mo>(</mo><msub><mi>R</mi><mi>d</mi></msub><msub><mi>f</mi><mn>0</mn></msub><mo>+</mo><msub><mi>K</mi><mi>m</mi></msub><msub><mi>K</mi><mi>e</mi></msub><mo>)</mo></mrow><mrow><msub><mi>JL</mi><mi>d</mi></msub></mrow></mfrac><msub><mover><mi>x</mi><mo>^</mo></mover><mn>2</mn></msub><mo>-</mo><mfrac><mrow><mo>(</mo><msub><mi>JR</mi><mi>d</mi></msub><mo>+</mo><msub><mi>f</mi><mn>0</mn></msub><msub><mi>L</mi><mi>d</mi></msub><mo>)</mo></mrow><mrow><msub><mi>JL</mi><mi>d</mi></msub></mrow></mfrac><msub><mover><mi>x</mi><mo>^</mo></mover><mn>3</mn></msub><mo>+</mo><mover><mi>p</mi><mo>^</mo></mover><mo>)</mo></mrow><mo>&rsqb;</mo></mrow>]]></math><img file="FDA00011543198500000312.GIF" wi="1381" he="166" /></maths>这里通过李雅普诺夫方法简要证明基于K‑观测器的滑模预测控制的稳定性;取<img file="FDA00011543198500000313.GIF" wi="342" he="63" />e=x<sub>1</sub>‑x<sub>1d</sub>,设李雅普诺夫函数<img file="FDA00011543198500000314.GIF" wi="435" he="127" />由于观测器是指数收敛,证明<img file="FDA00011543198500000315.GIF" wi="138" he="55" />从而证明基于K‑观测器的滑模预测控制的稳定性,且伺服电机转角、角速度以及角加速度指数收敛;步骤四:跟踪性能检验与参数调节这一步将检验系统性能是否满足设计要求,并且适当调节控制参数;借助于常用的数值计算和控制系统仿真工具Matlab进行;参数c<sub>1</sub>、c<sub>2</sub>、k<sub>1</sub>、k<sub>2</sub>、k<sub>3</sub>为调节参数,若跟踪误差过大,不满足设计要求,则调节以上参数使控制算法满足要求;步骤五:设计结束整个设计过程重点考虑了三个方面的控制需求,分别为设计的简便性,闭环系统的稳定性,跟踪的快速精确性;围绕这三个方面,首先在上述步骤一中确定了闭环控制系统的具体构成;步骤二中重点给出了伺服电机系统K‑观测器设计方法;步骤三给出了滑模预测控制方法;步骤四中介绍了用以提高跟踪性能的参数调节方法;经上述各步骤后,设计结束。
地址 210046 江苏省南京市栖霞区仙境路10号