一种应用于冗余驱动系统的双直线电机协同控制方法与流程

文档序号:11948139阅读:496来源:国知局
一种应用于冗余驱动系统的双直线电机协同控制方法与流程

本发明涉及直线电机精密控制领域,尤其是涉及一种应用于冗余驱动系统的双直线电机协同控制方法。



背景技术:

永磁直线电机具有结构简单、定位精度高、振动和噪声小、动态响应快、无传动间隙、无行程限制、推力体积比大等显著优点,在高精密装备行业中愈发得到重视与应用。采用直线电机驱动的H型结构精密运动/定位平台由于其便于实现平面或空间多轴精密直线或回转运动,因而在先进制造、航空航天、微电子和微机械制造、精密测量等领域呈现出日益增大的应用需求。此种结构中,并行安装的两台直线电机与一刚性横梁两端分别固定连接,共同驱动此横梁及其上所附加的负载。这种双边冗余驱动形式能够实现双倍的推力以及较高的系统刚性,从而有利于保证系统更高的加速度和更高的精度。应该注意到的是,由于双直线电机通过横梁刚性固定连接在一起,其动力学的相互耦合使双直线电机的同步控制问题变得复杂:一旦两边的运动出现不同步,刚性固定连接的机械结构也会产生互相拉扯的内力,从而影响系统性能甚至造成硬件损坏。因此,实现该类系统正常运行需要在考虑双直线电机运动控制的同时兼顾调节其内力大小,避免耦合内力过大,产生相互拉扯现象影响系统性能。

目前,双边驱动的控制方式主要有并行控制、主从控制以及交叉耦合控制三种。并行控制方法是各电机控制环路相互独立,分别跟踪同一输入指令,其结构简单但综合性能较差;主从控制方法中从电机的输入指令是根据主电机的反馈信号产生,保证从电机能较好跟踪主电机的运动,但从电机上的扰动信息不能反馈到主电机上,并且从电机始终存在滞后问题;交叉耦合控制方法是综合各个电机的位置/速度反馈信息,针对同步误差设计反馈控制,产生各个电机的输入指令,能够很大程度上保证各电机运动的同步。然而,目前的控制方法在考虑两电机运动同步的同时,皆忽略了刚性机械结构对系统性能的影响:即使同步误差被控制在很小的范围内,刚性连接的机械结构也可能产生很大的耦合内力,影响系统性能,从而使所设计的同步控制方法实用性受限。



技术实现要素:

本发明提一种应用于冗余驱动系统的双直线电机协同控制方法,其目的在于解决背景技术中所述的控制方法由于仅考虑各电机的运动同步而忽略冗余驱动系统耦合内力因而其实用性受限的问题。

为了达到上述目的,本发明所采用的技术方案如下:一种应用于冗余驱动系统的双直线电机协同控制方法,所述冗余驱动系统包括第一直线导轨、横梁和第二直线导轨,所述横梁横架在第一直线导轨和第二直线导轨上,所述横梁两侧平行均布置有第一、第二直线电机,所述两个直线电机共同驱动横梁一个方向的自由度,该方法包括以下步骤:

步骤一、获取第一、第二直线电机的当前位置/速度反馈信号,确定包括横梁及其上负载在内的整个运动部分的质心位置信号yG,并给定其期望位置信号yd

步骤二、根据步骤一获得的质心位置信号yG和期望位置信号yd,通过轨迹跟踪算法计算驱动横梁所需推力;

步骤三、根据步骤二获得的推力,通过内力调节算法计算分配到各直线电机所需推力的控制输出量;

步骤四、根据步骤三得到的控制输出量,驱动直线电机运动,并将直线电机的位置/速度作为实时反馈;

重复步骤一至步骤四,实现连续控制。

进一步地,所述步骤一具体为:

第一直线电机当前位置反馈信号y1(t)和第二直线电机的当前位置反馈信号y2(t)通过直线光栅编码器实时测量得到;令包括横梁及其上负载在内的整个运动部分的质心位置为yG,其中l1为质心位置到第一直线导轨的距离,l2为质心位置到第二直线导轨的距离;预定的期望位置信号yd为已知给定量;速度信号则可相应地通过各个位置信号微分得到。

