发明名称 基于最小二乘支持向量机的机电伺服系统摩擦补偿和动态面控制方法
摘要 一种基于最小二乘支持向量机的机电伺服系统摩擦补偿和动态面控制方法,包括:建立机电伺服系统模型和LuGre摩擦模型,初始化系统状态以及相关控制参数;通过最小二乘支持向量机逼近摩擦力,并补偿到系统中。根据逼近的摩擦力设计动态面控制器,保证系统跟踪误差快速稳定地收敛至零点,实现机电伺服系统的快速稳定控制。本发明提出一种基于最小二乘支持向量机的机电伺服系统摩擦补偿和动态面控制方法,解决摩擦不确定性的问题,利用最小二乘支持向量机的函数逼近功能对摩擦进行准确建模,进而根据建立的摩擦模型,结合动态面控制法设计自适应控制器。由于系统中的摩擦已经得到了补偿,系统状态能更好的收敛。
申请公布号 CN104678763B 申请公布日期 2017.02.22
申请号 CN201510029250.2 申请日期 2015.01.21
申请人 浙江工业大学 发明人 陈强;楼成林
分类号 G05B13/04(2006.01)I 主分类号 G05B13/04(2006.01)I
代理机构 杭州斯可睿专利事务所有限公司 33241 代理人 王利强
主权项 一种基于最小二乘支持向量机的机电伺服系统摩擦补偿和动态面控制方法,其特征在于:包括如下步骤:步骤1,建立如式(1)所示的机电伺服系统模型,初始化系统状态以及控制参数;<maths num="0001"><math><![CDATA[<mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><mfrac><mrow><msub><mi>d&theta;</mi><mi>m</mi></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>&omega;</mi><mi>m</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>J</mi><mfrac><mrow><msub><mi>d&theta;</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&omega;</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>&sigma;</mi><mn>0</mn></msub><mi>z</mi><mo>+</mo><msub><mi>&sigma;</mi><mn>1</mn></msub><mover><mi>z</mi><mo>&CenterDot;</mo></mover><mo>+</mo><msub><mi>&sigma;</mi><mn>2</mn></msub><msub><mi>&omega;</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>&CenterDot;</mo></mover><mo>=</mo><msub><mi>&omega;</mi><mi>l</mi></msub><mo>-</mo><mfrac><mrow><mo>|</mo><msub><mi>&omega;</mi><mi>l</mi></msub><mo>|</mo></mrow><mrow><mi>g</mi><mrow><mo>(</mo><msub><mi>&omega;</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>&omega;</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>&omega;</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>&omega;</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>&omega;</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mo>,</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mn>1</mn></msub><mo>)</mo><mo>,</mo><mn>...</mn><mo>,</mo><mo>(</mo><msub><mover><mi>&omega;</mi><mo>&OverBar;</mo></mover><mi>j</mi></msub><mo>,</mo><msub><mover><mi>T</mi><mo>&OverBar;</mo></mover><mi>j</mi></msub><mo>)</mo><mo>,</mo><mn>...</mn><mo>,</mo><mo>(</mo><msub><mover><mi>&omega;</mi><mo>&OverBar;</mo></mover><mi>Q</mi></msub><mo>,</mo><msub><mover><mi>T</mi><mo>&OverBar;</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&theta;</mi><mi>m</mi></msub></mrow><mrow><mi>d</mi><mi>t</mi></mrow></mfrac><mo>=</mo><msub><mi>&omega;</mi><mi>m</mi></msub></mrow></mtd></mtr><mtr><mtd><mrow><mi>J</mi><mfrac><mrow><msub><mi>d&theta;</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&omega;</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>&omega;</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>&CenterDot;</mo></mover><mn>1</mn></msub><mo>=</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mi>r</mi><mi>e</mi><mi>f</mi></mrow></msub><mo>-</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mi>m</mi></msub><mo>=</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mi>r</mi><mi>e</mi><mi>f</mi></mrow></msub><mo>-</mo><msub><mi>&omega;</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>&CenterDot;</mo></mover><mi>&tau;</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>&chi;</mi><mo>+</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</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>&CenterDot;</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>&chi;</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>&CenterDot;</mo></mover><mn>2</mn></msub><mo>=</mo><mover><mi>S</mi><mo>&CenterDot;</mo></mover><mo>-</mo><msub><mover><mi>&omega;</mi><mo>&CenterDot;</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>&CenterDot;</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>&chi;</mi><mo>+</mo><msub><mover><mi>&theta;</mi><mo>&CenterDot;</mo></mover><mrow><mi>r</mi><mi>e</mi><mi>f</mi></mrow></msub><mo>-</mo><mi>S</mi></mrow><msub><mi>&tau;</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&omega;</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>&omega;</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>&CenterDot;</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>&omega;</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>&omega;</mi><mi>m</mi></msub><mo>)</mo><mo>+</mo><msub><mi>a</mi><mn>2</mn></msub><mi>&Delta;</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>&chi;</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" />判定系统是稳定的。
地址 310014 浙江省杭州市下城区朝晖六区潮王路18号浙江工业大学