Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivo específico
Presentar las posibilidades que ofrece la
realimentación para la linealización exacta de
algunos sistemas no lineales y posterior
aplicación de métodos de control lineal
Temas
1. Diseño de sistemas de control no lineal
2. Realimentación lineal del estado
3. Ejemplo introductorio a la linealización por
realimentación
4. Generalización del método
5. Ejemplos
1
3
2
5
3
7
⎡ −0.3 0.2 ⎤ ⎡1 ⎤
x ( k + 1) = ⎢
0.5 0 ⎥ x( k ) + ⎢ 0⎥ u ( k ), y ( k ) = [1 −0.4] x ( k ), T = 1seg
⎣ ⎦ ⎣ ⎦
4
9
10
y(n)=Cx(n)+Du(n)
Diagrama de
x(n+1)=Ax(n)+Bu(n) simulación
(A, B) Scope
K
0.9
-K 0.8
0.7
0.6
x (t)
0.5
Resultados de la 0.4
simulación 0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9 10
t (seg)
5
11
x* (k + 1) = A* x* ( k ) + B*u (k )
x* (t ) = Tx(t ), T = M*c M c−1
⎡ 0 1 0 " 0 ⎤ ⎡0⎤
⎢ 0 0 1 " 0 ⎥⎥ ⎢0⎥
⎢ ⎢ ⎥
A* = TAT −1 = ⎢ # # # ⎥ B* = TB = ⎢ # ⎥
⎢ ⎥ ⎢ ⎥
⎢ 0 0 0 " 1 ⎥ ⎢0⎥
⎢⎣ − an −an −1 − an − 2 " − a1 ⎥⎦ ⎢⎣1 ⎥⎦
12
P ( z ) = z n + p1 z n −1 + " + pn −1 z + pn
6
13
K = K * T = [ pn − an pn −1 − an −1 " p1 − a1 ] M*c M
14
⎡ −0.3 0.2 ⎤ ⎡1 ⎤
x ( k + 1) = ⎢
0.5 0 ⎥ x( k ) + ⎢ 0⎥ u ( k ), y ( k ) = [1 −0.4] x ( k ), T = 1seg
⎣ ⎦ ⎣ ⎦
⎡1 −0.3⎤
Mc = ⎢ ⎥ , P ( z ) = ( z − 0.1)( z − 0.1) = z − 0.2 z + 0.01
2
⎣ 0 0.5 ⎦
⎡ 0.26 −0.1⎤
P( A ) = A 2 − 0.2A + 0.01I = ⎢ ⎥
⎣ −0.25 0.11⎦
−1
⎡1 −0.3⎤ ⎡ 0.26 −0.1⎤
K = [0 1] M c−1P( A ) = [0 1] ⎢ ⎥ ⎢ ⎥ = [ −0.5 0.22]
⎣0 0.5 ⎦ ⎣ −0.25 0.11⎦
7
15
16
K = [ −0.5 0.22]
( z − 0.2)h
Gcl ( z ) =
z 2 − 0.2 z + 0.01
Rz
y ss = lim( z − 1)G ( z ) = 0.9877 Rh = R, h = 1.0125
z →1 z −1
8
17
V ( z) 1
= , zV ( z ) = V ( z ) + E ( z ), e(k ) = r (k ) − y (k )
E( z) z − 1
v(k + 1) = v(k ) + r (k ) − y (k ) = v(k ) + r (k ) − Cx(k )
⎡ x(k + 1) ⎤ ⎡ A 0 ⎤ ⎡ x( k ) ⎤ ⎡ B ⎤ ⎡ 0⎤
⎢ v(k + 1) ⎥ = ⎢ −C 1 ⎥ ⎢ v( k ) ⎥ + ⎢ 0 ⎥ u (k ) + ⎢1 ⎥ r (k )
⎣ ⎦ ⎣ ⎦⎣ ⎦ ⎣ ⎦ ⎣ ⎦
18
Regulador
9
19
20
1.4
1.2
1.2
1
1
y (t)
u (t)
0.8
0.8
0.6
0.6
0.4 0.4
0.2 0.2
0 0 1 2 3 4 5 6 00 1 2 3 4 5 6
t (seg) t (seg)
10
21
22
11
23
MATLAB:
S=ss([0 1 0;0 0 1;-0.25 0 0.5],[0 1;0 0;1 0],[1 0 0;0 1 0;0 0 1],[0 0;0 0;0 0]);
K=place(S.A,S.B,[0,0,0.000001])
⎡ −0.25 0 0.5⎤
K=⎢
⎣ 0 1 0 ⎥⎦
24
-K
Variables de estado 0
Acciones de control
3.5
3
-0.5
2.5
-1
2
u (t)
x (t)
1.5 -1.5
1 -2
0.5
-2.5
0
-0.5 -3
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
t (seg) t (seg)
12
25
26
13
27
28
14
29
30
Ejemplo introductorio
Pasos
Sistema no lineal:
⎧ x1 = −2 x1 + x2 + sen x1
⎨ p.e.=(0,0)
⎩ x2 = − x2 cos x1 + u cos 2 x1
⎧ z1 = x1 ⎧ x1 = z1
⎨ ⎨
⎩ z2 = x2 + sen x1 ⎩ x2 = z2 − sen z1
⎧ z1 = −2 z1 + z2
⎨ p.e.=(0,0)
⎩ z2 = −2 z1 cos z1 + cos z1 sen z1 + u cos 2 z1
15
31
Ejemplo introductorio
Pasos
2. Transformación de la entrada que convierte el
sistema no lineal en un sistema lineal
1 ⎛ π 3π 5π ⎞
u= ( v − cos z1 sen z1 + 2 z1 cos z1 ) z1 ≠ ⎜ ± , ± ,± ,... ⎟
cos 2 z1 ⎝ 4 4 4 ⎠
⎧ z1 = −2 z1 + z2
⎨
⎩ z2 = v
32
Ejemplo introductorio
Pasos
4. Implementación de la acción de control en las
variables de estado originales:
1 ⎛ π kπ ⎞
u= ( v − cos x1 sen x1 + 2 x1 cos x1 ) x1 ≠ ⎜ ± ⎟ , k = 0,1, 2,...
cos 2 x1 ⎝4 2 ⎠
16
33
Ejemplo introductorio
Simulación con Matlab/Simulink
Diagrama completo de control y parámetros
perturbados en un 20%, incluyendo el control y la
transformación de estados
(v,u)
v=-kz
u=u(x,v) x´=f(x,u)
Linear
control Nonlinear Nonlinear x
control system
z=z(x)
x --> z
34
Ejemplo introductorio
Simulación con Matlab/Simulink (cont.)
Modelo de la planta no lineal
1
-2*u[1]+u[2]+sin(u[1])
s 1
Fcn x1 x
1
-u[2]*cos(u[1])+u[3]*cos(2*u[1])
1 s
u Fcn1 x2
17
35
Ejemplo introductorio
Resultados de la simulación
1.6
1.4
1.2
0.8
x1
0.6
0.4
0.2
x2
0
-0.2
0 1 2 3 4 5 6
t(sec)
36
Ejemplo introductorio
Resultados de la simulación
100 0
0
-1
-100
-200 -2
-300
v (t)
u (t)
-3
-400
-500 -4
-600
-5
-700
-800 -6
0 1 2 3 4 5 6 0 1 2 3 4 5 6
t(sec) t(sec)
18
37
Control linealizante: u = α (z ) + β( z ) v
Condiciones adicionales:
(A,B) es controlable
β(x) es no singular para todo x en cierto dominio D
© Carlos Mario Vélez S. Universidad EAFIT
38
⎡ x1 ⎤ ⎧T1 (x) = x1
T( x ) = ⎢ ⎥ ⎨
⎣ −2 x1 + x2 + sen x1 ⎦ ⎩T2 (x) = −2 x1 + x2 + sen x1
⎧ z1 = T1 (x) = x1 ⎧ x1 = z1
⎨ ⎨
⎩ z2 = T2 (x) = −2 x1 + x2 + sen x1 ⎩ x2 = z2 + 2 z1 − sen z1
© Carlos Mario Vélez S. Universidad EAFIT
19
39
Comparando:
⎧ ∂T −1
⎪⎪ ∂x f (x) = AT(x) − Bβ (T(x))α (T(x))
⎨
⎪ ∂T g (x) = Bβ −1 (T(x))
⎪⎩ ∂x
40
20
41
MAM −1 = A c + B c ΛT MB = B c
⎡0 1 0 " 0⎤ ⎡0⎤ ⎡ − an ⎤
⎢0 0 1 " 0⎥ ⎢0⎥ ⎢ −a ⎥
⎢ ⎥ ⎢ ⎥ ⎢ n −1 ⎥
Ac = ⎢ # # # #⎥ Bc = ⎢ # ⎥ Λ=⎢ # ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢0 0 0 " 1⎥ ⎢0⎥ ⎢ − a2 ⎥
⎢⎣ 0 0 0 " 0 ⎥⎦ ⎢⎣1 ⎥⎦ ⎢⎣ −a1 ⎥⎦
42
z * = Ac z* + B c β −1 (z * ) ⎡⎣u − α* (z * ) ⎤⎦
⎧ ∂T −1
⎪⎪ ∂x f (x) = A c T(x) − B c β (T(x))α (T(x))
⎨
⎪ ∂T g (x) = B β −1 (T(x))
⎪⎩ ∂x c
21
43
44
Ejemplos
Ejemplo 1
⎧ x1 = −2 x1 + x2 + sen x1
⎨ p.e.=(0,0)
⎩ x2 = − x2 cos x1 + u cos 2 x1
Forma estándar del modelo no lineal:
x = f (x) + g (x)u
⎡ x1 ⎤ ⎡ −2 x1 + x2 + sen x1 ⎤ ⎡ 0 ⎤
⎢ x ⎥ = ⎢ − x2 cos x1 ⎥ + ⎢cos 2 x ⎥ u
⎣ 2⎦ ⎣ ⎦ ⎣ 1⎦
Ecuaciones simplificadas:
∂T1 ∂T2 ∂T1
g ( x) = 0 g ( x) ≠ 0 f (x) = T2
∂x ∂x ∂x
1 (∂T / ∂x) f ( x)
β= α =− 2
(∂T2 / ∂x) g ( x) (∂T2 / ∂x) g ( x)
22
45
Ejemplos
Ejemplo 1 (cont.)
∂T1 ⎡ ∂T ∂T1 ⎤ ⎡ 0 ⎤ ∂T1 ∂T1
g ( x) = ⎢ 1 ⎥ = cos 2 x1 = 0, =0
∂x ⎣ ∂x1 ∂x2 ⎦ ⎢⎣ cos 2 x1 ⎥⎦ ∂x2 ∂x2
∂T2 ⎡ ∂T ∂T2 ⎤ ⎡ 0 ⎤ ∂T2 ∂T2
g ( x) = ⎢ 2 ⎥ = cos 2 x1 ≠ 0, ≠0
∂x ⎣ ∂x1 ∂x2 ⎦ ⎢⎣ cos 2 x1 ⎥⎦ ∂x2 ∂x2
∂T1
Si = 0, entonces una posibilidad es, considerando T(xo ) = 0 :
∂x2
⎧T1 (x) = x1 ⎡ x1 ⎤
⎨ T( x ) = ⎢ ⎥
⎩T2 (x) = −2 x1 + x2 + sen x1 ⎣ − 2 x1 + x2 + sen x1⎦
46
Ejemplos
Ejemplo 1 (cont.)
Las nuevas variables de estado z = T(x) son:
⎧ z1 = T1 (x) = x1 ⎧ x1 = z1
⎨ ⎨
⎩ z2 = T2 (x) = −2 x1 + x2 + sen x1 ⎩ x2 = z2 + 2 z1 − sen z1
23
47
Ejemplos
Ejemplo 1 (cont.)
Cálculo de la acción de control por las fórmulas:
∂T2 ⎡ ∂T ∂T2 ⎤ ⎡ 0 ⎤ ⎡ 0 ⎤
g ( x) = ⎢ 2 ⎥ ⎢cos 2 x ⎥ = [ −2 + cos x1 1] ⎢cos 2 x ⎥ = cos 2 x1
∂x ⎣ ∂x1 ∂x2 ⎦ ⎣ 1⎦ ⎣ 1⎦
48
Ejemplos
Ejemplo 1 (cont.)
Modelo lineal:
⎧ z1 = z2
⎨ p.e.=(0,0)
⎩ z2 = −2 z2 + v
El modelo puede o no contener el término -2z2, pues el
control u puede o no eliminarlo
El modelo lineal es controlable:
⎡0 1 ⎤ ⎡0⎤
A=⎢ ⎥ B=⎢ ⎥
⎣0 −2 ⎦ ⎣1 ⎦
⎡0 1 ⎤
M c = [ B AB ] = ⎢ ⎥ rango(M c ) = 2
⎣1 −2 ⎦
24