进一步地,所述步骤二具体为:

根据牛顿力学建立动力学方程为:

<mrow> <mi>M</mi> <msub> <mover> <mi>y</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>=</mo> <msub> <mi>F</mi> <mrow> <mi>m</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>F</mi> <mrow> <mi>m</mi> <mn>2</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mi>y</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.1</mn> <mo>)</mo> </mrow> </mrow>

其中M为包括横梁及其上负载在内的整个运动部分的质量;为为质心位置的加速度;Fm1和Fm2分别为横梁在两端受到第一直线电机和第二直线电机产生的电磁推力,即:

Fm1=K1u1,Fm2=K2u2 (2.2)

其中u1和u2分别为第一、第二直线电机的控制输入量,K1和K2分别为第一、第二直线电机的推力常数;Fr1和Fr2分别为横梁两端在第一直线导轨和第二直线导轨处受到的摩擦力,即:

<mrow> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>B</mi> <mn>1</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>A</mi> <mn>1</mn> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mn>2</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>B</mi> <mn>2</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>A</mi> <mn>2</mn> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.3</mn> <mo>)</mo> </mrow> </mrow>

其中B1和B2均为粘性摩擦力系数,A1和A2均为库伦摩擦力系数,Sf(·)为所选定的用来逼近传统库伦摩擦力模型中符号函数sgn(·)项的一个连续函数;dy表示其它不确定性以及外干扰;为了简化,将和分别用和近似代替,从而动力学方程(2.1)简写成:

<mrow> <mi>M</mi> <msub> <mover> <mi>y</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>=</mo> <msub> <mi>K</mi> <mn>1</mn> </msub> <msub> <mi>u</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>K</mi> <mn>2</mn> </msub> <msub> <mi>u</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>B</mi> <mi>t</mi> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>-</mo> <msub> <mi>A</mi> <mi>t</mi> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mi>d</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.4</mn> <mo>)</mo> </mrow> </mrow>

其中Bt=B1+B2,At=A1+A2,d=dy+F′r1+F′r2-Fr1-Fr2

定义预定的期望位置信号yd和当前位置反馈信号yG的跟踪误差为ey,即ey=yG-yd。;根据式(2.4),通过轨迹跟踪算法计算所需要的电机推力Fm1+Fm2,使得跟踪误差ey趋近于零。

作为优选,所述轨迹跟踪算法采用PID控制算法、鲁棒控制算法、自适应控制算法、滑模变结构控制算法或迭代学习控制算法。

作为优选,所述轨迹跟踪控制算法采用自适应鲁棒控制算法,包括如下步骤:

步骤S201,参数线性化动力学模型;

令MK=M/K1,BK=Bt/K1,AK=At/K1,dK=d/K1,km=K2/K1,并用Δn和分别代表的不确定性项dK的常值分量和时变分量,有定义如下一组未知参数:

θ=[θ1 θ2 θ3 θ4]T=[MK BK AK Δn]T (2.5)

于是式(2.4)可以写成参数线性化的形式:

<mrow> <msub> <mi>&theta;</mi> <mn>1</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>+</mo> <msub> <mi>&theta;</mi> <mn>2</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>+</mo> <msub> <mi>&theta;</mi> <mn>3</mn> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>&theta;</mi> <mn>4</mn> </msub> <mo>=</mo> <mi>v</mi> <mo>+</mo> <mover> <mi>&Delta;</mi> <mo>~</mo> </mover> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.6</mn> <mo>)</mo> </mrow> </mrow>

其中v=u1+kmu2,为轨迹跟踪算法产生的控制量;对于实际系统,认为模型的参数不确定性和不确定非线性都是有界的,即假设:

