Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2012
ii
Índice general
iii
iv ÍNDICE GENERAL
3. Criterios de Estabilidad 85
3.1. Estabilidad externa . . . . . . . . . . . . . . . . . . . . . . . . 85
3.2. Estabilidad interna . . . . . . . . . . . . . . . . . . . . . . . . 86
3.3. El criterio de Lyapunov . . . . . . . . . . . . . . . . . . . . . . 86
3.3.1. Sistemas discretos . . . . . . . . . . . . . . . . . . . . . 88
3.4. Criterio de Routh Hurwitz en sistemas discretos mapeados . . 89
3.5. Criterio de Jury . . . . . . . . . . . . . . . . . . . . . . . . . . 91
3.6. Ejercicios propuestos . . . . . . . . . . . . . . . . . . . . . . . 94
vii
viii ÍNDICE DE FIGURAS
4.1. Salida del sistema en el ejemplo 4.4 para los estados iniciales:
T T T T
(a) 0:5 1 , (b) 1:5 0:5 , (c) 2:5 0 , (d) 1 0:5 . . 102
4.2. Diagrama de bloques de la descomposición de Kalman cuando
el sistema es diagonalizable. . . . . . . . . . . . . . . . . . . . 106
4.3. Modelos idelaizados de perturbaciones simples . . . . . . . . . 109
4.4. Generación del valor de referencia usando un sistema dinámico
con un pulso de entrada. . . . . . . . . . . . . . . . . . . . . . 110
4.5. Controlador discreto con realimentación de la posición y la
velocidad del integrador doble. . . . . . . . . . . . . . . . . . . 114
4.6. Salida del sistema continuo en la …gura 4.5 con Td = 1:5 y con
(a) Kp = 0:5, (b) Kp = 0:75. . . . . . . . . . . . . . . . . . . . 115
4.7. Salida del sistema continuo en la …gura 4.5 con Td = 1:5 y con
(c) Kp = 1, (d) Kp = 1:25. . . . . . . . . . . . . . . . . . . . . 116
4.8. Diagrama de bloques del sistema del ejemplo 4.9. . . . . . . . 118
4.9. Respuesta al escalón del sistema en el ejemplo 4.9 cuando (a)
h = 2, y cuando (b) h = 1:8. . . . . . . . . . . . . . . . . . . . 119
4.10. Control en lazo cerrado del integrador doble discreto. . . . . . 120
4.11. Respuesta al escalón y la señal de control del integrador doble
cuando el controlador (4.16) es usado. . . . . . . . . . . . . . . 122
4.12. Sistema del ejercicio 4.5. . . . . . . . . . . . . . . . . . . . . . 124
5.16. Salida y (a) y señal de control u (b) del control con acción
integral para el ejemplo 5.13. . . . . . . . . . . . . . . . . . . . 175
5.17. Diagrama de bloques de un sistema de realimentación con una
estructura de dos grados de libertad. . . . . . . . . . . . . . . 176
5.18. Un controlador con dos grados de libertad basado en
realimentación de estado y un observador. . . . . . . . . . . . 177
5.19. Diagrama de bloques de un controlador general que combina
seguimiento por modelo con realimentación de los estados
estimados y los estados de la perturbación. . . . . . . . . . . . 179
5.20. Otra representación de la estructura general del controlador
con realimentación de los estados estimados, estado de la
perturbación y seguimiento del modelo. . . . . . . . . . . . . . 182
5.21. Estructura del controlador del ejemplo 5.14. . . . . . . . . . . 183
5.22. Señal de control en lazo directo para el servo. . . . . . . . . . 185
5.23. Control del integrador doble usando el controlador (5.39). (a)
Salida y y salida del modelo ym , (b) señal de control u, (c)
perturbación v y perturbación estimada v^. . . . . . . . . . . . 187
5.24. Brazo de un robot ‡exible . . . . . . . . . . . . . . . . . . . . 188
5.25. Diagrama de cuerpo libre para J1 y J2 . . . . . . . . . . . . . 188
5.26. Grá…ca de bode del proceso de brazo ‡exible del robot. . . . . 189
5.27. Respuesta al impulso del brazo ‡exible del robot. . . . . . . . 189
5.28. Diagrama de bloques que muestra una manera simple de
introducir la señal de referencia de un controlador con
realimentación de estado. . . . . . . . . . . . . . . . . . . . . . 191
5.29. Salida y entrada cuando la señal de referencia r es un escalón
y la perturbación v es un pulso corto. . . . . . . . . . . . . . . 192
5.30. Esquema para el simulink del ejemplo de diseño. . . . . . . . . 194
5.31. Lo mismo que en la …gura 5.29, pero utilizando realimentación
de los estados observados cuando 0 = 2. . . . . . . . . . . . . 195
5.32. Sistema del problema 5.3. . . . . . . . . . . . . . . . . . . . . 196
xiii
xiv Prefacio
Capítulo 1
{y(tk )} {u (tk )} u (t ) y (t )
A/D Algoritmo D/A Proceso
Reloj
Computador
1
2 Introducción al control por computador
Reloj
u (t ) ya (t )
H a (s )
yd (t )
A/D H d (z ) D/A
Reloj
A Y (s)
G (s) = 2
= (1.1)
Js U (s)
1.3 Un método rudimentario para sistemas controlados por computador 5
1 1
0.5 0.5
0 0
0 2 4 6 0 2 4 6
1 1
u(t)
0.5 0.5 y a(t)
y d(t)
0 0
0 2 4 6 0 2 4 6
Tiempo Tiempo
A
Js 2
r (t )
u (t ) y (t )
Controlador Amplificad or Motor + Brazo
Figura 1.5: Sistema para controlar la posición del brazo de una unidad de
disco.
Ejemplo 1.3 Diagrama de bloques del controlador del brazo de una unidad
de disco.
Las ecuaciones (1.1) y (1.2) se pueden representar en un diagrama de bloques
como se muestra en la …gura 1.6.
Controlado r Análogo
r (t ) b u (t ) A y (t )
B +
a − Js 2
B(s + b )
(s + a )
Figura 1.6: Diagrama de bloques del control del brazo de una unidad de disco.
Considere que los valores de las variables (1.3) del sistema 1.4 están dadas
por
1
A = J = 1; ! 0 = 1; a = 2; b = ; B = 2
2
de forma que el sistema (1.4) se puede reescribir como
Y (s) s+1
= (1.5)
R (s) 4 (s + 2s2 + 2s + 1)
3
1.3 Un método rudimentario para sistemas controlados por computador 7
Al evaluar el comportamiento del sistema (1.5) frente a una entrada del tipo
escalón unitario, se nota que este sistema tiene un comportamiento razonable
con un tiempo de asentamiento de 5:52 !0
para una tolerancia del 5 %. Estos
resultados se observan en la …gura 1.7.
1.5
1
salida: y
0.5
0
0 2 4 6 8 10
0.5
senal de control: u
-0.5
0 2 4 6 8 10
Tiempo
Figura 1.7: Simulación del control análogo (línea punteada) y por computador
(línea continua) del brazo de una unidad de disco. El periodo de muestreo es
h = 0:2
!0
.
b a b b
U (s) = BR (s) BY (s) + B Y (s) = B R (s) Y (s) + X (s)
a s+a a
b
u (t) = B r (t) y (t) + x (t) (1.6)
a
dx
= ax + (a b) y (1.7)
dt
8 Introducción al control por computador
dx
Para obtener un algoritmo de control es necesario aproximar la derivada dt
con una diferencia. Es decir
dx x (t + h) x (t)
= ax + (a b) y
dt h
Así, (1.6) y (1.7) se aproximan como
b
u (tk ) = B r (tk ) y (tk ) + x (tk ) (1.8)
a
x (tk + h) = (1 ah) x (tk ) + h (a b) y (tk ) (1.9)
Esta ley de control se debe ejecutar en cada instante de muestreo. Esto se
puede lograr con el siguiente programa en Matlab usando una tarjeta de
adquisición de datos USB de National InstrumentsTM :
%Inicializacion para control en tiempo real
%Crea el objeto de entrada analoga
ai=analoginput(’nidaq’,’Dev1’);
%agrega el canal 0 de entrada
addchannel(ai,0);
%Crea el objeto de salida analoga
ao=analogoutput(’nidaq’,’Dev1’);
%agrega el el canal 0 de salida
addchannel(ao,0);
tiempo_muestreo=0.5; % tiempo en segundos
tiempo_inicial=clock; % tiempo inicial
while(1),
if(etime(clock,tiempo_inicial)>=tiempo_muestreo),
% Algoritmo
tiempo_inicial=clock;
% leer salida del proceso (leer un puerto)
y=getsample(ai);
% calcular senal de control
u=B*(b/a*r-y+x);
% enviar la senal de control (escribir un puerto)
putsample(ao,u);
% calcular el nuevo x
x=(1-a*h)*x+h*(a-b)*y;
end
end
1.3 Un método rudimentario para sistemas controlados por computador 9
Reloj
Algortimo
r (t ) 1 u (t ) 1 y (t )
ZOH +
2 − s2
21z − 19 h = 0.2
12 z − 8
Figura 1.9: Diagrama de bloques del sistema discreto para el ejemplo 1.3.
2 (z 1)
s !
h (z + 1)
K (s + b) 2s + 1 21z 19
= !
s+a s+2 12z 8
Ya que la aproximación de la derivada por una ecuación de diferencia es
buena si el intervalo h es pequeño, se puede esperar que el comportamiento
10 Introducción al control por computador
del sistema controlado por computador esté cercano al sistema análogo. Esto
se ilustra en la …gura 1.7, la cual muestra las posiciones del brazo y las
señales de control para los sistemas con h = 0:2 !0
. Nótese que la señal de
control para el SCC es constante entre los instantes de muestreo. Nótese
además que la diferencia entre las salidas de los sistemas es muy pequeña. El
sistema controlado por computador tiene un sobrepaso ligeramente mayor y
el tiempo de asentamiento (para una tolerancia del 5 %) es un poco mayor, 5:7 !0
en lugar de 5:5
!0
. La diferencia entre los sistemas decrece cuando el periodo de
muestreo decrece. Cuando este aumenta, el SCC, sin embargo, se deteriora.
Esto se ilustra en la …gura 1.10, la cual muestra el comportamiento del sistema
para periodos de muestreo de h = 0:5 !0
y h = 1:08
!0
. La respuesta es razonable
para periodos de muestreo cortos, pero el sistema puede llegar a ser inestable
para periodos de muestreo largos.
(a) (b)
1.5 1.5
1 1
salida: y
0.5 0.5
0 0
0 5 10 0 5 10
0.5 0.5
senal de control: u
0 0
-0.5 -0.5
0 5 10 0 5 10
Tiempo Tiempo
Figura 1.10: Simulación del control del brazo de una unidad de disco con
control por computador.
1.5
salida: y
0.5
0
0 2 4 6 8 10
1
senal de control: u
-1
0 2 4 6 8 10
Tiempo
Figura 1.11: Simulación del control dead beat de la unidad de disco (lineas
continuas). El periodo de muestreo es h = 1:4
!0
. El controlador análogo del
ejemplo 1.2 también se muestra (lineas punteadas).
z −1
K2 + x1
x2 hz
K1 ZOH
Figura 1.12: Diagrama de bloques del controlador dead beat para el ejemplo
1.4.
r (t ) 1 u (t ) 1 y (t ) y (t )+ n(t )
+ +
+
2 − s2
2s + 1
s+2
r (t ) 1 u (t ) 1 y (t ) y (t )+ n(t )
ZOH + +
+
2 − s2
h = 0.5
9z − 7
6z − 2
embargo, se crea una acción de control sustancial con la frecuencia del ruido
en la medida. La alta frecuencia del ruido en la medida no es notoria en la
señal de control para el SCC, 1.15b, pero hay una componente sustancial de
baja frecuencia.
(a) (b)
0.2 0.2
Salida: y
0 0
-0.2 -0.2
0 5 10 15 20 0 5 10 15 20
0.2 0.2
Salida: y+n
0 0
-0.2 -0.2
0 5 10 15 20 0 5 10 15 20
Senal de control: u
0.2 0.2
0 0
-0.2 -0.2
0 5 10 15 20 0 5 10 15 20
Tiempo Tiempo
0 2 4 6 8 10
Senal de control: u
0.2
0.1
0
-0.1
-0.2
0 2 4 6 8 10
Tiempo
2
En el ejemplo particular se tiene ! s = 0:5 = 4 = 12:57 y la frecuencia de la
señal medida es 12 rad-seg. En este caso el muestreo crea una componente
de la señal con frecuencia 0.57 rad-seg, cuyo periodo es 11 segundos. Esta
es la componente de baja frecuencia que es claramente visible en la …gura
1.16. El ejemplo 1.5 muestra que frecuencias bajas pueden ser creadas por
muestreo. De (1.11) se nota que el muestreo también puede dar frecuencias
que son más altas que la de la excitación. Esto se muestra en el ejemplo 1.6.
Ejemplo 1.6 Creación de altas frecuencias por el muestreo.
Considere el diagrama de bloques que se muestra en la …gura 1.17.
La …gura 1.18 muestra lo que sucede cuando una señal sinusoidal de
frecuencia 4.9 Hz es aplicada al sistema en el ejemplo 1.1, el cual tiene un
periodo de muestreo de 0.1 segundos (frecuencia de muestreo de 10 Hz). De
la ecuación (1.11) se sigue que una componente de señal con frecuencia de 5.1
Hz es creada debido al muestreo. Esta señal interactua con la señal original
de 4.9 Hz para generar la correpondiente a la salida yc en la …gura 1.18 de
0.1 Hz ("beating").
16 Introducción al control por computador
u (t ) = sin 2πft 1 yc (t )
s +1
f = 4.9Hz
yd (t )
0.6321
h = 0.1 z − 0.3679
Entrada: u 1
-1
0 2 4 6 8 10
0.5
Salida: y d
-0.5
0 2 4 6 8 10
0.1
Salida: y c
-0.1
0 2 4 6 8 10
Tiempo
h2
y (tk ) 2y (tk 1 ) + y (tk 2 ) = (u (tk 1 ) + u (tk 2 )) (1.12)
2
Nota: la función de transferencia del sistema discretizado es:
h2
2
(z + 1) Y (z)
H (z) = =
z2 2z + 1 U (z)
18 Introducción al control por computador
21
22 Sistemas discretos en el tiempo
Reloj
{u (tk )} u (t ) y (t ) {y(tk )}
D/A Sistema A/D
1 22 1 v v
xh = 1 + at + at + + a t + x0 (2.5)
2! v!
x = a0 + a1 t + a2 t2 + + av tv + (2.11)
a1 + 2a2 t2 + 3a3 t3 + = A a0 + a1 t + a2 t2 +
Por lo tanto:
a1 = Aa0
1 1
a2 = Aa1 = A2 a0
2 2
..
.
1 v
av = A a0
v!
2.2 Muestreo de un sistema análogo en el espacio deseado 25
x1 = eAt1 x0
x2 = eAt2 x0
l m x (t) = Ix0 + I0 = x0
t!0
1, t > 0
u (t) =
0, t < 0
28 Sistemas discretos en el tiempo
At 1 t + 0:5t2 0
e =
t + t2 1 t + 0:5t2
entonces
A 1 + 0:5 2
e Bu ( ) =
1 2 + 1:5 2
Z t
A t 21 t2 + 16 t3
e Bu ( ) d =
0 t t2 + 12 t3
De (2.17) se tiene:
Z t
At A
x (t) = e x0 + e Bu ( ) d
0
Por lo tanto:
1 + t 21 t2 + 16 t3 1 + 2t + t2 +
x (t) = eAt =
1 + t t2 + 12 t3 1 + 3t + 2:5t2 +
Z t0 Z t
)
x (t) = e eAt At0
x (t0 ) At
e e At0
Bu ( ) d + A(t0
e eA(t ) Bu ( ) d
Z 00 Z t 0
t0 )
= eA(t x (t0 ) + eA(t t0 ) eA(t0 ) Bu ( ) d + eA(t ) Bu ( ) d
t0 0
Z 0 Z t
t0 )
= eA(t x (t0 ) + eA(t0 ) Bu ( ) d + eA(t ) Bu ( ) d
t0 0
2.2 Muestreo de un sistema análogo en el espacio deseado 29
Entonces: Z t
A(t t0 ) )
x (t) = e x (t0 ) + eA(t0 Bu ( ) d (2.19)
t0
1 1 1 1 1
x (t) = L fX (s)g = L (sI A) x0 = L (sI A) x0
1 1
eAt = L (sI A) (2.27)
1 0
A=
1 1
Por lo tanto,
" #
1
1 adj (sI A) 1 s 1 0 s 1
0
(sI A) = = 2 = 1 1
det (sI A) (s 1) 1 s 1 (s 1)2 s 1
y de (2.27):
et 0
eAt =
tet et
1
x0 =
1
et
x (t) = eAt x0 =
et (t + 1)
2.2 Muestreo de un sistema análogo en el espacio deseado 31
Sea
n n 1
a( ) = + a1 + + an = 0
la ecuación característica de la matriz A de dimensión n n. Entonces, la
matriz A satisface la siguiente ecuación
a ( ) = A n + a 1 An 1
+ + an I = 0
f (A) ei = f ( i ) ei
X
1
i
f( )= ci
i=0
entonces se tiene
f ( i ) = p ( i ) , i = 1; : : : ; n (2.29)
32 Sistemas discretos en el tiempo
Si los valores propios son distintos, entonces estas condiciones son su…cientes
para determinar los i , i = 1; : : : ; n. Si existe un valor propio con
multiplicidad m, entonces las condiciones adicionales
f (1) ( i ) = p(1) ( i )
..
. (2.30)
(m 1)
f ( i ) = p(m 1) ( i )
Sea
0 1
A=
1 0
y determine
eAh = 0 Ah + 1I
eih = 0 ih + 1
e ih = 0 ih + 1
dando
1 sin (h)
0 = eih e ih =
2ih h
1 ih
1 = e + e ih = cos (h)
2
Finalmente,
en donde
= eAh (2.34)
Z h
= eAs dsB
0
2.4. Cálculo de y
Los cálculos requeridos para muestrear un sistema análogo son: la evaluación
de la exponencial de una matriz y la integración de la exponencial de una
matriz, lo cual puede ser hecho de diferentes maneras. Por ejemplo, usando:
= I +A
= B
Sea
dx
= x + u, 6= 0
dt
De (2.34)
h
= e
Z h
= e s ds = e h
1
0
x (kh + h) = e h x (kh) + e h
1 u (kh)
u (t ) 1 x2 1 y (t ) = x1
s s
Las ecuaciones de estado y de salida del integrador doble (ver …gura 2.2) se
pueden escribir como
0 1 0
x_ = x+ u
0 0 1
y= 1 0 x
Por lo tanto:
A2 h2
= eAh = I + Ah + +
2!
1 0 0 h 1 h
= + =
0 1 0 0 0 1
Z h Z h h2
1 s 0 s
= ds = ds = 2
0 0 1 1 0 1 h
u (t ) 1 x1 1 y (t ) = x2
s +1 s
voltaje velocidad
1 0 1
x_ = x+ u
1 0 0
y= 0 1 x
Utilizando Laplace:
2.5 La inversa del muestreo 37
1
1 s+1 0
(sI A) =
1 s
1 s 0
=
s (s + 1) 1 s + 1
1
s+1
0
= 1 1
s(s+1) s
Entonces:
h
e 0
= eAh = L 1 (sI A) 1 = h
1 e 1
Z h
e v 1 e h
= dv =
0 1 e v h 1+e h
Por lo tanto,
(h) (h) A B
= exp h (2.37)
0 I 0 0
El muestreo de un sistema de…ne un mapeo de un sistema análogo, como
en 2.1, a un sistema discreto, como en (2.33). La pregunta natural es si es
posible obtener el correspondiente sistema análogo de la descripción discreta.
Ejemplo 2.8 Inversa del muestreo.
Considérese la ecuación de diferencia de primer orden:
x (kh + h) = ax (kh) + bu (kh)
Nótese del ejemplo 2.5 que el correspondiente sistema análogo se obtiene de:
h
e =a
h
e 1 =b
38 Sistemas discretos en el tiempo
Entonces
1
= ln (a)
h
b
= ln (a)
h (a 1)
Así se obtiene un sistema análogo con coe…cientes reales, solo con a > 0.
Para investigar el proceso de muestreo en el caso general, nótese de 2.37 que:
A B 1
= ln
0 0 h 0 I
El sistema discreto
0 ! 0
A= ;B =
! 0 !
!2
su función de transferencia con y = x2 es G (s) = s2 +! 2
, en donde
2
!= + n, n = 0; 1; 2; : : :
h
u (t )
u (t − τ )
τ
kh − h kh kh + h kh + 2h
dx
= Ax (t) + Bu (t ) (2.38)
dt
Inicialmente se supone que el retardo es menor o igual al periodo de
muestreo. Se calculará el muestreo del sistema (2.38) con retenedor de orden
cero. Integrando (2.38) sobre un periodo de muestreo:
Z kh+h
Ah s0 )
x (kh + h) = e x (kh) + eA(kh+h Bu (s0 ) ds0 (2.39)
kh
en dos partes tal que u (t ) sea constante en cada parte. Por lo tanto:
Z kh+h Z kh+
A(kh+h s0 ) 0 0 s0 )
e Bu (s ) ds = eA(kh+h Bds0 u (kh h)
kh kh
Z kh+h
s0 )
+ eA(kh+h Bds0 u (kh)
kh+
= 1 u (kh h) + 0 u (kh)
en donde
= eAh (2.41)
Z h
0 = eAs dsB
0
Z
1 = eA(h )
eAs dsB
0
x (kh + h) 1 x (kh)
= + 0 u (kh)
u (kh) 0 0 u (kh h) I
Sea
dx
= x + u (t ), 6= 0
dt
2.7 Retardos mayores 41
det ( I )=0
1 0 1
x (k + 1) = x (k) , x (0) =
1 2 1
44 Sistemas discretos en el tiempo
Z (k + 1) = T x (k + 1) = T x (k) + T u (k)
= T T 1 Z (k) + T u (k)
= ~ Z (k) + ~ u (k)
y:
La ecuación característica
det ( I )=0
Prueba.
det I ~ = det TT 1
T T 1
1
= det T det ( I ) det T
= det ( I )
T = ~T
Se pueden escoger coordenadas tales que den formas simples de las ecuaciones
del sistema.
Z1 (k + 1) = 1 Z1 (k) + 1 u (k)
..
.
Zn (k + 1) = n Zn (k) + n u (k)
y (k) = 1 Z1 (k) + + n Zn (k)
X
k 1
k J 1
Zi (k) = i (k) Zi (0) + i i u (J) (2.45)
J=0
46 Sistemas discretos en el tiempo
se obtiene
~ = 1 0 1
;~ = ;
0 0:3679 0:8970
C~ = 1 0:7071
( jI A) p1 = 0
( jI A) p2 = p2
..
.
( jI A) pm = pm 1
Y = HU + Yp
X
k
y (k) = h (k; m) u (m) + Yp (k)
m=0
h (k; m) = h (k m)
X
k 1
k k0 k J 1
y (k) = C x (k0 ) + C u (J) + Du (k)
J=K0
~ (k) = C~ ~ k 1~ 1 1 k 1
h = CT T T T
= CT 1 T k 1
T 1
T =C k 1
= h (k)
q 1 f (k) = f (k 1)
Es importante para el rango del operador que las secuencias sean doblemente
in…nitas; de otra manera, el inverso del operador de desplazamiento hacia
adelante no podria existir. En discusiones de problemas relacionados a la
ecuación característica de un sistema, tales como estabilidad y orden del
2.17 Operador de desplazamiento 51
Para obtener un álgebra adecuada, es útil poder dividir una ecuación como la
(2.49) por un polinomio en q. Esto permitirá poder resolver 2.49 con respeto
a y (k). Un ejemplo simple muestra que no es posible dividir un polinomio
en q a menos que se hagan suposiciones especiales.
y (k + 1) ay (k) = u (k)
X
k 1
k k0
y (k) = a y0 + ak J 1
u (J) (2.51)
J=k0
kXk0
k k0
= a y0 + ai 1 u (k i)
i=1
y (k) = q 1 1 + aq 1 + a2 q 2
+ u (k) (2.52)
X1
= ai 1 u (k i)
i=1
Es claro que las soluciones en (2.51) y (2.52) son las mismas solo si se supone
que y0 o que k k0 ! 1.
Es posible desarrollar un álgebra de operadores que permita la división por un
polinomio arbitrario q si se supone que hay algún k0 tal que todas las secencias
son cero para k k0 . Esta álgebra permite entonces la multiplicación y
división de ecuaciones por polinomios en q, así como la suma y resta de
ecuaciones . Sin embargo, la suposición implica que todas las condiciones
iniciales para la ecuación de diferencia son cero.
1 B (q)
H (q) = C (qI ) +D = (2.53)
A (q)
Si el vector de estado es de dimensión n y si los polinomios A (q) y B (q) no
tienen factores comunes, entonces el polinomio A es de grado n. Nótese de
(2.53) que A es también el polinomio característico de , lo cual signi…ca que
el modelo entrada - salida se puede expresar como:
0:125 0:375
0 = ; 1 =
0:5 0:5
1 1
1 1
1 q 1 0:125 + 0:375q
H (q) = C (qI ) 0 + 1q = 1 0
0 q 1 0:5 + 0:5q 1
2
0:125 (q + 6q + 1) 0:125 (q + 6q + q 3 )
1 2
H (q) = =
q (q 2 2q + 1) 1 2q 1 + q 2
2.19 Polos y ceros 55
2.21. La transformada Z
Así como la transformada de Laplace puede ser usada para resolver
ecuaciones diferenciales lineales ordinarias, la transformada Z representa un
método operacional para resolver ecuaciones lineales en diferencia y sistemas
lineales con datos digitales o discretos.
u (kh) y (kh)
Sistema de
datos discretos
X
1
T (t) = (t kh)
k=0
X
1
u (t) = u (t) T (t) = u (kh) (t kh) (2.54)
k=0
u (t ) u ∗ (t )
kh
Ejemplo 2.18 Sea la secuencia r (kh) = e , k = 0; 1; 2; : : : en donde
es una constante real.
X
1
kh
r (t) = e (t kh)
k=0
X1 X
1
kh khs ( +s)kh
R (s) = e e = e
k=0 k=0
r (kh) = 1, k = 0; 1; 2; : : :
5. Diferenciación compleja:
dF (z)
Z fkh f (kh)g = hz
dz
6. Teorema del valor inicial:
l m f (kh) = l m F (z)
k!0 z!1
si el límite existe.
7. Teorema del valor …nal: Si (1 z 1 ) F (z) no tiene polos sobre o fuera
del círculo unitario jzj = 1, entonces:
1
l m f (kh) = l m 1 z F (z)
k!1 z!1
60 Sistemas discretos en el tiempo
8. Convolución real:
( k )
X
Z ff gg = Z f (n) g (k n)
n=0
( k )
X
=Z f (n) g (k n)
n=0
= Z ff g Z fgg
en donde f g denota la convolución real entre las funciones f y g.
donde
1 1 z
Z z = s ((k 1) h) , k = 1; 2; : : :
z 1
así mismo, el segundo término de R (z) puede ser identi…cado como un
escalón unitario con retardo de h segundos. Por lo tanto,
(k 1)h
r (kh) = 1 e s ((k 1) h) , k = 1; 2; : : :
h 1 2 h 2 k h k
R (z) = 1 e z + 1 e z + + 1 e z +
Así,
k h
r (kh) = 1 e , k = 0; 1; 2; : : :
62 Sistemas discretos en el tiempo
z=1 z= 0:5
= res (R0 (z)) + res (R0 (z))
z=1 z= 0:5
k
(2z 1) z (2z 1) z k
= +
2 (z + 0:5) z=1 2 (z 1) z= 0:5
k
1 2 1
= +
3 3 2
Por tanto
k
1 2 1
r (kh) = + , k = 0; 1; 2; : : :
3 3 2
1 1 1
r (0) = + +
2 (z 1) (z + 0:5) z=0 2z (z + 0:5) z=1 2z (z 1) z= 0:5
1 2
= 1+ + =0
3 3
y para k > 0:
zk 1 zk 1
r (kh) = +
2 (z + 0:5) z=1 2 (z 1) z= 0:5
Por tanto
k 1
1 1 1
r (kh) = , k = 1; 2; : : :
3 3 2
y en términos del escalón unitario:
" #
k 1
1 1 1
r (kh) = s ((k 1) h)
3 3 2
64 Sistemas discretos en el tiempo
en donde las constantes Rk son los residuos de f (z) en los polos que están
dentro de C.
Una representación grá…ca del teorema del residuo se observa en la …gura
2.8.
{u (kh )} u (t ) y (t ) {y(kh )}
D/A G (s )
H (z )
G (s)
Y (s) =
s
66 Sistemas discretos en el tiempo
Y~ = Z L 1
fY g
H (Z) = 1 z 1
Y~ (z)
1 a 1 1 1 at
y (t) = L =L =1 e
s (s + a) s s+a
Así,
ah
y (kh) = 1 e
Entonces:
z z
Y (z) = ah
zz 1 e
z 1 e ah
Y (z) = ah )
(z 1) (z e
Por lo tanto,
ah
z 1 1 e
H (z) = Y (z) = ah )
z (Z e
x1 (k) = y (k 1) (2.72)
x2 (k) = u (k 1) (2.73)
De (2.71) y (2.72)
De (2.73)
x2 (k + 1) = u (k) (2.75)
Reescribiendo (2.74) y (2.75) en forma matricial,
x1 (k + 1) a a x1 (k) 1
= + u (k) (2.76)
x2 (k + 1) 0 0 x2 (k) 1
y
x1 (k)
y (k) = a a + 1 u (k) (2.77)
x2 (k)
2.25 Cálculo con operadores y transformada Z 69
Nótese que
x2 (0) = u ( 1) = 0
y de (2.74)
y (0)
y (0) = ax1 (0) ; x1 (0) =
a
Es decir,
y(0)
x1 (0)
= a
x2 (0) 0
Como se sabe, utilizando la transformada Z
1 1
Y (z) = C (zI ) zx (0) + C (zI ) + D U (z)
1
1 z+a a 1 z a
(zI ) = =
0 z z (z + a) 0 z + a
1 1 y (0) 1
C (zI ) zx (0) = y (0) = 1
= y (0)
z (z + a) 1 + az 1 ( az 1 )
1
C (zI ) +D = 1
Así,
1 1
y (k) = L 1)
y (0) + U (z)
1 ( aZ
Nótese de la serie geométrica que
X
1
1 X
1
1 k
az = = ( a)k z k
k=0
1 ( az 1 ) k=0
Por lo tanto,
y (k) = ( a)K y (0) + u (k)
Si se utiliza el cálculo con operadores en (2.69)
(q + a) y (k) = (q + a) u (k)
Los polos del sistema son los valores propios de A, los cuales se denotan por
i (A) ; i = 1; : : : ; n. El muestreo de 2.78 con ZOH da el sistema discreto:
La ecuación (2.79) da el mapeo de los polos del sistema continuo a los polos
del sistema discreto. La …gura 2.10 muestra un mapeo del plano complejo s
en el plano z cuando z = esh . Por ejemplo, el semiplano complejo s izquierdo
es mapeado al círculo unitario del plano z. Nótese que varios puntos en el
plano s son mapeados en el mismo punto en el plano z (ver …gura 2.11).
2.26 Polos y ceros 71
Esta es una ilustración del efecto aliasing discutido en el ejemplo 2.8. Para
polos dentro de la franja fundamental o primaria s0 en la …gura 2.11, hay
una relación simple entre los polos continuos y discretos (comparar con el
ejemplo 2.9).
Se puede demostrar que los polos correspondientes del sistema discreto son
dados por la ecuación característica:
z 2 + a1 z + a2 = 0
en donde
p
!0 h 2!
a1 = 2e cos 1 0h
2 !0 h
a2 = e
s = + J!; z = x + jy
2 !s
z = esh ; h = ; !N =
!s 2
z = e h ej!h =) jzj = e h
< 1 (Disco unitario)
! !s = !k2! N
2
= ! k = ! 0 (K entero)
h
2
=) z( + j! 0 ) = e h ejh(! k h )
= e h ejh! e jk2 = e h ejh! = z( + j!)
lo cual justi…ca que cada franja de la …gura 2.12 en el SCI de s sea mapeada
en el disco unitario.
2. Con < 0,
!= !N =
h
por tanto
z = e he j hh
= e he j
= e h ; jzj < 1
Con <0
! = 0 =) z = e h ; jzj < 1
Con >0
! = 0 =) z = e h ; jzj > 1
74 Sistemas discretos en el tiempo
!N < ! < !N
z = e h ej!h
2.26 Polos y ceros 75
entonces
arg z = ! 0 h = constante (línea recta)
1 1
(a)
(b)
0.5 0.5
0 0
0 2 4 6 0 2 4 6
1 1
(d)
(c)
0.5 0.5
0 0
0 2 4 6 0 2 4 6
Tiempo Tiempo
Figura 2.13: Respuesta al escalón del sistema discreto del ejemplo para
diferentes valores de h cuando = 0:5 y ! 0 = 1:83, el cual da un tiempo de
crecimiento Tr = 1: (a) h = 0:125, (b) h = 0:25, (c) h = 0:5, (d) h = 1:0.
Inversa inestable: un sistema discreto tiene una inversa inestable si tiene ceros
fuera del disco unitario.
Un sistema continuo con una inversa estable podría llegar ser un sistema
discreto con una inversa inestable cuando es muestreado. Además, un sistema
continuo de fase no mínima no siempre llega a ser un sistema discreto con
una inversa estable.
en donde ! 0 está en radianes por segundo. Las …guras 2.13 y 2.15 muestran
la selección del intervalo de muestreo para diferentes señales. Entonces es
razonable escogerlo de modo que
Tr
Nr = 4 a 10
h
0 1 0
a. x_ = x+ u, y = 1 0 x
1 0 1
d2 y
b. dt2
+ 3 dy
dt
+ 2y = du
dt
+ 3u
d3 y
c. dt3
=u
0:5 1 0:5
b. x (kh + h) = x (kh)+ u (kh), y (kh) = 1 1 x (kh)
0 0:3 0:7
80 Sistemas discretos en el tiempo
1 1
(a)
0 0.5
-1
0
0 2 4 6 8 0 2 4 6 8
1 1
(b)
0 0.5
-1
0
0 2 4 6 8 0 2 4 6 8
1 1
(c)
0 0.5
-1
0
0 2 4 6 8 0 2 4 6 8
1 1
(d)
0 0.5
-1
0
0 2 4 6 8 0 2 4 6 8
Tiempo Tiempo
a. h = 2
b. h = 4
y
A q +1 y (k) = B q 1
u (k d)
¿Qué son d y el orden del sistema?
y (k) = y (k 1) + y (k 2) , k = 2; 3; : : :
usando y (0) = y (1) = 1. (Los número y (k) son los números de Fibonnacci).
Ejercicio 2.16 Determinar los polos y los ceros (con multiplicidad) del
sistema
dx 1 0 1
= x (t) + u (t 0:2)
dt 1 1 0
Criterios de Estabilidad
Se supone que el lector tiene alguna idea sobre estabilidad para sistemas
lineales e invariantes con el tiempo, por lo menos al punto de saber que la
estabilidad de un sistema está asociada con la ubicación en el plano complejo
Z (frecuencia compleja) de las raices de la ecuación característica: el sistema
es estable si todas las raices están dentro del círculo unitario. Sin embargo,
por conveniencia y para complementar, se presentarán algunos aspectos del
problema de estabilidad y algunos criterios para determinarla en sistemas
discretos.
Se de…nirá primero la estabilidad externa o estabilidad entrada acotada
- salida acotada (BIBO: bouded input bouded output) para un sistema
lineal invariante con el tiempo. Luego se de…nirá la estabilidad interna
de una realización con el requerimiento de que todas las raices de la
ecuación característica estén dentro del círculo unitario. Se notará que
estabilidad interna podría no ser equivalente a estabilidad interna, excepto
para realizaciones mínimas. Se tratará brevemente el método de Lyapunov
para investigar la estabilidad, el cual sirve para obtener un criterio analítico
para la estabilidad interna de sistemas lineales e invariantes con el tiempo.
Y …nalmente, se analizará el criterio de Jury el cual es un criterio algebraico
para determinar la estabilidad de sistemas discretos.
85
86 Criterios de Estabilidad
j i ( )j < 1 (3.2)
AT [P1 P2 ] + [P1 P2 ] A + Q = 0
Por lo tanto:
T Tt
0 = eA t AT [P1 P2 ] + [P1 P2 ] A eA
d AT t T
= e fP1 P2 g eA t
dt
y
T Tt
eA t fP1 P2 g eA : matriz con valores constantes para todo t.
En particular, si t = 0 y t = tf se tiene:
Tt Tt
P1 P2 = eA f
fP1 P2 g eA f
P1 P2 = 0, entonces P1 = P2 .
1+s
Con z = 1 s
entonces
3 2
1+s 1+s 1+s 1+s
a = + 5:94 + 7:7 0:368 = 0
1 s 1 s 1 s 1 s
= 3:128s3 2
11:744s + 2:344s + 14:272
a0 a1 an 1 an
an
an an 1 a1 a0 n = a0
an0 1 ann1
2 ann 11
n 1
an
ann 11 n 1
a1 an0 1
n 1 = 1
n 1
a0
..
.
a00
Cuadro 3.1: Tabla para el criterio de Jury
a (z) = z 2 + a1 z + a2 (3.14)
Se construye la tabla
3.5 Criterio de Jury 93
1 a1 a2
a2
a2 a1 1 2 = 1
1 a22 a1 (1 a2 )
a1 (1 a2 ) a1
a1 (1 a2 ) 1 a22 1 = 1 a22
= 1+a2
a21 (1 a2 )
1 a22 1+a2
Entonces, todas las raices de (3.14) están dentro del círculo unitario si:
1 a21 > 0
a21 (1 a2 ) 1 a2
1 a22 = (1 + a2 )2 a21 > 0
1 + a2 1 + a2
lo cual da:
a2 < 1
a2 > 1 + a1
a2 > 1 a1
Figura 3.2: Área de estabilidad para la ecuación de segundo orden 3.14 como
una función de los coe…cientes a1 y a2 .
94 Criterios de Estabilidad
1. z 2 1:5z + 0:9 = 0
2. z 3 3z 2 + 2z 0:5 = 0
3. z 3 2z 2 + 2z 0:5 = 0
Controlabilidad,
Alcanzabilidad, Observabilidad
y Detectabilidad
95
96 Controlabilidad, Alcanzabilidad, Observabilidad y Detectabilidad
en donde
2 n 1
WC = n nm
T
U = u (n 1) u (n) mn 1
El sistema
x (k + 1) = x (k) + u (k)
en donde
0 0 1
= ; =
1 0 0
es alcanzable ya que
1 0
WC = =
0 1
T
tiene rango total. Supóngase que es cambiada por = 0 1 , entonces
0 0
WC =
1 0
Dado el sistema
1 1 1 2
x (k + 1) = x (k) + u (k) ; x (0) =
0:25 0 0:5 2
T
será posible encontrar una secuencia de control tal que x (2) = 0:5 1 ?
De (4.2):
x (2) = 2 x (0) + u (0) + u (1)
lo cual da la condición:
su inversa es: 2 3
1 a1 a2
WC 1 = 40 1 a1 5
0 0 1
Generalizando 2 3
1 a1 a2 an 1
6 ... .. 7
60 1 a1 . 7
6 .. 7
WC 1
=6
6 0 1 . a2 7 7
6. ... ... 7
4 .. a1 5
0 0 1
Considere el sistema
1:1 0:3
x (k + 1) = x (k)
1 0
y (k) = 1 0:5 x (k)
102 Controlabilidad, Alcanzabilidad, Observabilidad y Detectabilidad
La matriz observable es
C 1 0:5
WO = =
C 0:6 0:3
2 2
(a)
(b)
1 1
0 0
0 5 10 0 5 10
2 2
(d)
(c)
1 1
0 0
0 5 10 0 5 10
Tiempo Tiempo
Figura 4.1: Salida del sistema en el ejemplo 4.4 para los estados iniciales: (a)
T T T T
0:5 1 , (b) 1:5 0:5 , (c) 2:5 0 , (d) 1 0:5 .
~ 1 WO
T =W O
su inversa es: 2 3
1 0 0
WO 1 = 4a1 1 05
a2 a1 1
104 Controlabilidad, Alcanzabilidad, Observabilidad y Detectabilidad
Generalizando 2 3
1 0 0
6 .. 7
6 a1 1 0 .7
6 .. 7
WO 1
=6
6 a2 a1 1 . 7 7
6 . .. .. .. 7
4 .. . . . 05
an 1 a2 a1 1
a1 1 b
x (k + 1) = x (k) + 1 u (k)
a2 0 b2
y (k) = 1 0 x (k)
1
q + a1 1 b1
H (q) = 1 0
a2 q b2
1 q 1 b1
= 1 0
q2
+ a1 q + a2 a2 q + a1 b 2
b1 q + b2 b1 q + b2 q 2
1
= 2 =
q + a1 q + a2 1 + a1 q 1 + a2 q 2
1
H (q) = C1 (qI ) 1
S or Σ
u (t ) y (t )
S or S or
So r
y
det WO = sin (!h)
Tanto la observabilidad como la alcanzabilidad se pierden para !h = n ,
aunque el sistema continuo correspondiente sea controlable y observable.
El ejemplo muestra una manera obvia de perder observabilidad y/o
alcanzabilidad. Si el periodo de muestreo es la mitad del periodo (o un
múltiplo) de la frecuencia natural del sistema, entonces esta fecuencia no
será vista en la salida.
Las reglas dadas en el capítulo 2 para la escogencia del periodo de muestreo
son tales que esta situación no debe ocurrir. Las reglas implican alrededor de
20 muestras por periodo, no 2.
La observabilidad y/o alcanzabilidad se pierden cuando el operador de
transferencia al pulso tiene polos y ceros comunes. Los polos y ceros son
funciones del intervalo de muestreo. Esto implica que habrá factores comunes
solo para valores aislados del periodo de muestreo.
Un cambio del periodo de muestreo hará que el sistema sea observable y/o
alcanzable de nuevo.
4.9. Perturbaciones
Se acostumbra a distinguir los diferentes tipos de perturbaciones:
perturbaciones de carga, errores en la medida, errores en la medida y
variaciones paramétricas.
δK r e y
H r (q ) + H (q )
−
4.12. Simulación
La simulación es una buena manera de investigar el comportamiento de
sistemas dinámicos, por ejemplo, el comportamiento entre muestras de
SCC. La simulación es una buena herramienta, pero debe tenerse en
cuenta que la simulación y el análisis deben tenerse juntos. Cuando se
hacen simulaciones, no siempre es posible investigar todas las posibles
combinaciones desfavorables, por ejemplo desde el punto de vista de
la estabilidad , observabilidad o alcanzabilidad. Estos casos se pueden
determinar mediante el análisis.
Es importante que el programa de simulación sea simple de usar , de
modo que la persona fundamentalmente interesada en los resultados, se
pueda involucrar en la simulación y en la evaluación de los resultados de
la simulación.
Desde el principio de los 60, varios paquetes de simulación digital fueron
desarrollados. Básicamente, eran implementaciones digitales de la simulación
análoga. La programación se hacía usando diagramas de bloques. Programas
posteriores se desarrollaron en los que los modelos se daban directamente
como ecuaciones.
Es importante tener una buena comunicación máquina - usuario para las
simulaciones; el usuario debe tener la posibilidad para cambiar parámetros y
modi…car el modelo fácilmente. La mayoría de los programas de simulación
son interactivos, lo cual signi…ca que el usuario interactua con el computador
y decide el próximo pasado, basado en los resultados obtenidos hasta el
momento. Una manera de implementar la interacción es permitir que el
computador le pida al usuario seleccionar de respuestas prede…nidas; la cual
se conoce como interacción manejada por menus. Otra posibilidad es la
interacción manejada por comandos, la cual es como un lenguaje que resuelve
problemas a alto nivel, y en la cual el usuario puede escoger libremente
de todos los comandos disponibles en el sistema. Esta es una manera más
‡exible de comunicarse con el computador y es muy e…ciente para el usuario
experimentado, mientras que el programa manejado por menus es más fácil
de usar para el usuario poco experimentado.
Es importante también, en un paquete de simulación, tener manera ‡exible
de presentar los resultados, los cuales son a menudo curvas. Finalmente, para
poder resolver el tipo de problemas de interés en este curso, es importante
poder combinar sistemas continuos y discretos.
Ejemplos de paquetes de simulación son: Matlab con el Simulink, Matrix,
4.13 Control del integrador doble 113
Simmon, CC. Es importante que el lector use simulación para lograr una
buena comprensión del comportamiento de los SCC que son descritos en este
curso.
1 + 0:5Kp < 1
1 + 0:5Kp > 1 + 0:5Kp 2
1 + 0:5Kp > 1 0:5Kp + 2
r
u 1 1 x1 = y
A/D Computador D/A s s
y (k + 1) y (k) = u (k)
o
1
y (k) = u (k) (4.14)
q 1
Las ecuaciones (4.11), (4.13) y (4.14) dan el sistema en lazo cerrado:
0:5Kp (q + 1)
y (k) = r (k) (4.15)
(q 1) (q 1 + Td Kp ) + 0:5Kp (q + 1)
El sistema es de segundo orden y hay dos parámetros de diseño, Kp y Td que
pueden ser usados para seleccionar los polos en lazo cerrado.
La ecuación característica en lazo cerrado es
q 2 + ( 2 + Td Kp + 0:5Kp ) q + 1 Td Kp + 0:5Kp = 0
1 Td Kp + 0:5Kp < 1
1 Td Kp + 0:5Kp > 1 + ( 2 + Td Kp + 0:5Kp )
1 Td Kp + 0:5Kp > 1 (2 + Td Kp + 0:5Kp )
1 1
0.5 0.5
0 0
0 5 10 0 5 10
1 1
Senal de control: u
0.5 0.5
0 0
-0.5 -0.5
0 5 10 0 5 10
Tiempo Tiempo
Figura 4.6: Salida del sistema continuo en la …gura 4.5 con Td = 1:5 y con
(a) Kp = 0:5, (b) Kp = 0:75.
(c) (d)
1.5 1.5
Salida: y
1 1
0.5 0.5
0 0
0 5 10 0 5 10
2 2
Senal de control: u
0 0
-2 -2
0 5 10 0 5 10
Tiempo Tiempo
Figura 4.7: Salida del sistema continuo en la …gura 4.5 con Td = 1:5 y con
(c) Kp = 1, (d) Kp = 1:25.
podría entonces ser el tamaño del error entre la señal original y la señal
reconstruida. En aplicaciones de procesamiento de señal se puede justi…car
tener velocidades de muestreo de varias cientos de muestras por periodo.
Una selección racional de la velocidad de muestreo en un sistema de control en
lazo cerrado debe basarse en la comprensión de su in‡uencia en el desarrollo
del sistema de control. Parece razonable que la frecuencia más alta de interés
debe estar cercanamente relacionada al ancho de banda del sistema en lazo
cerrado. La selección de las velocidades de muestreo se puede basar entonces
en el ancho de banda o, equivalentemente, en el tiempo de crecimiento
del sistema en lazo cerrado. Velocidades de muestreo razonables son de
10 a 30 veces el ancho de banda, o de 4 a 10 por tiempo de crecimeinto,
las cuales podrían parecer lentas en relación a los problemas típicos de
procesamiento de señal. Comparativamente, velocidades de muestreo bajas se
pueden usar en problemas de control ya que la dinámica de muchos sistemas
a ser controlados son de caracter pasabajo y sus constantes de tiempo
son típicamente mayores que las respuestas temporales en lazo cerrado. La
contribución a la salida de un periodo de muestreo depende entonces del área
del pulso; es comparativamente insensitiva a la forma del pulso.
4.15 Oscilaciones escondidas 117
y1
G1 (s )
u y
+
+
G2 (s )
y2
1 X1 (s)
G1 (s) = =
s+1 U (s)
entonces
x_ 1 = x1 + u; y1 = x1
x1 (k2 + 2) = e 2 x (k + 2) + 1 e 2
u (k2)
por tanto
2 1 2 (1 e 2)
H1 (q) = q e 1 e =
(q e 2)
Para G2 (s):
X2 (s) 1
= ; ) x_ 2 = 0:02x2 x3 + u
U (s) X3 (s) s + 0:02
X3 (s) 1
= ; ) x_ 3 = x2 0:02x3
X2 (s) s + 0:02
T
y2 = x3 ; x x2 x3
0:02 1
x_ = x+ u; y2 = 0 1 x
0:02 0
1
1 s + 0:02
(sI A) =
s + 0:02
1 s + 0:02
=
(s + 0:02)2 + 2 s + 0:02
4.15 Oscilaciones escondidas 119
entonces
0:02t
e cos t e 0:02t sin t
eAt = 0:02t
e sin t e 0:02t cos t
con h = 2
0:04
e 0
= eAh =
0 e 0:04
Por lo tanto, la FT al pulso de todo el sistema es:
2
1 e 0:0125
H (q) = H1 (q) + H2 (q) = 2
+
q e q e 0:04
1 a 0:0125
H (z) = +
z a z
2 0:04
en donde a = e , y = e .
La parte oscilatoria del sistema continuo tiene la frecuencia y
amortiguamiento 0:02. La frecuencia de muestreo es , lo cual implica que la
oscilación es muestreada solo una vez por periodo.
(a)
2
Salida: y
0
0 5 10 15 20 25 30 35 40
(b)
2
Salida: y
0
0 5 10 15 20 25 30 35 40
Tiempo
Figura 4.9: Respuesta al escalón del sistema en el ejemplo 4.9 cuando (a)
h = 2, y cuando (b) h = 1:8.
r (K ) u (K ) y (K )
H1 (q ) + H (q )
−
H 2 (q )
1.5
Senal de slaida: y
1
0.5
0
0 2 4 6 8 10
5
Senal de control: u
-5
0 2 4 6 8 10
Tiempo
y (k) = r (k 1)
1 0 1
x (k + 1) = x (k) + u (k)
1 1 0
y (k) = 0 1 x (k)
0:5 0:5 6
x (k + 1) = x (k) + u (k)
0 0:25 4
y (k) = 2 4 x (k)
a. Observable
b. Alcanzable
1 0 1 1
x (k + 1) = x (k) + u (k)
0 0:5 1 0
1 0
Suponga una entrada escalar u0 (k) tal que u (k) = u (k). Es el sistema
1
alcanzable desde u0 (k)?
124 Controlabilidad, Alcanzabilidad, Observabilidad y Detectabilidad
a. Determinar una secuencia de control tal que el sistema sea llevado del
estado inicial x (0)T = 1 1 1 al origen.
uc y
+ H c (q ) H (q )
−
a. Un control proporcional.
b. Un control integral.
4.16 Ejercicios propuestos 125
s+1
G (s) =
s2 + 0:2s + 1
y determinar los intervalos de muestreo para que la respuesta del sistema
tenga oscilaciones escondidas. Veri…que con simulación.
1 2 3
x (k + 1) = x (k) + u (k)
1 2 4
y (k) = 5 6 x (k)
Determinar si:
a. El sistema es alcanzable.
b. El sistema es controlable.
126 Controlabilidad, Alcanzabilidad, Observabilidad y Detectabilidad
es controlado por:
u (k) = Ky (k)
127
128 Diseño por reubicación de polos por el método de espacio de estado
Parámetros de diseño
Esta suposición se reconsiderará más tarde, cuando se supondrá que solo las
salidas son disponibles para el control. Para sistemas discretos es también de
interés considerar el caso cuando hay retardos en las medidas.
Parámetros de diseño. En la especi…cacón formal del problema, los
parámetros de diseño son el periodo de muestreo y los polos en lazo
cerrado deseados. Es raro que el usuario de un sistema de control pueda
dar especi…caciones en términos de esos parámetros. Por eso, el diseñador
debe poder relacionar los parámetros de diseño a cantidades que son más
signi…cativas para el usuario. Con este …n, a mennudo es útil considerar el
comportamiento en el tiempo de las variables de estado y las de control. Es
particularmente útil discutir el compromiso entre la magnitud de las señales
de control y la velocidad a la que el sistema se recupera de una perturbación.
u= l1 x1 l2 x2
Los coe…cientes del polinomio característico que determina los polos en lazo
cerrado aparecen explicitamente en esta representación. También es fácil ver
como se modi…ca el polinomio característico para realimentación de estado.
Si se utiliza la ley de realimentación
u= ~z =
L~ (p1 a1 ) (p2 a2 ) (pn an ) z~ (5.7)
con (5.6) y (5.7) en (5.5) se obtiene el sistema en lazo cerrado, cuyo polinomio
característico es:
z n + p1 z n 1 + + pn (5.8)
Para encontrar la solución al problema original, simplemente se debe expresar
en las coordenadas originales. Esto da:
u= ~ =
Lz ~ x=
LT Lx (5.9)
Considérese el sistema (5.2). Supóngase que hay solo una señal de entrada.
Si el sistema es alcanzable, entonces hay una realimentación lineal que
da un sistema en lazo cerrado con el polinomio característico P (z). La
realimentación es dada por:
u (K) = Lz
con
entonces
n n 1 n 2
= a1 a2 an I
Con la matriz de transformación T para obtener el sistema (5.5):
~ =T T 1
, ó, =T 1~
T
y con
K
1~ 1~ 1~ 1~ 1 ~K
T T = T T T T T T =T T
se tiene:
1 ~n 1 ~n 1
T T = a1 T T a2 T 1 ~ n 2 T an T 1
T
= T 1
a1 ~ n 1
a2 ~ n 2 an I T
de donde:
~n = a1 ~ n 1
a2 ~ n 2
an I
5.3 El caso general 135
y reemplazando en
P ~ = ~ n + p1 ~ n 1
+ p2 ~ n 2
+ + pn I
P ~ = (p1 a1 ) ~ n 1
+ (p2 a2 ) ~ n 2
+ + (pn an ) I
ei ~ = ei 1 ; i = 2; 3; : : : ; n
en I = en
en ~ = en 1
en ~ 2 = en 2
..
.
n ~n 1
e = e
Entonces
Así
~ = en P T T
L = LT 1
T = en T P ( )
~ C W 1P ( )
L = en W C
L = en WC 1 P ( )
Notas:
136 Diseño por reubicación de polos por el método de espacio de estado
Considérese la planta con el integrador doble del ejemplo 5.1. Supóngase que
el polinomio característico es dado por
P (z) = z 2 + p1 z + p2
Entonces:
h2 3h2 1 1:5
WC = = 2 2 , y, WC 1 = 1
h2 h
0:5
h h h2 h
2 1 + p1 + p2 2h + p1 h
P( )= + p1 + p2 =
0 1 + p1 + p2
L = 0 1 WC 1 P ( ) = 1
h2
0:5
h
P( )
1+p1 +p2 3+p1 p2
= h2 2h
El sistema
0:5 1 1
x (k + 1) = x (k) + u (k)
0 0:3 0
no es alcanzable ya que
1 0:5
det WC = det =0
0 0
La ley de control
u= l1 x1 l2 x2
da un sistema en lazo cerrado con la ecuación característica:
(z 0:5 + l1 ) (z 0:3) = 0
s2 + 2 !s + ! 2
138 Diseño por reubicación de polos por el método de espacio de estado
se tiene que
p
!h 2
p1 = 2e cos !h 1
y
2 !h
p2 = e
en donde es el amortiguamiento y ! la frecuencia natural (ver ejemplo 2.17).
afecta el amortiguamiento relativo de la respuesta y ! afecta la velocidad
de respuesta. Para discutir la magnitud de la señal de control se supone que
el sistema tiene una posición incial x0 y una velocidad inicial v0 . El valor
inicial de la señal de control es entonces:
u (0) = l1 x0 l2 v0
(a) (b)
2
ω=0.5 0
ω=1
1 ω=2 -2
u
y
-4
0
0 5 10 15 0 5 10 15
(c) (d)
0 0
-2 -2
u
u
-4 -4
0 5 10 15 0 5 10 15
Tiempo Tiempo
Figura 5.2: Respuestas del sistema en lazo cerrado del ejemplo 5.4. La
T
condición incial es x0 = 1 1 , y los valores de los parámetros son !h = 0:44
y = 0:707. Las salidas para ! = 0:5, ! = 1, ! = 2, se muestran en
(a), y las correspondientes señales de control se muestran en (b), (c) y (d)
respectivamente.
(a) (b)
2
N=5 0
1 N=10
N=20
u
y
-1
0
-2
0 5 10 0 5 10
(c) (d)
0 0
u
u
-1 -1
-2 -2
0 5 10 0 5 10
Tiempo Tiempo
Figura 5.3: Respuestas del sistema en lazo cerrado del ejemplo 5.4. La
T
condición incial es x0 = 1 1 , y los valores de los parámetros son ! = 1
y = 0:707. Las salidas para N = 5, N = 10, N = 20, se muestran en
(a), y las correspondientes señales de control se muestran en (b), (c) y (d)
respectivamente.
(a) (b)
4 2
N=5
2 N=10
N=20 0
u
y
0
-2
-2
0 5 10 15 0 5 10
(c) (d)
2 2
0 0
u
-2 u -2
0 5 10 0 5 10
Tiempo Tiempo
Figura 5.4: Respuestas del sistema en lazo cerrado del ejemplo 5.4. La
T
condición incial es x0 = 1 1 , y los valores de los parámetros son ! = 1
y = 0:707. Las salidas para N = 5, N = 10, N = 20, se muestran en
(a), y las correspondientes señales de control se muestran en (b), (c) y (d)
respectivamente. La perturbación ocurre inmediatamente después del primer
muestreo. Nótese la signi…cativa diferencia con la …gura 5.3.
P (z) = z n
Del teorema de Cayley Hamilton se deduce que la matriz del sistema en lazo
cerrado es
C = L
satisface
n
C =0
Esta estrategia tiene la propiedad de que conducirá todos los estados a cero
a lo sumo en n pasos después de una perturbación impulso en el estado del
proceso. La estrategia de control es llamada dead beat. Compárese con el
ejemplo 1.4 del capítulo 1.
De la fórmula de Ackermann, ecuación (5.14), se sigue que la estrategia dead
beat es dada por
L= 0 0 1 WC 1 n (5.18)
Puesto que
1 1
P Qn = P 1
QQ : : : Q = Q 1 P QQ : : : Q
| {z } | {z }
n n 1
n 1
= Q P
u= l1 x1 l2 x2
con
1 3
l1 = 2
; l2 =
h 2h
Si el proceso tiene el estado inicial
T
x0 = x0 v0
entonces
x0 3v0 x0 v0
u (0) = 2
; u (h) = 2 +
h 2h h 2h
Nótese que la magnitud de la señal de control se incrementa rápidamente con
la disminución del tiempo de muestreo, esto se muestra en la tabla 5.1.
Nótese también que para h pequeño, las señales de control u (0) y u (h) tienen
signos opuestos y aproximadamente igual magnitud. Así, el efecto deseado
se obtiene como resultado de restar dos números grandes. Esto se muestra
en la tabla 4.1 que da las señales de control para x0 = 1, v0 = 1. Por eso, se
puede esperar que la estrategia dead beat sea bastante sensitiva para periodo
de muestreo pequeños. Las señales de salida y de control se muestran en la
…gura 5.5. En este caso el primer muestreo es t = 0+ . Así, la perturbación
ocurre inmediatamente antes del muestreo.
(a) (b)
2
5
h=2
1 h=1
0
h=0.5
u
y
0
-5
-1
0 5 10 0 5 10
(c) (d)
5 5
0 0
u
u
-5 -5
0 5 10 0 5 10
Tiempo Tiempo
Figura 5.5: Respuestas del sistema en lazo cerrado del ejemplo 5.5 para un
T
controlador dead beat. La condición incial es x0 = 1 1 , y los valores de
los parámetros son ! = 1 y = 0:707. Las salidas para h = 2, h = 1, h = 0:5,
se muestran en (a), y las correspondientes señales de control se muestran en
(b), (c) y (d) respectivamente.
A! = 0
5.6 Perturbaciones más generales 145
0 !0
A! =
!0 0
x
z=
!
x (k + 1) x! x (k)
= + u (k)
! (k + 1) 0 ! ! (k) 0
5.8. Observadores
Es poco realístico suponer que todos los estados de un sistema pueden ser
medidos, particularmente si las perturbaciones son parte del estado, como
en la ecuación (5.20). Por esto es importante determinar los estados de un
sistema de medidas disponibles y de un modelo. Se supone que el sistema es
descrito por el modelo muestreado:
y (k n + 1) = Cx (k n + 1) (5.24)
y (k n + 2) = Cx (k n + 2) = C x (k n + 1) + C u (k n + 1)
..
.
y (k) = C n 1 x (k n + 1) + C n 2
x (k n + 1) +
+ C u (k 1)
Es decir:
x (k) = Ay Yk + Bu Uk 1 (5.25)
en donde
n 1
Ay = W0 1 ; Bu = n 2 n 3 n 1
W0 1 Wu (5.26)
Así, el vector de estado x (k) es una combinación lineal de
y (k) ; y (k 1) ; : : : ; y (k n + 1) ; u (k 1) ; u (k 2) ; : : : ; u (k n + 1).
Esto se ilustra con un ejemplo.
Ejemplo 5.7 El integrador doble.
Para el integrador doble se tiene:
h2
1 h
= ; = 2 ;C = 1 0
0 1 h
Es decir,
h2
x1 (k + 1) = x1 (k) + hx2 (k) + u (k)
2
x2 (k + 1) = x2 (k) + hu (k) (5.27)
y (k) = x1 (k) (5.28)
Entonces
h2
y (k) = x1 (k) = x1 (k 1) + hx2 (k 1) + u (k 1)
2
h2
= y (k 1) + hx2 (k 1) + u (k 1) (5.29)
2
de (5.27):
x2 (k 1) = x2 (k) hu (k 1) (5.30)
con (5.30) en (5.29)
h2
y (k) = y (k 1) + h (x2 (k) hu (k 1)) +
u (k 1) (5.31)
2
Resolviendo las ecuaciones (5.28) y (5.31) con respecto a x1 (k) y x2 (k) se
tiene
x1 (k) = y (k)
y (k) y (k 1) h
x2 (k) = + u (k 1)
h 2
150 Diseño por reubicación de polos por el método de espacio de estado
u (k ) x(k + 1) x(k ) y (k )
Γ ++ q −1 C
xˆ(k )
o:
T
K = P ( ) WO 1 0 0 1 (5.36)
El polinomio característico de KC es entonces P (Z). La dualidad con
el problema de reubicación de polos también implica que K es especialmente
simple para determinar, si el sistema está en forma observable.
Nótese sin embargo que la fórmula de Ackermann no es numéricamente
bien condicionada. el procedimiento ”place” del Matlab se basa en mejores
métodos numéricos. Este procedimiento también dará la ganancia del
observador para sistemas con muchas medidas.
5.8 Observadores 153
1 h K1 1 K1 h
KC = 1 0 =
0 1 K2 K2 1
Así, la ecuación característica es:
z2 (2 K1 ) z + 1 K1 + K2 h = 0
z 2 + p1 z + p2 = 0
2 K1 = p1
1 K1 + K2 h = p 2
K1 = 2 + p 1
1 + p1 + p2
K2 =
h
El observador dead beat se obtiene con p1 = p2 = 0. Así,
1
K1 = 2; K2 =
h
154 Diseño por reubicación de polos por el método de espacio de estado
Por tanto
x~ (kjk) = ( KC ) x~ (k 1jk 1)
Esta ecuación es similar a (5.35), y de la de…nición de la matriz observable WO
se determina que el par ( ; C ) es observable si el par ( ; C) es observable.
Esto implica que a KC se le pueden asignar valores arbitrario propios
seleccionando K.
Además
T K1 0
K = K1 K2 ; C = 1 0 ; KC = ;
K2 0
h2
1 h 1 K1 0
= ; = 2 ;I KC =
0 0 h K2 1
1 K1 h (1 K1 )
x^ (kjk) = x^ (k 1jk 1)
K2 (1 hK2 )
2
(1 K1 ) h2 K1
+ u (k 1) + y (k)
h 1 hK2
2 K2
I CK = 1 K1
u (k) = L^
x (kjk 1) (5.39)
xˆ u (t ) y (t )
−L Proceso
Observador
x (k + 1) = ( L) x (k) + L~
x (kjk 1) (5.41)
x (k + 1jk) = ( KC) x~ (kjk 1)
Nótese que los valores propios del sistema en lazo cerrado se obtienen de
Es decir, los valores propios del sistema en lazo cerrado son los valores propios
de las matrices Ly KC. Nótese que los valores propios L
son los polos deseados en lazo cerrado, obtenidos resolviendo el problema
de reubicación de polos, y los valores propios de KC son los polos del
observador dado en la sección anterior.
Esta solución al problema de reubicación de polos tiene muchas simetrías
bonitas. La solución a la realimentación del estado y el observador son
problemas duales. El mismo algoritmo numérico se puede usar para encontrar
la ganancia de realimentación L y la ganancia del observador K. Es atractivo
también que la solución del problema completo se puede separar en dos
problemas más pequeños. La separación del problema es muy útil. Esto
justi…ca también que los polos del sistema en lazo cerrado sean separados
en dos grupos, uno es asociado con la realimentación del estado y el otro con
el observador.
Nótese que el observador contiene un modelo del proceso internamente. Este
es un caso especial del principio del modelo interno, el cual dice que un
buen controlador contiene un modelo del sistema controlado. El controlador
también puede ser visto como una caja negra que genera la señal de control
de la salida del proceso. Con (5.39) en (5.40):
y de (5.39)
U (z) = ^ (z) =
LX L (zI + L + KC) 1
KY (z)
Por lo tanto, el controlador descrito por (5.39) y (5.40) puede ser representado
por la función de transferencia de orden n desde la salida medida y y la señal
de control u:
HC (z) = L (zI + L + KC) 1 K (5.42)
5.8 Observadores 159
2 x1 2 x2
^x 1 ^x 2
1 1
(a)
0 0
0 5 10 0 5 10
2 x1 2 x2
^x 1 ^x 2
1 1
(b)
0 0
0 5 10 0 5 10
Tiempo Tiempo
Figura 5.8: Control del integrador doble usando estados estimados. Los
estados y los estados estimados se muestran para: (a) un observador de
segundo orden, (b) un observador dead beat.
5.8.7. Extensiones
El problema discutido se puede entender en varias direcciones. El controlador
dado por la ecuación (5.39) tiene un retardo de tiempo de un periodo de
muestreo. La razón de esto es que la realimentación se basa en un observador
160 Diseño por reubicación de polos por el método de espacio de estado
! (k + 1) = 0 ! (k) + 0 y (k)
u (k) = C0 ! (k) + D0 y (k)
en donde
0 = (I KC) ( L) ; 0 = (I KC) ( L) K
C0 = L; D0 = LK
2 3 2 3
2:8 5:6 8 3
x_ = 4 1 0 0 5 x + 405 u (5.44)
0 1 0 0
4
y = 0 0 3
x
ai=analoginput(’nidaq’,’Dev1’);
addchannel(ai,0);
ao=analogoutput(’nidaq’,’Dev1’);
addchannel(ao,0);
tiempo_muestreo=0.25; % segundos
K=acker(hd.a,hd.b,[0.3;0.3;0.3]);
En la …gura 5.9 (a) se muestra la salida y del sistema real en lazo abierto con
una entrada escalón unitario y la salida estimada y^ y en la salida 5.9 (b) se
muestran las variables de estado estimadas del sistema.
1 y
u
y^
(a)
0.5
0 5 10 15
1.5
1 x^_1
x^_2
0.5 x^_3
(b)
-0.5
-1
0 5 10 15
Tiempo
Figura 5.9: (a) Salida estimada y^ del sistema y (b) variables de estado
estimadas x^.
es descrito por
x_ = Ax + Bu + v
y = Cx
!_ = A! !
v = C! !
x_ A C! x B
= + u (5.45)
!_ 0 A! ! 0
x
y = C 0
!
u (k) = L^
x (k) L! !
^ (k) (5.46)
en donde x^ y !
^ se obtienen del observador
x^ (k + 1) x! x^ (k) K
= + u (k) + " (k) (5.47)
!^ (k + 1) 0 ! !^ (k) 0 K!
donde
" (k) = y (k) C x^ (k) (5.48)
Nótese que el estado del observador está compuesto de estimaciones de los
estados del proceso y de las perturbaciones, y que la señal de control contiene
una realimentación del estado estimado de la perturbación ! ^ (k).
El sistema en lazo cerrado es descrito por
!
~ (k + 1) = ! (k + 1) !
^ (k + 1) = ! ! (k) !!
^ (k) K! " (k)
= !!~ (k) K! (Cx (k) C x^ (k))
entonces
!
~ (k + 1) = !!
~ (k) K! C x~ (k)
Nótese que el estado de la perturbación, !, es observable pero no alcanzable.
Las ecuaciones para el sistema en lazo cerrado dan un conocimiento profundo
del comportamiento del sistema. La matriz L asegura que el estado x tiende
a cero a la velocidad deseada después de una perturbación. Una seleccióna
adecuada de la ganancia L! reduce el efecto de la perturbación v sobre el
sistema por alimentación directa de las perturbaciones estimadas ! ^ . Esta
acción de control por alimentaciñon directa es particularmente efectiva si la
matriz ( x! L! ) se puede hacer igual a cero.
Las ganancias del observador K y K! in‡uyen en la velocidad a la cual los
errores de estimación tienden a cero. Un diagrama de bloques se muestra en
la …gura 5.10.
166 Diseño por reubicación de polos por el método de espacio de estado
xˆ
−L
+ u y
+ Proceso
ωˆ
− Lω
Observador
reescrita como
xˆ
L v
u y
− +
+ Proceso
−
ε Observador de vˆ
la perturbación
+
Observador +
del estado
Nótese que la estimación x^ del estado del proceso es lo mismo que en el caso
cuando no hay perturbaciones; compárese con (5.33).
Usando la transformada Z en las anteriores ecuaciones:
^ (z) = (zI
X + L + KC) 1
KY (z) = Hx (z) Y (z)
^ 1
V (z) = (z 1) K! " (z)
U (z) = LX^ (z) V^ (z)
en donde
1
Hx (z) = (zI + L + KC) K (5.51)
− U (z )
−
ε (z ) Kω Vˆ(z )
z −1 Observador de la perturbación
+
− C
Y (z )
H x (z )
Xˆ(z )
Observador del estado
^ (z) K!
U (z) = LX V^ (z) = LHx (z) Y (z) " (z)
(z 1)
K!
= LHx (z) Y (z) (Y (z) CHx (z) Y (z))
(z 1)
1
U (z) = LHx (z) + K! (I CHx (z)) Y (z) (5.52)
(z 1)
Este expresión muestra que el controlador tiene acción integral. Nótese que la
acción integral se obtiene a través del observador que estima una perturbación
constante actuando a la entrada del proceso. Se ilustrará con un ejemplo.
s2 + 1:4s + 1 = 0
5.8 Observadores 169
donde
1 0:44 0:097
= ; = ; L = l1 l2
0 1 0:44
obteniéndose:
L = 0:73 1:21
El controlador y el observador se implementan como en (5.50). Los tres polos
del observador se ubican en z = 0:75.
Usando las dos últimas ecuaciones de (5.49) con x! = y ! = 1:
2 3 2 32 3
x~1 (k + 1) 1 K1 0:44 0:097 x~1 (k)
4x~2 (k + 1)5 = 4 K2 1 0:44 5 4x~2 (k)5
v~ (k + 1) K! 0 1 v~ (k)
Es decir:
x~ (k + 1) KC x~ (k)
=
v~ (k + 1) K! C 1 v~ (k)
donde
T
K = K1 K2 ;C = 1 0
K y K! se determinan con
KC
det I =( 0:75)3
K! C 1
Es decir
02 31
1 + K1 0:44 0:097
det @4 K2 1 0:44 5A = ( 0:75)3
K! 0 1
170 Diseño por reubicación de polos por el método de espacio de estado
entonces
3 2
+ (K1 3) + (3 + 0:097K! 2K1 + 0:44K2 )
3 2
+ K1 1 + 0:097K! 0:44K2 = 2:25 + 1:6875 0:4219
K1 = 0:75
0:097K! + 0:44K2 = 0:1875
0:097K! 0:44K2 = 0:1719
Resolviendo
T
K = 0:75 0:4084 ; K! = 0:0804
T
Suponiendo un estado inicial x (0) = 1 1 , la …gura 5.13 muestra
el comportamiento del sistema. La respuesta es ahora más lenta y más
oscilatoria que sin la perturbación estimada como en la …gura 5.8. Sin
embargo, se ve claramente que el controlador tiene ahora acción integral
y puede eliminar perturbaciones de carga a la entrada constantes.
u (k) = L^
x (k) + LC r (k) (5.53)
2
y
1
(a) 0
-1
0 10 20 30 40 50
1 u
(b)
-1
0 10 20 30 40 50
0.2 v
v^
(c)
-0.2
0 10 20 30 40 50
Tiempo
Figura 5.13: Simulación del sistema del ejemplo 5.12. (a) Salida y, (b) entrada
u, y (c) perturbación v (línea punteada) y perturbación estimada v^ (línea
continua).
r
Lc
u y
++
xˆ
−L Proceso
Observador
x (k + 1) L KI x (k) 0
= + r (k)
v (k + 1) C 1 v (k) 1
Una comparación con la ecuación (5.50) muestra que el seguimiento de
la señal de comando se obtiene con una simple modi…cación del sistema
discutido previamente. Si se utiliza un observador completo para la
estimación de las variables de estado x^ (k) se obteien el diagrama de bloques
del sistema completo con acción integral como se muestra en la …gura
174 Diseño por reubicación de polos por el método de espacio de estado
r (k ) LI
+
− z −1
xˆ(k ) + u (k ) y (k )
−L + Proceso
Observador
Ejemplo 5.13 Controlador con accion integral del integrador doble usando
Matlab.
T
Si se simula el sistema en Simulink con condiciones inciales 0 1 , y
aplicando como señal de referencia un escalón en el tiempo t = 15, se obtiene
la respuesta que se muestra en la …gura 5.16.
4
(a)
2
y
0 r
-2
0 5 10 15 20 25 30
2
u
0
(b)
-2
-4
0 5 10 15 20 25 30
Tiempo
Figura 5.16: Salida y (a) y señal de control u (b) del control con acción
integral para el ejemplo 5.13.
r u ff
H ff
u fb u y
− H fb +
+ Proceso
u ff
r Modelo y
lazo directo
xm
u fb u y
−+ +
L + Proceso
xˆ
Observador
Hm (z)
uf f = r (k) (5.63)
H (z)
se reduce a:
en donde
u ff
r Modelo y
lazo directo
xm
u fb u y
−+ L ++ Proceso
xˆ −
Lω
ωˆ
Observador
e^ (k + 1) = m xm + m r (k) x^ (k) x! !
^(k) u (k) K" (k)
= e^ (k) x! !
^ (k) + ( m ) xm (k) + r (k) u (k) K" (k)
( m ) xm (k) + r (k)
(a1 a1m ) xm1 +(a2 a2m ) xm2 + +(an anm ) xmn + r = r (k)+Cf f xm (k)
Además se tiene:
con:
u (k) = uf b (k) + uf f (k)
en donde
uf f (k) = r (k) + Cf f xm (k)
5.9 El problema del servo 181
0 1 0
x_ = x+ u; y = 1 0 x
0 0 1 | {z }
| {z } |{z} C
A B
182 Diseño por reubicación de polos por el método de espacio de estado
r Modelo y u ff
lazo directo
ym eˆ u fb u y
+
+ Observador L + + Proceso
− −
vˆ
C
− Kω
+
z −1
1 0:44 0:097
x (k + 1) = x (k) + u (k)
0 1 0:44
y (K) = 1 0 x (k)
2 1 0 1
x0 (k + 1) = x (k) + u (k)
1 0 0
| {z } |{z}
C C
0
y (k) = 0:097 0:097 x (k)
| {z }
CC
Modelo de
r referencia xm
+
+
en FCA C ff
u ff
Φ m , Γm v
xm u fb u y
+ + + Planta
L + + +
− − A, B, C
Kω vˆ
z −1
++
Observador ΓC
xˆ'
en FCA
Φ C , ΓC K +
eˆ −
CC
Los polos del sistema discreto en lazo cerrado se obtienen con z = ehs , donde
h = 0:44. Así,
z1;2 = 0:7 J0:227
La ecuación característica es
z2 1:4z + 0:541
Utilizando la realimentación de x0 a través del vector de ganancia:
L = l1 l2
z 2l1 1 + l2
det (zI C + C L) = det
1 z
= z 2 + (l1 2) z + (1 + l2 ) = z 2 1:4z + 0:541
Comparando coe…cientes y resolviendo para l1 y l2 se obtiene
L = l1 l2 = 0:6 0:459
Se utiliza un observador para realimentar las variables de estado estimadas de
la forma canónica alcanzable, x0 y un observador para estimar la perturbación
v^.
184 Diseño por reubicación de polos por el método de espacio de estado
Planta discretizada
r (k ) u ff y (k )
1
H m (q ) H (q )
H (q )
Para que este modelo tenga los mismos ceros de la forma canónica alcanzable,
entonces
Cm = C = 0:097 0:097
Así,
Cf f = a1C a1m a2C a2m = 1:126 0:708
y
uf f = r (k) + Cf f xm (k)
Cálculo de . Para el servo únicamente, considérese la …gura 5.22
Como Hm (q) tiene los ceros de H (q):
(z z1 ) (z z2 ) (z zm )
en donde
(z z1 ) (z
z2 ) (z zm )
H (Z) =
A (z)
En este caso particular: z1 = 1, = 0:097: (z z1 ) = 0:097 (z 1). Como
los polos de Hm (q) se selccionan de acuerdo al comportamiento deseado, con
el modelo de referencia, entonces:
(z z1 ) (z z2 ) (z zm )
Hm (Z) =
Am (z)
se escoge de modo que si r (k) es un escalón, y (k) en estado estacionario
es la unidad. Como:
H (q)
y (k) = Hm (q) r (k) = Hm (q) r (k)
H (q)
Utilizando el teorema del valor …nal
1
yss (k) = l m y (k) = l m 1 z Hm (z) R (z)
k!1 z!1
1 z
= lm 1 z Hm (z) = Hm (1)
z!1 z 1
186 Diseño por reubicación de polos por el método de espacio de estado
Am (1)
=
(z z1 ) (z z2 ) (z zm )
1 0:874 + 0:292
= = 2:1546
0:097 (1 + 1)
d! 1
v + KI u = J 1 + d (! 1 ! 2 ) + K ('1 '2 )
dt
d! 2
0 = d (! 1 ! 2 ) + K ('1 '2 ) J2
dt
5.10 Un ejemplo de diseño 187
1.5
1
(a)
0.5 y
ym
0
0 10 20 30 40 50
2
u
1
(b)
0
-1
0 10 20 30 40 50
0.2
(c)
0.1 v
v^
0
0 10 20 30 40 50
Tiempo
Figura 5.23: Control del integrador doble usando el controlador (5.39). (a)
Salida y y salida del modelo ym , (b) señal de control u, (c) perturbación v y
perturbación estimada v^.
x1 = '1 '2
!1
x2 =
!0
!2
x3 =
!0
en donde
s
K (J1 + J2 )
!0 =
J 1 J2
188 Diseño por reubicación de polos por el método de espacio de estado
0
Ganancia(dB)
-100
-200
-1 0 1
10 10 10
0
Fase (grados)
-100
-200
-300
-1 0 1
10 10 10
Frecuencia (rad/s)
Figura 5.26: Grá…ca de bode del proceso de brazo ‡exible del robot.
0.2
0.1
y
0
0 25 50 75
Tiempo
r (k ) y (k )
Lc H lc (z )
1 z
yss (k) = l m y (k) = l m 1 z LC H l c (z) = LC Hl c (1) = 1
k!1 z!1 z 1
Así
1
LC = = 1:9346
Hl c (1)
La …gura 5.29 muestra el comportamiento del sistema en lazo cerrado cuando
el controlador por realimentación de estado (5.74) es utilizado.
1.5
1
y
0.5
0
0 10 20 30 40 50 60 70 80
1
u
-1
0 10 20 30 40 50 60 70 80
Tiempo
Seleccionando 0 = 2 se tiene
s2 + 1:4s + 1 (s + 2) = 0
s1;2 = 0:7 j0:714; s3 = 2
El polo más rápido equivalente en tiempo continuo del sistema en lazo cerrado
cuando se usa el observador es 0 1!m = 2. Esto implica que el intervalo
de muestreo (h = 0:5) es un poco grande. Sin emabrgo, no hay diferencia
signi…cativa en la respuesta cuando h se disminuye a 0:25.
Trans…riendo los anteriores polos al observador discretizado con h = 0:5 se
obtiene:
De la ecuación de salida
en decir
C= 0 0 1
y con
(z z1 ) (z z2 ) (z z3 ) = det (zI + KC)
se pueden obtener las ganancias K del observador.
Puesto que det (zI + KC) = det (zI + KC)T =
T
det zI + C T K T se puede usar la fórmula de Ackermann. Usando
Matlab:
Kt=acker(Phi’,C’,P_0)
K=Kt’
se obtiene
T
K = 3:5454 4:5590 1:0244
194 Diseño por reubicación de polos por el método de espacio de estado
r (k )
Lc
v(k )
u (k ) y (k )
−L ++ ++ Proceso
xˆ(k )
5.11. Conclusiones
Este capítulo muestra como los problemas de diseño del regualdor y del
servo se pueden resolver usando reubicación de polos y observadores. La
solución tiene 3 componentes principales: la matriz de realimentación L,
el observador y la respuesta del modelo. La matriz L se escoge de modo
que las perturbaciones de carga decaigan adecuadamente usando las técnicas
discutidas en la regulación por realimentación de estado. El observador se
5.11 Conclusiones 195
1.5
1
y
0.5
0
0 10 20 30 40 50 60 70 80
1
u
-1
0 10 20 30 40 50 60 70 80
Tiempo
u (k) = Lx (k)
u (t ) 1 x1 1 y (t ) = x2
s +1 s
voltaje velocidad
1 0 1
x_ = x+ u
1 0 0
y = 0 1 x
T
Suponer que x (0) = 1 1 . Hallar el intervalo de muestreo tal que la señal
de control sea menor qeu uno en magnitud. Se puede asumir que el máximo
valor u (k) es en k = 0.
3 1 0
x_ = x+ u
0 2 1
y = 1 0 x
5.12 Ejercicios propuestos 197
0:78 0 0:22
x (k + 1) = x (k) + u (k)
0:22 1 0:03
y (k) = 0 1 x (k)
a. Cálculo directo
Sea el observador del tipo dead beat, es decir, los polos del observador deben
estar en el origen.
0:5 1 0:2 1
x (k + 1) = x (k) + u (k) + v (k)
0:5 0:7 0:1 0
y (k) = 0 1 x (k)
a. Hallar un controlador por realimentación del estado tal que los polos en
lazo cerrado son dados por la ecuación característica z 2 1:55z +0:64 =
0. Esto corresponde a = 0:7 y ! = 0:027 radianes/segundo.
0:9 0 1
x (k + 1) = x (k) + u (k)
1 0:7 0
y (k) = 0 1 x (k)
199
200 Implementación en tiempo real
%graficos
j=j+1;
subplot(211)
plot(t,y,’b’,t,u,’r--’,t,yest,’g’)
ylim([-0.5 5.5]);
legend(’y’,’u’,’y^’)
A.2 Acción integral 201
subplot(212)
plot(t,xest)
ylim([-3.5 3.5]);
legend(’x1^’,’x2^’,’x3^’)
y(1:end-1)=y(2:end);
yest(1:end-1)=yest(2:end);
u(1:end-1)=u(2:end);
xest(:,1:end-1)=xest(:,2:end);
end
end
delete(ai)
delete(ao)
clear ai
clear ao
%controlador
a_z=[h_discreto.a zeros(3,1);-c 1];
b_z=[h_discreto.b;0];
k_t=acker(a_z,b_z,[0.2 0.2 0.2 0.1]);
kd=k_t(1:3);
kz=-k_t(4);
%inicializacion de datos
xest=zeros(3,n);
%vector de referencia
r=zeros(n,1);
r(end/2+1:end)=2*ones(n/2,1);
e=0;
t_inicial=clock;
while(j*t_muestreo<=tf),
if(etime(clock,t_inicial)>=t_muestreo)
t_inicial=clock;
putsample(ao,u(end));
y(end)=getsample(ai);
e=e+t_muestreo*(r(j)-y(end));
u(end)=e*kz-kd*xest(:,end-1);
%algoritmo del observador
yest(end)=h_discreto.c*xest(:,end-1);
xest(:,end)=h_discreto.a*xest(:,end-1)+...
h_discreto.b*u(end)+L*(y(end)-yest(end));
%graficos
A.3 Control de dos grados de libertad 203
j=j+1;subplot(211)
plot(t,y,’b’,t,u,’r--’,t,yest,’g’)
ylim([-0.5 5.5]);
legend(’y’,’u’,’y^’)
subplot(212)
plot(t,xest)
ylim([-3.5 3.5]);
legend(’x1^’,’x2^’,’x3^’)
y(1:end-1)=y(2:end);
yest(1:end-1)=yest(2:end);
u(1:end-1)=u(2:end);
xest(:,1:end-1)=xest(:,2:end);
end
end
delete(ai)
delete(ao)
clear ai
clear ao
d=0;
h_discreto=c2d(ss(a,b,c,d),t_muestreo);
lt=acker(h_discreto.a’,h_discreto.c’,[0.1 0.1 0.2]);
L=lt’;
%polos deseados
P_i=4*eig(a);
P=P_i’;
P_deseado=exp(t_muestreo*P);
P_servo=poly(P_deseado);
Am=[-P_servo(2:end);1 0 0;0 1 0];
Cm=h_discreto.c*inv(T);
lambda=polyval(P_servo,1)/polyval(Cm,1);
Bm=[lambda;0;0];
%calculo Cff
A=T*h_discreto.a*inv(T);
Cff=-A(1,:)+Am(1,:);
%inicializacion de datos
xest=zeros(3,n);
xm=zeros(3,1);
%vector de referencia
r=zeros(n,1);
r(end/2+1:end)=2*ones(n/2,1);
t_inicial=clock;
while(j*t_muestreo<=tf),
if(etime(clock,t_inicial)>=t_muestreo)
t_inicial=clock;
putsample(ao,u(end));
y(end)=getsample(ai);
u(end)=Cff*xm+lambda*r(j)+k*inv(T)*(xm-T*xest(:,end-1));
yest(end)=h_discreto.c*xest(:,end-1);
xest(:,end)=h_discreto.a*xest(:,end-1)+...
h_discreto.b*u(end)+L*(y(end)-yest(end));
xm=Am*xm+Bm*r(j);
%graficos
j=j+1;
subplot(211)
plot(t,y,’b’,t,u,’r--’,t,yest,’g’)
ylim([-0.5 5.5]);
legend(’y’,’u’,’y^’)
subplot(212)
plot(t,xest)
ylim([-3.5 3.5]);
legend(’x1^’,’x2^’,’x3^’)
y(1:end-1)=y(2:end);
yest(1:end-1)=yest(2:end);
u(1:end-1)=u(2:end);
xest(:,1:end-1)=xest(:,2:end);
end
end
delete(ai)
206 Implementación en tiempo real
delete(ao)
clear ai
clear ao
Apéndice B
207
208Diseño de sistemas de control en el espacio de estados en tiempo continuo
para sistemas con una señal de entrada u (t). Considere un modelo de espacio
de estados descrito por la ecuación (B.7).
y con polinomio característico a (s) dado por la ecuación B.3 y supóngase que
la matriz de controlabilidad C es de rango n, es decir, el sistema es controlable.
El sistema puede ser transformado a la forma canónica controller a través de
la transformación xc (t) = Tx (t) descrita en la sección 4.2; la ecuación de
estado transformada es
y con
u (t) = Kc xc (t)
entonces al reemplazar en la ecuación (B.9) se tiene
de forma que
2 3
(a1 + Kc1 ) (a2 + Kc2 ) (an + Kcn )
6 1 0 0 7
6 7
Ac Bc Kc = 6 .. .. .. .. 7
4 . . . . 5
0 1 0
B.1 Regulación por realimentación de estados 211
Kci = i ai (B.12)
de donde
K = Kc T (B.13)
1
T = Cc C
1 1
K = Kc Cc C = 1 a1 2 a2 n an Cc C (B.14)
1
K= 0 0 1 C (A) (B.15)
B.2. Perturbaciones
Es altamente deseable manejar otras perturbaciones diferentes a impulsos,
o equivalentes a estados iniciales perturbados. Una manera de hacer esto
es considerar perturbaciones que son generadas por impulsos enviados
a sistemas dinámicos. De esta manera, es posible obtener muchos tipos
de perturbaciones tales como escalones o sinusoides. Para se especí…cos,
supóngase que el sistema es descrito por
es decir
x_ (t) = Ax (t) +Bu (t) + Bv (t) (B.16)
donde v (t) es una perturbación descrita por
!_ (t) = A! ! (t)
v (t) = C! ! (t)
B.2 Perturbaciones 213
A! = 0, C! = 1
0 !0
A! = , C! = 1 0
!0 0
x
(B.19)
!
de forma tal que las ecuaciones (B.17) y (B.18) se pueden reescribir usando
(B.19) como
x_ A BC! x B
= + u (B.20)
!_ 0 A! ! 0
Así, se tiene un problema de la misma forma que el problema básico
de reubicación de polos. Hay, sin embargo, una diferencia importante: el
sistema (B.20) no es completamente controlable. Los polos asociados con la
descripción de la perturbación, es decir, los valores propios de A! , no pueden
ser afectados completamente por la realimentación. Esto es muy natural, ya
214Diseño de sistemas de control en el espacio de estados en tiempo continuo
que las perturbaciones son variables exógenas que no están in‡uenciadas por
el control.
Si se considera que la perturbación v (t) es medible, se puede de…nir la
realimentación lineal de estado como
B.3. Observadores
Es poco realístico suponer que todos los estados de un sistema pueden ser
medidos, particularmente si las perturbaciones son parte del vector de estado,
como en la ecuación (B.20). Por esto, es necesario determinar los estados de
la realización, a partir de medidas disponibles: entrada u (t) y salida y (t), y
de un modelo. Para tal …n es necesario que el sistema sea observable, es decir,
que la matriz de observabilidad asociada con la realización fA; B; Cg tenga
rango n. O, si el sistema incluye las perturbaciones en el vector de estado, la
realización asociada a las ecuaciones (B.20) y (B.2) debe ser observable.
De esta forma, un observador de estado es un sistema dinámico que permite
estimar las variables de estado x (t) con base en las mediciones del vector de
salida y (t) y del vector de entrada u (t).
(B.26), se obtiene
~_ (t) = A~
x x (t) +Bu (t) + L (y (t) y~ (t)) (B.28)
o
~_ (t) = A~
x x (t) +Bu (t) + L (y (t) x (t))
C~ (B.29)
en donde L es una matriz de ganancias. Nótese que el término de
realimentación L (y (t) C~ x (t)) no contribuye si la salida estimada por el
modelo y~ (t) coincide excatamente con las medidas. Para determinar la matriz
L se introduce el error de estimación de las variables de estado como
~e (t) = x (t)
x ~ (t)
x (B.30)
o también
1 T
L= (A) O 0 0 1 (B.34)
El polinomio característico de A LC es entonces (s). La dualidad con
el problema de reubicación de polos también implica que L es especialmente
simple para determinar si el sistema está en forma canónica observer.
x1
y (t) = C1 0 (B.36)
x2
220Diseño de sistemas de control en el espacio de estados en tiempo continuo
x1 = C1 1 y
~_ 2 = A22 x
x ~2 + A21 x1 + B2 u + Lr y
^ ^ x2
C~ (B.41)
^ = x_ 1
y A11 x1 B1 u (B.42)
~_ 2 = A22 x
x ~2 + A21 x1 + B2 u + Lr (x_ 1 A11 x1 B1 u ~2 )
A12 x (B.43)
~_ 2 = (A22
x Lr A12 ) x
~2 + A21 x1 + B2 u + Lr (x_ 1 A11 x1 B1 u) (B.44)
B.3 Observadores 221
~_ 2
x Lr x_ 1 = (A22 Lr A12 ) x
~2 + (A21 Lr A11 ) x1 + (B2 Lr B1 ) u (B.45)
~_ 2
x Lr x_ 1 = (A22 Lr A12 ) (~
x2 Lr x1 ) (B.46)
+ [(A21 Lr A11 ) + (A22 Lr A12 ) Lr ] x1 + (B2 Lr B1 ) u
I 0
~ (t) =
x x + x
~ (B.48)
0 1 I 2
~e = x
x ~2 x2 = ~ (B.49)
~_ e = (A22
x Lr A12 ) x
~e (B.50)
x_ (t) A BK BK x (t)
_x =
~e (t) 0 A LC ~e (t)
x
A BK BK
det sI = det (sI A + BK) det (sI A + LC)
0 A LC
x
y (t) = C 0
!
Es poco realista asumir que la perturbación puede ser medida, de forma tal
que para poder compensar la perturbación de acuerdo a la ecuación B.21
es necesario calcular la perturbación v~ (t) a partir de la estimación de !
~ (t).
Nótese que el estado de la perturbación ! es observable pero no controlable.
Para esto, se diseña un observador completo aumentado, de la forma
~_
x A BC! x
~ B L
= + u+ (y (t) x (t))
C~ (B.55)
~_
! 0 A! !
~ 0 L!
~_ = A! !
! ~ + L! (y (t) x (t))
C~ (B.56)
donde
v~ (t) = C! !
~
y el observador de estados por
~_ = A~
x x + BC! !
~ + Bu (t) + L (y (t) x (t))
C~ (B.57)
u (t) = x (t)
K~ K! v~ (t)
u (t) = x (t)
K~ K! C! ! ~
~_ = A~
x x + BC! !
~ x (t)
BK~ ~ + L (y (t)
BK! C! ! x (t))
C~ (B.58)
y con K! = 1 se tiene
~_ = A~
x x x (t) + L (y (t)
BK~ x (t))
C~
B.3 Observadores 225
co=ctrb(A,B)
rank(co)
Dado que el rango de la matriz de controlabilidad es 2, entonces se calcula,
usando la fórmula de Ackerman, las ganancias de realimentación tal que los
polos se encuentren en s = 5, s = 3.
k=acker(A,B,[-5,-3])
obteniendo como vector de ganancias
K = 6 30
Se calculan las matrices para la dinámica de la perturbación teniendo en
cuenta que es una perturbación senoidal como
B.3 Observadores 227
Aw=[0 2.5;-2.5 0]
Cw=[1 0]
ob=obsv(a_e,c_e)
rank(ob)
L1=acker(a_e’,c_e’,[-10,-6,-4,-5])
L=L1(1:2)
Lw=L1(3:4)
obteniendo
L = 186:75 23
L! = 703:75 64:375
u y
x' = Ax+Bu
y = Cx+Du
State -Space salida
w
v
1
K*uvec K*uvec
s
v estimado Cw Lw
*uvec
Aw
K*uvec
u 1
*uvec *uvec
s
B C
K*uvec
K*uvec
K x estimado
0.1 y
(a)
-0.1
0 5 10 15 20
0.2 x_1^
x_2^
(b)
0
-0.2
-0.4
0 5 10 15 20
4
v^
2
(c)
0 5 10 15 20
Tiempo
~ (t) se tiene
x
x_ (t) = (A BK) x (t) + BK~
x (t) + BKc r (t)
~_ e (t) = (A LC) x
x ~e (t) (B.61)
y (t) = Cx (t)
Nótese que el error de estimación del observador x ~e (t) no es afectado por el
valor de r (t). Esto tiene sentido, ya que sería altamente indeseable introducir
señales de referencia de tal manera que causaran errores en el observador. De
la ecuación (B.61) la función de transferencia del sistema en lazo cerrado es
Y (s) 1 b (s)
= Hl c (s) = C (sI A + BK) BKc = Kc
R (s) (s)
De esta forma, con el …n de que en estado estable la salida del sistema y (t)
tienda al valor de referencia r (t), y asumiendo que r (t) = r es un comando
de referencia constante, es necesario que
(0)
Kc =
b (0)
x• 2! y_ 9! 2 x = 0
y• + 2! x_ + 4! 2 y = u
232Diseño de sistemas de control en el espacio de estados en tiempo continuo
en donde
x : perturbación radial
y : perturbación de la posició acimutal
u = F=m! 2
F : fuerza del motor en la dirección y
m : masa del satélite
2
! = rad/dia
29
1. Con u = 0, demostrar que el punto de equilibrio es inestable.
2. Para estabilizar el sistema usar realimentación de las variables de
estado:
u = K1 x K2 x_ K3 y K4 y_
Determinar los Ki de modo que el sistema en lazo cerrado tenga los
polos en s1 = 3!, s2 = 4!, s3 = ( 3 j3) !.
3. Diseñar un controlador con la anterior realimentación y con una
entrada de referencia para la posición y.
4. Explicar poque un controlador como el anterior para la posición x no
puede ser diseñado para el satélite.
La ecuación característica es
f 2:35!; j2:55!g
C= 0 0 1 0
Kc = 24! 2
234Diseño de sistemas de control en el espacio de estados en tiempo continuo
^ = A 0 ^ B x (t)
A ;B = ;x
^=
C 0 0 xr (t)
Se tiene que el diseño del servo con acción integral se convierte en el diseño
de un regulador de orden n + p con p el número de salidas para el sistema
aumentado dado por
^_ = A^
x ^ x + Bu
^ (B.66)
donde el vector de control está de…nido por
u= ^x
K^ (B.67)
^ de…nido como
con K
^ = K
K Ki
Si se reemplaza el vector de control de la ecuación (B.67) en (B.66), el sistema
en lazo cerrado se convierte en
^_ = A
x ^ ^K
B ^ x
^
u (t) = x (t) + Ki xr
K~
236Diseño de sistemas de control en el espacio de estados en tiempo continuo
donde
uf b (t) = K (xm (t) ~ (t))
x (B.71)
en donde xm es el estado deseado y uf f es una señal de control que da la
salida deseada cuando es aplicada al sistema en lazo abierto. Las coordenadas
se deben escoger de manera que los estados del sistema y del modelo sean
compatibles. En aplicaciones actuales es útil a menudo escogerlas de modo
que las componentes del estado tengan buenas interpretaciones físicas.
El término uf b = K (xm x ~) representa la realimentación y uf f representa
la señal de control en lazo directo. La ecuación (B.70) tiene una buena
interpretación física. La señal en el lazo directo uf f producirá idealmente
la variación en el tiempo deseada en el estado del proceso. Si el estado del
proceso estimado x ~ es igual al estado deseado xm , la señal de realimentación
K (xm x ~) es cero. Si hay una diferencia entre x ~ y xm , la realimentación
238Diseño de sistemas de control en el espacio de estados en tiempo continuo
Dado el modelo (B.68), es directo generar los estados deseados. Falta discutir
la generación de la señal uf f . Sean las funciones de transferencia del proceso
y del modelo H (s) y Hm (s) respectivamente, entonces, si la señal
Hm (s)
uf f (t) = r (t) (B.72)
H (s)
pudiera ser generada, se obtendría el resultado deseado; varias condiciones
se requieren para esto. El modelo Hm (s) debe ser estable, el exceso de polos
del modelo no debe ser menor que el exceso de polos del proceso, y ceros
inestables del proceso, también deben ser ceros del modelo.
En el caso de una entrada y una salida, la generación de uf f es
particularmente simple si el orden y los ceros del modelo y del proceso son
los mismos. Supóngase que
b (s)
H (s) =
a (s)
y
b (s)
Hm (s) =
am (s)
B.4 Sistemas de seguimiento 239
en donde
Cf f = a1 a1m a2 a2m an anm (B.76)
y donde es el inverso de la ganancia del modelo de referencia en estado
estable, asi
am (0)
= (B.77)
b (0)
Una vez obtenida la solución en forma cerrada, se puede obtener otras
representaciones por transformación de las variables de estado. A menudo
es útil introducir no linealidades en la trayectoria de alimentación directa de
modo que el sistema no sea conducido muy severamente en repuesta a las
señales de referencia. Ya que la señal uf f se usa principalmente para lograr
que el sistema se mueva rápidamente en la dirección correcta, también es
posible usar modelos aproximados del proceso; las desviaciones pequeñas son
mejoradas fácilmente por la realimentación.
Es posible incluir el observador de perturbaciones en la ley de control de la
ecuación (B.71) de la forma
K = 6 30
ob=obsv(a_e,c_e)
rank(ob)
L1=acker(a_e’,c_e’,[-10,-6,-4,-5, -2])
L=L1(1:2)
Lw=L1(3:5)
obteniendo
L = 238:75 25
L! = 8298:8 5703:1 9600
P=[-2+j*5; -2-j*5]
Polservo=poly(P)
Am=[-Polservo(2:3); 1 0]
Para que el modelo de referencia tenga los mismos ceros del sistema original
se hace Cm = C
Cm=C
lambda=polyval(Polservo,0)/polyval(Cm,0)
B.4 Sistemas de seguimiento 243
1 y
(a)
0.5 r
0
0 5 10 15 20
20
0
(b)
-20
u
-40
0 5 10 15 20
5 v^
(c)
0
0 5 10 15 20
Tiempo
Figura B.18: Respuesta del sistema de control de dos grados libertad para
una entrada de referencia.
Bm=[lambda;0]
Cff=-A(1,:)+Am(1,:)
1
Si se asumen como condiciones iniciales x0 = ; las respuestas
0
correspondientes a la salida del sistema, la señal de control y la estimación de
la perturbación se muestran en las …guras B.18 (a), (b) y (c) respectivamente.
u_ff
*uvec
lambda
Cff
K*uvec
Sine Wave
y
r
x' = Ax+Bu x' = Ax+Bu
*uvec
y = Cx+Du xm u_fb u y = Cx+Du
Step Modelo de referencia k Add 2 State -Space
r,y
x_est
Step 1
v
v u
x_est y
Observador x y v
De…nición alternativa de la
transformada Z
245
246 De…nición alternativa de la transformada Z
247
248 BIBLIOGRAFÍA