主权项 |
一种基于最小二乘支持向量机的机电伺服系统摩擦补偿和动态面控制方法,其特征在于:包括如下步骤:步骤1,建立如式(1)所示的机电伺服系统模型,初始化系统状态以及控制参数;<maths num="0001"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><msub><mi>dθ</mi><mi>m</mi></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>ω</mi><mi>m</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>J</mi><mfrac><mrow><msub><mi>dθ</mi><mi>m</mi></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>K</mi><mi>t</mi></msub><mi>u</mi><mo>-</mo><msub><mi>Dω</mi><mi>m</mi></msub><mo>-</mo><msub><mi>T</mi><mi>N</mi></msub><mo>-</mo><msub><mi>T</mi><mi>l</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000011.GIF" wi="1149" he="263" /></maths>其中,θ<sub>m</sub>,ω<sub>m</sub>为状态变量,分别表示电机输出轴位置和转速;J和D是折算到电机轴上的等效转动惯量和等效阻尼系数;K<sub>t</sub>是电机扭矩常数;u是控制量;T<sub>l</sub>是折算到电机轴上的负载扭矩;T<sub>N</sub>是折算到电机轴上的摩擦力;步骤2,建立非线性摩擦的LuGre模型,过程如下:2.1,对于摩擦采用LuGre模型:<maths num="0002"><math><![CDATA[<mrow><msub><mi>T</mi><mi>N</mi></msub><mo>=</mo><msub><mi>σ</mi><mn>0</mn></msub><mi>z</mi><mo>+</mo><msub><mi>σ</mi><mn>1</mn></msub><mover><mi>z</mi><mo>·</mo></mover><mo>+</mo><msub><mi>σ</mi><mn>2</mn></msub><msub><mi>ω</mi><mi>l</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000012.GIF" wi="1150" he="63" /></maths>其中,σ<sub>0</sub>为鬃毛刚度系数,σ<sub>1</sub>为鬃毛阻尼系数,σ<sub>2</sub>为粘滞摩擦系数,z为接触表面鬃毛的平均变形量;2.2,将式(2)做如下分析:<maths num="0003"><math><![CDATA[<mrow><mover><mi>z</mi><mo>·</mo></mover><mo>=</mo><msub><mi>ω</mi><mi>l</mi></msub><mo>-</mo><mfrac><mrow><mo>|</mo><msub><mi>ω</mi><mi>l</mi></msub><mo>|</mo></mrow><mrow><mi>g</mi><mrow><mo>(</mo><msub><mi>ω</mi><mi>l</mi></msub><mo>)</mo></mrow></mrow></mfrac><mi>z</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000013.GIF" wi="1062" he="142" /></maths>其中<img file="FDA0001127877540000014.GIF" wi="619" he="143" />是非线性函数,<img file="FDA0001127877540000015.GIF" wi="198" he="102" />i是电机转速ω<sub>m</sub>与负载转速ω<sub>l</sub>的传动比,F<sub>S</sub>表示最大静摩擦力矩,F<sub>C</sub>表示Coulomb摩擦力,ω<sub>s</sub>表示Stribeck速度;步骤3,应用最小二乘支持向量机逼近摩擦力T<sub>N</sub>,过程如下:3.1,通过试验得到T<sub>N</sub>的样本数据;根据伺服系统的实际工作条件,确定正转和反转的转动速度范围是[0,ω<sub>max</sub>]和[ω<sub>min</sub>,0],ω<sub>max</sub>>0表示正转最大速度,ω<sub>min</sub><0表示反转最大速度;令控制器输入为0,在正转和反转的转动速度范围内确定摩擦力矩的数据样本:<maths num="0004"><math><![CDATA[<mfenced open = "{" close = "}"><mtable><mtr><mtd><mrow><mo>(</mo><msub><mi>ω</mi><mn>1</mn></msub><mo>,</mo><msub><mi>T</mi><mn>1</mn></msub><mo>)</mo><mo>,</mo><mn>...</mn><mo>,</mo><mo>(</mo><msub><mi>ω</mi><mi>i</mi></msub><mo>,</mo><msub><mi>T</mi><mi>i</mi></msub><mo>)</mo><mo>,</mo><mn>...</mn><mo>,</mo><mo>(</mo><msub><mi>ω</mi><mi>P</mi></msub><mo>,</mo><msub><mi>T</mi><mi>P</mi></msub><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mrow><mo>(</mo><msub><mover><mi>ω</mi><mo>‾</mo></mover><mn>1</mn></msub><mo>,</mo><msub><mover><mi>T</mi><mo>‾</mo></mover><mn>1</mn></msub><mo>)</mo><mo>,</mo><mn>...</mn><mo>,</mo><mo>(</mo><msub><mover><mi>ω</mi><mo>‾</mo></mover><mi>j</mi></msub><mo>,</mo><msub><mover><mi>T</mi><mo>‾</mo></mover><mi>j</mi></msub><mo>)</mo><mo>,</mo><mn>...</mn><mo>,</mo><mo>(</mo><msub><mover><mi>ω</mi><mo>‾</mo></mover><mi>Q</mi></msub><mo>,</mo><msub><mover><mi>T</mi><mo>‾</mo></mover><mi>Q</mi></msub><mo>)</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0001127877540000021.GIF" wi="677" he="156" /></maths>其中,ω<sub>1</sub>...ω<sub>P</sub>为正转的转速采样样本数据,<img file="FDA0001127877540000022.GIF" wi="150" he="63" />为反转的转速的采样样本数据,T<sub>1</sub>...T<sub>P</sub>和<img file="FDA0001127877540000023.GIF" wi="126" he="79" />为所对应的转速下的摩擦力大小,P表示正转采样样本数据容量,Q表示反转采样样本数据容量;3.2,利用样本数据和最小二乘支持向量机建立模型:f<sub>svrm</sub>(ω<sub>m</sub>)=αφ(ω<sub>m</sub>)+b (4)其中,<img file="FDA0001127877540000024.GIF" wi="1109" he="132" />A=φ(ω<sub>m</sub>)+1<sub>v</sub>/γ,<img file="FDA0001127877540000025.GIF" wi="815" he="62" />δ=P+Q,1<sub>v</sub>=[1;1;...;1],<img file="FDA0001127877540000026.GIF" wi="565" he="78" />c和γ是大于0的常数,α,b为模型参数;式(1)中的T<sub>N</sub>用式(4)得到的f<sub>svrm</sub>(ω<sub>m</sub>)来代替,则式(1)改写为:<maths num="0005"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><msub><mi>dθ</mi><mi>m</mi></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>ω</mi><mi>m</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>J</mi><mfrac><mrow><msub><mi>dθ</mi><mi>m</mi></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>K</mi><mi>t</mi></msub><mi>u</mi><mo>-</mo><msub><mi>Dω</mi><mi>m</mi></msub><mo>-</mo><msub><mi>f</mi><mrow><mi>x</mi><mi>v</mi><mi>r</mi><mi>m</mi></mrow></msub><mrow><mo>(</mo><msub><mi>ω</mi><mi>m</mi></msub><mo>)</mo></mrow><mo>-</mo><msub><mi>T</mi><mi>l</mi></msub></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000027.GIF" wi="1061" he="265" /></maths>步骤4,用动态面的方法来设计控制器u,过程如下;4.1,定义跟踪误差:e<sub>1</sub>=θ<sub>ref</sub>‑θ<sub>m</sub> (6)其中,e<sub>1</sub>为跟踪误差,θ<sub>ref</sub>为跟踪参考信号,θ<sub>m</sub>为电机输出轴位置;对式(6)求导,得:<maths num="0006"><math><![CDATA[<mrow><msub><mover><mi>e</mi><mo>·</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mover><mi>θ</mi><mo>·</mo></mover><mrow><mi>r</mi><mi>e</mi><mi>f</mi></mrow></msub><mo>-</mo><msub><mover><mi>θ</mi><mo>·</mo></mover><mi>m</mi></msub><mo>=</mo><msub><mover><mi>θ</mi><mo>·</mo></mover><mrow><mi>r</mi><mi>e</mi><mi>f</mi></mrow></msub><mo>-</mo><msub><mi>ω</mi><mi>m</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000028.GIF" wi="1062" he="79" /></maths>其中,<img file="FDA0001127877540000029.GIF" wi="38" he="58" />为跟踪误差的导数,<img file="FDA00011278775400000210.GIF" wi="74" he="78" />为跟踪参考信号的导数,<img file="FDA00011278775400000211.GIF" wi="51" he="71" />为电机输出轴位置的导数;4.2,定义虚拟控制器S及它的导数<img file="FDA0001127877540000031.GIF" wi="36" he="55" />有如下关系:<maths num="0007"><math><![CDATA[<mrow><mover><mi>S</mi><mo>·</mo></mover><mi>τ</mi><mo>+</mo><mi>S</mi><mo>=</mo><msub><mi>k</mi><mn>1</mn></msub><msub><mi>e</mi><mn>1</mn></msub><mo>+</mo><mi>k</mi><mi>χ</mi><mo>+</mo><msub><mover><mi>θ</mi><mo>·</mo></mover><mrow><mi>r</mi><mi>e</mi><mi>f</mi></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000032.GIF" wi="1062" he="71" /></maths>其中,k<sub>1</sub>,k为大于0的常数,<img file="FDA0001127877540000033.GIF" wi="206" he="103" />是位置跟踪误差的积分作用,τ>0表示时间常数;定义中间误差e<sub>2</sub>:e<sub>2</sub>=S‑ω<sub>m</sub> (9)将式(9)代入式(7)得到:<maths num="0008"><math><![CDATA[<mrow><msub><mover><mi>e</mi><mo>·</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mi>e</mi><mn>2</mn></msub><mo>-</mo><msub><mi>k</mi><mn>1</mn></msub><msub><mi>e</mi><mn>1</mn></msub><mo>-</mo><mi>k</mi><mi>χ</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000034.GIF" wi="1085" he="63" /></maths>对式(9)求导得:<maths num="0009"><math><![CDATA[<mrow><msub><mover><mi>e</mi><mo>·</mo></mover><mn>2</mn></msub><mo>=</mo><mover><mi>S</mi><mo>·</mo></mover><mo>-</mo><msub><mover><mi>ω</mi><mo>·</mo></mover><mi>m</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000035.GIF" wi="997" he="70" /></maths>将式(4),式(8)代入式(11)得:<maths num="0010"><math><![CDATA[<mrow><msub><mover><mi>e</mi><mo>·</mo></mover><mn>2</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>k</mi><mn>1</mn></msub><msub><mi>e</mi><mn>1</mn></msub><mo>+</mo><mi>k</mi><mi>χ</mi><mo>+</mo><msub><mover><mi>θ</mi><mo>·</mo></mover><mrow><mi>r</mi><mi>e</mi><mi>f</mi></mrow></msub><mo>-</mo><mi>S</mi></mrow><msub><mi>τ</mi><mn>2</mn></msub></mfrac><mo>-</mo><mfrac><mn>1</mn><mi>J</mi></mfrac><mrow><mo>(</mo><msub><mi>K</mi><mi>t</mi></msub><mi>u</mi><mo>-</mo><msub><mi>Dω</mi><mi>m</mi></msub><mo>-</mo><msub><mi>f</mi><mrow><mi>s</mi><mi>v</mi><mi>r</mi><mi>m</mi></mrow></msub><mo>(</mo><msub><mi>ω</mi><mi>m</mi></msub><mo>)</mo><mo>+</mo><msub><mi>T</mi><mi>l</mi></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000036.GIF" wi="1347" he="143" /></maths>4.3,设计控制器u:<maths num="0011"><math><![CDATA[<mrow><mi>u</mi><mo>=</mo><mfrac><mn>1</mn><msub><mi>a</mi><mn>0</mn></msub></mfrac><mrow><mo>(</mo><msub><mi>e</mi><mn>1</mn></msub><mo>+</mo><mover><mi>S</mi><mo>·</mo></mover><mo>+</mo><msub><mi>k</mi><mn>2</mn></msub><msub><mi>e</mi><mn>2</mn></msub><mo>+</mo><msub><mi>a</mi><mn>1</mn></msub><msub><mi>ω</mi><mi>m</mi></msub><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub><msub><mi>f</mi><mrow><mi>s</mi><mi>v</mi><mi>r</mi><mi>m</mi></mrow></msub><mo>(</mo><msub><mi>ω</mi><mi>m</mi></msub><mo>)</mo><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub><mi>Δ</mi><mi>T</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>13</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000037.GIF" wi="1262" he="127" /></maths>其中<img file="FDA0001127877540000038.GIF" wi="582" he="119" />k<sub>2</sub>为正的常数;4.4,设计李雅普诺夫函数:<maths num="0012"><math><![CDATA[<mrow><mi>V</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><msub><mi>e</mi><mn>1</mn></msub><mn>2</mn></msup><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msup><msub><mi>e</mi><mn>2</mn></msub><mn>2</mn></msup><mo>+</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><msub><mi>k</mi><mn>1</mn></msub><msup><mi>χ</mi><mn>2</mn></msup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>14</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0001127877540000039.GIF" wi="1086" he="111" /></maths>将式(6),(10),(12),(13)代入式(14),如果<img file="FDA00011278775400000310.GIF" wi="134" he="55" />判定系统是稳定的。 |