<mrow> <mi>&theta;</mi> <mo>&Element;</mo> <msub> <mi>&Omega;</mi> <mi>&theta;</mi> </msub> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <mo>{</mo> <mi>&theta;</mi> <mo>:</mo> <msub> <mi>&theta;</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>&le;</mo> <mi>&theta;</mi> <mo>&le;</mo> <msub> <mi>&theta;</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.7</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mover> <mi>&Delta;</mi> <mo>~</mo> </mover> <mo>&Element;</mo> <msub> <mi>&Omega;</mi> <mi>&Delta;</mi> </msub> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <mo>{</mo> <mi>&Delta;</mi> <mo>:</mo> <mo>|</mo> <mover> <mi>&Delta;</mi> <mo>~</mo> </mover> <mo>|</mo> <mo>&le;</mo> <msub> <mi>&delta;</mi> <mi>&Delta;</mi> </msub> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.8</mn> <mo>)</mo> </mrow> </mrow>

其中θmax=[θ1max … θ4max]T,θmin=[θ1min … θ4min]T表示参数θ=[θ1 θ2 θ3 θ4]T值所在范围的上下界,δΔ表示时变分量大小的上界,均是已知量;

步骤S202,设计参数自适应律;

令表示参数θ的估计值,代表相应的估计误差,即设计以下非连续映射式参数自适应律:

<mrow> <mover> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> <mo>&CenterDot;</mo> </mover> <mo>=</mo> <msub> <mi>Proj</mi> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> </msub> <mrow> <mo>(</mo> <mi>&Gamma;</mi> <mi>&tau;</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.9</mn> <mo>)</mo> </mrow> </mrow>

其中Γ>0为自适应率对角矩阵,τ为自适应函数,为所设计的一种非连续映射函数,由如下定义给出:

步骤S203,设计自适应鲁棒控制算法;

定义一个类滑模变量s(t):

<mrow> <mi>s</mi> <mo>=</mo> <msub> <mover> <mi>e</mi> <mo>&CenterDot;</mo> </mover> <mi>y</mi> </msub> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msub> <mi>e</mi> <mi>y</mi> </msub> <mo>=</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>-</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mrow> <mi>e</mi> <mi>q</mi> </mrow> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mrow> <mi>e</mi> <mi>q</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>-</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msub> <mi>e</mi> <mi>y</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.13</mn> <mo>)</mo> </mrow> </mrow>

其中k1为正常数增益,这样就把对ey的控制简化为对s的控制,接着可以定义如下半正定函数V(t):

<mrow> <mi>V</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msub> <mi>&theta;</mi> <mn>1</mn> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.14</mn> <mo>)</mo> </mrow> </mrow>

对V(t)微分并结合式(2.6)可得

<mrow> <mover> <mi>V</mi> <mo>&CenterDot;</mo> </mover> <mo>=</mo> <mi>s</mi> <mo>&lsqb;</mo> <mi>v</mi> <mo>-</mo> <msub> <mi>&theta;</mi> <mn>1</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mrow> <mi>e</mi> <mi>q</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>&theta;</mi> <mn>2</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>-</mo> <msub> <mi>&theta;</mi> <mn>3</mn> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&theta;</mi> <mn>4</mn> </msub> <mo>+</mo> <mover> <mi>&Delta;</mi> <mo>~</mo> </mover> <mo>&rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.15</mn> <mo>)</mo> </mrow> </mrow>

定义回归量为则式(2.15)写成

对于式(2.16)的形式,设计以下自适应鲁棒控制算法来产生所需的控制量v为:

其中va是在线自适应的模型补偿项;vs1和vs2是鲁棒反馈项;k2和η是控制器设计参数,其中k2选取为一个正常数,作为反馈增益;η选取为一个正常数,用于限定稳态误差的上界;这样计算得到驱动横梁所需推力Fm1+Fm2为:

Fm1+Fm2=K1v (2.18)

进一步地,所述步骤三具体为:

根据步骤二获得的推力Fm1+Fm2以,通过内力调节算法计算分配到各直线电机分别所需的推力Fm1=K1u1和Fm2=K2u2;即通过式(3.1)和式(3.2)分别求得第一直线电机的控制输入量u1和第二直线电机的控制输入量u2

