状态反馈
电机状态空间模型
x
=
[
i
n
]
x=\begin {bmatrix} i \\ n \end{bmatrix}
x=[in]:
{
i
˙
=
−
R
L
i
−
C
e
ϕ
L
i
+
1
L
u
n
˙
=
30
C
T
ϕ
π
J
i
+
d
(
t
)
\left \{ \begin{matrix} \dot i = -\frac{R}{L}i-\frac{C_e \phi}{L}i + \frac{1}{L}u \\ \dot n = \frac{30C_T\phi}{\pi J}i+d(t) \end {matrix} \right.
{i˙=−LRi−LCeϕi+L1un˙=πJ30CTϕi+d(t)
[
i
˙
n
˙
]
=
[
−
R
L
−
C
e
ϕ
L
30
C
T
ϕ
π
J
0
]
[
i
n
]
+
[
1
L
0
]
u
+
[
0
d
(
t
)
]
\begin{bmatrix} \dot i\\ \dot n \end{bmatrix}=\begin{bmatrix} -\frac{R}{L} & -\frac{C_e\phi}{L}\\ \frac{30C_T\phi}{\pi J} & 0 \end{bmatrix}\begin{bmatrix} i\\ n \end{bmatrix}+\begin{bmatrix} \frac{1}{L}\\ 0 \end{bmatrix}u+\begin{bmatrix} 0\\ d(t) \end{bmatrix}
[i˙n˙]=[−LRπJ30CTϕ−LCeϕ0][in]+[L10]u+[0d(t)]
电机参数 | 取值 |
---|---|
R / Ω R/\Omega R/Ω | 2.785 |
L / m H L/mH L/mH | 0.0085 |
J / k g ∗ m 2 J/kg*m^2 J/kg∗m2 | 0.0044 |
C e C_e Ce | 0.7 |
C T C_T CT | 6.685 |
Φ \Phi Φ | 1 |
系统矩阵
A
=
[
−
338.2352
−
82.3529
14508
0
]
,
B
=
[
117.65
0
]
,
Q
c
=
[
B
A
B
]
=
[
117.65
39800
0
1706900
]
,
r
a
n
k
Q
c
=
2
A=\begin{bmatrix} -338.2352 & -82.3529 \\ 14508 & 0 \end {bmatrix},B=\begin{bmatrix} 117.65 \\ 0 \end{bmatrix},Q_c=\begin {bmatrix} B & AB \end{bmatrix}=\begin{bmatrix} 117.65 & 39800 \\ 0 & 1706900 \end{bmatrix},rank\;Q_c=2
A=[−338.235214508−82.35290],B=[117.650],Qc=[BAB]=[117.650398001706900],rankQc=2因此系统完全能控。
系统矩阵A的特征值为
−
169.1
±
j
1079.9
-169.1\pm j1079.9
−169.1±j1079.9,位于左半平面,因此系统稳定。
可以通过状态反馈将系统闭环极点配置在-170,-170.
设
u
=
K
x
,
K
=
[
k
1
k
2
]
u=Kx,K=\begin{bmatrix} k_1 & k_2 \end{bmatrix}
u=Kx,K=[k1k2],
A
+
B
K
=
[
a
11
+
b
1
k
1
a
12
+
b
1
k
2
a
21
+
b
2
k
1
a
22
+
b
2
k
2
]
=
[
117.65
k
1
−
338.2353
117.65
k
2
−
82.3529
14508
0
]
A+BK=\begin{bmatrix} a_{11}+b_1 k_1 & a_{12}+b_1 k_2\\ a_{21}+b_2 k_1 & a_{22}+b_2 k_2\end {bmatrix}=\begin{bmatrix}117.65k_1-338.2353 & 117.65k_2-82.3529\\ 14508 & 0\end {bmatrix}
A+BK=[a11+b1k1a21+b2k1a12+b1k2a22+b2k2]=[117.65k1−338.235314508117.65k2−82.35290]
∣
λ
I
−
A
∣
=
∣
λ
+
338.2352
−
117.65
k
1
82.3529
−
117.65
k
2
−
14508
λ
∣
=
λ
2
+
(
338.235
−
117.65
k
1
)
λ
+
14508
(
82.35
−
117.65
k
2
)
=
λ
2
+
340
λ
+
17
0
2
|\lambda I-A|=\left | \begin{matrix} \lambda+338.2352-117.65k_1 & 82.3529-117.65k_2\\ -14508 & \lambda \end{matrix} \right |=\lambda^2+(338.235-117.65k_1)\lambda+14508(82.35-117.65k_2)=\lambda^2+340\lambda+170^2
∣λI−A∣=
λ+338.2352−117.65k1−1450882.3529−117.65k2λ
=λ2+(338.235−117.65k1)λ+14508(82.35−117.65k2)=λ2+340λ+1702
k
1
=
−
0.015
,
k
2
=
0.683
k_1=-0.015, k_2=0.683
k1=−0.015,k2=0.683
u
=
[
k
1
k
2
]
[
i
n
]
u=\begin {bmatrix} k_1 & k_2 \end {bmatrix} \begin {bmatrix} i \\ n \end {bmatrix}
u=[k1k2][in]
转速跟踪状态空间模型改写:
e
=
n
−
n
r
,
e
˙
=
n
˙
−
n
˙
r
e=n-n_r, \dot e=\dot n-\dot n_r
e=n−nr,e˙=n˙−n˙r
[
i
˙
e
˙
]
=
[
−
R
L
−
C
e
ϕ
L
30
C
T
ϕ
π
J
0
]
[
i
e
]
+
[
1
L
0
]
u
+
[
−
C
e
Φ
L
n
r
d
(
t
)
−
n
˙
r
]
\begin{bmatrix} \dot i\\ \dot e \end{bmatrix}=\begin{bmatrix} -\frac{R}{L} & -\frac{C_e\phi}{L}\\ \frac{30C_T\phi}{\pi J} & 0 \end{bmatrix}\begin{bmatrix} i\\ e \end{bmatrix}+\begin{bmatrix} \frac{1}{L}\\ 0 \end{bmatrix}u+\begin{bmatrix} -\frac{C_e\Phi}{L}n_r\\ d(t)-\dot n_r \end{bmatrix}
[i˙e˙]=[−LRπJ30CTϕ−LCeϕ0][ie]+[L10]u+[−LCeΦnrd(t)−n˙r]
令
i
˙
,
e
˙
=
0
\dot i,\dot e=0
i˙,e˙=0,系统平衡点是
i
=
0
,
e
=
−
n
r
i=0,e=-n_r
i=0,e=−nr(假设
d
(
t
)
,
n
˙
r
=
0
d(t),\dot n_r=0
d(t),n˙r=0),为了移动平衡点到
e
=
0
e=0
e=0,令u的加上移动平衡点的项:
u
=
K
x
+
C
e
Φ
n
r
u=Kx+C_e\Phi n_r
u=Kx+CeΦnr
Simulink模型图:
运行结果:
滑模控制
还是采用上面的转速跟踪误差模型
[
i
˙
e
˙
]
=
[
−
R
L
−
C
e
ϕ
L
30
C
T
ϕ
π
J
0
]
[
i
e
]
+
[
1
L
0
]
u
+
[
−
C
e
Φ
L
n
r
d
(
t
)
−
n
˙
r
]
\begin{bmatrix} \dot i\\ \dot e \end{bmatrix}=\begin{bmatrix} -\frac{R}{L} & -\frac{C_e\phi}{L}\\ \frac{30C_T\phi}{\pi J} & 0 \end{bmatrix}\begin{bmatrix} i\\ e \end{bmatrix}+\begin{bmatrix} \frac{1}{L}\\ 0 \end{bmatrix}u+\begin{bmatrix} -\frac{C_e\Phi}{L}n_r\\ d(t)-\dot n_r \end{bmatrix}
[i˙e˙]=[−LRπJ30CTϕ−LCeϕ0][ie]+[L10]u+[−LCeΦnrd(t)−n˙r]
s
=
c
i
+
e
=
c
i
+
n
−
n
r
s=ci+e=ci+n-n_r
s=ci+e=ci+n−nr
s
˙
=
c
i
˙
+
n
˙
−
n
˙
r
=
c
(
−
R
L
i
−
C
e
Φ
L
n
+
1
L
u
+
30
C
T
Φ
π
J
i
+
d
(
t
)
−
n
˙
r
)
\dot s=c\dot i+\dot n-\dot n_r=c(-\frac{R}{L}i-\frac{C_e\Phi}{L}n+\frac{1}{L}u+\frac{30C_T\Phi}{\pi J}i+d(t)-\dot n_r)
s˙=ci˙+n˙−n˙r=c(−LRi−LCeΦn+L1u+πJ30CTΦi+d(t)−n˙r)
定义李雅普诺夫函数为
V
(
s
)
=
1
2
s
2
V(s)=\frac{1}{2}s^2
V(s)=21s2
V
˙
=
s
s
˙
\dot V=s\dot s
V˙=ss˙
令
u
=
L
c
[
(
c
R
L
−
30
C
T
Φ
π
J
)
i
+
c
C
e
Φ
L
n
+
n
˙
r
−
K
s
−
ϵ
s
g
n
(
s
)
]
u=\frac{L}{c}[(\frac{cR}{L}-\frac{30C_T\Phi}{\pi J})i+\frac{cC_e\Phi}{L}n+\dot n_r-Ks-\epsilon sgn(s)]
u=cL[(LcR−πJ30CTΦ)i+LcCeΦn+n˙r−Ks−ϵsgn(s)]
sfun_stablizesys_SMC.m文件内容:
function [sys, x0, str, ts] = sfun_stablizesys_SMC(t, x, u, flag)
switch flag,
case 0,
[sys, x0, str, ts] = mdlInitializeSizes;
case 3,
sys = mdlOutputs(t, x, u);
case {2,4,9}
sys = [];
otherwise,
error(['Unhandled flag = ', num2str(flag)]);
end
function [sys, x0, str, ts] = mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates = 0; %需要求解的状态变量个数,控制器表达式不需要
sizes.NumDiscStates = 0;
sizes.NumOutputs = 2;
sizes.NumInputs = 4;
sizes.DirFeedthrough = 1;
sizes.NumSampleTimes = 0;
sys = simsizes(sizes);
x0 = [];
str = [];
ts = [];
function sys=mdlOutputs(t,x,u) % u = [i,n,nr,dnr]
c = 10;
k = 0.001;
L = 0.0085;
J = 0.0044;
R = 2.875;
CT = 6.685;
Ce = 0.7;
FI = 1;
K = 30;
epsilon = 2.171;
e = u(2)-u(3);
s = c*u(1)+e;
sys(1) = s;
sys(2) = L/c*(u(4)+(c*R/L-30*CT*FI/pi/J)*u(1)+c*Ce*FI/L*u(2)-K*s-epsilon*sign(s));
位置跟踪
假设位置
z
=
∫
0
t
k
n
d
t
,
z
˙
=
k
n
z=\int_{0}^{t} kn\,dt,\dot z=kn
z=∫0tkndt,z˙=kn,
模型变为:
[
z
˙
i
˙
n
˙
]
=
[
0
0
k
0
−
R
L
−
C
e
ϕ
L
0
30
C
T
ϕ
π
J
0
]
[
z
i
n
]
+
[
0
1
L
0
]
u
+
[
0
0
d
(
t
)
]
\begin{bmatrix} \dot z \\ \dot i \\ \dot n \end{bmatrix}=\begin{bmatrix} 0 & 0 & k \\ 0 & -\frac{R}{L} & -\frac{C_e\phi}{L}\\ 0 & \frac{30C_T\phi}{\pi J} & 0 \end{bmatrix}\begin{bmatrix} z \\ i \\ n \end{bmatrix}+\begin{bmatrix} 0 \\ \frac{1}{L}\\ 0 \end{bmatrix}u+\begin{bmatrix} 0 \\ 0\\ d(t) \end{bmatrix}
z˙i˙n˙
=
0000−LRπJ30CTϕk−LCeϕ0
zin
+
0L10
u+
00d(t)
A
=
[
0
0
0.001
0
−
338.2352
−
82.3529
0
14508
0
]
,
B
=
[
0
117.65
0
]
,
Q
c
=
[
B
A
B
A
2
B
]
,
r
a
n
k
Q
c
=
3
A=\begin{bmatrix} 0 & 0 & 0.001 \\ 0 & -338.2352 & -82.3529 \\ 0 &14508 & 0 \end {bmatrix},B=\begin{bmatrix} 0 \\ 117.65 \\ 0 \end{bmatrix},Q_c=\begin {bmatrix} B & AB & A^2B \end{bmatrix},rank\;Q_c=3
A=
0000−338.2352145080.001−82.35290
,B=
0117.650
,Qc=[BABA2B],rankQc=3,因此系统完全能控。
A的特征值为0,
−
169.1
±
j
1079.9
-169.1\pm j1079.9
−169.1±j1079.9,需要通过状态反馈进行系统镇定。
设
K
=
[
k
1
k
2
k
3
]
K=[k_1 \quad k_2 \quad k_3]
K=[k1k2k3],配置到-170,-170,-170,
∣
λ
I
−
(
A
+
B
K
)
∣
=
(
λ
+
170
)
3
|\lambda I-(A+BK)|=(\lambda+170)^3
∣λI−(A+BK)∣=(λ+170)3
解得
k
1
=
−
2878.4
,
k
2
=
−
1.46
,
k
3
=
0.6492.
k_1=-2878.4,\;k_2=-1.46,\;k_3=0.6492.
k1=−2878.4,k2=−1.46,k3=0.6492.
u
=
[
k
1
k
2
k
3
]
[
z
i
n
]
u=[k_1 \quad k_2 \quad k_3]\begin{bmatrix} z \\ i \\ n \end{bmatrix}
u=[k1k2k3]
zin
镇定后系统状态都能收敛到0:
加入位置跟踪:
[
e
˙
i
˙
n
˙
]
=
[
0
0
k
0
−
R
L
−
C
e
ϕ
L
0
30
C
T
ϕ
π
J
0
]
[
e
i
n
]
+
[
0
1
L
0
]
u
+
[
−
z
˙
r
0
d
(
t
)
]
\begin{bmatrix} \dot e \\ \dot i \\ \dot n \end{bmatrix}=\begin{bmatrix} 0 & 0 & k \\ 0 & -\frac{R}{L} & -\frac{C_e\phi}{L}\\ 0 & \frac{30C_T\phi}{\pi J} & 0 \end{bmatrix}\begin{bmatrix} e \\ i \\ n \end{bmatrix}+\begin{bmatrix} 0 \\ \frac{1}{L}\\ 0 \end{bmatrix}u+\begin{bmatrix} -\dot z_r \\ 0\\ d(t) \end{bmatrix}
e˙i˙n˙
=
0000−LRπJ30CTϕk−LCeϕ0
ein
+
0L10
u+
−z˙r0d(t)
u
=
[
k
1
k
2
k
3
]
[
e
i
n
]
=
[
k
1
k
2
k
3
]
[
z
i
n
]
−
k
1
z
r
u=[k_1 \quad k_2 \quad k_3]\begin{bmatrix} e \\ i \\ n \end{bmatrix}=[k_1 \quad k_2 \quad k_3]\begin{bmatrix} z \\ i \\ n \end{bmatrix}-k_1z_r
u=[k1k2k3]
ein
=[k1k2k3]
zin
−k1zr
改变初值依然是很小的误差
加入负载
T
L
=
30
T_L=30
TL=30,抗干扰效果也不错
滑模轨迹跟踪:
时滞
状态反馈镇定加Smith预估器控制方案:
时滞存在于输出量和反馈量,由于史密斯预估器只适用于单入单出系统,所以将位置作为输出变量,对于位置的反馈单独分离出来。Plant的模型中先不包含位置的反馈量,只镇定
i
,
n
i,n
i,n两个状态变量:
[
z
˙
i
˙
n
˙
]
=
[
0
0
k
0
−
R
L
−
C
e
ϕ
L
0
30
C
T
ϕ
π
J
0
]
[
z
i
n
]
+
[
0
1
L
0
]
u
+
[
0
0
d
(
t
)
]
\begin{bmatrix} \dot z \\ \dot i \\ \dot n \end{bmatrix}=\begin{bmatrix} 0 & 0 & k \\ 0 & -\frac{R}{L} & -\frac{C_e\phi}{L}\\ 0 & \frac{30C_T\phi}{\pi J} & 0 \end{bmatrix}\begin{bmatrix} z \\ i \\ n \end{bmatrix}+\begin{bmatrix} 0 \\ \frac{1}{L}\\ 0 \end{bmatrix}u+\begin{bmatrix} 0 \\ 0\\ d(t) \end{bmatrix}
z˙i˙n˙
=
0000−LRπJ30CTϕk−LCeϕ0
zin
+
0L10
u+
00d(t)
u
1
=
[
0
k
2
k
3
]
[
z
i
n
]
u_1=[0 \quad k_2 \quad k_3]\begin{bmatrix} z \\ i \\ n \end{bmatrix}
u1=[0k2k3]
zin
Smith预估器反并联的控制器为:
u
2
=
−
k
1
(
z
r
−
z
)
u_2=-k_1(z_r-z)
u2=−k1(zr−z)
Smith预估器:
滑模控制加Smith预估器
状态反馈时滞控制
定理:
K
=
Y
W
−
1
,
P
=
W
−
1
K=YW^{-1},P=W^{-1}
K=YW−1,P=W−1
代入镇定后的三阶系统,解得K=[4392.9 -26079948404.99 0.5462]
代入未镇定的三阶系统,解得K=[-0.0766 -8293531604.51 -3.1232]
仿真结果都不稳定。
时滞存在于状态变量中,电流传给转速时有时滞
[
e
˙
i
˙
n
˙
]
=
[
0
0
k
0
−
R
L
−
C
e
Φ
L
0
0
0
]
[
e
i
n
]
[
0
0
0
0
0
0
0
30
C
T
Φ
π
J
0
]
[
e
(
t
−
τ
)
i
(
t
−
τ
)
n
(
t
−
τ
)
]
+
[
0
1
L
0
]
u
+
[
−
z
˙
r
0
d
(
t
)
]
\begin{bmatrix} \dot e \\ \dot i \\ \dot n \end{bmatrix}=\begin{bmatrix} 0 & 0 & k \\ 0 & -\frac{R}{L} & -\frac{C_e\Phi}{L}\\ 0 & 0 & 0 \end{bmatrix}\begin{bmatrix} e \\ i \\ n \end{bmatrix} \begin{bmatrix} 0&0&0 \\ 0&0&0 \\ 0& \frac{30C_T\Phi}{\pi J}&0 \end{bmatrix} \begin{bmatrix} e(t-\tau) \\ i(t-\tau) \\ n(t-\tau) \end{bmatrix}+\begin{bmatrix} 0 \\ \frac{1}{L}\\ 0 \end{bmatrix}u+\begin{bmatrix} -\dot z_r \\ 0\\ d(t) \end{bmatrix}
e˙i˙n˙
=
0000−LR0k−LCeΦ0
ein
00000πJ30CTΦ000
e(t−τ)i(t−τ)n(t−τ)
+
0L10
u+
−z˙r0d(t)
状态反馈那个实验必须用三个LMI解出来的K才能镇定系统,单用第一个LMI解出来的K不能使系统稳定,很奇怪
参考资料
- 【现代控制理论笔记】——第三章:状态反馈
https://blog.youkuaiyun.com/weixin_52077466/article/details/135450369 - 【Advanced控制理论】8.5_线性控制器设计_轨迹跟踪(Follow a Desired Path) https://www.bilibili.com/video/BV1HW411s7YC/?spm_id_from=333.999.0.0&vd_source=20d896eca3aa8b68c67b5e833330db7d
- 滑模变结构控制仿真实验设计——刘金琨著