Sie sind auf Seite 1von 174

Sistemas Electrónicos de Control

Curso 2013/2014-1

Tema 5. Control avanzado

Profesora: Rosa Mª Fernández-Cantí


Tema 5. Control avanzado

Contenido
1.  Control en el espacio de estado ............................................................................................................... 4 
1.1  Descripción de sistemas en el espacio de estado .............................................................................. 4 
1.1.1  Descripciones de sistemas dinámicos: ED, FT y EE ............................................................... 4 
1.1.2  Conversión de FT a EE. Polos y autovalores........................................................................... 7 
1.1.3  Conversión de EE a FT. Formas canónicas ............................................................................. 8 
1.1.4  Solución de ecuaciones de estado. Respuestas zero input y zero state .................................. 16 
1.1.5  Análisis de controlabilidad y observabilidad .......................................................................... 22 
1.1.6  Análisis de estabilidad (Lyapunov) ........................................................................................ 25 
1.1.7  Ventajas de las EE frente a ED y FT ...................................................................................... 26 
1.2  Control modal ................................................................................................................................. 29 
1.2.1  Regulador del estado. Fijación de polos ................................................................................ 29 
1.2.2  Observador del estado ............................................................................................................ 34 
1.2.3  Regulador basado en observador. Compensador ................................................................... 37 
1.3  Control óptimo. Regulador LQ....................................................................................................... 40 
1.3.1  Introducción al control óptimo ............................................................................................... 40 
1.3.2  Formulación del problema del control óptimo........................................................................ 41 
1.3.3  Compensación analítica vía ISE del regulador LQ ................................................................. 42 
1.3.4  El regulador LQ con horizonte infinito................................................................................... 43 
1.3.5  El regulador LQ con horizonte finito ...................................................................................... 47 
1.3.6  Retroacción de estado con acción integral .............................................................................. 50 
1.4  Control óptimo estocástico .............................................................................................................. 51 
1.4.1  Enfoque estocástico ................................................................................................................ 51 
1.4.2  Retroacción directa ................................................................................................................. 54 
1.4.3  Reconstrucción óptima del estado. Filtro de Kalman-Bucy .................................................. 56 
1.4.4  Regulador LQG ...................................................................................................................... 62 
1.5  Ejercicios resueltos ......................................................................................................................... 67 
2.  Técnicas de control robusto................................................................................................................... 79 
2.1  Conformación del lazo (loopshaping) ............................................................................................. 80 
2.1.1  Condiciones de comportamiento robusto ............................................................................... 81 
2.1.2  Ejemplo .................................................................................................................................. 81 
2.2  Teoría cuantitativa de la retroacción (QFT) ................................................................................... 83 
2.2.1  Regiones de incertidumbre ..................................................................................................... 83 
2.2.2  Plantillas para el diseño .......................................................................................................... 84 
2.2.3  Ejemplo .................................................................................................................................. 86 
2.3  Métodos H∞ ..................................................................................................................................... 89 
2.3.1  Transformación fraccional lineal (LFT) ................................................................................. 89 
2.3.2  Obtención de la planta aumentada .......................................................................................... 91 
2.3.3  Índices de comportamiento ..................................................................................................... 92 
2.3.4  Síntesis del controlador .......................................................................................................... 92 
2.3.5  Ejemplo .................................................................................................................................. 93 
2.4  Ejercicio resuelto ............................................................................................................................ 99 
3.  Control frecuencial de sistemas MIMO ............................................................................................. 110 
3.1  Modelización ................................................................................................................................. 110 
3.1.1  Representación ..................................................................................................................... 110 
3.1.2  Perspectiva histórica. Del control moderno al robusto ........................................................ 114 
3.1.3  Herramientas matemáticas .................................................................................................... 116 
3.1.4  Especificaciones ................................................................................................................... 118 
3.2  Análisis .......................................................................................................................................... 121 
3.2.1  Interacción y desacoplamiento ............................................................................................. 121 
3.2.2  Análisis de la dominancia diagonal ...................................................................................... 124 
3.2.3  Análisis de estabilidad .......................................................................................................... 126 
3.3  Control MIMO por métodos frecuenciales .................................................................................... 131 

ETSETB. Sistemas Electrónicos de Control 1314a 2


Tema 5. Control avanzado

3.3.1  Control por inversión de planta ............................................................................................ 131 


3.3.2  El método de los lugares característicos ............................................................................... 136 
3.3.3  Método de Perron-Frobenius ................................................................................................ 158 
3.3.4  Direct Nyquist Array ............................................................................................................ 164 
3.3.5  Inverse Nyquist Array .......................................................................................................... 169 
3.4  Referencias .................................................................................................................................... 174 

ETSETB. Sistemas Electrónicos de Control 1314a 3


Tema 5. Control avanzado

1. Control en el espacio de estado

1.1 Descripción de sistemas en el espacio de estado

1.1.1 Descripciones de sistemas dinámicos: ED, FT y EE

En el primer tema vimos cómo un sistema dinámico podía representarse por medio de: ecuaciones
diferenciales (ED), funciones de transferencia (FT) y ecuaciones de estado (EE). En este tema nos
centraremos en la descripción vía EE:

Ecuaciones de estado

Variables de estado (VE) x(t). Resumen la historia dinámica del sistema. Junto con u(t), t>0,
permiten determinar el valor futuro de cualquier variable del sistema. También pueden verse como
el mínimo conjunto de condiciones iniciales (CI), x(0).

Ecuaciones de estado (EE).

x  f 1 (x, u, t ) , y  f 2 ( x, t ) : no lineales, variantes, MIMO


x  A(t )x  B(t )u , y  C(t )x : lineales, variantes, MIMO
x  Ax  Bu , y  Cx : lineales, invariantes, MIMO
x  Ax  bu , y  ct x : lineales, invariantes, SISO

(Nota: Se les reconoce por estar formadas por el vector de primeras derivadas y, a la derecha,
relaciones algebraicas)

Ejemplo 1. Péndulo invertido. Ecuaciones diferenciales. Obtener las ecuaciones diferenciales


que rigen la dinámica del montaje de la Fig. 1, con los siguientes datos:

x m


l
P

u x
M

Fig. 1. Péndulo invertido

Datos: M = 2kg, m = 0.1kg, l =0.5m, g = 9.81m/s2. Se supone que el cilindro no tiene masa, por lo
que el centro de gravedad del péndulo se sitúa en la masa m. Considerar también que el momento
de inercia I del péndulo respecto a su centro de gravedad es nulo y que el ángulo  es pequeño.

ETSETB. Sistemas Electrónicos de Control 1314a 4


Tema 5. Control avanzado

Solución:

Coordenadas del centro de gravedad del péndulo. Coinciden con la posición de la bola:

xG  x  l sin 
yG  l cos 

Movimiento rotacional de la bola: I  V  l sin   H  l cos  , donde H, V son las componentes
horizontal y vertical de la fuerza medida en el punto P.

d2
Movimiento horizontal de la bola: m ( x  l sin  )  H
dt 2

d2
Movimiento vertical de la bola: m 2 (l cos  )  V  mg
dt

Movimiento horizontal del carrito: Mx  u  H

Si el ángulo de rotación es pequeño, estas cuatro ecuaciones quedan como:

I  V  l  H  l
m( x  l)  H
0  V  mg
Mx  u  H

Sustituyendo I = 0 y combinando las ecuaciones (2) con (4) y (1) con (3), el resultado es:

( m  M ) x  ml  u
ml 2  mlx  mgl

Ejemplo 2. Péndulo invertido. De ecuaciones diferenciales a función de transferencia. A


partir de las ecuaciones diferenciales:

( m  M ) x  ml  u
ml 2  mlx  mgl

se pide obtener la ecuación diferencial que relaciona u con  (que no aparezca x ni sus derivadas) y,
a partir de ella, obtener la función de transferencia (s)/U(s). ¿Es estable el sistema?

Solución:

Simplificando ml, la segunda ecuación es l  x  g . Sustituyéndola en la primera, da


( m  M )( g  l)  ml  u o, lo que es lo mismo, ( m  M ) g  Ml  u . Aplicando
Laplace con condiciones iniciales nulas,

ETSETB. Sistemas Electrónicos de Control 1314a 5


Tema 5. Control avanzado

Mls 2 ( s )  ( m  M ) g( s )  U ( s ) ,

se obtiene finalmente:

( s ) 1 1
  2
U ( s ) Mls  ( M  m) g s  20.601
2

Es inestable puesto que sus polos están en –4.539 y en +4.539.

Ejemplo 3. Péndulo invertido. De ecuaciones diferenciales a ecuaciones de estado. A partir de


las ecuaciones diferenciales:

( m  M ) x  ml  u
ml 2  mlx  mgl

se pide obtener las ecuaciones de estado tomando como variables de estado a x1   , x2   ,


x3  x , x4  x , y como variables de salida a  y x.

Solución:

Por un lado, x1  x2 y x 3  x4 . La segunda ecuación del enunciado queda como


ml x 2  mlx 4  mglx1 o, lo que es lo mismo, x 4  gx1  lx 2 . Sustituyendo ésta en la primera
2

ecuación del enunciado, ( m  M ) x 4  mlx 2  u , se obtiene Mlx 2  mgx 1  Mgx 1 u . En


definitiva,

 0 1 0 0 0
 ( M m ) g  1 
0 0 0
 , b   Ml  , C  
1 0 0 0  0
A   Ml     , d   
 0 0 0 1 0 0 0 1 0  0
 mg   
 M 0 0 0 1
M

%planta
M=2; m=0.1; g=9.81; l=0.5;
A=[0 1 0 0;
(M+m)*g/(M*l) 0 0 0;
0 0 0 1;
-m*g/M 0 0 0];
B=[0 -1/(M*l) 0 1/M]';
C=[1 0 0 0;
0 0 1 0];
D=[0 0]';

A =
0 1.0000 0 0
20.6010 0 0 0
0 0 0 1.0000
-0.4905 0 0 0

B =
0
-1.0000

ETSETB. Sistemas Electrónicos de Control 1314a 6


Tema 5. Control avanzado

0
0.5000

C =
1 0 0 0
0 0 1 0

D =
0
0

1.1.2 Conversión de FT a EE. Polos y autovalores

Conversión de EE a FT

Para pasar de las ecuaciones de estado a la función de transferencia basta con aplicar la
transformada de Laplace a las EE y despejar la relación entre la salida y(t) y la entrada u(t) con CI
nulas:

x  Ax  Bu  sX ( s )  x (0)  AX ( s )  BU ( s )
 ⇒ 
 y  Cx  Du Y ( s )  CX ( s )  DU ( s )

X ( s )  ( sI  A ) 1 ( x(0)  BU ( s ))

Y ( s )  C  X ( s )  D  U ( s )  C( sI  A ) 1 x (0)  C( sI  A ) 1 B  D U ( s )
  
zero input zero state

H ( s )  Y ( s )U ( s ) 1  C( sI  A ) 1 B  D
x ( 0 ) 0  
Φ( s )

Polos y autovalores

Puesto que H ( s )  C( sI  A ) 1 B  D , los polos de la función de transferencia coinciden con los


autovalores de la matriz de estado A. Notar que el denominador de H(s) coincide con el polinomio
característico de A expresado en s.

Por ejemplo, para el caso del péndulo simple del Tema 1 tenemos lo siguiente:

>> num=1;den=[1 0.5 10]; >> a=[0 1;-10 -0.5];b=[0;1];c=[1 0];d=0;

>> H=tf(num,den); >> H=ss(a,b,c,d);

>> roots(den) >> eig(a)


ans = ans =
-0.2500 + 3.1524i -0.2500 + 3.1524i
-0.2500 - 3.1524i -0.2500 - 3.1524i

Esquema de bloques de la realización de estado

ETSETB. Sistemas Electrónicos de Control 1314a 7


Tema 5. Control avanzado

Puesto que H ( s )  C( sI  A ) 1 B  D , si suponemos D=0 (que es lo más habitual,


correspondiente a sistemas estrictamente propios), el esquema de bloques de la realización de
estado es:
u x x y
+
B  C
+
A
Fig. 2. Esquema de bloques

Ejemplo 4. Péndulo invertido. Polinomio característico y autovalores. Considerar de nuevo el


péndulo invertido de la Fig. 1.
Se pide obtener su polinomio característico. ¿Es estable el sistema?

Solución:

Polinomio característico:  ( )  4  20.6012

Es inestable porque tiene un autovalor (polo) en +4.539.

alfa=poly(A)
alfa =
1.0000 -0.0000 -20.6010 0 0

roots(alfa)
ans =
0
0
4.5388
-4.5388

1.1.3 Conversión de EE a FT. Formas canónicas

Conversión de FT a EE

La conversión de FT a EE no es única pero existen ciertas formas que presentan ventajas frente a
otras. Son las formas canónicas y se obtienen aplicando de manera inversa la regla de Mason vista
en el Tema 1. A fin de eliminar los términos de productos de lazos y simplificar los términos , i,
se hace que todos los lazos se toquen (tengan al menos un nodo en común) y que todos los caminos
toquen también a todos los lazos (pasen también por dicho nodo). Cuando el nodo en común es el
nodo de entrada se obtienen las formas controlables y cuando es el de salida las observables.

Considerar la función de transferencia

bn 1 s n 1    b1 s  bo bn 1 s 1    b1 s  ( n 1)  bo s  n
H ( s)  
s n  a n 1 s n 1    a1 s  ao 1   a n 1 s 1    a1 s ( n 1)  ao s n 

Vamos a ver las formas canónicas más comunes:

ETSETB. Sistemas Electrónicos de Control 1314a 8


Tema 5. Control avanzado

Forma companion controlable (FCC)

También llamada directa 1D. Se obtiene por inspección directa de los coeficientes de H(s) y, por
tanto, no requiere calcular ni polos ni ceros.

bn-1
bn-2
b1
…  0 1 0   0
1 b0
    
 
 ,b 
-1 -1 -1
 s s s
A
…..
u xn xn-1 x2 y
x1
 0 1   0
-an-1 …    
-an-2  a 0  a1   a n 1   1
-a1
-a0
c t  b0 b1  bn 1 
Fig. 3. Forma canónica controlable

Forma companion controlable (FCC) de Matlab

Como en Matlab los nodos se numeran al revés, la FCC resultante obtenida con tf2ss es:

bn-1
bn-2
b1
…   a n 1  a n 2   a0   1
1 b0
 1   
0  0 0
u
 s-1 s-1 ….. s-1
A  , b 
x1 x2 xn-1 xn y
       
-an-1 …    0 

-an-2  0 0 1 0   
-a1
-a0 c t  bn 1 bn 2  b0 
Fig. 4. Forma canónica controlable (matlab)

Forma companion observable (FCO)

También llamada directa 2D: Si se toma la nomenclatura de nodos de la Fig. 3, puede obtenerse por
transposición de las matrices de la FCC ( A FCO  A TFCC , b FCO  c tFCC   T
, c tFCO  b TFCC ):

bn-1
bn-2
b1
… 0  0  a0   b0 
b0 1
1   
 s -1
s-1
s -1
 a1  b1 
A  ,b
…..
u x1 xn-1 xn y
xn-2
-an-1       

   
-an-2
0 1  an 1   bn 1 
-a1

c t   0  0 1
-a0

Fig. 5. Forma canónica observable

ETSETB. Sistemas Electrónicos de Control 1314a 9


Tema 5. Control avanzado

Forma canónica diagonal (FCD)

También llamada desacoplada. Se obtiene a partir de la descomposición de H(s) en suma de


fracciones simples. Requiere el cálculo de polos y residuos.

bn 1 s n 1    b1 s  bo c1 c2 cn
H ( s)    
s  a n 1 s    a1 s  ao s  1 s  2
n n 1
s  n

s-1
1 c1

1 1 c2 1 0 0
  1
s-1 b0 0   
2  1
 , b  
y   
u …
2
…   0 n

   
1 …
cn 0  0 n   1
s-1
c tn   c1 c2  cn 
n

Fig. 6. Forma canónica diagonal

Forma canónica en cascada

También llamada serie o tándem. Se obtiene a partir de la descomposición de H(s) en producto de


fracciones simples,

bn 1 s n 1    b1 s  bo b ( s  z1 ) s  zm
H ( s)   n 1 
n 1
s  a n 1 s    a1 s  ao
n
s  2 s  n

bm 1 s  zm
s  1 ... s  n

Fig. 7. Forma canónica serie

Conversión entre formas canónicas

Pasar de una representación de estado (canónica o no) implica hacer un cambio de las variables de
estado y hacer la transformación de manera que se preserven sus características dinámicas
(estabilidad, controlabilidad y observabilidad). Por ello, la transformación debe ser de similaridad
(conserva los autovalores).

El cambio de variables de estado es:


- Sistema a transformar: x  Ax  bu
y  ct x
- Cambio general de variables: x  x

ETSETB. Sistemas Electrónicos de Control 1314a 10


Tema 5. Control avanzado

- Transformación: x  Tx
- Sistema transformado: x  Ax
   b u

y  c t x
  T1AT , b  T 1 b y c t  c t T
donde A

La matriz de paso T debe ser una matriz unitaria, T*T=I, TT*=I, y su valor será distinto según sea
la forma canónica que queremos calcular:

Conversión a forma canónica diagonal. Matriz modal

En este caso la transformación requerida viene dada por T=M, siendo M  m 1 m 2  m n 


la matriz modal formada por columnas de autovectores por la derecha (right eigenvectors,
Au i  i u i , por lo que también se denota por U  u 1  u n  ). También es posible formar la
 v 1t 
 
matriz modal por filas (left modal matrix: V T     ), cuyas filas son los autovectores por la
 v tn 
 
izquierda v i , v i A  i v i .
t T T

La variable transformada suele denotarse por z en vez de x , y la matriz de estado resultante se suele
denominar  en vez de A.

Casos especiales: Si A es companion con autovalores distintos entonces M es una matriz de Van
der Monde. Si los autovalores son complejos,  será diagonal por bloques.

Conversión a forma canónica controlable. Variables de fase

La matriz que realiza esta transformación es T  M c W , siendo M c la matriz de controlabilidad y W


la matriz de Toëplitz obtenida a partir del polinomio característico del sistema.

Expresión de M c : M c  b  Ab  A n 1 b , siendo n el número de estados.

 a1  an 1 1
   1 0
Obtención de W a partir de  (  )    an 1  a1  a0 : W  
n n 1 
an 1  
 
 1 0  0

Conversión a forma canónica observable

  1
La matriz que realiza la transformación es T  WM o , siendo M o la matriz de observabilidad y
W la misma matriz de Toëplitz presentada en el apartado anterior.

ETSETB. Sistemas Electrónicos de Control 1314a 11


Tema 5. Control avanzado

 ct 
 t 
cA 
Expresión de M o : M 0   , siendo n el número de estados.
  
 t n 1 
c A 

Ejemplo 5. Realizaciones de una H(s). Formas canónicas. Dada la función de transferencia


s2
H ( s) 
s  4s  3
2

Se pide:

1) Obtener su realización en Forma Companion Controlable (FCC) (versión Matlab). (Matlab:


tf2ss)
num=[1 2];
den=[1 4 3];
disp('FCC matlab')
[a,b,c,d]=tf2ss(num,den)

  4  3  1
FCC (MATLAB): A cM   ;b cM   ;c tcM  1 2 
1 0  0

1 2
x1 s-1 x1  x 2 s-1 x2
u y
-4
-3

2) Obtener su realización en Forma Companion Controlable (FCC) (versión teoría). (Matlab:


rot90, flipud, fliplr)

disp ('FCC teoria')


a=rot90(a,2),b=flipud(b),c=fliplr(c),

0 1  0
FCC (teoría): Ac   ;b c   ;c tc  2 1
  3  4 1

1 2
x 2 s-1 x1  x2 s-1 x1
u y
-4
-3

3) Obtener su realización en Forma Companion Controlable (FCC) a partir de la trasformación de


similaridad x  Txˆ , T  M c W . (Matlab: ctrb, poly, inv)

ETSETB. Sistemas Electrónicos de Control 1314a 12


Tema 5. Control avanzado

disp('FCC toeplitz')
Mc=ctrb(a,b);
pol=poly(a);
W=[pol(2) 1; 1 0];
T=Mc*W;
aFCC=inv(T)*a*T
bFCC=inv(T)*b
cFCC=c*T
0 1  0
FCC: Ac   ;b c   ;c tc  2 1
  3  4 1

4) Obtener su realización en Forma Companion Observable (FCO) a partir de la trasformación de


1
similaridad x  Tx , T  ( WMo ) . (Matlab: obsv, poly, inv)

disp('FCO toeplitz')
Mo=obsv(a,c);
T=inv(W*Mo)';
aFCO=inv(T)*a*T
bFCO=inv(T)*b
cFCO=c*T
0  3  2
FCO: Ao   ;bo   ;c ot  0 1
1  4   1

2 1
x1 s-1 x2  x1 s-1 x2
u y
-4

-3

5) Obtener su forma canónica en cascada

s2 1 s2
H ( s)   
s  4s  3 s  1 s  3
2

 1 0   1 
x    x   u
 1  3  0 
y  1 2 x  0  u
1
1
x1 s-1 x1 1 1 x
2 s-1 x2
2
u y
-1 -3

6) Obtener su forma canónica diagonal


s2 0.5 0.5
H ( s)   
s  4s  3 s  1 s  3
2

ETSETB. Sistemas Electrónicos de Control 1314a 13


Tema 5. Control avanzado

  1 0  1
x   x   u
 0  3 1
y  0.5 0.5x  0  u

x1 s-1 x1
1 0.5
-1
u y
x 2 s-1
x2
1 0.5
-3

Ejemplo 6. Forma canónica diagonal y de Kalman. Dado el sistema con:

 5  2  4  1  1
 3  1  2
A   2 1  2 ; B 3 1 ; C
     1 0 0 
1  1 0    1  1

Se pide:
1) Convertir las matrices A, B y C a la Forma Canónica Diagonal (Nota: Calcularla a través de
x  Mz).

a=[5 -2 -4;2 1 -2;1 -1 0];


b=[1 -1;3 1;-1 -1];
c=[3 -1 -2;-1 0 0];
d=zeros(2);
%diagonal obteniendo T
[T,D]=eig(a),
an=inv(T)*a*T
bn=inv(T)*b
cn=c*T;

T =
-0.7071 0.7071 0.0000
-0.7071 -0.0000 -0.8944
-0.0000 0.7071 0.4472

D =
3.0000 0 0
0 1.0000 0
0 0 2.0000

an =
3.0000 -0.0000 -0.0000
-0.0000 1.0000 -0.0000
0.0000 0.0000 2.0000

bn =
-1.4142 1.4142
0.0000 0.0000
-2.2361 -2.2361

cn =
-1.4142 0.7071 0.0000
0.7071 -0.7071 -0.0000

ETSETB. Sistemas Electrónicos de Control 1314a 14


Tema 5. Control avanzado

2) Convertir las matrices A, B y C a la Forma Canónica Diagonal (Nota: Calcularla a través de la


función canon).

%diagonal canon
FCD=canon(ss(a,b,c,d),'modal')

a =
x1 x2 x3
x1 3 0 0
x2 0 1 0
x3 0 0 2

b =
u1 u2
x1 -1.414 1.414
x2 5.024e-015 4.082e-015
x3 -2.236 -2.236

c =
x1 x2 x3
y1 -1.414 0.7071 4.552e-015
y2 0.7071 -0.7071 -2.913e-015

d =
u1 u2
y1 0 0
y2 0 0

Continuous-time model.

3) Obtener la Forma Canónica Controlable de Kalman (FCCK), separando el subsistema controlable


( A c ) del no controlable ( A c ).
 A A12 
Nota: La transformación es x  Txˆ , T  T1T2   A   c  , siendo T1 una submatriz
 0 Ac 
con n1  n columnas linealmente independientes de M c y el resto (T2) columnas arbitrarias que
 Ac 0
no hagan singular la matriz T. La función ctrbf  de matlab da como resultado A   .
 A 21 A c 
%FCCK
[aa,bb,cc,T,k]=ctrbf(a,b,c);
aa =
1.0000 -0.0000 0.0000
-5.8424 2.8000 -0.1633
2.6833 -0.9798 2.2000

bb =
-0.0000 -0.0000
0.4472 -1.3416
-3.2863 -1.0954

cc =
-3.2660 1.7889 -0.3651
0.4082 -0.8944 0.1826

T =
-0.4082 0.4082 0.8165
0.8944 -0.0000 0.4472
-0.1826 -0.9129 0.3651

k =
2 0 0

ETSETB. Sistemas Electrónicos de Control 1314a 15


Tema 5. Control avanzado

1.1.4 Solución de ecuaciones de estado. Respuestas zero input y zero state

También en el primer tema vimos cómo la respuesta de un sistema lineal estaba formada por la
superposición de dos términos:

 Respuesta zero state (ZS): Respuesta del sistema debida únicamente a la excitación u(t),
suponiendo pues condiciones iniciales nulas (x(0)=0).

 Respuesta zero input (ZI): Respuesta del sistema debida únicamente a la energía
almacenada en él en el instante 0, es decir, debida únicamente a las condiciones iniciales
x(0), suponiendo excitación nula, u(t)=0.

Vamos a ver cómo se obtiene la respuesta temporal a partir de las ecuaciones de estado.

Por Laplace. Matriz resolvente y matriz de transición

x  Ax  Bu
sX( s )  x(0)  AX( s)  BU( s )
( sI  A) X( s)  x(0)  BU( s)
X ( s )  ( sI  A ) 1 x(0)  BU( s )
t
x(t )  e
At
 x(0)   e A ( t  ) Bu( )d
ZI
0

ZS

A la matriz Φ( s )  ( sI  A ) 1 se la llama matriz resolvente. Para pasar al dominio temporal se


usa la transformación de Laplace inversa (y de manera análoga al caso SISO: 1 /( s  a )  e at ).
Así, la transformada inversa es  (t )  e At y se la llama matriz de transición.

Para obtener la expresión en el tiempo de x(t) necesitamos calcular la matriz de transición. Este
cálculo se simplifica mucho si antes de obtenerla pasamos a FCD (puesto que, entonces e Λt
también será diagonal) y, después, volvemos a aplicar la transformación modal inversa: Sabemos
que x = Mz, siendo M la matriz modal,

Mz  AMz  Bu
z  M 1 AMz  M 1 Bu  Λz  B n u con z (0)  M 1 x(0)
z (t )  e Λt z (0)   e Λ (t  ) B n u( )d

Cálculo de la matriz de transición

Para calcular la matriz eAt hay diversas opciones:

a) Laplace: 
e At  L1 ( sI  A) 1  y obteniendo Φ(s ) tanto matricialmente como
topológicamente

b) Cálculo numérico aproximado (aplicación: discretización de las ecuaciones de estado)

ETSETB. Sistemas Electrónicos de Control 1314a 16


Tema 5. Control avanzado

A 2T 2
A d  e AT  I  AT  
2!
T

 0 
 
B d    e  d  B  A 1 e AT  I B  A 1 AT  B  TB

A 2t 2
c) Cayley-Hamilton (posibilita reducir la serie e At  I  At    a un polinomio)
2!
c.1) Polinomio: e At   0I  1A     n 1A n 1
c.2) Cálculo de los coeficientes: e1t   o  11     n 11n 1
...
en t   o  1n     n 1nn 1

d) Desarrollo de Sylvester
n
d.1) Polinomio: e At   e F
i 1
it
i

n
A   jI
d.2) Cálculo de los coeficientes: Fi  
j 1 i j
( j i )

Ejemplo 7. Cálculo de la matriz de transición. Calcular la matriz de transición del siguiente


sistema por diferentes métodos:
 0 1  0
x    x   u
  2  3 1
y  1 0x  0  u
Solución:

Primer método: Por Laplace

Matriz resolvente calculada matricialmente:


 s  3 1
1 
  s 2  3s  2    2 s
 0 1  s  3 1 
Φ( s )  ( sI  A ) 1     s 2   Φ( s )  2 
 2  3    1 s  3    2 s   s  3s  2
   

Descomposición en suma de fracciones simples de cada elemento de la matriz:

s3 2 ( 1) 1 1 ( 1)


 11 ( s )    ,  12 ( s )   
s  3s  2
2
s 1 s  2 s  3s  2
2
s 1 s  2
( 2) ( 2) 2 1 ( 1) 2
 21 ( s )  2   ,  22 ( s )  2  
s  3s  2 s 1 s  2 s  3s  2 s 1 s  2

Transformada inversa de cada término:

ETSETB. Sistemas Electrónicos de Control 1314a 17


Tema 5. Control avanzado

 2 e  t  e 2 t e  t  e 2 t 
e At   t 2 t 
  2e  2e  e t  2e  2 t 

Segundo método: Cayley-Hamilton

Según el teorema del mismo nombre, la matriz A es solución de su polinomio característico.

 e 1t   0  11
e At   0 I  1A    t
 e   0   1 2
2

Por tanto, hay que resolver el siguiente sistema a fin de hallar 0 y 1:

e 2 t   0  21
 t
 e   0  1  1  e  21  e  1  e t  e  2 t
2t t

 0  e 2 t  2e  t  2e 2 t  2e  t  e 2 t

 2e  t  e 2 t e  t  e 2 t
e At
  0 I   1 A    2e t  2e  2 t ee
2 t
 32 t
e  t
3e
 2 t
 
 e  t  2 e  2 t 

Ejemplo 8. Simulación de respuestas ZI y ZS. Considerar de nuevo el péndulo simple del Tema
1,
( s ) 1 1
H ( s)   2  2
U ( s ) s  s   s  0.5s  10

En este ejemplo veremos cómo simular las respuestas ZS y ZI.

Si obtenemos su respuesta indicial a partir de la función de transferencia, lo que estamos simulando


es sólo la respuesta ZS (recordar que la función de transferencia implicaba CI nulas):

Step Response
>> H=tf(1,[1 0.5 10]) 0.18

0.16

Transfer function:
0.14
1
--------------------- 0.12

s^2 + 0.5 s + 10
Amplitude

0.1

0.08
>> step(H)
0.06
>>
0.04

0.02

0
0 5 10 15 20 25
Time (sec)

En cambio, si trabajamos con la descripción de estado, podemos encontrar por separado ZS, ZI o la
suma de ambas. Las ecuaciones de estado del péndulo simple son:

ETSETB. Sistemas Electrónicos de Control 1314a 18


Tema 5. Control avanzado

 x1   0 1  x1  0
        u
 x2       x2  1
x 
y  1 0 1   0u
 x2 

Para el caso =10, =0.5, las siguientes figuras muestran respectivamente la respuesta zero input a
condiciones iniciales x(0)  0.2  0.2  y la respuesta zero state:
T

0.6
>> a=[0 1;-10 -0.5];
>> b=[0;1]; 0.4
>> c=[1 0];
>> d=0; 0.2

>> H=ss(a,b,c,d); 0

-0.2
>> x0=[0.2;-0.2];
>> [y,t,x]=initial(H,x0); -0.4
>> plot(t,x)
-0.6

-0.8
0 5 10 15 20 25

0.3
>> a=[0 1;-10 -0.5];
>> b=[0;1]; 0.2
>> c=[1 0];
>> d=0; 0.1

>> H=ss(a,b,c,d); 0

-0.1
>> [y,t,x]=step(H);
>> plot(t,x) -0.2

-0.3

-0.4
0 5 10 15 20 25

Notar que, en la segunda gráfica, la primera variable de estado (azul) coincide con la salida de la
función de transferencia.

Finalmente, podemos simular la suma de la respuesta ZS y la respuesta ZI:

0.3
>> a=[0 1;-10 -0.5];
>> b=[0;1]; 0.2
>> c=[1 0];
>> d=0; 0.1

>> H=ss(a,b,c,d); 0

>> x0=[0.2;-0.2]; -0.1

-0.2
>> t=linspace(0,25,200);
>> u=ones(size(t));
-0.3
>> [y,t,x]=lsim(H,u,t,x0);
>> plot(t,x) -0.4
0 5 10 15 20 25

ETSETB. Sistemas Electrónicos de Control 1314a 19


Tema 5. Control avanzado

Ejemplo 9. Simulación de respuestas ZI y ZS. Dada la función de transferencia

s2
H ( s) 
s  4s  3
2

se trata de obtener su respuesta temporal: Las respuestas ZI, ZS y ZI+ZS del sistema con excitación
1
escalón unitario y condiciones iniciales x (0)    . La descripción en EE es
1

0 1  0
x    x   u
  3  4  1 
y  2 1x  0  u

En primer lugar se calcula la respuesta zero-input tomando como condiciones iniciales (CI) a
x1 (0)  1 y x 2 (0)  1 . (Matlab: tf2ss, initial, ss, plot, title, xlabel):

num=[1 2];den=[1 4 3];[a,b,c,d]=tf2ss(num,den);x0=[1 1]';


%zero input
figure(1),[y,t,x]=initial(ss(a,b,c,d),x0);
plot(t,y,t,x,'--'),title('zero input'),xlabel('t'),

zero input
3

2.5

1.5

0.5

-0.5

-1
0 1 2 3 4 5 6 7 8 9
tiempo

Ahora se calcula la respuesta zero-state a una excitación escalón unitario. (Matlab: step, ss, plot,
title, xlabel):

%zero state a escalon unitario


figure(2),[y2,t,x2]=step(ss(a,b,c,d),t,x0*0);
plot(t,y2,t,x2,'--'),title('zero state'),xlabel('t'),

zero state
0.7

0.6

0.5

0.4

0.3

0.2

0.1

0
0 1 2 3 4 5 6 7
tiempo

ETSETB. Sistemas Electrónicos de Control 1314a 20


Tema 5. Control avanzado

Ahora se calcula y representa la respuesta total (zero-state más zero-input). (Matlab: lsim, ss, plot
title, xlabel)

%total
figure(3),[y3,t,x3]=lsim(ss(a,b,c,d),t*0+1,t,x0);
plot(t,y3,t,x3,'--'),title('total'),xlabel('t'),
total
3.5

2.5

1.5

0.5

-0.5
0 1 2 3 4 5 6 7
tiempo

Finalmente se presenta en el plano de estado ( x2 ( x1 ) ) la respuesta del sistema a un conjunto de


condiciones iniciales (variando entre –1 y 1). (Matlab: for..end, initial, ss, plot, axis, hold on hold
off, title, xlabel, ylabel):

%plano de estado
figure(4)
for x1=-1:0.25:1
for x2=-1:0.25:1
[y,t,x]=initial(ss(a,b,c,d),[x1;x2]);
plot(x(:,1),x(:,2)),hold on
end
end
axis([-1 1 -1 1]),title('Plano de fase')
xlabel('x_1'),ylabel('x_2')
hold off

Ejemplo 10. Péndulo invertido. Simulación de la respuesta zero input. Considerar de nuevo el
péndulo invertido de la Fig. 1.

ETSETB. Sistemas Electrónicos de Control 1314a 21


Tema 5. Control avanzado

Se pide obtener la respuesta zero input a x 0  0.1 0 0 0 . Representar por separado cada
T

una de las variables de estado (subplot).

Solución:

La respuesta a condiciones iniciales modela la perturbación con respecto al punto de equilibrio:

>> x0=[0.1 0 0 0];


>> t=linspace(0,0.8);
>> [y,t,x]=initial(ss(a,b,c,d),x0,t);
>> plot(t,x)
>> xlabel('tiempo'),title('planta sin control')
>> legend('\theta','d\theta/dt','x','dx/dt','Location','Best')

planta sin control


9

8 
d/dt
7 x
dx/dt
6

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8
tiempo

1.1.5 Análisis de controlabilidad y observabilidad

Definiciones

Suponer que tenemos un sistema con n estados, algunos estables y otros inestables. Entonces,

 El sistema es totalmente controlable si tenemos acceso a todos los estados desde el nodo de
control u.
 En el caso de que no todos los estados sean controlables, se dice que el sistema es
estabilizable si, al menos, todos los estados inestables sí que son controlables desde u.
 El sistema es totalmente observable si tenemos acceso a todos los estados desde el nodo de
salida y.
 En el caso de que no todos los estados sean observables, se dice que el sistema es detectable
si, al menos, todos los estados inestables sí que son observables desde y.

Criterios

Existen diferentes criterios para determinar si un sistema es controlable y/o observable. Por
ejemplo se pueden usar las matrices de controlabilidad y observabilidad:

ETSETB. Sistemas Electrónicos de Control 1314a 22


Tema 5. Control avanzado

 Criterio de controlabilidad: Un sistema es totalmente controlable si el rango de su matriz de


controlabilidad M c es igual al número de estados n.

M c  b Ab  A n 1 b

 Criterio de observabilidad: Un sistema es totalmente observable si el rango de su matriz de


observabilidad M o es igual al número de estados n.

 ct 
 t 
 cA 
M0 
  
 t n 1 
c A 

Aparte de las matrices Mc y Mo también se puede estudiar la controlabilidad y observabilidad por


medio de los Gramianos, por medio de la forma canónica diagonal y por medio de la
descomposición de Kalman.

Propiedades

 
Dualidad: La controlabilidad del sistema A 1 , b 1 , c1t es equivalente a la observabilidad del

  
sistema A 2  A 1T , b 2  c1t
T

, c 2t  b 1T .

Efecto de la retroacción de estado sobre la controlabilidad y la observabilidad: El sistema resultante


(controlado) retiene la propiedad de controlabilidad de la planta, pero puede perder la
observabilidad de la planta.

Ejemplo 11. Análisis de controlabilidad y observabilidad. Estabilizabilidad y detectabilidad.


Dado el sistema definido por las siguientes matrices:

2 8 0 0  1
0   
3 6 0 1
A  , b 
 0 , c t  0 1 1 0
0 0 4 0
   
0 0 0  5  0

se trata de estudiar su controlabilidad (estabilizabilidad) y su observabilidad (detectabilidad).

Se pide:

 
1) Calcular la matriz de controlabilidad M c  b Ab  A n 1b , determinar por inspección su
rango e interpretar el resultado. (Matlab: ctrb,rank)

a=[2 8 0 0;0 3 6 0;0 0 4 0;0 0 0 -5];


b=[1 1 0 0]';

ETSETB. Sistemas Electrónicos de Control 1314a 23


Tema 5. Control avanzado

c=[0 1 1 0];
mc=ctrb(a,b),rc=rank(mc)

1 10 44 160
1 3 9 27 
Mc       2 No controlable
0 0 0 0  c

 
0 0 0 0 

 ct 
 t 
2) Calcular la matriz de observabilidad c A  , determinar por inspección su rango e
Mo  
  
 t n 1 
c A 
interpretar el resultado. (Matlab: obsv, rank)

mo=obsv(a,c),ro=rank(mo)

0 1 1 0
0 3 10 0
Mo     o  2 No observable
0 9 58 0
 
0 27 286 0

3) Hallar la Forma Canónica Diagonal e identificar los modos observables y/o controlables.
(Matlab: canon)

FCD=canon(ss(a,b,c,0),'modal')

2 0 0 0  7
0   
3 0 0 8.06
FCD     , b 
0 0 4 0 n  0   Los modos 4 y -5 no son controlables
   
0 0 0  5  0 

c tn  0 012
. 0.28 0  Los modos 2 y -5 no son observables

4) A la vista del resultado anterior indicar si el sistema es estabilizable y/o detectable.

El modo inestable 4 no es controlable  el sistema no es estabilizable.

El modo inestable 2 no es observable  el sistema no es detectable.

Ejemplo 12. Péndulo invertido. Análisis de controlabilidad y observabilidad.


Estabilizabilidad y detectabilidad. Considerar de nuevo el péndulo invertido de la Fig. 1.

ETSETB. Sistemas Electrónicos de Control 1314a 24


Tema 5. Control avanzado

Se pide estudiar su controlabilidad y su observabilidad. Ídem con su estabilizabilidad y su


detectabilidad.

Solución:

Es totalmente controlable. Por tanto, también es estabilizable.

Mc=ctrb(A,B)
rank(Mc)

Mc =
0 -1.0000 0 -20.6010
-1.0000 0 -20.6010 0
0 0.5000 0 0.4905
0.5000 0 0.4905 0

ans =
4

Sin embargo, es completamente observable desde y2=x, pero no desde y1=.

rank(obsv(a,c(1,:)))
ans =
2

rank(obsv(a,c(2,:)))
ans =
4

1.1.6 Análisis de estabilidad (Lyapunov)

Segundo método de Lyapunov

Función de Lyapunov: V ( x )  xt Px, forma cuadrática definida positiva.


V (x)  x T ( A T P  PA )x , forma cuadrática definida negativa.
Criterio de estabilidad. Método:
1) Plantear la ecuación A T P  PA   I .
2) Resolver obteniendo P.
3) Estudiar del signo de la matriz P.

Para estudiar el signo de una matriz hay que estudiar los menores (minors) de la matriz. Éstos
pueden ser menores principales y menores principales básicos (leading)

El menor (asociado al elemento aij de una matriz A nn) es el determinante de la matriz (n-1)(n-1)
obtenida eliminando la fila i y la columna j.

El cofactor asociado al elemento aij es el menor dotado del signo (-1)i+j.

Ejemplo 13. Análisis de estabilidad. Dada la función de transferencia

ETSETB. Sistemas Electrónicos de Control 1314a 25


Tema 5. Control avanzado

s2
H ( s) 
s  4s  3
2

se trata de estudiar su estabilidad: 1) obteniendo sus autovalores (por tratarse de un SLI), y 2)


aplicando el segundo método de Lyapunov (de gran utilidad en los sistemas no lineales).

Solución:
Primero calculamos los autovalores de dos de sus realizaciones y comprobamos que coinciden con
los polos de H ( s) . (Matlab: roots, tf2ss, canon, ssdata, eig)

num=[1 2];den=[1 4 3];


%
polos=roots([1 4 3])
%
FCD=canon(tf(num,den),'modal');[a,b,c,d]=ssdata(FCD),
autoval=eig(a)
%
[a,b,c,d]=tf2ss(num,den);
autoval=eig(a)

Autovalores:  1  1 y  2  3

A partir de la matriz del sistema correspondiente a la Forma Companion Controlable, resolvemos la


ecuación de Lyapuov ( A T P  PA   I ) y determinamos el signo de la forma cuadrática cuya matriz
de coeficientes es P, mediante el criterio de Sylvester. (Matlab: lyap, eye, det)

p=lyap(a',eye(2))
p11=p(1,1)
detP=det(p)
if (p11>0) & (detP>0),disp('estable'),else,('inestable'),end

Segundo método de Lyapunov:


0.1667 0.1667
Solución: P 
0.1667 1.1667 
Signos: 0.1667  0 y det( P )  0.1667  0  Estable

1.1.7 Ventajas de las EE frente a ED y FT

Limitaciones de las descripciones entrada/salida

La función de transferencia es una descripción entrada/salida que no tiene en cuenta lo que hay
dentro del sistema (cosa que sí hacen las EE) y por ello puede dar problemas. Veámoslo con un
ejemplo:

Ejemplo 14. Limitaciones de la FT. Estudiar la estabilidad del siguiente sistema con ayuda de la
función impulse y obteniendo la función de transferencia. Extraer conclusiones.

ETSETB. Sistemas Electrónicos de Control 1314a 26


Tema 5. Control avanzado

 3 0 1
x   x   u
 0 1 1
y  1 0x  0  u

Solución:

Si representamos sólo la salida o los estados se obtiene lo siguiente:

>> impulse(ss(a,b,c,d)) >> [y,t,x]=impulse(ss(a,b,c,d));plot(t,x)

Impulse Response
1
7
0.9
6
0.8

0.7 5

0.6
Amplitude

4
0.5

0.4 3

0.3
2
0.2

1
0.1

0 0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.5 1 1.5 2
Time (sec)

La salida coincide con el primer estado, que es estable. Sin embargo, el segundo estado, no visible
desde la salida es inestable. Es decir, el sistema es inestable pero desde la salida no podemos
observarlo.

Vamos a obtener la función de transferencia de este sistema:


Hay que aplicar esta fórmula: H ( s )  c  ( sI  A ) 1  b

En primer lugar calculamos la matriz resolvente (s):


s  1 0 
s  3 0  s  3  0  s  1 0   0 s  3
( sI  A )    ⇒   ⇒  ⇒ ( sI  A ) 1  
 0 s  1   0 s  1  0 s  3  ( s)

donde el polinomio característico es  ( s )  ( s  3)( s  1) .

Así,
s  1 0  s  1
 0  1 0 
 s  3 1  s  3 s  1 s 1 1
H ( s )  1 0      
 ( s)  1  ( s)  ( s ) ( s  3)( s  1) s  3

El polo inestable se ha cancelado y no aparece en la función de transferencia (¡!).

¿Por qué sucede esto? La FCD nos muestra que el autovalor inestable +1 no es observable desde la
salida:

ETSETB. Sistemas Electrónicos de Control 1314a 27


Tema 5. Control avanzado

x1 s-1 x1
1 1
-3
u y
x 2 s-1 x2
1
+1

El sistema es totalmente observable pero no es detectable.

Comparación ED, FT y EE

ED: modelos obtenidos a partir de las leyes de la física


difíciles de obtener
generales (NL, MIMO, CI)
describen con mucho detalle la dinámica
no son adecuados para el diseño de controladores

FT: modelo sencillo


polos
adecuado para análisis cuantitativo rápido
adecuado para diseño de controladores
limitados a SISO, LTI, CI nulas
al ser una descripción E/S se pierde información interna

EE: modelo de EDs de 1er orden


autovalores
generales (NL, MIMO, CI)
la realización en EE no es única
permiten el análisis por simulación numérica
adecuados para el diseño de controladores (por ordenador)
contiene información sobre la estructura interna del sistema

ETSETB. Sistemas Electrónicos de Control 1314a 28


Tema 5. Control avanzado

1.2 Control modal

1.2.1 Regulador del estado. Fijación de polos

Formulación del problema

1) Planta: , Condiciones iniciales (CI): x( 0  )  0 ,  (  ) de grado n


yc x t

2) Objetivo del control: Suponiendo que se ha producido una perturbación de las condiciones
iniciales x(0  )  x 0 , el objetivo es conseguir que el estado vuelva a su valor original, según una
dinámica caracterizada por un polinomio característico c() cualquiera pero razonable. En
resumen, se trata de cambiar  (  ) por  c (  ) .

Solución del problema

1) Condición de existencia: El sistema debe ser controlable, es decir, rango ( M c )  n .

2) Ley de control: Retroacción de las variables de estado u(t )   k tc x(t )


3) Esquema de bloques

u x x y
+ t
b  c
-
+
A

k tc
Fig. 8. Retroacción de las variables de estado
4) Métodos de cálculo del vector de ganancias: El vector k tc se puede calcular de diversas
formas:
a) Por simple inspección (si las ecuaciones de estado están en FCC).
b) Por identificación de coeficientes: I  A  bk tc   c ( )
c)  
Utilizando la fórmula de Ackermann: k ct  0  0 1  M c1   c ( A )

  a  a    M W 
T 1
d) Utilizando la fórmula de Bass-Gura: k tc c c donde los coeficientes
del vector a   a 0 a1  a n 1 
T
se toman del polinomio característico de la planta
 (  )  n  an 1n 1  a1  a0 , y los coeficientes de ac se toman, de manera análoga, del
polinomio deseado  c (  ) a obtener una vez cerrado el lazo.

5) Sistema global: El sistema, una vez cerrado el lazo, es

x  ( A  bk tc )x
y  ct x donde se suele definir A c  A  bk tc

ETSETB. Sistemas Electrónicos de Control 1314a 29


Tema 5. Control avanzado

Comentarios

1) Unicidad de la solución: En el caso MIMO la solución (K) no es única. El MATLAB resuelve


este problema con la instrucción place. La no unicidad, lejos de ser un inconveniente, puede
ser una ventaja al permitir fijar y obtener objetivos adicionales.

2) Interpretación clásica: La retroacción de salida equivalente a la de estado ( Heq(s) ) es

U ( s) k t X( s) k t  ( s)bU ( s) k t  ( s)b
Equivalencia (caso SISO): Heq ( s)   t  
Y ( s) c X( s) c t  ( s)bU ( s) c t  ( s)b

u y u y
G(s) G(s)

x
uc uc
kt
Heq(s)

Fig. 9. Retroacción de salida equivalente a la retroacción de estado

3) Ganancia del lazo: El lazo es L( s )  G ( s ) H eq ( s )

U c ( s ) k t X ( s ) k t Φ( s )bU ( s )
L( s )     k t Φ( s )b
U ( s) U ( s) U ( s)

Ejemplo 15. Regulador del estado. Cálculo de la matriz de ganancias. Considerar la planta
1
G( s) 
s  0s  1
2

Se pide obtener por varios métodos el vector de ganancias de estado que consigue las
(...)
especificaciones dadas por M ( s )  . Comprobar el resultado representando las
s  s  0.5
2

respuestas indiciales de la planta y el servo

Solución:

La realización de estado de la planta en FCC es

0 1   0 
x   x   u
1 0  1 
y   1 0x  0  u

Las matrices de estado de la planta y el servo en FCC son:

ETSETB. Sistemas Electrónicos de Control 1314a 30


Tema 5. Control avanzado

0 1   0 1
A  , Ac   
1 0   0.5  1

Primer método: Por simple inspección:

Ac
   A
 b
kc
 0 1  0 1   0    
  0.5  1 1 0  1  1 2 
    k k
      
0 0
k k 
 1 2

 0 1  0 1 
  0.5  1  1  k ⇒ k c  1.5 1
   1  k2 

Segundo método: Fórmula de Ackermann (matlab)

>> a=[0 1;1 0];b=[0;1];


>> kc=acker(a,b,roots([1 1 0.5]))
kc =
1.5000 1.0000

Cálculo de los polos y de las respuestas indiciales

%Planta 0
Planta sin control

>> P=ss(a,b,c,d);
>> step(P), -500
Amplitude

>> polos_planta=eig(a)
-1000
polos_planta =
-1
-1500
1 0 1 2 3 4 5 6 7 8
Time (sec)
%Servo
>> ac=a-b*kc; 0
Planta con regulador de estado

>> M=ss(ac,b,c,d); -0.5


>> step(M),
Amplitude

-1
>> polos_servo=eig(ac) -1.5
polos_servo = -2
-0.5000 + 0.5000i
-2.5
-0.5000 - 0.5000i 0 2 4 6 8 10 12
Tiempo (s) (sec)

Ejemplo 16. Péndulo invertido. Regulador de estado. Fijación de polos. Considerar de nuevo
el péndulo invertido con carrito del Ejemplo 1.

El problema: Se desea que el péndulo recupere la verticalidad en presencia de perturbaciones tales


como un golpe de viento actuando sobre la masa m o una fuerza inesperada sobre el carrito donde
está montado el péndulo. Estas perturbaciones se modelarán como condiciones iniciales.

El objetivo de control puede conseguirse aplicando sobre el cochecillo una fuerza u apropiada. Al
final del proceso se desea situar de nuevo al cochecillo en su posición de referencia x = 0. Las
especificaciones piden que el proceso sea rápido (un tiempo de establecimiento de unos 2 segundos)
y que el amortiguamiento sea razonable.

Se pide:

ETSETB. Sistemas Electrónicos de Control 1314a 31


Tema 5. Control avanzado

1) Especificaciones: Para tener t s  2 y un amortiguamiento razonable, se escogen dos polos


dominantes con  = 0.5 y n = 4. Los otros dos polos se suponen iguales a –10 para que no afecten
a la dinámica nominal. Indicar cuáles son los polos especificados y construir el polinomio
característico deseado.
2) Obtener la ganancia de la retroacción de estados kc con ayuda de la función acker.
3) Obtener las matrices del sistema regulado. Comprobar el valor del polinomio característico y
los autovalores.
x 0  0.1 0 0 0 
T
4) Representar la evolución de los cuatro estados a y a
x 0  0.2 0 0.2 0  .
T
Representar también el esfuerzo de control u en ambos casos.
Comentar el resultado.
5) Opcional: Repetir el diseño para  = 0.5 y n = 2. Comparar los resultados con el caso
anterior y extraer conclusiones acerca de la velocidad y sensibilidad de ambos diseños.

Solución:

1) Polos deseados. Polinomio característico deseado:

 c ( )  4  243  1962  720  1600

z=0.5;wn=4;
p1=-z*wn+j*wn*sqrt(1-z^2)
p2=conj(p1)
p3=-10
p4=-10
[nu,alfa_c]=zp2tf([],[p1 p2 p3 p4],1);alfa_c

p1 =
-2.0000 + 3.4641i
p2 =
-2.0000 - 3.4641i
p3 =
-10
p4 =
-10

alpha_c =
1.0e+003 *
0.0010 0.0240 0.1960 0.7200 1.6000

2) Ganancia de la retroacción de estados

%ganancia de la retroaccion de estados


kc=acker(A,B,[p1 p2 p3 p4])

kc =
-298.1504 -60.6972 -163.0989 -73.3945

3) Matrices del sistema regulado. Polinomio característico. Autovalores

%sistema en lazo cerrado


Ac=A-B*kc

pol_caract=poly(Ac)
autoval=eig(Ac)

Ac =
0 1.0000 0 0
-277.5494 -60.6972 -163.0989 -73.3945
0 0 0 1.0000
148.5847 30.3486 81.5494 36.6972

ETSETB. Sistemas Electrónicos de Control 1314a 32


Tema 5. Control avanzado

pol_caract =
1.0e+003 *
0.0010 0.0240 0.1960 0.7200 1.6000

autoval =
-10.0000 + 0.0000i
-10.0000 - 0.0000i
-2.0000 + 3.4641i
-2.0000 - 3.4641i

>> t=linspace(0,1);
>>x0=[0.1 0 0 0];
>> [y,t,x]=initial(ss(ac,b,c,d),x0,t);
>> plot(t,x)

regulador del estado


0.6

0.4

0.2

-0.2

-0.4

-0.6 
d/dt
-0.8 x
dx/dt
-1
0 0.2 0.4 0.6 0.8 1
tiempo

4) Evolución ZI de los estados del sistema regulado. Esfuerzo de control

t=linspace(0,3);
x0=[0.1 0 0 0];
[y,x,t]=initial(Ac,B,C,D,x0,t);
u=kc*x';
figure(3)
plot(t,u),title('esfuerzo de control'),hold on
h=figure(2);
subplot(221),plot(t,x(:,1)),title('x_1: posic angular bola'),hold on
subplot(222),plot(t,x(:,2)),title('x_2: veloc angular bola'),hold on
subplot(223),plot(t,x(:,3)),title('x_3: posic lineal cart'),hold on
subplot(224),plot(t,x(:,4)),title('x_4: veloc lineal cart'),hold on
set(h,'name','Regulador de estados','numbertitle','off')

x0=[0.2 0 0.2 0];


[y,x,t]=initial(Ac,B,C,D,x0,t);
u=kc*x';
h=figure(2);
subplot(221),plot(t,x(:,1),'g'),
subplot(222),plot(t,x(:,2),'g'),
subplot(223),plot(t,x(:,3),'g'),
subplot(224),plot(t,x(:,4),'g'),
figure(3)
plot(t,u,'g')

ETSETB. Sistemas Electrónicos de Control 1314a 33


Tema 5. Control avanzado

1.2.2 Observador del estado

Formulación del problema

1) Planta: x  Ax  bu , CI: x(0  )  x 0 desconocidas ,  (  ) de grado n


y  ct x
2) Objetivo: Hallar una estimación asintótica del estado, x (t )  x(t ) con una dinámica  o (  ) ,
arbitrariamente elegida.

Solución del problema

1) Condición de existencia: El sistema debe ser observable, es decir, rango ( M o )  n


2) Estimador:

x  Ax  bu  k o ( y  y )
yˆ  c t xˆ
3) Esquema de bloques:

ETSETB. Sistemas Electrónicos de Control 1314a 34


Tema 5. Control avanzado

u x x y
+
b  c t

+
A

+
ko
-
+
u + x x y
b  ct
+
A

Fig. 10. Observador del estado

4) Métodos de cálculo del parámetro k o :


a) Por simple inspección (si las ecuaciones de estado están en FCO).
b) Por identificación de coeficientes: I  A  k o c t   o (  ) .
 0
 
1  

c) Utilizando la fórmula de Ackermann: k o   o ( A )  M o 
 0 .
 
 1
d) Utilizando la fórmula de Bass-Gura: k o  WM o   a1
o  a
e) Por dualidad. Resolver un problema de observabilidad para (A, ct) es equivalente a
resolver un problema de controlabilidad para (AT, b).

5) Sistema global

 x   A 0  x  b
    t      u
 x  k o c A  k o c  x   b
t

 y c t 0  x
  t   donde se suele definir: A o  A  k o c t
 y  0 c  x 

Ejemplo 17. Observador del estado. Cálculo del vector de ganancias. Considerar la planta:
1
P( s ) 
s  3s  4
2

7
cuyos polos son p1, 2  1.5  j  1.5  j1.33 . Se pide estimar sus estados con una dinámica
2
del observador dada por dos polos en -15.

Solución:

>> [a,b,c,d]=tf2ss(1,[1 3 4]);

ETSETB. Sistemas Electrónicos de Control 1314a 35


Tema 5. Control avanzado

>> k=acker(a',c',[-15 -15]);ko=k‘


ko =
140
27

Conjunto planta + observador

ao=[a a*0;ko*c a-ko*c];


bo=[b;b];
co=[c c*0;c*0 c];
do=[0;0];
x0=[10 3 0 0]';

Análisis del comportamiento

t=linspace(0,1);
[y,t,x]=initial(ss(ao,bo,co,do),x0,t);
subplot(211),plot(t,x(:,[1 3])),
subplot(212),plot(t,x(:,[2 4])),

Observador del estado


15
x1
10
x3 (x1 estimado)
5

-5
0 0.2 0.4 0.6 0.8 1
Tiempo (s)

5
4

2 x2
1 x4 (x2 estimado)

0
0 0.2 0.4 0.6 0.8 1
Tiempo (s)

ETSETB. Sistemas Electrónicos de Control 1314a 36


Tema 5. Control avanzado

1.2.3 Regulador basado en observador. Compensador

Formulación del problema

1) Planta: x  Ax  bu , CI: x(0  )  x 0 ,  (  ) de grado n


y  ct x
2) Objetivo: Cambiar  (  ) por  c (  ) mediante la retroacción de una estimación asintótica del
estado, x (t )  x(t ) , con dinámica  o (  ) .

Solución del problema

1) Condición de existencia: El sistema debe ser controlable y observable, es decir,


rango ( M c )  rango ( M o )  n
2) Estimador:

- Estructura: x  Ax  bu  k o ( y  y )


yˆ  c t xˆ
- Métodos de cálculo del parámetro k o : ver apartado correspondiente
3) Ley de control:
- Estructura: u(t )  k tc x (t )
- Métodos de cálculo del parámetro k tc : ver apartado correspondiente

u u x x y
+
b  ct
- +
A

+
ko
-
+
u + x x y
b  ct
+
A

uc
k tc

Fig. 11. Regulador de estado basado en observador

4) Sistema global (metasistema)

ETSETB. Sistemas Electrónicos de Control 1314a 37


Tema 5. Control avanzado

 x   A  bk tc  x  b
         u
 x  k o c t A  bk tc  k o c t  x   b
 y c t 0  x
   
 y  0 c t  x 

Comentarios

1) El sistema global pasa a ser de orden 2n.

2) Principio de separación: En el caso ideal sus polos se agrupan en dos subsistemas:


 (  )   c (  ) o (  ) .

N (s) o (s) N ( s)
3) La función de transferencia global es la misma: M (s)   (los modos del
 c (s) o (s)  c (s)
observador no son controlables).

4) Ganancia del lazo (Mason): L (s)  k tc ( 1 (s)  bk tc  k o c t ) 1 k o c (s)b

Ejemplo 18. Regulador de estado basado en observador del péndulo con carrito. Se desea
estabilizar la planta del Ejemplo 1 usando un regulador basado en observador. Investigar si es
posible y, si lo es, diseñarlo.

En primer lugar hay que notar que el sistema no es totalmente observable desde la salida y1= pero
sí lo es desde la salida y2=x.

a=[0 1 0 0;20.6010 0 0 0;0 0 0 1;-0.4905 0 0 0];


b=[0 -1 0 0.5]';
c=[1 0 0 0;0 0 1 0];
d=[0 0]';
[num,den]=ss2tf(a,b,c(1,:),d(1));H=tf(num,den)
polos=eig(a)

ctrlable=rank(ctrb(a,b))

obsvable_desde_theta=rank(obsv(a,c(1,:)))
obsvable_desde_theta =
2

obsvable_desde_x=rank(obsv(a,c(2,:)))
obsvable_desde_x =
4

Por ello, haremos el diseño midiendo esta última salida.

Diseñamos un observador con todos los polos en -10.

k=acker(a',c(2,:)',[-10 -10 -10 -10]);ko=k'

y el mismo regulador del ejercicio anterior (notar que el sistema total tiene 8 estados):

ETSETB. Sistemas Electrónicos de Control 1314a 38


Tema 5. Control avanzado

p=-2+j*4*sqrt(1-0.5^2);
kc=acker(a,b,[p conj(p) -10 -10])

Y verificamos su funcionamiento:
ac=[a -b*kc;ko*c(2,:) a-ko*c(2,:)-b*kc];
bc=[b;b];
cc=[c(2,:) c(2,:)*0;c(2,:)*0 c(2,:)];
dc=[0;0];
x0=[0.1 0 0 0 zeros(1,4)]';
t=linspace(0,4);
[y,t,x]=initial(ss(ac,bc,cc,dc),x0,t);
figure
plot(t,x),xlabel('Tiempo (s)'),
title('Regulador del estado del péndulo/carrito basado en observador')

Regulador del estado del péndulo/carrito basado en observador


1.5

0.5

-0.5

-1

-1.5
0 0.5 1 1.5 2 2.5 3 3.5 4
Tiempo (s)

figure
subplot(221),plot(t,x(:,[1 5])),title('x_1, x_5'),xlabel('Tiempo (s)'),
subplot(222),plot(t,x(:,[2 6])),title('x_2, x_6'),xlabel('Tiempo (s)'),
subplot(223),plot(t,x(:,[3 7])),title('x_3, x_7'),xlabel('Tiempo (s)'),
subplot(224),plot(t,x(:,[4 8])),title('x_4, x_8'),xlabel('Tiempo (s)'),

x1, x5 x2, x6
0.4 2

0.2 1

0 0

-0.2 -1

-0.4 -2
0 1 2 3 4 0 1 2 3 4
Tiempo (s) Tiempo (s)
x3, x7 x4, x8
0.2 1

0.1 0.5

0 0

-0.1 -0.5

-0.2 -1
0 1 2 3 4 0 1 2 3 4
Tiempo (s) Tiempo (s)

ETSETB. Sistemas Electrónicos de Control 1314a 39


Tema 5. Control avanzado

1.3 Control óptimo. Regulador LQ

1.3.1 Introducción al control óptimo

Cambio de objetivos: De la fijación de polos al control óptimo

Supongamos que r = 0 y que el propósito del control es modificar las condiciones iniciales ( x 0 ) y
llevarlas al origen x  0 . Ello puede conseguirse por medio de una retroacción de estado estática,
con ganancias constantes (al contrario que en la compensación clásica, SISO-salida, en la cual se
requiere una compensación dinámica). Para calcular dicho vector de ganancias k existen dos
enfoques:

1) El control modal o fijación de polos (visto en el apartado anterior).

2) El control óptimo o minimización de una función de coste.

En el control modal los autovalores pueden resultar fijados demasiado lejos del origen. Ello obliga
a generar señales de control u ( t ) elevadas que requieren actuadores de gran capacidad. Todo ello
se traduce en consumo y costes. El control óptimo evita este problema pues su solución genera un
compromiso entre prestaciones (precisión, velocidad) y coste.

Como en el caso de la selección de los autovalores, la elección de la función de coste más adecuada
al problema considerado puede suponer una tarea pesada.

Criterios (performance indexs, PI) de comportamiento para diseño óptimo

¿Qué es un diseño óptimo? En cierto sentido todos los diseños son óptimos ya que son lo “mejor”
que se puede hacer dadas las restricciones económicas, de tiempo, de tecnología, etc. Aunque hay
definiciones mejores que la indicada, la idea a retener es que el concepto de óptimo es altamente
subjetivo. Así, los diseñadores tienen ideas preconcebidas, basadas en su experiencia, de lo que es
un diseño “óptimo” pero, en general, les resulta difícil expresarlo de forma clara y concisa. Visto lo
anterior, no es de extrañar que al evaluar el comportamiento de un sistema de control se utilicen
diversos criterios, y aunque algunos son más aplicables que otros, ninguno lo es de un modo
universal. Por ejemplo:

1) En el diseño por Nyquist se trata de ajustar tanto el margen de fase como el margen de
ganancia, procurando hallar un compromiso razonable entre ambos.

2) En el diseño por Evans, se trata de asegurar que los polos dominantes estén lo
suficientemente a la izquierda del eje imaginario, pero procurando no exceder ciertos
límites en cuanto al ancho de banda.

Estos ejemplos sirven para ilustrar que, en esencia, los principios del diseño óptimo (maximizar o
minimizar cierto criterio) están presentes incluso en las técnicas más básicas del diseño.

Las restricciones

Los problemas de máximos y mínimos no tienen sentido en la realidad a menos que hagamos
aparecer las inevitables restricciones a que todo diseño está sometido: económicas, de tiempo,
tecnológicas, etc. Este aspecto que añade realismo al problema complica enormemente su solución.
Es el caso típico del control de tiempo mínimo con restricción |u(t)|<M.

ETSETB. Sistemas Electrónicos de Control 1314a 40


Tema 5. Control avanzado

1.3.2 Formulación del problema del control óptimo

Un gran número de problemas de control óptimo pueden formularse de la siguiente manera:

Formulación general

Dado un sistema dinámico, x  f ( x, u, t ) , hallar la señal de control u opt (t ) óptima en el sentido


de que minimiza la función de coste


tf
J ti
L(x, u, t )dt

sometida quizás a ciertas restricciones de x(t) y u(t).

Un caso particularmente interesante es el llamado problema LQR (regulación de un sistema lineal


con criterio cuadrático) que básicamente puede formularse así:

Problema LQR

Dado el sistema lineal, x  Ax  Bu , con condiciones iniciales x(0+), hallar uo ( t ) que las retorne
al origen de manera que se minimice el criterio cuadrático:

J  0 (x T Qx  u T Ru)dt

Problema del control del estado final con tiempo mínimo

En muchos casos, el interés se centra en hallar la señal de control que haga que un sistema
evolucione de un estado inicial a otro final minimizando el tiempo requerido en la transición. La
situación habitual es retornar el sistema al estado de reposo x=0 a partir de una perturbación inicial.

La función de coste (PI) queda en este caso:

J  t (1)dt  t f  t 0
tf
(habitualmente t0 = 0)
0

La señal de control ha de ser finita y manejable, por lo que se ha de añadir una restricción del tipo
u( t )  M , que junto a la estructura no cuadrática llevan a una solución totalmente distinta a la del
problema LQ. Las soluciones son del tipo: u opt (t )  M  sign( f (t )) , con f(t) una función a
determinar.

Formulación:
1) Planta: x  Ax  Bu x( t 0 )  0
min J  t (1)dt
tf
2) Objetivo:
0

con x(t f )  0
3) Restricción: u(t )  M

ETSETB. Sistemas Electrónicos de Control 1314a 41


Tema 5. Control avanzado

Solución:
1) Hamiltoniano H  1   T Ax   T Bu
2) Co-estados    A T 
Solucionando el sistema:
 1 f 1 (t ) 

   familia de curvas
 n  f n (t ) 
Aplicando las condiciones de contorno:
x(0)  x 0 
  det. constantes
u  M 
3) Solución: u o (t )  M  sign(B T  o ) , donde  o son las soluciones anteriores

(Nota: cuando se produce una conmutación se han de recalcular las constantes de la familia de
curvas tomando como punto “inicial” el vector de estado en el instante de conmutación)

Versiones del control óptimo LQ

El problema LQ tiene dos versiones:

1) la elaborada por Wiener en los años 40 (compensación ISE por métodos transformados)
2) la asociada al control moderno (regulador LQ y filtro de Kalman)

Veámoslas con algo más de detalle:

1.3.3 Compensación analítica vía ISE del regulador LQ

Este enfoque de compensación trata de hallar un corrector que permita ajustar óptimamente la salida
a la entrada mediante un criterio preestablecido. Naturalmente, ajustar la respuesta indicial al
escalón implica reducir tanto el tiempo de subida t r como el sobreimpulso R pt . Así se consigue
que el error en todo instante sea pequeño, lo que también tratábamos de conseguir al elegir ,  n y
kp .

Escogemos el ISE (Integral Squared Error) como medida para que la solución (compensador)
resulte lineal (cosa que no ocurre en casi ningún otro caso). Si el valor de la integral ISE se
mantiene pequeño la respuesta real se aproximará a la ideal.

Restricciones

En principio este enfoque de compromiso puede resultar sólo de interés académico. En la práctica
los problemas no encajan necesariamente en la función ISE. Y en los casos en que puede ser
aplicable, la solución resulta trivial.

La introducción de realismo en estos problemas supone la inclusión de restricciones. En estos casos


la solución no es ni trivial ni obvia. La restricción consiste generalmente en que la integral del
cuadrado de cierta magnitud se mantenga limitada y sea menor o igual a N. A veces no es una

magnitud lo que deseamos restringir sino Rpt o e dt . No obstante, recurrimos al caso cuadrático
porque es el único que permite una solución analítica general.

ETSETB. Sistemas Electrónicos de Control 1314a 42


Tema 5. Control avanzado

1.3.4 El regulador LQ con horizonte infinito

(La solución aquí presentada no es realmente óptima sino solamente subóptima por cuanto
adoptamos desde el principio la solución de régimen permanente. En realidad, para horizontes
finitos la solución es variable, k(t). Ver siguiente apartado)

Formulación del problema


Planta:
x  Ax  Bu ; x ( 0 )  0
y  Cx
Objetivo: Dado el sistema anterior, perturbado de x ( 0 )  0 a x ( 0 )  x 0 , retornar al equilibrio
x   0 , minimizando el criterio
1 T
J    x Qx  uT Ru dt
20
(Nota: A veces se desea minimizar la salida en cuyo caso,
1 
J   ( y T y  u T Ru ) dt , que es reductible al caso anterior haciendo Q  C T C ).
2 0

Solución del problema

Condiciones de existencia, unicidad y estabilidad de la solución:


- Suficientes: 1) Planta (A,B) controlable
2) R>0, Q>0
- Necesarias: 1) Planta (A,B) estabilizable
2) R>0, Q0 (en cuyo caso, la planta artificial o sintética ( A ,  T ) =
( A , Q1/ 2 ) ha de ser observable, o al menos detectable)

Ley de control: u opt  K opt x

Cálculo del vector de ganancias: K opt  R 1B T P , siendo la matriz simétrica P>0 solución única
de la Ecuación Algebraica Matricial de Riccati:

A T P  PA  Q  PBR 1B T P  0

Esta ecuación es cuadrática y da lugar a dos soluciones, pero se escoge la P que sea definida
positiva. La demostración se realiza aplicando los métodos del cálculo variacional al problema LQ,
pero también es posible justificar este resultado con ayuda de la ecuación de Lyapunov:

1 T
Dem.: El valor mínimo del criterio es J ( K opt ) x (0)Px(0), donde P es la solución de la
2
ecuación de Lyapunov A c P  PA c   Q c . Tomando Q c  Q  K RK y A c  A  BK , se
T T

obtiene

ETSETB. Sistemas Electrónicos de Control 1314a 43


Tema 5. Control avanzado

( A  BK ) T P  P( A  BK )  (Q  K T RK )
A T P  K T B T P  PA  PBK  Q  K T RK

sustituyendo ahora K  R 1B T P se obtiene finalmente

A T P  PA  Q   PB (R 1 ) T B T P  PBR 1B T P  PB (R 1 ) T RR 1B T P  0

A T P  PA  Q  PBR 1B T P  0

Propiedades de la solución

1) La solución K opt no depende de las CI x(0+).

1 T
2) Coste: El valor mínimo de la integral resulta ser J opt  J ( K opt )  x (0)Px(0) ; x(0)=
2
x(0+). Este control, además de estabilizar la planta, genera una solución con evolución óptima
(de mínimo error y consumo).

3) Unicidad: La solución es única si de entre las varias soluciones de la ecuación de Riccati


elegimos la P>0 (que es única). Una de las ventajas de este método es que en el caso MIMO la
solución también es única (cosa que no ocurre en el caso modal).

4) Estabilidad: El sistema regulado ~ x  ( A  BK opt ) ~


x resulta asintóticamente estable. Este
control, además de estabilizar la planta, genera una solución con evolución de mínimo error y
consumo. Pero la solución aquí presentada no es realmente óptima sino solamente subóptima
por cuanto adoptamos desde el principio la solución de régimen permanente. En realidad, para
horizontes finitos la solución varía con el tiempo ( K (t )) .

5) Sensibilidad: Hay desensibilización a todas las frecuencias (ecuación de Kalman) |S(j)|<1, es


decir que la respuesta frecuencial del lazo no entra en el circulo unidad centrado en -1. Los
1
márgenes de ganancia y fase son: MG  ( ,  ); MF  60o .
2

Ejemplo 19. LQ escalar con horizonte infinito. Considerar el sistema:

x  2 x  u , x(0)=1

¿Es estable? No. El polinomio característico es p ( )    2 con lo que su autovalor es


  2  0 . Además la respuesta ZI es x(t )  e 2 t x (0) .
2
1  u
Vamos a resolver el problema LQ con J  
2 0
(3x 2  )dt .
4

Condiciones suficientes para que el problema tenga solución:


Q=3>0, R=1/4>0 (¿definidas positivas? Sí, se cumple
La planta es controlable puesto que Mc=b=1=n

ETSETB. Sistemas Electrónicos de Control 1314a 44


Tema 5. Control avanzado

La ley de control óptima es u opt  K opt x con K opt  R 1BT P donde P es la solución positiva de
A T P  PA  Q  PBR 1B T P  0 . En nuestro caso queda como:

2  p  p  2  3  p 1 4 1 p  0   4 p2  4 p  3  0 
1
 4  16  48  4  8
p   2

8 8 3
2

3
La solución válida es la positiva, p=3/2, por tanto, k opt  R 1B T P  4  1  6
2

La matriz de estado del sistema controlado es a c  a  bk opt  2  1  6  4 (estable) y el coste


1 3
mínimo es J opt  x (0) px (0)  .
2 4

Valoración clásica del regulador LQ. Ecuación de Kalman

Un ejercicio interesante es relacionar las técnicas convencionales (Bode y Evans) con la solución
del problema de la síntesis vía retroacción de las variables de estado, tanto modal cómo óptima
(LQ). El vehículo de este tratamiento es la ecuación de Kalman. Este enfoque tiene dos ventajas:

1) Disponer de nuevos métodos de solución y


2) Posibilitar una mayor comprensión clásica del problema.

En particular, estos métodos posibilitan la solución por técnicas gráficas sencillas. Más importante
que el ahorro de trabajo de cálculo, estos métodos (especialmente el de Evans) nos permiten una
mayor comprensión del significado del diseño vía minimización de una función de coste. En
resumen, con los métodos convencionales también podemos diseñar un sistema de control óptimo
sin tener que recurrir a las matrices.

La representación del lazo LQ en un diagrama de Nyquist revela dos propiedades muy interesantes
(resultado de que el lazo no entra nunca en el círculo unitario centrado9 en -1):
1) Desensibilización a todas las frecuencias
2) Márgenes garantizados de estabilidad: MG   (margen de aumento de ganancia infinito),
MGR  1 / 2 (margen de reducción de ganancia ½) y margen de fase MF  60 .

La ecuación de Kalman en el caso SISO es

1  G H 1  G H   1  
p eq p eq

, 2 siendo    T  sb ,  T  Q

La ecuación de Riccati se puede resolver gráficamente:


  
 Por factorización espectral de 1   con ayuda del lugar cuadrático/simétrico.
 2 

    
Por aproximación de la respuesta frecuencial de 1  G p j H eq j , satisfaciendo la
ecuación de Kalman y de manera que sea factorizable.

ETSETB. Sistemas Electrónicos de Control 1314a 45


Tema 5. Control avanzado

Caso particular: Si elegimos Q  cc T , entonces   G p y el problema se reduce al de Wiener

 e  ru 2  dt siendo q=1 y e=0-y:



(ISEU) con J  2
0

J  0 (e 2  ru 2 ) dt  0 (( yr  y ) 2  ru 2 )dt  0 ( y 2  ru 2 )dt 
  

 0 (x T cc T x  ru 2 )dt  0 ( x T Qx   2 u 2 )dt
 

La descomposición de Q en Q1/2 requiere que la matriz Q se pueda expresar como CCT. Para el
caso diagonal es inmediato, pero en el caso general se requiere una descomposición vía Cholesky.

Caso general: Si elegimos Q0 general, para que la solución sea estable se requiere una condición
complementaria: que el sistema sintético  A ,   , es decir y s   x , siendo   Q sea observable.
T T T



Criterio: J 
0
(x T Qx   2 u 2 )dt


La ecuación de Kalman será: (1  G p Heq )(1  G p H eq )  1 
2

La solución es por factorización espectral vía lugar simétrico, con G p ( s)  c t ( s)b , ( s)   T ( s)b
y
U k t ( s)b d T
Heq ( s)   t , x T Qx  x T  T x  x Sx .
Y c ( s)b dt
 1 
 
Los elementos de      pueden obtenerse de
 n 
n n n n n 1 n 1

  q x x    
ij i j i x x j  2   sij xi x j 1
j i
i 1 j 1 i 1 j 1 i 1 i 1

En el caso 22    q   q22 .


1
2
11 , 2
2

En el caso 33   12  q11 ,  2  q22  2 q11q33  q13 ,  32  q33

Notas:
1) El vector  contiene la información esencial de la matriz Q y puede ser común a varias de
ellas.
2) (s) recibe el nombre de planta sintética.
3) ys   x recibe el nombre de respuesta sintética.
T

4) Como Q es un factor del diseño puede elegirse de forma que, además de significativo, sea de
uso cómodo, por ejemplo, Q  qI , ó a través de la respuesta indicial de la planta sintética.
5) qij son los elementos de Q.

ETSETB. Sistemas Electrónicos de Control 1314a 46


Tema 5. Control avanzado

1.3.5 El regulador LQ con horizonte finito

Formulación

1) Planta: x  Ax  Bu ; x( 0  )  0
tf
1
mín J   ( x Qx  u Ru)dt
T T
2) Objetivo:
2 0
donde Q>0 y R>0 (es decir, definidamente positivas)

Solución

1) Condición de existencia: Sistema controlable

2) Ley de control: u opt   K opt (t )x

3) Cálculo del vector de ganancias: K opt (t )  R 1B T P(t ) donde P(t) es simétrica, solución única

(si elegimos P(t)>0) de la ecuación diferencial de Riccati: A T P  PA  Q  PBR 1B T P   P
que cumple que P (t f )  0 )

La conclusión es que los parámetros no son constantes sino función del tiempo. La solución,
P>0 y simétrica, es solución de la Ecuación de Riccati diferencial:

A T P  PA  Q  PBR 1B T P   P

con la condición de contorno P (t f )  0 .

Ejemplo 20. LQ escalar con horizonte finito. Resolver el mismo problema del Ejemplo 19 pero
ahora con horizonte finito.
La ecuación diferencial de Riccati es

A T P  PA  Q  PBR 1B T P   P

que en nuestro caso queda como


 4 p 2  4 p  3   p

Método 1: Cambio de variable, pz=x

d d
pz  x  p z  pz  x  p   x  pz z 1
dt dt

Sustituyendo este valor en la ED

 4 p 2  4 p  3  x  pz z 1   4 xp  4 x  3z  pz  x


 p( z 4
 x )  ( 4 x 
x  
3z )  0
0 0

ETSETB. Sistemas Electrónicos de Control 1314a 47


Tema 5. Control avanzado

z  4 x  x    4  3 x 
      
x  4 x  3z  
 z   4 0  z 

A

e 6t 6  2e 8 t 3  3e 8t 
e At
  
4  4e 2  6e 8 t 
8t
8

Condiciones iniciales, pz=x , x (0)  p(0) z (0) , por ejemplo, escogemos


x (0)  p(0)  p0 , z ( 0)  1 :

 x (t )   x ( 0)  p 
   e At    e At  0 
 z (t )   z ( 0)  1

x (t ) 1 ke 8t  3 (6  2e 8t ) p0  (3  3e 8t )
p (t )   
z (t ) 2 ke 8t  3 ( 4  4e 8t ) p0  ( 2  6e 8t )

Para hallar el valor de p0 hay que imponer la condición p(tf)=0.

Método 2: Separación de variables

dp dp dp
 4 p2  4 p  3  
dt

4p  4p  3
2
 dt   4p 2
 4p  3 
 dt  c  t  c

dp dp 1  dp dp 
 4 p  4 p  3  4( p  3 / 2)( p  1 / 2) 8   p  23  p  12  
2
   

 
1
  ln p  12   1 ln p  21 
3
 ln p  3
2
8 8  p 2

1/ 8 1/ 8
 p  23   p  23  p 3
1 ke 8t  3
ln 1 
  t  c   
1 
 ke t
 2
 ke 8t
 p (t )  
 p  2   p  2  p 1
2 2 ke 8t  3

p0  23
Para obtener el valor de k, añadimos las CI p(0)=p0, entonces k  . Así,
p0  12

1 ke 8t  3 (6  2e 8t ) p0  (3  3e 8t )
p (t )   
2 ke 8t  3 ( 4  4e 8t ) p0  ( 2  6e 8t )

Hay que imponer p(tf)=0 y p(0)=p0 (ver método 2).

1 ke 8t  3 8 t f
p (t f )  0 , p (t )   ⇒ k  3e
2 ke 8t  3

ETSETB. Sistemas Electrónicos de Control 1314a 48


Tema 5. Control avanzado

8( t t ) 8( t t )
1 ke 8t  3 3  3e f 3 1 e f
Así, p (t )    
2 ke 8t  3 k  3e8 t f 2  6e 8( t t f ) 2 1  3e 8( t t f )

8 ( t t )
3 1 e f
p (t )  
2 1  3e 8( t t f )

La condición terminal y la condición inicial dependen de tf:

8 t
3(1  e f ) 3
p(0)  lim p(t )  8 t
, lim p(0)  (coincide con el caso de horizonte infinito)
t 0 2(1  3e f ) t t f 2

La condición inicial vale p0=3/2 para valores tf>1:

>> tf=linspace(0,2);p0=(3/2)*(1-exp(-8*tf))./(1+3*exp(-8*tf));plot(tf,p0)
>> xlabel('horizonte t_f'),ylabel('condciones iniciales p_0'),axis([0 2 0 2])

1.8

1.6

1.4
condciones iniciales p0

1.2

0.8

0.6

0.4

0.2

0
0 0.5 1 1.5 2
horizonte tf

3
Por otro lado, lim p(t )  y como k (t )  4 p(t ) , lim k (t )  6
t  2 t 

tf = 0.1 tf = 0.5
6 6

4 4

2 2
k

0 0

-2 -2
0 1 2 0 1 2
t t
tf = 1 tf = 4
6 6

4 4

2 2
k

0 0

-2 -2
0 1 2 0 2 4 6
t t

ETSETB. Sistemas Electrónicos de Control 1314a 49


Tema 5. Control avanzado

>> tf=0.1;t=linspace(0,2);k=4*(3/2)*(1-exp(-8*(t-tf)))./(1+3*exp(-8*(t-tf)));
>> subplot(221),plot(t,k),xlabel('t'),ylabel('k'),title('t_f = 0.1')
>> tf=0.5;t=linspace(0,2);k=4*(3/2)*(1-exp(-8*(t-tf)))./(1+3*exp(-8*(t-tf)));
>> subplot(222),plot(t,k),xlabel('t'),ylabel('k'),title('t_f = 0.5')
>> tf=1;t=linspace(0,2);k=4*(3/2)*(1-exp(-8*(t-tf)))./(1+3*exp(-8*(t-tf)));
>> subplot(223),plot(t,k),xlabel('t'),ylabel('k'),title('t_f = 1')
>> tf=4;t=linspace(0,6);k=4*(3/2)*(1-exp(-8*(t-tf)))./(1+3*exp(-8*(t-tf)));
>> subplot(224),plot(t,k),xlabel('t'),ylabel('k'),title('t_f = 4')

1.3.6 Retroacción de estado con acción integral

Si se desea seguimiento del servo a entradas en escalón (y la planta no dispone de un integrador)


hay que añadir éste al lazo:

Fig. 12. Retroacción de estado con acción integral

El integrador da lugar a un estado adicional:


u   k c x  k i
  r  y  r  cx

La planta se aumenta así:


 x   A 0 x  B 0 
          u    r
    c 0     0 
  1 
Ai Bi

Y también hay que aumentar la matriz Q.

A continuación se resuelve la ecuación de Riccati para Ai, Bi y Qi

La ley de control resultante es:

x x
u  k c x  ki  K    k c  ki  
   

 x  A  Bk c Bki  x  0
Y el sistema controlado final es:        r
   c 0    1

Ac

ETSETB. Sistemas Electrónicos de Control 1314a 50


Tema 5. Control avanzado

1.4 Control óptimo estocástico

1.4.1 Enfoque estocástico

Introducción

El problema LQ determinista aborda problemas de regulación frente a perturbaciones transitorias,


en los que el sistema ve modificadas súbitamente sus condiciones de funcionamiento (equilibrio)
generando unas CI x(0+)0 y el objetivo es que el regulador retorne el estado a su condición normal
de equilibrio, lo antes posible y procurando que el esfuerzo de control requerido no resulte excesivo
(limitación indirecta).

Aunque hay problemas que pueden formularse de esta manera, la situación más común es que las
perturbaciones sean aleatorias y persistentes (o al menos durante un largo periodo) tendiendo a
desviar y mantener el sistema fuera de su posición de equilibrio. Como consecuencia, el problema
radica ahora en diseñar una configuración retroactiva mediante la cual las desviaciones iniciales se
reduzcan rápidamente pero que, además, atenúe lo más posible los efectos de las perturbaciones
persistentes. La solución de este problema nos conducirá a la síntesis de un regulador estocástico.
Su estudio se desarrolla en dos partes:

1) Retroacción directa LQ: Donde se dispone en cada instante de medidas completas y exactas
del estado.

2) Regulador Lineal Cuadrático Gaussiano LQG. Supone el caso más habitual de que sólo se
dispone de medidas incompletas y ruidosas del estado, teniendo que recurrir, en este caso, a un
estimador óptimo (filtro de Kalman) que, al igual que en el control modal, puede ser calculado
independientemente del regulador gracias al principio de separación y que aquí recibe el
nombre de principio de equivalencia de certeza.

Descripción estocástica de la planta

La presencia de las perturbaciones se tiene en cuenta ampliando la descripción de la planta

x  Ax  B1u  B 2 w
z  Cx  v

donde w(t) representa las perturbaciones (ruido de proceso) que actúan sobre la misma y v(t)
representa al ruido de medida.
w

b2
v
+ + z
u x x y
+ t
b1  c +
+
A

Fig. 13. Planta con ruido de proceso y ruido de medida

ETSETB. Sistemas Electrónicos de Control 1314a 51


Tema 5. Control avanzado

La potencia de ambos ruidos viene determinada por las respectivas covarianzas, W  E ww T ,  


 
V  E vv . Además, el estado inicial queda caracterizado por su media x 0  E x(t 0 ) y su
T

 
varianza P00  E x(t 0 )  x 0 x(t 0 )  x 0 
T

Ejemplo 21. Rumbo de un buque. La dinámica de una cierta embarcación viene aproximada por
el siguiente modelo de segundo orden:

  0 1     0  0
   0  0.001    0.0003  1 w
        
 
z  1 0   v
 
donde:
 es el ángulo de orientación o rumbo,
 es la velocidad de giro o cambio de rumbo,
 es el ángulo del timón,
z es la medida ruidosa del ángulo de dirección,
w es una perturbación Gaussiana de intensidad W=0.1I que representa los efectos combinados del
viento, oleaje, corrientes, etc.
v es un ruido Gaussiano (debido al sensor) de intensidad V=1I.

Supóngase condiciones iniciales x( 0)  (12 0) T .

Se pide representar la respuesta zero-input de la salida y(t) del sistema sin controlar en los
siguientes supuestos:
1) Medida perfecta y sin perturbaciones en el sistema. (linspace, initial, plot)
2) Medición imperfecta causada por el ruido de medida v. (randn, size)
3) Medida perfecta, pero presencia de perturbación en el proceso w. Obsérvese la
desestabilización. (lsim)
4) Medición imperfecta y sistema perturbado por ruido de proceso.

Solución:
%sin control
a=[0 1;0 -0.001];b1=[0;0.0003];b2=[0;1];c=[1 0];d=0;
W=0.1;
V=1;
Q=[100 0;0 0];
R=0.05;
x0=[12 0]';
t=linspace(0,60,200);
v=randn(size(t))'*sqrt(V);
w=randn(size(t))*sqrt(W);

y1=initial(a,b1,c,d,x0,t);
z1=y1+v;
y2=lsim(a,b2,c,d,w,t,x0);
z2=y2+v;

figure(1),subplot(224),
plot(t,z2),grid,title('con ruido de proceso y medida'),ax=axis
subplot(221),plot(t,y1),grid,title('sin ruido'),axis(ax)
subplot(222),plot(t,z1),grid,title('con ruido de medida'),axis(ax)
subplot(223),
plot(t,y2),grid,title('con ruido de proceso'),axis(ax)

ETSETB. Sistemas Electrónicos de Control 1314a 52


Tema 5. Control avanzado

sin ruido con ruido de medida


20 20

10 10

0 0

-10 -10

-20 -20
0 20 40 60 0 20 40 60

con ruido de proceso con ruido de proceso y medida


20 20

10 10

0 0

-10 -10

-20 -20
0 20 40 60 0 20 40 60

Nuevos criterios de optimización. Promedio de J

1) Caso de horizonte finito

En el caso determinista teníamos


1 T 1 t1
J x (t1 )Sx(t1 )   [x T Qx  u T Ru]dt
2 2 t0
donde la primera parte corresponde a la desviación del estado final ponderado; la segunda parte
corresponde a la integral de la desviación “aumentada” de x. Al ser el horizonte finito no hay
problemas de integración.

En el caso estocástico la J anterior no puede calcularse para una realización de w debido a su


naturaleza estocástica. Como consecuencia, se calcula su valor medio J , en un conjunto de
realizaciones:
1 1 t1 
J  E[ J ]  E  x T (t1 )Sx(t1 )   [x T Qx  u T Ru]dt 
2 2 t0 

2) Caso de horizonte infinito

En el caso determinista teníamos


1  T
2 0
J [x Qx  u T Ru]dt
donde, para que J sea finito, se requieren ciertas condiciones.

En el caso estocástico, puesto que w es persistente el coste tiene a infinito, J, y por ello hay
que dividir por T para que pueda resultar finito. Así, el coste es
1  1 T  1 
J  E  lim
2 T   T 
[x T Qx  u T Ru]dt   E  [x T Qx  u T Ru]
0
 2 
Aún así se requieren ciertas condiciones adicionales para asegurar que J resulte finito.

ETSETB. Sistemas Electrónicos de Control 1314a 53


Tema 5. Control avanzado

1.4.2 Retroacción directa

La diferencia con el caso determinista es que la perturbación (ruido blanco) hace imposible calcular
con exactitud cómo evolucionará el sistema (x, u). Por ello la solución no permite obtener u(t) a
priori (lazo abierto), sino que hay que considerarlo en cada instante en base a toda la información
disponible. Como la información histórica viene resumida en x(t), la ley de control ha de ser de la
forma u(t)=f(x(t)), lo que presupone que el estado puede medirse completa y exactamente en todo
instante.

La hipótesis de estado completamente accesible y limpio es poco realista, y más en nuestro caso, en
el que las medidas del estado contienen componentes aleatorios que resultan difícilmente medibles.
Por ello en los apartados siguientes se considera la inclusión del Filtro de Kalman para la
estimación de los estados no accesibles.

En el caso determinista la solución al problema LQ es retroactiva. Aquí, la solución es la misma ya


que sorprendentemente la presencia de ruido blanco no altera ni la estructura ni el valor de las
ganancias. Lo que sí se modifica (aumentando) es el valor del coste mínimo (del performance
index, PI), es decir, se empeoran las prestaciones óptimas. Su valor es mayor al del caso
determinista en una cantidad que depende de la magnitud de la perturbación (w).

Solución para horizonte finito. Equivalencia de certeza

Para minimizar la función de coste hay que utilizar la siguiente ley de control:

1) Estructura: u ( t )   K c ( t ) x( t )
2) Ganancias: K c  R 1 B 1T Pc ( t )
3) Donde Pc(t):  P c (t )  A T Pc (t )  Pc (t ) A  Q  Pc (t )B 1 R 1 B 1T Pc (t )
4) Condición terminal: J ( t 1 )  Pc ( t 1 )  P1
1
J opt  Tr Pc (t0 )x 0   Pc (t )B 2 WB T2 dt 
t1
5) Valor mínimo:
2  t0 

  
Nota: x T x  Tr xx T , x T Pc x  Tr Pc xx T 

Solución para horizonte infinito

Normalmente la señal de control actúa durante periodos largos, es decir, que nos hallamos ante el
caso de t1. En el problema determinista constatamos que la ecuación diferencial de Riccati
presenta una solución estacionaria P cuando t1 con lo que se obtiene una ley de control
u   K c x con Kc constante y que actúa en el intervalo (0, ). Se demuestra que esta misma ley,
exactamente, es la que también optimiza el regulador estocástico. No obstante el coste mínimo
puede ser muy superior.

ETSETB. Sistemas Electrónicos de Control 1314a 54


Tema 5. Control avanzado

1 T
En el caso determinista resultaba J opt  x (0) Px(0) . Para el caso estocástico hay que
2
1   1  1
generalizar, J  E[ J ]  E  x T (0)Px(0)  Tr  E  Px(0)x T (0)   Tr ( P) , donde
2   2   2n
1
E[x(0)x T (0)]  I .
n

El coste mínimo para distintas situaciones es:


1) Caso v=0, w  0 : Jx 
1
2
 
Tr Pc B 2 WB T2 . Nota: Aquí la estadística del valor inicial
ya no tiene efecto (ya que el sistema es estable) y el coste depende del valor de las
perturbaciones.
2) Caso v  0 , w  0 : Jx 
1
2
 
Tr QPo  Pc K c VK Tc . Nota: Aquí el coste mínimo
depende de las perturbaciones iniciales a través de Po, y del ruido de medida.
3) Caso v  0 , w  0 (alternativo): Jx 
1
2
 
Tr Pc B 2 WB T2  Po K Tc RK c :
equivalencia de certeza más error de estimación.

Ejemplo 22. Autopiloto. Control directo. Considerar de nuevo el buque del Ejemplo 21 donde
se evidenció la necesidad de regular el sistema (mantener el rumbo  = 0º). El objetivo es mantener
el rumbo  = 0º, reduciendo al mínimo el zigzagueo provocado por las perturbaciones, con el fin de
minimizar el consumo de combustible, hecho que formulamos con la siguiente función de coste:

Notar dos aspectos nuevos


1) La semidefinición del signo de la matriz Q del criterio anterior (compruébese que el sistema
cumple las condiciones necesarias para que sea posible la aplicación de un control óptimo).
2) El efecto desestabilizador del ruido de proceso.

Suponer que es posible acceder a la totalidad de los estados de la planta, se pide:


1) Efectuar un control óptimo (función lqr) según la función de coste

1
J
20 
(100 2  0.05 2 )dt . ¿Cuánto vale la ganancia de retroacción de estados? ¿Cuál es la

matriz P solución de la ecuación de Riccati? ¿Cuáles son los autovalores del sistema
regulado?.
2) Suponiendo que la excitación es nula pero el ruido de proceso w está presente, representar tanto
la respuesta y(t) como su medida z(t) mediante un sensor que introduce un ruido v. Obsérvese
si se han estabilizado los zigzagueos.

Solución:
%control directo
[kc,P,aut]=lqr(a,b1,Q,R)

kc =

ETSETB. Sistemas Electrónicos de Control 1314a 55


Tema 5. Control avanzado

44.7214 542.7010
P =
1.0e+004 *
0.1221 0.7454
0.7454 9.0450
aut =
-0.0819 + 0.0819i
-0.0819 - 0.0819i

ac=a-b1*kc;
y=lsim(ac,b2,c,d,w,t,x0);
z=y+v;
figure(2),subplot(211),
plot(t,y),grid,title('retroaccion directa LQ'),axis(ax)
subplot(212),plot(t,z),grid,
title('retroaccion directa LQ con ruido de medida'),axis(ax)

retroaccion directa LQ
20

10

-10

-20
0 10 20 30 40 50 60

retroaccion directa LQ con ruido de medida


20

10

-10

-20
0 10 20 30 40 50 60

1.4.3 Reconstrucción óptima del estado. Filtro de Kalman-Bucy

Introducción

En el caso estocástico (ruido de proceso y de medida actuando sobre la planta) la ganancia de


retroacción del estado Kc resulta la misma que en el caso determinista (es decir, es independiente de
V, W).

El problema es que normalmente no tenemos acceso directo y completo a las variables de estado.
Por ello es necesario utilizar un observador estocástico. El filtro de Kalman calcula la estimación
de mínima varianza x (t) a partir de los registros de y(t), u(t). Además, resulta independiente de Q
y R (es decir, aunque se modifiquen Q, R la estimación óptima siempre es la misma).

Finalmente, como en el caso modal, se aplica la retroacción sobre la estimación, es decir, en el


compensador se sustituye x por x y el resultado es óptimo utilizando como función de coste el
valor medio de J ( J )

Tal y como pasaba en el control modal, el cálculo de Ko, Kc corresponde a problemas


independientes (teorema de separación) y duales. Ahora, en vez de utilizar la fórmula de
Ackermann se utilizará la ecuación de Riccati.

ETSETB. Sistemas Electrónicos de Control 1314a 56


Tema 5. Control avanzado

En el control modal la elección del vector de ganancias Ko del observador (en realidad la elección
de  o (  ) ) es un proceso más o menos arbitrario en el que se intenta mantener un compromiso
entre la velocidad de respuesta de dicho observador y el comportamiento frente a perturbaciones
tales como el ruido de medida. Con el observador óptimo (filtro de Kalman) el cálculo de Ko se
hace de forma que se establece este compromiso de una forma ‘óptima’. El criterio que se sigue es
el de minimizar el cuadrado del error de reconstrucción.

Previamente hay que especificar las características estadísticas de las perturbaciones que actúan
sobre el sistema tales como el ruido de la planta y el ruido de medida. En concreto, hay que tener
información de A, B1, B2, C; de las características estadísticas del ruido del proceso y del ruido de
medida; y del valor medio y la varianza de las condiciones iniciales del estado.

Formulación del problema del filtro de Kalman-Bucy (observador óptimo estocástico)

Planta:
x  Ax  B1u  B 2 w
z  Cx  v
donde w, ruido de proceso, y v, ruido de medida, son procesos de ruido blanco Gaussianos
con media cero y matrices de intensidades W y V, respectivamente.
 w(t )  
 
E  1  w T (t 2 ), v T (t 2 )   V (t1 ) (t1  t 2 )
 v(t1 )  
Se supone que están incorrelados ( V12 (t )  V21 (t )  0 ).

Además, las condiciones iniciales no se conocen con exactitud. Así pues, son también una
variable aleatoria caracterizada por su valor medio y su varianza.

E{x (t0 )  x 0 x (t0 )  x 0  }  P00


T
E{x (t0 )}  x 0 ,

Objetivo: Reconstrucción óptima del estado: Estimación de los estados a partir de las medidas de la
salida y la entrada, minimizando la suma de varianzas del vector de error de estimación
(esperanza matemática de la suma de cuadrados del vector de errores de reconstrucción):

 
J  E x  xˆ  x  xˆ   Tr[x  xˆ x  xˆ  ]
T T

otra notación es:

minE{e T (t )e(t )} , donde e(t )  x(t )  xˆ (t ) , e(t )  ~


x (t )  x e (t )

El filtro de Kalman es un observador óptimo que proporciona un compromiso entre la


velocidad de reconstrucción del estado y la inmunidad al ruido de medida.

Solución del problema

1) Condiciones
Si el sistema lineal e invariante es completamente controlable con w(t) como entrada y
completamente observable (o al menos detectable), la ecuación de Riccati tiene una única solución
positiva Po(t) y el observador es asintóticamente estable.

ETSETB. Sistemas Electrónicos de Control 1314a 57


Tema 5. Control avanzado

2) Esquema de bloques del observador óptimo


w

b2
u x x y
+
b1  ct
+
+ + v
A
z
+
ko
-
+
u + x x y
b1  ct
+
A

Fig. 14. Filtro de Kalman-Bucy

3) Estructura: La estructura del observador de estado completo (se dice que un observador es
completo cuando el observador y la planta tienen el mismo orden) es:

o ( t )z ( t )  Cx
xˆ (t )  Axˆ (t )  B1u(t )  K opt ˆ (t )

4) Error de reconstrucción: El error de reconstrucción es e(t )  x(t )  xˆ (t ) satisface la


ecuación diferencial

e (t )  A  K opt
o ( t )C e ( t )
El error de reconstrucción tiene la propiedad de tender a cero a medida que pasa el tiempo, para
cualquier condición inicial, si y sólo si el observador es asintóticamente estable, lim e(t )  0 .
t 

5) Solución para horizonte finito: El vector de ganancias depende del tiempo:


1
o ( t )  Po ( t )C V ,
K opt t  t0
T

donde Po(t) es la solución de la ecuación diferencial de Riccati:


P o (t )  APo (t )  Po (t ) A T  B 2 WB T2  Po (t )CT V 1CPo (t ), t  t0

con la condición inicial Po (0)  Po 0 y la condición inicial de estado xˆ (t0 )  x 0 .

Si se cumplen estas condiciones la varianza del error de reconstrucción

E{x(t )  xˆ (t ) x(t )  xˆ (t )}  e12  e22  ...


T

ETSETB. Sistemas Electrónicos de Control 1314a 58


Tema 5. Control avanzado

queda minimizado para t  t 0 . La matriz de covarianzas del error de reconstrucción viene


dada por:

E{x (t )  xˆ (t )x (t )  xˆ (t ) }  Po (t )
T

y la media del cuadrado del error de reconstrucción puede expresarse como:

E{x (t )  xˆ (t ) x (t )  xˆ (t )}  Tr Po (t )


T

6) Solución para horizonte infinito. Régimen estacionario: El vector de ganancias es constante.


Una de las características del filtro de Kalman es que la matriz de ganancias Ko(t) alcanza
valores estacionarios muy rápidamente. Visto de otra forma, la matriz Po(t), solución de la
ecuación de Riccati converge hacia un valor estacionario Po o Po que es independiente de las
condiciones iniciales Po0. En caso de un sistema invariante todas las matrices son constantes,
por lo que la solución estacionaria Po también es una matriz constante y es la única solución
definida positiva de la ecuación de Riccati:

0  APo  Po A T  B 2 WB T2  Po CT V 1CPo ( Po  Po )
La matriz de ganancias del observador óptimo en régimen estacionario es:
1
o  Po C V
K opt T

La matriz K opt
o (t ) de ganancias es, en general, asintóticamente estable, y esto es lo que permite
emplear el valor estacionario como valor constante de la ganancia.
El observador óptimo estacionario presenta la ventaja de que es más sencillo de implementar.
En el caso de que el sistema sea invariante este observador óptimo estacionario es óptimo en el
sentido de que hace que el lim E{e T (t )e(t )}  lim E{e T (t )e(t )} sea mínimo.
t0   t 

7) Metasistema:

 x   A 0   x   B1  B   0 
     opt       u   2  w   opt  v
opt   
 xˆ   K o C A  K o C   xˆ   B 1   0 Ko 
 z  C 0  x  I 
           v
 yˆ   0 C   xˆ   0 

Propiedades de la solución

1) Dualidad entre el observador óptimo y el regulador óptimo

El regulador LQ y el filtro de Kalman son problemas duales. Así, tenemos la siguiente equivalencia
de matrices:

LQ A B C Pc Kc Q R
FK AT CT BT Po Ko  K T
B 2 WB T V
c 2

Tabla 1. Dualidad LQR-Filtro de Kalman

ETSETB. Sistemas Electrónicos de Control 1314a 59


Tema 5. Control avanzado

La dualidad entre ambos problemas puede usarse para obtener las propiedades (estacionarias) del
observador óptimo a partir de las del regulador óptimo. Además, esta dualidad permite usar las
funciones de Matlab que resuelven el problema LQ (por ejemplo, lqr) para resolver el filtro de
Kalman, y al revés (función lqe).

2) Régimen permanente del observador óptimo


 Asumiendo que Po 0  0 , en la medida que t o   la solución de la ecuación de Riccati
tiende al valor estacionario Po si y sólo si el sistema no tiene ningún polo que sea al mismo
tiempo inestable, no observable y controlable.
 Si el sistema es detectable y estabilizable, la solución de la ecuación de Riccati tiende al
valor estacionario Po ,t0  , para todo Po 0  0. Esta condición es suficiente pero no
necesaria.

 Si Po existe, es una solución simétrica y no definida negativa de la ecuación algebraica de


T
Riccati: 0  APo  Po A T  B 2 WB 2  Po CT V 1CPo . Si el sistema es detectable y
estabilizable, Po es la única solución no definida negativa de la ecuación algebraica de
Riccati. Esta condición es suficiente pero no necesaria.

 Si Po existe, es definida positiva si y sólo si el sistema es completamente controlable.

 Si Po existe, el observador óptimo en régimen permanente


xˆ (t )  Axˆ (t )  K o z(t )  Cxˆ (t ) , donde K o  Po CT V 1 es asintóticamente estable si y
sólo si el sistema es detectable y estabilizable.
 Si el sistema es detectable y estabilizable, el observador óptimo en régimen permanente
 
minimiza el lim E e T (t )e(t ) para cualquier Po 0  0 . Este valor mínimo es: Tr Po .
to  
 

Notas históricas

R. E. Kalman (Budapest, 1930), se graduó MS(EE) en el MIT con Guillemin, con una tesis
sobre las ecuaciones en diferencias de segundo orden en la que comprobó una diferencia
substancial con la ecuación diferencial del mismo orden (comprobó que podía incluso entrar en
régimen caótico). En 1955 pasó a la Universidad de Columbia (con Ragazzini - control digital
y Zadeh - sistemas fuzzy) donde realizó su doctorado (1957). Más tarde trabajó un año en IBM
y otros 6 en el RIAS.

Sus trabajos en Teoría de Sistemas y Álgebra. En 1953 estudiando los trabajos de Ragazzini,
descubrió que los sistemas discretos también podían ser abordados por métodos transformados
al igual que los continuos. De aquí empezó sus estudios sobre la conexión entre Teoría de
Sistemas y Álgebra. En 1954, abordó el tema de la controlabilidad, tratando de buscar un
criterio algebraico para la misma y lo halló en el rango de Mc.

El descubrimiento del filtro de Kalman a partir de Wiener. En 1958, mientras trabajaba en el


RIAS, un día yendo en el tren que le llevaba de retorno a Baltimore, se le ocurrió la idea de
aplicar las variables de estado al filtro de Wiener. Con la restricción de dimensión finita, halló
la expresión del filtro de Wiener en formato de variables de estado y cuya demostración resultó
(de esta manera) mucho más sencilla que la original y lo suficiente para ser comprensible ya a
nivel de pregrado.

ETSETB. Sistemas Electrónicos de Control 1314a 60


Tema 5. Control avanzado

Presentación del filtro de Kalman. Su trabajo despertó un gran escepticismo, por lo que
primero lo publicó en una revista de Ingeniería Mecánica. Su segundo artículo, sobre el filtro
continuo, fue rechazado. Persistió en exponer sus ideas hasta que fue aceptado por la
comunidad científica.

Primeras aplicaciones. Donde primero encontró una audiencia receptiva fue en la NASA,
donde pronto vieron sus grandes posibilidades para la estimación y control de la trayectoria del
proyecto Apolo, desarrollándose (Schmidt) el filtro de Kalman extendido para problemas no
lineales. En 1961 Battin, que ya usaba las variables de estado para el diseño e implementación
de sistemas de navegación astronáutica, incluyó el KF como parte del sistema de navegación
de a bordo. En aeronáutica el KF resolvió dos problemas: a) el de combinar los datos
asociados al radar con sensores de inercia para llegar a la estimación global de la trayectoria
del avión. b) el rechazo asociado a la detección de errores exógenos en los datos de medida.

Otras líneas de Teoría de Sistemas. En 1960 Kalman demostró que la observabilidad (en
sistemas dinámicos) tenía una relación algebraica dual en la controlabilidad y, además,
demostró que eran problemas separados. Un poco más tarde, Bucy (RIAS) sugirió a Kalman
que la ecuación integral de Wiener-Hopf era equivalente a la ecuación diferencial de Riccati
(en la hipótesis de modelo de estado de dimensión finita). Además, probaron que Riccati
puede tener solución estable a pesar de que el sistema sea inestable, pero a condición de que
sea observable y controlable. Kalman también jugó un importante papel en la teoría de la
realización (1962) que trata de hallar un modelo de estado que explique el comportamiento
entrada/salida del sistema. El impacto del KF ha sido enorme para los que trabajan en el
campo de la estimación y control, resultando una de las tecnologías básicas en la navegación
espacial.

Ejemplo 23. Autopiloto. Reconstrucción del estado. Considerar de nuevo el buque del Ejemplo
21. Dado que en realidad no tenemos acceso directo a los estados de la planta, se pide:
1) Implementar un observador óptimo de estado (filtro de Kalman-Bucy) tal que, a partir de las
medidas ruidosas de la salida del sistema z, estime las variables de estado de la planta: rumbo (
) y velocidad de giro ( r   ). (función lqe). ¿Cuánto vale la ganancia del estimador óptimo?
¿Cuál es la matriz P solución de la ecuación de Riccati? ¿Cuáles son los autovalores del
estimador de estado?
2) Representar el estado del sistema y su estimación mediante dicho filtro. Comentar la bondad de
la reconstrucción del estado y su convergencia hacia el valor real.

Solución:
% filtro de kalman bucy
[ko,P,aut]=lqe(a,b2,c,W,V)

ko =
0.7943
0.3154
P =
0.7943 0.3154
0.3154 0.2509
aut =
-0.3976 + 0.3976i
-0.3976 - 0.3976i

ameta=[a a*0;ko*c a-ko*c];


bmeta=[b2 b2*0;b2*0 ko];
cmeta=[c c*0;c*0 c];
dmeta=[0 0;0 0];
[y,x]=lsim(ameta,bmeta,cmeta,dmeta,[w’ v],t,[x0; 0; 0]);

figure(3)
subplot(211),plot(t,x(:,[1 3])),grid,title('estado x_1 y su estimacion optima x_3'),

ETSETB. Sistemas Electrónicos de Control 1314a 61


Tema 5. Control avanzado

subplot(212),plot(t,x(:,[2 4])),grid,title('estado x_2 y su estimacion optima x_4'),

estado x 1 y su estimacion optima x 3


20

10

-10

-20
0 10 20 30 40 50 60
estado x 2 y su estimacion optima x 4
3

-1
0 10 20 30 40 50 60

1.4.4 Regulador LQG

Introducción

En el presente apartado supondremos que:

1) La planta está sometida a excitaciones aleatorias que modelan tanto las perturbaciones
externas como las internas (ruido de proceso, incertidumbre del modelo).

2) Las mediciones, además de ser incompletas (es decir, algunas de las variables de estado son
inaccesibles), resultan enmascaradas (degradadas) por el ruido que, inevitablemente,
introducen los sensores.

En estas condiciones, la información contiene una fuerte componente de error y, por tanto, provoca
decisiones "equivocadas" del controlador, afectando así la optimalidad del resultado. Para abordar
estas situaciones que introducen elementos aleatorios en el problema, se ha desarrollado el llamado
Control (Óptimo) Estocástico, que aquí se abordará desde la perspectiva de una formulación de
estado.

Su tratamiento contempla varias etapas:


1) Diseño de reguladores óptimos estocásticos para sistemas sujetos a perturbaciones
aleatorias, pero con medición directa y exacta de todas las variables de estado.
(Retroacción directa LQ)
2) Diseño del filtro de Kalman-Bucy, capaz de estimar óptimamente el estado a partir de
medidas incompletas e inciertas (contaminadas por ruido). Dicho filtro resulta una
generalización del de Wiener.
3) Diseño del compensador general: Cálculo de la ley de control necesaria para optimizar el
comportamiento de una planta sometida a perturbaciones aleatorias y de la que no se
dispone del vector de estado, sólo de algunas señales de salida que, además, están
contaminadas por el ruido de la medición.

Robustez. No obstante, en el mundo real, el Control Óptimo Estocástico, en concreto el LQG, no


extiende su radio de aplicación más allá de los problemas aerospaciales, problemas que se
caracterizan por su fácil modelación, ya que permiten establecer las hipótesis de planta lineal y

ETSETB. Sistemas Electrónicos de Control 1314a 62


Tema 5. Control avanzado

posiblemente invariante, y donde el objetivo es básicamente la gestión de los recursos energéticos


disponibles (cuya traducción inmediata pasa por la optimización -minimización- de criterios
cuadráticos). En aplicaciones terrestres el LQG se complementa con estrategias de recuperación de
la robustez o se sustituye directamente por el control robusto.

Principio de separación o equivalencia de certeza

Los principios del control LQR y la estimación óptima pueden aplicarse conjuntamente para
resolver el problema del COE (LQG). En el caso más general las estrategias de control y
estimación deben diseñarse concurrentemente (es decir, uno depende del otro). Sin embargo, en
una amplia gama de problemas, las estrategias de control y estimación pueden ser calculadas
independientemente y luego juntarlas para formar la solución óptima. La posibilidad de separar
estos diseños depende de la manera en que la incertidumbre entra en el problema y de la estadística
de las mismas.

La estrategia de control de minimizar el valor esperado de una función de coste cuadrática de un


SLI con perturbaciones aleatorias y errores de medida viene descrita por una ley de control
retroactiva que opera sobre la estimación óptima del estado. Dicha ley de control puede ser
formulada como si no hubiera incertidumbre en las medidas y, además, el estimador óptimo puede
ser obtenido como si no hubiera control retroactivo. De esta manera los procesos de diseño del
controlador y del regulador son separables y se dice que la ley de control es equivalente al caso de
certeza (certainty equivalence). Esta propiedad supone perturbaciones aleatorias de tipo ruido
blanco Gaussiano aunque esta propiedad puede ser mantenida en situaciones menos restrictivas
(ruidos no Gaussianos y/o coloreados).

Formulación del regulador LQG


Planta:
x  Ax  B1u  B 2 w
z  Cx  v
donde w, ruido de proceso, y v, ruido de medida, son procesos de ruido blanco Gaussianos
con media cero y matrices de covarianza W y V, respectivamente. Supóngase además que
están incorrelados.
Objetivo: Solución del problema LQ mediante una estimación de los estados a partir de las medidas
de la salida, minimizando la varianza del error de estimación ( ~
x  x  x ):

J  E  x  x   x  x 
T

Solución del regulador LQG

Principio de separación: La estrategia de control óptimo se puede descomponer en dos partes: un


estimador de estado, que da la mejor estimación de los estados a partir de las salidas observadas, y
una ley de retroalimentación lineal de los estados estimados. El controlador lineal empleado es el
mismo que se emplearía si no hubiera perturbaciones actuando sobre el sistema.

Estructura:

ETSETB. Sistemas Electrónicos de Control 1314a 63


Tema 5. Control avanzado

u  K opt
c x ˆ

o z  y
xˆ  Axˆ  B1u  K opt ˆ
yˆ  Cxˆ

Dinámica: La dinámica del sistema en lazo cerrado queda determinada por ( A  BK opt
c ) y

( A  K opt
o C ), es decir, por la dinámica del problema de control LQ determinístico correspondiente
y por la del filtro óptimo.

Metasistema:

 x   A  B 1 K opt   x   B2   0 
     opt c
       w   opt  v
opt   
 xˆ   K o C A  B1K c  K o C   xˆ   0 
opt
Ko 
 z  C 0  x  I 
           v
 yˆ   0 C   xˆ   0 

Propiedades

Horizonte finito. El filtro de Kalman puede ser conectado en cascada con un controlador LQ
formando un posible controlador estocástico de sistemas dinámicos lineales. En realidad puede
demostrarse que esta combinación es óptima y que sus dos componentes principales pueden ser
diseñados independientemente. La función de coste sólo puede evaluarse en términos de valores
esperados que son estimaciones condicionadas de la media y varianza del estado (los operadores
esperanza E[ ] y traza Tr( ) son intercambiables), resultando
1 1 t1 
J  E  x T (t1 )Sx(t1 )   (x T Qx  u T Ru)dt  
2 2 t0 
1  
E tr S1 (P1  x 1x 1T )  tr   (Q  xx
 t1   T )dt   tr   (Ruu T )dt    J CE  J s
t1
   
2  t0 t0 

  
(Notas: x T Qx  Tr Qxx T , E xx T  P  xx 
 T , 
P  E  x  x  x  x 
T

Componente de equivalencia de certeza:
1  
E tr S1x 1x 1T   tr   Qxx
 t1   T   t1
J CE  dt   tr   (Ruu T )dt  
2  t 0 t 0 
Componente debida al error de la estimación:
1  
E tr S1P1   tr   QPdt  
 t1
JS 
2  t0 

Los métodos de optimizar trayectorias de duración finita son idénticos. Aunque estemos trabajando
con SLI y con Q, R constantes, los Kc, Ko resultan variables. Las trayectorias óptimas (x) y la
historia del control (u) dependen de las condiciones iniciales, y de los perfiles de w y v. Sin
embargo, los perfiles de Kc y Ko normalmente resultan con variaciones confinadas a breves
periodos al principio y al final de la trayectoria: Ko al principio (cuando las condiciones iniciales
pueden contener más (o menos) información que las medidas) tiende a crecer. Inversamente Kc es

ETSETB. Sistemas Electrónicos de Control 1314a 64


Tema 5. Control avanzado

constante al principio y aumenta hacia el final de la trayectoria (cuando el coste terminal puede
resultar más importante que el término (coste) integral).

Sea t0 el instante en que Ko ha alcanzado esencialmente su valor final y tc el instante en que Kc


empieza a cambiar de forma clara. Puede inferirse que las ecuaciones diferenciales de Riccati de
control y estimación permanecen en equilibrio (ARE) en el intervalo [t0, tc] (Kc, Ko constantes). Si
dicho intervalo es grande con relación a t0-t1 y t2-tc la función de coste estocástica J se verá
dominada por el término integral y por tanto kc y ko constantes podrían ser consideradas muy
buenas aproximaciones de los perfiles óptimos de ko, kc. Con w estacionarios los J se hacen
infinito a medida que t1 tiende a infinito por lo que conviene definir una nueva función de coste
J
promedio J A  lim , cuyo valor puede estar acotado al crecer t1. Las condiciones de
t1  t
1
optimalidad son las mismas para J y J A pues ambos son problemas de terminal fijo.

Coste del regulador estocástico óptimo:

Directo (v=0).
1 T
x 0 Pc (0)x 0  Tr   Pc K o WK To dt 
t1
Horizonte finito: J x 
2   t0 
1
(Nota: si w=0, es el determinista: J x  x 0T Pc (0)x 0 )
2
Horizonte infinito: J Ax  Tr Pc B 2 WB T2 
1
2

Coste del regulador con filtro de Kalman ( v  0 ).


1

Horizonte infinito: J Ax  Tr QPo  Pc K o VK T0
2

Ejemplo 24. Autopiloto. Control óptimo estocástico (LQG). Considerar de nuevo el buque del
Ejemplo 21. Se pide:
1) Implementar un controlador estocástico (de mínima varianza “aumentada”) a partir de la
interconexión del controlador y del estimador óptimos calculados separadamente.
2) Representar la salida (ctx) del sistema compensado y compararla con su medida ruidosa z y con
la estimación de dicha salida realizada por el filtro de Kalman. Observar las ventajas de la
estimación sobre la medida directa en entornos ruidosos.
3) Calcular el valor del coste mínimo.

Solución:
%control optimo estocastico (LQG)
ameta=[a -b1*kc;ko*c a-ko*c-b1*kc];
bmeta=[b2 b2*0;b2*0 ko];
cmeta=[c c*0;c*0 c];
dmeta=[0 0;0 0];
[y,x]=lsim(ameta,bmeta,cmeta,dmeta,[w' v],t,[x0; 0; 0]);
z=y(:,1)+v;
figure(4)
subplot(211),plot(t,z),grid,
title('salida del sistema compensado con ruido de medida'),axis(ax)
subplot(212),plot(t,y),grid,
title('salida del sistema compensado (sin ruido de medida) y su estimacion'),axis(ax)

e=[x(:,1)-x(:,3) x(:,2)-x(:,4)];

ETSETB. Sistemas Electrónicos de Control 1314a 65


Tema 5. Control avanzado

J=e'*e,trace(J)
J =
475.9149 42.6885
42.6885 127.4428
ans =
603.3577

salida del sistema compensado con ruido de medida


20

10

-10

-20
0 10 20 30 40 50 60

salida del sistema compensado (sin ruido de medida) y su estimacion


20

10

-10

-20
0 10 20 30 40 50 60

ETSETB. Sistemas Electrónicos de Control 1314a 66


Tema 5. Control avanzado

1.5 Ejercicios resueltos

Ejercicio 1. Péndulo invertido (modelo simplificado). Control modal. Considerar ahora el


modelo simplificado de un péndulo invertido:

 0 1  0 
x    x   u
20.6 0  1 
y  1 0x

donde los estados son la posición del péndulo y su velocidad, respectivamente. Las condiciones
iniciales son x(0)  1 2  . Se pide:
T

Análisis de la planta
1. Obtener los autovalores de la matriz A. ¿Es estable?
2. Obtener la respuesta a las condiciones iniciales dadas. Representar cada uno de los estados en
una gráfica diferente.
Regulador del estado
Se desea estabilizar la planta de manera que el polinomio característico del sistema regulado sea
 c ( )  2  3.6  9 . Se pide:
1. Obtener la matriz de controlabilidad y calcular su rango. ¿Existe solución al problema de
regulación?
2. Calcular el valor de la ganancia de retroacción kc con ayuda de la función acker.
3. Obtener las ecuaciones de estado del sistema regulado y representar su respuesta a las
condiciones iniciales anteriores.
Observador del estado
Suponiendo que no se puede acceder directamente a los estados del sistema, se decide diseñar un
observador que los estime según una dinámica definida por  o ( )    16  64 . Se pide:
2

2. Obtener la matriz de observabilidad y calcular su rango. ¿Existe solución al problema de


observación?
3. Calcular el valor de la ganancia de Luenberger ko con ayuda de la función acker, aplicando el
principio de dualidad.
4. Obtener las ecuaciones del conjunto planta+observador y representar su respuesta a las
condiciones iniciales anteriores. Representar cada uno de los estados de la planta en la misma
gráfica que su estimación.
Compensador (regulador basado en observador) del estado
1. Obtener las ecuaciones del sistema completo: planta+regulador+observador.
2. Representar la respuesta a condiciones iniciales. . Representar cada uno de los estados de la
planta en la misma gráfica que su estimación.

(Nota: Resolver este problema con la ayuda de Matlab. Las funciones que hay que usar son: eig,
ss, initial, subplot, plot, ctrb, obsv, rank, acker, roots, poly)

Solución

Análisis de la planta
La planta es inestable puesto que uno de sus autovalores (polos) tiene parte real positiva.

ETSETB. Sistemas Electrónicos de Control 1314a 67


Tema 5. Control avanzado

>> a=[0 1;20.6 0];b=[0;1];c=[1 0];d=0; Respuesta a condiciones iniciales


>> eig(a) 3000

ans =
4.5387 2000

x1
-4.5387
1000

La respuesta a condiciones iniciales es: 0


0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8

>> [y,t,x]=initial(ss(a,b,c,d),[2 1]'); 15000

>> subplot(211),plot(t,x(:,1)),ylabel('x_1'), 10000


>> title('Respuesta a condiciones iniciales')

x2
>> subplot(212),plot(t,x(:,2)),ylabel('x_2'), 5000
>> xlabel('Tiempo')
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8
Tiempo

Regulador del estado


La matriz de controlabilidad Mc es
>> Mc=ctrb(a,b)
Mc =
0 1
1 0

Y su rango es completo, es decir, coincide con el número de estados de la planta (n=2):

>> rank(Mc)
ans =
2

Por tanto, el sistema es totalmente controlable (i.e., el problema del regulador de estado tiene
solución). La ganancia de retroacción de estado es:
>> kc=acker(a,b,roots([1 3.6 9]))
kc =
29.6000 3.6000

El sistema regulado es (Ac=A-bkc,b,c,d), por tanto, sólo hay que cambiar la matriz de estado:

>> ac=a-b*kc;

Podemos comprobar que el polinomio 3


Regulador del estado

característico del sistema regulado es el de las


2
especificaciones:
x1

>> poly(ac) 0
ans =
-1
1.0000 3.6000 9.0000 0 0.5 1 1.5 2 2.5 3

La respuesta a condiciones iniciales es 1


0

>> [y,t,x]=initial(ss(ac,b,c,d),[2 1]'); -1


x2

>> subplot(211),plot(t,x(:,1)),ylabel('x_1'), -2
>> title('Regulador del estado') -3
>> subplot(212),plot(t,x(:,2)),ylabel('x_2'),
-4
>> xlabel('Tiempo') 0 0.5 1 1.5 2 2.5 3
Tiempo

Observador del estado

El problema del observador tiene solución puesto que el sistema es totalmente observable (la matriz
de observabilidad Mo presenta rango completo):

ETSETB. Sistemas Electrónicos de Control 1314a 68


Tema 5. Control avanzado

>> Mo=obsv(a,c)
Mo =
1 0
0 1

>> rank(Mo)
ans =
2

Ahora calculamos la ganancia de Luenberger por dualidad. Aplicar dualidad consiste en usar la
misma fórmula de Ackermann que el problema regulador pero con los siguientes cambios: en vez
de A se usa AT, en vez de b se usa cT y el resultado de la fórmula de Ackermann también se
traspone, así:
>> ko=acker(a',c',roots([1 16 64]));ko=ko'
ko =
16.0000
84.6000

Las ecuaciones del conjunto planta-observador son:

 x   A 0  x   b 
 ̂    t     u
t  
 x  k oc A  k oc  xˆ   b 
 y  c t 0   x 
     
t  
 yˆ   0 c  xˆ 
>> ao=[a a*0;ko*c a-ko*c];
>> bo=[b;b];
>> co=[c c*0;c*0 c];
>> do=[0;0];

En cuanto a las condiciones iniciales,


supondremos que las de los estados estimados son
nulas: 8
Observador del estado

 x ( 0)   x 0 
     .
6

 ˆ
x ( 0 )  0
x1,x3

La respuesta a CI de los estados y sus respectivas 2

estimaciones es: 0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4

t=linspace(0,0.4); 40
[y,t,x]=initial(ss(ao,bo,co,do),[2 1 0 0]',t);
subplot(211),plot(t,x(:,[1 3])), 30
ylabel('x_1,x_3'),
x2,x4

20
title('Observador del estado')
subplot(212),plot(t,x(:,[2 4])), 10
ylabel('x_2,x_4'),xlabel('Tiempo')
0
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4
Tiempo

Compensador del estado:


Las ecuaciones del sistema completo son:

 x   A  bk tc  x   b 
 ̂    t     u
t  
 x  k oc A  bk c  k oc  xˆ   b 
t

 y  c t 0   x 
     
t  
 yˆ   0 c  xˆ 

ETSETB. Sistemas Electrónicos de Control 1314a 69


Tema 5. Control avanzado

 x(0)   x 0 
con condiciones iniciales      .
 ˆ
x ( 0)  0
>> at=[a -b*kc;ko*c a-ko*c-b*kc];
>> bt=[b;b];
>> ct=[c c*0;c*0 c];
>> dt=[0;0];

La respuesta temporal es:


t=linspace(0,3);
[y,t,x]=initial(ss(at,bt,ct,dt),[2 1 0 0]',t);
subplot(211),plot(t,x(:,[1 3])),ylabel('x_1 , x_3'),title('Regulador basado en observador')
subplot(212),plot(t,x(:,[2 4])),ylabel('x_2 , x_4'),xlabel('Tiempo')

Regulador basado en observador


3

2
x1 , x3

-1
0 0.5 1 1.5 2 2.5 3

10

5
x2 , x4

-5

-10
0 0.5 1 1.5 2 2.5 3
Tiempo

Ejercicio 1. Dinámica longitudinal de un helicóptero. La dinámica longitudinal de un


helicóptero

presenta las siguientes ecuaciones de estado:

 x1    0.3 0.1  0.05 x1   2   0 


        
 x2    1 0.1 0   x2    0 u   0  w

 x    1.5  8.9  0.05 x   4   1 
 3   3     
 x1 
 
z  0 0 1 x2   v
x 
 3
donde
x1:velocidad angular cabeceo, x2: ángulo cabeceo, x3: velocidad traslacional
u: control cabeceo cíclico longitudinal
w: ruido de proceso (viento, turbulencias,…), de intensidad W=300

ETSETB. Sistemas Electrónicos de Control 1314a 70


Tema 5. Control avanzado

v: ruido de medida, de intensidad V=2

Suponer que las condiciones iniciales son: x(0)  1  0.6 0.4  .


T
Se pide estabilizar el
helicóptero minimizando la siguiente función de coste:

 5 0 0
1  T
J   [x Qx  u Ru]dt , Q  0 5 0,
T
R 1
2 0  
0 0 5
Para ello seguir los siguientes pasos:
1) Analizar la planta sin control.
2) Diseñar el regulador LQ.
3) Estimar los estados con un filtro de Kalman.
4) Diseñar el regulador LQG.
5) Añadir acción integral a fin de seguir sin offset consignas tipo escalón.

Solución:
%planta
a=[-0.3 0.1 -0.05;1 0.1 0;-1.5 -8.9 -0.05];
Respuesta de la planta sin control
bu=[2 0 4]';bw=[0 0 1]'; 10
c=[0 0 1];
0
du=0;dw=0;
polos=eig(a) -10

-20
x0=[1 -0.6 0.4]';
-30
t=linspace(0,5,200);
-40
W=300;w=randn(size(t))*sqrt(W);w=w';
-50
y=lsim(ss(a,bw,c,dw),w,t,x0);
-60

V=2;v=randn(size(t))*sqrt(V);v=v'; -70
z=y+v; -80

figure, -90
0 1 2 3 4 5
plot(t,y+v),ax=axis; Tiempo (s)
title('Respuesta de la planta sin control')
xlabel('Tiempo (s)')

Suponiendo que todos los estados son accesibles a efectos de retroacción, estabilizar la planta
minimizando la siguiente función de coste:

 5 0 0
1  T
J   [x Qx  u Ru]dt , Q  0 5 0,
T
R 1
2 0  
0 0 5
%regulador LQ full state
Q=5*eye(3);R=1;kc=lqr(a,bu,Q,R),
ac=a-bu*kc;eig(ac)
[y,t,x]=lsim(ss(ac,bw,c,dw),w,t,x0);
figure
plot(t,y+v),xlabel('Tiempo (s)'),axis(ax);
title('Regulador LQ: Q=5xI, R=1')

figure
plot(t,x),xlabel('Tiempo (s)'),%axis(ax);
title('Estados. Regulador LQ: Q=5xI, R=1')
legend('x_1','x_2','x_3')

ETSETB. Sistemas Electrónicos de Control 1314a 71


Tema 5. Control avanzado

Estados. Regulador LQ: Q=5xI, R=1


Regulador LQ: Q=5xI, R=1 8
20
x1
6 x2
0
x3
4
-20
2
-40
0

-60
-2

-80
-4

-100 -6

-120 -8
0 1 2 3 4 5 0 1 2 3 4 5
Tiempo (s) Tiempo (s)

kc =
11.4502 20.8138 -2.3700

polos_servo =
-9.6101
-2.0301 + 0.2683i
-2.0301 - 0.2683i

Suponiendo la planta son control y que los estados no son accesibles a efectos de retroacción,
diseñar un filtro de Kalman-Bucy que obtenga una estimación de los estados óptima en el sentido de
minimizar el error cuadrático medio de la estimación:

%estimador óptimo del estado


ko=lqr(a',c',bw*W*bw',V)'
ko =
-0.1844
-0.7597
12.7593

ao=[a a*0;ko*c a-ko*c];


bo=[bw 0*bw;bw*0 ko];
co=[c c*0;c*0 c];
do=[0 1;0 0];
[y,t,x]=lsim(ss(ao,bo,co,do),[w v],t,[x0;0;0;0]);

figure
subplot(311),plot(t,x(:,[1 4])),xlabel('Tiempo (s)'),
title('Planta sin control con estimador óptimo del estado'),
ylabel('x_1 , x_4')
subplot(312),plot(t,x(:,[2 5])),xlabel('Tiempo (s)'),
ylabel('x_2 , x_5')
subplot(313),plot(t,x(:,[3 6])),xlabel('Tiempo (s)'),
ylabel('x_3 , x_6')
Planta sin control con estimador óptimo del estado
5
x1 , x4

-5
0 1 2 3 4 5
Tiempo (s)
5
x2 , x5

-5
0 1 2 3 4 5
Tiempo (s)
50
x3 , x6

-50
0 1 2 3 4 5
Tiempo (s)

ETSETB. Sistemas Electrónicos de Control 1314a 72


Tema 5. Control avanzado

Juntamos ahora el regulador LQ y el filtro de Kalman-Bucy de los dos ejercicios anteriores a fin de
obtener un regulador LQG:

%regulador LQG
at=[a -bu*kc;ko*c a-ko*c-bu*kc];
bt=[bw 0*bw;bw*0 ko];
ct=[c c*0;c*0 c];
dt=[0 1;0 0];
[y,t,x]=lsim(ss(at,bt,ct,dt),[w v],t,[x0;0;0;0]);

figure
subplot(311),plot(t,x(:,[1 4])),xlabel('Tiempo (s)'),
title('Regulador óptimo del estado LQG'),
ylabel('x_1 , x_4')
subplot(312),plot(t,x(:,[2 5])),xlabel('Tiempo (s)'),
ylabel('x_2 , x_5')
subplot(313),plot(t,x(:,[3 6])),xlabel('Tiempo (s)'),
ylabel('x_3 , x_6')

Regulador óptimo del estado LQG


5
x1 , x4

-5
0 1 2 3 4 5
Tiempo (s)
2
x2 , x5

-2
0 1 2 3 4 5
Tiempo (s)
20
x3 , x6

-20
0 1 2 3 4 5
Tiempo (s)

La siguiente figura muestra la respuesta al escalón del regulador LQ simple. No es capaz de seguir
consignas tipo escalón:
Control LQ full state sin acción integral
0.2

0.1
%control LQ sense sorolls
Q=5*eye(3);R=1;
0
kc=lqr(a,bu,Q,R);
ac=a-bu*kc;eig(ac)
-0.1
Amplitude

figure
step(ss(ac,bu,c,du))
-0.2
xlabel('Tiempo (s)'),title('Control LQ
full state sin acción integral')
-0.3

-0.4

-0.5
0 0.5 1 1.5 2 2.5 3
Tiempo (s) (sec)

Para resolverlo, se introduce un integrador en el lazo:

ETSETB. Sistemas Electrónicos de Control 1314a 73


Tema 5. Control avanzado

r +  ki + u + x x y
s -
b  c
- +
A

kc

La señal de control es u  k c x  k i donde   r  y  r  cx . Así las ecuaciones de la planta


aumentadas con este estado adicional quedan como:

 x   A 0 x  B 0 
          u    r
    c 0    0 
  1 
Ai Bi

La ecuación de Riccati se resuelve para la planta aumentada y el vector de ganancias resultante K se


descompone en kc y ki:

x x
u  k c x  k i  K    k c  k i  
   

Finalmente, el sistema en lazo cerrado es:

 x   A  Bk c Bki  x  0
       r
    
c 0    1

Ac

Ahora sí que se tiene tracking a consignas escalón:

%control amb acció integral (sense


sorolls) ai=[a bu*0;-c 0]; 1.2
Control LQ full state con acción integral

bi=[bu;0];
br=[bu*0;1]; 1
Mc=ctrb(ai,bi);rank(Mc)
Q=5*eye(3);Qi=diagmx(Q,1);R=1; 0.8
k=lqr(ai,bi,Qi,R);kc=k(1:3),ki=-k(4),
kc = 0.6
Amplitude

13.6070 25.0911 -3.3397


ki = 0.4

-1.0000
ac=[a-bu*kc bu*ki;-c 0]; 0.2

bc=[zeros(3,1);1];
cc=[c 0]; 0

figure
step(ss(ac,bc,cc,0)); -0.2
0 5 10 15
xlabel('Tiempo (s)'),title('Control LQ Tiempo (s) (sec)

full state con acción integral')

ETSETB. Sistemas Electrónicos de Control 1314a 74


Tema 5. Control avanzado

Ejercicio 2. Dinámica longitudinal de un avión.

El problema: El movimiento de un avión se puede modelar mediante el conjunto de 6 ecuaciones


diferenciales no lineales y acopladas. Bajo ciertas condiciones, se pueden linealizar y desacoplar
entre movimiento longitudinal y lateral. El control de cabeceo (pitch control) es un problema
longitudinal. En este ejemplo se diseña un autopiloto para el control del cabeceo del avión.

La siguiente figura muestra las fuerzas que actúan sobre el avión (sustentación/peso y
empuje/resistencia). Suponiendo vuelo de crucero a altitud y velocidad contantes estos pares de
fuerzas se cancelan entre sí. Además (aunque no es realista) se supondrá que la variación del
ángulo de cabeceo  no afecta a la velocidad v.

Así, las ecuaciones que describen el movimiento longitudinal son:

  0.313  56.7q  0.232 e


q  0.0139  0.426q  0.0203 e
  56.7 q

donde  es el ángulo de ataque (ángulo entre el vector velocidad y el eje del avión), q es la tasa de
variación del ángulo de cabeceo (pitch rate),  es el ángulo de cabeceo y  e es el ángulo del
deflector de elevación.

En este sistema consideraremos que la salida es y= y la entrada u   e . La función de


transferencia resultante es:
Y ( s) 1.151s  0.1774
 3
U ( s ) s  0.739s 2  0.921s

Las especificaciones del problema de control son recuperar el ángulo de cabeceo 0º con un tiempo
de establecimiento ts menor que 10s y un rebasamiento razonable.

Se pide representar la respuesta zero-input a una perturbación de valor 0.3rad en el ángulo de


ataque. ¿La planta es estable? ¿Es controlable? ¿Es observable?

Solución: Sin control el ángulo de cabeceo quedará fijado a -0.265.

ETSETB. Sistemas Electrónicos de Control 1314a 75


Tema 5. Control avanzado

a=[-0.313 56.7 0;.. Sin control


0.3
-0.0139 -0.426 0; 0 56.7 0]; 
b=[0.232; 0.0203; 0]; 0.2
q

c=[0 0 1];
d=[0]; 0.1

G=ss(a,b,c,d);
0

t=linspace(0,20); -0.1

x0=[0.3 0 0];
-0.2
[y,t,x]=initial(G,x0,t);
Figure,plot(t,x), -0.3
title('Sin control'),
xlabel('Tiempo (s)') -0.4
0 2 4 6 8 10 12 14 16 18 20
legend('\alpha','q','\theta'), Tiempo (s)

Los polos de la planta son un integrados y dos polos estables.


pole(G)
ans =
0
-0.3695 + 0.8860i
-0.3695 - 0.8860i

Por otro lado, la planta es totalmente controllable y observable:

rank(ctrb(a,b)),
ans =
3
rank(obsv(a,c)),
ans =
3

Ejercicio 3. Regulador de estado (full-state). Se pide:


1) Escoger unos polos para el sistema controlado de manera que el tiempo de establecimiento sea
menor que 10s y el rebasamiento sea razonable.
2) Calcular la ganancia de retroacción de estados necesaria.
3) Comprobar el funcionamiento representando la respuesta zero input.

Solución:
4
Escogemos por ejemplo un par de polos dominantes con =0.9 y ts   8 , con lo que
n
n  0.556 . El tercer polo lo situamos lejano, arbitrariamente, a -10.

La ganancia de retroacción obtenida mediante la fórmula de Ackermann es:

kc =
-10.0632 620.4765 17.3961

ETSETB. Sistemas Electrónicos de Control 1314a 76


Tema 5. Control avanzado

z=0.9; Regulador full state


0.6
%z=0.4; 
ts=8;wn=4/(z*ts); 0.5
q

p1=-z*wn+j*wn*sqrt(1-z^2); 

p2=conj(p1); 0.4
p3=-10;
kc=acker(a,b,[p1 p2 p3]), 0.3

0.2
ac=a-b*kc;
0.1
Gc=ss(ac,b,c,d);
[y,t,x]=initial(Gc,x0,t); 0

figure,plot(t,x), -0.1
0 2 4 6 8 10 12 14 16 18 20
title('Regulador full state'), Tiempo (s)
xlabel('Tiempo (s)')
legend('\alpha','q','\theta'),

Ejercicio 4. Observador de estado. Se pide diseñar un observador de los tres estados que forman
la planta y verificar su funcionamiento con la planta sin control.

Solución:
Aquí diseñamos un observador con los tres polos a -20 (más rápidos que los del regulador de estado
del ejercicio anterior.

k=acker(a',c',-20*[1 1 1]);ko=k' x 1 y x 4:  y su estimación x -3 y x 5: q y su estimación


x 102
ko = 0.3 1

0.2 0

1.0e+003 * 0.1 -1

0 -2
-9.6225
-0.1 -3
0.0204 0 5 10 15 20 0 5 10 15 20
Tiempo (s) Tiempo (s)
0.0593 x 3 y x 6:  y su estimación
0

ao=[a a*0;ko*c a-ko*c]; -0.1

bo=[b;b]; -0.2
co=[c c*0;c*0 c]; -0.3
do=[0;0];
-0.4
0 5 10 15 20
Tiempo (s)
x0=[0.3 0 0 0 0 0];
[y,t,x]=initial(ss(ao,bo,co,do),x0,t
);

h=figure;
subplot(221),plot(t,x(:,[1 4])),xlabel('Tiempo (s)'),
title('x_1 y x_4: \alpha y su estimación')
subplot(222),plot(t,x(:,[2 5])),xlabel('Tiempo (s)'),
title('x_2 y x_5: q y su estimación')
subplot(223),plot(t,x(:,[3 6])),xlabel('Tiempo (s)'),
title('x_3 y x_6: \theta y su estimación')
set(h,'name','Planta con observador','numbertitle','off')

Ejercicio 5. Regulador de estado basado en observador. Juntar el regulador y el observador


diseñados en los dos ejercicios anteriores a fin de obtener un compensador de estado y verificar su
funcionamiento.

ETSETB. Sistemas Electrónicos de Control 1314a 77


Tema 5. Control avanzado

Solución:

ac=[a -b*kc;ko*c a-ko*c-b*kc]; Regulador con observador


0.45
bc=[b;b]; 
0.4
cc=[c c*0;c*0 c]; q

dc=[0;0]; 0.35

0.3

[y,t,x]=initial(ss(ac,bc,cc,dc),x0,t 0.25

); 0.2

0.15
figure
0.1
plot(t,x(:,1:3)),
0.05
title('Regulador con observador'),
xlabel('Tiempo (s)') 0

legend('\alpha','q','\theta'), -0.05
0 2 4 6 8 10 12 14 16 18 20
Tiempo (s)

h=figure; x 1 y x 4:  y su estimación x -3 y x 5: q y su estimación


x 102
subplot(221),plot(t,x(:,[1 4])), 0.6 6

xlabel('Tiempo (s)'), 0.4 4

title('x_1 y x_4: \alpha y su 0.2 2

estimación') 0 0
subplot(222),plot(t,x(:,[2 5])), -0.2 -2
0 5 10 15 20 0 5 10 15 20
xlabel('Tiempo (s)'), Tiempo (s) Tiempo (s)
title('x_2 y x_5: q y su x 3 y x 6:  y su estimación
0.3
estimación')
0.2
subplot(223),plot(t,x(:,[3 6])),
xlabel('Tiempo (s)'), 0.1

title('x_3 y x_6: \theta y su 0

estimación') -0.1
0 5 10 15 20
set(h,'name','Regulador más Tiempo (s)
observador','numbertitle','off')

ETSETB. Sistemas Electrónicos de Control 1314a 78


Tema 5. Control avanzado

2. Técnicas de control robusto

Se dice que un sistema de control es robusto si sus especificaciones de estabilidad y


comportamiento se satisfacen a pesar de la incertidumbre en el modelo de la planta que se ha usado
en su diseño.

Típicamente, el controlador se diseña a partir de un modelo nominal G0 de la planta y no de un


hipotético modelo “perfecto” Greal puesto que éste no existe. El modelo nominal G0 es, por regla
general, un modelo lineal invariante en el tiempo (LTI, Linear Time Invariant) y de orden reducido.
Es por tanto una aproximación muy simplificada de Greal. Por otro lado, aunque fuera posible
obtener exactamente Greal, igualmente habría que simplificarlo a fin de poder diseñar a partir de él
un controlador realizable.

La consecuencia es que siempre existe incertidumbre en el modelo usado para diseñar el


controlador. La razón de ser del Control Robusto es la obtención de controladores fijos diseñados a
partir de G0 que funcionen razonablemente bien para Greal. Para conseguirlo es imprescindible el
uso de la retroacción a fin de aprovechar sus propiedades desensibilizadoras, pero también el uso de
técnicas de diseño que tengan en cuenta tanto el modelo nominal como su grado de incertidumbre.

Finalmente notar que el interés, y el reto, del control robusto es que el controlador final debe ser
fijo. Ello contrapone el Control Robusto a los métodos del Control Adaptativo cuyo objetivo es la
obtención de controladores que se adaptan a las variaciones y perturbaciones de la planta. Al final
del presente apartado se presenta un ejemplo donde se comparan ambos tipos de controladores.

En este apartado nos centraremos en los sistemas SISO y en la configuración de control retroactiva
de un grado de libertad (1DOF, One Degree of Freedom) de la Fig. 15, donde K es el controlador
robusto y G la planta incierta. Las entradas exógenas r y d corresponden respectivamente a la señal
de consigna y al ruido aditivo actuando sobre el sistema.
d

r e uG y
K G
_

Fig. 15. Configuración de control (1DOF)

En el caso de incertidumbre multiplicativa, la Fig. 16 muestra la representación en esquema de


bloques de la familia de plantas a la que pertenece la planta incierta G.

G u y
d
Wm 
r uG
y
K G0
_

Fig. 16. Planta con incertidumbre multiplicativa

ETSETB. Sistemas Electrónicos de Control 1314a 79


Tema 5. Control avanzado

La matriz de transferencia en lazo cerrado T que relaciona el vector de salida con el


vector de entrada del sistema de la Fig. 15 es

(1)

Los elementos de T son funciones de sensibilidad. En particular, T22 es la función de sensibilidad


de Bode y T11 es la función de sensibilidad complementaria .

El problema general de síntesis se puede formular a grandes rasgos de la siguiente manera: Dada la
planta , obtener el controlador tal que el sistema de la Fig. 15: (i) es internamente estable
y (ii) satisface cualquier otra especificación (por ejemplo, seguimiento a consignas, rechazo de
perturbaciones,…).

Para que el problema de síntesis tenga solución, aparte de las condiciones obvias de factibilidad,
controlabilidad y observabilidad, el problema debe estar bien planteado (well posed). El problema
se dice que está bien planteado si todas las funciones de sensibilidad en (1) existen. Para ello una
condición necesaria y suficiente es que . Una condición suficiente es que K y G sean
propias y al menos una de ellas (normalmente la planta G) sea propia.

2.1 Conformación del lazo (loopshaping)

El objetivo del control robusto es satisfacer las especificaciones de estabilidad y comportamiento


(precisión, velocidad) a la vez que se asegura la robustez de ambas. Para ello, el cometido del
controlador robusto es dar la forma necesaria a las funciones de sensibilidad en lazo cerrado
para cumplir los objetivos del control.

En un sistema de control de un grado de libertad como el de la Fig. 15 esto es equivalente a


conformar la función de lazo nominal .

Forma deseada del lazo

Típicamente, el lazo se conforma para que presente una ganancia alta a bajas frecuencias, una
pendiente suave en el crossover y una ganancia baja a altas frecuencias.

 La ganancia alta a bajas frecuencias es la que consigue el seguimiento ( y el rechazo


a las perturbaciones ( como respuesta a d). Notar que, si , entonces
y . En concreto, si se desea error
permanente nulo a entradas de referencia de tipo escalón el lazo deberá contener un
integrador.

 La pendiente suave en el paso por 0dB es un requerimiento de estabilidad, el objetivo es que


en el crossover la fase esté alejada de -180º.

 Finalmente, la ganancia baja a altas frecuencias es necesaria para poder filtrar el ruido de
medida y, en la medida de lo posible, atenuar el efecto de la incertidumbre a altas
frecuencias. Notar que, si , entonces y

ETSETB. Sistemas Electrónicos de Control 1314a 80


Tema 5. Control avanzado

2.1.1 Condiciones de comportamiento robusto

Con la forma de lazo descrita en el párrafo anterior ya se cumplen las especificaciones de


estabilidad y comportamiento. Si, además, se desea dar garantías de robustez, lo único que hay que
asegurar es que el lazo esté por encima de una cota a bajas frecuencias y por debajo de otra a altas
frecuencias. El valor de estas cotas se puede deducir de los teoremas de robustez expuestos en el
Tema 2.

A bajas frecuencias, donde , la condición de comportamiento robusto

puede expresarse como

En definitiva, si queremos seguimiento debe ser grande a bajas frecuencias. Si, además,
queremos garantías de que este seguimiento sea robusto debe ser como mínimo mayor que
.

A altas frecuencias el análisis es análogo. Puesto que , la condición de comportamiento


robusto

puede expresarse como

Así, si queremos rechazo a perturbaciones, la ganancia de lazo a altas frecuencias debe ser
pequeña. Si además queremos garantizar que este rechazo sea robusto, el lazo deberá ser
como mínimo menor que .

2.1.2 Ejemplo

Vamos a ilustrar el proceso de conformación del lazo con ayuda de un ejemplo. Considerar una
planta nominal de la que sólo se sabe que presenta un exceso de polos sobre ceros de 1 y que
la cota superior de incertidumbre multiplicativa es . Se desea que el lazo
cerrado presente un buen seguimiento a señales de referencia sinusoidales con frecuencias entre 0 y
1 rad/s. Esta especificación de diseño puede expresarse por medio de la siguiente función de
ponderación:

ETSETB. Sistemas Electrónicos de Control 1314a 81


Tema 5. Control avanzado

donde será el error de seguimiento en régimen permanente. Interesa pues que sea lo mayor
posible sin comprometer la robustez del diseño.

La Fig. 17 muestra las funciones y así como las plantillas necesarias para
asegurar la robustez, a bajas frecuencias y a altas frecuencias.

Funciones de ponderación Plantillas de robustez


30 30

|Ws |  
20 20
 
|Wm|

10 10
Magnitud (dB)

Magnitud (dB)
0 0

 

 
-10 -10

-20 -20

-30 -30
-2 -1 0 1 2 3 -2 -1 0 1 2 3
10 10 10 10 10 10 10 10 10 10 10 10
Frecuencia (rad/s) Frecuencia (rad/s)

Fig. 17. Plantillas para conformación del lazo

Primer diseño: El caso más sencillo es conformar un lazo de primer orden (esto es, suponemos
que la planta es de primer orden y que el controlador es una simple ganancia).

El polo del lazo lo situamos en para que el lazo decaiga una vez pasada la banda útil. No
habrá problemas de estabilidad puesto que al ser de primer orden la pendiente en el crossover será
suave. En cuanto a b, el máximo valor que podemos tomar es el que asegure que se satisface la
plantilla de robustez a altas frecuencias , . Este valor es
con lo que queda el lazo mostrado en la Fig. 18(a). Con el máximo valor que puede
tomar viene dado por la condición . Puesto que es creciente y
decreciente con la frecuencia, el máximo está en el extremo de la banda útil, en . Ahí el
valor de es 13.15, con lo que el error de seguimiento es .

Primer diseño Segundo diseño


50 50

40 40
a=93.39
30 30

20 a=13.15 20 |L0|
Magnitud (dB)
Magnitud (dB)

10 |L0| 10

0 0

-10 -10

-20 |T0Wm|+|S0Ws | -20 |T0Wm|+|S0Ws |

-30 -30

-40 -40
-2 -1 0 1 2 3 -2 -1 0 1 2 3
10 10 10 10 10 10 10 10 10 10 10 10
Frecuencia (rad/s) Frecuencia (rad/s)

(a) (b)
Fig. 18. Conformación del lazo. Diseños 1 y 2

ETSETB. Sistemas Electrónicos de Control 1314a 82


Tema 5. Control avanzado

En definitiva, el máximo error de seguimiento conseguido en la banda [0, 1] es del 7.6%. Para ver
el nivel de robustez alcanzado hay que calcular el valor de para todas las
frecuencias y buscar su valor máximo. Este resulta ser . Al ser menor
que la unidad, podemos asegurar que el comportamiento es robusto. Sin embargo, puesto que está
lejos de 1, vemos que aún tenemos margen para mejorar el comportamiento sin comprometer la
robustez. Por ello, nos planteamos un segundo diseño.

Segundo diseño: Si permitimos que la pendiente del lazo sea más fuerte, podremos aumentar el
nivel de . Por tanto, el segundo lazo es:

Ahora, al ser el polo doble la pendiente a partir de =1rad/s es más fuerte. El cero a -10 se
introduce para tener una pendiente suave en el crossover y el valor de 20 sirve, al igual que en el
caso anterior, para satisfacer la plantilla de altas frecuencias. Con este lazo el máximo valor
conseguido es , que corresponde a un error de seguimiento máximo del 1.07% y sigue
asegurando que el comportamiento es robusto puesto que .

En general las especificaciones de comportamiento y robustez dan lugar a compromisos de diseño.


No se puede tener simultáneamente un comportamiento muy fino y un grado elevado de robustez.
Por otro lado, el diseño del ejemplo anterior no era difícil dado que en la banda útil el grado de
incertidumbre era pequeño. En las bandas frecuenciales donde la incertidumbre es elevada es muy
difícil, si no imposible, conseguir un comportamiento preciso. Por tanto, está claro que en la etapa
de identificación se trata de obtener un perfil de incertidumbre tan bajo como sea posible.

2.2 Teoría cuantitativa de la retroacción (QFT)

La Teoría Cuantitativa de la Retroacción (QFT, Quantitative Feedback Theory) es otra técnica de


control robusto que consiste en conformar el lazo nominal en el dominio frecuencial. En este caso,
el plano escogido es el plano fase-ganancia o de Nichols y en él se definen las regiones que el lazo
debe evitar a fin de satisfacer las especificaciones de comportamiento robusto.

2.2.1 Regiones de incertidumbre

Las regiones de incertidumbre en el diagrama fase-ganancia se obtienen de igual manera que en el


caso del diagrama polar y en el campo de la QFT reciben el nombre de templates. Por ejemplo, la
Fig. 19 muestra las regiones de incertidumbre a las frecuencias 0.1, 5, 10, 50 y 100 de la siguiente
familia paramétrica de plantas.

(2)

Para definir las regiones basta con representar la respuesta frecuencial de las plantas “límite”.

ETSETB. Sistemas Electrónicos de Control 1314a 83


Tema 5. Control avanzado

Regiones de incertidumbre
0

-10

-20

-30

Magnitud (dB)
-40
 = 0.1
=5
-50  = 10

-60

-70  = 50

-80  = 100

-90
-300 -250 -200 -150 -100 -50 0 50
Fase (grados)

Fig. 19. Regiones de incertidumbre paramétrica en el plano de Nichols

De entre todas las plantas de la familia hay que escoger una que será la nominal. Aquí no es
necesario que cumpla ninguna condición especial. En este ejemplo la planta nominal corresponde a
la planta donde se han etiquetado los valores de frecuencia. Esta planta es (k0 1, 0 5 y b0 30),

2.2.2 Plantillas para el diseño

Las regiones de incertidumbre anteriores junto con el modelo nominal y las especificaciones en lazo
cerrado definen unas regiones “prohibidas” en el plano de Nichols, esto es, unas regiones donde el
lazo nominal no debe entrar si queremos satisfacer las especificaciones de comportamiento de
manera robusta. Estas regiones reciben el nombre de bounds.

Especificaciones de estabilidad: Éstas resultan en regiones prohibidas para el lazo nominal


alrededor del punto crítico -1 (ver Fig. 20). Notar que en el plano de Nichols el punto crítico -1
corresponde al origen de coordenadas (-180º, 0dB) y, por tanto, cuanto más alejado esté el lazo de
dicho punto más robustez tendremos.

Im dB

‐1 Re Fase
‐180º,0dB

Fig. 20. Márgenes de estabilidad. Correspondencia entre Nyquist y Nichols

El criterio de estabilidad impone que ninguna de las plantas de la familia puede intersectar el punto
crítico -1 a ninguna frecuencia. Ello es equivalente a imponer la siguiente restricción de magnitud
en la función sensibilidad complementaria:

ETSETB. Sistemas Electrónicos de Control 1314a 84


Tema 5. Control avanzado

Asumiendo que el número de polos inestables es el mismo para todas las plantas de la familia, basta
con comprobar que la anterior condición se cumple en la frontera de la región de incertidumbre, .
Por otro lado, se sustituye el valor ∞ por un factor  que cuantifica el margen de estabilidad. Así
pues, las plantillas definen la región donde no puede entrar el lazo nominal si queremos que se
cumpla la siguiente condición:

Un valor típico es =1.2. Este valor corresponde a un margen de fase de al menos 50º y un margen
de ganancia de al menos 1.66 (no simultáneo con el de fase). La Fig. 21(a) muestra la plantilla de
estabilidad para la familia paramétrica del ejemplo a =5rad/s y con =1.2.

Plantilla para estabilidad robusta,  = 5 Plantilla para rechazo de perturbaciones a la entrada,  = 5


20 15

10
10

5
0
Magnitud (dB)

Magnitud (dB)

0
-10
-5

-20
-10

-30
-15

-40 -20
-240 -220 -200 -180 -160 -140 -120 -100 -80 -350 -300 -250 -200 -150 -100 -50 0
Fase (grados) Fase (grados)

(a) (b)
Fig. 21. Plantilla de estabilidad robusta (=1.2) y plantilla de rechazo de perturbaciones a la entrada de la
planta (=0.01)

Especificaciones de sensibilidad: Las especificaciones que implican desensibilización (rechazo de


perturbaciones, seguimiento,…) resultan en regiones prohibidas que engloban el origen del plano de
Nyquist. En el plano de Nichols la región prohibida equivalente se muestra en la siguiente figura,

Im dB

‐1 Re Fase
‐180º,0dB

Fig. 22. Reducción de la sensibilidad. Correspondencia entre Nyquist y Nichols

Las plantillas de comportamiento se obtienen de manera análoga a las de estabilidad. Lo habitual es


obtenerlas solo hasta el ancho de banda útil del sistema. La Fig. 21 (b) muestra la plantilla
correspondiente a la condición de rechazo de las perturbaciones a la entrada de la planta

ETSETB. Sistemas Electrónicos de Control 1314a 85


Tema 5. Control avanzado

particularizada para el caso =5rad/s y =0.01.

Especificaciones en el esfuerzo de control: Así como las especificaciones de reducción de


sensibilidad buscan aumentar la ganancia de lazo, las especificaciones de limitación del esfuerzo de
control buscan reducir la ganancia del lazo. En este caso también es posible deducir regiones
prohibidas. Éstas se muestran en la siguiente figura:

Im dB

‐1
Re Fase
‐180º,0dB

Fig. 23. Limitación del esfuerzo de control. Correspondencia entre Nyquist y Nichols

2.2.3 Ejemplo

Para ilustrar el procedimiento de diseño vamos a ver un ejemplo. Considerar el sistema de control
de la siguiente figura, donde la planta incierta forma parte de la familia definida en (2):

d v
r e uG y
K G
_

Fig. 24. Configuración de control con perturbaciones a la entrada y la salida de la planta

Las especificaciones del diseño son conseguir un margen de estabilidad robusta de =1.2
(correspondiente a un margen de fase de 50º y un margen de ganancia de 1.66 no simultáneos).

Y en cuanto al comportamiento, se desea conseguir un rechazo a las perturbaciones a la salida de la


planta v dado por

ETSETB. Sistemas Electrónicos de Control 1314a 86


Tema 5. Control avanzado

donde , y un rechazo a las perturbaciones a la entrada de la planta d


dado por:

Una vez obtenidas las regiones de incertidumbre y seleccionado el modelo nominal, es posible
representar todas estas plantillas, para diversas frecuencias, en el plano de Nichols. Para facilitar el
diseño, antes de proceder a la conformación del lazo, se intersectan todas las plantillas (ver Fig. 25).

Plantillas para estabilidad y comportamiento robustos Intersección de las plantillas


20 20

10 1 10
2
1
11 2
0 0
3
1
Magnitud (dB)

Magnitud (dB)
-10 -10
3

-20 -20
2
-30 -30

-40 -40

-50 -50
-350 -300 -250 -200 -150 -100 -50 0 -350 -300 -250 -200 -150 -100 -50 0
Fase (grados) Fase (grados)

Fig. 25. Plantillas para estabilidad y comportamiento robustos

El diseño (ganancia y posición de los polos y ceros del controlador) puede llevarse a cabo de
manera interactiva con ayuda del programa MATLAB. La siguiente figura muestra los resultados
para los casos

Conformación del lazo. Controlador 1 Conformación del lazo. Controlador 2


20 20

10 10
=0.1 =0.1
=5 =5
0 =10 =10
0
Magnitud (dB)

Magnitud (dB)

-10 -10
=50
=50
-20 -20 =100

-30 =100
-30

-40 -40

-50 -50
-350 -300 -250 -200 -150 -100 -50 0 -350 -300 -250 -200 -150 -100 -50 0
Fase (grados) Fase (grados)

Fig. 26. Conformación del lazo frecuencia a frecuencia

El segundo controlador satisface las plantillas de comportamiento robusto en lazo abierto. También
es posible analizar el sistema en lazo cerrado resultante y ver si se satisfacen las especificaciones, es
decir, si las funciones de sensibilidad resultantes (para la planta de peor caso) están por debajo de
las cotas especificadas. La siguiente figura muestra que, efectivamente, es así para el caso del
segundo controlador:

ETSETB. Sistemas Electrónicos de Control 1314a 87


Tema 5. Control avanzado

Función de sensibilidad complementaria y  = 1.2


5

-5

-10

Magnitud (dB)
-15

-20

-25

-30  = 1.2
cota superior de |L/(1+L)|
-35
cota inferior de |L/(1+L)|
-40

-45
-2 -1 0 1 2 3
10 10 10 10 10 10
Frecuencia (rad/s)

Función de sensibilidad de rechazo de perturbaciones a la salida y H(s)


30

20 |H(j)|
cota superior de |1/(1+L)|
cota inferior de |1/(1+L)|
10

0
Magnitud (dB)

-10

-20

-30

-40

-50
-2 -1 0 1 2 3
10 10 10 10 10 10
Frecuencia (rad/s)

Función de sensibilidad de rechazo de perturbaciones a la entrada y =0.01


-30

-40

-50

-60
Magnitud (dB)

-70

-80

-90

-100 =0.01
cota superior de |G/(1+L)|
-110
cota inferior de |G/(1+L)|
-120

-130
-2 -1 0 1 2 3
10 10 10 10 10 10
Frecuencia (rad/s)

Fig. 27. Análisis del diseño en lazo cerrado

ETSETB. Sistemas Electrónicos de Control 1314a 88


Tema 5. Control avanzado

2.3 Métodos H∞

A diferencia de las dos técnicas anteriores, donde el diseño iterativo en el dominio frecuencial es
una parte fundamental en el proceso de diseño, los métodos conocidos como H∞ son métodos de
síntesis, esto es, dados los modelos de la planta nominal, incertidumbre y especificaciones así como
un índice de comportamiento, basta con aplicar un algoritmo numérico de optimización para
obtener el controlador central. De esta manera, el peso del diseño recae en la formulación del
problema (obtención de los modelos y selección de especificaciones) y no en la solución (cálculo de
los parámetros del controlador).

Por otro lado estos métodos son muy utilizados puesto que funcionan tanto para sistemas SISO
como MIMO. En estos últimos lo que se conforma son los valores singulares tanto del lazo como
de las funciones de sensibilidad y existe una versión especial para el caso de incertidumbres
estructuradas, la síntesis , llamada así porque se basa en el uso del valor singular estructurado 
definido más adelante.

2.3.1 Transformación fraccional lineal (LFT)

Los métodos de síntesis H∞ usan una configuración de control generalizada conocida como
transformación fraccional lineal (LFT, Linear Fractional Transformation) o transformación de
Möbius. Se definen la LFT inferior y la LFT superior (ver Fig. 28).

w z
 s
P s
u
y
u v
N s
K s
w z

Fig. 28. LFT inferior y LFT superior

LFT inferior: La LFT inferior, , se usa en la fase de diseño. P recibe el nombre de


planta aumentada o generalizada, K es el controlador, w son las señales exógenas, z son las señales
que miden el comportamiento, u son las señales de control y v son las medidas usadas para generar
u.

La planta aumentada y el controlador K(s) configuran un bipuerto que


relaciona los cuatro grupos de señales de la siguiente manera:

La formulación en el espacio de estado de la planta aumentada es

ETSETB. Sistemas Electrónicos de Control 1314a 89


Tema 5. Control avanzado

Y la relación entre las entradas w y las salidas z viene definida por la LFT inferior , cuya
expresión matemática es:

(3)

LFT superior: La LFT superior, , también conocida como estructura N‐, se usa
para el análisis de la robustez. La relación entre las entradas y salidas es

La expresión de la LFT superior es

(4)

Definiendo , el resultado es un caso particular que se usa para el análisis de la robustez de


la estabilidad. En concreto es la estructura M‐ del teorema de la pequeña ganancia.

La configuración de control generalizada combina ambas LFTs en el esquema de bloques de la Fig.


29. Notar que .

 s
u
y

w P s z

u v

K s

Fig. 29. Configuración de control generalizada

Si la incertidumbre no está estructurada el bloque de perturbación  es full complex. Si las


perturbaciones están estructuradas entonces es diagonal por bloques (y los elementos son reales o
complejos). Para el caso de perturbaciones estructuradas la llamada síntesis  da mejores resultados
que los métodos H∞ estándar. El valor singular estructurado  se define como:

(5)

donde es el máximo valor singular de .

ETSETB. Sistemas Electrónicos de Control 1314a 90


Tema 5. Control avanzado

2.3.2 Obtención de la planta aumentada

El primer paso en la síntesis del controlador robusto es obtener la configuración de control


generalizada mostrada en la Fig. 29. Para ello basta con reorganizar los bloques del sistema de
control.

Por ejemplo, la Fig. 30 muestra un sistema de control cuya planta incierta está descrita por medio de
su modelo nominal y un modelo de incertidumbre multiplicativa inversa y
donde las especificaciones se refieren al esfuerzo de control u mediante la función de ponderación
Wu.

zu d
Gs u y
Wu s  s Wi s


yG y
r e u uG
Ks G0 s
_

Fig. 30. Sistema con incertidumbre multiplicativa inversa y especificaciones sobre el esfuerzo de control u

 s
u y
P s Wi s
y
zu z1
Wu s
w1 r
u r
w2 d

uG _ e
G0 s

u v

Ks

Fig. 31. Planta aumentada

Poniendo el bloque de perturbación  en la parte superior y el de control K en la inferior del


esquema de bloques, es posible ver qué bloques constituyen la planta aumentada P.

ETSETB. Sistemas Electrónicos de Control 1314a 91


Tema 5. Control avanzado

2.3.3 Índices de comportamiento

El coste del control se puede medir definiendo una función de coste y sometiéndola a alguna norma.
En los métodos H∞ la norma escogida es la infinita y existen diversas funciones de coste típicas, por
ejemplo, la optimización de las sensibilidades combinadas (mixed sensitivity problem):

con

el diseño H∞ basado en la optimización de la robustez:

y la minimización de la norma infinita de la LFT inferior:

2.3.4 Síntesis del controlador

La primera solución para la obtención de controladores H∞ se debe a J. C. Doyle. Su algoritmo no


minimiza directamente la norma infinita de sino que, dado un valor , encuentra un
controlador estable K(s) y estabilizador tal que

Si dicho controlador existe, se reduce el valor de  y se busca un nuevo controlador, y así


sucesivamente. El procedimiento termina en el valor más pequeño de  para el cual el algoritmo ha
sido capaz de obtener un controlador estable y estabilizador. Para que el algoritmo dé lugar a una
solución deben cumplirse una serie de condiciones, por ejemplo, que D12 y D21 de la planta
aumentada sean de rango completo. Estas condiciones así como los pasos de este algoritmo,
conocido también como DGKF (de Doyle, Glover, Khargonekar y Francis).

En cuanto a los controladores , tampoco existe una manera directa de obtener el controlador
óptimo. En el caso de perturbaciones complejas es posible usar una aproximación conocida como
iteración D-K que consiste en minimizar una cota superior de , es decir, en calcular el K(s) tal que
minimiza donde D es una matriz de escalado.

Tanto estos algoritmos como los más recientes basados en desigualdades matriciales lineales (LMI,
Linear Matrix Inequalities) están disponibles en la Robust Control Toolbox for use with MATLAB.

En todos los casos el controlador obtenido es de hecho un controlador central que puede ser
parametrizado (de nuevo mediante LFTs) a fin de satisfacer especificaciones adicionales. La Fig.
32 muestra la parametrización de Youla donde es cualquier matriz de transferencia estable y
propia tal que . Si , entonces el controlador obtenido es el central,
.

ETSETB. Sistemas Electrónicos de Control 1314a 92


Tema 5. Control avanzado

K s
v u
Kc s

Q s

Fig. 32. Parametrización de Youla

Finalmente cabe comentar que, en la práctica, es habitual conformarse con controladores


subóptimos. El controlador H∞ óptimo es aquel que asegura el funcionamiento para el peor caso.
Sin embargo, si el peor caso ocurre raramente o nunca, entonces no tiene sentido forzar tanto la
robustez si lo que se desea es buen comportamiento puesto que asegurar que el sistema será robusto
para el peor caso implicar “degradar” el comportamiento en el resto de casos.

2.3.5 Ejemplo

A continuación vamos a ilustrar el proceso de síntesis de un controlador robusto H∞ con ayuda de


las herramientas de MATLAB. A fin de poder contextualizar las prestaciones de dicho controlador
con respecto a otras estrategias se diseño, el resultado obtenido se comparará con otros dos
controladores: uno clásico (PID diseñado por cancelación) y uno adaptativo (regulador
autosintonizado).

Planta: Considerar que el modelo que describe el comportamiento de un brazo robótico es

donde el parámetro m varía con el tiempo según la gráfica de la Fig. 33:

Planta en lazo abierto


3

1
m
5
r(t) , y(t)

-1

1 -2

0.2
-3
20 40 60 t 0 10 20 30
Tiempo (s)
40 50 60

Fig. 33. Variación del parámetro m en función del tiempo y comportamiento de la planta sin control

Aunque estrictamente no podemos hablar de planta incierta sino de planta variante con el tiempo,
podemos considerar que el valor nominal de m es , considerar el resto de valores de m

ETSETB. Sistemas Electrónicos de Control 1314a 93


Tema 5. Control avanzado

como perturbaciones del parámetro nominal, y diseñar en consecuencia un controlador robusto


capaz de cumplir las especificaciones para todos estos valores de m.

Modelo nominal: La realización de estado en forma canónica controlable de la planta nominal es

con , , , .

Modelo de incertidumbre: La masa variable la modelamos mediante el siguiente modelo de


incertidumbre aditiva inversa

donde escogemos . Así, los otros dos casos (m 0.2 y m 0.5) quedan contemplados en la
familia. Notar que, si seleccionamos , . Y si seleccionamos
, .

Con este modelo, las matrices perturbadas son

Planta incierta: Si separamos la perturbación escalar  del resto de términos, podemos expresar a
la planta incierta por medio de la LFT superior mostrada en la Fig. 34 y la Fig. 35.


u y

u y

Fig. 34. Planta incierta expresada como LFT superior

A partir de la anterior realización de estado es posible hallar las matrices de la planta incierta y ver
qué parte corresponde a las matrices nominales y qué parte es incertidumbre:

La segunda ecuación, , junto con la condición , nos da


. Sustituyendo este valor de en la primera y tercera
ecuaciones tenemos:

Es decir, las matrices del sistema incierto son

ETSETB. Sistemas Electrónicos de Control 1314a 94


Tema 5. Control avanzado

Las matrices , , y corresponden a la planta nominal, = , , y


. Por otro lado, puesto que sólo hay incertidumbre en las matrices de estado y entrada,
podemos tomar , así y Finalmente, podemos calcular el resto de matrices
por identificación de coeficientes (por simplicidad se asumirá ), así:

Tomando , nos queda y, de ahí, . El esquema de estado


de la planta incierta se ve en la Fig. 35.

Modelo de las especificaciones: La configuración de control escogida es la de la Fig. 35:


z
WS G


r e u y
K G0
_

Fig. 35. Configuración de control

Se desea que el lazo presente acción integral a fin de seguir consignas de tipo escalón sin offset en
régimen permanente. Ello es equivalente a que la función de sensibilidad presente un derivador.
Así, podemos tomar como función de ponderación de las especificaciones de sensibilidad a
con .

Ds

e z
Bs 1/s Cs

As

Fig. 36. Realización de estado del bloque de especificaciones WS.

ETSETB. Sistemas Electrónicos de Control 1314a 95


Tema 5. Control avanzado


u y

B C


x y
B0 1/s C0

A0

D12 _
r z
Ws

u e
K

Fig. 37. Configuración generalizada de control

Planta aumentada: Juntando la planta incierta con el bloque de especificaciones se obtiene la


configuración generalizada de la Fig. 37, cuya realización de estado de la planta aumentada es

Síntesis del controlador: Podemos formular nuestro problema de síntesis H en los siguientes
términos: Obtener un controlador que cumpla las siguientes condiciones: (i) es estable,
(ii) el sistema en lazo cerrado que relaciona la entrada r con la salida w es internamente
estable, y (iii) es óptimo en el sentido que minimiza la función de coste . Notar
que .

Si se obtiene un valor de superior a la unidad entonces la solución es subóptima. Aún así, un


análisis de su respuesta frecuencial y temporal nos indicará si es un controlador válido en la
práctica. Finalmente, dada la planta nominal y las funciones de ponderación escogidas, el
controlador central será de tercer orden ya que su orden coincide con la suma de los estados de G0,
Ws y Wia (de ahí la importancia de usar funciones de ponderación de orden reducido).

Dada la planta aumentada, podemos usar la función hinfsyn para obtener el controlador. Por
defecto, el algoritmo de solución es el DGKF, que realiza una búsqueda binaria del mínimo J,
min J , dentro del intervalo definido por el usuario [min, max]. El programa muestra los
resultados de cada iteración:  tentativa, autovalores de los Hamiltonianos usados en la solución de

ETSETB. Sistemas Electrónicos de Control 1314a 96


Tema 5. Control avanzado

las dos ecuaciones de Riccati y de dichas soluciones, , , y radio espectral del producto de las
soluciones .

Por ejemplo, para una selección de las especificaciones de , y el


resultado es:

Resetting value of Gamma min based on D_11, D_12, D_21 terms

Test bounds: 0.5000 < gamma <= 100.0000

gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f


100.000 1.4e+000 2.6e-002 1.1e-010 -4.8e-009 0.0008 p
50.250 1.4e+000 2.6e-002 7.0e-011 0.0e+000 0.0030 p
25.375 1.4e+000 2.7e-002 7.0e-011 0.0e+000 0.0122 p
12.938 1.4e+000 2.9e-002 7.0e-011 0.0e+000 0.0500 p
6.719 1.4e+000 3.9e-002 7.0e-011 0.0e+000 0.2494 p
3.609 3.3e-016# ******* 7.0e-011 0.0e+000 ****** f
5.164 1.4e+000 5.9e-002 7.0e-011 0.0e+000 0.6308 p
4.387 1.4e+000 1.2e-001 1.9e-009 -4.4e-010 1.7424# f
4.854 1.4e+000 7.1e-002 7.0e-011 0.0e+000 0.8537 p
4.746 1.4e+000 7.7e-002 7.0e-011 0.0e+000 0.9697 p
4.674 1.4e+000 8.3e-002 7.0e-011 0.0e+000 1.0650# f
4.720 1.4e+000 7.9e-002 7.0e-011 0.0e+000 1.0029# f
4.725 1.4e+000 7.9e-002 7.0e-011 0.0e+000 0.9961 p
4.722 1.4e+000 7.9e-002 3.1e-019 # ******* ****** f
4.722 1.4e+000 7.9e-002 3.1e-019 # ******* ****** f

Gamma value achieved: 4.7251

Otra selección de la función de ponderación de la sensibilidad, por ejemplo, , y


, da lugar a otro controlador diferente, también subóptimo, con  4.7828.

Análisis del controlador robusto: La Fig. 38 muestra las funciones de sensibilidad calculadas
para cada uno de los valores de m de ambos controladores robustos.

Sensibilidad. M = 10,  = 0.3,  = 4.7828


Sensibilidad. M = 2,  = 0.7,  = 4.7251 b
b
5
5

0 0

-5 -5

-10 -10
Magnitude (dB)
Magnitude (dB)

-15 -15

-20 -20

-25 -25

-30 -30

-35 -35
m=1 m=1
-40 m=5 -40 m=5
m=0.2 m=0.2
-45 -45
-2 -1 0 1 2 -2 -1 0 1 2
10 10 10 10 10 10 10 10 10 10
Frequency (rad/sec) Frequency (rad/sec)

Fig. 38. Funciones de sensibilidad (para m 1, m 5 y m 0.2) de los dos controladores robustos.

En el segundo caso, al tomar b más baja y dar más margen a M, el comportamiento es más lento
pero a cambio las funciones de sensibilidad son más parecidas por lo que la respuesta presenta
prácticamente la misma forma sea cual sea el valor de m. Ver Fig. 39.

ETSETB. Sistemas Electrónicos de Control 1314a 97


Tema 5. Control avanzado

Controlador robusto. M = 2,b = 0.7,  = 4.7251 Controlador robusto. M = 10,b = 0.3,  = 4.7828

2 2

1 1

r(t), y(t)
r(t), y(t)

0 0

-1 -1

-2 -2
0 10 20 30 40 50 60 0 10 20 30 40 50 60

10 1

5 0.5

u(t)
u(t)

0 0

-5 -0.5

-10 -1
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Tiempo (s) Tiempo (s)

Fig. 39. Respuesta y esfuerzo de control de los dos controladores robustos

Comparación con PID: La Fig. 40(b) muestra la respuesta y el esfuerzo de control de la misma
planta pero ahora controlada mediante un regulador PID diseñado para cancelar la dinámica de la
planta en el caso nominal y ajustando su ganancia para que el polo dominante se sitúe en ‐4. A
efectos de realizabilidad se ha añadido también un polo lejano. El PID es:

Se observa que el comportamiento es perfecto cuando m 1 y muy aceptable cuando m 0.2. Sin
embargo, cuando m 5 el PID es incapaz de eliminar las oscilaciones. Los controladores robustos
anteriores no presentan un comportamiento tan bueno cuando m 1 pero mantienen la respuesta
más o menos uniforme para todos los valores de m.

Controlador PID
2

1
r(t), y(t)

-1
u
-2
0 10 20 30 40 50 60
excitación
y
x' = Ax+Bu 20
y = Cx+Du
controlador 10
u(t)

planta variante 0

-10

-20
0 10 20 30 40 50 60
Tiempo (s)

Fig. 40. Modelo Simulink usado para simular los controladores robustos y el PID. Respuesta y esfuerzo de
control del PID-cancelación

Comparación con un controlador adaptativo: Para terminar hemos diseñado un controlador


adaptativo de tipo regulador auto-sintonizado. El algoritmo de identificación estima en línea los
parámetros de la planta minimizando el cuadrado del error recursivamente (RLSE, Recursive Least
Square Error). El controlador recalcula sus parámetros en función de dichas estimaciones en cada
período de muestreo. Como controlador se ha escogido un Dahlin digital cuyo objetivo es que la
respuesta indicial de planta sea del tipo donde es el periodo de
muestreo para todos los bloques y vale . Y, a fin de evitar el rizado de la señal de
control, se han sustituido los ringing poles por su ganancia estática.

ETSETB. Sistemas Electrónicos de Control 1314a 98


Tema 5. Control avanzado

Controlador Dahlin adaptativo (sin ringing poles), ff=0.945, fd=1000


Controlador Dahlin adaptativo (sin ringing poles), ff=1, fd=1 2
2
1
1

r(t), y(t)
r(t), y(t)

0
0

-1 -1

-2 -2
0 10 20 30 40 50 60 0 10 20 30 40 50 60

2 10

1 5

u(t)
u(t)

0 0

-1 -5

-2 -10
0 10 20 30 40 50 60 0 10 20 30 40 50 60
Tiempo (s) Tiempo (s)

Fig. 41. Respuesta y esfuerzo de control para los controladores adaptativos autosintonizados

En este caso se observa que la bondad del comportamiento depende de la calidad de la


identificación paramétrica. En la Fig. 41(a) el algoritmo de identificación no cuenta ni con factor de
olvido ni con factor de desconfianza. Por ello, al ser mala la convergencia de la estimación, el
controlador se resiente y el conjunto no es capaz de eliminar las oscilaciones asociadas a m 5. En
cambio, en la Fig. 41(b), se ha utilizado un factor de olvido de 0.945 y un factor de desconfianza de
1000 con lo cual la estimación es más rápida y precisa y por tanto el sistema se comporta mejor. En
concreto, tarda menos de un periodo de consigna en identificar los parámetros reales de la planta y,
por tanto, en seguir la señal con la velocidad y precisión adecuadas

Comparando este tipo de control con los controladores robustos diseñados para la misma planta
podemos concluir que los robustos tienen un comportamiento intermedio entre el caso de
estimación paramétrica simple y estimación paramétrica mejorada con factores de olvido y
desconfianza. En este último caso el regulador autosintonizado es muy superior al resto de
controladores. Sin embargo, una ventaja fundamental de los robustos frente a los adaptativos es que
los primeros son fijos, aunque el comportamiento no sea tan fino. En cualquier caso, cada
aplicación es distinta y elegir un tipo u otro de estrategia de control depende de muchos factores.

2.4 Ejercicio resuelto

Ejercicio 2. Control de la dinámica longitudinal de un avión (Mathworks)


El problema: El modelo linealizado que describe la dinámica longitudinal de un avión (NASA
HiMAT) volando a 25000pies y 0.9Mach presenta la siguiente descripción en el espacio de estado
es el siguiente:

A =[-2.2567e-02 -3.6617e+01 -1.8897e+01 -3.2090e+01 3.2509e+00 -7.6257e-01;


9.2572e-05 -1.8997e+00 9.8312e-01 -7.2562e-04 -1.7080e-01 -4.9652e-03;
1.2338e-02 1.1720e+01 -2.6316e+00 8.7582e-04 -3.1604e+01 2.2396e+01;
0 0 1.0000e+00 0 0 0;
0 0 0 0 -3.0000e+01 0;
0 0 0 0 0 -3.0000e+01];

B = [0 0;
0 0;
0 0;
0 0;
30 0;
0 30];

C = [0 1 0 0 0 0;
0 0 0 1 0 0];

ETSETB. Sistemas Electrónicos de Control 1314a 99


Tema 5. Control avanzado

D = [0 0;
0 0];

Las variables de estado son: las perturbaciones alrededor del vector de velocidad (V), el ángulo de
ataque (), la velocidad de variación de la actitud (q), el ángulo de actitud (), el ángulo del primer
actuador-elevon (1) y el ángulo del segundo actuador-canard flap (2).

Las variables de control son las señales que controlan los dos actuadotes: elevon (e) y canard flap
(c).

Las variables de salida (es decir, medidas) son: el ángulo de ataque () y la actitud ().

Especificaciones:
20( s  10)
Sobre la función de transferencia complementaria T(s). W3 ( s ) 
s  400
0.5( s  10)
Sobre la función de transferencia S(s): W1 ( s ) 
( s  0.15)
Objetivo: Obtener un controlador serie estable, que estabilice al sistema y minimice la siguiente
función de coste (mixed sensitivity problem):

W1 S 
W T  
 3  

Se pide:
1) Analizar la planta sin control. Introducir las matrices de estado de la planta (ag,bg,cg,dg) y
analizar su comportamiento en lazo abierto. En concreto: (a) Obtener sus polos (función pole).
¿es estable? (b) Obtener sus ceros de transmisión (función zero). ¿hay alguno de fase no
mínima? (c) Obtener el diagrama de Bode de su respuesta frecuencial. Puesto que el sistema es
MIMO representar en dB la magnitud de sus valores singulares.
2) Especificaciones. Representar el diagrama de Bode de magnitud de las inversas de las
funciones de ponderación, 1/W1 y 1/W3.
3) Síntesis del controlador robusto. Calcular el controlador robusto que minimiza la norma
infinita de la función de coste del enunciado.
4) Analizar el diseño. (a) Dibujar la respuesta frecuencial de la función de coste obtenida.
¿Cuánto vale el máximo? (b) Dibujar la respuesta frecuencial de la función de sensibilidad
obtenida junto con las especificaciones 1/W1. ¿Se cumplen? (c) Dibujar la respuesta
frecuencial de la función de sensibilidad complementaria obtenida junto con las
especificaciones 1/W3. ¿Se cumplen?

ETSETB. Sistemas Electrónicos de Control 1314a 100


Tema 5. Control avanzado

Solución:

Planta sin control: Es inestable

G=ss(A,B,C,D);
Singular Values
50

polos=pole(G)
-5.6757 0

0.6898 + 0.2488i
-50
0.6898 - 0.2488i

Singular Values (dB)


-0.2578 -100
-30.0000
-30.0000 -150

zeros=zero(G) -200

-0.0210
-250
-2 0 2 4
10 10 10 10
figure(1),sigma(G) Frequency (rad/sec)

Especificaciones:
Singular Values
s=zpk('s'); % Laplace 10
1/W
MS=2;AS=.03;WS=5; 5 1/W
S

T
W1=(s/MS+WS)/(s+AS*WS); 0

-5
Singular Values (dB)

MT=2;AT=.05;WT=20;
W3=(s+WT/MT)/(AT*s+WT); -10

-15

figure(2), -20
sigma(inv(W1),inv(W3)),
-25
legend('1/W_S','1/W_T')
-30

-35
-3 -2 -1 0 1 2 3 4
10 10 10 10 10 10 10 10
Frequency (rad/sec)

Síntesis del controlador robusto

[K,J,gam]=mixsyn(G,W1,[],W3);
>> minfo(K)
MATLAB ss object: 10 states 2 outputs 2 inputs

Función de coste:
Singular Values
figure(3),sigma(J) -2

-2.5

gam = -3

-3.5
Singular Values (dB)

0.7885
-4

-4.5

-5

-5.5

-6

-6.5
-2 0 2 4 6
10 10 10 10 10
Frequency (rad/sec)

ETSETB. Sistemas Electrónicos de Control 1314a 101


Tema 5. Control avanzado

Función de sensibilidad

L=series(K,G);
Singular Values
S=feedback(eye(2),L); 10

figure(4),sigma(inv(W1),S) 5

-5

Singular Values (dB)


-10

-15

-20

-25

-30

-35
-2 0 2 4 6
10 10 10 10 10
Frequency (rad/sec)

Función de sensibilidad complementaria

T=feedback(L,eye(2));
Singular Values
figure(5),sigma(inv(W3),T) 50

-50
Singular Values (dB)

-100

-150

-200

-250

-300
-2 0 2 4 6
10 10 10 10 10
Frequency (rad/sec)

Ejercicio 3. Control H∞ de un sistema de climatización (Guesalaga)


Planta y objetivos
Se tiene una habitación de 400 m3 y se quiere que en su interior las condiciones ambientales sean
constantes y de valor:
Temperatura T0  23C
Humedad relativa h0  50 RH
Instrumentación
Se dispone de tres actuadores:
1) Radiador (heating coils): Alimentado por vapor de agua, es el encargado de aumentar la
temperatura de la habitación. Como efecto secundario reduce la humedad relativa.
2) Refrigerador (chiller unit): Es el encargado de enfriar la habitación. También se utiliza para
reducir la humedad relativa por medio de la condensación del vapor de agua.
3) Humidificador (vaporiser o boiler): Inyecta vapor de agua en la habitación con objeto de
aumentar la humedad relativa. Su efecto en la temperatura es despreciable.

ETSETB. Sistemas Electrónicos de Control 1314a 102


Tema 5. Control avanzado

Todos los actuadores se agrupan en una cámara de climatización externa a la habitación. Esta
cámara de climatización recoge el aire de la habitación, lo trata y lo vuelve a inyectar. Por el hecho
de ser externa se ve afectada por la temperatura Text y humedad absoluta Hext del exterior de la
habitación.

Se dispone además de dos sensores: un termómetro y un sensor de humedad relativa. Este último es
muy sensible a la humedad absoluta y a la temperatura. Ambos sensores están situados en la rendija
de salida del aire.
cámara de climatización
flujo externo Text
de aire
Hext
calefacción refrigeración humidificador

T uc uf uh
aire
h

habitación
3
400 m

T, h

puerta

Modelo matemático de la planta


En el interior de la habitación la temperatura es T  T0  dT  23  dT y la humedad vale
h  h0  dh  50 RH  dh . En el exterior los valores son Text  Text , 0  dText y
H ext  H ext ,0  dH ext .
El conjunto formado por la habitación y la cámara de climatización puede modelarse en forma de
matriz de funciones de transferencia:
 dText 
 
 dH ext 
 dT 
   G ( s ) u c  ,
 dh   
 uh 
 
 uf 

1  s 1 0 10 0 5 
con G ( s )  .
(2s  1)(12s  1)  1.8( s  1) 0.55( s  1)  18 13  21s  0.2

Especificaciones. Objetivos del control


Puesto que la especificación es mantener T y h constantes, el diseño se centrará en mantener las
desviaciones alrededor del punto de equilibrio dT y dh tan pequeñas como sea posible. Y ello con
un esfuerzo de control (consumo) razonable.

Solución

ETSETB. Sistemas Electrónicos de Control 1314a 103


Tema 5. Control avanzado

1) Solución comercial

La solución estándar consiste en dos lazos de control SISO independientes, uno para la temperatura
y el otro para la humedad:

 Lazo de temperatura: Si es necesario aumentar la temperatura se activa la calefacción uc y si es


necesario reducirla se activa la unidad de refrigeración uf.

 Lazo de humedad: Si es necesario aumentarla se pone en marcha el humidificador uh y si es


necesario reducirla se activa la unidad de refrigeración uf la cual extrae agua por medio del
efecto de condensación.

cámara de climatización
flujo externo Text
de aire
Hext
calefacción refrigeración humidificador

uc uf uh
aire
u1
T PI máx (u1, u2)

u2

h PI

habitación
T, h 400 m3

Así pues, la unidad de refrigeración es un bloque común a los dos lazos de control y forma parte de
uno u otro según cuál sea la mayor de las dos demandas: u1 para bajar la temperatura y u2 para bajar
la humedad.

Desventajas:
1) No tiene en cuenta el acoplamiento entre variables.
2) Este controlador utiliza las tres unidades a pesar de que, como veremos, basta con que
funcionen únicamente sólo dos de ellas.
3) El cambio de unidad produce discontinuidades que afectan al rendimiento del sistema.

2) Solución al problema de discontinuidad. Configuración de Mark

Tal y como muestra la Figura, el aire recogido por la cámara de climatización es enfriado,
humectado y calentado antes de ser devuelto a la habitación:

ETSETB. Sistemas Electrónicos de Control 1314a 104


Tema 5. Control avanzado

humedad
dew point
0.024

0.018

0.012
equiv.
50RH a C.F.
0.006
23C C.I.

5 10 12 15 20 23 25 30 C

Paso 1. Para una humedad relativa de 50RH la temperatura de rocío correspondiente (dew-point
temperature) es de 12C. El primer paso es pues enfriar el aire extraído hasta los 12C.
Paso 2. La cantidad de agua correspondiente a 50 RH, 23C es, según la gráfica, de 0.008.
Manteniendo la temperatura constante (a 12C) se inyecta la cantidad de agua suficiente para
conseguir una relación de humedad de 0.008.
Paso 3. Manteniendo la cantidad de agua constante (a 0.008), se calienta el aire hasta los 23C.
cámara de climatización
flujo externo Text
de aire
Hext
refrigeración humidificador calefacción

uf uh uc
aire
h PI T2

T1 PI

habitación
T, h 400 m3

Desventajas:
1) Se consume demasiada energía enfriando y calentando el aire continuamente. Es caro.
2) Puesto que no utiliza el sensor de humedad, el control de humedad se hace controlando el punto
de rocío dentro de la cámara y no de la habitación. Por lo tanto, puede compensar el efecto de
Text y Hext, pero no se entera de los cambios de la carga de la habitación (número de personas,
puertas abiertas...)

ETSETB. Sistemas Electrónicos de Control 1314a 105


Tema 5. Control avanzado

3) Solución multivariable. Controlador óptimo H

cámara de climatización
flujo externo Text
de aire
Hext
calefacción refrigeración humidificador

uc uf uh
aire

T
controlador multivariable
h

habitación
T, h 400 m 3

Pasos en el diseño de controladores óptimos H


1) Traducir las especificaciones del problema a funciones de ponderación de las señales de control,
error y salida.
2) Obtener la planta generalizada P a partir de la planta G y las funciones de ponderación Wi.
Plantear la configuración estándar.
w2

z1
We(s)
z2
Wu(s)
z3 w z
Wy(s)
P(s)
w1 e u
K(s) G(s) y u y
K(s)

 We S 
z ( s)  
donde  Fl (K , P)   Wu KS  recibe el nombre de transformación fraccional lineal
w ( s)
 Wy T 
 
(Linear Fractional Transformation).

3) Calcular, con ayuda de los algoritmos disponibles, el controlador K tal que el sistema de la
Figura anterior es internamente estable y se cumple que:

 We S 
 
 Wu KS    mín , con S  (I  GK ) 1 y T  (I  GK ) 1 GK
 Wy T 
  

ETSETB. Sistemas Electrónicos de Control 1314a 106


Tema 5. Control avanzado

Elección de los pesos

Notar que en nuestro ejemplo la señal de salida coincide con la señal de error puesto que se trata de
que las variaciones en la temperatura y humedad interiores se mantengan cercanas a cero.

 El vector de control u  u c  uh uf T
se penaliza con la matriz de ponderación

Wuc ( s ) 0 0 
 
Wu ( s )   0 Wuh ( s ) 0 
 0 0 Wuf ( s )

90 s  1 90s  1
donde Wuc ( s )  0.035 y Wuh ( s )  Wuf ( s )  0.1 .
2s  1 9s  1
Es decir, se trata de que el radiador reaccione rápido a las perturbaciones rápidas mientras que
el humidificador (y/o la refrigeración) se deja para las perturbaciones más lentas.

El vector de salida y  dt dh  se penaliza con la matriz


T

90 1 0 
Wy ( s )  
(90s  1)(9 s  1) 0 1
Esta elección penaliza fuertemente las bajas frecuencias, asemejándose a una acción integral.
No queremos errores una vez alcanzado el régimen permanente.

La Figura muestra los diagramas de Bode de las diferentes funciones de ponderación:


1
10 2
10

1
10

0
10 Wy
0
10
Wuh = W uf
Wuc
-1
10
-1
10

-2
10

-2 -3
10 10
-3 -2 -1 0 1 -3 -2 -1 0 1
10 10 10 10 10 10 10 10 10 10
[rad/min] [rad/min]

omg = logspace(-3,1);
wu11 = nd2sys( [90 1], [2 1], 0.035);
wu22 = nd2sys( [90 1], [9 1], 0.1);
vplot('liv,lm',frsp(wu11,omg),frsp(wu22,omg)), grid on, xlabel('[rad/min]')
wy11 = nd2sys(1, conv([90 1],[9 1]), 90);
vplot('liv,lm',frsp(wy11,omg)), grid on, xlabel('[rad/min]')

Diseño del controlador de tres salidas (Calor – Humedad – Frío)


La configuración estándar es la de Figura,

ETSETB. Sistemas Electrónicos de Control 1314a 107


Tema 5. Control avanzado

 dText 
 
 dH ext   s 1 0 
 1.8(s  1) 0.55(s  1)
G ext (s)   
(2s  1)(12s  1) w

z1
Wu (s)
 uc 
  z2
u   uh  W y (s)
u 
 f
 dT 
+ y   
 10 0 5   dh 
 18 13  21s  0.2 +
G u (s )   
(2s  1)(12s  1)

K (s)

donde las matrices de ponderación son:

 90 s  1 
0.035 2 s  1 0 0 
 90 s  1  90 1 0 
Wu ( s)   0 0.1 0  y Wy ( s )  
 9s  1  (90s  1)(9 s  1) 0 1
 90 s  1
 0 0 0 . 1
9 s  1 

 Wu KS 
La función que calcula el controlador tal que     mín en Matlab es hinfsyn y el
 Wy S  
código es como sigue:

% funciones de ponderación
wu = daug(wu11,wu22,wu22);
wy = daug(wy11,wy11);
% subsistema dependiente del control
Gu = abv(sbs(g13,g14,g15),sbs(g23,g24,g25));
% planta generalizada
systemnames='Gu wu wy';
inputvar='[ext{2};u{3}]';
outputvar='[wu;wy;ext+Gu]';
input_to_Gu='[u]';
input_to_wu='[u]';
input_to_wy='[ext+Gu]';
sysoutname='P';
cleanupsysic='yes';
sysic;
% cálculo del controlador
nmeas=2;ncon=3;gmin=0.1;gmax=5;tol=1e-3;
[K,LFT]=hinfsyn(P,nmeas,ncon,gmin,gmax,tol);
Test bounds: 0.1000 < gamma <= 5.0000
gamma hamx_eig xinf_eig hamy_eig yinf_eig nrho_xy p/f
5.000 1.1e-002 -2.1e-015 1.1e-002 -6.1e-016 0.0000 p

ETSETB. Sistemas Electrónicos de Control 1314a 108


Tema 5. Control avanzado

2.550 1.1e-002 -2.0e-016 1.1e-002 -4.2e-017 0.0000 p


1.325 1.1e-002 -9.1e-017 1.1e-002 -2.6e-017 0.0000 p
0.712 1.1e-002 -8.3e-001# 1.1e-002 -2.2e-019 0.0000 f
1.019 1.1e-002 -7.5e+000# 1.1e-002 -8.5e-018 0.0000 f
1.172 1.1e-002 -6.2e-018 1.1e-002 -3.0e-018 0.0000 p
1.095 1.1e-002 -4.1e+001# 1.1e-002 0.0e+000 0.0000 f
1.134 1.1e-002 -4.4e-015 1.1e-002 -2.6e-018 0.0000 p
1.114 1.1e-002 -5.5e+002# 1.1e-002 -5.4e-018 0.0000 f
1.124 1.1e-002 -2.7e-017 1.1e-002 -3.6e-018 0.0000 p
1.119 1.1e-002 -2.2e-015 1.1e-002 0.0e+000 0.0000 p
1.117 1.1e-002 -2.2e-015 1.1e-002 -6.3e-018 0.0000 p
1.116 1.1e-002 -2.3e+003# 1.1e-002 0.0e+000 0.0000 f
1.116 1.1e-002 -3.0e-014 1.1e-002 -9.5e-018 0.0000 p
Gamma value achieved: 1.1162

Las Figuras muestran los diagramas de Bode de valores singulares de S con W y1 y KS con Wu1 ,
2 3
10 10

W1
W 1
uh uf
10
2
W y1
101

Wuc1 10
1

 (S)
10
0
 (KS) 10 0

 (S )
-1
10

10- 1

 (KS) 10 -2

-3
10- 2 10
-3 -2 -1 0 1
10- 3 10 -2 10 -1 1 00 101 10 10 10 10 10

[aL,bL,cL,dL]=series(aK,bK,cK,dK,aGu,bGu,cGu,dGu);
uno=ndsys(1,1,1);[a1,b1,c1,d1]=unpck(daug(uno,uno));
[aS,bS,cS,dS]=feedback(a1,b1,c1,d1,aL,bL,cL,dL,1);S=pck(aS,bS,cS,dS);
vplot('liv,lm',vsvd(frsp(S,omg)),minv(frsp(wy11,omg)))
[aR,bR,cR,dR]=series(aS,bS,cS,dS,aK,bK,cK,dK);R=pck(aR,bR,cR,dR);
vplot('liv,lm',vsvd(frsp(R,omg)),minv(frsp(wu11,omg)),minv(frsp(wu22,om)))

Step Response

La respuesta indicial de la transformación 1


From: U1 From: U2

fraccional lineal nos confirma que el


To: Y1

0
sistema en lazo cerrado es estable -1
0.2
To: Y2

0
» [a,b,c,d]=unpck(lft);
-0.2
Amplitude

» step(a,b,c,d) 1
To: Y3

0.5

El controlador obtenido en este diseño 0


2
tiene 17 estados, 2 entradas y 3 salidas.
To: Y4

1
0
1
To: Y5

0.5
0
0 5 10 15 200 5 10 15 20
Time (sec.)

ETSETB. Sistemas Electrónicos de Control 1314a 109


Tema 5. Control avanzado

3. Control frecuencial de sistemas MIMO


3.1 Modelización
3.1.1 Representación

Definición: Un sistema MIMO (multi input multi output) es aquel que tiene más de una entrada y
más de una salida. De manera análoga se habla de sistemas SISO (single input single output),
MISO (multi input single output), SIMO (single input multi output), 2ISO (2 input single output),…

Podemos ver un sistema MIMO como una caja negra con p entradas y q salidas (en general, todas
ellas varían con el tiempo).

u1 (t ) y1 ( t )
 ... ... 
u p (t ) y q (t )

 u1 (t )  q  y1 ( t ) 
  p  
u( t )     y (t )    
 u (t )   y (t ) 
 p   q 

Fig. 42. Sistema MIMO

La mayoría de los sistemas son de naturaleza multivariable (MIMO), como por ejemplo, los
sistemas químicos donde es necesario controlar de manera simultánea variables como son la
presión, la temperatura y la concentración a partir de diversas entradas como pueden ser los
caudales y las concentraciones a la entrada.

Representación frecuencial. Matriz de funciones de transferencia: Considerar el sistema de la Fig.


42. La transformada de Laplace de un vector es el vector formado por las transformadas de Laplace
de cada una de sus componentes. Por tanto, la salida del sistema en el dominio frecuencial y con
condiciones iniciales nulas es

Y ( s )  G( s ) U ( s )

 g11 ( s )  g1 p ( s )
 
donde G( s )      es la matriz de funciones de transferencia del sistema.
 g q1 ( s )  g qp ( s )

Cada elemento gij(s) es una función de transferencia ordinaria que describe el efecto de la entrada
Uj(s) sobre la salida Yi(s).

ETSETB. Sistemas Electrónicos de Control 1314a 110


Tema 5. Control avanzado

Matrix Function Description (MFD): Puesto que G(s) es una matriz racional, puede expresarse
como
1
G( s )  N( s )
d (s)
siendo d(s) el mínimo común múltiplo mónico de los elementos gij(s) y N(s) una matriz polinomial.
Pero también es posible expresar G(s) como cociente de dos matrices polinomiales coprimas, N y
D,
G( s )  N( s )D( s ) 1

Esta última representación recibe el nombre de matrix function description y nos permite obtener un
mayor grado de analogía entre los sistemas SISO y MIMO.

Representación en el espacio de estado: Las variables de estado x de un sistema cualquiera son el


conjunto más pequeño de variables que determinan el estado del sistema de forma que, conociendo
su valor a t=t0 y el valor de la entrada para t≥t0, el comportamiento del sistema queda totalmente
descrito para cualquier t≥t0.

Un sistema dinámico se puede representar por medio de ecuaciones diferenciales (ED) ordinarias
donde el tiempo es la variable independiente. Por otro lado, una ED de orden n se puede expresar
como un conjunto de n EDs de primer orden (representación vectorial-matricial). Si los n
elementos del vector x constituyen un juego de variables de estado lo que se obtiene es una
ecuación de estado (EE).

La representación en el espacio de estado de un sistema MIMO es:

x  Ax  Bu (ecuación de estado)
y  Cx  Du (ecuación de salida)

donde las dimensiones son A nn (n: número de estados), B n p , C qn , D q p .

En los sistemas MIMO, en vez de escribir las dos últimas ecuaciones, lo que se hace a veces es
utilizar una notación mixta:

A B 
G(s)   
 C D

Conversiones entre representaciones: El paso de EE a G(s) es directo: Si con condiciones iniciales


nulas se aplica la transformada de Laplace a las EE,

sX ( s )  AX ( s )  BU( s )
Y( s )  CX ( s )  DU( s )

 
y se expresa Y(s) en función de U(s), Y( s )  CsI  A  B  D U( s ) se obtiene
1

G( s )  CsI  A  B  D
1

En cambio el paso de G(s) a EE no da un resultado único (tanto en SISO como en MIMO):

ETSETB. Sistemas Electrónicos de Control 1314a 111


Tema 5. Control avanzado

s
Ejemplo 25. Comprobar que la función de transferencia G ( s )  admite las siguientes
s  s 1
2

dos representaciones en EE:


0 1 0 0
0 0  1 0
0 1 0
G1 ( s )    y G2 ( s )  1  1 1
 1  2  2 1  
  
 0 1 0
0 1 1 0

Comprobación vía Matlab:

>> [num,den]=ss2tf([0 -1;1 -1],[0;1],[0,1],0);


>> zpk(tf(num,den))
Zero/pole/gain:
s
--------------
(s^2 + s + 1)

>> [num,den]=ss2tf([0 1 0;0 0 1;-1 -2 -2],[0;0;1],[0,1,1],0);


>> zpk(tf(num,den))
Zero/pole/gain:
s (s+1)
--------------------
(s+1) (s^2 + s + 1)

>> minreal(zpk(tf(num,den))) %realización mínima


Zero/pole/gain:
s
--------------
(s^2 + s + 1)

Los motivos son los siguientes:

1) La elección de las variables de estado no es única.

2) La elección de n tampoco es única:

  
sI  A   B
1
G ( s)  C D
 q n
  n p q p
q p nn

Formas canónicas y realizaciones mínimas: Por ello es necesario contar con formas canónicas y
realizaciones mínimas. Estas últimas se obtienen mediante la cancelación de polos y ceros cercanos
y con la eliminación de estados poco controlables y/o observables y redundantes. En el ejemplo
anterior la realización G1 sería mínima si elimináramos el estado no observable.

Polos y ceros: Los polos de un sistema MIMO son los valores de s para los cuales al menos una de
las componentes de Y(s) tiende a infinito. Son, por tanto, los polos de los gij(s).

Los ceros son los valores de s para los cuales Y(s)=0. La salida es nula cuando G(s)=0. Los ceros
de G(s) son los polos de G-1(s). Puesto que

ETSETB. Sistemas Electrónicos de Control 1314a 112


Tema 5. Control avanzado

adjG( s )
G 1 ( s ) 
detG( s )

Los ceros del sistema coinciden con los ceros de det G( s ) .

En la representación de estado los polos coinciden con los autovalores de A ya que de

adjsI  A 
G( s )  C BD
detsI  A 

se deduce que los valores de s que hacen tender G(s) a infinito son las raíces de  (s)  detsI  A 
que es precisamente el polinomio característico de A el cual está formado por los autovalores de A.

Nota: Las definiciones de polos y ceros en sistemas MIMO no son únicas. Sólo de ceros hay más
de diez definiciones diferentes.

Sistemas de gran escala LSS (large scale systems): Son sistemas MIMO con muchas entradas y
muchas salidas caracterizados por tener un número grande de elementos los cuales realizan
diferentes funciones, comparten recursos y se rigen por un conjunto de objetivos y restricciones.
Los ejemplos típicos son los modelos económicos y de planificación urbana, sistemas de energía
eléctrica, redes de transporte y comunicaciones…

Las principales diferencias con los sistemas convencionales están en que:

1) Son sistemas de grandes dimensiones. Desde el punto de vista de la modelación, un sistema


es grande cuando su comportamiento entrada/salida no puede ser entendido si no es
partiéndolo en módulos y/o agregando sus subsistemas modularizados. Desde el punto de
vista del control, un sistema es grande si excede la capacidad de una estructura simple de
control.

2) Los LSS se caracterizan a menudo por la separación espacial de sus componentes de


manera que entran en juego aspectos como el coste económico y la realizabilidad de las
comunicaciones.

3) Presentan fenómenos de fuerte interacción dinámica. Además, en el proceso de decisión


existen diversos objetivos cada uno de ellos asociado a una unidad entre varias de
operación. Tanto si los objetivos son cooperativos o entran en conflicto han de
intercambiar conocimientos, compartir valores y dar resultados de comportamiento.

Así, la representación de los sistemas de gran escala implica modelos multivariable muy complejos
y con una fuerte interacción. La dificultad computacional que llevan asociada ha dado lugar a todo
un conjunto de técnicas sistemáticas y específicas para tratar con ellos. Estas se dividen en dos
grandes grupos: descomposición y simplificación:

 La descomposición consiste en partir el LSS en diferentes subsistemas más fáciles de tratar


cuyas soluciones son después compuestas o coordinadas para reconstruir la solución global.
Así se puede hablar de control descentralizado (descomposición-descentralización) y
control jerárquico (descomposición-coordinación).

ETSETB. Sistemas Electrónicos de Control 1314a 113


Tema 5. Control avanzado

 En cuanto a la simplificación o bien se modelan los fenómenos en multiescalas temporales


en sistemas que intrínsecamente presenten más de un modo de operación o bien se agregan
las variables del LSS a fin de disminuir las dimensiones de su modelo.

Sistema descriptor: A la hora de modelizar sistemas físicos complejos a fin de no perder la


intuición se suelen tomar variables de interpretación física inmediata. No se trata tanto de obtener
un conjunto mínimo de variables sino de obtener un juego de variables significativas. Estas últimas
están a menudo interrelacionadas entre sí incluso en instantes temporales diferentes y son las que
componen el llamado sistema descriptor:

Ex  Ax  Bu
y  Cx  Du

Esta representación es más general que las EE ordinarias ya que no sólo las incluye sino que
también contempla el caso de los sistemas no causales y las ecuaciones estáticas de dimensiones
arbitrarias. Por otro lado, la representación del sistema por medio del sistema descriptor es típica de
los LSS los cuales se estudian como un conjunto de sistemas interconectados. La interconexión no
siempre es representable por medio de las EE pero sí lo es con ayuda del sistema descriptor.

3.1.2 Perspectiva histórica. Del control moderno al robusto

Control moderno vs. métodos frecuenciales: Al principio los sistemas MIMO se estudiaron desde
la óptica del control moderno (métodos de estado). Había dos buenas razones para hacerlo:

1) En el espacio de estado da igual trabajar con 4 estados que con 40, con 1 entrada y una
salida que con 3 entradas y 5 salidas ya que se trata de una representación inherentemente
multivariable.

2) Los métodos frecuenciales de la teoría de control clásica están pensados para los sistemas
SISO (a menudo SLI) y cuando se aplican a sistemas MIMO, incluso en los casos más
sencillos, es inevitable que aparezca el tanteo (solución no única). De hecho, los métodos
frecuenciales son gráficos, se basan en relaciones entrada/salida y son iterativos. El
diseñador analiza una respuesta frecuencial o un lugar de las raíces, diseña el controlador de
manera gráfica, investiga la respuesta del sistema y repite este procedimiento hasta que se
da por satisfecho. La “ventaja” del espacio de estado en este caso es que da lugar a
métodos sistemáticos (solución única).

Aplicaciones aerospaciales: El control moderno funciona bien en aplicaciones aeroespaciales. De


hecho, debe su existencia a las investigaciones que en este campo se llevaron a cabo en las décadas
de 1950 y 1960 (en los EEUU) y al desarrollo de la capacidad de cálculo de los computadores
digitales en la misma época.

La teoría del control óptimo (LQG, linear quadratic Gaussian) va bien en estos tipos de problemas
por diversos motivos:
1) Son aplicaciones de fácil modelización. Se puede hacer la hipótesis de planta lineal y
posiblemente invariante con el tiempo. Y además las perturbaciones son de naturaleza
estocástica pero conocida y se pueden describir como ruido blanco.

ETSETB. Sistemas Electrónicos de Control 1314a 114


Tema 5. Control avanzado

2) Lo importante en estos problemas es la gestión de recursos, en particular el mínimo


consumo de los retrocohetes. Esta gestión tiene una traducción inmediata en la forma de
optimización (minimización) de criterios cuadráticos.
3) Son verdaderos procedimientos de síntesis: una vez seleccionado el criterio, un
procedimiento sistemático genera la solución (única) y el controlador óptimo según el
criterio escogido.

Aplicaciones terrestres industriales. Incertidumbre: Fuera de estos problemas tan concretos el


LQG no tiene aplicación práctica. Sobre todo en los problemas industriales donde el proceso a
controlar es a menudo muy complejo y no totalmente conocido y donde además las perturbaciones
externas no son simple ruido blanco.

Dicho de otro modo son problemas donde aparece el concepto de incertidumbre. Hay de dos tipos:
Incertidumbre interna (o errores de modelación) debida al desconocimiento teórico del proceso a
controlar, a la imprecisión de los dispositivos de medida, a las tolerancias de fabricación y a la
simplificación o idealización de los modelos matemáticos. E incertidumbre externa, debida a la
influencia del entorno, al modo de operación y a las propiedades de los materiales.

Los controladores obtenidos por métodos frecuenciales son aproximados y se tratan como tales pero
tienden a ser razonablemente robustos frente a errores en el modelo de la planta y ciertas señales de
perturbación actuando sobre la planta.

En cambio, los métodos en el espacio de estado usan modelos internos del sistema y sintetizan los
controladores mediante algoritmos matemáticos. En condiciones de incertidumbre, si el modelo de
la planta es pobre, el control muy probablemente también lo será. En las aplicaciones industriales
no sale a cuenta hacer el esfuerzo de obtener modelos muy precisos (y, sobretodo, lineales). Por
ello, cuando estos métodos se aplican en la industria unas veces funcionan bien y otras mal
(obteniéndose muchos mejores resultados con el PID estándar). Además, aunque funcionen bien
pueden resultan muy frágiles. Por ejemplo, el rechazo a perturbaciones suele ser pobre y el fallo de
alguno de los lazos retroactivos puede ser desastroso, llevando a la inestabilidad total. Por ello a
partir de 1980 se empezó a investigar en el control robusto y en técnicas para mejorar la robustez de
estos controladores.

Inconvenientes del LQG: En concreto, el principal inconveniente del LQG es que pone demasiado
el énfasis en la optimalidad y presta poca atención a la incertidumbre. Además, el “óptimo” no
tiene por qué ser “bueno”. Un controlador impecable matemáticamente puede ser inútil en la
práctica. En términos generales podemos decir que el LQG es:
1) Poco realista: modeliza todas las incertidumbres como ruido blanco cuando no existe
ninguna justificación para hacerlo y además presupone modelos lineales de la planta.
2) Poco práctico: se necesita experiencia y numerosas iteraciones para escoger correctamente
Q, R, W y V y, por otro lado, si el problema es demasiado complejo la misma cantidad de
cálculo no hace aplicable el LQG.
3) Poco robusto: está demostrado teórica y experimentalmente que al intentar añadir realismo
al modelo de la planta el diseño puede salir incluso inestable
4) Poco intuitivo: le falta la potencia de los métodos gráficos.

Principales métodos frecuenciales en MIMO: Mientras en los EEUU se desarrollaban los métodos
de estado, en el Reino Unido algunos grupos de trabajo se centraron en la generalización de las
técnicas frecuenciales SISO estándar para el caso de sistemas MIMO.

Lugar geométrico de las raíces  Lugar característico


Criterio de Nyquist  Técnicas vectoriales de Nyquist

ETSETB. Sistemas Electrónicos de Control 1314a 115


Tema 5. Control avanzado

Diagrama de Bode  Diagrama de valores singulares

La idea era combinar el enfoque algebraico en el análisis de los sistemas MIMO con el enfoque del
diseño gráfico (en lugar de síntesis) para la selección del controlador en el dominio frecuencial (y
así eliminar la necesidad de modelos de planta muy precisos). Son técnicas que necesitan muchos
cálculos (aunque no son difíciles) y por ello no pudieron ser implementadas hasta que no se
desarrollaron los ordenadores y aparecieron programas de simulación numérica como el Matlab.

Los principales métodos son:


 Inverse Nyquist Array (INA) de (Rosenbrock, 1974).
 Characteristic Locus (CL) de (MacFarlane and Kouvaritakis, 1977).
 Sequential return difference de (Mayne, 1979)
 Dyadic expansion methods de (Owens, 1978)
 Principal gain and phase methods de (Postlethwaite et al., 1981)

Algunos monográficos son: (Maciejowski, 1989), (O’Reilly, 1987), (Patel and Munro, 1982) and
(Owens, 1978).

Control Robusto: En EEUU, cuando las limitaciones del LQG se hicieron patentes, se volvió a
prestar atención a los métodos frecuenciales (y a la capacidad desensibilizadora de la retroacción de
salida) y es en los años 1980’s cuando aparecieron las actuales técnicas de Control Robusto que
predominan en el panorama de la teoría de control de hoy en día:

H∞: optimización del máximo de sensibilidad (Zames)


: valores singulares estructurados (Doyle)
LTR: loop transfer recovery (Stein)
QFT: Quantitative feedback theory (Horowitz)

3.1.3 Herramientas matemáticas

La respuesta frecuencial de un sistema MIMO es una matriz de respuestas frecuenciales SISO. El


análisis de cada uno de sus elementos por separado es inadecuado ya que por un lado no nos da
información del comportamiento del sistema como un todo y por otro quisiéramos estudiar el
sistema en un solo gráfico. Por tanto, en lugar de trabajar directamente con la matriz de funciones
de transferencia lo que se hace es trabajar con sus autovalores y/o valores singulares y/o normas.

Autovalores: De manera análoga a como se hace con las matrices constantes, se definen los
autovalores (s) de una matriz funcional G(s) como las funciones que hacen que el polinomio
característico de la matriz G(s),  ( s )I  G( s ) sea idénticamente igual a cero. Como también son
funciones de s se pueden obtener representaciones (llamadas lugares característicos, characteristic
loci) de ellos en diagramas de Bode o Nyquist.

Valores singulares: Los valores singulares i(s) de una matriz G(s) de dimensiones mn y de rango
r son las raíces cuadradas no negativas de los autovalores de G*G (G* es la traspuesta conjugada de
G)

ETSETB. Sistemas Electrónicos de Control 1314a 116


Tema 5. Control avanzado

 i   i (G * ( s )G( s ))

y se ordenan de forma que  1   2     n . Al máximo valor singular 1 de la matriz G también


se le denota  y al mínimo  .

Si r<n (matriz singular) entonces hay n-r valores singulares nulos  r 1   r  2     n  0 .


Una matriz con un valor singular cercano a cero está cerca de ser singular.

1 250
Ejemplo 26. Medida de la proximidad a la singularidad de la matriz M  
0 1 
1. ¿Es M singular?
No puesto que su determinante no es nulo: det( M )  1

>> M=[1 250;0 1]


M =
1 250
0 1

>> det(M)
ans =
1

2. ¿Cuánto ha de variar el elemento m21 para que M sea singular?


1 250
M 1    250  0    4  10 3  m21
 1 
(una pequeña variación de m21 hace la matriz singular)
3. Obtener los autovalores y valores singulares de M.
Autovalores: =1 (doble) (no dan información sobre la proximidad a la singularidad)
Valores singulares: 1=250, 2=4·10-3 (la proximidad a la singularidad la indica el hecho de que un
valor singular es muy pequeño)

>> eig(M)
ans =
1
1

>> svd(M)
ans =
250.0040
0.0040

Normas: La norma es un concepto aplicable a vectores, matrices, señales y sistemas. Se define la


norma p de un vector n-dimensional como

ETSETB. Sistemas Electrónicos de Control 1314a 117


Tema 5. Control avanzado

1 p
 n p
x p
   xi 
 i 1 

Las más utilizadas son la p=2 (norma Euclídea, relacionada con la potencia),

x
2
x 2
 i  xT x
i 1

y la norma p=∞ (relacionada con el máximo), x 


 max xi
i

Las normas de las señales se definen de manera análoga a las normas vectoriales,

12
   u (t ) dt 
 
u 1   u (t ) dt
2
u u  sup u (t )
 2
   
t

Las principales normas de un sistema con función de transferencia G(s) son:

12
 1  
 G( j ) d 
2
G  G  sup G ( j )
 2
2 

Relaciones entrada/salida: Considerar un sistema lineal, estable y estrictamente propio con función
de transferencia G(s) y con entrada u y salida y. Si conocemos “cómo de grande” es la entrada, lo
que nos preguntamos es “cómo de grande” será la salida. Es decir, si la información de que
disponemos es ||u||2 o ||u||∞ y queremos estimar cuál será la magnitud de y(t), ||y||2 o ||y||∞, podemos
usar las siguientes relaciones:

u u u (t )   (t ) u(t )  sin(t )
2 

y2 G u  u G ∞
 2  2

y 
 G 2 u 2
G 1 u 
G 
G ( j )

Tabla 2. Relaciones entrada/salida

3.1.4 Especificaciones

Al diseñar un sistema de control lo que queremos es diseñar compensadores que permitan satisfacer
las especificaciones de régimen permanente, transitorio, márgenes de estabilidad o fijación de polos.
Dicho de otro modo, queremos diseñar sistemas de control que sean estables y presenten buenas
prestaciones como son: el seguimiento con poco error de las señales de consigna, el rechazo de las
perturbaciones y el rechazo del ruido de medida.

Además, nuestro objetivo es conseguir que el sistema funcione en un entorno real. Como este varía
con el tiempo y las condiciones de operación, el sistema deberá ser capaz de soportar estas

ETSETB. Sistemas Electrónicos de Control 1314a 118


Tema 5. Control avanzado

variaciones. Y, aunque el entorno no varíe, el sistema deberá ser inmune a la incertidumbre del
modelo de la planta (dinámica no modelada,…)

Así pues:

Objetivo
1) Satisfacer comportamiento nominal
1.1) Estabilidad
1.2) Comportamiento
 Tracking
 Rechazo perturbaciones d
 Rechazo ruido de medida n
2) Mantener el comportamiento a pesar de la incertidumbre  comportamiento robusto

La configuración más idónea (por su capacidad de desensibilización) vuelve a ser una vez más la
retroacción de salida:

d(s)
u(s) +
r(s) + e(s) + y(s)
K(s) G(s)
_
H(s)
+
+
n(s)

Fig. 43. Lazo de control

Transmitancias en lazo abierto:

 Ganancia directa: Q( s )  G( s )K ( s ) (cuidado con el orden del producto. Recordar que


son matrices)
 Ganancia de lazo: L( s )  G( s )K ( s )H( s )
 Ganancia diferencia de retorno: F( s )  I  L( s )

Transmitancias en lazo cerrado: Para H(s) = I

De r a e: S( s )  I  G( s )K ( s )
1
 (sensibilidad)
De r a u: R ( s )  K ( s )I  G( s )K ( s )
1

De r a y: T( s )  G( s )K ( s )I  G( s )K ( s )
1
 (sensibilidad complementaria)

T( s )  S( s )  I

Expresión de la salida y en función de r, d, n: y  Tr Tn  Sd

Especificaciones nominales formuladas en términos de loop-shaping (conformación del lazo)

1. Tracking (seguimiento, BF): Interesa T( j )  I , por tanto, L( j )  ⇒


 L( j )  1 ⇒  S( j )  1 .

ETSETB. Sistemas Electrónicos de Control 1314a 119


Tema 5. Control avanzado

2. Rechazo de las perturbaciones d (BF): Interesa S( j )  ⇒  S( j )  1 ⇒


 L( j )  1 . Esto es compatible con las especificaciones de tracking.
3. Rechazo del ruido de medida n (AF): Interesa T( j )  ⇒  T( j )  1 ⇒
 L( j )  1 ⇒ S( j )  I .

Así, interesa que los diagramas de valores singulares de L, S y T tomen las siguientes formas:

i(L) i(T)
i(S)
0 dB 0 dB 0 dB
log  log  log 

Fig. 44. Especificaciones

ETSETB. Sistemas Electrónicos de Control 1314a 120


Tema 5. Control avanzado

3.2 Análisis

3.2.1 Interacción y desacoplamiento

Interacción: Una planta MIMO presenta interacción cuando una o algunas de sus salidas dependen
de más de una entrada. Este hecho hace imposible controlar cada una de las salidas de forma
independiente y tampoco permite la aplicación de las herramientas de diseño SISO a dichos
sistemas. Puesto que cada canal de control producirá respuesta en varias salidas de la planta, es
difícil determinar qué acción de control simultánea hay que entrar en todas las entradas de la planta
para tener el comportamiento deseado en todas las salidas.

Desacoplamiento: Interesa por tanto descomponer el problema MIMO en un conjunto de diseños


SISO independientes por medio del desacoplo. Desacoplar una planta es conseguir que cada una de
sus salidas dependa de una y solo una entrada.

Por ello el primer paso del diseño en MIMO siempre es eliminar o al menos reducir la interacción.
Así, para cada entrada responderá sólo una salida y podremos aplicar las técnicas SISO para
controlar cada par entrada/salida como si se tratara de lazos independientes.

Métodos de diagonalización: Una planta MIMO sin interacción es diagonal. Los métodos de
desacoplamiento intentan pues diagonalizar la planta o, al menos, conseguir la dominancia diagonal.

Para implementar el desacoplamiento por diagonalización se pueden usar pre-compensadores K(s) y


a veces también post-compensadores L(s) en serie con la planta (en un caso general, este último no
es muy recomendable puesto que “desordena” las salidas):

precompensador planta postcompensador


K(s) G(s) L(s)

Fig. 45. Diagonalización por medio de pre y post compensadores

Matriz de permutación: Es un pre-compensador específico utilizado cuando la planta es


antidiagonal. Lo que hace es permutar las columnas de G(s) a fin de diagonalizarla.

Inversión: Es una manera de conseguir el desacoplamiento total. Si el pre-compensador K(s)


1
contiene la inversa de la planta y una matriz diagonal (s), K ( s )  G ( s ) Λ( s ) , entonces el lazo
1
resultante L( s )  G( s )K ( s )  G( s )G ( s ) Λ( s )  Λ( s ) es diagonal.

Diagonalización (por transformación modal): La diagonalización implementa la descomposición


1
modal de G(s), Λ( s )  P ( s )G( s )P( s ) tomando como precompensador a P(s) y como
postcompensador a P-1(s).

Estos dos últimos métodos pueden dar lugar a soluciones poco prácticas ya que los compensadores
calculados teóricamente pueden contener expresiones más complejas que las propias plantas e
incluso irrealizables analógicamente. La implementación digital tampoco soluciona gran cosa

ETSETB. Sistemas Electrónicos de Control 1314a 121


Tema 5. Control avanzado

debido a los errores de redondeo, responsables de que el producto matricial no dé la forma diagonal
deseada.

Existen otras alternativas como por ejemplo el uso de la retroacción. Ver el siguiente ejemplo:

Ejemplo 27. Diagonalización de un convertidor de potencia mediante ganancias de


retroacción. Considerar el convertidor AC/DC

g g12  1/ L  s  R / L  0 
G( s )   11   
 g 21

g 22  ( s  R / L) 2  o2  0  s  R / L 

con R=28.8m, L=3.4mH, 0=250rad/s,

1   294.1176( s  8.471) 92399.7839 


G( s )  
s  16.94s  9.877  104
2
  92399.7839  294.1176( s  8.471)

 0 o L
Demostrar que los lazos de retroacción F   diagonalizan la planta
 o L 0 
+

G(s)
+

+ oL G(s)

oL F

 1/ L 
  0 
G d ( s )  I  G( s )  F  G( s )  
1 s  R / L 
 1 / L 
0 
 s  R / L
Solución:

1/ L   s  R / L  0   0 o L
G( s )  2 
F
( s  R / L)  o   0
2
 s  R / L   o L 0 

G d ( s )  I  G( s )  F  G( s )
1

1   o2  0 s  R / L 
G( s )  F  2  
( s  R / L)  o 0 s  R / L 
2
 o2 

ETSETB. Sistemas Electrónicos de Control 1314a 122


Tema 5. Control avanzado

 o2 0 s  R / L  
1  ( s  R / L) 2   2 
( s  R / L) 2  o2 
I  G( s )  F   o

  0 s  R / L  1
o2 
 ( s  R / L) 2   2 ( s  R / L)  o 
2 2
 o

  0 s  R / L  
2 2
 o2
  1    
2 
 
2 
 ( s  R / L)  o   ( s  R / L)  o 
2 2


( s  R / L) 2
 o2   2( s  R / L) 2  o2 o2  o4  o2 ( s  R / L) 2
2


( s  R / L) 2
 o2 
2

( s  R / L) 4  2( s  R / L) 2 o2  o4  2( s  R / L) 2 o2  2o4  o4  o2 ( s  R / L) 2


 
( s  R / L) 2
 o2 
2

( s  R / L) 4  o2 ( s  R / L) 2 ( s  R / L) 2 ( s  R / L) 2  o2  ( s  R / L) 2
  
( s  R / L) 2
 o2 
2
( s  R / L) 2
 o2 
2
( s  R / L) 2  o2

 ( s  R / L) 2 0 s  R / L  
( s  R / L) 2  o2  ( s  R / L) 2  o2 ( s  R / L) 2  o2 
I  G( s)  F1   
( s  R / L) 2  0 s  R / L  ( s  R / L) 2 

 ( s  R / L) 2   2 ( s  R / L) 2  o2 
 o

 0 
 1
I  G( s)  F1 
s  R / L 
 0 
1
 s  R / L  

G d ( s )  I  G( s )  F  G( s ) 
1

 0 
1

1/ L  s  R / L   s  R / L  0 

( s  R / L) 2  o2  0    s  R / L 
1   0 
 s  R / L  
 o2 
  s  R / L   0 

1/ L
 s  R / L 
( s  R / L) 2  o2  o2
0   s  R / L 
 s  R / L 
 s  R / L 2  o2   1/ L 
 0   0 

1/ L
 s  R / L    s  R / L 
( s  R / L)  o 
2 2
s  R / L   o  
2 2 1 / L 
0  0 

 s  R / L    s  R / L 

ETSETB. Sistemas Electrónicos de Control 1314a 123


Tema 5. Control avanzado

3.2.2 Análisis de la dominancia diagonal

El criterio de la dominancia diagonal se basa en un planteamiento inverso del problema: a partir de


unos compensadores de fácil implementación se consigue que la planta presente dominancia
diagonal, característica que junto con algunas restricciones permitirá aplicar las herramientas SISO
al caso multivariable, simplificar el diseño de controladores y facilitar el análisis de la estabilidad.

 
Dominancia diagonal. Definición: Una matriz nn, G( s )  g ij ( s ) , es diagonal dominante sobre
un contorno de Nyquist D si para todo “s” del contorno y para todo “i” se satisface:

n
(a) Dominancia por filas: g ii ( s )  g
j 1
ij ( s )  rif ( s ) , con rif (s ) radio de dominancia por filas.
j i

n
(b) Dominancia por columnas: g ii ( s )  g
j 1
ji ( s )  ric ( s ) , con ric (s ) radio de dominancia por
j i

columnas.

Si solo se satisface (a) la matriz G es diagonal dominante por filas y si solo se satisface (b) G es
diagonal dominante por columnas.

Bandas de Gershgorin: Las bandas de Gershgorin asociadas a cada columna (fila) de G(s) se
construyen de la siguiente manera:

1) En un diagrama polar (Nyquist array) se representan cada uno de los elementos aii(s)
evaluados a las frecuencias de interés.

2) Para cada columna (o fila): A las frecuencias  de interés (extremos de la banda útil,
algunas frecuencias intermedias,…) se calculan gii(j) y ric(j) (o rif(j)) y se dibujan las
circunferencias de radio ric(j) (o rif(j)) y centro en gii(j). Son los círculos de
Gershgorin.

3) Se trazan las tangentes exteriores a las circunferencias dibujadas. Las bandas resultantes se
denominan bandas de Gershgorin.

4) Se repiten los pasos 2 y 3 hasta tener una banda de Gershgorin asociada a cada columna (o
fila).

Criterios para determinar si existe dominancia diagonal:

Criterio 1: G( s )  g ij ( s ) es diagonal dominante por filas y/o por columnas si la banda de


Gershgorin asociada a cada una de las filas y/o columnas excluye el origen del plano complejo.

Criterio 2: Sea Q(s)=G(s)+H donde H es diagonal y constante. Entonces las matrices Q(s) y G(s)
son diagonal dominantes si las bandas de Gershgorin asociadas a los elementos gii(s) excluyen el
origen y el punto –hi (elemento i-ésimo de la diagonal de H).

ETSETB. Sistemas Electrónicos de Control 1314a 124


Tema 5. Control avanzado

Estimación de la región de los autovalores y círculos de Gershgorin:

Teoremas de Gershgorin:

n
Teorema 1:   aii  a
j 1
ij  rif Dominancia por filas
j i
n
Teorema 2:   aii  a
j 1
ji  ric Dominancia por columnas
j i

Ejemplo 28.
Acotar la región donde están situados los autovalores de

 3 1  1
A   1 2 0 
 
 0 1  5

Los círculos de Gershgorin por filas son:


(a) Círculo de centro a11=-3 y radio r1f=1+|-1|=2
(b) Círculo de centro a22=-2 y radio r2f=1+0=1
(c) Círculo de centro a33=-5 y radio r3f=0+1=1

Los círculos de Gershgorin por columnas son:


(a) Círculo de centro a11=-3 y radio r1c=1+0=1
(b) Círculo de centro a22=-2 y radio r2c=1+1=2
(c) Círculo de centro a33=-5 y radio r3c=|-1|+0=1

La región es:

Si calculamos los autovalores, i  3.31,  1.52,  5.17 , vemos que efectivamente están dentro
de la región.

ETSETB. Sistemas Electrónicos de Control 1314a 125


Tema 5. Control avanzado

3.2.3 Análisis de estabilidad

El análisis de la estabilidad en sistemas MIMO es muy complicado. No existe la intuición que


tenemos en los sistemas SISO.

Criterios de estabilidad en sistemas retroactivos SISO: Considerar el sistema de la Fig. 46:

r(s) + e(s) u(s) y(s)


K(s) G(s)
_
H

Fig. 46. Sistema retroactivo SISO


G( s) K ( s)
donde T ( s )  .
1  G( s) K ( s) H

Criterio 1: El sistema de la Fig. 46 es estable si todos los polos de T(s) están en el semiplano
izquierdo del plano complejo.

Criterio 2: Criterio de Nyquist Generalizado. El sistema de la Fig. 46 es estable si y solo si el


número de vueltas que da el diagrama de Nyquist de Q(s)=G(s)K(s) alrededor del punto -1/H en
sentido antihorario (cuando s recorre un contorno de Nyquist D en sentido horario) es igual al
número de polos de Q(s) en el semiplano derecho del plano complejo.
inestables

 N Q( 1 / H )  PQi

número de
número de polos
sentido vueltas
antihorario

Criterio 3: Criterio de Nyquist Restringido. Es una particularización del anterior para el caso en
que Q(s) es estable, PQ  0 . Entonces el sistema en lazo cerrado será estable si y solo si el punto -
i

1/H se halla a la izquierda del diagrama de Nyquist de Q(s).

Criterios de estabilidad en sistemas retroactivos MIMO:

r(s) + e(s) u(s) y(s)


K(s) G(s)
_
H

Fig. 47. Sistema retroactivo MIMO

ETSETB. Sistemas Electrónicos de Control 1314a 126


Tema 5. Control avanzado

1
   
L( s )

donde T( s )  G( s )K ( s ) I  G( s )K ( s )H .

  
Q( s )  
  
F( s )

Criterio 1. El sistema de la Fig. 47 es estable si el determinante de su matriz diferencia de retorno,


det(F(s)), no presenta ceros en el semiplano derecho del plano complejo.

Criterio 2. Criterio de Nyquist Generalizado. La aplicación del teorema del argumento a la


transformación conforme det(F(s)) permite definir una versión multivariable del criterio de
estabilidad de Nyquist:

El sistema de la Fig. 47 es estable si y solo si el número de vueltas que da la transformación


conforme det(F(s)) alrededor del origen en sentido antihorario (cuando s recorre un contorno de
Nyquist D en sentido horario),  N det
( 0)
F ( s )  , es igual al número de polos del sistema en lazo abierto
i
en el semiplano derecho PQ ( s ) .

 N det
( 0)
F ( s )   PQ ( s )
i

Técnicas vectoriales de Nyquist (Nyquist Array Techniques): La aplicación del criterio de


estabilidad de Nyquist en sistemas MIMO se simplifica mucho si la matriz F(s) es diagonal
dominante ya que entonces se cumple:

F ( s )    N fii ( s )
( 0) ( 0)
N det
i

donde fii(s) son los elementos de la diagonal de F(s).

( 0)
Dependiendo de cómo calculemos los N det F ( s )  tenemos dos técnicas vectoriales diferentes: INA
(Inverse Nyquist Array) y DNA (Direct Nyquist Array).

1
Criterio INA. Inverse Nyquist Array: Suponer que invertimos la matriz T( s )  Q( s )F( s ) . El
1 1
resultado es T( s )  F( s )Q( s ) . De ahí podemos sacar dos conclusiones: la primera es que
det T( s ) 1 
det F( s )   . Así, el número de vueltas (horarias) del det F( s )  alrededor del origen
det Q( s ) 1 
será:
F ( s )   N det T ( s ) 1   N det Q ( s ) 1 
( 0) ( 0) ( 0)
N det

La segunda conclusión es que

T( s ) 1  F( s )Q( s ) 1  I  Q( s )HQ( s ) 1  Q( s ) 1  H

1 1
Llamando qij a los elementos de Q-1, tij a los elementos de T-1 y suponiendo H diagonal con
elementos hi, tenemos que tij1  qij1  hi .

ETSETB. Sistemas Electrónicos de Control 1314a 127


Tema 5. Control avanzado

1
Si Q-1 es diagonal dominante (es decir, si todas las bandas de Gershgorin de los elementos qii
excluyen el origen) tenemos que

Q ( s )1    N q1
( 0) (0)
N det
ii
i

1
Si T-1 es diagonal dominante (es decir, si todas las bandas de Gershgorin de los elementos qii
excluyen los puntos –hi) tenemos que

T ( s )1    N t 1   N q1
( 0) ( 0) (  hi )
N det
ii ii
i i

Por tanto, el número de vueltas en sentido antihorario de det(F(s)) alrededor del origen será

 N det
( 0) ( 0)

F ( s )    N q 1  N q 1
(  hi )
ii ii

i

y para que el sistema sea estable deberán ser igual al número de polos inestables en lazo abierto,
PQi ( s ) .

1
Criterio INA: Si las bandas de Gershgorin de qii excluyen el origen y los puntos –hi, entonces el
sistema es estable si y solo si

 N
i
( 0)
qii1
 N q( 1hi )  PQi
ii

Criterio DNA. Direct Nyquist Array: La matriz diferencia de retorno se puede expresar como
 
F( s )  I  Q( s )H  H 1  Q( s ) H . Por tanto, detF( s )  det H 1  Q( s ) detH. Si H es  
una matriz constante

F ( s )   N det H 1 Q ( s ) 
( 0) ( 0)
N det

1
Si H  Q( s ) es diagonal dominante (es decir los elementos qii excluyen el punto  hi1 )
tendremos que

H1 Q    N q h 1   N q
1
( 0) (0) (  hi )
N det
ii i ii
i i

En resumen,

Criterio DNA: Si las bandas de Gershgorin de qii excluyen los puntos  hi1 , entonces el sistema
será estable si y solo si

N
i
(  hi1 )
qii
  PQi

ETSETB. Sistemas Electrónicos de Control 1314a 128


Tema 5. Control avanzado

Técnica de los lugares característicos (characteristic loci, CL): Si F(s) no es diagonal dominante
pero sí diagonalizable, podemos aprovechar la propiedad de invarianza de los determinantes frente a
( 0)
las transformaciones de similitud a fin de calcular N det F ( s )  :

Si F es diagonalizable, existe una matriz P tal que Λ  P 1FP , siendo Λ una matriz diagonal.
Entonces det( F)  det( P) det( Λ ) det( P 1 )  1 ( s )2 ( s )  n ( s ) , donde los i(s) son los
autovalores de F(s). Por tanto,

F ( s )    N i ( s )   PL
( 0) ( 0) i
N det
i

Si, además, aplicamos la propiedad  I  L  1   ( L) , podemos decir que



F

 N
i
( 0)
i ( F ( s ))
  N (i(1L) ( s ))   PLi ( s )
i

El principal inconveniente del método CL es que es necesario calcular la expresión de los


autovalores.

Márgenes de estabilidad en un sistema MIMO. Márgenes garantizados: Una vez visto que el
sistema es estable, es interesante obtener sus márgenes de ganancia y fase para ver si está cerca o
lejos de la inestabilidad. Hay cuatro márgenes de estabilidad clásicos: margen (de aumento) de
ganancia MG, margen de reducción de ganancia MRG, margen de fase (positivo) MF y margen de
fase negativo (MFN).

|L(j dB MG
L(j

MRG
0 dB
MG log 
-1 MFN

0º MF

log 
MF
-180º
MFN

MRG

Fig. 48. Márgenes de estabilidad clásicos

ETSETB. Sistemas Electrónicos de Control 1314a 129


Tema 5. Control avanzado

Entre todos miden cuanto ha de aumentarse (o reducirse) la ganancia del lazo L(j) para que valga
|L(j)|=1 y cuánto ha de aumentar (o disminuir) la fase para que el argumento del lazo sea ∠L(j)=-
180º. En definitiva, miden cuánto le falta al lazo para valer L(j)=-1 (punto de oscilación crítica).

Márgenes garantizados: Los márgenes de estabilidad MIMO han de ser capaces de representar la
inmunidad de la estabilidad del sistema frente a variaciones de la ganancia y la fase en todos los
lazos simultáneamente.

En un sistema MIMO, los márgenes de estabilidad garantizados vienen dados por:

1  
MG  MF  2 arcsin 
1 2

donde  es una cota inferior de  F( j ) ,    F( j )

ETSETB. Sistemas Electrónicos de Control 1314a 130


Tema 5. Control avanzado

3.3 Control MIMO por métodos frecuenciales

Este apartado está basado en el Capítulo 10 de (Dutton, 97). Para más detalles, se recomienda su
consulta.

3.3.1 Control por inversión de planta

Método: Si la inversa de G(s) existe, podemos poner un precompensador Kp=G-1(s) tal que en
cascada con G(s) lo que consigue es la matriz identidad, K p ( s )G( s )  G 1 ( s )G( s )  I . Con ello
ya hemos diagonalizado la planta (y hemos eliminado de paso toda la dinámica).

Puesto que ahora no tenemos dinámica hay que poner otro controlador dinámico Kd(s) en cascada
con los polos y ceros necesarios para tener la dinámica global deseada.

1
El controlador total será, pues, K ( s )  K p ( s )K d ( s )  G ( s )K d ( s ) .

K(s)
r(s) + e(s) u(s) y(s)
/ Kd(s) Kp(s) / G(s
n n
_
/
n

Fig. 49

Comentarios: En la práctica este método no se usa mucho por los siguientes motivos:
 Puede ser que no exista la inversa de la planta. Si existe la inversa, puede ser que el
compensador no sea realizable (impropio). Aunque es posible compensar este exceso de
ceros con el compensador dinámico ello no es aconsejable en plantas de orden elevado.
 Si la planta tiene ceros de fase no mínima su inversa es inestable.
 El orden del compensador siempre será elevado (contiene la inversa de la planta y la
dinámica deseada para todo el sistema). Los controladores de orden grande son difíciles de
implementar y menos robustos que los de bajo orden.
 No es posible la cancelación exacta de la planta puesto que el modelo siempre es inexacto.
Si no se cancela exactamente puede volver a aparecer interacción.
 Falta por analizar la estabilidad de este esquema de control (y no es obvia).

Ejemplos:

Ejemplo 29. Planta neumática . Control por inversión de planta (Dutton). Considerar la
planta neumática

ETSETB. Sistemas Electrónicos de Control 1314a 131


Tema 5. Control avanzado

 1.02  0.52 
g g12  11.76s  1 10.1s  1
G( s )   11 
 g 21 g 22    0.54 1.04 
 
 10.4 s  1 2.6s  1 

Se desea que cada lazo se comporte como un sistema de segundo orden con n=1rad/s y =0.5 (esto
es, tiempo de subida 10-90 de 1.6s y overshoot del 15%).
Calcular el controlador MIMO y verificar su comportamiento.

Solución:

La inversa de la planta es:

1 1  12.49s 3  3.5s 2  0.33s  0.01 1.622s 3  0.92s 2  0.13s  0.005


G (s)   
 1.61s 3  0.91s 2  0.12s  0.005 2.71s 3  1.57s 2  0.23s  0.0099

con   s 2  0.1722s  0.007585 . Por tanto, con el precompensador K p ( s )  G 1 ( s ) lo que se


obtiene es G( s )K p ( s )  I .

close all,clear all,clc


%planta
G11=tf(1.02,[11.76 1]);
G12=tf(-0.52,[10.1 1]);
G21=tf(-0.54,[10.4 1]);
G22=tf(1.04,[2.6 1]);
G=[G11 G12;G21 G22],
%precompensador inversor
Kp=inv(G),

kn ( s )
El compensador dinámico Kd(s) será diagonal, con k11 ( s )  k 22 ( s )  . La función de
kd ( s )
transferencia en lazo cerrado para cada par entrada salida (u1,y1) y (u2,y2) es

Yi k ( s)  1 kn( s )
 ii 
U i 1  kii ( s )  1 kd ( s )  kn ( s )

Yi n2 n2
Puesto que se desea  basta con seleccionar kii ( s )  2 . Así,
U i s 2  2n s  n2 s  2n s

 1 
 s( s  1) 0 
K d (s)  
 0 1 
 s( s  1) 

%compensador dinàmic
k11=tf(1,[1 1 0]);Kd=[k11 0;0 k11],

El controlador total será

ETSETB. Sistemas Electrónicos de Control 1314a 132


Tema 5. Control avanzado

K ( s )  K p ( s )K d ( s ) 
1 1  12.49s 3  3.5s 2  0.33s  0.01 1.622s 3  0.92 s 2  0.13s  0.005
  
s( s  1)  1.61s 3  0.91s 2  0.12s  0.005 2.71s 3  1.57s 2  0.23s  0.0099

%controlador total
K=Kp*Kd;

Respuesta indicial a cada una de las entradas (el esfuerzo de control u1 es excesivo):
Control por inversión. Respuesta a r1=escalón
10
y1
y2
5 u1
u2

0
0 5 10 15 20 25 30

Control por inversión. Respuesta a r2=escalón


3
y1
2
y2
1 u1

0 u2

-1
0 5 10 15 20 25 30

%anàlisi
L=G*K;
T=feedback(L,eye(2));
Tu=feedback(K,G);
t=linspace(0,30,500);r=ones(length(t),1);
figure,
subplot(211),y=lsim(T,[r r*0],t);u=lsim(Tu,[r r*0],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por inversión. Respuesta a r_1=escalón')
subplot(212),y=lsim(T,[r*0 r],t);u=lsim(Tu,[r*0 r],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por inversión. Respuesta a r_2=escalón')

Ejemplo 30. Convertidor de potencia. Control por inversión de planta Considerar el


convertidor AC/DC

g g12  1/ L  s  R / L  0 
G( s )   11  2 
 g 21

g 22  ( s  R / L)  o   0
2
 s  R / L 

con R=28.8m, L=3.4mH, 0=250rad/s,

1   294.1176( s  8.471) 92399.7839 


G( s )  4 
s  16.94s  9.877  10 
2
 92399.7839  294.1176( s  8.471)

Se desea que cada lazo se comporte como un sistema de segundo orden con un tiempo de
establecimiento de 10ms y un overshoot del 5%.

ETSETB. Sistemas Electrónicos de Control 1314a 133


Tema 5. Control avanzado

Calcular el controlador MIMO y verificar su comportamiento.

Solución:

Para eliminar la interacción se sitúa un precompensador igual a la inversa de la planta. Luego, para
tener un overshoot del 5% se selecciona =0.7 y para, además, tener un tiempo de establecimiento
4 40
ts   0.01s se selecciona n   57.1429 . Por tanto el compensador dinámico es:
n 
 3.265  105 
 s( s  800) 0 
K d ( s)   
 3.265  105 
0
 s( s  800) 

El controlador total (realización mínima) es:

1 1  (1110s  9404)  3.488  105 


K ( s )  G ( s )K d ( s )   
s( s  800)  3.488  105  (1110s  9404)

close all,clear all,clc


%planta
wo=2*pi*50;
L=3.4e-3;
R=28.8e-3;
G11=tf((-1/L)*[1 R/L],[1 2*R/L (R/L)^2+wo^2]);
G12=tf((1/L)*wo,[1 2*R/L (R/L)^2+wo^2]);
G21=-G12;
G22=G11;
G=[G11 G12;G21 G22];zpk(G)
%precompensador inversor
Kp=inv(G);
%compensador dinàmic
z=0.7;wn=400/z;%ts=0.01 rpt=5%
z=1;wn=400/z;%ts=0.01 rpt=0%
k11=tf(wn^2,[1 2*z*wn 0]);
Kd=[k11 0;0 k11],
%controlador total
K=Kp*Kd;K=minreal(K);tf(K)

La respuesta indicial a cada una de las entradas del sistema controlado es:
Control por inversión. Respuesta a r1=escalón
2
y1
1 y2
u1
0 u2

-1
0 0.02 0.04 0.06 0.08 0.1

Control por inversión. Respuesta a r2=escalón


2
y1
1
y2
0 u1

-1 u2

-2
0 0.02 0.04 0.06 0.08 0.1

%anàlisi

ETSETB. Sistemas Electrónicos de Control 1314a 134


Tema 5. Control avanzado

L=G*K;
T=feedback(L,eye(2));
Tu=feedback(K,G);
t=linspace(0,0.5,500);r=ones(length(t),1);
figure,
subplot(211),y=lsim(T,[r r*0],t);u=lsim(Tu,[r r*0],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por inversión. Respuesta a r_1=escalón')
subplot(212),y=lsim(T,[r*0 r],t);u=lsim(Tu,[r*0 r],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por inversión. Respuesta a r_2=escalón')

Y, para el caso de no querer overshoot, tenemos (z=1;wn=400/z;%ts=0.01 rpt=0%):

 1.6  105 
 s( s  800) 0 
K d ( s)   
 1.6  105 
0
 s( s  800) 
1 1  (544s  4608)  1.709  105 
K ( s )  G ( s )K d ( s )   
s( s  800)  1.709  105  (544s  4608)

El esfuerzo de control es menor (y parece más estable).

Control por inversión. Respuesta a r1=escalón


2
y1
1 y2
u1
0 u2

-1
0 0.02 0.04 0.06 0.08 0.1

Control por inversión. Respuesta a r2=escalón


2
y1
1
y2
0 u1

-1 u2

-2
0 0.02 0.04 0.06 0.08 0.1

ETSETB. Sistemas Electrónicos de Control 1314a 135


Tema 5. Control avanzado

3.3.2 El método de los lugares característicos

Lugares característicos: Considerar el esquema de la figura,

r(s) + e(s) u(s) y(s)


/ K(s) / G(s)
n n
_
/
n

Fig. 50. Lazo de control MIMO de un grado de libertad

La función de transferencia del camino directo es Q( s )  G( s )K ( s ) . Los autovalores


{q1(s),…,qn(s)} de Q(s) reciben el nombre de “valores característicos” de Q(s).

El diagrama polar (resultado de transformar el contorno de Nyquist D) de cada uno de estos


autovalores recibe el nombre de “lugar característico”.

El “polinomio característico” del camino directo es detsI  Q( s ) y también traza un lugar en el


plano s.

Diagonalización: La transformación modal es la que permite diagonalizar las matrices:

Λ( s )  diagq1 ( s ),..., qn ( s )  W 1 ( s )Q( s ) W( s )

Las columnas de la matriz modal W(s) son los autovectores de Q(s) y, al ser una transformación de
similaridad, los autovalores qi(s) de Q(s) coinciden con los de (s).

El camino directo Q(s) puede interpretarse como la transformación modal inversa aplicada a una
matriz diagonal, es decir,

Q( s )  W( s ) Λ( s ) W 1 ( s ) donde Λ( s )  diagq1 ( s ),..., qn ( s )

q1(s)
r(s) + e(s) . y(s)
/ W-1(s) . W(s)
n .
_
qn(s)

/
n

Fig. 51. Camino directo expresado en términos de la transformación modal

Puesto que así no hay interacción entre los qi(s), el comportamiento dinámico de estos bloques por
sí solo es suficiente para determinar la estabilidad del sistema entero.

ETSETB. Sistemas Electrónicos de Control 1314a 136


Tema 5. Control avanzado

Se puede demostrar (Owens, 1978) que el sistema en lazo cerrado de la Fig. 51 (con retroacción
unitaria) es equivalente al siguiente sistema H(s),

H( s )  W( s )  diagh1 ( s ),..., hn ( s ) W 1 ( s )


qi ( s )
donde hi ( s )  .
1  qi ( s )

h1(s)
r(s) . y(s)
W-1(s) . W(s)
.

hn(s)

Fig. 52. Sistema en lazo cerrado

Ahora se trata de conseguir un control desacoplado para el sistema de la Fig. 52.

En la Fig. 52 la interacción está en W y W-1. Si W fuera diagonal (W-1 también lo sería) no habría
interacción. W contiene los autovectores de Q=GK, por tanto, se trata de diseñar K de manera que
W sea diagonal. Pero es difícil: (1) W varía con la frecuencia y (2) en un producto de matrices, no
se conoce la relación entre los autovectores del producto de matrices con los autovectores de cada
una de las matrices que forman el producto. Por tanto hay que conformarse con aproximaciones:

Aproximación 1: Si (con una adecuada selección de K) conseguimos que q1 ( s )  ...  qn ( s ) ,


entonces h1 ( s )  ...  hn ( s ) y el lazo cerrado será H( s )  W ( s )  I  h1 ( s )  W 1 ( s )  I  h1 ( s )

Aproximación 2: Si usamos ganancias grandes en K, los valores característicos también serán


grandes qi ( s )  1 y entonces conseguiremos hi ( s )  1 con lo que H(s )  I . Aunque nunca lo
tendremos exactamente, esta aproximación es útil si se combina con el análisis de estabilidad.

Método de los lugares característicos: Se divide el rango frecuencial de interés en tres bandas (en
relación con la dinámica del sistema): bajas frecuencias, frecuencias intermedias y altas frecuencias
y se diseñan compensadores para cada una de las bandas

Paso 1: Altas frecuencias. Se diseña un pre-compensador constante Ka que diagonalice W(s) a


altas frecuencias. El camino directo será pues G(s)Ka. Se diseña constante porque el diseño del
compensador que diagonaliza W(s) es muy complicado. Por ello nos conformaremos con hacer el
diseño a una única frecuencia en la banda de altas frecuencias (que diagonalice de manera
aproximada y en cierto sentido a W(s)) y comprobar que su efecto se mantiene en una banda
alrededor de esta frecuencia. Si no es así, se busca otro compensador constante y otro y otro hasta
que estemos satisfechos.

Un método para diseñar este controlador es usar la alineación de autovalores (Edmunds and
Kouvaritakis, 1979). Se trata de un algoritmo que alinea los autovectores de una matriz con los
vectores de la base que forman el espacio vectorial donde se hallan estos autovectores. En nuestro
caso, resulta que si los autovectores qi(s) tienen el mismo orden (es decir, la fase final de todos es la

ETSETB. Sistemas Electrónicos de Control 1314a 137


Tema 5. Control avanzado

misma) la aplicación de este algoritmo consigue que los autovectores qi(s) se alineen a altas
frecuencias.

Para ello se puede usar la función de matlab “align” pero hay que ir con cuidado. Al trabajar con
autovectores, sólo trabaja con direcciones y no con información de escala. Por ello, el compensador
obtenido tiene un signo arbitrario con lo que hay que investigar los lugares característicos
resultantes y, si éstos no dan lugar a un sistema estable, hay que cambiar el signo del compensador.

Otra utilidad es la medida del ángulo de desalineación (función de matlab “fmisalg”) que calcula los
ángulos que miden la desalineación entre los autovectores del sistema y el conjunto de vectores que
forman la base. De todos modos que estos ángulos sean pequeños es una condición suficiente de
baja interacción pero no necesaria.

Paso 2: Frecuencias intermedias. Aquí se diseña un compensador Kacc con la estructura mostrada
en la Fig. 53. Las matrices A y B son aproximaciones constantes de las matrices W y W-1
respectivamente siendo W, W-1 las matrices modales que diagonalizan Q(s)=G(s)Ka. (Nota: no
confundir A, B con las matrices de estado). Igual que antes A, B se obtienen constantes a una única
frecuencia pero se espera que su efecto se deje notar en una banda de frecuencias a lado y lado de
esta frecuencia de diseño.

k1(s) Kacc(s)
r(s) + e(s) . u(s) y(s)
/ B . A Ka(s) / G(s)
n . n
_
kn(s)

/
n

Fig. 53. Compensación a altas frecuencias y a frecuencias intermedias

Este compensador a frecuencias intermedias recibe el nombre de “controlador conmutativo


aproximado”. “Aproximado” porque A y B son constantes y deberían depender de s.
“Conmutativo” porque conmuta (en el sentido de producto de matrices) con Q(s)=G(s)Ka. Es decir,
el resultado es el mismo si se sitúa Kacc antes de Q(s) o bien después de Q(s):

K acc ( s )
  Q (s)

W ( s )  diagk1 ( s ),..., k n ( s ) W ( s )  W( s )  diagq1 ( s ),..., qn ( s ) W 1 ( s )
1

 W( s )  diagq1 ( s ),..., qn ( s ) W 1 ( s )  W( s )  diagk1 ( s ),..., k n ( s ) W 1 ( s )


 
Q( s ) K acc ( s )

(De todas formas, en la práctica no conviene poner Kaac después de la planta, ni ningún otro post-
compensador, dado que ello desordena las salidas).

Puesto que A y B han reducido el problema a un conjunto de lazos SISO independientes, las
funciones de transferencia ki(s) se diseñan con técnicas SISO para cada uno de los lazos y el
objetivo es igualar los qi(s) a frecuencias intermedias, esto es, conseguir que todos los qi(s) tengan la
misma fase y ganancia a frecuencias intermedias sin estropear la compensación a altas frecuencias.
Los valores característicos compensados serán qi(s)ki(s). Para no estropear el desacoplo a altas

ETSETB. Sistemas Electrónicos de Control 1314a 138


Tema 5. Control avanzado

frecuencias se usan filtros que tengan 0dB a altas frecuencias (en este sentido los filtros de avance-
retardo son adecuados).

Paso 3: Bajas frecuencias: Aquí el compensador puede ser una matriz de ganancias (para equilibrar
los lugares en régimen permanente). Pero lo más habitual es que sea una matriz de compensadores
PI (la acción integral para tener buen seguimiento y el cero para conseguir 0dB a altas frecuencias y
así no estropear lo conseguido a frecuencias intermedias y altas frecuencias). A veces es necesario
incluir también uno o más compensadores conmutativos aproximados (sería el caso de encontrarse
con que los PIs deben ser distintos en cada lazo).

Método de los lugares característicos. Comentarios adicionales:

 La idea del método es manipular los lugares característicos como si fueran diagramas de
Nyquist y/o de Bode de sistemas SISO ordinarios (Ford et al., 1990).
 La herramienta básica es el controlador conmutativo aproximado.
 Las propiedades que deben satisfacer los lugares característicos del sistema compensado son
las siguientes:
1. Deben satisfacer el criterio de estabilidad generalizado de Nyquist y tener márgenes de
estabilidad adecuados.
2. Las ganancias (módulos) a bajas frecuencias deben ser elevadas a fin de reducir la
interacción y la sensibilidad y mejorar el seguimiento.
 Además, a fin de reducir la interacción es deseable desacoplar el sistema en las frecuencias
cercanas al crossover de 0dB.
 Los lugares característicos pueden llevar a error si se usan para estudiar los márgenes de
estabilidad y el comportamiento. Por ello es necesario hacer un análisis usando valores
singulares.

Ejemplos:

Ejemplo 31. Planta neumática . Control vía lugares característicos (Dutton). Considerar la
planta neumática

 1.02  0.52 
g g12  11.76s  1 10.1s  1
G( s )   11 
 g 21 g 22    0.54 1.04 
 
 10.4 s  1 2.6s  1 

Se desea que cada lazo se comporte como un sistema de segundo orden con n=1rad/s y =0.5 (esto
es, tiempo de subida 10-90 de 1.6s y overshoot del 15%). Usar el método de los lugares
característicos para calcular el controlador MIMO y verificar el comportamiento.

Solución:

Lugares característicos: En primer lugar calculamos los autovalores (valores característicos) de la


planta y los representamos:

close all,clear all,clc


%planta (pneumàtica)
G11=tf(1.02,[11.76 1]);

ETSETB. Sistemas Electrónicos de Control 1314a 139


Tema 5. Control avanzado

G12=tf(-0.52,[10.1 1]);
G21=tf(-0.54,[10.4 1]);
G22=tf(1.04,[2.6 1]);
G=[G11 G12;G21 G22];
[a,b,c,d]=ssdata(G);

%respuesta frecuencial
w=logspace(-2,2);
Gw=mv2fr(a,b,c,d,w);

%autovalores
cl=feig(w,Gw);
%cl=csort(cl);

figure
subplot(211),semilogx(w,20*log10(abs(cl))),grid,ylabel('dB'),
title('Lugares característicos de la planta neumática')
subplot(212),semilogx(w,angle(cl)*180/pi),grid,ylabel('grados')
xlabel('Frecuencia (rad/s)')

ma=fmisalg(w,Gw);

figure,
semilogx(w,ma),grid,xlabel('Frecuencia (rad/s)')
title('Ángulos de desalineamiento'),ylabel('grados')

Lugares característicos de la planta neumática


Ángulos de desalineamiento
20
45
0
40
-20
dB

-40
35
-60
30
-80
-2 -1 0 1 2
10 10 10 10 10
25
0
20
-20
grados

-40 15
-60
10
-80
-100 5
-2 -1 0 1 2 -2 -1 0 1 2
10 10 10 10 10 10 10 10 10 10
Frecuencia (rad/s) Frecuencia (rad/s)

Vemos que:
 La planta presenta unos márgenes de estabilidad muy buenos.
 Es probable que haya interacción en lazo cerrado puesto que los dos valores característicos
no coinciden a ninguna frecuencia. Ello también puede verse con los ángulos que miden la
desalineación (entre los autovectores del sistema y el conjunto de vectores que forman la
base). De todos modos que estos ángulos sean pequeños es una condición suficiente de
baja interacción pero no necesaria.

Compensación (desacoplo) a altas frecuencias: A altas frecuencias, más allá de 4rad/s en nuestro
caso, los diagramas de magnitud de los autovalores son paralelos. Si somos capaces de alinear los
autovalores a 4rad/s es de esperar que la alineación se mantenga a partir de 4rad/s. El
precompensador necesario para conseguirlo (obtenido con align.m) es:

49.8761 6.4614 
Ka   
 6.4827 10.8861

ETSETB. Sistemas Electrónicos de Control 1314a 140


Tema 5. Control avanzado

%compensación a AF (w=4rad/s) por alineamiento


Gw4=mv2fr(a,b,c,d,4);
Ka=align(Gw4),

Si representamos los valores característicos de Q(s)=G(s)Ka vemos que efectivamente hemos


mejorado el desacoplo a altas frecuencias puesto que ahí los autovalores ahora están alineados.

Gwa=fmul(w,Gw,Ka);cla=feig(w,Gwa);cla=csort(cla);
figure
subplot(211),semilogx(w,20*log10(abs(cla))),grid,ylabel('dB'),
title('Lugares característicos. Alineamiento a \omega>4rad/s')
subplot(212),semilogx(w,angle(cla)*180/pi),grid,ylabel('grados')
xlabel('Frecuencia (rad/s)')
maa=fmisalg(w,Gwa);
figure,
semilogx(w,maa),grid,xlabel('Frecuencia (rad/s)'),ylabel('grados')
title('Ángulos de desalineamiento. Alineamiento a \omega>4rad/s'),

Lugares característicos. Alineamiento a w>4rad/s Ángulos de desalineamiento


40 35

20
30
dB

-20 25

-40 20
-2 -1 0 1 2
grados

10 10 10 10 10

0 15

-20
10
-40
grados

-60
5
-80

-100 0
-2 -1 0 1 2 -2 -1 0 1 2
10 10 10 10 10 10 10 10 10 10
Frecuencia (rad/s) Frecuencia (rad/s)

Compensación a frecuencias intermedias: A frecuencias intermedias se diseña un ACC


(approximate commutative controller). Al igual que el pre-compensador Ka, el ACC se diseña a
una sola frecuencia y se espera que su efecto se deje notar en la banda cercana a esta frecuencia.

Este controlador consiste en dos matrices A y B que son aproximaciones (constantes) de las
matrices W(s) y W-1(s) de la transformación modal que diagonaliza el camino directo. Además,
entre las dos matrices, se incluye un compensador diagonal con el objetivo de alinear los
autovalores del camino directo.

En nuestro ejemplo, para diseñar la parte dinámica del ACC notar que aún hay desalineación por
debajo de 2rad/s. Como lo habitual es hacer el diseño para tener ganancias altas a bajas frecuencias
(para tener errores pequeños en régimen permanente), lo que se puede hacer es dejar el autovalor
mayor tal y como está y conseguir que el autovalor menor se alinee con el mayor.

Suponiendo que la planta precompensada por Ka es diagonal esto corresponde a diseñar dos
compensadores independientes k11(s) y k22(s) siendo k11(s)=1 y k22(s) un controlador tal que tenga
una ganancia en continua de 15dB, valga 0dB a 2rad/s y reduzca la fase del segundo autovalor para
alinearla con la del primero.

ETSETB. Sistemas Electrónicos de Control 1314a 141


Tema 5. Control avanzado

Una buena opción para k22 es un compensador de retardo (con una caída de 15 dB entre su polo y su
cero). El cero (frecuencia codo superior) lo pondremos a la frecuencia a la que la diferencia entre
los dos autovalores es 3dB. Esta frecuencia resulta ser 0.43rad/s, por tanto,

s  0.4292 k ( s ) 0 
k 22 ( s )  , K d ( s )   11
s  0.0763  0 k 22 ( s )

%compensación a FI
k1n=[1 0];k1d=[1 0];%k1=1
%filtro de retardo
dif_guany=20*log10(abs(cla(:,1)))-20*log10(abs(cla(:,2)));
inx=find(dif_guany<=3);inx=inx(1);w(inx),%w=0.3765 inx=40
[k2n,k2d]=phlag(-15,w(inx))
% numeradors i denominadors dels llaços
nums=[k1n;k2n];
dens=[k1d;k2d];

Ahora hay que elegir a qué frecuencia se obtendrán las matrices constantes A y B que aproximan
W(s) y W-1(s). Si se usa un compensador de avance-retardo, lo mejor es situarlo a la frecuencia
donde la diferencia de fases de los dos autovalores es mayor. Este punto es 0.1677rad/s y ahí la
diferencia de fases es de 45º.

%controlador conmutativo aproximado


dif_fase=abs(angle(cla(:,1))-angle(cla(:,2)));
inx=find(dif_fase==max(dif_fase));w(inx),%w=0.163 inx=31

El controlador conmutativo aproximado obtenido es:

k ( s ) 0  1  0.99( s  0.0742)  5.7  10 6 ( s  650.5)


K acc ( s )  A  11 B   
 0 k 22 ( s ) s  0.07632 0.0003( s  650.5) ( s  0.4313) 

 0.8703  0.0106 1.1540 0.0122


donde B    y A  0.5662 1.0060  . Notar que la inversa de B no
  0.4902 0.9996   
coincide exactamente con A

1.1559 0.0122
B 1   
0.5668 1.0064 
% disenyem ACC com [ka,kb,kc,kd]):
[ka,kb,kc,kd,B,A]=facc(w,Gwa,inx,nums,dens);A,B,Ainv=inv(A)
Kacc=ss(ka,kb,kc,kd);zpk(Kacc)

Los lugares característicos correspondientes a Q(s) = G(s) Ka Kacc son los siguientes

%anàlisi
Kaccw=mv2fr(ka,kb,kc,kd,w);
Qw=fmulf(w,Gwa,Kaccw);
clq=feig(w,Qw);%clq=csort(clq);

figure
subplot(211),semilogx(w,20*log10(abs(clq))),grid,ylabel('dB'),
title('Lugares característicos. Compensación a AF y FI')
subplot(212),semilogx(w,angle(clq)*180/pi),grid,ylabel('grados')
xlabel('Frecuencia (rad/s)')

ETSETB. Sistemas Electrónicos de Control 1314a 142


Tema 5. Control avanzado

maa=fmisalg(w,Qw);
figure,
semilogx(w,maa),grid,xlabel('Frecuencia (rad/s)'),ylabel('grados')
title('Ángulos de desalineamiento. Compensación a AF y FI')

Lugares característicos. Compensación a AF y FI Ángulos de desalineamiento. Compensación a AF y FI


40 40

20
35
dB

0
30
-20
25
-40
-2 -1 0 1 2

grados
10 10 10 10 10
20
0
15
-20

-40
grados

10
-60
5
-80

-100 0
-2 -1 0 1 2 -2 -1 0 1 2
10 10 10 10 10 10 10 10 10 10
Frecuencia (rad/s) Frecuencia (rad/s)

Compensación a bajas frecuencias: Finalmente añadimos la acción integral para el seguimiento de


escalones. Además añadiremos un cero a fin que la ganancia a medias y altas frecuencias sea
unitaria y así no perdamos el desacoplamiento que hemos ganado en los pasos anteriores.

Viendo que en el lugar característico tenemos un polo en 0.1rad/s, lo que podemos hacer es añadir
ahí un cero y así tendremos una pendiente constante. Para el compensador

 s  0.1 
 0 
K b ( s)   s
s  0.1
 0 
 s 

Los lugares característicos son:

Lugares característicos. Compensación a AF, FI y BF Ángulos de desalineamiento. Compensación a AF, FI y BF


60 40
40
35
20
dB

0 30
-20
25
-40
-2 -1 0 1 2
grados

10 10 10 10 10
20
-90
15

-92
grados

10

-94 5

-96 0
-2 -1 0 1 2 -2 -1 0 1 2
10 10 10 10 10 10 10 10 10 10
Frecuencia (rad/s) Frecuencia (rad/s)

%compensación a bajas
kpi=tf([1 0.1],[1 0]);Kb=[kpi 0;0 kpi];
[ab,bb,cb,db]=ssdata(Kb);
Kbw=mv2fr(ab,bb,cb,db,w);
Qbw=fmulf(w,Qw,Kbw);clqb=feig(w,Qbw);

figure

ETSETB. Sistemas Electrónicos de Control 1314a 143


Tema 5. Control avanzado

subplot(211),semilogx(w,20*log10(abs(clqb))),grid,ylabel('dB'),
title('Lugares característicos. Compensación a AF, FI y BF')
subplot(212),semilogx(w,angle(clqb)*180/pi),grid,ylabel('grados')
xlabel('Frecuencia (rad/s)')

maab=fmisalg(w,Qbw);
figure,
semilogx(w,maab),grid,xlabel('Frecuencia (rad/s)'),ylabel('grados')
title('Ángulos de desalineamiento. Compensación a AF, FI y BF')

Sin embargo este diseño aún no nos convence puesto que el esfuerzo de control es excesivo y puede
llevar el sistema a la saturación:
Control por lugares característicos. Respuesta a 1r=escalón
60
y1
40 y2
u1
20 u2

0
0 1 2 3 4 5 6

Control por lugares característicos. Respuesta a 2r=escalón


15
y1
10
y2
5 u1

0 u2

-5
0 1 2 3 4 5 6

%anàlisi temporal
Ktotal=Kb*Kacc*Ka;
L=G*Ktotal;
T=feedback(L,eye(2));
Tu=feedback(Ktotal,G);
t=linspace(0,6,500);r=ones(length(t),1);
figure,
subplot(211),y=lsim(T,[r r*0],t);u=lsim(Tu,[r r*0],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por lugares característicos. Respuesta a r_1=escalón')
subplot(212),y=lsim(T,[r*0 r],t);u=lsim(Tu,[r*0 r],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por lugares característicos. Respuesta a r_2=escalón')

Para resolver este problema hay que reducir la ganancia. Por ejemplo, con

0.18 0 
K1  
 0 0.8

Notar que la ganancia es diferente en cada lazo (ello puede hacer aparecer de nuevo la interacción
por lo que se podría poner otro ACC para aislar el efecto de este compensador constante)

ETSETB. Sistemas Electrónicos de Control 1314a 144


Tema 5. Control avanzado

Control por lugares característicos. Respuesta a 1r=escalón


10
y1
y2
5 u1
u2

0
0 1 2 3 4 5 6

Control por lugares característicos. Respuesta a 2r=escalón


10
y1
5 y2
u1
0 u2

-5
0 1 2 3 4 5 6

K1=[0.18 0;0 0.8];


Ktotal=K1*Kb*Kacc*Ka;
L=G*Ktotal;
T=feedback(L,eye(2));
Tu=feedback(Ktotal,G);
t=linspace(0,6,500);r=ones(length(t),1);

figure,
subplot(211),y=lsim(T,[r r*0],t);u=lsim(Tu,[r r*0],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por lugares característicos. Respuesta a r_1=escalón')
subplot(212),y=lsim(T,[r*0 r],t);u=lsim(Tu,[r*0 r],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por lugares característicos. Respuesta a r_2=escalón')

Ahora el problema es que el lazo 1 es demasiado lento. Como las especificaciones nos dejan tener
un overshoot de hasta el 15% lo que podemos hacer es cambiar la posición del cero del PI (ponerlo
en -0.5 en vez de -0.1) para dejar que la respuesta oscile un poco y así sea más rápida. (O si no, se
puede poner otro tipo de compensador y añadir otro ACC). El nuevo compensador es

 s  0.5 
 0 
K b ( s)   s
s  0.5 
 0 
 s 

kpi=tf([1 0.5],[1 0]);Kb=[kpi 0;0 kpi];


Ktotal=minreal(K1*Kb*Kacc*Ka);zpk(Ktotal)
L=G*Ktotal;
T=feedback(L,eye(2));
Tu=feedback(Ktotal,G);
t=linspace(0,6,500);r=ones(length(t),1);

figure,
subplot(211),y=lsim(T,[r r*0],t);u=lsim(Tu,[r r*0],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por lugares característicos. Respuesta a r_1=escalón')
subplot(212),y=lsim(T,[r*0 r],t);u=lsim(Tu,[r*0 r],t);
plot(t,y,t,u,'--'),grid,legend('y_1','y_2','u_1','u_2')
title('Control por lugares característicos. Respuesta a r_2=escalón')

ETSETB. Sistemas Electrónicos de Control 1314a 145


Tema 5. Control avanzado

Control por lugares característicos. Respuesta a 1r=escalón


10
y1
5 y2
u1
0 u2

-5
0 1 2 3 4 5 6

Control por lugares característicos. Respuesta a 2r=escalón


10
y1
5 y2
u1
0 u2

-5
0 1 2 3 4 5 6

Finalmente, el controlador total es K ( s )  K 1  K b ( s )  A  K d ( s )  B  K a ,

1 8.9626( s  0.5)( s  0.07372) 1.1611( s  0.5)( s  0.06788)


K ( s) 
s( s  0.07632)  5.1965( s  0.5)( s  1.964) 8.7073( s  0.5498)( s  0.5) 

Ejemplo 32. Turbo-generador. Se trata de un sistema estable en lazo abierto de 10 estados, 2


entradas y 2 salidas (Limebeer and Maciejowski 85)

1  g11 ( s ) g12 ( s ) 
G( s ) 
( s )  g 21 ( s ) g 22 ( s )

donde
( s )  ( s  17.66)  ( s  10.75)  ( s  10)  ( s  1.667)  ( s  1.042)  ( s  0.2345) 
( s 2  0.6983s  40.37)  ( s 2  58.93s  9.942  104 )
g11 ( s )  1.4211  10 13  ( s  1.801  107 )  ( s  1.801  107 )  ( s  17.73)  ( s  10.97)  ( s  10) 
( s  1.229)  ( s  0.3608)  ( s 2  58.9 s  9.942  104 )
g 21 ( s )  1.1369  10 13  ( s  691.6)  ( s  709.9)  ( s  21.98)  ( s  7.844)  ( s  10) 
( s 2  1.111s  1.414)  ( s 2  1083s  1.019  1013 )
g12 ( s )  4.4054  10 13  ( s  3.569  105 )  ( s  36.24)  ( s  10.81)  ( s  1.667)  ( s  1.188) 
( s 2  39.46s  1.168  105 )  ( s 2  3.573  105 s  1.275  1011 )
g 22 ( s )  1.8474  10 13  ( s  4.423  1015 )  ( s  36.24)  ( s  10.71)  ( s  1.667) 
( s  0.9289)  ( s 2  0.7667s  43.88)  ( s 2  29.7 s  9.553  10 4 )

O, equivalentemente, en el espacio de estado:

ETSETB. Sistemas Electrónicos de Control 1314a 146


Tema 5. Control avanzado

 0 1 0 0 0 0 0 0 0 0 
 0  .11323  .98109  11.847  11.847  63.080  34.339  34.339  27.645 0 
 324.121  1.1755  29.101 0.12722 2.83448  967.73  678.14  678.14 0  129.29 
  127.30 0.46176 11.4294  1.0379 13.1237 380.079 266.341 266.341 0 1054.85 
 
 186.05 0.67475 16.7045 0.86092  17.068 555.502 389.268 389.268 0  874.92
A 
 341.917 1.09173 1052.75 756.465 756.465  29.774 0.16507 3.27626 0 0 
  30.748  .9817  94.674  68.029  68.029 2.67753  2.6558 4.88497 0 0 
  302.36  .96543  930.96  668.95  668.95 26.3292 2.42028  9.5603 0 0 
 0 0 0 0 0 0 0 0  1.6667 0 
 0  10 
 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 1.6667 0 
BT  
0 0 0 0 0 0 0 0 0 10
 1 0 0 0 0 0 0 0 0 0
C 
 .49134 0  .63203 0 0  .20743 0 0 0 0
0 0
D 
0 0

Se pide:
Analizar los polos y ceros de transmisión de la planta.
Obtener un controlador por el método CL y estudiar su estabilidad

Solución:

Introducimos la planta:

close all,clear all,clc


%planta (turbo-generador)
a = [
0.00000 1.00000 0.00000 0.00000 0.00000 ...
0.00000 0.00000 0.00000 0.00000 0.00000;
0.00000 -.11323 -.98109 -11.847 -11.847 ...
-63.080 -34.339 -34.339 -27.645 0.00000;
324.121 -1.1755 -29.101 0.12722 2.83448 ...
-967.73 -678.14 -678.14 0.00000 -129.29;
-127.30 0.46176 11.4294 -1.0379 13.1237 ...
380.079 266.341 266.341 0.00000 1054.85;
-186.05 0.67475 16.7045 0.86092 -17.068 ...
555.502 389.268 389.268 0.00000 -874.92;
341.917 1.09173 1052.75 756.465 756.465 ...
-29.774 0.16507 3.27626 0.00000 0.00000;
-30.748 -.09817 -94.674 -68.029 -68.029 ...
2.67753 -2.6558 4.88497 0.00000 0.00000;
-302.36 -.96543 -930.96 -668.95 -668.95 ...
26.3292 2.42028 -9.5603 0.00000 0.00000;
0.00000 0.00000 0.00000 0.00000 0.00000 ...
0.00000 0.00000 0.00000 -1.6667 0.00000;
0.00000 0.00000 0.00000 0.00000 0.00000 ...
0.00000 0.00000 0.00000 0.00000 -10.000];
b = [
0.00000 0.00000 0.00000 0.00000 0.00000 ...
0.00000 0.00000 0.00000 1.66667 0.00000;
0.00000 0.00000 0.00000 0.00000 0.00000 ...
0.00000 0.00000 0.00000 0.00000 10.0000]';
c = [
1.00000 0.00000 0.00000 0.00000 0.00000 ...
0.00000 0.00000 0.00000 0.00000 0.0000;
-.49134 0.00000 -.63203 0.00000 0.00000 ...

ETSETB. Sistemas Electrónicos de Control 1314a 147


Tema 5. Control avanzado

-.20743 0.00000 0.00000 0.00000 0.0000];


d = [0 0; 0 0];
[num1,den1]=ss2tf(a,b,c,d,1);
G11=tf(num1(1,:),den1);G21=tf(num1(2,:),den1);
[num2,den2]=ss2tf(a,b,c,d,2);
G12=tf(num2(1,:),den2);G22=tf(num2(2,:),den2);
G=zpk([G11 G12;G21 G22]),

Y obtenemos los polos y los ceros:

%polos y ceros de transmisión


polos=eig(a),ceros=tzero(a,b,c,d),

Polos: Los polos del sistema son -29.463±j313.94, -17.664, -10.746, -0.3417±j6.3443, -1.0421, -
1.0421, -0.23446, -1.6667 y -10. Hay un par de polos muy resonantes a 6.34rad/s. Puesto que no
tiene polos en el semiplano derecho es estable. Para tener estabilidad en lazo cerrado bastará que
los lugares característicos no circunden en sentido anti-horario el punto -1+j0.

Ceros de transmisión: Están a -14.837±j308.73, -11.064, -1.2548 y -36.244. Puesto que todos son
de fase mínima ello indica que cualquier ancho de banda en lazo cerrado puede ser alcanzado (en la
práctica, las restricciones de ganancia y amplificación del ruido limitarán el ancho de banda).

Ahora representaremos la respuesta frecuencial de la planta:

%respuesta frecuencial (incluye más puntos en freqs de interés)


w = logspace(-2, 2,1000);
w2 = [1.1: 1.72: 9.9];
w3 = [5.5: 0.3: 7.7];
w4 = 6.34;%nota wn=6.3539=abs(-0.3492 + 6.3443i)
w = sort([w w2 w3 w4]);
Gw=mv2fr(a,b,c,d,w);
%diagramas de Bode
figure,
subplot(221),mvdb(w, Gw, [1,1]), title('G_1_1'),
subplot(222),mvdb(w, Gw, [1,2]), title('G_1_2'),
subplot(223),mvdb(w, Gw, [2,1]), title('G_2_1'),
subplot(224),mvdb(w, Gw, [2,2]), title('G_2_2'),

Diagramas de Bode: Los elementos de la segunda columna son mayores que los de la primera (más
de dos órdenes de magnitud de diferencia). Es debido a las unidades tomadas al construir el
modelo.
G11 G12
50 100

50
0
MAG dB

MAG dB

0
-50
-50

-100 -100
-2 0 2 -2 0 2
10 10 10 10 10 10
FREQUENCY FREQUENCY
G21 G22
0 100

-50 50
MAG dB

MAG dB

-100 0

-150 -50
-2 0 2 -2 0 2
10 10 10 10 10 10
FREQUENCY FREQUENCY

ETSETB. Sistemas Electrónicos de Control 1314a 148


Tema 5. Control avanzado

Pero no es más que un factor de escala que podemos corregir con el siguiente precompensador:

1 0 
K1   
0 0.01

La siguiente figura muestra los diagramas de Bode de la respuesta frecuencial de G(s)K1 (notar el
escalado):
Q11 Q12
50 50

0
0
MAG dB

MAG dB
-50
-50
-100

-100 -150
-2 0 2 -2 0 2
10 10 10 10 10 10
FREQUENCY FREQUENCY
Q21 Q22
0 50

-50 0
MAG dB

MAG dB

-100 -50

-150 -100
-2 0 2 -2 0 2
10 10 10 10 10 10
FREQUENCY FREQUENCY

%compensación de la segunda columna


K1=[1 0;0 0.01];
Q=G*K1;Qw=fmul(w,Gw,K1);
figure,
subplot(221),mvdb(w, Qw, [1,1]), title('Q_1_1'),
subplot(222),mvdb(w, Qw, [1,2]), title('Q_1_2'),
subplot(223),mvdb(w, Qw, [2,1]), title('Q_2_1'),
subplot(224),mvdb(w, Qw, [2,2]), title('Q_2_2'),

Y en las siguientes se muestran los diagramas de Bode y el diagrama polar de los valores
característicos de G(s)K1:
Lugares característicos de G(s)K1
Lugares característicos de G(s)K1
50 1.5

0 1
MAG dB

0.5
-50
0
-100
-2 -1 0 1 2 -0.5
10 10 10 10 10
IMAG

FREQUENCY -1
200
-1.5
100
-2
PHASE

0
-2.5
-100
-3
-200
-2 -1 0 1 2 -3.5
10 10 10 10 10 -1 0 1 2 3 4 5 6 7
FREQUENCY REAL

%lugares característicos
av=feig(w,Qw);%av=csort(av);
figure,plotnyq(av),title('Lugares característicos de G(s)K_1'),
figure,plotbode(w,av),subplot(211),
title('Lugares característicos de G(s)K_1'),

ETSETB. Sistemas Electrónicos de Control 1314a 149


Tema 5. Control avanzado

Compensación a altas frecuencias: Se diseña un compensador para desacoplar el sistema por


encima de 30rad/s (y a partir de dicha frecuencia) con ayuda de la función align.

%compensación a altas frecuencias


inx = min(find(w>=30));
[Qw30,w30]=fgetf(w,Qw,inx);w30
K2=align(Qw30),

558.7854  1.3865 
K2   
  0.9192  90.8402

Los lugares característicos obtenidos se muestran en la siguiente figura:

Q=Q*K2;Qw=fmul(w,Qw,K2);
av=feig(w,Qw);%av=csort(av);
figure,plotnyq(av),title('Lugares característicos de G(s)K_1K_2'),
figure,plotbode(w,av),subplot(211),
title('Lugares característicos de G(s)K_1K_2'),

Lugares característicos de G(s)K1K2 Lugares característicos de G(s)K1K2


800 100

50
MAG dB

600

0
400
-50
-2 -1 0 1 2
10 10 10 10 10
IMAG

200 FREQUENCY

200
0
100
PHASE

-200 0

-100
-400 -2 -1 0 1 2
-1500 -1000 -500 0 500 1000 10 10 10 10 10
REAL FREQUENCY

Para poder alcanzar mejor la estabilidad en lazo cerrado, multiplicaremos ambos canales por -1.
Así los autovalores empezarán en el eje real positivo y será más fácil estudiar la estabilidad. Por
otro lado, rebajaremos la ganancia (K2 había introducido mucha ganancia a fin de “invertir” el
camino directo a =30rad/s y conseguir que a esa frecuencia valiera 0dB).

En definitiva, si añadimos el precompensador km:

 0.01 0 
km  
 0  0.01

Los nuevos lugares característicos son:

km=[-0.01 0;0 -0.01];


Q=Q*km;Qw=fmul(w,Qw,km);
av=feig(w,Qw);%av=csort(av);
figure,plotnyq(av),title('Lugares característicos de G(s)K_1K_2k_m'),
figure,plotbode(w,av),subplot(211),
title('Lugares característicos de G(s)K_1K_2k_m'),

ETSETB. Sistemas Electrónicos de Control 1314a 150


Tema 5. Control avanzado

Lugares característicos de G(s)K1K2km Lugares característicos de G(s)K1K2km


4 50

MAG dB
2

-50
0
-100
-2 -1 0 1 2
10 10 10 10 10
IMAG

-2 FREQUENCY

-4
-100

PHASE
-6 -200

-300
-8 -2 -1 0 1 2
-10 -5 0 5 10 15 10 10 10 10 10
REAL FREQUENCY

Vemos que uno de los autovalores engloba al punto -1. Esto es debido principalmente al desfase
que introduce la resonancia.

Podemos investigar lo bien que ha funcionado el desacoplo aproximado y ver qué dominancia
diagonal tenemos ahora. Esto puede hacerse estudiando el Bode, las bandas de Gershgorin o el
desalineamiento entre las direcciones características (autovectores) y los vectores estándar de la
base. Ambos ángulos de desalineamiento son pequeños a partir de 10rad/s.

Desalineamiento después de la compensación AF


60

50

40
grados

30

20

10

0
-2 -1 0 1 2
10 10 10 10 10
Frecuencia (rad/s)

%análisis de dom diag


misa=fmisalg(w, Qw);
figure
semilogx(w, misa),title('Desalineamiento después de la compensación AF')
grid,xlabel('Frecuencia (rad/s)'),ylabel('grados')

Compensación a frecuencias intermedias: El controlador conmutativo aproximado sirve para


manipular los lugares característicos cerca de una frecuencia determinada. Puesto que la
compensación debe ser más precisa a 6.34rad/s (que es donde tenemos la resonancia), es en ese
punto donde situaremos el compensador ACC.

Los autovalores del camino directo a 6.34rad/s son: -8.9531-j2.0801 y -0.1157-j0.1437. Vemos
que el primer lugar característico queda a la izquierda del punto crítico -1. Por tanto es
principalmente éste el que tiene que ser compensado.

El punto -1 es englobado por el desfase debido a la resonancia del primer autovalor. Por tanto
conformaremos dicho lugar con ayuda de un filtro notch situado en el lugar de la resonancia.
Puesto que la resonancia corresponde al par de polos complejos conjugados de la planta -

ETSETB. Sistemas Electrónicos de Control 1314a 151


Tema 5. Control avanzado

0.3492±j6.3443 lo que haremos será poner como numerador a estos polos y como denominador
(para que sea realizable) a dos polos lejanos.

( s  0.3492  j 6.3443)( s  0.3492  j 6.3443) s 2  0.6984s  40.37


k1,notch ( s )  
( s  20)( s  25) s 2  45s  500

%compensación a frecuencias intermedias


index = min(find(w>=6.34));w(index)
eig(fgetf(w,Qw,index)),
%compensación para el lugar 1 (filtro notch...
kn1 = [1 0.7 40.37];kn1=conv([1 0.3492+j*6.3443],[1 0.3492-j*6.3443])
kd1 = [1 45 500]; kd1=conv([1 20],[1 25])
tf(kn1,kd1)

Aquí la ganancia va desde -21.8dB a 0dB. Luego, además, añadiremos fase a ambos lugares. Estos
filtros de avance se diseñarán para equilibrar las ganancias de los lugares y dar una frecuencia de
crossover de 10rad/s. Los filtros de avance para el lugar 1 y para el lugar 2 son respectivamente:

s2 0.5s  0.1


k1,av ( s )  y k 2,av ( s ) 
0.1s  1 0.01s  1
%...y avance de fase)
kn1 = conv(kn1,[1 2]);
kd1 = conv(kd1,[0.1 1]);
zpk(tf(kn1,kd1))
%compensación para el lugar 2 (avance de fase)
kn2 = [0.5 0.1];
kd2 = [0.01 1];
tf(kn2,kd2)

El controlador conmutativo resultante será:

 1.505s  99.21 4.309s  8.022 


 s  100 s  100 
K acc ( s )  
5.542s  10.32 4.309s  10.7 
 
 s  100 s  100 
%Els juntem per poder fer servir la funció facc:
nums = [kn1 ; zeros(1,2) kn2]; % numeradors
dens = [kd1 ; zeros(1,2) kd2]; % denominadors

%Approximate Commutative Controller:


[ka,kb,kc,kd] = facc(w,Qw,index,nums,dens);size(ka),%2 estats
Kacc=ss(ka,kb,kc,kd);Kacc=tf(Kacc),
Kaccw=mv2fr(ka,kb,kc,kd,w);

Las figuras muestran los lugares característicos resultantes:

ETSETB. Sistemas Electrónicos de Control 1314a 152


Tema 5. Control avanzado

Lugar característico compensado a 6.34


Lugar característico compensado a 6.34
4 50

MAG dB
2

-50
0
-100
-2 -1 0 1 2
10 10 10 10 10
IMAG

-2 FREQUENCY

100
-4 0

PHASE
-100
-6
-200

-300
-8 -2 -1 0 1 2
-10 -5 0 5 10 10 10 10 10 10
REAL FREQUENCY

%camí directe compensat i nou lloc caract


Qw=fmulf(w,Qw,Kaccw);
av=feig(w,Qw);%av=csort(av);
figure,plotnyq(av),title('Lugar característico compensado a 6.34'),
figure,plotbode(w,av),subplot(211),
title('Lugar característico compensado a 6.34'),

Compensación a bajas frecuencias: Finalmente, aquí se trata de aumentar la ganancia a bajas


frecuencias sin perder los márgenes de estabilidad y el desacoplo que ya tenemos. Usaremos
compensadores PI junto con un ACC a fin de que los dos lugares tengan la misma ganancia en
continua. El controlador tendrá la forma

I/s B Kd A
Kbf

con Kd diagonal. Éste sirve para equilibrar los lugares a 0.01 y el parámetro  se escoge para que la
transición de bajas a altas de Kb,acc sea adecuada. En concreto, interesa que Kb,acc(j6.34)=I.

K b,acc ( s )  K bf (0.01)  I
s

Ahora no se usará la función facc para el diseño. Lo haremos a mano (con align aproximaremos los
autovectores y su inversa).

La frecuencia de diseño será 0.01rad/s. Los autovectores y autovalores a dicha frecuencia son:

%compensación a bajas
%la primera frecuencia es 0.01
Qw1=fgetf(w,Qw,1);
[autovect,av1]=eig(Qw1),

avect =
0.9212 0.1562 + 0.0020i
-0.3890 + 0.0090i 0.9877

av =
8.0292 - 0.2021i 0

ETSETB. Sistemas Electrónicos de Control 1314a 153


Tema 5. Control avanzado

0 0.3610 + 0.0084i

Las matrices que aproximan la matriz modal y su inversa (B y A respectivamente) son:


A=align(inv(autovect)),
B=align(autovect),

A =
0.9211 0.1562
-0.3890 0.9877
B =
1.0175 -0.1609
0.4007 0.9490

Y en Kd pondremos la inversa (del valor absoluto de) de los autovalores en 0.01:

kd =
0.1245 0
0 2.7690

Así Kbf=A·Kd·B es
Kbf =
0.2900 0.3920
1.0467 2.6035

% kd es la inversa de los autovalores


kd=abs(eig(Qw1));
kd=diag(kd.\1),
Kbf=A*kd*B


El controlador de bajas final será K b,acc ( s ) 
s
K bf (0.01)  I 
1
s
K bf (0.01)  sI.
Puesto que A y B son la inversa aproximada una de otra, las frecuencias codo del numerador serán
kd(1,1) y kd(2,2). En general, deberían valer unos 6.34/10 a fin de asegurar que no se estropea
la compensación previa. Pero como tenemos unos márgenes de estabilidad muy buenos podemos
empujarlas hasta 6.34 a fin de conseguir toda la ganancia a bajas que podamos.

Así:

%cálculo de alfa
alpha = 6.34/max(max(kd))
Kbf=alpha*Kbf,

alpha = 6.34/max(max(kd))
alpha =
2.2897

Kbf=alpha*Kbf,
Kbf =
0.6641 0.8976
2.3966 5.9610

nklow =
1.0000 0.6641 0 0.8976
0 2.3966 1.0000 5.9610

dklow =
1 0

ETSETB. Sistemas Electrónicos de Control 1314a 154


Tema 5. Control avanzado

1  s  0.6641 0.8976 
K bf ( s ) 
s  2.3966 s  5.9610

Los lugares característicos resultantes son:

Lugares característicos compesados a AF, FI y BF Lugares característicos compesados a AF, FI y BF


50 50

MAG dB
0

-50
-50
-100
-2 -1 0 1 2
10 10 10 10 10
IMAG

-100 FREQUENCY

-150
-100

PHASE
-200 -200

-300
-250 -2 -1 0 1 2
-10 -5 0 5 10 10 10 10 10
REAL FREQUENCY

%convertim matriu polinomial kbf a matriu de FTs amb denominador comú s


[nkbf,dkbf]=pm2tf([1 0],Kbf,eye(2)),
%respuesta frecuencial Kbf
Kbfw=mv2fr(nkbf,dkbf,w);
%camí directe compensat a AF, FI i BF
Qw=fmulf(w,Qw,Kbfw);
av=feig(w,Qw);%av=csort(av);

figure,plotnyq(av),
title('Lugares característicos compesados a AF, FI y BF'),
figure,plotbode(w,av),subplot(211),
title('Lugares característicos compesados a AF, FI y BF'),

Retocamos ahora la ganancia para tener un ancho de banda de 20rad/s (multiplicamos por 3 cada
canal)

% ganancia para bw=20 rad/s.


kbw = [ 3 0 ; 0 3 ];
Qw = fmul(w,Qw,kbw);av = csort(feig(w,Qw));
figure,plotnyq(av),title('Lugares característicos (diseño final)'),
figure,plotbode(w,av),subplot(211),
title('Lugares característicos (diseño final)'),

Lugares característicos (diseño final)


100 Lugares característicos (diseño final)
100
0
50
MAG dB

-100 0

-50
-200
-100
-2 -1 0 1 2
IMAG

10 10 10 10 10
-300
FREQUENCY

-400 0

-100
PHASE

-500

-200
-600

-300
-700 -2 -1 0 1 2
-30 -25 -20 -15 -10 -5 0 5 10 15 10 10 10 10 10
REAL FREQUENCY

Para analizar la estabilidad representamos los círculos de 1dB y 2dB en el diagrama polar de los
lugares. Por lo que parece el sistema es bastante estable.

ETSETB. Sistemas Electrónicos de Control 1314a 155


Tema 5. Control avanzado

Lugares característicos con círculos M 1.0, 2.0 dB


5 7.636

4 7.923

3 8.374

2 9.015

1 10.35

IMAG
16.11
0
26.76
-1
11.46
-2
6.774
-3 4.728

-4 3.553

-5 2.795
-10 -8 -6 -4 -2 0 2
REAL

%análisis de estabilidad. círculos M a 1dB y 2dB


figure,plotnyq(av),axis([-10, 2 , -5, 5]);hold on,
plotnyq(mcirc([1,2]))
title('Lugares característicos con círculos M 1.0, 2.0 dB'),
mknyq(av,w),

Pero es conveniente (y mejor) representar también los valores singulares en lazo abierto

%valores singulares
sv=fsvd(w,Qw);
figure,plotdb(w,[sv,av]),
title('Autovalores y valores singulares (diseño final)'),

Autovalores y valores singulares (diseño final)


60

40

20

0
MAG dB

-20

-40

-60

-80
-2 -1 0 1 2
10 10 10 10 10
FREQUENCY

Ahora analizamos el lazo cerrado. Hay una fuerte interacción oscilatoria desde la segunda entrada
hacia la primera salida cerca de la resonancia a 6rad/s y una interacción del 10% en las frecuencias
inferiores a ésta.

ETSETB. Sistemas Electrónicos de Control 1314a 156


Tema 5. Control avanzado

[1,1] [1,2]
20 0

MAG dB

MAG dB
-20 -50

-40

-60 -100
-2 0 2 -2 0 2
10 10 10 10 10 10
FREQUENCY FREQUENCY
[2,1] [2,2]
0 0

-10
MAG dB

MAG dB
-50
-20

-100 -30
-2 0 2 -2 0 2
10 10 10 10 10 10
FREQUENCY FREQUENCY

%resp freq Sistema en lazo cerrado


Tw=ffb(w,Qw);
figure,%axis([-2,2,-40,10])
subplot(221),mvdb(w, Tw, [1,1]), title('[1,1]')
subplot(222),mvdb(w, Tw, [1,2]), title('[1,2]')
subplot(223),mvdb(w, Tw, [2,1]), title('[2,1]')
subplot(224),mvdb(w, Tw, [2,2]), title('[2,2]'),

Los valores singulares del lazo cerrado indican que está garantizada la estabilidad para el caso de
perturbaciones de salida no estructuradas multiplicativas cuya norma sea inferior a:

margen_estab = 1/max(max(svc))
margen_estab =
0.8756
Valores singulares del lazo cerrado (diseño final)
10

-10

-20
MAG dB

-30

-40

-50

-60

-70
-2 -1 0 1 2
10 10 10 10 10
FREQUENCY

%valores singulares del lazo cerrado


svc=fsvd(w,Tw);
margen_estab = 1/max(max(svc))
figure,plotdb(w,svc),
title('Valores singulares del lazo cerrado (diseño final)')

ETSETB. Sistemas Electrónicos de Control 1314a 157


Tema 5. Control avanzado

3.3.3 Método de Perron-Frobenius

Concepto:

El autovalor de Perron-Frobenius es el autovalor positivo más grande de cierta diagonalización de


G 1 ( s ) . Es por tanto dependiente de la frecuencia y se puede representar en un diagrama de Bode.
Se usa la inversa a fin de poder aplicar el precompensador resultante al array inverso de Nyquist.

Este método es muy útil porque una simple inspección del autovalor de P-F nos dice si es posible o
no hacer al sistema diagonal dominante a una frecuencia determinada usando un compensador
diagonal. Si es posible, la inspección de un autovector de P-F asociado nos ayuda a diseñar dicho
compensador diagonal.

Método:

Los detalles del método están en (Maciejowski, 1989) o Munro (en (O’Reilly, 1987), Ch. 13). El
resumen del método es el siguiente:

1) Representar en un diagrama de Bode el autovalor de P-F.

2) Ver a qué frecuencias está por debajo de 2 (por debajo de 6dB). Ésas son las frecuencias a
las que un precompensador puramente diagonal puede conseguir la dominancia diagonal
por columnas en el INA. Cuánto más por debajo de 6dB esté, mejores serán las
propiedades de dominancia diagonal conseguidas. Y cuanto más cerca de 6dB esté, más
difícil será conseguir la dominancia diagonal.

Si está por encima de 6dB a alguna frecuencia, se necesitará un precompensador más


general y es posible que no se pueda alcanzar la dominancia diagonal. En estos casos
conviene añadir un compensador que diagonalice a frecuencia 0, G(0)-1, y volver a calcular
el autovalor de P-F.

3) Calcular los autovectores de P-F. Se puede demostrar (ver p. ej., (Maciejowski, 1989)) que
la respuesta frecuencial de los elementos del pre-compensador que alcanza la dominancia
diagonal en el INA coincide con la del autovector de P-F por la izquierda. Así, basta con
representar los autovectores en un diagrama de Bode y obtener las funciones de
transferencia que se ajusten. Los autovectores por la derecha servirían para calcular un
post-compensador (o bien un pre-compensador para un array de Nyquist directo, DNA).

Los autovectores sólo fijan una dirección y son correctos para cualquier escalado. Por
tanto, a fin de reducir el número de compensadores dinámicos a diseñar, lo que se puede
hacer es fijar uno de sus elementos a una constante a lo largo de la frecuencia. Por ejemplo,
lo habitual es forzar a que el primer elemento del autovector por la izquierda valga 1 a todas
las frecuencias.

Para ajustar el resto de elementos suele bastar con un compensador de avance-retardo pero,
si es necesario, pueden ponerse varios avance-retardo o retardo-avance en cascada, quizá
con la ayuda de técnicas de mínimos cuadráticos.

Ejemplos:

Ejemplo 33. Planta neumática . Método de Perron-Frobenius. Considerar la planta neumática

ETSETB. Sistemas Electrónicos de Control 1314a 158


Tema 5. Control avanzado

 1.02  0.52 
g g12  11.76s  1 10.1s  1
G( s )   11 
 g 21 g 22    0.54 1.04 
 
 10.4 s  1 2.6s  1 

Se desea que cada lazo se comporte como un sistema de segundo orden con n=1rad/s y =0.5 (esto
es tiempo de subida 10-90 de 1.6s y overshoot del 15%). Usar el método de Perron-Frobenius para
calcular el controlador MIMO y verificar el comportamiento.

Solución:

La planta es

close all,clear all,clc


%planta (pneumàtica)
G11=tf(1.02,[11.76 1]);
G12=tf(-0.52,[10.1 1]);
G21=tf(-0.54,[10.4 1]);
G22=tf(1.04,[2.6 1]);
G=[G11 G12;G21 G22];
[a,b,c,d]=ssdata(G);

Y su respuesta frecuencial se calcula como:

%respuesta frecuencial planta


w=logspace(-2,2);
Gw=mv2fr(a,b,c,d,w);

En primer lugar hay que obtener el autovalor de Perron-Frobenius. Para ello, invertimos la
respuesta frecuencial de la planta:

%inversa de la respuesta frecuencial


iGw=mvfrinv(w,Gw);

Y hallamos su módulo, G ( j )
1

m=abs(iGw); %modul resposta freqüencial inversa

Para cada frecuencia obtenemos su versión diagonal igualando todos los términos de fuera de la
diagonal a cero.

omega=fdiag(w,fdiag(w,m));

Calculamos la “matriz de comparación normalizada” . Esta se construye premultiplicando una


matriz de módulos M (que es no diagonal) por la inversa de M diagonalizada tal y como se ha
expuesto en el paso anterior. En nuestro caso M es G ( j ) . Así, si una componente (para una
1

frecuencia concreta) de la matriz G ( j ) es


1

a b 
c d  ,
 
la correspondiente componente en la matriz de comparación normalizada es

ETSETB. Sistemas Electrónicos de Control 1314a 159


Tema 5. Control avanzado

1 / a 0  a b   1 b / a
Γ  
 0 1 / d   c d  c / d 1 

gamma=fmulf(w,mvfrinv(w,omega),m); %matriz de comparación normalizada

Calculamos el autovalor de P-F (es el autovalor más grande de cada matriz de componentes de ) y
lo representamos:

pfe=fperron(w,gamma);
figure,plotdb(w,pfe);
title('Autovalor de Perron-Frobenius')

Autovalor de Perron-Frobenius
3.8

3.6

3.4

3.2
MAG dB

2.8

2.6

2.4

2.2

2
-2 -1 0 1 2
10 10 10 10 10
FREQUENCY

Está por debajo de 6dB a todas las frecuencias, por tanto, es posible conseguir la dominancia
diagonal con un pre-compensador diagonal.

Para calcular el pre-compensador que alcanza la dominancia diagonal en el INA hay que calcular el
autovector de P-F por la izquierda. Estos autovectores serán también función de la frecuencia y
tendrán tantos elementos como dimensiones (número de entradas y salidas) del sistema. Como el
sistema es 22 ambos autovectores por la derecha y la izquierda tienen 2 elementos dependientes de
la frecuencia.

A fin de reducir el número de compensadores dinámicos a diseñar forzamos a que el primer


elemento del autovector valga 1 (0dB) a todas las frecuencias y así para el diseño solo habrá que
ajustar el segundo elemento.

%autovectors de Perron-Frobenius
[pfe,lhv,rhv]=fperron(w,gamma);
for i=1:length(w),
lhv(i,:)=lhv(i,:)/lhv(i,1);
end,% normaliz 1er element=1
figure,plotdb(w,lhv(:,2));
title('2º elemento del autovector
por la izquierda de Perron-Frobenius')

ETSETB. Sistemas Electrónicos de Control 1314a 160


Tema 5. Control avanzado

2º elemento del autovector por la izquierda de Perron-Frobenius


0

-1

-2

-3

MAG dB
-4

-5

-6

-7
-2 -1 0 1 2
10 10 10 10 10
FREQUENCY

El elemento (2,2) del pre-compensador debe tener esta misma respuesta frecuencial. Un
compensador de avance-retardo servirá. La magnitud empieza a -0.28dB y termina a -6.68dB. Los
codos (3dB por debajo del inicio y 3dB por encima del final) están muy cerca: a 0.2rad/s y a
0.26rad/s.

Con ayuda de la función phlag se diseña un compensador con un cambio de ganancia de -6.41,
frecuencia de codo 0.26rad/s y ganancia final -6.68. Este será el compensador para la segunda fila
del INA.

0.4634s  0.1205
Cret ( s ) 
s  0.1243
%compensador de retard que fase que s'ajusti al avect2PF
[knpf,kdpf]=phlag(-6.41,0.26,-6.68),
kpf=mv2fr(knpf,kdpf,w);
figure,plotdb(w,lhv(:,2));hold on,plotdb(w,kpf,'g'),grid
title('2º elemento del autovector-izqda de Frobenius y compensador
de retardo de fase')

2º elemento del autovector-izqda de Frobenius y compensador de retardo de fase


0

-1

-2

-3
MAG dB

-4

-5

-6

-7
-2 -1 0 1 2
10 10 10 10 10
FREQUENCY

En definitiva, el pre-compensador diagonal de desacoplo es:

1 0  1 0 
K ( s)   
 0 0.4634 s  0.1205 
0 Cret ( s )  s  0.1243 

ETSETB. Sistemas Electrónicos de Control 1314a 161


Tema 5. Control avanzado

Para verificar que se cumple la dominancia diagonal representamos el INA junto con los círculos de
Gershgorin por columnas:

20 20

15 15

IMAG

IMAG
10 10

5 5

0 0
-1 0 1 2 3 -1 0 1 2 3
REAL REAL

20 20

15 15
IMAG

IMAG
10 10

5 5

0 0
-1 0 1 2 3 -1 0 1 2 3
REAL REAL

%la matriu del pre-comp serà [1 0;0 Cret]


Kpf=[1 0;0 tf(knpf,kdpf)];
%pasem a estat i fem la conexio:
[a0,b0,c0,d0]=ssdata(Kpf);
[af,bf,cf,df]=mvser(a0,b0,c0,d0,a,b,c,d);%F=G*Kpf -->
inv(F)=inv(Kpf)*inv(G)
%resposta inversa de
iQw=(mvfrinv(w,mv2fr(af,bf,cf,df,w)));
%INA amb cercles gershgorin
figure,ax=[-1 3 0 20];
subplot(221),mplotnyq(fget(w,iQw,[1 1])),axis(ax),
circ=fcgersh(w,iQw,1);hold on,mplotnyq(circ,'r'),grid
subplot(222),mplotnyq(fget(w,iQw,[1 2])),axis(ax),
subplot(223),mplotnyq(fget(w,iQw,[2 1])),axis(ax),
subplot(224),mplotnyq(fget(w,iQw,[2 2])),axis(ax),
circ=fcgersh(w,iQw,2);hold on,mplotnyq(circ,'r'),grid

También podemos representar la respuesta indicial y el esfuerzo de control. Notar que el pre-
compensador de desacoplo debe ser la inversa de kpf:

Respuesta indicial Esfuerzo de control


From: In(1) From: In(2) From: In(1) From: In(2)
1
0.4
0.8
0.3
To: Out(1)

To: Out(1)

0.2 0.6

0.1
0.4
0
0.2
-0.1
Amplitude

Amplitude

-0.2 0
0.8 2.5

0.6 2
To: Out(2)

To: Out(2)

0.4 1.5

0.2 1

0 0.5

-0.2 0
0 20 40 60 80 100 120 0 20 40 60 80 100 120 0 10 20 30 40 0 10 20 30 40
Time (sec) Time (sec)

%resposta indicial
K=inv(Kpf); %compensador aplicat a l'INA és l'invers del que tindrem

ETSETB. Sistemas Electrónicos de Control 1314a 162


Tema 5. Control avanzado

L=G*K;
T=feedback(L,eye(2));
Tu=feedback(K,G);
S=feedback(eye(2),L);
t=linspace(0,30,500);r=ones(length(t),1);
figure,t=linspace(0,14);
step(T),title('Respuesta indicial')
figure,
step(Tu),title('Esfuerzo de control')

Finalmente, para eliminar el offset y hacer más rápidas las respuestas, se añade un compensador
dinámico de tipo PI:

 8s  4 
 s  0
 4s  4 
 0 
 s 

El compensador total resultante es (puesto que el compensador de desacoplo estaba diseñada para el
INA, en el mundo real lo que necesitamos es su inversa):

1  8s  4 
1 0   0

0 0.4634s  0.1205   s
 4s  4 
s  0.1243   0 
 s 

La respuesta indicial y esfuerzo de control finales son:

Respuesta indicial (con PI) Esfuerzo de control (con PI)


From: In(1) From: In(2) From: In(1) From: In(2)
1.5 8

6
1
To: Out(1)
To: Out(1)

4
0.5
2

0
Amplitude
Amplitude

0
1.5 10

8
1
To: Out(2)
To: Out(2)

0.5 4

2
0
0
0 5 10 0 5 10 0 5 10 0 5 10
Time (sec) Time (sec)

%posem PI per eliminar offset i fer més ràpid el sistema


k1=tf([8 4],[1 0]);
k2=tf([4 4],[1 0]);
Kpi=[k1 0;0 k2];
%
%resposta indicial
Ktotal=K*Kpi;
L=G*Ktotal;
T=feedback(L,eye(2));
Tu=feedback(Ktotal,G);

figure,t=linspace(0,14);
step(T,t),title('Respuesta indicial (con PI)')
figure,
step(Tu,t),title('Esfuerzo de control (con PI)')

ETSETB. Sistemas Electrónicos de Control 1314a 163


Tema 5. Control avanzado

3.3.4 Direct Nyquist Array

Método:

Este método intenta compensar el sistema para que sea aproximadamente diagonal. El diseño
entonces se completa diseñando controladores SISO para cada uno de los elementos de la diagonal
de la planta compensada.

Ejemplos:

Ejemplo 34. Turbogenerador. Diseño DNA. Considerar de nuevo el turbogenerador. Calcular


el controlador MIMO por DNA y verificar su comportamiento.

Solución:

Paso 1: Determinación del rango dinámico de la planta

Polos: El polo más bajo está en 0.234rad/s y el más alto en 315rad/s. Hay un par de polos
complejos conjugados poco amortiguados en 6.35rad/s con un coeficiente de amortiguamiento
=0.055.
format short e,
[wn,z]=damp(a);
[wn,z]
ans =
2.3446e-001 1.0000e+000
6.3539e+000 5.4953e-002
6.3539e+000 5.4953e-002
1.0421e+000 1.0000e+000
1.6667e+000 1.0000e+000
1.0000e+001 1.0000e+000
1.0746e+001 1.0000e+000
1.7664e+001 1.0000e+000
3.1532e+002 9.3438e-002
3.1532e+002 9.3438e-002

Ceros de transmisión: El cero más bajo es 1.25rad/s y el cero finito más alto está en 309rad/s.

tzero(a,b,c,d);
[wn,z]=damp(ans);
[wn,z]
ans =
3.0909e+002 4.8004e-002
3.0909e+002 4.8004e-002
1.1064e+001 1.0000e+000
1.2548e+000 1.0000e+000
3.6244e+001 1.0000e+000

Por tanto, el rango dinámica total de la planta está entre 0.234rad/s y 315rad/s. Por encima y debajo
de estas frecuencias la fase es constante y la pendiente de la ganancia se mantiene constante.

Diagramas de Bode:

%Respuesta frecuencial planta


w=logspace(-2,2,40);
w2=1.1:1.72:9.9;
w3=5.5:0.3:6.7;
w4=6.34;

ETSETB. Sistemas Electrónicos de Control 1314a 164


Tema 5. Control avanzado

w=sort([w,w2,w3,w4]);
Gw=mv2fr(a,b,c,d,w);
%Bode de Gw
figure,ax=[1e-2 1e2 -100 100];
subplot(221),mvdb(w,Gw,[1,1]), title('Bode de [1,1]'),axis(ax);
subplot(222),mvdb(w,Gw,[1,2]), title('Bode de [1,2]'),axis(ax);
subplot(223),mvdb(w,Gw,[2,1]), title('Bode de [2,1]'),axis(ax);
subplot(224),mvdb(w,Gw,[2,2]), title('Bode de [2,2]'),axis(ax);
%se añaden más puntos para cubrir el rango dinámico de la planta
w5=logspace(2,3,10);
[Gw,w] = finsert(w,Gw,w5,a,b,c,d);

Bode de [1,1] Bode de [1,2]


100 100

50 50
MAG dB

MAG dB
0 0

-50 -50

-100 -100
-2 0 2 -2 0 2
10 10 10 10 10 10
FREQUENCY FREQUENCY
Bode de [2,1] Bode de [2,2]
100 100

50 50
MAG dB

MAG dB

0 0

-50 -50

-100 -100
-2 0 2 -2 0 2
10 10 10 10 10 10
FREQUENCY FREQUENCY

Paso 2: Conseguir la dominancia diagonal por columnas

Paso 2.1. Análisis de la dominancia por columnas del sistema sin compensar: Se mide cuán
diagonal es el sistema (función fcdom).
 Si la medida es menor que 1 (0dB) el sistema es dominante diagonal por columnas.
 Si la medida es 0 (-∞ dB) entonces el sistema es diagonal.

%Análisis de la dominancia por columnas


cd=fcdom(w,Gw);
figure,plotdb(w,cd),
title('Dominancia diagonal sin compensar. Columnas 1 y 2'),

Dominancia diagonal sin compensar. Columnas 1 y 2


20

-20
MAG dB

-40

-60

-80

-100
-2 -1 0 1 2 3
10 10 10 10 10 10
FREQUENCY

ETSETB. Sistemas Electrónicos de Control 1314a 165


Tema 5. Control avanzado

La dominancia de la primera columna (en azul) es aceptable. Si queremos hacer un diseño de lazos
independientes SISO hay que compensar la columna 2 (en verde).

Paso 2.2. Diseño del pre-compensador de pseudo-desacoplo

Para calcular el orden efectivo ideal de los elementos de la columna 2 del pre-compensador
podemos inspeccionar el adjunto del sistema a altas y bajas frecuencias (es decir, por encima y por
debajo del rango dinámico de la planta).

[u,l]=fadj(w,Gw)

u =
0 -9.3529e-001
-2.0604e+000 0

l =
0 9.3065e-004
2.8780e-004 0

Las columnas de las matrices u y l contienen las pendientes relativas de los elementos de la pseudo-
inversa de la planta (a altas frecuencias y bajas frecuencias respectivamente).

Los números del resultado de la función fadj deberían ser enteros (o casi) ya que son las potencias
relativas de s. Si el resultado no se acerca a ser entero, ello indica que la pendiente no es aún
constante y que las frecuencias usadas no eran lo suficiente altas y/o bajas para extenderse más allá
del rango dinámico de la planta.

Si queremos buena diagonalización para s0 y para s∞ es necesario igualar estas pendientes
relativas con las de los elementos del adjunto de la planta.

En nuestro caso todos los elementos de u y l son casi enteros, así u=[0 -1;-2 0] y l=[0 0;0 0];

El elemento u12=-1 indica que a altas frecuencias el elemento k12 del compensador debe ser un
orden de s menor que el elemento k22. Puesto que los elementos de l son todo ceros, ello indica que
a bajas frecuencias el orden de k12 y k22 debe ser el mismo.

Ahora diseñaremos el compensador de pseudo-desacoplo. En primer lugar hay que crear la variable
kform con las potencias de s que hay que usar para maximzar la dominancia diagonal de la planta:

kform=[1 0 0
2 1 0 ];

La primera columna de kform hace referencia al número de fila del pre-compensador. Así:
 En la fila 1 del pre-compensador tenemos s0 y s0 (igual orden)
 En la fila 2 del pre-compensador tenemos s1 y s0.

Ahora diseñamos el compensador:

[ka,comdena,fit,cd2a]=fpseudo(w,Gw,2,kform);

Accumulating the frequency responses.


fit
fit =
9.2201e-002

ETSETB. Sistemas Electrónicos de Control 1314a 166


Tema 5. Control avanzado

Ka y comdena son la columna 2 y el denominador común del pre-compensador constante tal que en
cascada con la planta es aproximadamente un múltiplo del segundo vector unitario a lo largo de la
frecuencia .

Comprobamos la dominancia de la columna 2 de la planta con este compensador:

figure,plotdb(w,cd2a,'--r'),hold,plotdb(w,cd(:,2),'-g'),...
title('Dominancia por columnas para la columna 2'),grid

Dominancia por columnas para la columna 2


20

-20

-40
MAG dB

-60

-80

-100

-120
-2 -1 0 1 2 3
10 10 10 10 10 10
FREQUENCY

Y vemos que ha mejorado con respecto a la planta sin compensar, aunque todavía estamos por
encima de 0dB entre 4rad/s y 10rad/s.

La medida debe ser pequeña alrededor del crossover de la planta a fin de conseguir eliminar la
interacción. Ello es así porque en el crossover la ganancia de la planta es insuficiente para eliminar
la interacción.

Intentaremos mejorar la dominancia introduciendo una función de ponderación que pondere la


respuesta entre 4rad/s y 10rad/s (pondremos un peso de 50 a esas frecuencias y unitario en el resto).

[kb,comdenb,fit,cd2b]=fpseudo(w,Gw,2,kform,wi);

Accumulating the frequency responses.


fit =
3.0037e-001

Dominancia por columnas para la columna 2


20

-20

-40
MAG dB

-60

-80 planta
con compensador
con compensador ponderado
-100

-120
-2 -1 0 1 2 3
10 10 10 10 10 10
FREQUENCY

ETSETB. Sistemas Electrónicos de Control 1314a 167


Tema 5. Control avanzado

Esta ponderación ha mejorado la dominancia alrededor de 4rad/s y 10rad/s pero a expensas de


empeorarla al resto de frecuencias. En cualquier caso, aún no es lo suficientemente dominante.

Intentaremos añadir otro orden de s a la primera fila de la columna 2 (aunque eso contradiga la guía
de fadj a altas frecuencias).

kform=[1 1 0
2 1 0];
[kc,comdenc,fit,cd2c]=fpseudo(w,Gw,2,kform,wi);

Accumulating the frequency responses.


fit
fit =
6.6927e-002

Dominancia por columnas para la columna 2


20

-20

-40
MAG dB

-60
planta
-80 con compensador
con compensador ponderado
otros órdenes
-100

-120
-2 -1 0 1 2 3
10 10 10 10 10 10
FREQUENCY

Hemos mejorado la dominancia a frecuencias intermedias (gracias a la flexibilidad adicional en el


compensador) pero empeorado a altas (debido al desajuste en los órdenes de s a altas frecuencias).
En conjunto, la mejora aún no es suficiente, por tanto, probamos un compensador de orden superior:

kform=[1 0 0 -1
2 1 0 -1];

O sea, mantenemos la relación de las potencias de s a altas y bajas frecuencias.


La fila 1 del compensador es un PI
La fila 2 es un PID

[kd,comdend,fit,cd2d]=fpseudo(w,Gw,2,kform,wi);

Accumulating the frequency responses.

fit
fit =
8.9302e-007

kd =
0 1.5016e-002 2.1338e-002
-1.9475e-005 -1.3805e-004 -4.6401e-005
comdend

ETSETB. Sistemas Electrónicos de Control 1314a 168


Tema 5. Control avanzado

comdend =
0 0 1

Dominancia por columnas para la columna 2


20

-20

-40
MAG dB

-60

planta
-80 con compensador
con compensador ponderado
-100 otros órdenes
PI+PID

-120
-2 -1 0 1 2 3
10 10 10 10 10 10
FREQUENCY

El resultado ahora ya es satisfactorio con lo que se puede pasar al diseño del control por lazos
independientes.

3.3.5 Inverse Nyquist Array

El llamado Inverse Nyquist Array consiste en una matriz de diagramas de Nyquist, uno por
elemento de G-1(j).

Ejemplo 35. Planta chapter 13 of [O'Reilly87]. Control vía INA. Considerar la planta:

 s4 1 
g g12   ( s  1)( s  5) 5s  1 
G( s )   11 
 g 21 g 22   s 1 2 
 s  10s  100
2
2 s  1

Usar el método INA para calcular el controlador MIMO y verificar el comportamiento.

Solución:

Los círculos de Gershgorin permiten ver el grado de dominancia diagonal alcanzado.

Los pre-compensadores diagonales preservan la dominancia diagonal por filas de los sistemas
inversos.

Puesto que se va a usar un pre-compensador diagonal, lo único que podemos cambiar es la


dominancia por columnas (por eso usaremos fcgersh).

ETSETB. Sistemas Electrónicos de Control 1314a 169


Tema 5. Control avanzado

Dibujamos el INA, con los círculos en los elementos 11 y 22. Vemos que el sistema no es diagonal
dominante puesto que las bandas de Gershgorin engloban el origen.

300 10

200 0
IMAG

IMAG
100 -10

0 -20

-100 -30
-200 0 200 -1 -0.5 0 0.5
REAL REAL

50 200

0 150

100
IMAG

IMAG
-50
50
-100 0

-150 -50
-10 0 10 20 -50 0 50
REAL REAL

Diseño del pre-compensador de desacoplo (tal que Q-1 sea diagonal domninante, Q=GK)con ayuda
de los autovalores de Perron-Frobenius.

% Perron-Frobenius eigenvalues can be used to design a diagonal


% -1
% precompensator K so that (GK) will be diagonally dominant.

% First calculate the normalised comparison matrix of ifg


% (see Reference Manual entry for FPERRON):

Matriz de comparación normalizada:

m=abs(iGw);
omega = fdiag(w,fdiag(w,m));
nc = fmulf(w,finv(w,omega),m);

Autovalores y autovectores de P-F:

[v,l,r] = fperron(w,nc);

La representación de los autovalores de p_F en función de la frecuencia indica los márgenes de


frecuencia sobre los que el sistema puede ser hecho diagonal dominante con ayudav de un
preciompensador diagonal. Ello es posible en las frecuencias donde la magnitud de los autovalores
de P-F es menor que 2 (6dB).

ETSETB. Sistemas Electrónicos de Control 1314a 170


Tema 5. Control avanzado

Autovalores de Perron-Frobenius
3.5

2.5

MAG dB
2

1.5

0.5
-2 -1 0 1 2
10 10 10 10 10
FREQUENCY

En nuestro caso el autovalor de P-F está por debajo de 6dB en las freqs representadas.

Diseño del controlador K diagonalizador: Miramos el autovector por la izqda.. Lo normalizamos


de forma que la 1ª componente valga 1, y por tanto representamos la 2ª componente en función de
la frecuencia:

Autovector 2 de Perron-Frobenius
20

15

10
MAG dB

-5

-10
-2 -1 0 1 2
10 10 10 10 10
FREQUENCY

Se diseña un compensador de retardo de fase

Autovector 2 de Perron-Frobenius y compensador de retardo


20

15

10
MAG dB

-5

-10
-2 -1 0 1 2
10 10 10 10 10
FREQUENCY

ETSETB. Sistemas Electrónicos de Control 1314a 171


Tema 5. Control avanzado

Se ajusta bastante bien. El precompensador será


K = diag( 1, kd/kn ),
Pero, como estamos trabajando con las respuestas inversas pre-multiplicaremos G-1 por
diag( 1, kn/kd ):

Y verificamos si el sistema resultante Q=GK es dd. Como estamos en INA, lo que representamos
es Q-1=K-1G-1. El sistema es dd puesto que las banda de gershgorin excluyen el origen:

INA: Ampliación:
200 10 20 10
150 0 0
10
100

IMAG

IMAG
IMAG

IMAG

-10 -10
50 0
-20 -20
0 -10
-50 -30 -30
-100 0 100 -1 -0.5 0 0.5 -10 0 10 -1 -0.5 0 0.5
REAL REAL REAL REAL

0 100 0
10

-20 50 -20 5

IMAG

IMAG
IMAG

IMAG

0
-40 0 -40
-5

-60 -50 -60


-5 0 5 -50 0 50 -5 0 5 -4 -2 0 2 4
REAL REAL REAL REAL

Análisis de la estabilidad en lazo cerrado

La estabilidad en lazo cerrado de un sistema se puede analizar con ayuda del INA. Puesto que el
sistema es estable en lazo abierto, será estable con retroacción negativa de ganancia diagonal
D=diag(di) si la banda de Gershgorin asociada a los círculos del elemento i-ésimo del INA no tocan
el segmento del eje real negativo entre el origen y el punto –di.

Los círculos de Ostrowski dan lugar a bandas más estrechas, que se pueden usar para predecir el
comportamiento en lazo cerrado, y se usan de manera análoga al diagrama de Nyquist inverso
(whiteley) en los sistemas siso. Las funciones frost y fcost calculan los círculos de Ostrowski dada
una matriz de retroacción diagonal.

% The Ostrowski bands for the (1,1) element of the INA of GK will
% be plotted for different feedback gains.

% Plotting Ostrowski bands for the (1,1) element of the INA of GK


% for different values of d. The feedback matrix, D = diag([d d]).
% The gains in each loop may be different in general.
% The Ostrowski bands become narrower with increasing feedback gain d.

Las bandas de ostrowski asociadas al elemento 11 del INA de Q para las ganancias d=1,5,10 y 50
(esto es matriz de ganancias [d 0;0 d] aunque el general las ganancias pueden ser diferentes para
cada lazo) son:

ETSETB. Sistemas Electrónicos de Control 1314a 172


Tema 5. Control avanzado

d= 1 d= 5
150 150

100 100
IMAG

IMAG
50 50

0 0
-40 -20 0 20 40 -40 -20 0 20 40
REAL REAL
d = 10 d = 50
150 150

100 100
IMAG

IMAG

50 50

0 0
-40 -20 0 20 40 -40 -20 0 20 40
REAL REAL

Notar que se estrechan a medida que aumenta la ganancia.

Respuesta temporal:
Response to demand on output 1
1

0.5

-0.5
0 0.5 1 1.5

Response to demand on output 2


0.8

0.6

0.4

0.2

0
0 0.5 1 1.5

ETSETB. Sistemas Electrónicos de Control 1314a 173


Tema 5. Control avanzado

3.4 Referencias

(Dutton, 1997) Dutton, K., The Art of Control Engineering, Chapter 10, Addison-Wesley, 1997

(Ford et al., 1990) Ford, M.P., Multivariable Frtequency Domain Toolbox for use in Matlab, GEC,
1990

(Rosenrock, 1974) H.H. Rosenbrock, Computer Aided Control System Design, Academic Press,
1974.

(MacFarlane and Kouvaritakis, 1977) A.G.J. MacFarlane and B. Kouvaritakis, A Design


Technique for Linear Multivariable Feedback Systems, Int. J. Control, 1977, 25 (6), pp. 837-874.

(Mayne, 1979) D.Q. Mayne, Sequential design of Linear Multivariable Systems, Proc. IEE, 1979,
126, pp.568-575.

(Owens, 1978) Owens, D.H., Feedback and Multivariable Systems, Peter Peregrinus, 1978

(Postlethwaite et al., 1981) Postlethwaite, I., “Principal gains and principal phases in the analysis of
multivariable feedback systems”, IEEE T-AC, 26.

(Maciejowski, 1989) J.M. Maciejowski, Multivariable Feedback Design, Addison-Wesley,

(O’Reilly, 1987) J. O’Reilly (ed.), Multivariable Control for Industrial Applications, Peter
Peregrinus, 1987.

(Patel and Munro, 1982)

(Edmunds and Kouvaritakis, 1979)

(Limebeer and Maciejowski, 85)

ETSETB. Sistemas Electrónicos de Control 1314a 174

Das könnte Ihnen auch gefallen