u1+kmu2=v (3.1)

<mrow> <msub> <mi>K</mi> <mn>1</mn> </msub> <msub> <mi>u</mi> <mn>1</mn> </msub> <msub> <mi>l</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>K</mi> <mn>2</mn> </msub> <msub> <mi>u</mi> <mn>2</mn> </msub> <msub> <mi>l</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mover> <mi>F</mi> <mo>^</mo> </mover> <mrow> <mi>r</mi> <mn>1</mn> </mrow> </msub> <msub> <mi>l</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mover> <mi>F</mi> <mo>^</mo> </mover> <mrow> <mi>r</mi> <mn>2</mn> </mrow> </msub> <msub> <mi>l</mi> <mn>2</mn> </msub> <mo>=</mo> <mn>0</mn> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3.2</mn> <mo>)</mo> </mrow> </mrow>

其中,为和分别是两导轨处受到摩擦力的估计值。

本发明与背景技术相比,具有有益的效果是:(1)所采用的自适应鲁棒轨迹跟踪算法能较好地处理系统中存在的参数不确定性和不确定非线性影响,理论和实际应用中均可证明其能够保证系统实现稳定的跟踪性能;当系统只有参数不确定性时,还能进一步保证系统实现跟踪误差为零的渐进跟踪性能。(2)在实现精密运动控制的同时,通过所提出的内力调节算法实现了各电机的推力分配调节,避免了较大的耦合内力,保证了系统运行的高性能和可靠性,在工业应用中具有重要的实际意义。

附图说明

图1是本发明一个实施例的双直线电机协同控制方法流程示意图。

图2是本发明一个实施例所适用的H型冗余驱动精密运动平台俯视图。

图中:1.第一直线导轨;2.第一直线电机;3.刚性横梁;4.第二直线电机;5.第二直线导轨.

具体实施方式

下面结合附图,通过对实施例的描述给出本发明的细节。该部分描述仅用于解释本发明,应将其视作示范性的,而非限制性的。

图1为本发明一个实施例的双直线电机协同控制方法流程示意图。图2为本发明所适用的一种常见的H型冗余驱动精密运动平台示意图。由图2可见,第一直线导轨1和第二直线导轨5为平行安装,刚性横梁3由第一直线电机2和第二直线电机4冗余驱动,从而实现沿Y轴方向的运动。为完成第一直线电机2和第二直线电机4的协同控制,所述方法包括如下步骤:

步骤S1,获取第一、第二直线电机的当前位置/速度反馈信号,确定包括横梁及其上负载在内的整个运动部分的质心位置信号yG,并给定其期望位置信号yd

具体地,第一直线电机2和第二直线电机4的当前位置反馈信号可分别由安装在第一直线导轨1和第二直线导轨5两处侧面的直线光栅编码器实时测量得到,即y1(t)和y2(t)。对于实际应用来说,所关心的系统输出应该是刚性横梁3上某一点的位置信号,为不失一般性,定义包括刚性横梁3及其上负载在内的整个运动部分的质心位置yG(t)为系统位置输出,相应地定义所述质心到第一直线导轨1和第二直线导轨5的距离分别为l1和l2,则

<mrow> <msub> <mi>y</mi> <mi>G</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>l</mi> <mn>2</mn> </msub> <mrow> <msub> <mi>l</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>l</mi> <mn>2</mn> </msub> </mrow> </mfrac> <msub> <mi>y</mi> <mn>1</mn> </msub> <mo>+</mo> <mfrac> <msub> <mi>l</mi> <mn>1</mn> </msub> <mrow> <msub> <mi>l</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>l</mi> <mn>2</mn> </msub> </mrow> </mfrac> <msub> <mi>y</mi> <mn>2</mn> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.1</mn> <mo>)</mo> </mrow> </mrow>

预定的期望位置信号是各个时刻系统的期望运动指令,由具体工作任务而事先确定,定义其为yd(t)。通过以上描述,可以获取当前位置反馈信号以及期望位置信号,而速度信号则可相应地通过各个位置信号微分得到。

