伺服系统刚性模型的建立

一.系统工作原理

为了实现对运动控制系统精准的位置控制,首先要对伺服进给系统进行准确建模和模型辨识。人们对于运动控制系统的研究中已经提出了多种多样的系统建模和辨识方法。

在这里插入图片描述

图1 伺服电机滚珠丝杠传动系统刚性模型

下面对整个系统的工作原理进行解释:

1. u ′ ( V ) u^{'}(V) u(V)是输入电机伺服单元的控制电压信号,由控制器生成;

2. K a ( A / V ) K_a(A/V) Ka(A/V)是伺服单元的放大增益,生成电机的电流指令 i i i,电流 i i i输入给电机本体;

3.电机模型,电流 i i i通过电机模型转换为电机轴上的扭矩 T m T_m Tm。电机的电流动态可以用通过L和R来描述。 K t ( N m / A ) K_t(Nm/A) Kt(Nm/A)是电机的转矩常量,定义了电流到扭矩的转换比例。

4.除了电机输出的转矩 T m ( N m ) T_m( Nm) Tm(Nm)外,同时伺服轴还收到外部扰动 T d ( N m ) T_d(Nm) Td(Nm)的作用,外部扰动通常由导轨、丝杠的摩擦力和切削力等,它可以直接作用于电机产生的扭矩。

5.机械系统的模型参数主要包括各轴对一个的等效惯量 J ( k g ⋅ m 2 ) J(kg·m^2) J(kgm2)和粘滞阻尼系数 B ( k g ⋅ m 2 / s ) B(kg·m^2/s) B(kgm2/s),电机的机械动态(扭矩到角速度的转换)由传递函数 1 J s + B \frac{1}{Js+B} Js+B1描述,它将电机扭矩 T m T_m Tm转换电机角速度 w w w

6. T m T_m Tm T d T_d Td的差值作用于机械系统,转化为电机轴的角速度 w ( r a d / s ) w(rad/s) w(rad/s),并通过导程为 R g ( m m / r a d ) R_g(mm/rad) Rg(mm/rad)滚珠丝杠的速度 x ˙ ( m m / s ) \dot{x}(mm/s) x˙(mm/s),其积分就是工作台或者刀具的位置 x ( m m ) x(mm) x(mm)

7.输出积分,积分环节 1 s \frac{1}{s} s1将速度 x ˙ ( m m / s ) \dot{x}(mm/s) x˙(mm/s)转换为位移 x ( m m ) x(mm) x(mm),即系统的最终输出。

二.复数域系统模型表示

伺服进给系统连续函数模型可以表示为:
x ( s ) = r g s 1 J s + B ( K t K a u ′ ( s ) − T d ( s ) ) (1) x(s)=\frac{r_g}{s}\frac{1}{Js+B}(K_tK_au^{'}(s)-T_d(s))\tag1 x(s)=srgJs+B1(KtKau(s)Td(s))(1)
其中 T d ( s ) T_d(s) Td(s)为外部扰动,由两部分组成如下式, T f ( s ) T_f(s) Tf(s)表示摩擦力, T c ( s ) T_c(s) Tc(s)表示切削力,在机床空切时,切削力为。
T d ( s ) = T f ( s ) + T c ( s ) (2) T_d(s)=T_f(s)+T_c(s)\tag2 Td(s)=Tf(s)+Tc(s)(2)
定义增益 K w = K t K a J K_w=\frac{K_tK_a}{J} Kw=JKtKa和极点 p w = − B J p_w=\frac{-B}{J} pw=JB以及外部扰动 T d ( s ) T_d(s) Td(s)可以假设为电压值,用 d ( s ) = T d ( s ) K t K a d(s)=\frac{T_d(s)}{K_tK_a} d(s)=KtKaTd(s)表示。

将外部扰动 T d ( s ) T_d(s) Td(s)假设为电压值。我们可以将扭矩扰动 d ( s ) d(s) d(s)通过 K t K_t Kt 转换成电流扰动,然后用 K a K_a Ka 将它转换为等效的电压扰动,以便在控制系统设计中进行处理。这样,我们可以在控制器设计中考虑到扰动,而不需要直接处理机械扭矩扰动。通过这种方式,控制器可以设计出来抵抗这些电压扰动,从而间接抵抗机械扰动。

根据上述定义的关系式,式(1)中的电机角速度 w w w和伺服轴的位置 x x x可以表示为:
w ( s ) = K w s − p w ( u ′ ( s ) − d ( s ) ) x ( s ) = r g s K w s − p w ( u ′ ( s ) − d ( s ) ) (3) w(s)=\frac{K_w}{s-p_w}(u^{'}(s)-d(s))\\ x(s)=\frac{r_g}{s}\frac{K_w}{s-p_w}(u^{'}(s)-d(s))\tag3 w(s)=spwKw(u(s)d(s))x(s)=srgspwKw(u(s)d(s))(3)
上述式子 x ( s ) x(s) x(s)分子和分母同时除以 J J J,然后把定义的增益 K w K_w Kw、极点 p w p_w pw以及将扰动转换为电压的 d ( s ) d(s) d(s)带进去。

三.状态空间法表示

在经典控制理论中,对一个线性定长系统,可用常微分方程或者传递函数加以描述,可将某个单变量作为输出,直接和输入联系起来。实际上系统除了输出量这个变量之外,还包含其他相互独立的变量,而微分方程或者传递函数对这些内部的中间变量是不便描述的,因而不能包含系统的所有信息。显然,从能否完全揭示系统的全部运动状态来说,用微分方程或传递函数来描述一个线性定长系统有其不足之处。

在用状态空间法分析系统时,系统的动态特性是用由状态变量构成的一阶微分方程组来描述的。他能反应系统的全部独立变量的变化,从而能同时确定系统的全部内部运动状态,而且还可以方便地处理初始条件。这样,在设计控制系统时,不再只局限于输入量、输出量、误差量,为提高系统性能提供了有力的工具。价值可利用计算机进行分析设计及实时控制,因而可以应用与非线性系统、时变系统、多输入——多输出系统以及随机过程等。

用状态空间表示滚柱丝杠进给系统,如下式:
[ x ˙ ( t ) w ˙ ( t ) ] = A c [ x ( t ) w ( t ) ] + [ B c − B c ] [ u ′ ( t ) d ( t ) ] , 其中 A c = [ 0 r g 0 p w ] , B c = [ 0 K w ] (4) \begin{bmatrix} \dot{x}(t)\\ \dot{w}(t)\\ \end{bmatrix}= A_c\begin{bmatrix} x(t)\\ w(t)\\ \end{bmatrix}+\begin{bmatrix} B_c~~~ {-B_c}\\ \end{bmatrix}\begin{bmatrix} u^{'}(t)\\ d(t)\\ \end{bmatrix}, 其中A_c=\begin{bmatrix} 0&r_g\\ 0&p_w\\ \end{bmatrix},B_c=\begin{bmatrix} 0\\ K_w \end{bmatrix}\tag4 [x˙(t)w˙(t)]=Ac[x(t)w(t)]+[Bc   Bc][u(t)d(t)],其中Ac=[00rgpw],Bc=[0Kw](4)
我们对这个式子进行正反推导:

1.反向推导

式(4)即:
[ x ˙ ( t ) w ˙ ( t ) ] = [ 0 r g 0 p w ] [ x ( t ) w ( t ) ] + [ 0 0 K w − K w ] [ u ′ ( t ) d ( t ) ] = [ 0 r g 0 p w ] [ x ( t ) w ( t ) ] + [ 0 K w ] u ′ ( t ) + [ 0 − K w ] d ( t ) (5) \begin{bmatrix} \dot{x}(t)\\ \dot{w}(t)\\ \end{bmatrix}= \begin{bmatrix} 0&r_g\\ 0&p_w\\ \end{bmatrix}\begin{bmatrix} x(t)\\ w(t)\\ \end{bmatrix}+\begin{bmatrix} 0&0\\ K_w&-K_w \end{bmatrix}\begin{bmatrix} u^{'}(t)\\ d(t)\\ \end{bmatrix}\\ =\begin{bmatrix} 0&r_g\\ 0&p_w\\ \end{bmatrix}\begin{bmatrix} x(t)\\ w(t)\\ \end{bmatrix}+\begin{bmatrix} 0\\ K_w \end{bmatrix} u^{'}(t) +\begin{bmatrix} 0\\ -K_w \end{bmatrix} d(t)\\ \tag5 [x˙(t)w˙(t)]=[00rgpw][x(t)w(t)]+[0Kw0Kw][u(t)d(t)]=[00rgpw][x(t)w(t)]+[0Kw]u(t)+[0Kw]d(t)(5)

即:

x ˙ ( t ) = r g w ( t ) w ˙ ( t ) = p w w ( t ) + K w u ′ ( t ) − K w d ( t ) \dot{x}(t)=r_gw(t)\\ \dot{w}(t)=p_ww(t)+K_wu^{'}(t)-K_wd(t) x˙(t)=rgw(t)w˙(t)=pww(t)+Kwu(t)Kwd(t)
将式(3)拉普拉斯反转换成常微分方程:
w ( s ) = K w s − p w ( u ′ ( s ) − d ( s ) ) w ( s ) ( s − p w ) = K w u ′ ( s ) − K w d ( s ) w ( s ) s − w ( s ) p w = K w u ′ ( s ) − K w d ( s ) 进行拉普拉斯反变换结果为: w ˙ ( t ) − w ( t ) p w = K w u ′ ( t ) − K w d ( t ) w ˙ ( t ) = w ( t ) p w + K w u ′ ( t ) − K w d ( t ) (5) w(s)=\frac{K_w}{s-p_w}(u^{'}(s)-d(s))\\ w(s)(s-p_w)=K_wu^{'}(s)-K_wd(s)\\ w(s)s-w(s)p_w=K_wu^{'}(s)-K_wd(s)\\ 进行拉普拉斯反变换结果为: \dot{w}(t)- w(t)p_w=K_wu^{'}(t)-K_wd(t)\\ \dot{w}(t)=w(t)p_w+K_wu^{'}(t)-K_wd(t)\tag5 w(s)=spwKw(u(s)d(s))w(s)(spw)=Kwu(s)Kwd(s)w(s)sw(s)pw=Kwu(s)Kwd(s)进行拉普拉斯反变换结果为:w˙(t)w(t)pw=Kwu(t)Kwd(t)w˙(t)=w(t)pw+Kwu(t)Kwd(t)(5)
对于 x ( t ) x(t) x(t),因为有一个额外的 1 s \frac{1}{s} s1,它是 w ( t ) w(t) w(t)的积分,所以我们有:
x ( t ) = ∫ r g w ( t ) d t (6) x(t)=\int r_gw(t)dt\tag6 x(t)=rgw(t)dt(6)
这里 x ( t ) x(t) x(t)不能直接进行拉普拉斯反变换, x ( t ) x(t) x(t)中包含两个分母项 1 s \frac{1}{s} s1 1 s − p w \frac{1}{s-p_w} spw1,这意味着它可能对应一个复合函数,直接应用拉普拉斯反变换需要复杂的部分分式分解。

尽管可以对 x ( t ) x(t) x(t) 直接进行反拉普拉斯变换,但实际操作中通常会根据输入信号的类型和系统分析的需求,采用更分解、具体的方式来进行,下式是直接反变换的错误结果。
x ( s ) = r g s K w s − p w ( u ′ ( s ) − d ( s ) ) x ( s ) ( s 2 − s p w ) = r g K w ( u ′ ( s ) − d ( s ) ) 进行拉普拉斯反变换错误的结果为: x ¨ ( t ) − x ˙ ( t ) p w = r g K w ( u ′ ( t ) − d ( t ) ) (7) x(s)=\frac{r_g}{s}\frac{K_w}{s-p_w}(u^{'}(s)-d(s))\\ x(s)(s^2-sp_w)=r_gK_w(u^{'}(s)-d(s))\\ 进行拉普拉斯反变换错误的结果为: \ddot{x}(t)-\dot{x}(t)p_w=r_gK_w(u^{'}(t)-d(t))\tag7 x(s)=srgspwKw(u(s)d(s))x(s)(s2spw)=rgKw(u(s)d(s))进行拉普拉斯反变换错误的结果为:x¨(t)x˙(t)pw=rgKw(u(t)d(t))(7)

1.正向推导

现在根据式(3)写出它的状态空间表达式

状态空间模型的标准形式为:
X ˙ ( t ) = A X ( t ) + B u ( t ) y ( t ) = C X ( t ) + D u ( t ) (8) \dot{X}(t)=AX(t)+Bu(t)\\ y(t)=CX(t)+Du(t)\tag8 X˙(t)=AX(t)+Bu(t)y(t)=CX(t)+Du(t)(8)
其中 X ( t ) X(t) X(t)是状态向量, u ( t ) u(t) u(t)是输入向量, y ( t ) y(t) y(t)是输出向量,以及A,B,C和D是状态空间模型的矩阵。

选择状态向量 X ( t ) X(t) X(t)为:
X ( t ) = [ x ( t ) w ( t ) ] (9) X(t)=\begin{bmatrix} x(t)\\ w(t)\\ \end{bmatrix}\tag9 X(t)=[x(t)w(t)](9)
然后,选择输入向量 u ( t ) u(t) u(t)为:
u ( t ) = [ u ′ ( t ) d ( t ) ] (10) u(t)=\begin{bmatrix} u^{'}(t)\\ d(t)\\ \end{bmatrix}\tag{10} u(t)=[u(t)d(t)](10)
现在可以写出状态空间模型的矩阵A,B,C和D

(1)矩阵A由系统的自然动态决定:
A = [ 0 r g 0 p w ] (11) A=\begin{bmatrix} 0&r_g\\ 0&p_w\\ \end{bmatrix}\tag{11} A=[00rgpw](11)
(2)矩阵B描述了输入对状态的影响:
B = [ 0 0 K w − K w ] (12) B=\begin{bmatrix} 0&0\\ K_w&-K_w\\ \end{bmatrix}\tag{12} B=[0Kw0Kw](12)
(3)矩阵C用于从状态向量获得输出 y ( t ) y(t) y(t):
C = [ r g 0 ] (13) C=\begin{bmatrix} r_g&0\\ \end{bmatrix}\tag{13} C=[rg0](13)
(4)矩阵D通常是零,除非有直接从输入到输出的路径:
D = [ 0 0 ] (14) D=\begin{bmatrix} 0&0\\ \end{bmatrix}\tag{14} D=[00](14)
然后我们使用拉普拉斯反变换来获得 w ( t ) w(t) w(t) x ( t ) x(t) x(t)的时间域方程,对于 w ( t ) w(t) w(t),我们有:
w ˙ ( t ) = w ( t ) p w + K w u ′ ( t ) − K w d ( t ) (15) \dot{w}(t)=w(t)p_w+K_wu^{'}(t)-K_wd(t)\tag{15} w˙(t)=w(t)pw+Kwu(t)Kwd(t)(15)
对于 x ( t ) x(t) x(t),因为有一个额外的 1 s \frac{1}{s} s1,它是 w ( t ) w(t) w(t)的积分,所以我们有:
x ( t ) = ∫ r g w ( t ) d t (16) x(t)=\int r_gw(t)dt\tag{16} x(t)=rgw(t)dt(16)

X ˙ ( t ) = [ x ˙ ( t ) w ˙ ( t ) ] = A X ( t ) + B u ( t ) = [ 0 r g 0 p w ] [ x ( t ) w ( t ) ] + [ 0 0 K w − K w ] [ u ′ ( t ) d ( t ) ] y ( t ) = C X ( t ) + D u ( t ) = [ 1 0 ] [ x ( t ) w ( t ) ] (17) \dot{X}(t)=\begin{bmatrix} \dot{x}(t)\\ \dot{w}(t)\\ \end{bmatrix}=AX(t)+Bu(t)=\begin{bmatrix} 0&r_g\\ 0&p_w\\ \end{bmatrix}\begin{bmatrix} x(t)\\ w(t)\\ \end{bmatrix}+\begin{bmatrix} 0&0\\ K_w&-K_w\\ \end{bmatrix}\begin{bmatrix} u^{'}(t)\\ d(t)\\ \end{bmatrix}\\ y(t)=CX(t)+Du(t)=\begin{bmatrix} 1&0\\ \end{bmatrix}\begin{bmatrix} x(t)\\ w(t)\\ \end{bmatrix}\tag{17} X˙(t)=[x˙(t)w˙(t)]=AX(t)+Bu(t)=[00rgpw][x(t)w(t)]+[0Kw0Kw][u(t)d(t)]y(t)=CX(t)+Du(t)=[10][x(t)w(t)](17)

四.离散域表示

如果控制系统中的所有信号都是时间变量的连续函数,换句话说,这些信号在全部时间上都是已知的,则这样的系统称为连续时间系统,简称连续系统;如果控制系统中有一处或者几处信号是一串脉冲或者数码,换句话说,这些信号仅定义在离散时间上,则这样的系统称为离散时间系统,简称离散系统。

通常,把系统中的离散信号是脉冲和序列形式的离散系统,称为采样控制系统或脉冲控制系统;而把数字序列形式的离散系统,称为数字控制系统或计算机控制系统。

把来自控制器的数字信号转换为连续信号,用于这一转换过程的装置叫做保持器,从数学上说,保持器的任务是解决各采样点之间的插值问题。

1.保持器的数学描述

在采样时刻上,连续信号的函数值与脉冲序列的脉冲强度相等,在nT时刻有:
e ( t ) ∣ t = n T = e ( n T ) = e ∗ ( n T ) (18) e(t)|_{t=nT}=e(nT)=e^*(nT)\tag{18} e(t)t=nT=e(nT)=e(nT)(18)
在(n+1)T时刻,有:
e ( t ) ∣ t = ( n + 1 ) T = e ( ( n + 1 ) T ) = e ∗ ( ( n + 1 ) T ) (19) e(t)|_{t=(n+1)T}=e((n+1)T)=e^*((n+1)T)\tag{19} e(t)t=(n+1)T=e((n+1)T)=e((n+1)T)(19)
当脉冲序列 e ∗ ( t ) e^*(t) e(t)向连续信号 e ( t ) e(t) e(t)的转换过程中,在nT与(n+1)T时刻之间,即当 0 < △ t < T 0<△t<T 0<t<T时,连续信号 e ( n T + △ t ) e(nT+△t) e(nT+t)究竟多大,他与 e ( n T ) e(nT) e(nT)的关系如何?这就是保持器要解决的问题。

保持器是具有外推功能的元件,保持器的外推作用,表现为现在时刻的输出信号取决于过去时刻离散信号的外推。通常采用下面多项式外推公式描述保持器:
e ( n T + △ t ) = a 0 + a 1 △ t + a 2 ( △ t ) 2 + … … + a m ( △ t ) m (20) e(nT+△t)=a_0+a_1△t+a_2(△t)^2+……+a_m(△t)^m\tag{20} e(nT+t)=a0+a1t+a2(t)2+……+am(t)m(20)
式中, △ t △t t是以nT时刻为原点的坐标,式(20)表示:现在时刻的输出 e ( n T + △ t ) e(nT+△t) e(nT+t)值,取决于△t=0,-T,-2T,……,-mT各过去时刻的离散信号 e ∗ ( n T ) e^*(nT) e(nT) e ∗ ( ( n − 1 ) T ) e^*((n-1)T) e((n1)T) e ∗ ( ( n − 2 ) T ) e^*((n-2)T) e((n2)T),……, e ∗ ( ( n − m ) T ) e^*((n-m)T) e((nm)T)的(m+1)个值。外推公式中(m+1)个待定系数 a i a_i ai由过去各采样时刻(m+1)个离散信号值确定,所以 a i a_i ai有唯一解。这样的保持器称为m阶保持器,若取m=0,则称零阶保持器。

2.零阶保持器

零阶保持器的外推公式为:
e ( n T + △ t ) = a 0 = e ( n T ) (21) e(nT+△t)=a_0=e(nT)\tag{21} e(nT+t)=a0=e(nT)(21)
上式说明,零阶保持器是一种按常值外推的保持器,它把前一采样时刻nT的采样值一直保持到下一采样时刻之前,然后使采样信号变成阶梯信号。如果把阶梯信号的中点连起来,可以得到与连续信号形状一致但是在时间上落后T/2的响应。

式(21)还表明,零阶保持器过程是由于理想脉冲 e ( n T ) δ ( t − n T ) e(nT) \delta (t-nT) e(nT)δ(tnT)的作用结果。如果给零阶保持器输入一个理想单位脉冲 δ ( t ) \delta (t) δ(t),则其脉冲过度函数 g h ( t ) g_h(t) gh(t)是幅值为1,持续时间为T的矩形脉冲,并可分解为两个单位阶跃函数的和:
g h ( t ) = 1 ( t ) − ( t − T ) (22) g_h(t)=1(t)-(t-T)\tag{22} gh(t)=1(t)(tT)(22)
对脉冲过渡函数 g h ( t ) g_h(t) gh(t)取拉氏变换,可得零阶保持器的传递函数:
G h ( t ) = 1 s − e − T s s = 1 − e − T s s (23) G_h(t)=\frac{1}{s}-\frac{e^{-Ts}}{s}=\frac{1-e^{-Ts}}{s}\tag{23} Gh(t)=s1seTs=s1eTs(23)
伺服轴的输入信号 u ′ u^{'} u经过D/A转换,式(3)的速度表达式加入零阶保持,然后根据z变换表,进行z变换
w ( k ) = Z [ K w s − p w ( u ′ ( s ) − d ( s ) ) ⋅ 1 − e − T s s ] = Z [ − p w ( s − p w ) s ⋅ K w ( 1 − e − T s ) − p w ⋅ ( u ′ ( s ) − d ( s ) ) ] = ( 1 − e p w T s ) z ( z − 1 ) ( z − e p w T s ) ⋅ K w ( 1 − z − 1 ) − p w ⋅ ( u ′ ( k ) − d ( k ) ) = ( 1 − e p w T s ) z ( z − 1 ) ( z − e p w T s ) ⋅ K w ( z − 1 ) − z p w ⋅ ( u ′ ( k ) − d ( k ) ) = 1 ( z − e p w T s ) ⋅ K w ( 1 − e p w T s ) − p w ⋅ ( u ′ ( k ) − d ( k ) ) (24) w(k)=Z[\frac{K_w}{s-p_w}(u^{'}(s)-d(s))·\frac{1-e^{-Ts}}{s}]\\ =Z[\frac{-p_w}{(s-p_w)s}·\frac{K_w(1-e^{-Ts})}{-p_w}·(u^{'}(s)-d(s))]\\ =\frac{(1-e^{p_wT_s})z}{(z-1)(z-e^{p_wT_s})}·\frac{K_w(1-z^{-1})}{-p_w}·(u^{'}(k)-d(k))\\ =\frac{(1-e^{p_wT_s})z}{(z-1)(z-e^{p_wT_s})}·\frac{K_w(z-1)}{-zp_w}·(u^{'}(k)-d(k))\\ =\frac{1}{(z-e^{p_wT_s})}·\frac{K_w(1-e^{p_wT_s})}{-p_w}·(u^{'}(k)-d(k))\tag{24} w(k)=Z[spwKw(u(s)d(s))s1eTs]=Z[(spw)spwpwKw(1eTs)(u(s)d(s))]=(z1)(zepwTs)(1epwTs)zpwKw(1z1)(u(k)d(k))=(z1)(zepwTs)(1epwTs)zzpwKw(z1)(u(k)d(k))=(zepwTs)1pwKw(1epwTs)(u(k)d(k))(24)
之后离散域表达为:
w ( k ) = K w d z − p w ( u ′ ( k ) − d ( k ) ) , 其中 K w d = K w − p w ( 1 − e p w d T s ) , p w d = e p w T s (25) w(k)=\frac{K_{wd}}{z-p_w}(u^{'}(k)-d(k)),其中K_{wd}=\frac{K_w}{-p_w}(1-e^{p_{wd}T_s}),p_{wd}=e^{p_wT_s}\tag{25} w(k)=zpwKwd(u(k)d(k)),其中Kwd=pwKw(1epwdTs),pwd=epwTs(25)

连续时间状态空间表达式离散化以后如下式:
[ x ( k + 1 ) w ( k + 1 ) ] = A d [ x ( k ) w ( k ) ] + [ B d − B d ] [ u ′ ( k ) d ( k ) ] , 其中 A d = e A c T s , B d = ∫ 0 T e A c λ d λ ⋅ B c (26) \begin{bmatrix} {x}(k+1)\\ {w}(k+1)\\ \end{bmatrix}= A_d\begin{bmatrix} x(k)\\ w(k)\\ \end{bmatrix}+\begin{bmatrix} B_d~~~ {-B_d}\\ \end{bmatrix}\begin{bmatrix} u^{'}(k)\\ d(k)\\ \end{bmatrix}, 其中A_d=e^{A_cT_s} ,B_d=\int_{0}^{T}e^{A_c\lambda}d\lambda·B_c\tag{26} [x(k+1)w(k+1)]=Ad[x(k)w(k)]+[Bd   Bd][u(k)d(k)],其中Ad=eAcTs,Bd=0TeAcλdλBc(26)

五.考虑噪声

虽然简单的刚性模型可以表示机床伺服驱动的过程,实际情况中存在多种多样的非线性误差,例如 D/A 转换的量化误差,过程噪声和测量噪声等。这些非线性误差最终都会影响跟踪精度,为了更好地控制效果,应该辨识出准确的模型参数等效惯量 J J J和粘滞阻尼系数 B B B ,以及摩擦力的扰动。

加入电压输入量化噪声、位置测量噪声、转速测量噪声和摩擦力扰动噪声。

在这里插入图片描述

[ x ( k + 1 ) w ( k + 1 ) d ( k + 1 ) ] = A [ x ( k ) w ( k ) d ( k ) ] + B u ( k ) + W [ u ~ ( k ) w d ( k ) ] 其中 A = [ A d − B d 0 0 1 ] , B = [ B d 0 ] , W = [ B d 0 0 0 1 ] \begin{bmatrix} {x}(k+1)\\ {w}(k+1)\\ d(k+1) \end{bmatrix}= A\begin{bmatrix} x(k)\\ w(k)\\ d(k) \end{bmatrix}+Bu(k)+W\begin{bmatrix} \tilde{u}(k)\\ w_d(k)\\ \end{bmatrix}\\其中A=\begin{bmatrix} A_d&-B_d~~\\ 0&0~~~~~~~1\\ \end{bmatrix},B=\begin{bmatrix} B_d\\0 \end{bmatrix},W=\begin{bmatrix} B_d&0\\ &0\\ 0&1 \end{bmatrix} x(k+1)w(k+1)d(k+1) =A x(k)w(k)d(k) +Bu(k)+W[u~(k)wd(k)]其中A=[Ad0Bd  0       1]B=[Bd0],W= Bd0001
[ x m ( k ) w m ( k ) ] = C [ x ( k ) w ( k ) d ( k ) ] + V [ x ~ ( k ) w ~ ( k ) ] , 其中 C = [ 1 0 0 0 1 0 ] , V = [ 1 0 0 1 ] \begin{bmatrix} {x}_m(k)\\ {w}_m(k)\\ \end{bmatrix}= C\begin{bmatrix} x(k)\\ w(k)\\ d(k) \end{bmatrix}+V\begin{bmatrix} \tilde{x}(k)\\ \tilde{w}(k)\\ \end{bmatrix},~~~~~其中C=\begin{bmatrix} 1&0&0\\ 0&1&0 \end{bmatrix},V=\begin{bmatrix} 1&0\\0&1 \end{bmatrix} [xm(k)wm(k)]=C x(k)w(k)d(k) +V[x~(k)w~(k)],     其中C=[100100],V=[1001]
d ( k ) d(k) d(k)是由卡尔曼滤波器估计的值,既用于摩擦力辨识,也用于控制回路里面的反馈。
\end{bmatrix}
$$

[ x m ( k ) w m ( k ) ] = C [ x ( k ) w ( k ) d ( k ) ] + V [ x ~ ( k ) w ~ ( k ) ] , 其中 C = [ 1 0 0 0 1 0 ] , V = [ 1 0 0 1 ] \begin{bmatrix} {x}_m(k)\\ {w}_m(k)\\ \end{bmatrix}= C\begin{bmatrix} x(k)\\ w(k)\\ d(k) \end{bmatrix}+V\begin{bmatrix} \tilde{x}(k)\\ \tilde{w}(k)\\ \end{bmatrix},~~~~~其中C=\begin{bmatrix} 1&0&0\\ 0&1&0 \end{bmatrix},V=\begin{bmatrix} 1&0\\0&1 \end{bmatrix} [xm(k)wm(k)]=C x(k)w(k)d(k) +V[x~(k)w~(k)],     其中C=[100100],V=[1001]

d ( k ) d(k) d(k)是由卡尔曼滤波器估计的值,既用于摩擦力辨识,也用于控制回路里面的反馈。

参考文献
[1]史振辉. 基于振动抑制的高带宽多轴轮廓跟踪控制研究[D].华中科技大学,2018.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/609835.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

日志系统一(elasticsearch+filebeat+logstash+kibana)

目录 一、es集群部署 安装java环境 部署es集群 安装IK分词器插件 二、filebeat安装&#xff08;docker方式&#xff09; 三、logstash部署 四、kibana部署 背景&#xff1a;因业务需求需要将nginx、java、ingress日志进行收集。 架构&#xff1a;filebeatlogstasheskib…

2024最新AI系统ChatGPT商业运营网站源码,支持Midjourney绘画AI绘画,GPT语音对话+ChatFile文档对话总结+DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作Ch…

关于java的冒泡排序

关于java的冒泡排序 我们前面的文章中了解到了数组的方法类Arrays&#xff0c;我们本篇文章来了解一下最出名的排序算法之一&#xff0c;冒泡排序&#xff01;&#x1f600; 冒泡排序的代码还是非常简单的&#xff0c;两层循环&#xff0c;外层冒泡轮数&#xff0c;里层依次比…

TSP(Python):Qlearning求解旅行商问题TSP(提供Python代码)

一、Qlearning简介 Q-learning是一种强化学习算法&#xff0c;用于解决基于奖励的决策问题。它是一种无模型的学习方法&#xff0c;通过与环境的交互来学习最优策略。Q-learning的核心思想是通过学习一个Q值函数来指导决策&#xff0c;该函数表示在给定状态下采取某个动作所获…

【操作系统】复习汇总(各章节知识图谱)

第1章&#xff1a; 第2章&#xff1a; 第3章&#xff1a; 第4章&#xff1a; 第5章&#xff1a; 第6章&#xff1a; 第7章&#xff1a; 第8章&#xff1a; 第9章&#xff1a;

系统性介绍MoE模型架构,以及在如今大模型方向的发展现状

知乎&#xff1a;Verlocksss编辑&#xff1a;马景锐链接&#xff1a;https://zhuanlan.zhihu.com/p/675216281 1 学习动机 第一次了解到MoE&#xff08;Mixture of experts&#xff09;&#xff0c;是在GPT-4模型架构泄漏事件&#xff0c;听说GPT-4的架构是8个GPT-3级别大小的模…

2707. 字符串中的额外字符

牛客网&#xff1a;https://leetcode.cn/problems/extra-characters-in-a-string/description/?envTypedaily-question&envId2024-01-09 官方解题思路为动态规划或字典数优化&#xff1b; 这里引入Up主的解题思路&#xff08;递归&#xff09; 哔哩哔哩&#xff1a;https…

【计算机网络】TCP原理 | 可靠性机制分析(二)

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程、计算机网络的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; T…

Python异步编程|PySimpleGUI界面读取PDF转换Excel

目录 实例要求 原始pdf文件格式 输出xls文件格式 运行界面 完整代码 代码分析 遍历表格 布局界面 控件简介 写入表格 表格排序 事件循环 异步编程 实例要求 使用PySimpleGUI做一个把单位考勤系统导出的pdf文件合并输出Excel的应用&#xff0c;故事出自&#xff1…

CDN的介绍以及加速内容传输原理

目前在公司的开发过程中&#xff0c;发现很多存储在oss的静态资源&#xff08;图片&#xff0c;安装包&#xff09;的链接中域名都使用了cdn域名&#xff0c;后面了解到这个cdn域名的主要作用是加速资源的访问&#xff0c;于是抽空了解了一下CDN加速原理。 目前使用得比较多的是…

Python多线程同步

同步条件(Event) 在Python中&#xff0c;多线程同步可以通过threading模块中的Event对象来实现。Event对象允许一个或多个线程等待某个事件的发生&#xff0c;当事件发生时&#xff0c;等待的线程将被唤醒。 event.isSet()&#xff1a;返回event的状态值 event.wait()&#x…

PyQt5-小总结

之前学习PyQt5&#xff0c;然后那段时间想做一个桌面小程序&#xff0c;后来由于学习内容较多就做了一小部分&#xff0c;但是可以进行页面跳转。大家如果是初学者对Python感兴趣而且刚学数据库时可以看看代码&#xff0c;可能会有点启发。 效果&#xff1a; 登录进来是这&…

FreeRTOS学习——任务通知

一、什么是任务通知 FreeRTOS 从版本 V8.2.0 开始提供任务通知这个功能&#xff0c;每个任务都有一个 32 位的通知值。按照 FreeRTOS 官方的说法&#xff0c;使用消息通知比通过二进制信号量方式解除阻塞任务快 45%&#xff0c; 并且更加省内存&#xff08;无需创建队 列&#…

解析游戏开发中的ECS设计模式:实体、组件、系统的完美协同

ECS&#xff08;Entity-Component-System&#xff09;是一种设计模式&#xff0c;通常用于构建和管理具有大量实体和复杂交互的系统&#xff0c;尤其在游戏开发中得到广泛应用。这个模式的核心思想是将系统中的组件、实体和系统进行分离&#xff0c;以提高代码的可维护性、可扩…

鸿蒙原生应用/元服务开发-长时任务

概述 功能介绍 应用退至后台后&#xff0c;对于在后台需要长时间运行用户可感知的任务&#xff0c;例如播放音乐、导航等。为防止应用进程被挂起&#xff0c;导致对应功能异常&#xff0c;可以申请长时任务&#xff0c;使应用在后台长时间运行。申请长时任务后&#xff0c;系统…

Linux调试------gdb的使用

目录 前言 一、gdb打开可执行程序 二、查看代码与操作断点 1.l 查看代码 2.b 打断点 3.info b 查看断点信息 4.d 删除断点 5.disable 和 enable 断点的禁用与启用 三、调试 1.r 启动调试 2. n 逐过程 3. s 逐语句 4.display显示变量 5.undisplay 取消显…

e2studio开发磁力计LIS2MDL(1)----轮询获取磁力计数据

e2studio开发磁力计LIS2MDL.1--轮询获取磁力计数据 概述视频教学样品申请源码下载速率新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_uart_callback ()prin…

根据MySql的表名,自动生成实体类,模仿ORM框架

ORM框架可以根据数据库的表自动生成实体类&#xff0c;以及相应CRUD操作 本文是一个自动生成实体类的工具&#xff0c;用于生成Mysql表对应的实体类。 新建Winform窗体应用程序AutoGenerateForm&#xff0c;框架(.net framework 4.5)&#xff0c; 添加对System.Configuration的…

高效构建Java应用:Maven入门和进阶(三)

高效构建Java应用&#xff1a;Maven入门和进阶&#xff08;三&#xff09; 三. Maven的核心功能和构建管理3.1 依赖管理和配置3.2 依赖传递和冲突3.3 依赖导入失败场景和解决方案3.4 扩展构建管理和插件配置 三. Maven的核心功能和构建管理 3.1 依赖管理和配置 Maven 依赖管理…

CentOS安装Docker(超详细)

CentOS安装Docker 1 知识小课堂2 CentOS安装Docker2.1 1.1.卸载&#xff08;可选&#xff09;1.2.安装docker1.3.启动docker1.4.配置镜像加速 3 CentOS安装DockerCompose3.1.下载3.2.修改文件权限3.3.Base自动补全命令&#xff1a; 4 Docker镜像仓库4.1.简化版镜像仓库4.2.带有…