为了实现对运动控制系统精准的位置控制,首先要对伺服进给系统进行准确建模和模型辨识。人们对于运动控制系统的研究中已经提出了多种多样的系统建模和辨识方法。
下面对整个系统的工作原理进行解释:
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(kg?m2)和粘滞阻尼系数 B ( k g ? m 2 / s ) B(kg·m^2/s) B(kg?m2/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)=srg??Js+B1?(Kt?Ka?u′(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?=JKt?Ka??和极点
p
w
=
?
B
J
p_w=\frac{-B}{J}
pw?=J?B?以及外部扰动
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)=Kt?Ka?Td?(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)=s?pw?Kw??(u′(s)?d(s))x(s)=srg??s?pw?Kw??(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?=[00?rg?pw??],Bc?=[0Kw??](4)
我们对这个式子进行正反推导:
式(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)?]=[00?rg?pw??][x(t)w(t)?]+[0Kw??0?Kw??][u′(t)d(t)?]=[00?rg?pw??][x(t)w(t)?]+[0Kw??]u′(t)+[0?Kw??]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)=rg?w(t)w˙(t)=pw?w(t)+Kw?u′(t)?Kw?d(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)=s?pw?Kw??(u′(s)?d(s))w(s)(s?pw?)=Kw?u′(s)?Kw?d(s)w(s)s?w(s)pw?=Kw?u′(s)?Kw?d(s)进行拉普拉斯反变换结果为:w˙(t)?w(t)pw?=Kw?u′(t)?Kw?d(t)w˙(t)=w(t)pw?+Kw?u′(t)?Kw?d(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)=∫rg?w(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}
s?pw?1?,这意味着它可能对应一个复合函数,直接应用拉普拉斯反变换需要复杂的部分分式分解。
尽管可以对
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)=srg??s?pw?Kw??(u′(s)?d(s))x(s)(s2?spw?)=rg?Kw?(u′(s)?d(s))进行拉普拉斯反变换错误的结果为:x¨(t)?x˙(t)pw?=rg?Kw?(u′(t)?d(t))(7)
现在根据式(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=[00?rg?pw??](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=[0Kw??0?Kw??](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=[rg??0?](13)
(4)矩阵D通常是零,除非有直接从输入到输出的路径:
D
=
[
0
0
]
(14)
D=\begin{bmatrix} 0&0\\ \end{bmatrix}\tag{14}
D=[0?0?](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?+Kw?u′(t)?Kw?d(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)=∫rg?w(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)=[00?rg?pw??][x(t)w(t)?]+[0Kw??0?Kw??][u′(t)d(t)?]y(t)=CX(t)+Du(t)=[1?0?][x(t)w(t)?](17)
如果控制系统中的所有信号都是时间变量的连续函数,换句话说,这些信号在全部时间上都是已知的,则这样的系统称为连续时间系统,简称连续系统;如果控制系统中有一处或者几处信号是一串脉冲或者数码,换句话说,这些信号仅定义在离散时间上,则这样的系统称为离散时间系统,简称离散系统。
通常,把系统中的离散信号是脉冲和序列形式的离散系统,称为采样控制系统或脉冲控制系统;而把数字序列形式的离散系统,称为数字控制系统或计算机控制系统。
把来自控制器的数字信号转换为连续信号,用于这一转换过程的装置叫做保持器,从数学上说,保持器的任务是解决各采样点之间的插值问题。
在采样时刻上,连续信号的函数值与脉冲序列的脉冲强度相等,在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?+a1?△t+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?((n?1)T),
e
?
(
(
n
?
2
)
T
)
e^*((n-2)T)
e?((n?2)T),……,
e
?
(
(
n
?
m
)
T
)
e^*((n-m)T)
e?((n?m)T)的(m+1)个值。外推公式中(m+1)个待定系数
a
i
a_i
ai?由过去各采样时刻(m+1)个离散信号值确定,所以
a
i
a_i
ai?有唯一解。这样的保持器称为m阶保持器,若取m=0,则称零阶保持器。
零阶保持器的外推公式为:
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)δ(t?nT)的作用结果。如果给零阶保持器输入一个理想单位脉冲
δ
(
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)?(t?T)(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)=s1??se?Ts?=s1?e?Ts?(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[s?pw?Kw??(u′(s)?d(s))?s1?e?Ts?]=Z[(s?pw?)s?pw????pw?Kw?(1?e?Ts)??(u′(s)?d(s))]=(z?1)(z?epw?Ts?)(1?epw?Ts?)z???pw?Kw?(1?z?1)??(u′(k)?d(k))=(z?1)(z?epw?Ts?)(1?epw?Ts?)z???zpw?Kw?(z?1)??(u′(k)?d(k))=(z?epw?Ts?)1???pw?Kw?(1?epw?Ts?)??(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)=z?pw?Kwd??(u′(k)?d(k)),其中Kwd?=?pw?Kw??(1?epwd?Ts?),pwd?=epw?Ts?(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?=eAc?Ts?,Bd?=∫0T?eAc?λ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=[Ad?0??Bd???0???????1?],B=[Bd?0?],W=
?Bd?0?001?
?
[
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=[10?01?00?],V=[10?01?]
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=[10?01?00?],V=[10?01?]
d ( k ) d(k) d(k)是由卡尔曼滤波器估计的值,既用于摩擦力辨识,也用于控制回路里面的反馈。
参考文献
[1]史振辉. 基于振动抑制的高带宽多轴轮廓跟踪控制研究[D].华中科技大学,2018.