步骤S2,根据步骤S1获得的质心位置信号yG和期望位置信号yd,通过轨迹跟踪算法计算驱动横梁所需推力;

具体地,考虑刚性横梁3的Y轴方向的运动,根据牛顿力学建立其动力学方程为

<mrow> <mi>M</mi> <msub> <mover> <mi>y</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>=</mo> <msub> <mi>F</mi> <mrow> <mi>m</mi> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>F</mi> <mrow> <mi>m</mi> <mn>2</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mn>2</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>d</mi> <mi>y</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.1</mn> <mo>)</mo> </mrow> </mrow>

其中M为包括刚性横梁3及其上负载在内的整个运动部分的质量;yG为包括横梁及其上负载在内的整个运动部分的质心位置,为质心的加速度;Fm1和Fm2分别为刚性横梁3在两端受到第一直线电机2和第二直线电机4产生的电磁推力,即:

Fm1=K1u1,Fm2=K2u2 (2.2)

其中u1和u2分别为第一、第二直线电机的控制输入量,K1和K2分别为第一、第二直线电机的推力常数;Fr1和Fr2分别为刚性横梁3两端在第一直线导轨1和第二直线导轨5处受到的摩擦力,即:

<mrow> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>B</mi> <mn>1</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>A</mi> <mn>1</mn> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>F</mi> <mrow> <mi>r</mi> <mn>2</mn> </mrow> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>B</mi> <mn>2</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>+</mo> <msub> <mi>A</mi> <mn>2</mn> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.3</mn> <mo>)</mo> </mrow> </mrow>

其中B1和B2为粘性摩擦力系数,A1和A2为库伦摩擦力系数,Sf(·)为所选定的用来逼近传统库伦摩擦力模型中符号函数sgn(·)项的一个连续函数(例如arctan(β·),β是一个足够大的常数);dy表示其它不确定性以及外干扰;此外为了简化起见,和可以分别用和近似代替,这样动力学(2.1)可以写成

<mrow> <mi>M</mi> <msub> <mover> <mi>y</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>=</mo> <msub> <mi>K</mi> <mn>1</mn> </msub> <msub> <mi>u</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>K</mi> <mn>2</mn> </msub> <msub> <mi>u</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>B</mi> <mi>t</mi> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>-</mo> <msub> <mi>A</mi> <mi>t</mi> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mi>d</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.4</mn> <mo>)</mo> </mrow> </mrow>

其中Bt=B1+B2,At=A1+A2,d=dy+F′r1+F′r2-Fr1-Fr2

定义位置输出yG和期望位置指令yd之间的跟踪误差为ey,即ey=yG-yd。根据式(2.4),通过轨迹跟踪算法计算所需要的电机推力Fm1+Fm2,使得跟踪误差ey趋近于零。

所述轨迹跟踪算法采用PID控制算法、鲁棒控制算法、自适应控制算法、滑模变结构控制算法或迭代学习控制算法。

优选地,本发明的轨迹跟踪控制算法采用自适应鲁棒控制的方法来设计,以处理实际系统中存在的参数不确定性和不确定非线性影响,保证系统稳定性和运动控制精度。为方便说明,本实施例给出了以下一种具体的设计过程,即所述步骤S2进一步包括:

步骤S201,参数线性化动力学模型;

令MK=M/K1,BK=Bt/K1,AK=At/K1,dK=d/K1,km=K2/K1,并用Δn和分别代表的不确定性项dK的常值分量和时变分量,即接着定义如下一组未知参数

θ=[θ1 θ2 θ3 θ4]T=[MK BK AK Δn]T (2.5)

于是式(2.4)可以写成参数线性化的形式:

<mrow> <msub> <mi>&theta;</mi> <mn>1</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>+</mo> <msub> <mi>&theta;</mi> <mn>2</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>+</mo> <msub> <mi>&theta;</mi> <mn>3</mn> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <msub> <mi>&theta;</mi> <mn>4</mn> </msub> <mo>=</mo> <mi>v</mi> <mo>+</mo> <mover> <mi>&Delta;</mi> <mo>~</mo> </mover> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.6</mn> <mo>)</mo> </mrow> </mrow>

其中v=u1+kmu2是步骤S2所述轨迹跟踪算法需要产生的控制量。对于该实际系统,可以认为其参数不确定性和不确定非线性都是有界的,即假设:

<mrow> <mi>&theta;</mi> <mo>&Element;</mo> <msub> <mi>&Omega;</mi> <mi>&theta;</mi> </msub> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <mo>{</mo> <mi>&theta;</mi> <mo>:</mo> <msub> <mi>&theta;</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>&le;</mo> <mi>&theta;</mi> <mo>&le;</mo> <msub> <mi>&theta;</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.7</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mover> <mi>&Delta;</mi> <mo>~</mo> </mover> <mo>&Element;</mo> <msub> <mi>&Omega;</mi> <mi>&Delta;</mi> </msub> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <mo>{</mo> <mi>&Delta;</mi> <mo>:</mo> <mo>|</mo> <mover> <mi>&Delta;</mi> <mo>~</mo> </mover> <mo>|</mo> <mo>&le;</mo> <msub> <mi>&delta;</mi> <mi>&Delta;</mi> </msub> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.8</mn> <mo>)</mo> </mrow> </mrow>

其中θmax=[θ1max … θ4max]T,θmin=[θ1min … θ4min]T表示参数θ=[θ1 θ2 θ3 θ4]T值所在范围的上下界,δΔ表示时变分量大小的上界。对于实际系统,其各个参数均有明确的物理意义(例如质量的大小),实际工况中系统的不确定性也不可能无限大,因此此处所作的该假设是可靠的,且θmin,θmax和δΔ可通过已知的物理参数信息或离线参数辨识方法而事先确定。

步骤S202,设计参数自适应律;

令表示参数θ的估计值,代表相应的估计误差,即设计以下非连续映射式参数自适应律:

<mrow> <mover> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> <mo>&CenterDot;</mo> </mover> <mo>=</mo> <msub> <mi>Proj</mi> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> </msub> <mrow> <mo>(</mo> <mi>&Gamma;</mi> <mi>&tau;</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.9</mn> <mo>)</mo> </mrow> </mrow>

其中Γ>0为自适应率对角矩阵,τ为自适应函数,为所设计的一种非连续映射函数,由如下定义给出:

此外,为方便下面的性能分析,应该注意到如果采用上述自适应律,能够确保对于任意自适应函数τ,式(2.11)和式(2.12)总是成立:

<mrow> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> <mo>&Element;</mo> <msub> <mi>&Omega;</mi> <mi>&theta;</mi> </msub> <mover> <mo>=</mo> <mi>&Delta;</mi> </mover> <mo>{</mo> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> <mo>:</mo> <msub> <mi>&theta;</mi> <mrow> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <mo>&le;</mo> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> <mo>&le;</mo> <msub> <mi>&theta;</mi> <mrow> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <mo>}</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.11</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <msup> <mover> <mi>&theta;</mi> <mo>~</mo> </mover> <mi>T</mi> </msup> <mrow> <mo>(</mo> <msup> <mi>&Gamma;</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <msub> <mi>Proj</mi> <mover> <mi>&theta;</mi> <mo>^</mo> </mover> </msub> <mo>(</mo> <mrow> <mi>&Gamma;</mi> <mi>&tau;</mi> </mrow> <mo>)</mo> <mo>-</mo> <mi>&tau;</mi> <mo>)</mo> </mrow> <mo>&le;</mo> <mn>0</mn> <mo>,</mo> <mo>&ForAll;</mo> <mi>&tau;</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.12</mn> <mo>)</mo> </mrow> </mrow>

步骤S203,设计自适应鲁棒控制算法;

定义一个类滑模变量s(t):

<mrow> <mi>s</mi> <mo>=</mo> <msub> <mover> <mi>e</mi> <mo>&CenterDot;</mo> </mover> <mi>y</mi> </msub> <mo>+</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msub> <mi>e</mi> <mi>y</mi> </msub> <mo>=</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>-</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mrow> <mi>e</mi> <mi>q</mi> </mrow> </msub> <mo>,</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mrow> <mi>e</mi> <mi>q</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>d</mi> </msub> <mo>-</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <msub> <mi>e</mi> <mi>y</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.13</mn> <mo>)</mo> </mrow> </mrow>

其中k1为正常数增益,这样就把对ey的控制简化为对s的控制,接着可以定义如下半正定函数V(t):

<mrow> <mi>V</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msub> <mi>&theta;</mi> <mn>1</mn> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.14</mn> <mo>)</mo> </mrow> </mrow>

对V(t)微分并结合式(2.6)可得

<mrow> <mover> <mi>V</mi> <mo>&CenterDot;</mo> </mover> <mo>=</mo> <mi>s</mi> <mo>&lsqb;</mo> <mi>v</mi> <mo>-</mo> <msub> <mi>&theta;</mi> <mn>1</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;&CenterDot;</mo> </mover> <mrow> <mi>e</mi> <mi>q</mi> </mrow> </msub> <mo>-</mo> <msub> <mi>&theta;</mi> <mn>2</mn> </msub> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>-</mo> <msub> <mi>&theta;</mi> <mn>3</mn> </msub> <msub> <mi>S</mi> <mi>f</mi> </msub> <mrow> <mo>(</mo> <msub> <mover> <mi>y</mi> <mo>&CenterDot;</mo> </mover> <mi>G</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>&theta;</mi> <mn>4</mn> </msub> <mo>+</mo> <mover> <mi>&Delta;</mi> <mo>~</mo> </mover> <mo>&rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.15</mn> <mo>)</mo> </mrow> </mrow>

定义回归量为则上式可写成

对于式(2.16)的形式,设计以下自适应鲁棒控制算法来产生所需的控制量v为:

其中va是在线自适应的模型补偿项,用来实现系统的渐进跟踪;vs1和vs2是鲁棒反馈项,用来保证系统的稳定性及瞬态性能。k2和η是控制器设计参数;其中k2选取为一个正常数,作为反馈增益;η选取为一个正常数,用于限定稳态误差的上界。这样计算得到驱动横梁所需推力Fm1+Fm2为:

Fm1+Fm2=K1v (2.18)

可以证明,上述采用自适应鲁棒控制方法设计的轨迹跟踪控制器在系统存在参数不确定性及其他不确定非线性的影响下,能够保证相应的稳态和瞬态性能。为便于理解,本实施例给出理论证明过程如下:

由式(2.7)和式(2.14)可知

<mrow> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msub> <mi>&theta;</mi> <mrow> <mn>1</mn> <mi>m</mi> <mi>i</mi> <mi>n</mi> </mrow> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>&le;</mo> <mi>V</mi> <mo>&le;</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msub> <mi>&theta;</mi> <mrow> <mn>1</mn> <mi>m</mi> <mi>a</mi> <mi>x</mi> </mrow> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.19</mn> <mo>)</mo> </mrow> </mrow>

将式(2.17)中所述的va、vs1代入式(2.16)中可以得到

再注意到式(2.8)和式(2.11),若vs2按照式(2.17)中所述形式选取,则可以保证

于是

<mrow> <mover> <mi>V</mi> <mo>&CenterDot;</mo> </mover> <mo>&le;</mo> <mo>-</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>+</mo> <mi>&eta;</mi> <mo>&le;</mo> <mo>-</mo> <mfrac> <mrow> <mn>2</mn> <msub> <mi>k</mi> <mn>2</mn> </msub> </mrow> <msub> <mi>&theta;</mi> <mrow> <mn>1</mn> <mi>max</mi> </mrow> </msub> </mfrac> <mi>V</mi> <mo>+</mo> <mi>&eta;</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.22</mn> <mo>)</mo> </mrow> </mrow>

令λ=-2k21max,由式(2.22)可得

<mrow> <mi>V</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&le;</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>&lambda;</mi> <mi>t</mi> </mrow> </msup> <mi>V</mi> <mrow> <mo>(</mo> <mn>0</mn> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mi>&eta;</mi> <mi>&lambda;</mi> </mfrac> <mi>V</mi> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <msup> <mi>e</mi> <mrow> <mo>-</mo> <mi>&lambda;</mi> <mi>t</mi> </mrow> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.23</mn> <mo>)</mo> </mrow> </mrow>

因此式(2.14)所述的李雅普诺夫函数V(t)是有界的,并且其上界可以由式(2.23)确定。这样就证明了所设计的控制算法能够保证系统的稳定性以及确定的瞬态性能。

更进一步地,如果经过有限的时间t0后,系统只存在参数不确定性(即),那么在前述所证明的稳定的跟踪性能的基础上,系统还可以实现稳态误差为零的渐进跟踪,其证明过程如下:

选取正定函数Vθ(t)如下:

<mrow> <msub> <mi>V</mi> <mi>&theta;</mi> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>V</mi> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>+</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <msup> <mover> <mi>&theta;</mi> <mo>~</mo> </mover> <mi>T</mi> </msup> <msup> <mi>&Gamma;</mi> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mover> <mi>&theta;</mi> <mo>~</mo> </mover> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.24</mn> <mo>)</mo> </mrow> </mrow>

注意到式(2.22),可以推导得出

由于svs2≤0,同时根据式(2.12)可知因此

<mrow> <msub> <mover> <mi>V</mi> <mo>&CenterDot;</mo> </mover> <mi>&theta;</mi> </msub> <mo>&le;</mo> <mo>-</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <msup> <mi>s</mi> <mn>2</mn> </msup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2.26</mn> <mo>)</mo> </mrow> </mrow>

以上说明了s∈L2∩L,同时由于是有界的,因此s是一致连续的。根据Barbalat引理,可知当t→∞时,s→0,也即ey→0。

步骤S3,根据步骤S2获得的推力,通过内力调节算法计算分配到各直线电机所需推力的控制输出量;

具体地,根据步骤二获得的推力Fm1+Fm2,通过内力调节算法计算分配到各直线电机分别所需的推力Fm1=K1u1和Fm2=K2u2;即通过式(3.1)和式(3.2)分别求得第一直线电机的控制输入量u1和第二直线电机的控制输入量u2

u1+kmu2=v (3.1)

<mrow> <msub> <mi>K</mi> <mn>1</mn> </msub> <msub> <mi>u</mi> <mn>1</mn> </msub> <msub> <mi>l</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>K</mi> <mn>2</mn> </msub> <msub> <mi>u</mi> <mn>2</mn> </msub> <msub> <mi>l</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mover> <mi>F</mi> <mo>^</mo> </mover> <mrow> <mi>r</mi> <mn>1</mn> </mrow> </msub> <msub> <mi>l</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mover> <mi>F</mi> <mo>^</mo> </mover> <mrow> <mi>r</mi> <mn>2</mn> </mrow> </msub> <msub> <mi>l</mi> <mn>2</mn> </msub> <mo>=</mo> <mn>0</mn> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3.2</mn> <mo>)</mo> </mrow> </mrow>

其中,为和分别是两导轨处受到摩擦力的估计值

步骤S4,根据步骤S3得到的控制输出量,驱动直线电机运动,并将直线电机的位置/速度作为实时反馈;

具体地,将所述步骤S3中产生的电机控制输入量u1和u2输入到相应电机驱动器,由驱动器产生驱动电流控制电机运动。系统运动状态由传感器检测作为反馈信号,为下一控制周期使用。

重复步骤S1至S4,完成连续控制。

根据本发明实施例的双直线电机协同控制方法,通过轨迹跟踪控制算法保证了系统运动精度,同时通过推力分配和内力调节算法,避免冗余驱动系统产生大的内力,保证系统可靠运行。尽管实施例已描述了本发明的实施细节,对于本领域的普通技术人员而言,在不脱离本发明的原理和精神的情况下可以对实施例进行多种非创新性变化、修改、替换和变型,均应视作本发明的限定范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1