EJEMPLOS DE DCK CON MATLAB

174
7/21/2019 EJEMPLOS DE DCK CON MATLAB http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 1/174  Sistemas Electrónicos de Control Curso 2013/2014-1 Tema 5. Control avanzado Profesora: Rosa Mª Fernández-Cantí

description

Descomposición canónica de Kalman

Transcript of EJEMPLOS DE DCK CON MATLAB

Page 1: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 1/174

 

Sistemas Electrónicos de Control

Curso 2013/2014-1

Tema 5. Control avanzado

Profesora:  Rosa Mª Fernández-Cantí

Page 2: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 2/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 2

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 

Page 3: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 3/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 3

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 

Page 4: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 4/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 4

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: ecuacionesdiferenciales (ED), funciones de transferencia (FT) y ecuaciones de estado (EE). En este tema noscentraremos 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 comoel mínimo conjunto de condiciones iniciales (CI), x(0).

Ecuaciones de estado (EE).

),,(1   t  f  uxx  , ),(2   t  f  xy  : no lineales, variantes, MIMO

uBxAx )()(   t t    , xCy )(t  : lineales, variantes, MIMO

BuAxx   , Cxy  : lineales, invariantes, MIMO

ubAxx   , xct  y  : 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 diferencialesque rigen la dinámica del montaje de la Fig. 1, con los siguientes datos:

 x

 

m

 M 

u

 x

 P 

 

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 loque 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.

Page 5: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 5/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 5

Solución:

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

 

 

cos

sin

l  y

l  x x

G

G

 

Movimiento rotacional de la bola:     cossin   l  H l V  I    , donde H , V  son las componenteshorizontal y vertical de la fuerza medida en el punto P .

Movimiento horizontal de la bola:  H l  xdt 

d m   )sin(

2

2

   

Movimiento vertical de la bola: mg V l dt 

d m   )cos(

2

2

   

Movimiento horizontal del carrito:  H u x M     

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

l  H l V  I          

 H l  xm   )(      

mg V  0  

 H u x M     

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

uml  x M m      )(  

     mgl  xml ml      2  

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

uml  x M m      

)(  

     mgl  xml ml      2  

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      g  xl      . Sustituyéndola en la primera, da

uml l  g  M m           ))((   o, lo que es lo mismo, u Ml  g  M m          )( . Aplicando

Laplace con condiciones iniciales nulas,

Page 6: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 6/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 6

)()()()(2  sU  s g  M m s Mls   ,

se obtiene finalmente:

601.20

1

)(

1

)(

)(22

 s g m M  Mls sU 

 s

 

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 delas ecuaciones diferenciales:

uml  x M m      )(  

     mgl  xml ml      2

 

se pide obtener las ecuaciones de estado tomando como variables de estado a  1 x ,  2 x ,

 x x   3 ,  x x   4 , y como variables de salida a   y x.

Solución:

Por un lado, 21   x x     y 43   x x   . La segunda ecuación del enunciado queda como

1422 mglx xml  xml        o, lo que es lo mismo, 214   xl  gx x     . Sustituyendo ésta en la primera

ecuación del enunciado, u xml  x M m   24)(   , se obtiene u Mgxmgx x Ml    112 . En

definitiva,

000

1000

000

0010)(

 M mg 

 Ml  g m M 

A   ,

 

 

 

 

 M 

 Ml 

1

1

0

0

b   ,

0100

0001C   ,

 

  

 

0

0d  

%pl antaM=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 00 0 0 1. 0000

- 0. 4905 0 0 0

B =

0- 1. 0000

Page 7: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 7/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 7

00. 5000

C =1 0 0 00 0 1 0

D = 00

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 CInulas:

u y

u

DCx

BAxx  ⇒ 

)()()(

)()()0()(

 sU  s sY 

 sU  s s s

DCX

BAXxX 

))()0(()()( 1  sU  s s BxAIX      

           

 state zeroinput  zero

 sU  s s sU  s sY  )()()0()()()()( 11 DBAICxAICDXC      

DBAIC

Φ

x  

)(

1

0)0(

1 )()()()( s

 s sU  sY  s H   

Polos y autovalores

Puesto que DBAIC     1)()(   s s H  , 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 polinomiocaracterí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] ;

>> H=t f ( num, den) ;

>> r oots( den)ans =

- 0. 2500 + 3. 1524i- 0. 2500 - 3. 1524i

>> a=[ 0 1; - 10 - 0. 5] ; b=[ 0; 1] ; c=[ 1 0] ; d=0;

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

>> ei g(a)ans =

- 0. 2500 + 3. 1524i- 0. 2500 - 3. 1524i

Esquema de bloques de la realización de estado

Page 8: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 8/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 8

Puesto que DBAIC     1)()(   s s H  , si suponemos D=0 (que es lo más habitual,

correspondiente a sistemas estrictamente propios), el esquema de bloques de la realización deestado es:

A

B C xu  +

+

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: 24 601.20)(           

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

al f a=pol y(A)al f a =

1. 0000 - 0. 0000 - 20. 6010 0 0

roots ( al f a)ans =

0

04. 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 aotras. Son las formas canónicas y se obtienen aplicando de manera inversa la regla de Mason vistaen 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 caminostoquen también a todos los lazos (pasen también por dicho nodo). Cuando el nodo en común es elnodo de entrada se obtienen las formas controlables y cuando es el de salida las observables.

Considerar la función de transferencia

no

nn

no

nn

on

nn

on

n

 sa sa sa

 sb sb sb

a sa sa s

b sb sb s H 

)1(1

11

)1(1

11

11

1

11

1

1)(

 

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

Page 9: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 9/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 9

Forma companion controlable (FCC)

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

-an-1

-a1

-an-2

-a0

bn-1

b1

bn-2

b0

 s-1

 xn   xn-1   x1 x2

 s-1  s-1

u

1

…..

 

Fig. 3. Forma canónica controlable 

0 1 0

0 1

0 1 1

a a an

 , b 

 

 

 

 

0

0

1

 

c t nb b b   0 1 1

 

Forma companion controlable (FCC) de Matlab

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

-an-1 

-a1 

-an-2 

-a0 

bn-1 

b1 

bn-2 

b0 

 s-   x1   x2   xn  xn-1 

 s-    s-  u 

1

 y

…..

Fig. 4. Forma canónica controlable (matlab) 

 

0100

001021

  aaa   nn

A  ,

 

 

 

 

0

0

1

b  

021   bbb   nnt  c

 

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 A FCO FCC T  , b c FCO FCC 

t    T  , c b FCO

t  FCC T   ):

-an-1 

-a1 

-an-2 

-a0 

bn-1 

b1 

bn-2 

b0 

 s-1  xn  xn-1  x1   xn-2 

 s-1  s-1 u 

1

…..

Fig. 5. Forma canónica observable 

0 0

1

0 1

0

1

1

a

a

an

 , b 

 

 

 

 

b

b

bn

0

1

1

 

c t  0 0 1

 

Page 10: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 10/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 10

Forma canónica diagonal (FCD)

También llamada desacoplada. Se obtiene a partir de la descomposición de  H ( s) en suma defracciones simples. Requiere el cálculo de polos y residuos.

n

n

on

nn

on

n

 s

c

 s

c

 s

c

a sa sa s

b sb sb s H 

     

2

2

1

1

11

1

11

1)(  

cn 

c1 

b0 

1

 2 

 s-1

 1 

 s-1

1

1

c2 

…   …

 n 

 s-1

 

Fig. 6. Forma canónica diagonal 

 

 

 

1

2

0 0

0

0

0 0

  n

 , b n  

 

 

 

 

1

1

1

 

c nt 

nc c c 1 2  

 

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 defracciones simples,

n

mn

on

nn

on

n

 s

 z s

 s

 z sb

a sa sa s

b sb sb s H 

    

 

2

11

11

1

11

1 )()(  

1

1

 

 s

bm...

n

m

 s

 z s

 

 

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 deestado 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 b   u  

 y   t  c x  

- Cambio general de variables: x x  

Page 11: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 11/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 11

- Transformación: x Tx    

- Sistema transformado:     x Ax b   u  

 y   t    c x  

donde A T AT  1

, b T b  1

 y c c Tt t 

 

La matriz de paso T debe ser una matriz unitaria, T*T=I, TT*=I, y su valor será distinto según seala 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 nmmmM   21  

la matriz modal formada por columnas de autovectores por la derecha (right eigenvectors,

iii uAu     , por lo que también se denota por nuuU   1 ). También es posible formar la

matriz modal por filas (left modal matrix:

t n

v

v

V  

1

), cuyas filas son los autovectores por la

izquierda t iv , T 

iiT i vAv     .

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

Casos especiales: Si A es companion con autovalores distintos entonces M es una matriz de Vander 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 W   c , siendo Mc  la matriz de controlabilidad y W la matriz de Toëplitz obtenida a partir del polinomio característico del sistema.

Expresión de Mc : M b Ab A bcn   1 , siendo n el número de estados.

Obtención de W a partir de  ( )  n

nna a a1

11 0 : W 

a a

a

n

n

1 1

1

11 0

1 0 0

 

Conversión a forma canónica observable

La matriz que realiza la transformación es T WM 

o

1, siendo Mo  la matriz de observabilidad y

W la misma matriz de Toëplitz presentada en el apartado anterior.

Page 12: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 12/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 12

Expresión de Mo : M

c

c A

c A

0

1

t n

, siendo n el número de estados.

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

34

2)(

2

 s s

 s s H   

Se pide:

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

num=[ 1 2] ;den=[ 1 4 3] ;di sp( ' FCC mat l ab' )[ a, b, c, d] =t f 2ss( num, den)

FCC (MATLAB): 210

1

01

34

 

  

 

    t 

cM cM cM  c;b;A  

 s-1   s-1 

-4 

-3 

 y 

 x2 1 x   21   x x    

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

di sp ( ' FCC t eor i a' )a=r ot 90( a, 2) , b=f l i pud( b) , c=f l i pl r ( c),

FCC (teoría): 12

1

0

43

10

 

 

 

 

  t ccc c;b;A  

 s-1   s-1 

-4 

-3 

u   y 

 x1 2 x 21   x x  

 

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

similaridad xTx ˆ , WMT c . (Matlab: ctrb, poly, inv)

Page 13: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 13/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 13

di sp( ' FCC t oepl i t z ' )Mc=ct r b( a, b) ;pol =pol y(a) ;W=[ pol ( 2) 1; 1 0] ;

 T=Mc*W;aFCC=i nv( T) *a*T

bFCC=i nv(T) *bcFCC=c*T

FCC: 121

0

43

10

 

  

 

  t ccc c;b;A  

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

similaridad x Tx   , T WM   ( )o1. (Matlab: obsv, poly, inv)

di sp( ' FCO t oepl i t z ' )Mo=obsv( a, c) ;

 T=i nv( W*Mo) ' ;

aFCO=i nv(T) *a*TbFCO=i nv(T) *bcFCO=c*T

FCO: 101

2

41

30

 

  

 

  t 

ooo c;b;A  

 s-1   s-1 

-4 

-3 

u   y 

1 2 

 x2 1 x 12   x x  

 

5) Obtener su forma canónica en cascada

3

2

1

1

34

2)( 2

 s

 s

 s s s

 s s H   

  u y

u

 

  

 

021

0

1

31

01

x

xx 

 s-1 

-1 

u   y 

2 1 

 x1 1 x   2 x    s-1 

-3 

 x2 1  1 

6) Obtener su forma canónica diagonal

3

5.0

1

5.0

34

2)( 2

 s s s s

 s s H   

Page 14: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 14/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 14

  u y

u

 

  

 

05.05.0

1

1

30

01

x

xx 

 s-1 

-1 

u   y 

0.5 1  x1 1 x  

2 x   s-1 

-3 

 x2 0.5 

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

011

212

425

A   ;

11

13

11

B   ;

001

213C  

Se pide:1)  Convertir las matrices A, B y C  a la Forma Canónica Diagonal (Nota: Calcularla a través dex 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) ;%di agonal obt eni endo T[ T, D] =ei g( a) ,an=i nv( T) *a*Tbn=i nv( T) *bcn=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 00 0 2. 0000

an =3. 0000 - 0. 0000 - 0. 0000

- 0. 0000 1. 0000 - 0. 00000. 0000 0. 0000 2. 0000

bn =- 1. 4142 1. 41420. 0000 0. 0000

- 2. 2361 - 2. 2361

cn =- 1. 4142 0. 7071 0. 00000. 7071 - 0. 7071 - 0. 0000

Page 15: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 15/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 15

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

%di agonal canonFCD=canon( ss( a, b, c, d) , ' modal ' )

a =x1 x2 x3

x1 3 0 0x2 0 1 0x3 0 0 2

b =u1 u2

x1 - 1. 414 1. 414x2 5. 024e- 015 4. 082e- 015x3 - 2. 236 -2. 236

c =x1 x2 x3

y1 - 1. 414 0. 7071 4. 552e- 015y2 0. 7071 - 0. 7071 - 2. 913e- 015

d =u1 u2

y1 0 0y2 0 0

Cont i nuous- t i me model .

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

 Nota: La transformación es xTx ˆ , 21 TTT    

c

c

AAAA

012 , siendo T1 una submatriz

con nn   1  columnas linealmente independientes de cM  y el resto (T2) columnas arbitrarias que

no hagan singular la matriz T. La función ctrbf  de matlab da como resultado

c

c

AA

AA

21

0.

%FCCK[ aa, bb, cc, T, k] =ctr bf ( a, b, c);aa =

1. 0000 - 0. 0000 0. 0000- 5. 8424 2. 8000 - 0. 16332. 6833 - 0. 9798 2. 2000

bb =- 0. 0000 - 0. 00000. 4472 - 1. 3416

- 3. 2863 - 1. 0954

cc =- 3. 2660 1. 7889 - 0. 36510. 4082 - 0. 8944 0. 1826

 T =- 0. 4082 0. 4082 0. 81650. 8944 - 0. 0000 0. 4472

- 0. 1826 - 0. 9129 0. 3651

k =2 0 0

Page 16: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 16/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 16

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 lasuperposició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íaalmacenada en él en el instante 0, es decir, debida únicamente a las condiciones inicialesx(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 

BuAxx    )()()0()(   s s s s BUAXxX    

)()0()()(   s s s BUxXAI    

)()0()()( 1  s s s BUxAIX      

     ZS 

t  t 

 ZI 

t  d eet    0

)( )()0()(       Buxx AA  

A la matriz 1)()(   AIΦ   s s   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: at ea s   )/(1 ).

Así, la transformada inversa es t et  A)(   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 t eΛ  también será diagonal) y, después, volvemos a aplicar la transformación modal inversa: Sabemosque x = Mz, siendo M la matriz modal,

BuAMzzM    

uBΛzBuMAMzMz n   11   con )0()0( 1xMz    

        d eet    nt t  )()0()( )( uBzz   ΛΛ  

Cálculo de la matriz de transición

Para calcular la matriz e   t A  hay diversas opciones:

a) Laplace: 11 )(   AIA  s Le   t    y obteniendo )( sΦ   tanto matricialmente como

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

Page 17: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 17/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 17

!2

22T T e   T 

AAIA

A  

  BBAABIABBA T T ed e   T T 

d   

    11

0    

c) Cayley-Hamilton (posibilita reducir la serie !2

22t t e   t  A

AIA  a un polinomio)

c.1) Polinomio: 1110

  n

nt e AAI

A       

c.2) Cálculo de los coeficientes: 11111

1     n

not e        

   

...1

11

  nnnno

t ne           

d) Desarrollo de Sylvester

d.1) Polinomio: e et t 

ii

niA F

   

1

 

d.2) Cálculo de los coeficientes: FA I

i j

i j j j i

n

 

   

 1( )

 

Ejemplo 7. Cálculo de la matriz de transición. Calcular la matriz de transición del siguientesistema por diferentes métodos:

  u y

u

 

 

 

 

001

1

0

32

10

x

xx 

Solución:

Primer método: Por Laplace

Matriz resolvente calculada matricialmente:

23

2

13

)(

2

13

31

223

32

10)()(

2

21

1

 s s

 s

 s

 s

 s

 s

 s

 s s s

 s s   ΦAIΦ  

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

2

)1(

1

2

23

3)(

211

 s s s s

 s s   ,

2

)1(

1

1

23

1)(

212

 s s s s

 s  

2

2

1

)2(

23

)2()(

221

 s s s s s   ,

2

2

1

)1(

23

1)(

222

 s s s s

 s  

Transformada inversa de cada término:

Page 18: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 18/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 18

t t t t 

t t t t t 

eeee

eeeee

22

22

222

2A  

Segundo método: Cayley-Hamilton

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

210

11010

2

1

   

     

 

 

t t 

e

ee AIA  

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

10

102 2

  

  t 

e

et t t t  eeee 2

112

1 2         

t t t t t  eeeee 2220 222      

        t t  ee

t t t t t t 

t t t t 

t eeeeee

eeeee

22

222

22

10 33222

2AI

A    

Ejemplo 8. Simulación de respuestas ZI y ZS. Considerar de nuevo el péndulo simple del Tema1,

105.0

11

)(

)()(

22

 s s s s sU 

 s s H 

    

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 simulandoes sólo la respuesta ZS (recordar que la función de transferencia implicaba CI nulas):

>> H=t f ( 1, [ 1 0. 5 10] )

 Transf er f unct i on:1

- - - - - - - - - - - - - - - - - - - - -s 2̂ + 0. 5 s + 10

>> st ep(H)>>

0 5 10 15 20 250

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18Step Response

Time (sec)

   A  m  p   l   i   t  u   d  e

 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:

Page 19: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 19/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 19

  u x

 x y

u x

 x

 x

 x

001

1

010

2

1

2

1

2

1

 

  

 

 

  

 

 

  

    

 

Para el caso  =10,  =0.5, las siguientes figuras muestran respectivamente la respuesta  zero input  a

condiciones iniciales T 2.02.0)0(   x  y la respuesta zero state:

>> a=[ 0 1; - 10 - 0. 5] ;>> b=[ 0; 1] ;>> c=[ 1 0] ;>> d=0;

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

>> x0=[ 0. 2; - 0. 2] ;>> [ y, t , x] =i ni t i al ( H, x0) ;>> pl ot ( t , x)

0 5 10 15 20 25-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

 >> a=[ 0 1; - 10 - 0. 5] ;>> b=[ 0; 1] ;>> c=[ 1 0] ;>> d=0;

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

>> [ y, t , x]=st ep( H) ;>> pl ot ( t , x)

0 5 10 15 20 25-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

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

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

>> a=[ 0 1; - 10 - 0. 5] ;>> b=[ 0; 1] ;>> c=[ 1 0] ;>> d=0;

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

>> x0=[ 0. 2; - 0. 2] ;

>> t =l i nspace(0, 25, 200) ;>> u=ones(si ze(t ) ) ;>> [ y, t , x] =l si m( H, u, t , x0) ;>> pl ot ( t , x)

0 5 10 15 20 25-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

Page 20: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 20/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 20

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

34

2)(

2

 s s

 s s H   

se trata de obtener su respuesta temporal: Las respuestas ZI, ZS y ZI+ZS del sistema con excitación

escalón unitario y condiciones iniciales  

  

 

1

1)0(x . La descripción en EE es

  u y

u

 

  

 

012

1

0

43

10

x

xx

 

En primer lugar se calcula la respuesta zero-input tomando como condiciones iniciales (CI) a

1)0(1    x  y 1)0(2    x . (Matlab: tf2ss, initial, ss, plot, title, xlabel):

num=[ 1 2] ; den=[ 1 4 3] ; [ a, b, c, d] =t f 2ss( num, den) ; x0=[ 1 1] ' ;%zer o i nputf i gure(1) , [ y, t , x]=i ni t i al ( s s(a, b, c, d) , x0) ;pl ot ( t , y, t , x, ' - - ' ) , t i t l e( ' zer o i nput ' ) , xl abel ( ' t ' ) ,

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

-0.5

0

0.5

1

1.5

2

2.5

3zero input

tiempo  

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

%zero st ate a escal on uni t ari of i gure(2) , [ y2, t , x2] =step( ss( a, b, c, d) , t , x0*0) ;pl ot ( t , y2, t , x2, ' - - ' ) , t i t l e( ' zer o st at e' ) , xl abel ( ' t ' ) ,

0 1 2 3 4 5 6 70

0.1

0.2

0.3

0.4

0.5

0.6

0.7zero state

tiempo  

Page 21: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 21/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 21

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

%t otalf i gur e( 3) , [ y3, t , x3] =l si m( ss(a, b, c, d) , t *0+1, t , x0) ;

pl ot ( t , y3, t , x3, ' - - ' ) , t i t l e( ' t ot al ' ) , xl abel ( ' t ' ) ,

0 1 2 3 4 5 6 7-0.5

0

0.5

1

1.5

2

2.5

3

3.5total

tiempo  

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

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

%pl ano de est adof i gure(4)f or x1=- 1: 0. 25: 1

f or x2=- 1: 0. 25: 1[y, t , x]=i ni t i al ( s s(a, b, c, d) , [ x1; x2] ) ;pl ot ( x( : , 1) , x( : , 2) ) , hol d on

endendaxi s([ - 1 1 - 1 1] ) , t i t l e( ' Pl ano de f ase' )xl abel ( ' x_1' ) , yl abel ( ' x_2' )hol d of f

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

Page 22: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 22/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 22

Se pide obtener la respuesta zero input a T 0001.00 x . Representar por separado cada

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 =l i nspace( 0, 0. 8) ;>> [y , t , x]=i ni t i al (ss (a, b, c, d) , x0, t ) ;>> pl ot ( t , x)>> xl abel ( ' t i empo' ) , t i t l e( ' pl ant a si n cont rol ' )>> l egend( ' \ theta ' , ' d\ theta/dt ' , ' x' , ' dx/ dt ' , ' Locat i on' , ' Best ' )

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8-1

0

1

2

3

4

5

6

7

8

9

tiempo

planta sin control

 

d/dt

x

dx/dt

 

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. Porejemplo se pueden usar las matrices de controlabilidad y observabilidad:

Page 23: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 23/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 23

  Criterio de controlabilidad: Un sistema es totalmente controlable si el rango de su matriz decontrolabilidad Mc  es igual al número de estados n.

M b Ab A bcn   1  

  Criterio de observabilidad: Un sistema es totalmente observable si el rango de su matriz deobservabilidad Mo es igual al número de estados n.

M

c

c A

c A

0

1

t n

 

Aparte de las matrices Mc y Mo también se puede estudiar la controlabilidad y observabilidad pormedio de los Gramianos, por medio de la forma canónica diagonal y por medio de ladescomposición de Kalman.

Propiedades

Dualidad: La controlabilidad del sistema A b c1 1 1, ,   t   es equivalente a la observabilidad del

sistema A A b c c b2 1 2 1 2 1 T t    T  t T , , .

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 laobservabilidad de la planta.

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

Dado el sistema definido por las siguientes matrices:

A b c

 

 

 

 

2 8 0 0

0 3 6 00 0 4 0

0 0 0 5

1

10

0

0 1 1 0, ,   t   

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

Se pide:

1) Calcular la matriz de controlabilidad bAAbbM 1   nc   , 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] ' ;

Page 24: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 24/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 24

c=[ 0 1 1 0] ;mc=ct r b( a, b) , r c=r ank( mc)

M c c

1 10 44 160

1 3 9 27

0 0 0 00 0 0 0

2     No controlable

2)  Calcular la matriz de observabilidadM

c

c A

c A

o

t n

1

, determinar por inspección su rango e

interpretar el resultado. (Matlab: obsv, rank)

mo=obsv( a, c) , r o=r ank( mo)

Mo o

0 1 1 0

0 3 10 0

0 9 58 0

0 27 286 0

2     No observable

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 ' )

FCD

2 0 0 0

0 3 0 0

0 0 4 0

0 0 0 5

  , b n 

 

 

 

 

7

8 06

0

0

.    Los modos 4 y -5 no son controlables

c nt  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.

Page 25: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 25/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 25

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

Solución:

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

Mc=ct r b(A, B)r ank( Mc)

Mc =0 - 1. 0000 0 - 20. 6010

- 1. 0000 0 - 20. 6010 00 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= .r ank( obsv( a, c(1, : ) ) )ans =

2

r ank( obsv( a, c(2, : ) ) )ans =

4

1.1.6 Análisis de estabilidad (Lyapunov)

Segundo método de Lyapunov

Función de Lyapunov: V    t ( )x x Px , forma cuadrática definida positiva.( ) ( )V    T T x x A P PA x , forma cuadrática definida negativa.

Criterio de estabilidad. Método:1) Plantear la ecuación A P PA IT  .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 nn) 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

Page 26: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 26/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 26

 H s  s

 s s( ) 

 

2

4 32 

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 conlos polos de  H s( ). (Matlab: roots, tf2ss, canon, ssdata, eig)

num=[ 1 2] ; den=[ 1 4 3] ;%pol os=r oot s( [ 1 4 3] )%FCD=canon( t f ( num, den) , ' modal ' ) ; [ a, b, c, d] =ssdat a(FCD) ,aut oval =ei g( a)%

[ a, b, c, d] =t f 2ss( num, den) ;aut oval =ei g( a)

Autovalores:  1 21 3 y  

A partir de la matriz del sistema correspondiente a la Forma Companion Controlable, resolvemos laecuación de Lyapuov (A P PA IT  ) y determinamos el signo de la forma cuadrática cuya matrizde coeficientes es P, mediante el criterio de Sylvester. (Matlab: lyap, eye, det)

p=l yap( a' , eye( 2) )p11=p(1, 1)det P=det ( p)i f ( p11>0) & ( det P>0) , di sp( ' establ e' ) , el se, ( ' i nestabl e' ) , end

Segundo método de Lyapunov:

Solución:

1667.11667.0

1667.01667.0P  

Signos: 01667.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 haydentro del sistema (cosa que sí hacen las EE) y por ello puede dar problemas. Veámoslo con unejemplo:

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

Page 27: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 27/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 27

  u y

u

 

  

 

001

1

1

10

03

x

xx 

Solución:

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

>> i mpul se( ss(a, b, c, d) ) >> [ y, t , x] =i mpul se( ss(a, b, c, d) ) ; pl ot ( t , x)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Impulse Response

Time (sec)

   A  m

  p   l   i   t  u   d  e

0 0.5 1 1.5 20

1

2

3

4

5

6

7

 

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

Vamos a obtener la función de transferencia de este sistema:Hay que aplicar esta fórmula: bAIc     1)()(   s s H   

En primer lugar calculamos la matriz resolvente ( s):

10

03)(

 s

 s s AI   ⇒ 

10

03

 s

 s  ⇒

30

01

 s

 s  ⇒

)(

30

01

)( 1

 s

 s

 s

 s 

  AI  

donde el polinomio característico es )1)(3()(     s s s  .

Así,

3

1

)1)(3(

1

)(

1

)(

3

101

1

1

)(

30

01

01)(

 

  

 

 

  

 

 s s s

 s

 s

 s

 s

 s

 s

 s

 s

 s

 s H    

 

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 lasalida:

Page 28: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 28/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 28

 s-1 

-3 

u   y 

1 1 

 x1 1 x

2 x   s-1 

+1 

 x2 

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 obtenergenerales (NL, MIMO, CI)describen con mucho detalle la dinámicano son adecuados para el diseño de controladores

FT: modelo sencillo polosadecuado para análisis cuantitativo rápidoadecuado para diseño de controladoreslimitados a SISO, LTI, CI nulasal ser una descripción E/S se pierde información interna

EE: modelo de EDs de 1er ordenautovaloresgenerales (NL, MIMO, CI)la realización en EE no es única permiten el análisis por simulación numéricaadecuados para el diseño de controladores (por ordenador)contiene información sobre la estructura interna del sistema

Page 29: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 29/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 29

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   t  c x  

2)  Objetivo del control: Suponiendo que se ha producido una perturbación de las condiciones

iniciales x x( )0 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. Enresumen, se trata de cambiar  ( )  por  c ( ) .

Solución del problema

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

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

3)  Esquema de bloques

A

b ct  

k ct 

xu 

+

+

 

Fig. 8.  Retroacción de las variables de estado

4)  Métodos de cálculo del vector de ganancias: El vector t ck    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   ct 

c ( )  

c) Utilizando la fórmula de Ackermann: k M Act 

c c 0 0 1 1     ( )  

d) Utilizando la fórmula de Bass-Gura:   k a a M Wct 

c

c   1

 donde los coeficientes

del vector a    a a an

0 1 1   se toman del polinomio característico de la planta

 ( )  n

nna a a1

11 0 , 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 x

  c

  y   t  c x   donde se suele definir A A bk  c ct   

Page 30: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 30/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 30

Comentarios

1)  Unicidad de la solución: En el caso MIMO la solución (K ) no es única. El MATLAB resuelveeste problema con la instrucción  place. La no unicidad, lejos de ser un inconveniente, puedeser una ventaja al permitir fijar y obtener objetivos adicionales.

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

Equivalencia (caso SISO):   H s  U s

Y s

 s

 s

 s U s

 s U s

 s

 seq

t ( )

( )

( )

( )

( )

( ) ( )

( ) ( )

( )

( )

 

k X

c X

k b

c b

k b

c b

 

u

uc

G( s)

t k   

u

uc

G( s)

 H eq( s) 

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

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

bΦk bΦk Xk 

)()(

)()(

)(

)(

)(

)()(   s

 sU 

 sU  s

 sU 

 s

 sU 

 sU  s L   t 

t t c  

Ejemplo 15. Regulador del estado.  Cálculo de la matriz de ganancias. Considerar la planta

10

1)(

2

 s s

 sG  

Se pide obtener por varios métodos el vector de ganancias de estado que consigue las

especificaciones dadas por5.0

(...))( 2

 s s

 s M  . Comprobar el resultado representando las

respuestas indiciales de la planta y el servo

Solución:

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

  u y

u

 

  

 

001

1

0

01

10

x

xx 

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

Page 31: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 31/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 31

01

10A   ,

15.0

10cA  

Primer método: Por simple inspección:

 

  

 

21

00

211

0

01

10

15.0

10

k k 

c

c

k k 

k bAA

 

211

10

15.0

10

k k   ⇒  15.1ck   

Segundo método: Fórmula de Ackermann (matlab)>> a=[ 0 1; 1 0] ; b=[ 0; 1] ;>> kc=acker ( a, b, r oot s( [ 1 1 0. 5] ) )kc =

1. 5000 1. 0000

Cálculo de los polos y de las respuestas indiciales

%Pl ant a>> P=ss( a, b, c, d) ;>> st ep( P) ,

>> pol os_pl ant a=ei g(a)pol os_pl ant a =

- 11

%Ser vo>> ac=a- b*kc;>> M=ss( ac, b, c, d) ;>> st ep( M) ,>> pol os_servo=ei g(ac)pol os_servo =

- 0. 5000 + 0. 5000i- 0. 5000 - 0. 5000i

0 1 2 3 4 5 6 7 8-1500

-1000

-500

0Planta sin control

Time (sec)

   A  m  p   l   i   t  u   d  e

0 2 4 6 8 10 12-2.5

-2

-1.5

-1

-0.5

0Planta con regulador de estado

Tiempo (s) (sec)

   A  m  p   l   i   t  u   d  e

 

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

El problema: Se desea que el péndulo recupere la verticalidad en presencia de perturbaciones talescomo un golpe de viento actuando sobre la masa m o una fuerza inesperada sobre el carrito dondeestá 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. Alfinal del proceso se desea situar de nuevo al cochecillo en su posición de referencia  x  = 0. Lasespecificaciones piden que el proceso sea rápido (un tiempo de establecimiento de unos 2 segundos)y que el amortiguamiento sea razonable.

Se pide:

Page 32: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 32/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 32

1)  Especificaciones: Para tener 2 st    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 afectena la dinámica nominal. Indicar cuáles son los polos especificados y construir el polinomiocaracterístico deseado.2)  Obtener la ganancia de la retroacción de estados k c con ayuda de la función acker.

3)  Obtener las matrices del sistema regulado. Comprobar el valor del polinomio característico ylos autovalores.

4)  Representar la evolución de los cuatro estados a T 0001.00 x   y a

.02.002.00T x   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 casoanterior y extraer conclusiones acerca de la velocidad y sensibilidad de ambos diseños.

Solución:

1) Polos deseados. Polinomio característico deseado:

160072019624)( 234         c  

z=0. 5; wn=4;p1=- z*wn+j *wn*sqr t ( 1- z 2̂)p2=conj ( p1)p3=- 10p4=- 10[ nu, al f a_c]=zp2t f ( [ ] , [ p1 p2 p3 p4] , 1) ; al f a_c

p1 =  - 2. 0000 + 3. 4641ip2 =

  - 2. 0000 - 3. 4641ip3 =  - 10p4 =  - 10

al pha_c =  1. 0e+003 *

0. 0010 0. 0240 0. 1960 0. 7200 1. 6000

2) Ganancia de la retroacción de estados

%gananci a de l a ret r oacci on de est adoskc=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

%si st ema en l azo cer r adoAc=A- B*kc

pol _caract =pol y(Ac)aut oval =ei g(Ac)

Ac =  0 1. 0000 0 0- 277. 5494 - 60. 6972 - 163. 0989 - 73. 3945

0 0 0 1. 0000148. 5847 30. 3486 81. 5494 36. 6972

Page 33: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 33/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 33

pol _car act =  1. 0e+003 *

0. 0010 0. 0240 0. 1960 0. 7200 1. 6000

aut oval =  - 10. 0000 + 0. 0000i- 10. 0000 - 0. 0000i- 2. 0000 + 3. 4641i

- 2. 0000 - 3. 4641i

>> t =l i nspace( 0, 1) ;>>x0=[ 0. 1 0 0 0] ;>> [y, t , x]=i ni t i al ( s s(ac, b, c ,d) , x0, t ) ;>> pl ot ( t , x)

0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

tiempo

regulador del estado

 

d/dt

x

dx/dt

 

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

t =l i nspace( 0, 3) ;x0=[ 0. 1 0 0 0] ;[y , x, t ] =i ni t i al (Ac,B, C, D, x0, t ) ;u=kc*x' ;f i gure(3)pl ot( t , u) , t i t l e( ' esf uerzo de cont rol ' ) , hol d onh=f i gur e( 2) ;subpl ot( 221), pl ot (t , x( : , 1)) , t i t l e( ' x_1: posi c angul ar bol a' ) , hol d onsubpl ot( 222), pl ot (t , x( : , 2)) , t i t l e( ' x_2: vel oc angul ar bol a' ) , hol d onsubpl ot ( 223) , pl ot ( t , x( : , 3) ) , t i t l e( ' x_3: pos i c l i neal car t ' ) , hol d onsubpl ot ( 224) , pl ot ( t , x( : , 4) ) , t i t l e( ' x_4: vel oc l i neal car t ' ) , hol d onset ( h, ' name' , ' Regul ador de estados' , ' numbert i t l e' , ' of f ' )

x0=[ 0. 2 0 0. 2 0] ;[y , x, t ] =i ni t i al (Ac,B, C, D, x0, t ) ;

u=kc*x' ;h=f i gur e( 2) ;subpl ot ( 221) , pl ot ( t , x( : , 1) , ' g' ) ,subpl ot ( 222) , pl ot ( t , x( : , 2) , ' g' ) ,subpl ot ( 223) , pl ot ( t , x( : , 3) , ' g' ) ,subpl ot ( 224) , pl ot ( t , x( : , 4) , ' g' ) ,f i gure(3)pl ot ( t , u, ' g' )

Page 34: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 34/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 34

1.2.2 Observador del estado

Formulación del problema

1)  Planta: x Ax b   u   , CI: x x( )0 0  desconocidas ,  ( )  de grado n 

 y   t  c x  

2)  Objetivo: Hallar una estimación asintótica del estado, ( ) ( )x xt 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 no( )M    

2)  Estimador:

  x Ax b k ( ) u y yo  

xc ˆˆ   t  y   

3)  Esquema de bloques:

Page 35: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 35/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 35

A

b ct  

k o

xu 

+

+

A

b ct  xu   y+

+

+

+

x

 

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 c ot 

o ( ) .

c) Utilizando la fórmula de Ackermann: k A Mo o o

 

 

 

 

  ( ) 1

0

0

1

.

d) Utilizando la fórmula de Bass-Gura:   k WM a ao o o 1

 

e) Por dualidad. Resolver un problema de observabilidad para (A, ct ) es equivalente aresolver un problema de controlabilidad para (A

T , b).

5)  Sistema global

 

x

x

A

k c A k c

x

x

b

b

  

    

  

    

   

   

0

ot 

ot    u  

 y

 y

 

 

 

  

 

 

 

 

 

c

c

x

x

0

0  donde se suele definir: A A k co o

t   

Ejemplo 17.  Observador del estado. Cálculo del vector de ganancias. Considerar la planta:

43

1)(

2

 s s s P   

cuyos polos son 33.15.12

75.12,1   j j p   . Se pide estimar sus estados con una dinámica

del observador dada por dos polos en -15.

Solución:

>> [ a, b, c, d] =t f 2ss( 1, [ 1 3 4] ) ;

Page 36: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 36/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 36

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

14027

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 =l i nspace( 0, 1) ;[y , t , x]=i ni t i al (ss (ao, bo, co, do) , x0, t ) ;subpl ot ( 211) , pl ot ( t , x( : , [1 3] ) ) ,subpl ot ( 212) , pl ot ( t , x( : , [2 4] ) ) ,

0 0.2 0.4 0.6 0.8 1-5

0

5

10

15Observador del estado

Tiempo (s)

 

x1

x3 (x

1 estimado)

0 0.2 0.4 0.6 0.8 10

1

2

3

4

5

Tiempo (s)

 

x2

x4 (x

2 estimado)

 

Page 37: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 37/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 37

1.2.3 Regulador basado en observador. Compensador

Formulación del problema

1)  Planta: x Ax b   u   , CI: x x( )0 0   ,  ( ) de grado n 

 y   t  c x  

2)  Objetivo: Cambiar  ( )  por  c ( )  mediante la retroacción de una estimación asintótica del

estado, ( ) ( )x xt t  , con dinámica  o ( ) .

Solución del problema

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

rango rango nc o( ) ( )M M  2) Estimador:

- Estructura:   x Ax b k ( ) u y yo  

xc ˆˆ   t  y   

- Métodos de cálculo del parámetro k o : ver apartado correspondiente

3) Ley de control:

- Estructura: u t t ct ( )   ( ) k x  

- Métodos de cálculo del parámetro k ct 

: ver apartado correspondiente

A

b ct  

k o

xu 

+

+

A

b ct  xu   y+

+

+

+

x

k ct 

-

uc 

Fig. 11.  Regulador de estado basado en observador

4)  Sistema global (metasistema)

Page 38: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 38/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 38

 

x

x

A bk 

k c A bk k c

x

x

b

b

 

 

 

  

 

 

 

 

  

  

 

 

 c

ot 

ct 

ot    u  

 y

 y

 

 

 

  

 

 

 

 

 

c

c

x

x

0

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 .

3)  La función de transferencia global es la misma:  M s  N s s

 s s N s

 so

c o c

( )( ) ( )( ) ( )

( )( )

 

  (los modos del

observador no son controlables).

4)  Ganancia del lazo (Mason):  L s s sct 

ct 

ot 

o( ) ( ( ) ) ( ) k bk k c k c b

1 1  

Ejemplo 18. Regulador de estado basado en observador del péndulo con carrito. Se deseaestabilizar 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= perosí 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] =ss2t f ( a, b, c( 1, : ) , d( 1) ) ; H=t f ( num, den)pol os=ei g( a)

ctr l abl e=r ank( ctr b( a, b) )

obsvabl e_desde_t heta=r ank( obsv( a, c( 1, : ) ) )obsvabl e_desde_t het a =

2

obsvabl e_desde_x=r ank( obsv( a, c( 2, : ) ) )obsvabl e_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):

Page 39: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 39/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 39

p=- 2+j *4*sqr t ( 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 zer os( 1, 4) ] ' ;t =l i nspace( 0, 4) ;[y , t , x]=i ni t i al (ss (ac, bc, cc, dc) , x0, t ) ;f i gur epl ot ( t , x) , xl abel ( ' Ti empo ( s) ' ) ,t i t l e ( ' Regul ador del est ado del péndul o/ carr i t o basado en observador' )

0 0.5 1 1.5 2 2.5 3 3.5 4-1.5

-1

-0.5

0

0.5

1

1.5

Tiempo (s)

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

 

f i gur esubpl ot ( 221) , pl ot ( t , x( : , [1 5] ) ) , t i t l e( ' x_1, x_5' ) , xl abel ( ' Ti empo ( s) ' ) ,

subpl ot ( 222) , pl ot ( t , x( : , [2 6] ) ) , t i t l e( ' x_2, x_6' ) , xl abel ( ' Ti empo ( s) ' ) ,subpl ot ( 223) , pl ot ( t , x( : , [3 7] ) ) , t i t l e( ' x_3, x_7' ) , xl abel ( ' Ti empo ( s) ' ) ,subpl ot ( 224) , pl ot ( t , x( : , [4 8] ) ) , t i t l e( ' x_4, x_8' ) , xl abel ( ' Ti empo ( s) ' ) ,

0 1 2 3 4-0.4

-0.2

0

0.2

0.4

x1, x

5

Tiempo (s)

0 1 2 3 4-2

-1

0

1

2

x2, x

6

Tiempo (s)

0 1 2 3 4-0.2

-0.1

0

0.1

0.2x3, x7

Tiempo (s)

0 1 2 3 4-1

-0.5

0

0.5

1x4, x8

Tiempo (s) 

Page 40: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 40/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 40

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 ( x0) yllevarlas 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 serequiere una compensación dinámica). Para calcular dicho vector de ganancias k   existen dosenfoques:

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 obligaa generar señales de control u t ( ) elevadas que requieren actuadores de gran capacidad. Todo ellose traduce en consumo y costes. El control óptimo evita este problema pues su solución genera uncompromiso 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 adecuadaal 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 haydefiniciones mejores que la indicada, la idea a retener es que el concepto de óptimo es altamentesubjetivo. Así, los diseñadores tienen ideas preconcebidas, basadas en su experiencia, de lo que esun diseño “óptimo” pero, en general, les resulta difícil expresarlo de forma clara y concisa. Visto loanterior, no es de extrañar que al evaluar el comportamiento de un sistema de control se utilicendiversos criterios, y aunque algunos son más aplicables que otros, ninguno lo es de un modouniversal. Por ejemplo:

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

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

Estos ejemplos sirven para ilustrar que, en esencia, los principios del diseño óptimo (maximizar ominimizar 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 hagamosaparecer 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 .

Page 41: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 41/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 41

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 x u   f t  , hallar la señal de control )(u   t opt   óptima en el sentidode que minimiza la función de coste

 J L t dt t 

i

 f 

( , , )x u  

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 linealcon 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 retorneal origen de manera que se minimice el criterio cuadrático:

 J dt T T  ( )x Qx u Ru0

 

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 sistemaevolucione de un estado inicial a otro final minimizando el tiempo requerido en la transición. Lasituació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 dt t t  f t 

t  f  ( )1 0

0

  (habitualmente t 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 tipou 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: ))(()(   t  f  sign M t uopt  , con  f (t ) una función adeterminar.

Formulación:1) Planta: ( )x Ax Bu x 0 t 0  

2) Objetivo: min J dt  t 

t  f  ( )

0

1  

con x 0( )t  f     

3) Restricción: u t M ( )   

Page 42: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 42/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 42

Solución:

1) Hamiltoniano BuAx  T T      1H    

2) Co-estados   AT  

Solucionando el sistema:

 

 

1 1

 f t 

 f t n n

( )

( )

familia de curvas 

Aplicando las condiciones de contorno:x x

u

0( )0  

 

 M det. constantes 

3) Solución: u Bo T ot M sign( ) ( )     , donde  o   son las soluciones anteriores

(Nota: cuando se produce una conmutación se han de recalcular las constantes de la familia decurvas 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 salidaa la entrada mediante un criterio preestablecido. Naturalmente, ajustar la respuesta indicial alescaló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  yk  p .

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ácticalos problemas no encajan necesariamente en la función ISE. Y en los casos en que puede seraplicable, la solución resulta trivial.

La introducción de realismo en estos problemas supone la inclusión de restricciones. En estos casosla solución no es ni trivial ni obvia. La restricción consiste generalmente en que la integral delcuadrado de cierta magnitud se mantenga limitada y sea menor o igual a  N . A veces no es una

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

Page 43: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 43/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 43

1.3.4 El regulador LQ con horizonte infinito

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

Formulación del problema

 Planta:

( )x Ax Bu x

y Cx

  ; 0 0 

Objetivo: Dado el sistema anterior, perturbado de x( )0 0

  a x x0( )0   , retornar al equilibrio x  0, minimizando el criterio

 J dt 

1

2 0

x Qx u RuT T  

(Nota: A veces se desea minimizar la salida en cuyo caso,

 J dt T T 

1

2 0( )y y u Ru , que es reductible al caso anterior haciendo Q C C   T  ).

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) estabilizable2) R >0, Q0 (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 : xK u   opt opt   

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

A P PA Q PBR B PT T  1 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:

Dem.: El valor mínimo del criterio es ),0()0(2

1)( PxxK 

  T opt  J      donde P  es la solución de la

ecuación de Lyapunov A P PA Qc

c c . Tomando RK K QQ

  T 

c     y BK AA   c , seobtiene

Page 44: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 44/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 44

( ) ( ) ( )A BK P P A BK Q K RK  

A P K B P PA PBK Q K RK  

T T 

T T T T   

sustituyendo ahora K R B P   1   T   se obtiene finalmente

A P PA Q PB R B P PBR B P PB R RR B P 0T T T T T T   ( ) ( )1 1 1 1  

A P PA Q PBR B P 0T T  1  

Propiedades de la solución

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

2)  Coste: El valor mínimo de la integral resulta ser )0()0(2

1)( PxxK    T opt opt   J  J    ; x(0)=

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 Riccatielegimos la P>0 (que es única). Una de las ventajas de este método es que en el caso MIMO lasolución también es única (cosa que no ocurre en el caso modal).

4)  Estabilidad: El sistema regulado xBK Ax ~)(~   opt    resulta asintóticamente estable. Estecontrol, además de estabilizar la planta, genera una solución con evolución de mínimo error yconsumo. 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, parahorizontes finitos la solución varía con el tiempo ))((   t K  .

5)  Sensibilidad: Hay desensibilización a todas las frecuencias (ecuación de Kalman) |S ( j )|<1, esdecir que la respuesta frecuencial del lazo no entra en el circulo unidad centrado en -1. Los

márgenes de ganancia y fase son: o MF  MG 60);,2

1(   .

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

u x x   2   ,  x(0)=1 

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

02   . Además la respuesta ZI es )0()( 2  xet  x   t  .

Vamos a resolver el problema LQ con

0

22 )

43(

2

1dt 

u x J  .

Condiciones suficientes para que el problema tenga solución:Q=3>0, R =1/4>0 (¿definidas positivas? Sí, se cumpleLa planta es controlable puesto que Mc=b=1=n 

Page 45: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 45/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 45

La ley de control óptima es xK u   opt opt   con PBR K    T opt  1  donde P es la solución positiva de

A P PA Q PBR B PT T  1 0. En nuestro caso queda como:

232

1

2

884

848164

03440141322

 p

 p p p p p p

 

La solución válida es la positiva, p=3/2, por tanto, 62

3141   PBR    T opt k   

La matriz de estado del sistema controlado es 4612     opt c   bk aa  (estable) y el coste

mínimo es4

3)0()0(

2

1   px x J opt  .

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óndel 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 y2)  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 importanteque el ahorro de trabajo de cálculo, estos métodos (especialmente el de Evans) nos permiten unamayor comprensión del significado del diseño vía minimización de una función de coste. Enresumen, con los métodos convencionales también podemos diseñar un sistema de control óptimosin 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: G   (margen de aumento de ganancia infinito),

GR  1 2/  (margen de reducción de ganancia ½) y margen de fase  F   60 . 

La ecuación de Kalman en el caso SISO es

1 1 1 2 G H G H   p eq p eq

  

, siendo  

T   s b,

T  Q  

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

  Por factorización espectral de 1 2 

 

 

  

 con ayuda del lugar cuadrático/simétrico.

  Por aproximación de la respuesta frecuencial de 1 G j H j p eq   , satisfaciendo la

ecuación de Kalman y de manera que sea factorizable.

Page 46: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 46/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 46

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

( ISEU ) con  J e ru dt  2 2

0  siendo q=1 y e=0- y:

 J e ru dt y y ru dt y ru dt r 

( ) (( ) ) ( )2 2 2 200 2 20  

( ) ( )x cc x x Qx

T T T ru dt u dt  2 2 2

00     

La descomposición de Q en Q1/2 requiere que la matriz Q se pueda expresar como CC

T. Para elcaso diagonal es inmediato, pero en el caso general se requiere una descomposición vía Cholesky.

Caso general: Si elegimos Q0 general, para que la solución sea estable se requiere una condición

complementaria: que el sistema sintético A, T  , es decir  y sT   x , siendo

T  Q sea observable. 

Criterio:  J u dt T  ( )x Qx    2 20

 

La ecuación de Kalman será: ( )( )1 1 1 2 G H G H   p eq   p eq

  

 

La solución es por f actorización espectral vía lugar simétrico, con G s s pt ( ) ( ) c b , ( ) ( ) s sT   b 

y

 H s  U 

 s

 seq

t ( )( )

( )

 

k b

c b

, x Qx x x x SxT T T T  d 

dt  . 

Los elementos de

 

 

1

n

 pueden obtenerse de

q x x x x s x xij i j j

n

i

n

i j i j j

n

i

n

ij i ji

n

i

n

11 11

11

1

1

1

2    

En el caso 22    12

11 q ,  22

22 q .

En el caso 33    12

11 q ,  2 22 11 33 132 q q q q ,  32

33 q  

 Notas:

1) El vector   contiene la información esencial de la matriz Q y puede ser común a varias deellas. 2)  ( s) recibe el nombre de planta sintética.3)  y s

T   x recibe el nombre de respuesta sintética.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 I q , ó a través de la respuesta indicial de la planta sintética.5) qij  son los elementos de Q.

Page 47: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 47/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 47

1.3.5 El regulador LQ con horizonte finito

Formulación

1) Planta: x Ax Bu   ; x( )0 0  

2) Objetivo: mín  J dt T T 

t  f 

1

20

( )x Qx u Ru  

donde Q>0 y R >0 (es decir, definidamente positivas)

Solución

1) Condición de existencia: Sistema controlable

2) Ley de control: xK u )(t opt opt 

 

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

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

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 P PA Q PBR B P PT T  1  

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

Ejemplo 20. LQ escalar con horizonte finito.  Resolver el mismo problema del Ejemplo 19 peroahora con horizonte finito.

La ecuación diferencial de Riccati es

A P PA Q PBR B P PT T  1  

que en nuestro caso queda como

 p p p   344 2  

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

1   z z p x p x z p z p xdt 

d  pz

dt 

d   

Sustituyendo este valor en la ED

0)34()4(

344344

00

12

  

 z x x x z p

 x z p z x xp z z p x p p 

Page 48: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 48/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 48

 

  

 

 

  

 

 z

 x

 z

 x

 z x x

 x z

A

04

34

34

t t 

t t t t 

ee

eeee

88

886

6244

3326

8A  

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

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

 

  

 

 

  

 

 

  

 1)0(

)0(

)(

)( 0 pe

 z

 xe

t  z

t  x   t t  AA  

)62()44()33()26(

33

21

)()()(

80

8

80

8

8

8

t t 

t t 

e pee pe

keke

t  zt  xt  p

 

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

Método 2: Separación de variables

ct cdt  p p

dpdt 

 p p

dp

dt 

dp p p  

344344

34422

2  

 

  

 

 

21

23

21

23

21

232

ln8

1lnln

8

1

81

)2/1)(2/3(4344

 p

 p p p

 pdp

 pdp

 p pdp

 p pdp

 

3

3

2

1)(ln

8

88

21

23

8/1

21

23

8/1

21

23

 

  

 

 

  

 

t t t 

ke

ket  pke

 p

 pke

 p

 pct 

 p

 p 

Para obtener el valor de k , añadimos las CI p(0)=p0, entonces21

0

2

3

0  p pk  . Así,

)62()44(

)33()26(

3

3

2

1)(

80

8

80

8

8

8

t t 

t t 

e pe

e pe

ke

ket  p

 

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

0)(    f t  p ,3

3

2

1)(

8

8

ke

ket  p   ⇒   f t ek  83    

Page 49: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 49/174

Page 50: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 50/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 50

>> t f =0. 1; t =l i nspace( 0, 2) ; k=4*( 3/ 2) *( 1- exp( - 8*( t - t f ) ) ) . / ( 1+3*exp( - 8*( t - t f ) ) ) ;>> subpl ot ( 221) , pl ot ( t , k) , xl abel ( ' t ' ) , yl abel ( ' k' ) , t i t l e( ' t _ f = 0. 1' )>> t f =0. 5; t =l i nspace( 0, 2) ; k=4*( 3/ 2) *( 1- exp( - 8*( t - t f ) ) ) . / ( 1+3*exp( - 8*( t - t f ) ) ) ;>> subpl ot ( 222) , pl ot ( t , k) , xl abel ( ' t ' ) , yl abel ( ' k' ) , t i t l e( ' t _ f = 0. 5' )>> tf =1; t =l i nspace( 0, 2) ; k=4*( 3/ 2) *( 1- exp( - 8*( t - t f ) ) ) . / ( 1+3*exp( - 8*( t - t f ) ) ) ;

>> subpl ot ( 223) , pl ot ( t , k) , xl abel ( ' t ' ) , yl abel ( ' k' ) , t i t l e( ' t _ f = 1' )>> tf =4; t =l i nspace( 0, 6) ; k=4*( 3/ 2) *( 1- exp( - 8*( t - t f ) ) ) . / ( 1+3*exp( - 8*( t - t f ) ) ) ;>> subpl ot ( 224) , pl ot ( t , k) , xl abel ( ' t ' ) , yl abel ( ' k' ) , t i t l e( ' 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: ic   k u   xk   

cx   r  yr    

La planta se aumenta así:

ii

 

  

 

 

  

 100

0u

Bx

c

0Ax

BA

  

 

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:

 

  

 

 

  

 

   

xk 

xK xk u icic   k k   

Y el sistema controlado final es: r k 

c

ic

 

  

 

 

  

 10

0x

c

BBk Ax

A

  

   

 

Page 51: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 51/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 51

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 normalde 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 adesviar 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 sereduzcan 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 exactasdel estado.

2) Regulador Lineal Cuadrático Gaussiano LQG. Supone el caso más habitual de que sólo sedispone de medidas incompletas y ruidosas del estado, teniendo que recurrir, en este caso, a unestimador óptimo (filtro de Kalman) que, al igual que en el control modal, puede ser calculadoindependientemente del regulador gracias al principio de separación y que aquí recibe elnombre 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

vCxz

wBuBAxx

21 

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

representa al ruido de medida.

A

b1 ct  

xu  +

+

v b2

+

++

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

Page 52: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 52/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 52

La potencia de ambos ruidos viene determinada por las respectivas covarianzas, T  E wwW  ,T  E vvV  . Además, el estado inicial queda caracterizado por su media )( 00   t  E xx     y su

varianza T t t  E  000000 )()( xxxxP    

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

. .

 

 

 

  

 

 

 

 

 

 

 

0 1

0 0 001

0

00003

0

1

1 0

w

 z 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.1I que representa los efectos combinados del

viento, oleaje, corrientes, etc.v  es un ruido Gaussiano (debido al sensor) de intensidad V=1I.

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 lossiguientes 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:

%si n cont r ola=[ 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 =l i nspace( 0, 60, 200) ;v=r andn( si ze( t ) ) ' *sqrt ( V) ;w=r andn( si ze(t ) ) *sqrt ( W) ;

y1=i ni t i al (a ,b1, c ,d ,x0, t ) ;z1=y1+v;y2=l si m( a, b2, c, d, w, t , x0) ;z2=y2+v;

f i gure(1), subpl ot ( 224) ,pl ot ( t , z2) , gri d, t i t l e( ' con rui do de proceso y medi da' ) , ax=axi ssubpl ot ( 221) , pl ot ( t , y1) , gr i d, t i t l e( ' s i n rui do' ) , axi s (ax)

subpl ot ( 222) , pl ot ( t , z1) , gri d, t i t l e( ' con r ui do de medi da' ) , axi s(ax)subpl ot( 223) ,pl ot( t , y2), gr i d, t i t l e( ' con rui do de proceso' ) , axi s(ax)

Page 53: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 53/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 53

0 20 40 60

-20

-10

0

10

20con ruido de proceso y medida

0 20 40 60-20

-10

0

10

20sin ruido

0 20 40 60-20

-10

0

10

20con ruido de medida

0 20 40 60

-20

-10

0

10

20con ruido de proceso

 

Nuevos criterios de optimización. Promedio de J

1)  Caso de horizonte finito

En el caso determinista teníamos

 J t t dt T T T 

1

2

1

21 10

1

x Sx x Qx u Ru( ) ( ) [ ]  

donde la primera parte corresponde a la desviación del estado final ponderado; la segunda partecorresponde 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 derealizaciones:

1

0

][2

1)()(

2

1][ 11

T T T  dt t t  E  J  E  J  RuuQxxSxx  

2)  Caso de horizonte infinito

En el caso determinista teníamos

 J dt T T 

1

2 0[ ]x Qx u Ru  

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 hayque dividir por T  para que pueda resultar finito. Así, el coste es

][2

1][

1lim

2

10

RuuQxxRuuQxx   T T T  T T 

T  E dt 

T  E  J   

Aún así se requieren ciertas condiciones adicionales para asegurar que  J  resulte finito.

Page 54: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 54/174

Page 55: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 55/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 55

En el caso determinista resultaba )0()0(2

1xPxT opt  J    . Para el caso estocástico hay que

generalizar, )(Tr 2

1)0()0(

2

1Tr )0()0(

2

1][ PxPxPxx

n E  E  J  E  J    T T 

 

  

 

, donde

 E n

T [ ( ) ( )]x x I0 0 1 .

El coste mínimo para distintas situaciones es:

1)  Caso v=0, 0w : T c

 x J  22Tr 2

1WBBP . 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 0v , 0w : T ccco

 x J  VK K PQP   Tr 2

1. Nota: Aquí el coste mínimo

depende de las perturbaciones iniciales a través de Po, y del ruido de medida.

3)  Caso 0v , 0w  (alternativo): cT co

T c

 x J  RK K PWBBP   22Tr 21 :

equivalencia de certeza más error de estimación.

Ejemplo 22.  Autopiloto. Control directo. Considerar de nuevo el buque del Ejemplo 21 dondese evidenció la necesidad de regular el sistema (mantener el rumbo   = 0º). El objetivo es mantenerel rumbo   = 0º, reduciendo al mínimo el zigzagueo provocado por las perturbaciones, con el fin deminimizar 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 sistemacumple 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 

 J dt 

12

100 0 052

0

2( . )   . ¿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 sistemaregulado?.

2)  Suponiendo que la excitación es nula pero el ruido de proceso w está presente, representar tantola respuesta y(t ) como su medida  z(t ) mediante un sensor que introduce un ruido v. Obsérvesesi se han estabilizado los zigzagueos.

Solución:

%cont r ol di r ect o

[ kc, P, aut ] =l qr ( a, b1, Q, R)kc =

Page 56: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 56/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 56

44. 7214 542. 7010P =  1. 0e+004 *

0. 1221 0. 74540. 7454 9. 0450

aut =  - 0. 0819 + 0. 0819i

- 0. 0819 - 0. 0819i

ac=a- b1*kc;y=l si m( ac, b2, c, d, w, t , x0) ;z=y+v;f i gure(2), subpl ot ( 211) ,pl ot ( t , y) , gr i d, t i t l e( ' ret r oacci on di recta LQ' ) , axi s (ax)subpl ot( 212), pl ot (t , z) , gr i d,t i t l e( ' r et r oacci on di r ect a LQ con r ui do de medi da' ) , axi s( ax)

0 10 20 30 40 50 60-20

-10

0

10

20retroaccion directa LQ

0 10 20 30 40 50 60-20

-10

0

10

20retroaccion directa LQ con ruido de medida

 

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 deretroacción del estado K c resulta la misma que en el caso determinista (es decir, es independiente deV, 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ónde 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 elcompensador 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 K o, K c  corresponde a problemasindependientes (teorema de separación) y duales. Ahora, en vez de utilizar la fórmula de

Ackermann se utilizará la ecuación de Riccati. 

Page 57: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 57/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 57

En el control modal la elección del vector de ganancias K o del observador (en realidad la elecciónde  o ( ) ) es un proceso más o menos arbitrario en el que se intenta mantener un compromisoentre la velocidad de respuesta de dicho observador y el comportamiento frente a perturbacionestales como el ruido de medida. Con el observador óptimo (filtro de Kalman) el cálculo de K o  sehace 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úansobre el sistema tales como el ruido de la planta y el ruido de medida. En concreto, hay que tenerinformación de A, B1, B2, C; de las características estadísticas del ruido del proceso y del ruido demedida; 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 B u B w

z Cx v1 2

 

donde w, ruido de proceso, y v, ruido de medida, son procesos de ruido blanco Gaussianoscon media cero y matrices de intensidades W y V, respectivamente.

)()()(),()(

)(21122

1

1 t t t t t t 

t  E    T T 

 

  

  Vvw

v

Se supone que están incorrelados ( 0)()( 2112     t V t V  ).

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

00000000 })()({,)}({ Pxxxxxx     T t t  E t  E   

Objetivo: Reconstrucción óptima del estado: Estimación de los estados a partir de las medidas de lasalida 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):

]ˆˆ[Tr ˆˆ   T T  E  J  xxxxxxxx    

otra notación es:

)}()({min   t t  E    T  ee   , donde )(ˆ)()(   t t t  xxe     , )()(~)(   t t t    exxe    

El filtro de Kalman es un observador óptimo que proporciona un compromiso entre lavelocidad 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 ycompletamente 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.

Page 58: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 58/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 58

2)   Esquema de bloques del observador óptimo

A

b1 ct  

k o

xu 

+

+

A

b1 ct  

xu   y+

+

+

+

x

++ v 

b2

w

 

Fig. 14.  Filtro de Kalman-Bucy

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

)(ˆ)()()()(ˆ)(ˆ 1   t t t t t t    opt o xCzK uBxAx    

4)   Error de reconstrucción: El error de reconstrucción es )(ˆ)()(   t t t  xxe     satisface la

ecuación diferencial

)()()(   t t t    opt o eCK Ae    

El error de reconstrucción tiene la propiedad de tender a cero a medida que pasa el tiempo, paracualquier condición inicial, si y sólo si el observador es asintóticamente estable, 0)(lim  

t e .

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

01,)()(   t t t t    T 

oopt o    

VCPK   

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

01

22 ),()()()()(   t t t t t t t    oT 

oT T 

ooo     CPVCPWBBAPAPP  

con la condición inicial 0)0(   oo PP    y la condición inicial de estado 00 )(ˆ xx   t  .

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

...})(ˆ)()(ˆ)({ 22

21     eet t t t  E    T 

xxxx  

Page 59: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 59/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 59

queda minimizado para t t  0 . La matriz de covarianzas del error de reconstrucción vienedada por:

)(})(ˆ)()(ˆ)({   t t t t t  E    oT 

Pxxxx    

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

)(Tr })(ˆ)()(ˆ)({   t t t t t  E    oT 

Pxxxx    

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 K o(t) alcanzavalores 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 oP o   oP  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 oP  también es una matriz constante y es la única solución

definida positiva de la ecuación de Riccati:

oT 

oT T 

oo CPVCPWBBAPAP 1220     )(   oo PP    

La matriz de ganancias del observador óptimo en régimen estacionario es:

1 VCPK    T o

opt o  

La matriz )(t opt oK  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)}()({lim0

t t  E t t  E    T 

t eeee

 sea mínimo.

7)  Metasistema:

v0

I

x

x

C0

0C

y

z

vK 

0w

0

Bu

B

B

x

x

CK ACK 

0A

x

x 2

1

 

  

 

 

  

 

 

  

 

 

  

 

 

  

 

 

  

 

 

  

 

 

  

 

 

  

 

 

  

 

ˆˆ

ˆˆ1

opt o

opt o

opt o

 

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 equivalenciade matrices:

LQ A B C Pc  K c  Q R

FK AT   C

T   BT   Po  T 

co K K     T 22WBB   V

Tabla 1. Dualidad LQR-Filtro de Kalman 

Page 60: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 60/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 60

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

2)   Régimen permanente del observador óptimo

  Asumiendo que 00 oP , en la medida que t o  la solución de la ecuación de Riccati

tiende al valor estacionario oP 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 ,, 0   t oP  para todo .00 oP   Esta condición es suficiente pero no

necesaria.

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

Riccati: oT 

oT T 

oo CPVCPWBBAPAP 1220   . Si el sistema es detectable y

estabilizable, oP es la única solución no definida negativa de la ecuación algebraica de

Riccati. Esta condición es suficiente pero no necesaria.

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

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

)(ˆ)()(ˆ)(ˆ   t t t t    o xCzK xAx   , donde 1 VCPK    T oo   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 permanenteminimiza el )()(lim   t t  E    T 

t oee

 para cualquier 00 oP . Este valor mínimo es: oPTr  .

Notas históricas

R. E. Kalman (Budapest, 1930), se graduó MS(EE) en el MIT con Guillemin, con una tesissobre las ecuaciones en diferencias de segundo orden en la que comprobó una diferenciasubstancial con la ecuación diferencial del mismo orden (comprobó que podía incluso entrar enrégimen caótico). En 1955 pasó a la Universidad de Columbia (con Ragazzini - control digitaly 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 transformadosal igual que los continuos. De aquí empezó sus estudios sobre la conexión entre Teoría deSistemas y Álgebra. En 1954, abordó el tema de la controlabilidad, tratando de buscar uncriterio 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 elRIAS, un día yendo en el tren que le llevaba de retorno a Baltimore, se le ocurrió la idea deaplicar 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.

Page 61: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 61/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 61

 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 filtrocontinuo, fue rechazado. Persistió en exponer sus ideas hasta que fue aceptado por lacomunidad 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 nolineales. En 1961 Battin, que ya usaba las variables de estado para el diseño e implementaciónde sistemas de navegación astronáutica, incluyó el KF como parte del sistema de navegaciónde a bordo. En aeronáutica el KF resolvió dos problemas: a) el de combinar los datosasociados al radar con sensores de inercia para llegar a la estimación global de la trayectoriadel 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 (ensistemas 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 Kalmanque 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 quesea observable y controlable. Kalman también jugó un importante papel en la teoría de larealización (1962) que trata de hallar un modelo de estado que explique el comportamientoentrada/salida del sistema. El impacto del KF ha sido enorme para los que trabajan en elcampo de la estimación y control, resultando una de las tecnologías básicas en la navegaciónespacial.

Ejemplo 23.  Autopiloto. Reconstrucción del estado.  Considerar de nuevo el buque del Ejemplo21. 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 lasmedidas 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 delestimador de estado?

2)  Representar el estado del sistema y su estimación mediante dicho filtro. Comentar la bondad dela reconstrucción del estado y su convergencia hacia el valor real.

Solución:

% f i l t r o de kal man bucy[ ko, P, aut ] =l qe( a, b2, c, W, V)

ko =  0. 7943

0. 3154P =  0. 7943 0. 3154

0. 3154 0. 2509aut =  - 0. 3976 + 0. 3976i

- 0. 3976 - 0. 3976i

ameta=[ a a*0; ko*c a- ko*c] ;bmet a=[ b2 b2*0; b2*0 ko] ;cmeta=[ c c*0; c*0 c] ;dmet a=[ 0 0; 0 0] ;[ y, x]=l si m( ameta, bmet a, cmet a, dmet a, [ w’ v], t , [ x0; 0; 0] ) ;

f i gure(3)subpl ot ( 211) , pl ot ( t , x( : , [ 1 3] ) ) , gri d, t i t l e( ' estado x_1 y su esti maci on opt i ma x_3' ) ,

Page 62: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 62/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 62

subpl ot ( 212) , pl ot ( t , x( : , [ 2 4] ) ) , gri d, t i t l e( ' estado x_2 y su esti maci on opt i ma x_4' ) ,

0 10 20 30 40 50 60-20

-10

0

10

20

estado x1 y su estimacion optima x

3

0 10 20 30 40 50 60-1

0

1

2

3

estado x2 y su estimacion optima x

4

 

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 perturbacionesexternas 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 soninaccesibles), 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, provocadecisiones "equivocadas" del controlador, afectando así la optimalidad del resultado. Para abordarestas situaciones que introducen elementos aleatorios en el problema, se ha desarrollado el llamadoControl (Óptimo) Estocástico, que aquí se abordará desde la perspectiva de una formulación deestado.

Su tratamiento contempla varias etapas:

1)  Diseño de reguladores óptimos estocásticos para sistemas sujetos a perturbacionesaleatorias, 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 demedidas incompletas e inciertas (contaminadas por ruido). Dicho filtro resulta unageneralización del de Wiener.

3) Diseño del compensador general: Cálculo de la ley de control necesaria para optimizar elcomportamiento de una planta sometida a perturbaciones aleatorias y de la que no sedispone del vector de estado, sólo de algunas señales de salida que, además, estáncontaminadas 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 secaracterizan por su fácil modelación, ya que permiten establecer las hipótesis de planta lineal y

Page 63: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 63/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 63

 posiblemente invariante, y donde el objetivo es básicamente la gestión de los recursos energéticosdisponibles (cuya traducción inmediata pasa por la optimización -minimización- de criterioscuadráticos). En aplicaciones terrestres el LQG se complementa con estrategias de recuperación dela 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 pararesolver el problema del COE ( LQG). En el caso más general las estrategias de control yestimación deben diseñarse concurrentemente (es decir, uno depende del otro). Sin embargo, enuna amplia gama de problemas, las estrategias de control y estimación pueden ser calculadasindependientemente y luego juntarlas para formar la solución óptima. La posibilidad de separarestos diseños depende de la manera en que la incertidumbre entra en el problema y de la estadísticade 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 controlretroactiva que opera sobre la estimación óptima del estado. Dicha ley de control puede serformulada como si no hubiera incertidumbre en las medidas y, además, el estimador óptimo puedeser obtenido como si no hubiera control retroactivo. De esta manera los procesos de diseño delcontrolador y del regulador son separables y se dice que la ley de control es equivalente al caso decerteza (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 B u B w

z Cx v

1 2

 

donde w, ruido de proceso, y v, ruido de medida, son procesos de ruido blanco Gaussianoscon media cero y matrices de covarianza W y V, respectivamente. Supóngase además queestán incorrelados.

Objetivo: Solución del problema LQ mediante una estimación de los estados a partir de las medidasde la salida, minimizando la varianza del error de estimación (~   x x x ):

 J E    T  x x x x  

Solución del regulador LQG

 Principio de separación:  La estrategia de control óptimo se puede descomponer en dos partes: unestimador de estado, que da la mejor estimación de los estados a partir de las salidas observadas, yuna ley de retroalimentación lineal de los estados estimados. El controlador lineal empleado es elmismo que se emplearía si no hubiera perturbaciones actuando sobre el sistema.

 Estructura:

Page 64: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 64/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 64

xK u ˆopt c  

xCy

yzK uBxAx

ˆˆ

ˆˆˆ 1

  opt o

 

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

( CK A   opt o ), es decir, por la dinámica del problema de control  LQ determinístico correspondiente

y por la del filtro óptimo.

 Metasistema:

v0

I

x

x

C0

0C

y

z

vK 

0w

0

B

x

x

CK K BACK 

K BA

x

x 21

  

  

  

  

  

  

  

  

 

  

 

 

  

 

 

  

 

 

  

 

 

  

 

ˆˆ

ˆˆ1

opt o

opt o

opt c

opt o

opt c

 

Propiedades

 Horizonte finito.  El filtro de Kalman puede ser conectado en cascada con un controlador LQformando un posible controlador estocástico de sistemas dinámicos lineales. En realidad puededemostrarse que esta combinación es óptima y que sus dos componentes principales pueden serdiseñados independientemente. La función de coste sólo puede evaluarse en términos de valoresesperados que son estimaciones condicionadas de la media y varianza del estado (los operadores

esperanza E[ ] y traza Tr( ) son intercambiables), resultando

 J E t t dt T T T 

 

1

2

1

21 10

1

x Sx x Qx u Ru( ) ( ) ( )  

    

         

 

 

1

2 1 1 1 10

1

0

1

 E tr tr dt tr dt J J T T 

t T 

CE sS P x x Q xx Ruu(   ) (   ) ( )  

(Notas: T T  QxxQxx Tr  ,  E    T T xx P xx , P x x x x  E    T  

Componente de equivalencia de certeza:

 J E tr tr dt tr dt CE T T 

t  T 

t     

          

     

1

2 1 1 10

1

0

1

S x x Qxx Ruu ( )  

Componente debida al error de la estimación:

 J E tr tr dt S  t 

      

 

1

2 1 10

1

S P QP  

Los métodos de optimizar trayectorias de duración finita son idénticos. Aunque estemos trabajandocon SLI y con Q, R   constantes, los K c, K o  resultan variables. Las trayectorias óptimas (x) y lahistoria del control (u) dependen de las condiciones iniciales, y de los perfiles de w  y v. Sin

embargo, los perfiles de K c  y K o  normalmente resultan con variaciones confinadas a breves periodos al principio y al final de la trayectoria: K o al principio (cuando las condiciones iniciales pueden contener más (o menos) información que las medidas) tiende a crecer. Inversamente K c es

Page 65: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 65/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 65

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

Sea t0  el instante en que K o  ha alcanzado esencialmente su valor final y tc  el instante en que K c empieza a cambiar de forma clara. Puede inferirse que las ecuaciones diferenciales de Riccati decontrol y estimación permanecen en equilibrio (ARE) en el intervalo [t0, tc] (K c, K o constantes). Sidicho 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 haceninfinito a medida que t1 tiende a infinito por lo que conviene definir una nueva función de coste

 promedio  J lim J 

t  At 

1 1

, cuyo valor puede estar acotado al crecer t1. Las condiciones de

optimalidad son las mismas para  J   y  A pues ambos son problemas de terminal fijo.

Coste del regulador estocástico óptimo: 

Directo (v=0).

Horizonte finito:

  

  

1

0

Tr )0(2

100

T oocc

T  x dt  J  WK K PxPx  

(Nota: si w=0, es el determinista:  J  x T c

1

200 0x P x( ) )

Horizonte infinito: T c

 x A J  22Tr 

2

1WBBP  

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

Horizonte infinito: T 

oco

 x

 A J  0Tr 2

1VK K PQP    

Ejemplo 24.  Autopiloto. Control óptimo estocástico (LQG).  Considerar de nuevo el buque delEjemplo 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 (ct x) del sistema compensado y compararla con su medida ruidosa z y conla estimación de dicha salida realizada por el filtro de Kalman. Observar las ventajas de laestimación sobre la medida directa en entornos ruidosos.

3)  Calcular el valor del coste mínimo.

Solución:

%cont r ol opt i mo est ocast i co ( LQG)ameta=[ a - b1*kc; ko*c a- ko*c- b1*kc];bmet a=[ b2 b2*0; b2*0 ko] ;cmeta=[ c c*0; c*0 c] ;dmet a=[ 0 0; 0 0] ;[ y, x]=l si m( ameta, bmet a, cmet a, dmet a, [ w' v], t , [ x0; 0; 0] ) ;z=y(: , 1) +v;f i gure(4)subpl ot( 211), pl ot (t , z) , gr i d,t i t l e( ' sal i da del si st ema compensado con r ui do de medi da' ) , axi s( ax)subpl ot( 212), pl ot (t , y) , gr i d,t i t l e( ' sal i da del si st ema compensado ( si n r ui do de medi da) y su est i maci on' ) , axi s( ax)

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

Page 66: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 66/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 66

 J =e' *e, t r ace( J ) J =  475. 9149 42. 6885

42. 6885 127. 4428ans =  603. 3577

0 10 20 30 40 50 60-20

-10

0

10

20 salida del sistema compensado con ruido de medida

0 10 20 30 40 50 60-20

-10

0

10

20salida del sistema c ompensado (sin ruido de medida) y su estimac ion

 

Page 67: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 67/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 67

1.5 Ejercicios resueltos

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

modelo simplificado de un péndulo invertido:

x

xx

01

1

0

06.20

10

 

  

 

 y

donde los estados son la posición del péndulo y su velocidad, respectivamente. Las condiciones

iniciales son T 21)0(   x . Se pide:

Análisis de la planta1.  Obtener los autovalores de la matriz A. ¿Es estable?

2.  Obtener la respuesta a las condiciones iniciales dadas. Representar cada uno de los estados enuna gráfica diferente.Regulador del estadoSe desea estabilizar la planta de manera que el polinomio característico del sistema regulado sea

96.3)( 2       c . Se pide:

1.  Obtener la matriz de controlabilidad y calcular su rango. ¿Existe solución al problema deregulación?

2.  Calcular el valor de la ganancia de retroacción k c 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 estadoSuponiendo 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 6416)( 2       o . Se pide:

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

3.  Calcular el valor de la ganancia de Luenberger k o 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 lascondiciones iniciales anteriores. Representar cada uno de los estados de la planta en la mismagráfica que su estimación.

Compensador (regulador basado en observador) del estado1.  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 plantaLa planta es inestable puesto que uno de sus autovalores (polos) tiene parte real positiva.

Page 68: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 68/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 68

>> a=[ 0 1; 20. 6 0] ; b=[ 0; 1] ; c=[ 1 0] ; d=0;>> ei g( a)ans =  4. 5387

- 4. 5387

La respuesta a condiciones iniciales es:

>> [y, t , x]=i ni t i al ( s s(a, b, c, d) , [2 1] ' ) ;

>> subpl ot ( 211) , pl ot ( t , x( : , 1) ) , yl abel ( ' x_1' ) ,>> t i t l e( ' Respuesta a condi ci ones i ni ci al es' )>> subpl ot ( 212) , pl ot ( t , x( : , 2) ) , yl abel ( ' x_2' ) ,>> xl abel ( ' Ti empo' )  

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.80

1000

2000

3000

  x   1

Respuesta a condiciones iniciales

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.80

5000

10000

15000

  x   2

Tiempo

 Regulador del estadoLa matriz de controlabilidad Mc es

>> Mc=ct r b( a, b)

Mc = 0  11 0

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

>> r ank( Mc)ans =  2

Por tanto, el sistema es totalmente controlable (i.e., el problema del regulador de estado tienesolución). La ganancia de retroacción de estado es:

>> kc=acker ( a, b, r oots( [ 1 3. 6 9] ) )kc =  29. 6000 3. 6000

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

>> ac=a- b*kc;

Podemos comprobar que el polinomiocaracterístico del sistema regulado es el de lasespecificaciones:

>> pol y(ac)ans =

  1. 0000 3. 6000 9. 0000

La respuesta a condiciones iniciales es

>> [y, t , x]=i ni t i al ( s s(ac, b, c ,d) , [2 1] ' ) ;>> subpl ot ( 211) , pl ot ( t , x( : , 1) ) , yl abel ( ' x_1' ) ,>> t i t l e( ' Regul ador del estado' )>> subpl ot ( 212) , pl ot ( t , x( : , 2) ) , yl abel ( ' x_2' ) ,>> xl abel ( ' Ti empo' )  

0 0.5 1 1.5 2 2.5 3-1

0

1

2

3

  x   1

Regulador del estado

0 0.5 1 1.5 2 2.5 3-4

-3

-2

-1

0

1

  x   2

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):

Page 69: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 69/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 69

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

0 1

>> r ank( Mo)ans =  2

Ahora calculamos la ganancia de Luenberger por dualidad. Aplicar dualidad consiste en usar lamisma fórmula de Ackermann que el problema regulador pero con los siguientes cambios: en vezde A  se usa A

T , 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' , r oot s( [ 1 16 64] ) ) ; ko=ko'ko =  16. 0000

84. 6000

Las ecuaciones del conjunto planta-observador son:

ut o

t o

 

  

 

 

  

 

 

  

 b

b

x

x

ck Ack 

A

x

x

ˆ

 

 

  

 

 

  

 x

x

c

c

ˆ0

0

ˆ   t 

 y

 y 

>> 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 sonnulas:

 

  

 

 

  

 0

x

x

x 0

)0(ˆ

)0(.

La respuesta a CI de los estados y sus respectivasestimaciones es:

t =l i nspace( 0, 0. 4) ;[y , t , x]=i ni t i al (ss (ao, bo, co, do) , [2 1 0 0] ' , t ) ;subpl ot ( 211) , pl ot ( t , x( : , [1 3] ) ) ,yl abel ( ' x_1, x_3' ) ,

t i t l e( ' Observador del estado' )subpl ot ( 212) , pl ot ( t , x( : , [2 4] ) ) ,yl abel ( ' x_2, x_4' ) , xl abel ( ' Ti empo' )  

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.40

2

4

6

8

  x   1 ,  x   3

Observador del estado

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.40

10

20

30

40

  x   2 ,  x   4

Tiempo

 Compensador del estado:Las ecuaciones del sistema completo son:

ut 

ot c

t o

t c

 

  

 

 

  

 

 

  

 b

b

x

x

ck bk Ack 

bk A

x

x

ˆ̂

 

  

  

  

  

xx

cc

ˆ00ˆ   t 

 y y 

Page 70: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 70/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 70

con condiciones iniciales  

  

 

 

  

 0

x

x

x 0

)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 =l i nspace( 0, 3) ;[ y, t , x]=i ni t i al ( s s(at , bt , ct , dt ) , [2 1 0 0] ' , t ) ;subpl ot ( 211) , pl ot ( t , x( : , [ 1 3] ) ) , yl abel ( ' x_1 , x_3' ) , t i t l e( ' Regul ador basado en observador' )subpl ot( 212), pl ot (t , x( : , [ 2 4]) ) , yl abel ( ' x_2 , x_4' ) , xl abel ( ' Ti empo' )

0 0.5 1 1.5 2 2.5 3-1

0

1

2

3

  x   1 ,  x   3

Regulador basado en observador 

0 0.5 1 1.5 2 2.5 3-10

-5

0

5

10

  x   2 ,  x   4

Tiempo  

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

 presenta las siguientes ecuaciones de estado:

  v

 x

 x

 x

 z

wu

 x

 x

 x

 x

 x

 x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

2

1

3

2

1

3

2

1

100

1

0

0

4

0

2

05.09.85.1

01.01

05.01.03.0

 

donde x1:velocidad angular cabeceo, x2: ángulo cabeceo, x3: velocidad traslacional

u: control cabeceo cíclico longitudinalw: ruido de proceso (viento, turbulencias,…), de intensidad W =300

Page 71: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 71/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 71

v: ruido de medida, de intensidad V =2

Suponer que las condiciones iniciales son: T 4.06.01)0(   x . Se pide estabilizar el

helicóptero minimizando la siguiente función de coste:

1,

500

050005

,][2

10

R QRuuQxx   dt  J    T T   

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:

%pl ant a a=[ - 0. 3 0. 1 - 0. 05; 1 0. 1 0; - 1. 5 - 8. 9 - 0. 05] ;bu=[ 2 0 4] ' ; bw=[ 0 0 1] ' ;c=[ 0 0 1];du=0; dw=0;pol os=ei g( a)

x0=[ 1 - 0. 6 0. 4] ' ;

t =l i nspace( 0, 5, 200) ;W=300; w=r andn( si ze( t ) ) *sqr t ( W) ; w=w' ;

y=l si m( ss( a, bw, c, dw) , w, t , x0) ;

V=2; v=r andn( si ze( t ) ) *sqr t ( V) ; v=v' ;z=y+v;

f i gure,pl ot ( t , y+v) , ax=axi s;t i t l e ( ' Respuest a de l a pl ant a si n cont r ol ' )xl abel ( ' Ti empo (s) ' )

0 1 2 3 4 5-90

-80

-70

-60

-50

-40

-30

-20

-10

0

10Respuesta de la planta sin control

Tiempo (s)

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

1,500050

005

,][2

10

R QRuuQxx   dt  J   T T 

 

%r egul ador LQ f ul l st ate Q=5*eye( 3) ; R=1; kc=l qr ( a, bu, Q, R) ,ac=a-bu*kc; ei g( ac)[ y, t , x]=l si m( ss(ac, bw, c, dw) , w, t , x0) ;f i gurepl ot( t , y+v) , xl abel ( ' Ti empo (s) ' ) , axi s (ax) ;t i t l e ( ' Regul ador LQ: Q=5xI , R=1' )

f i gurepl ot ( t , x) , xl abel ( ' Ti empo (s) ' ) , %axi s( ax) ;  t i t l e ( ' Est ados. Regul ador LQ: Q=5xI , R=1' )

l egend( ' x_1' , ' x_2' , ' x_3' )

Page 72: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 72/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 72

0 1 2 3 4 5-120

-100

-80

-60

-40

-20

0

20

Tiempo (s)

Regulador LQ: Q=5xI, R=1

0 1 2 3 4 5-8

-6

-4

-2

0

2

4

6

8

Tiempo (s)

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

 

x1

x2

x3

 

kc =  11. 4502 20. 8138 - 2. 3700

pol os_ser vo =  - 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 deminimizar el error cuadrático medio de la estimación:

%est i mador ópt i mo del est ado ko=l qr ( a' , c' , bw*W*bw' , V) 'ko =  - 0. 1844

- 0. 759712. 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]=l s i m(ss(ao, bo, co, do) , [ w v] , t , [x0; 0; 0; 0] ) ;

f i guresubpl ot( 311), pl ot (t , x( : , [ 1 4]) ) , xl abel ( ' Ti empo (s) ' ) ,t i t l e ( ' Pl ant a si n cont r ol con est i mador ópt i mo del estado' ) ,yl abel ( ' x_1 , x_4' )subpl ot( 312), pl ot (t , x( : , [ 2 5]) ) , xl abel ( ' Ti empo (s) ' ) ,yl abel ( ' x_2 , x_5' )subpl ot( 313), pl ot (t , x( : , [ 3 6]) ) , xl abel ( ' Ti empo (s) ' ) ,yl abel ( ' x_3 , x_6' )

0 1 2 3 4 5-5

0

5

Tiempo (s)

Planta sin control con estimador óptimo del estado

  x   1 ,  x   4

0 1 2 3 4 5-5

0

5

Tiempo (s)

  x   2 ,  x   5

0 1 2 3 4 5-50

0

50

Tiempo (s)

  x   3 ,  x   6

 

Page 73: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 73/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 73

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

%r egul ador 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]=l s i m(ss(at , bt , ct , dt ) , [w v] , t , [x0; 0; 0; 0] ) ;

f i guresubpl ot( 311), pl ot (t , x( : , [ 1 4]) ) , xl abel ( ' Ti empo (s) ' ) ,t i t l e ( ' Regul ador ópt i mo del est ado LQG' ) ,yl abel ( ' x_1 , x_4' )subpl ot( 312), pl ot (t , x( : , [ 2 5]) ) , xl abel ( ' Ti empo (s) ' ) ,yl abel ( ' x_2 , x_5' )subpl ot( 313), pl ot (t , x( : , [ 3 6]) ) , xl abel ( ' Ti empo (s) ' ) ,yl abel ( ' x_3 , x_6' )

0 1 2 3 4 5-5

0

5

Tiempo (s)

Regulador óptimo del estado LQG

  x   1 ,  x   4

0 1 2 3 4 5-2

0

2

Tiempo (s)

  x   2 ,  x   5

0 1 2 3 4 5-20

0

20

Tiempo (s)

  x   3 ,  x   6

 

La siguiente figura muestra la respuesta al escalón del regulador LQ simple. No es capaz de seguirconsignas tipo escalón:

%cont r ol LQ sense sor ol l sQ=5*eye( 3) ; R=1;kc=l qr ( a, bu, Q, R) ;ac=a-bu*kc; ei g( ac)f i gurestep( ss(ac, bu, c, du) )xl abel ( ' Ti empo (s) ' ) , t i t l e( ' Cont r ol LQf ul l state si n acci ón i nt egral ' )  

0 0.5 1 1.5 2 2.5 3-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2Control LQ full state sin acción integral

Tiempo (s) (sec)

   A  m  p   l   i   t  u   d  e

 Para resolverlo, se introduce un integrador en el lazo:

Page 74: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 74/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 74

La señal de control es  ic   k u   xk   donde cx   r  yr   . Así las ecuaciones de la planta

aumentadas con este estado adicional quedan como:

ii

  

  

  

  

1000uBx

c0Ax

BA

  

 

La ecuación de Riccati se resuelve para la planta aumentada y el vector de ganancias resultante K  sedescompone en k c y k i:

 

  

 

 

  

 

   

xk 

xK xk u icic   k k   

Finalmente, el sistema en lazo cerrado es:

r k 

c

ic

 

  

 

 

  

 10

0x

c

BBk Ax

A

     

 

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

%cont r ol amb acci ó i nt egr al ( sensesorol l s ) ai =[ a bu*0; - c 0] ;bi =[ bu; 0] ;br =[ bu*0; 1] ;Mc=ctr b( ai , bi ) ; r ank(Mc)Q=5*eye(3) ; Qi =di agmx( Q, 1) ; R=1;k=l qr( ai , bi , Qi , R) ; kc=k(1: 3) , ki =- k(4) ,kc =  13. 6070 25. 0911 - 3. 3397ki =  - 1. 0000ac=[ a- bu*kc bu*ki ; - c 0] ;bc=[ zer os( 3, 1) ; 1] ;cc=[ c 0] ;f i gurestep(ss( ac, bc, cc, 0) ) ;xl abel ( ' Ti empo (s) ' ) , t i t l e( ' Cont r ol LQf ul l state con acci ón i nt egr al ' )

0 5 10 15-0.2

0

0.2

0.4

0.6

0.8

1

1.2Control LQ full state con acción integral

Tiempo (s) (sec)

   A  m  p   l   i   t  u   d  e

 

A

b c 

ck 

xu   y 

- +

+ s

k i  

+  + r  

Page 75: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 75/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 75

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 ecuacionesdiferenciales no lineales y acopladas. Bajo ciertas condiciones, se pueden linealizar y desacoplarentre movimiento longitudinal y lateral. El control de cabeceo (pitch control) es un problemalongitudinal. 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 yempuje/resistencia). Suponiendo vuelo de crucero a altitud y velocidad contantes estos pares defuerzas 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.7 0.232

0.0139 0.426 0.020356.7

e

e

q

q qq

 

 

 

 

donde   es el ángulo de ataque (ángulo entre el vector velocidad y el eje del avión), q es la tasa devariació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 eu     . La función de

transferencia resultante es:

3 2

( ) 1.151 0.1774

( ) 0.739 0.921

Y s s

U s s s s

 

Las especificaciones del problema de control son recuperar el ángulo de cabeceo 0º con un tiempode establecimiento t  s 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 deataque. ¿La planta es estable? ¿Es controlable? ¿Es observable?

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

Page 76: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 76/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 76

a=[ - 0. 313 56. 7 0; . .- 0. 0139 - 0. 426 0; 0 56. 7 0] ;  

b=[ 0. 232; 0. 0203; 0] ;  c=[ 0 0 1] ;  d=[ 0] ;  G=ss( a, b, c, d) ;

t =l i nspace( 0, 20) ;  x0=[ 0. 3 0 0] ;  [y, t , x]=i ni t i al (G, x0, t ) ;  Fi gure, pl ot ( t , x) ,t i t l e ( ' Si n cont r ol ' ) ,xl abel ( ' Ti empo ( s) ' )  l egend( ' \ al pha' , ' q' , ' \ thet a' ) ,   0 2 4 6 8 10 12 14 16 18 20

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3Sin control

Tiempo (s)

 

q

 Los polos de la planta son un integrados y dos polos estables.pol e( G)ans =

0- 0. 3695 + 0. 8860i- 0. 3695 - 0. 8860i

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

rank( ct rb( a, b) ) ,ans =

3r ank( 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:

Escogemos por ejemplo un par de polos dominantes con =0.9 y4

8 sn

t  

, con lo que

0.556n   . 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

Page 77: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 77/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 77

z=0. 9;  %z=0. 4;t s=8; wn=4/ ( z*t s) ;  p1=- z*wn+j *wn*sqr t ( 1- z 2̂) ;  p2=conj ( p1) ;  p3=- 10;  

kc=acker ( a, b, [ p1 p2 p3] ) ,ac=a- b*kc;

Gc=ss( ac, b, c, d) ;  [y, t , x]=i ni t i al (Gc, x0, t ) ;  

f i gure, pl ot ( t , x) ,t i t l e ( ' Regul ador f ul l st at e' ) ,xl abel ( ' Ti empo ( s) ' )  l egend( ' \ al pha' , ' q' , ' \ thet a' ) ,  

0 2 4 6 8 10 12 14 16 18 20-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6Regulador full st ate

Tiempo (s)

 

q

 

Ejercicio 4. Observador de estado. Se pide diseñar un observador de los tres estados que formanla 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 estadodel ejercicio anterior.

k=acker ( a' , c' , - 20*[ 1 1 1] ) ; ko=k'ko =

1. 0e+003 *

- 9. 62250. 02040. 0593

ao=[ a a*0; ko*c a- ko*c] ;  bo=[ b; b] ;  co=[ c c*0; c*0 c] ;  do=[ 0; 0] ;  

x0=[ 0. 3 0 0 0 0 0] ;  [y , t , x] =i ni t i al ( ss(ao, bo, co, do) , x0, t) ;  

0 5 10 15 20-0.1

0

0.1

0.2

0.3

Tiempo (s)

x1 y x

4:  y su estimación

0 5 10 15 20-3

-2

-1

0

1x 10

-3

Tiempo (s)

x2 y x

5: q y su estimación

0 5 10 15 20-0.4

-0.3

-0.2

-0.1

0

Tiempo (s)

x3 y x

6:  y su estimación

 h=f i gur e;  subpl ot ( 221) , pl ot ( t , x( : , [ 1 4] ) ) , xl abel ( ' Ti empo ( s) ' ) ,  t i t l e ( ' x_1 y x_4: \ al pha y su est i maci ón' )  subpl ot ( 222) , pl ot ( t , x( : , [ 2 5] ) ) , xl abel ( ' Ti empo ( s) ' ) ,  t i t l e ( ' x_2 y x_5: q y su est i maci ón' )  subpl ot ( 223) , pl ot ( t , x( : , [ 3 6] ) ) , xl abel ( ' Ti empo ( s) ' ) ,  t i t l e ( ' x_3 y x_6: \ t het a y su est i maci ón' )  set(h, ' name' , ' Pl ant a con observador ' , ' number t i t l e' , ' o f f ' )  

Ejercicio 5. Regulador de estado basado en observador. Juntar el regulador y el observadordiseñados en los dos ejercicios anteriores a fin de obtener un compensador de estado y verificar sufuncionamiento.

Page 78: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 78/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 78

Solución:

ac=[ a - b*kc; ko*c a- ko*c- b*kc] ;bc=[ b; b] ;  cc=[ c c*0; c*0 c] ;  

dc=[ 0; 0] ;

[y , t , x] =i ni t i al ( ss(ac, bc, cc, dc) , x0, t) ;  

f i gure pl ot ( t , x( : , 1: 3) ) ,t i t l e ( ' Regul ador con observador ' ) ,xl abel ( ' Ti empo ( s) ' )  l egend( ' \ al pha' , ' q' , ' \ thet a' ) ,  

0 2 4 6 8 10 12 14 16 18 20-0.05

0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45Regulador con observador 

Tiempo (s)

 

q

h=f i gur e;  subpl ot (221) , pl ot ( t , x( : , [1 4] ) ) ,xl abel ( ' Ti empo ( s) ' ) ,  t i t l e ( ' x_1 y x_4: \ al pha y suest i maci ón' )  subpl ot (222) , pl ot ( t , x( : , [2 5] ) ) ,xl abel ( ' Ti empo ( s) ' ) ,  t i t l e ( ' x_2 y x_5: q y suest i maci ón' )  subpl ot (223) , pl ot ( t , x( : , [3 6] ) ) ,xl abel ( ' Ti empo ( s) ' ) ,  t i t l e ( ' x_3 y x_6: \ t het a y suest i maci ón' )  set(h, ' name' , ' Regul ador másobser vador ' , ' number t i t l e' , ' o f f ' )  

0 5 10 15 20-0.2

0

0.2

0.4

0.6

Tiempo (s)

x1 y x

4:  y su estimación

0 5 10 15 20-2

0

2

4

6x 10

-3

Tiempo (s)

x2 y x

5: q y su estimación

0 5 10 15 20-0.1

0

0.1

0.2

0.3

Tiempo (s)

x3 y x

6:  y su estimación

 

Page 79: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 79/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 79

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 usadoen su diseño.

Típicamente, el controlador se diseña a partir de un modelo nominal  G0  de la planta y no  de unhipotético modelo “perfecto” Greal   puesto que éste no existe. El modelo nominal G0 es, por reglageneral, 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 posibleobtener exactamente Greal , igualmente habría que simplificarlo a fin de poder diseñar a partir de élun controlador realizable.

La consecuencia es que  siempre  existe  incertidumbre  en el modelo usado para diseñar elcontrolador. 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 eluso de la retroacción a fin de aprovechar sus propiedades desensibilizadoras, pero también el uso deté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 laobtención de controladores que se adaptan a las variaciones y perturbaciones de la planta. Al finaldel 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 retroactivade un grado de libertad (1DOF, One Degree of Freedom) de la Fig. 15, donde K  es el controladorrobusto y G  la planta incierta. Las entradas exógenas r  y d  corresponden respectivamente a la señalde consigna y al ruido aditivo actuando sobre el sistema.

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 .

Fig. 16. Planta con incertidumbre multiplicativa

K G 0

r

d

_

W  m     y  G 

u G   

K G 

r

_

  y u G e 

Page 80: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 80/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 80

La matriz de transferencia en lazo cerrado T  que relaciona el vector de salida con elvector de entrada del sistema de la Fig. 15 es

(1)

Los elementos de T son funciones de sensibilidad. En particular, T 22 es la función de sensibilidadde Bode y T 11 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 establey (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 unacondició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 delcontrolador 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 aconformar 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 unintegrador.

  La pendiente suave en el paso por 0dB es un requerimiento de estabilidad, el objetivo es queen el crossover  la fase esté alejada de -180º.

  Finalmente, la ganancia baja a altas frecuencias es necesaria para poder filtrar el ruido demedida y, en la medida de lo posible, atenuar el efecto de la incertidumbre a altas

frecuencias. Notar que, si , entonces y

.

Page 81: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 81/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 81

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 queasegurar es que el lazo esté por encima de una cota a bajas frecuencias y por debajo de otra a altasfrecuencias. El valor de estas cotas se puede deducir de los teoremas de robustez expuestos en elTema 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 comportamientorobusto

,

 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 y1 rad/s. Esta especificación de diseño puede expresarse por medio de la siguiente función de ponderación:

Page 82: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 82/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 82

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.

10-2

10-1

100

101

102

103

-30

-20

-10

0

10

20

30

Frecuencia (rad/s)

   M  a  g  n   i   t  u   d   (   d   B   )

Funciones de ponderación

|Wm

|

|Ws|

10-2

10-1

100

101

102

103

-30

-20

-10

0

10

20

30

Frecuencia (rad/s)

   M  a  g  n   i   t  u   d   (   d   B   )

Plantillas de robustez

   

  

   

  

 

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, suponemosque 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. Nohabrá 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í elvalor de es 13.15, con lo que el error de seguimiento es .

10-2

10-1

100

101

102

103

-40

-30

-20

-10

0

10

20

30

40

50

Frecuencia (rad/s)

   M  a  g  n   i   t  u   d   (   d   B   )

Primer diseño

a=13.15

|L0|

|T0W

m|+|S

0W

s|

10-2

10-1

100

101

102

103

-40

-30

-20

-10

0

10

20

30

40

50

Frecuencia (rad/s)

   M  a  g  n   i   t  u   d   (   d   B   )

Segundo diseño

a=93.39

|L0|

|T0W

m|+|S

0W

s|

 (a) (b)

Fig. 18. Conformación del lazo. Diseños 1 y 2

Page 83: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 83/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 83

En definitiva, el máximo error de seguimiento conseguido en la banda [0, 1] es del 7.6%. Para verel nivel de robustez alcanzado hay que calcular el valor de para todas lasfrecuencias y buscar su valor máximo. Este resulta ser . Al ser menorque 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 larobustez. Por ello, nos planteamos un segundo diseño.

Segundo diseño:  Si permitimos que la pendiente del lazo sea más fuerte, podremos aumentar elnivel 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 seintroduce para tener una pendiente suave en el crossover  y el valor de 20 sirve, al igual que en elcaso 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 sigueasegurando 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 deincertidumbre era pequeño. En las bandas frecuenciales donde la incertidumbre es elevada es muydifícil, si no imposible, conseguir un comportamiento preciso. Por tanto, está claro que en la etapade 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 decontrol 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 lazodebe 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 elcaso del diagrama polar y en el campo de la QFT reciben el nombre de templates. Por ejemplo, laFig. 19 muestra las regiones de incertidumbre a las frecuencias 0.1, 5, 10, 50 y 100 de la siguientefamilia paramétrica de plantas.

(2)

Para definir las regiones basta con representar la respuesta frecuencial de las plantas “límite”.

Page 84: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 84/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 84

-300 -250 -200 -150 -100 -50 0 50-90

-80

-70

-60

-50

-40

-30

-20

-10

0

  = 0.1

  = 5

  = 10

  = 50

  = 100

Regiones de incertidumbre

Fase (grados)

   M  a  g  n   i   t  u   d   (   d

   B   )

 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 esnecesario que cumpla ninguna condición especial. En este ejemplo la planta nominal corresponde ala planta donde se han etiquetado los valores de frecuencia. Esta planta es (k 01, 05 y b 030),

2.2.2 Plantillas para el diseño

Las regiones de incertidumbre anteriores junto con el modelo nominal y las especificaciones en lazocerrado definen unas regiones “prohibidas” en el plano de Nichols, esto es, unas regiones donde ellazo nominal no debe entrar si queremos satisfacer las especificaciones de comportamiento demanera robusta. Estas regiones reciben el nombre de bounds.

Especificaciones de estabilidad:  Éstas resultan en regiones prohibidas para el lazo nominalalrededor del punto crítico -1 (ver Fig. 20). Notar que en el plano de Nichols el punto crítico -1corresponde al origen de coordenadas (-180º, 0dB) y, por tanto, cuanto más alejado esté el lazo dedicho punto más robustez tendremos.

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 magnituden la función sensibilidad complementaria:

‐1

Im

Re‐180º,0dB

dB

Fase

Page 85: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 85/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 85

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 secumpla 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 margende ganancia de al menos 1.66 (no simultáneo con el de fase). La Fig. 21(a) muestra la plantilla deestabilidad para la familia paramétrica del ejemplo a  =5rad/s y con  =1.2.

-240 -220 -200 -180 -160 -140 -120 -100 -80-40

-30

-20

-10

0

10

20Plantilla para estabilidad robusta,   = 5

Fase (grados)

   M  a  g  n   i   t  u   d   (   d   B   )

-350 -300 -250 -200 -150 -100 -50 0-20

-15

-10

-5

0

5

10

15Plantilla para rechazo de perturbaciones a la entrada,  = 5

Fase (grados)

   M  a  g  n   i   t  u   d   (   d   B   )

 (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,

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 esobtenerlas solo hasta el ancho de banda útil del sistema. La Fig. 21 (b) muestra la plantillacorrespondiente a la condición de rechazo de las perturbaciones a la entrada de la planta

‐1

Im

Re‐180º,0dB

dB

Fase

Page 86: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 86/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 86

,

 particularizada para el caso  =5rad/s y  =0.01.

Especificaciones en el esfuerzo de control:  Así como las especificaciones de reducción desensibilidad buscan aumentar la ganancia de lazo, las especificaciones de limitación del esfuerzo decontrol buscan reducir la ganancia del lazo. En este caso también es posible deducir regiones prohibidas. Éstas se muestran en la siguiente figura:

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):

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

K G 

r

_

  y u G e

v d 

‐1

Im

Re‐180º,0dB

dB

Fase

Page 87: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 87/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 87

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 posiblerepresentar todas estas plantillas, para diversas frecuencias, en el plano de Nichols. Para facilitar eldiseño, antes de proceder a la conformación del lazo, se intersectan todas las plantillas (ver Fig. 25).

-350 -300 -250 -200 -150 -100 -50 0-50

-40

-30

-20

-10

0

10

20

1

111

1 2

2

2

33

3

Plantillas para estabilidad y comportamiento robustos

Fase (grados)

   M

  a  g  n   i   t  u   d   (   d   B   )

 -350 -300 -250 -200 -150 -100 -50 0

-50

-40

-30

-20

-10

0

10

20Intersección de las plantillas

Fase (grados)

   M

  a  g  n   i   t  u   d   (   d   B   )

 

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 demanera interactiva con ayuda del programa MATLAB. La siguiente figura muestra los resultados para los casos

y

-350 -300 -250 -200 -150 -100 -50 0-50

-40

-30

-20

-10

0

10

20Conformación del lazo. Controlador 1

Fase (grados)

   M  a  g  n   i   t  u   d   (   d   B   )

=0.1=5

=10

=50

=100

-350 -300 -250 -200 -150 -100 -50 0-50

-40

-30

-20

-10

0

10

20Conformación del lazo. Controlador 2

Fase (grados)

   M  a  g  n   i   t  u   d   (   d   B   )

=0.1=5

=10

=50

=100

 

Fig. 26. Conformación del lazo frecuencia a frecuencia

El segundo controlador satisface las plantillas de comportamiento robusto en lazo abierto. Tambiénes posible analizar el sistema en lazo cerrado resultante y ver si se satisfacen las especificaciones, esdecir, si las funciones de sensibilidad resultantes (para la planta de peor caso) están por debajo delas cotas especificadas. La siguiente figura muestra que, efectivamente, es así para el caso del

segundo controlador:

Page 88: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 88/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 88

10-2

10-1

100

101

102

103

-45

-40

-35

-30

-25

-20

-15

-10

-5

0

5

Función de sensibilidad complementaria y = 1.2

Frecuencia (rad/s)

   M  a  g  n   i   t  u   d   (   d   B

   )

 

 = 1.2

cota superior de |L/(1+L)|

cota inferior de |L/(1+L)|

 

10-2

10-1

100

101

102

103-50

-40

-30

-20

-10

0

10

20

30

Frecuencia (rad/s)

   M  a  g  n   i   t  u   d   (   d   B   )

Función de sensibilidad de rechazo de perturbaciones a la salida y H(s)

 

|H(j)|

cota superior de |1/(1+L)|

cota inferior de |1/(1+L)|

 

10-2

10-1

100

101

102

103

-130

-120

-110

-100

-90

-80

-70

-60

-50

-40

-30

Frecuencia (rad/s)

   M  a  g  n   i   t  u   d   (   d   B   )

Función de sensibilidad de rechazo de perturbaciones a la entrada y =0.01

 

=0.01

cota superior de |G/(1+L)|

cota inferior de |G/(1+L)|

 Fig. 27. Análisis del diseño en lazo cerrado

Page 89: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 89/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 89

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 desíntesis, esto es, dados los modelos de la planta nominal, incertidumbre y especificaciones así comoun índice de comportamiento, basta con aplicar un algoritmo numérico de optimización paraobtener 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 delos parámetros del controlador).

Por otro lado estos métodos son muy utilizados puesto que funcionan tanto para sistemas SISOcomo MIMO. En estos últimos lo que se conforma son los valores singulares tanto del lazo comode las funciones de sensibilidad y existe una versión especial para el caso de incertidumbresestructuradas, 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 comotransformación fraccional lineal (LFT,  Linear Fractional Transformation) o transformación deMöbius. Se definen la LFT inferior y la LFT superior (ver Fig. 28).

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 generaru.

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

w

u  v

z

Ks 

Ps 

w

u

 

z

N

y

 

Page 90: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 90/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 90

Y la relación entre las entradas w y las salidas z viene definida por la LFT inferior , cuyaexpresió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 dela 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 .

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 ocomplejos). Para el caso de perturbaciones estructuradas la llamada síntesis   da mejores resultadosque los métodos H ∞ estándar. El valor singular estructurado   se define como:

(5)

donde es el máximo valor singular de .

w

u  v

z

Ks 

Ps 

u

 y

 

Page 91: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 91/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 91

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 controlgeneralizada mostrada en la Fig. 29. Para ello basta con reorganizar los bloques del sistema decontrol.

Por ejemplo, la Fig. 30 muestra un sistema de control cuya planta incierta está descrita por medio desu modelo nominal y un modelo de incertidumbre multiplicativa inversa ydonde las especificaciones se refieren al esfuerzo de control u mediante la función de ponderaciónW u.

Fig. 30. Sistema con incertidumbre multiplicativa inversa y especificaciones sobre el esfuerzo de control u 

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.

G 0s 

K s 

W  i s 

u  

e u G

w 2d

 y 

 y  

_

Ps 

u    r 

W  u s z u   z 1 

v

w 1r

u  

G s 

r u  

d

W  i s W  u s 

z u

G 0 K s e u G 

_

 y G 

u  

 y

 y  

Page 92: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 92/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 92

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, porejemplo, 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 nominimiza directamente la norma infinita de sino que, dado un valor  , encuentra uncontrolador 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 hasido capaz de obtener un controlador estable y estabilizador. Para que el algoritmo dé lugar a unasolución deben cumplirse una serie de condiciones, por ejemplo, que D12  y D21  de la plantaaumentada 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 comoiteración D-K  que consiste en minimizar una cota superior de  , es decir, en calcular el K ( s) tal queminimiza 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,

.

Page 93: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 93/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 93

Fig. 32. Parametrización de Youla

Finalmente cabe comentar que, en la práctica, es habitual conformarse con controladoressubó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 larobustez 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 delas herramientas de MATLAB. A fin de poder contextualizar las prestaciones de dicho controladorcon respecto a otras estrategias se diseño, el resultado obtenido se comparará con otros doscontroladores: uno clásico (PID diseñado por cancelación) y uno adaptativo (reguladorautosintonizado).

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:

5

10.2

20 40 60

m

t  

0 10 20 30 40 50 60-3

-2

-1

0

1

2

3

Tiempo (s)

  r   (   t   )

 ,  y   (   t   )

Planta en lazo abierto

 

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  

Kcs 

Qs 

Ks 

v  u

Page 94: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 94/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 94

como perturbaciones del parámetro nominal, y diseñar en consecuencia un controlador robustocapaz 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 deincertidumbre aditiva inversa

,

donde escogemos . Así, los otros dos casos (m 0.2 y m 0.5) quedan contemplados en lafamilia. 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 ala planta incierta por medio de la LFT superior mostrada en la Fig. 34 y la Fig. 35.

 yu

 yu

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 verqué 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

Page 95: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 95/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 95

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:

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  enré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 .

Fig. 36. Realización de estado del bloque de especificaciones W  S .

Bs  Cs1/s

s

Ds

z

e

G 0K 

W  S

r e u 

_

z G 

Page 96: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 96/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 96

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 siguientesté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 . Notarque .

Si se obtiene un valor de superior a la unidad entonces la solución es subóptima. Aún así, unaná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, elcontrolador central será de tercer orden ya que su orden coincide con la suma de los estados de G 0,W  s  y W  ia  (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. Pordefecto, 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 losresultados de cada iteración:   tentativa, autovalores de los Hamiltonianos usados en la solución de

u  

 y B0  C0

u

C

1/s

0

x

D12

r

W  s

_

 y  

e

z

Page 97: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 97/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 97

las dos ecuaciones de Riccati y de dichas soluciones, , , y radio espectral del producto de lassoluciones .

Por ejemplo, para una selección de las especificaciones de , y elresultado es:

Reset t i ng val ue of Gamma mi n based on D_11, D_12, D_21 t er ms

 Test bounds: 0. 5000 < gamma <= 100. 0000

gamma hamx_ei g xi nf _ei g hamy_ei g yi nf _ei g nrho_xy p/ f100. 000 1. 4e+000 2. 6e- 002 1. 1e- 010 - 4. 8e- 009 0. 0008 p50. 250 1. 4e+000 2. 6e- 002 7. 0e- 011 0. 0e+000 0. 0030 p25. 375 1. 4e+000 2. 7e- 002 7. 0e- 011 0. 0e+000 0. 0122 p12. 938 1. 4e+000 2. 9e- 002 7. 0e- 011 0. 0e+000 0. 0500 p6. 719 1. 4e+000 3. 9e- 002 7. 0e- 011 0. 0e+000 0. 2494 p3. 609 3. 3e- 016# ** ** ** * 7. 0e- 011 0. 0e+000 ** ** ** f5. 164 1. 4e+000 5. 9e- 002 7. 0e- 011 0. 0e+000 0. 6308 p4. 387 1. 4e+000 1. 2e- 001 1. 9e- 009 - 4. 4e- 010 1. 7424# f4. 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 p4. 674 1. 4e+000 8. 3e- 002 7. 0e- 011 0. 0e+000 1. 0650# f4. 720 1. 4e+000 7. 9e- 002 7. 0e- 011 0. 0e+000 1. 0029# f4. 725 1. 4e+000 7. 9e- 002 7. 0e- 011 0. 0e+000 0. 9961 p4. 722 1. 4e+000 7. 9e- 002 3. 1e- 019 # ** ** ** * ** ** ** f4. 722 1. 4e+000 7. 9e- 002 3. 1e- 019 # ** ** ** * ** ** ** f

Gamma val ue achi eved: 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.

10-2

10-1

100

101

102

-45

-40

-35

-30

-25

-20

-15

-10

-5

0

5

   M  a  g  n   i   t  u   d  e   (   d   B   )

 

Sensibilidad. M = 2, b = 0.7,  = 4.7251

Frequency (rad/sec)

m=1

m=5

m=0.2

 10

-210

-110

010

110

2-45

-40

-35

-30

-25

-20

-15

-10

-5

0

5

   M  a  g  n   i   t  u   d  e   (   d   B   )

 

Sensibilidad. M = 10, b = 0.3,  = 4.7828

Frequency (rad/sec)

m=1

m=5

m=0.2

 

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.

Page 98: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 98/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 98

0 10 20 30 40 50 60-2

-1

0

1

2

Controlador robusto. M = 2,b = 0.7, = 4.7251

  r   (   t   ) ,  y   (   t   )

0 10 20 30 40 50 60-10

-5

0

5

10

Tiempo (s)

  u   (   t   )

 

0 10 20 30 40 50 60-2

-1

0

1

2

Controlador robusto. M = 10,b = 0.3, = 4.7828

  r   (   t   ) ,  y   (   t   )

0 10 20 30 40 50 60-1

-0.5

0

0.5

1

Tiempo (s)

  u   (   t   )

 

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. Aefectos 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. Sinembargo, cuando m 5 el PID es incapaz de eliminar las oscilaciones. Los controladores robustosanteriores no presentan un comportamiento tan bueno cuando m 1  pero mantienen la respuestamás o menos uniforme para todos los valores de m .

y

u

planta variante

excitación

x' = Ax+Bu y = Cx+Du

controlador 

 

0 10 20 30 40 50 60-2

-1

0

1

2Controlador PID

  r   (   t   ) ,  y   (   t   )

0 10 20 30 40 50 60-20

-10

0

10

20

Tiempo (s)

  u   (   t   )

 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 controladoradaptativo 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 LeastSquare 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 larespuesta 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 decontrol, se han sustituido los ringing poles por su ganancia estática.

Page 99: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 99/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 99

0 10 20 30 40 50 60-2

-1

0

1

2

  r   (   t   ) ,  y   (   t   )

Controlador Dahlin adaptativo (sin ringing p oles), ff=1, fd=1

0 10 20 30 40 50 60-2

-1

0

1

2

Tiempo (s)

  u   (   t   )

0 10 20 30 40 50 60-2

-1

0

1

2

  r   (   t   ) ,  y   (   t   )

Controlador D ahlin adaptativo (sin ringing poles), ff=0.945, fd=1000

0 10 20 30 40 50 60-10

-5

0

5

10

Tiempo (s)

  u   (   t   )

 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 laidentificació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, elcontrolador se resiente y el conjunto no es capaz de eliminar las oscilaciones asociadas a m 5. Encambio, en la Fig. 41(b), se ha utilizado un factor de olvido de 0.945 y un factor de desconfianza de1000 con lo cual la estimación es más rápida y precisa y por tanto el sistema se comporta mejor. Enconcreto, 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 deestimación paramétrica simple y estimación paramétrica mejorada con factores de olvido ydesconfianza. En este último caso el regulador autosintonizado es muy superior al resto decontroladores. 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, cadaaplicació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 (NASAHiMAT) 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] ;

Page 100: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 100/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 100

D = [ 0 0;0 0] ;

Las variables de estado son: las perturbaciones alrededor del vector de velocidad (V), el ángulo deataque (), la velocidad de variación de la actitud (q), el ángulo de actitud (), el ángulo del primeractuador-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:

Sobre la función de transferencia complementaria T(s).400

)10(20)(3

 s

 s sW   

Sobre la función de transferencia S(s): )15.0(

)10(5.0)(1

 s

 s sW   

Objetivo: Obtener un controlador serie estable, que estabilice al sistema y minimice la siguientefunción de coste (mixed sensitivity problem):

 

T W 

S W 

3

1  

Se pide:

1)  Analizar la planta sin control. Introducir las matrices de estado de la planta (ag,bg,cg,dg) yanalizar 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 nomínima? (c) Obtener el diagrama de Bode de su respuesta frecuencial. Puesto que el sistema esMIMO representar en dB la magnitud de sus valores singulares.

2)  Especificaciones. Representar el diagrama de Bode de magnitud de las inversas de lasfunciones de ponderación, 1/W1 y 1/W3.

3)  Síntesis del controlador robusto. Calcular el controlador robusto que minimiza la normainfinita 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 sensibilidadobtenida junto con las especificaciones 1/W 1. ¿Se cumplen? (c) Dibujar la respuesta

frecuencial de la función de sensibilidad complementaria obtenida junto con lasespecificaciones 1/W 3. ¿Se cumplen?

Page 101: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 101/174

Page 102: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 102/174

Page 103: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 103/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 103

Todos los actuadores se agrupan en una cámara de climatización externa a la habitación. Estacámara de climatización recoge el aire de la habitación, lo trata y lo vuelve a inyectar. Por el hechode ser externa se ve afectada por la temperatura T ext   y humedad absoluta  H ext   del exterior de lahabitación.

Se dispone además de dos sensores: un termómetro y un sensor de humedad relativa. Este último esmuy sensible a la humedad absoluta y a la temperatura. Ambos sensores están situados en la rendijade salida del aire.

 puerta

habitación400 m3

T , h 

humidificadorcalefacción refrigeración

cámara de climatización

T

h

flujo externode aire

T ext 

 H ext 

aireuc   u f    uh

 

 Modelo matemático de la planta

En el interior de la habitación la temperatura es dT dT T T    230   y la humedad vale

dh RH dhhh   500 . En el exterior los valores son ext ext ext    dT T T    0,   y

ext ext ext    dH  H  H    0, .

El conjunto formado por la habitación y la cámara de climatización puede modelarse en forma dematriz de funciones de transferencia:

 

 

 

 

 

  

 

 f 

h

c

ext 

ext 

u

u

u

dH 

dT 

 sdh

dT )(G   ,

con

2.0211318)1(55.0)1(8.1

501001

)112)(12(

1)(

 s s s

 s

 s s sG .

 Especificaciones. Objetivos del control

Puesto que la especificación es mantener T   y h  constantes, el diseño se centrará en mantener lasdesviaciones alrededor del punto de equilibrio dT  y dh tan pequeñas como sea posible. Y ello conun esfuerzo de control (consumo) razonable.

Solución

Page 104: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 104/174

Page 105: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 105/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 105

302015 25105 12 23 C  

0.024

0.018

0.012

0.006

equiv.50 RH  a23C  

humedad

dew point

C.F.

C.I.

Paso 1.  Para una humedad relativa de 50 RH   la temperatura de rocío correspondiente (dew-pointtemperature) es de 12C . El primer paso es pues enfriar el aire extraído hasta los 12C .

Paso 2.  La cantidad de agua correspondiente a 50  RH , 23C   es, según la gráfica, de 0.008.

Manteniendo la temperatura constante (a 12C ) se inyecta la cantidad de agua suficiente paraconseguir 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 23C .

habitación400 m3 T , h 

calefacciónref rigeración humidificador  

cámara de climatización

T 1 

h

flujo externode aire

T ext  

 H ext  

aireu f   uh   uc

 PI  

 PI   T 2

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 deT ext  y  H ext , pero no se entera de los cambios de la carga de la habitación (número de personas, puertas abiertas...)

Page 106: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 106/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 106

 3)  Solución multivariable. Controlador óptimo H   

habitación400 m3 T , h 

humidificador calefacción refrigeración

cámara de climatización

T

h

flujo externode aire

T ext  

 H ext  

aireuc   u f    uh

controlador multivariable 

 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.

G( s)K ( s)

We( s)

W y( s)

Wu( s)

w2 

yue

z1

z2

w1 

z3

P( s)

K ( s) 

zw

u y

donde

TW

KSW

SW

PK w

z

 y

u

e

l  F  s

 s

),()(

)(

  recibe el nombre de transformación fraccional lineal

( Linear Fractional Transformation).

3)  Calcular, con ayuda de los algoritmos disponibles, el controlador K   tal que el sistema de laFigura anterior es internamente estable y se cumple que:

mín 

TW

KSW

SW

 y

u

e

  , con 1)(   GK IS  y GK GK IT 1)(    

Page 107: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 107/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 107

 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 deque las variaciones en la temperatura y humedad interiores se mantengan cercanas a cero.

  El vector de control T  f hc   uuuu  se penaliza con la matriz de ponderación

)(00

0)(0

00)(

)(

 sW 

 sW 

 sW 

 s

uf 

uh

uc

uW  

donde12

190035.0)(

 s

 s sW uc   y

19

1901.0)()(

 s

 s sW  sW    uf uh .

Es decir, se trata de que el radiador reaccione rápido a las perturbaciones rápidas mientras queel humidificador (y/o la refrigeración) se deja para las perturbaciones más lentas.

 

El vector de salida

dhdt y se penaliza con la matriz

10

01

)19)(190(

90)(

 s s s yW  

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:

10 -3  10 -2  10-1

10  101

10 -2 

10 -1 

10 0

 

10 1 

[rad/min] 

W uc W uh = W uf  

10-3

10-2

10-1

100

10 10

-3

10-2

10-1

100

101

102

[rad/min]

W  y 

omg = l ogspace( - 3, 1) ;

wu11 = nd2sys( [ 90 1] , [ 2 1] , 0. 035) ;wu22 = nd2sys( [ 90 1] , [ 9 1] , 0. 1) ;vpl ot ( ' l i v, l m' , f r sp( wu11, omg) , f r sp( wu22, omg) ) , gr i d on, xl abel ( ' [ r ad/ mi n] ' )

wy11 = nd2sys( 1, conv( [ 90 1] , [ 9 1] ) , 90) ;vpl ot ( ' l i v, l m' , f r sp( wy11, omg) ) , gr i d on, xl abel ( ' [ r ad/ mi n] ' )

 Diseño del controlador de tres salidas (Calor – Humedad – Frío)

La configuración estándar es la de Figura,

Page 108: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 108/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 108

)112)(12(

)1(55.0)1(8.1

01

)(

 s s

 s s

 s

 sext G  

)112)(12(

2.0211318

5010

)(

 s s

 s suG  

)( suW  

)( s yW  

)( sK   

++

 

 

 

 

 f 

h

c

u

u

u

u  

 

  

 

ext 

ext 

dH 

dT  

 

  

 

dh

dT y  

w

z1 

z2 

donde las matrices de ponderación son:

19

1901.000

019

1901.00

0012

190035.0

)(

 s

 s s

 s s

 s

 suW   y

10

01

)19)(190(

90)(

 s s s yW  

La función que calcula el controlador tal que mín 

SW

KSW

 y

u  en Matlab es hi nf syn  y el

código es como sigue:

% f unci ones de ponderaci ón wu = daug( wu11, wu22, wu22) ;wy = daug( wy11, wy11) ;

% subsi st ema dependi ent e del cont r ol  Gu = abv( sbs( g13, g14, g15) , sbs( g23, g24, g25) ) ;

% pl ant a gener al i zada syst emnames=' Gu wu wy' ;i nput var =' [ ext {2}; u{3}] ' ;out put var =' [ wu; wy; ext+Gu] ' ;i nput _t o_Gu=' [ u ] ' ;i nput _t o_wu=' [ u ] ' ;i nput _t o_wy=' [ ext +Gu] ' ;sysout name=' P' ;cl eanupsysi c=' yes' ;sys i c;

% cál cul o del cont r ol ador  nmeas=2; ncon=3; gmi n=0. 1; gmax=5; t ol =1e- 3;[ K, LFT] =hi nf syn( P, nmeas, ncon, gmi n, gmax, t ol ) ;

 Test bounds: 0. 1000 < gamma <= 5. 0000

gamma hamx_ei g xi nf _ei g hamy_ei g yi nf _ei g nrho_xy p/ f5. 000 1. 1e- 002 - 2. 1e- 015 1. 1e- 002 - 6. 1e- 016 0. 0000 p

Page 109: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 109/174

Page 110: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 110/174

Page 111: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 111/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 111

 Matrix Function Description (MFD):  Puesto que G(s) es una matriz racional, puede expresarsecomo

)()(

1)(   s

 sd  s NG    

siendo d ( s) el mínimo común múltiplo mónico de los elementos g ij( s) y N( s) una matriz polinomial.

Pero también es posible expresar G( s) como cociente de dos matrices polinomiales coprimas, N yD,

1)()()(     s s s DNG  

Esta última representación recibe el nombre de matrix function description y nos permite obtener unmayor 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 elconjunto más pequeño de variables que determinan el estado del sistema de forma que, conociendo

su valor a t =t 0 y el valor de la entrada para t ≥t 0, el comportamiento del sistema queda totalmentedescrito para cualquier t ≥t 0.

Un sistema dinámico se puede representar por medio de ecuaciones diferenciales (ED) ordinariasdonde el tiempo es la variable independiente. Por otro lado, una ED de orden n se puede expresarcomo 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 unaecuación de estado (EE).

La representación en el espacio de estado de un sistema MIMO es:

salida)de(ecuación

estado)de(ecuación

DuCxy

BuAxx

 

donde las dimensiones son nnA  (n: número de estados),  pnB , nqC ,  pqD .

En los sistemas MIMO, en vez de escribir las dos últimas ecuaciones, lo que se hace a veces esutilizar una notación mixta:

DC

BAG(s)  

Conversiones entre representaciones:  El paso de EE a G( s) es directo: Si con condiciones inicialesnulas se aplica la transformada de Laplace a las EE,

)()()(

)()()(

 s s s

 s s s s

DUCXY

BUAXX

 

y se expresa Y( s) en función de U( s), )()( 1  s s s UDBAICY      se obtiene

DBAICG     1)(   s s  

En cambio el paso de G( s) a EE no da un resultado único (tanto en SISO como en MIMO):

Page 112: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 112/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 112

Ejemplo 25. Comprobar que la función de transferencia1

)( 2

 s s

 s sG  admite las siguientes

dos representaciones en EE:

0110

1221

01000010

)(1   sG   y

010

111

010

)(2   sG 

Comprobación vía Matlab:

>> [ num, den] =ss2t f ( [ 0 - 1; 1 - 1] , [ 0; 1] , [ 0, 1] , 0) ;>> zpk( t f ( num, den))Zer o/ pol e/ gai n:

s- - - - - - - - - - - - - -( s 2̂ + s + 1)

>> [ num, den] =ss2t f ( [ 0 1 0; 0 0 1; - 1 - 2 - 2] , [ 0; 0; 1] , [ 0, 1, 1] , 0) ;>> zpk( t f ( num, den))Zer o/ pol e/ gai n:

s ( s+1)- - - - - - - - - - - - - - - - - - - -( s+1) ( s 2̂ + s + 1)

>> mi nr eal ( zpk( t f ( num, den) ) ) %r eal i zaci ón mí ni maZer o/ pol e/ gai n:

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:

   

 pq pnnnnq pq

 s s

DBAICG

1)(  

 Formas canónicas y realizaciones mínimas:  Por ello es necesario contar con formas canónicas yrealizaciones mínimas. Estas últimas se obtienen mediante la cancelación de polos y ceros cercanosy con la eliminación de estados poco controlables y/o observables y redundantes. En el ejemploanterior 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 delas componentes de Y( s) tiende a infinito. Son, por tanto, los polos de los g ij( s).

Los ceros son los valores de  s para los cuales Y( s)=0. La salida es nula cuando G( s)=0. Los cerosde G( s) son los polos de G-1( s). Puesto que

Page 113: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 113/174

Page 114: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 114/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 114

  En cuanto a la simplificación o bien se modelan los fenómenos en multiescalas temporalesen 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 laintuición se suelen tomar variables de interpretación física inmediata. No se trata tanto de obtenerun conjunto mínimo de variables sino de obtener un juego de variables significativas. Estas últimasestán a menudo interrelacionadas entre sí incluso en instantes temporales diferentes y son las quecomponen el llamado sistema descriptor:

DuCxy

BuAxxE

 

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 dimensionesarbitrarias. Por otro lado, la representación del sistema por medio del sistema descriptor es típica delos LSS los cuales se estudian como un conjunto de sistemas interconectados. La interconexión nosiempre 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 desdela ó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 unasalida que con 3 entradas y 5 salidas ya que se trata de una representación inherentementemultivariable.

2)  Los métodos frecuenciales de la teoría de control clásica están pensados para los sistemasSISO (a menudo SLI) y cuando se aplican a sistemas MIMO, incluso en los casos mássencillos, es inevitable que aparezca el tanteo  (solución no única). De hecho, los métodosfrecuenciales son gráficos, se basan en relaciones entrada/salida y son iterativos. Eldiseñador analiza una respuesta frecuencial o un lugar de las raíces, diseña el controlador demanera gráfica, investiga la respuesta del sistema y repite este procedimiento hasta que seda por satisfecho. La “ventaja” del espacio de estado en este caso es que da lugar amétodos sistemáticos (solución única).

 Aplicaciones aerospaciales:  El control moderno funciona bien en aplicaciones aeroespaciales. Dehecho, debe su existencia a las investigaciones que en este campo se llevaron a cabo en las décadasde 1950 y 1960 (en los EEUU) y al desarrollo de la capacidad de cálculo de los computadoresdigitales 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 naturalezaestocástica pero conocida y se pueden describir como ruido blanco.

Page 115: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 115/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 115

2)  Lo importante en estos problemas es la gestión de recursos, en particular el mínimoconsumo de los retrocohetes. Esta gestión tiene una traducción inmediata en la forma deoptimizació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 elcriterio escogido.

 Aplicaciones terrestres industriales. Incertidumbre:  Fuera de estos problemas tan concretos elLQG no tiene aplicación práctica. Sobre todo en los problemas industriales donde el proceso acontrolar es a menudo muy complejo y no totalmente conocido y donde además las perturbacionesexternas 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 acontrolar, a la imprecisión de los dispositivos de medida, a las tolerancias de fabricación y a lasimplificació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 perotienden 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 loscontroladores mediante algoritmos matemáticos. En condiciones de incertidumbre, si el modelo dela planta es pobre, el control muy probablemente también lo será. En las aplicaciones industrialesno sale a cuenta hacer el esfuerzo de obtener modelos muy precisos (y, sobretodo, lineales). Porello, 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 dealguno 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 deestos controladores.

 Inconvenientes del LQG:  En concreto, el principal inconveniente del LQG es que pone demasiadoel énfasis en la optimalidad y presta poca atención a la incertidumbre. Además, el “óptimo” notiene 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 existeninguna 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 correctamenteQ, R , W y V y, por otro lado, si el problema es demasiado complejo la misma cantidad decálculo no hace aplicable el LQG.

3)   Poco robusto: está demostrado teórica y experimentalmente que al intentar añadir realismoal 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étodosde estado, en el Reino Unido algunos grupos de trabajo se centraron en la generalización de lastécnicas frecuenciales SISO estándar para el caso de sistemas MIMO.

Lugar geométrico de las raíces  Lugar característicoCriterio de Nyquist   Técnicas vectoriales de Nyquist

Page 116: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 116/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 116

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 deldiseño gráfico (en lugar de síntesis) para la selección del controlador en el dominio frecuencial (yasí eliminar la necesidad de modelos de planta muy precisos). Son técnicas que necesitan muchoscálculos (aunque no son difíciles) y por ello no pudieron ser implementadas hasta que no sedesarrollaron 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 desalida) 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. Elanálisis de cada uno de sus elementos por separado es inadecuado ya que por un lado no nos dainformación del comportamiento del sistema como un todo y por otro quisiéramos estudiar elsistema en un solo gráfico. Por tanto, en lugar de trabajar directamente con la matriz de funcionesde 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 losautovalores  ( s) de una matriz funcional G( s) como las funciones que hacen que el polinomio

característico de la matriz G( s), )()(   s s GI    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 rangor  son las raíces cuadradas no negativas de los autovalores de G*G (G* es la traspuesta conjugada deG)

Page 117: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 117/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 117

))()(*(   s sii GG      

y se ordenan de forma que n        21 . 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 021       nr r          .

Una matriz con un valor singular cercano a cero está cerca de ser singular.

Ejemplo 26. Medida de la proximidad a la singularidad de la matriz

10

2501M  

1.  ¿Es M singular?

 No puesto que su determinante no es nulo: 1)det(   M

 

>> M=[ 1 250; 0 1]M =

1 2500 1

>> det ( M)ans =

1

2.  ¿Cuánto ha de variar el elemento m21 para que M sea singular?

1

2501 

21310402501   m       

(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 unvalor singular es muy pequeño)

>> ei g( M)ans =

1

1

>> svd( M)ans =

250. 00400. 0040

 Normas:  La norma es un concepto aplicable a vectores, matrices, señales y sistemas. Se define lanorma p de un vector n-dimensional como

Page 118: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 118/174

Page 119: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 119/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 119

variaciones. Y, aunque el entorno no varíe, el sistema deberá ser inmune a la incertidumbre delmodelo de la planta (dinámica no modelada,…)

Así pues:

Objetivo1)  Satisfacer comportamiento nominal

1.1)  Estabilidad1.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 laretroacción de salida:

Fig. 43. Lazo de control 

Transmitancias en lazo abierto:

  Ganancia directa: )()()(   s s s K GQ    (cuidado con el orden del producto. Recordar que

son matrices)  Ganancia de lazo: )()()()(   s s s s HK GL    

  Ganancia diferencia de retorno: )()(   s s LIF    

Transmitancias en lazo cerrado: Para H( s) = I 

  De r a e: 1)()()(     s s s K GIS   (sensibilidad)

  De r a u: 1)()()()(     s s s s K GIK R   

  De r a y: 1)()()()()(     s s s s s K GIK GT   (sensibilidad complementaria)

IST   )()(   s s  

Expresión de la salida y en función de r, d, n: SdTnTry    

Especificaciones nominales formuladas en términos de loop-shaping  (conformación del lazo)

1.  Tracking (seguimiento, BF): Interesa IT   )( j , por tanto, )( jL  ⇒ 1)(        jL  ⇒  1)(        jS .

K ( s) G( s)r( s) + e( s)

u( s)y( s)

 _

H( s)

d( s)+

+

++n( s)

Page 120: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 120/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 120

2.  Rechazo de las perturbaciones d (BF): Interesa )( jS  ⇒  1)(        jS  ⇒ 

1)(        jL . Esto es compatible con las especificaciones de tracking.

3.  Rechazo del ruido de medida n (AF): Interesa )( jT  ⇒  1)(        jT  ⇒ 

1)(        jL  ⇒  IS   )( j .

Así, interesa que los diagramas de valores singulares de L, S y T tomen las siguientes formas:

Fig. 44.  Especificaciones

log    log    log   

0 dB 0 dB 0 dB

 i(L)  i(S) i(T)

Page 121: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 121/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 121

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 dependende más de una entrada. Este hecho hace imposible controlar cada una de las salidas de formaindependiente y tampoco permite la aplicación de las herramientas de diseño SISO a dichossistemas. Puesto que cada canal de control producirá respuesta en varias salidas de la planta, esdifí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ñosSISO independientes por medio del desacoplo. Desacoplar una planta es conseguir que cada una desus 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 paracontrolar 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 dedesacoplamiento 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) ya veces también post-compensadores L( s) en serie con la planta (en un caso general, este último noes muy recomendable puesto que “desordena” las salidas):

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 esantidiagonal. 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)

contiene la inversa de la planta y una matriz diagonal (s), 

)()()( 1  s s s   ΛGK    , entonces el lazo

resultante )()()()()()()( 1  s s s s s s s   ΛΛGGK GL    

 es diagonal.

Diagonalización (por transformación modal): La diagonalización implementa la descomposición

modal de G(s), )()()()( 1  s s s s PGPΛ 

 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 compensadorescalculados 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

K ( s) G( s) L( s)

 precompensador planta postcompensador

Page 122: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 122/174

Page 123: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 123/174

Page 124: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 124/174

Page 125: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 125/174

Page 126: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 126/174

Page 127: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 127/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 127

donde

1

)(

)(

)(

)()()()()(

     

 s

 s

 s

 s s s s s

F

L

Q

HK GIK GT .

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 latransformación conforme det(F( s)) permite definir una versión multivariable del criterio deestabilidad de Nyquist:

El sistema de la Fig. 47 es estable si y solo si el número de vueltas que da la transformaciónconforme det(F( s)) alrededor del origen en sentido antihorario (cuando  s  recorre un contorno de

 Nyquist D en sentido horario), )0(

)(det   s N  F , es igual al número de polos del sistema en lazo abierto

en el semiplano derecho i

 s P 

)(Q.

i

 s s   P  N  )()0(

)(det QF    

Técnicas vectoriales de Nyquist (Nyquist Array Techniques):  La aplicación del criterio deestabilidad de Nyquist en sistemas MIMO se simplifica mucho si la matriz F(s) es diagonaldominante ya que entonces se cumple:

  i

 s f  s   ii N  N  )0(

)()0(

)(det F  

donde f ii( s) son los elementos de la diagonal de F( s).

Dependiendo de cómo calculemos los )0(

)(det   s N  F   tenemos dos técnicas vectoriales diferentes: INA

( Inverse  Nyquist Array) y DNA ( Direct Nyquist Array).

Criterio INA. Inverse Nyquist Array:  Suponer que invertimos la matriz 1)()()(     s s s FQT . El

resultado es 11 )()()(     s s s QFT . De ahí podemos sacar dos conclusiones: la primera es que

  1

1

)(det)(det)(det

 s s s

QTF . Así, el número de vueltas (horarias) del )(det   sF  alrededor del origen

será:

  )0(

)(det

)0(

)(det

)0()(det 11    

 s s s   N  N  N QTF  

La segunda conclusión es que

HQQHQIQFT     1111 )()()()()()(   s s s s s s  

Llamando 1ijq   a los elementos de Q

-1, 1ijt    a los elementos de T

-1 y suponiendo H  diagonal con

elementos hi, tenemos que iijij   hqt      11 .

Page 128: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 128/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 128

Si Q-1  es diagonal dominante (es decir, si todas las bandas de Gershgorin de los elementos 1iiq  

excluyen el origen) tenemos que

      i

q s   ii N  N  )0()0(

)(det 11Q 

Si T-1  es diagonal dominante (es decir, si todas las bandas de Gershgorin de los elementos 1

iiq  

excluyen los puntos – hi) tenemos que

     

i

h

qi

t  si

iiii N  N  N  )()0()0(

)(det 111T 

Por tanto, el número de vueltas en sentido antihorario de det(F(s)) alrededor del origen será

 

   

i

h

qq si

iiii

 N  N  N  )()0()0()(det 11F  

y para que el sistema sea estable deberán ser igual al número de polos inestables en lazo abierto,i

 s P  )(Q .

Criterio INA: Si las bandas de Gershgorin de 1iiq  excluyen el origen y los puntos – hi, entonces el

sistema es estable si y solo si

iQ

i

h

qq  P  N  N    i

iiii  

)()0(

11  

Criterio DNA. Direct Nyquist Array:  La matriz diferencia de retorno se puede expresar como

HQHHQIF )()()( 1  s s s     . Por tanto, HQHF det)(det)(det 1  s s     . Si H  es

una matriz constante

  )0(

)(det

)0()(det 1  s s   N  N 

QHF  

Si )(1  sQH     es diagonal dominante (es decir los elementos qii  excluyen el punto 1   ih )

tendremos que

   

 

i

h

qi

hqi

iiiii N  N  N  )()0()0(

det

1

11 QH 

En resumen,

Criterio DNA: Si las bandas de Gershgorin de qii excluyen los puntos 1   ih , entonces el sistema

será estable si y solo si

iQ

i

h

q  P  N    i

ii

  )( 1

 

Page 129: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 129/174

Page 130: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 130/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 130

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 loslazos simultáneamente.

En un sistema MIMO, los márgenes de estabilidad garantizados vienen dados por:

 

1

1 MG

   

  

2arcsin2

    MF   

donde   es una cota inferior de )(    jF , )(         jF  

Page 131: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 131/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 131

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 suconsulta.

3.3.1 Control por inversión de planta

Método: Si la inversa de G( s) existe, podemos poner un precompensador K  p=G-1( s) tal que en

cascada con G( s) lo que consigue es la matriz identidad, IGGGK      )()()()( 1  s s s s p . 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 K d ( s) en cascadacon los polos y ceros necesarios para tener la dinámica global deseada.

El controlador total será, pues, )()()()()(1

 s s s s s   d d  p K GK K K  

.

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 deceros 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 ladinámica deseada para todo el sistema). Los controladores de orden grande son difíciles deimplementar 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

K d ( s) G( sr( s) + e( s) u( s) y( s)

 _

/n

/n

/n

K  p( s)

K ( s)

Page 132: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 132/174

Page 133: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 133/174

Page 134: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 134/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 134

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 st 

n s 01.0

4

  se selecciona 1429.57

40

  n . Por tanto el compensador dinámico es:

)800(

10265.30

0)800(

10265.3

)( 5

5

 s s

 s s sd K   

El controlador total (realización mínima) es:

 

)94041110(10488.310488.3)94041110(

)800(1)()()(

5

51

 s s

 s s s s s   d K GK   

cl ose al l , cl ear al l , cl c%pl ant a wo=2*pi *50;L=3. 4e- 3;R=28. 8e- 3;G11=t f ( ( - 1/ L) *[ 1 R/ L] , [ 1 2*R/ L ( R/ L) 2̂+wo 2̂] ) ;G12=t f ( ( 1/ L) *wo, [ 1 2*R/ L ( R/ L) 2̂+wo 2̂] ) ;G21=- G12;G22=G11;G=[ G11 G12; G21 G22] ; zpk( G)%precompensador i nversor  Kp=i nv( G) ;%compensador di nàmi c z=0. 7; wn=400/ z; %t s=0. 01 r pt =5%z=1; wn=400/ z; %t s=0. 01 r pt =0%k11=t f ( wn 2̂, [ 1 2*z*wn 0]) ;Kd=[ k11 0; 0 k11] ,%cont r ol ador t otal  K=Kp*Kd; K=mi nr eal ( K) ; t f ( K)

La respuesta indicial a cada una de las entradas del sistema controlado es:

0 0.02 0.04 0.06 0.08 0.1-1

0

1

2

Control por inversión. Respuesta a r 1=escalón

 

y1

y2

u1

u2

0 0.02 0.04 0.06 0.08 0.1-2

-1

0

1

2

Control por inversión. Respuesta a r 2=escalón

 

y1

y2

u1

u2

 %anàl i si  

Page 135: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 135/174

Page 136: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 136/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 136

3.3.2 El método de los lugares característicos

Lugares característicos:  Considerar el esquema de la figura,

Fig. 50. Lazo de control MIMO de un grado de libertad

La función de transferencia del camino directo es )()()(   s s s K GQ   . 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 estosautovalores recibe el nombre de “lugar característico”.

El “polinomio característico” del camino directo es )(det   s s QI   y también traza un lugar en el plano s.

Diagonalización:  La transformación modal es la que permite diagonalizar las matrices:

)()()()(),...,(diag)( 11   s s s sq sq s   n WQWΛ

   

Las columnas de la matriz modal W( s) son los autovectores de Q( s) y, al ser una transformación desimilaridad, 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 unamatriz diagonal, es decir,

)()()()( 1  s s s s   WΛWQ   donde )(),...,(diag)( 1   sq sq 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 porsí solo es suficiente para determinar la estabilidad del sistema entero.

W-1(s)

r( s) + e( s) y( s)

 _

/n

/n W(s)

q1( s)

q n( s)

.

.

.

K ( s) G( s)r( s) + e( s) u( s) y( s)

 _

/n

/n

/n

Page 137: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 137/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 137

Se puede demostrar (Owens, 1978) que el sistema en lazo cerrado de la Fig. 51 (con retroacciónunitaria) es equivalente al siguiente sistema H( s),

)()(),...,(diag)()( 11   s sh sh s s   n

WWH  

donde)(1

)()( sq

 sq shi

ii

.

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íainteracción. W contiene los autovectores de Q=GK , por tanto, se trata de diseñar K  de manera queW sea diagonal. Pero es difícil: (1) W varía con la frecuencia y (2) en un producto de matrices, nose conoce la relación entre los autovectores del producto de matrices con los autovectores de cadauna 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 )(...)(1   sq sq   n ,entonces )(...)(1   sh sh   n  y el lazo cerrado será )()()()()( 1

11   sh s sh s s    

IWIWH  

Aproximación 2: Si usamos ganancias grandes en K , los valores característicos también serángrandes 1)(    sqi  y entonces conseguiremos 1)(    shi  con lo que IH   )( s . 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 (enrelación con la dinámica del sistema): bajas frecuencias, frecuencias intermedias y altas frecuenciasy se diseñan compensadores para cada una de las bandas

Paso 1: Altas frecuencias. Se diseña un pre-compensador constante K a  que diagonalice W( s) aaltas frecuencias. El camino directo será pues G( s)K a. Se diseña constante porque el diseño delcompensador que diagonaliza W( s) es muy complicado. Por ello nos conformaremos con hacer eldiseño a una única frecuencia en la banda de altas frecuencias (que diagonalice de maneraaproximada y en cierto sentido a W( s)) y comprobar que su efecto se mantiene en una bandaalrededor de esta frecuencia. Si no es así, se busca otro compensador constante y otro y otro hastaque estemos satisfechos.

Un método para diseñar este controlador es usar la alineación de autovalores (Edmunds andKouvaritakis, 1979). Se trata de un algoritmo que alinea los autovectores de una matriz con losvectores de la base que forman el espacio vectorial donde se hallan estos autovectores. En nuestrocaso, resulta que si los autovectores qi( s) tienen el mismo orden (es decir, la fase final de todos es la

W-1(s)

r( s)y( s)

W(s)

h1( s)

h n( s)

.

.

.

Page 138: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 138/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 138

misma) la aplicación de este algoritmo consigue que los autovectores qi( s) se alineen a altasfrecuencias.

Para ello se puede usar la función de matlab “align” pero hay que ir con cuidado. Al trabajar conautovectores, sólo trabaja con direcciones y no con información de escala. Por ello, el compensadorobtenido tiene un signo arbitrario con lo que hay que investigar los lugares característicosresultantes 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 queforman 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 K acc con la estructura mostradaen 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)K a. (Nota: no

confundir A, B con las matrices de estado). Igual que antes A, B se obtienen constantes a una únicafrecuencia pero se espera que su efecto se deje notar en una banda de frecuencias a lado y lado deesta frecuencia de diseño.

Fig. 53. Compensación a altas frecuencias y a frecuencias intermedias 

Este compensador a frecuencias intermedias recibe el nombre de “controlador conmutativoaproximado”. “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)K a. Es decir,el resultado es el mismo si se sitúa K acc antes de Q( s) o bien después de Q( s):

                       

                       

)(

11

)(

11

)(1

1

)(

11

)()(),...,(diag)()()(),...,(diag)(

)()(),...,(diag)()()(),...,(diag)(

 s

n

 s

n

 s

n

 s

n

acc

acc

 s sk  sk  s s sq sq s

 s sq sq s s sk  sk  s

K Q

QK 

WWWW

WWWW

 

(De todas formas, en la práctica no conviene poner K aac 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, lasfunciones de transferencia k i( s) se diseñan con técnicas SISO para cada uno de los lazos y elobjetivo 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)k i( s). Para no estropear el desacoplo a altas

B  G( s)r( s) + e( s) u( s) y( s)

 _

/n

/n

/n

K  a( s)A 

k 1( s)

k  n( s)

.

.

.

K  acc( s)

Page 139: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 139/174

Page 140: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 140/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 140

G12=t f ( - 0. 52, [ 10. 1 1] ) ;G21=t f ( - 0. 54, [ 10. 4 1] ) ;G22=t f ( 1. 04, [ 2. 6 1] ) ;G=[ G11 G12; G21 G22] ;[ a, b, c, d] =ssdat a( G) ;

%r espuest a f r ecuenci al  

w=l ogspace(- 2, 2) ;Gw=mv2f r ( a, b, c, d, w) ;

%aut oval ores cl =f ei g( w, Gw) ;%cl =csor t ( cl ) ;

f i gur esubpl ot ( 211) , semi l ogx( w, 20*l og10( abs( cl ) ) ) , gr i d, yl abel ( ' dB' ) ,t i t l e ( ' Lugar es caracter í st i cos de l a pl ant a neumát i ca' )subpl ot ( 212) , semi l ogx( w, angl e( cl ) *180/ pi ) , gr i d, yl abel ( ' gr ados' )xl abel ( ' Frecuenci a ( r ad/ s) ' )

ma=f mi sal g(w, Gw) ;

f i gure,semi l ogx(w, ma) , gr i d, xl abel ( ' Frecuenci a ( r ad/ s) ' )t i t l e ( ' Ángul os de desal i neami ent o' ) , yl abel ( ' gr ados' )

10-2

10-1

100

101

102

-80

-60

-40

-20

0

20

   d   B

Lugares característicos de la planta neumática

10-2

10-1

100

101

102

-100

-80

-60

-40

-20

0

  g  r  a   d  o  s

Frecuencia (rad/s)10

-210

-110

010

110

25

10

15

20

25

30

35

40

45

Frecuencia (rad/s)

Ángulos de desalineamiento

 

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ísticosno 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 nuestrocaso, los diagramas de magnitud de los autovalores son paralelos. Si somos capaces de alinear losautovalores 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:

8861.104827.6

4614.68761.49

aK   

Page 141: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 141/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 141

%compensaci ón a AF ( w=4rad/ s) por al i neami ent o Gw4=mv2f r ( a, b, c, d, 4) ;Ka=al i gn( Gw4),

Si representamos los valores característicos de Q( s)=G( s)K a  vemos que efectivamente hemos

mejorado el desacoplo a altas frecuencias puesto que ahí los autovalores ahora están alineados.Gwa=f mul ( w, Gw, Ka); cl a=f ei g( w, Gwa); cl a=csort ( cl a);f i gur esubpl ot ( 211) , semi l ogx( w, 20*l og10( abs( cl a) ) ) , gr i d, yl abel ( ' dB' ) ,t i t l e ( ' Lugares car act erí st i cos. Al i neami ent o a \ omega>4r ad/ s' )subpl ot ( 212) , semi l ogx( w, angl e( cl a) *180/ pi ) , gr i d, yl abel ( ' gr ados' )xl abel ( ' Frecuenci a ( r ad/ s) ' )maa=f mi sal g(w, Gwa) ;f i gure,semi l ogx(w, maa) , gr i d, xl abel ( ' Frecuenci a ( r ad/ s) ' ) , yl abel ( ' gr ados' )t i t l e ( ' Ángul os de desal i neami ent o. Al i neami ent o a \ omega>4rad/ s' ) ,

10-2

10-1

100

101

102

-40

-20

0

20

40

   d   B

Lugares característicos. A lineamiento a w>4rad/s

10

-2

10

-1

10

0

10

1

10

2-100

-80

-60

-40

-20

0

  g  r  a   d  o  s

Frecuencia (rad/s)10

-2

10-1

100

101

102

0

5

10

15

20

25

30

35

Frecuencia (rad/s)

Ángulos de desalineamiento

  g  r  a   d  o  s

 

Compensación a frecuencias intermedias: A frecuencias intermedias se diseña un ACC(approximate commutative controller ). Al igual que el pre-compensador K a, el ACC se diseña auna 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 lasmatrices 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 pordebajo 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 autovalormayor tal y como está y conseguir que el autovalor menor se alinee con el mayor.

Suponiendo que la planta precompensada por K a  es diagonal esto corresponde a diseñar doscompensadores independientes k 11( s) y k 22( s) siendo k 11( s)=1 y k 22( s) un controlador tal que tengauna ganancia en continua de 15dB, valga 0dB a 2rad/s y reduzca la fase del segundo autovalor paraalinearla con la del primero.

Page 142: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 142/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 142

Una buena opción para k 22 es un compensador de retardo (con una caída de 15 dB entre su polo y sucero). El cero (frecuencia codo superior) lo pondremos a la frecuencia a la que la diferencia entrelos dos autovalores es 3dB. Esta frecuencia resulta ser 0.43rad/s, por tanto,

0763.0

4292.0)(22

 s

 s sk    ,

)(0

0)()(

22

11

 sk 

 sk  sd K   

%compensaci ón a FI  k1n=[ 1 0] ; k1d=[ 1 0] ; %k1=1 %f i l t r o de r et ar do di f _guany=20*l og10( abs( cl a( : , 1) ) ) - 20*l og10( abs( cl a( : , 2) ) ) ;i nx=f i nd( di f _guany<=3) ; i nx=i nx(1) ; w( i nx) , %w=0. 3765 i nx=40 [ k2n, k2d] =phl ag( - 15, w( i nx) )% numeradors i denomi nadors del s l l aços nums=[ k1n; k2n] ;dens=[ k1d; k2d] ;

Ahora hay que elegir a qué frecuencia se obtendrán las matrices constantes A y B que aproximanW( s) y W

-1( s). Si se usa un compensador de avance-retardo, lo mejor es situarlo a la frecuenciadonde la diferencia de fases de los dos autovalores es mayor. Este punto es 0.1677rad/s y ahí ladiferencia de fases es de 45º.

%contr ol ador conmutat i vo apr oxi mado di f _f ase=abs(angl e( c l a( : , 1) ) - angl e(c l a( : , 2) ) ) ;i nx=f i nd( di f _f ase==max(di f _f ase) ) ; w( i nx), %w=0. 163 i nx=31 

El controlador conmutativo aproximado obtenido es:

)4313.0()5.650(0003.0

)5.650(107.5)0742.0(99.0

07632.0

1

)(0

0)()(

6

22

11

 s s

 s s

 s sk 

 sk  s

accBAK   

donde

9996.04902.0

0106.08703.0B   y

0060.15662.0

0122.01540.1A . Notar que la inversa de B  no

coincide exactamente con A

0064.15668.0

0122.01559.11B  

% di senyem ACC com [ ka, kb, kc, kd] ) :  

[ ka, kb, kc, kd, B, A] =f acc( w, Gwa, i nx, nums, dens) ; A, B, Ai nv=i nv(A)Kacc=ss( ka, kb, kc, kd) ; zpk(Kacc)

Los lugares característicos correspondientes a Q( s) = G( s) K a K acc son los siguientes

%anàl i si  Kaccw=mv2f r ( ka, kb, kc, kd, w) ;Qw=f mul f ( w, Gwa, Kaccw) ;cl q=f ei g( w, Qw) ; %cl q=csort ( cl q) ;  

f i gur esubpl ot ( 211) , semi l ogx( w, 20*l og10( abs( cl q) ) ) , gr i d, yl abel ( ' dB' ) ,

t i t l e ( ' Lugares car act erí st i cos. Compensaci ón a AF y FI ' )subpl ot ( 212) , semi l ogx( w, angl e( cl q) *180/ pi ) , gr i d, yl abel ( ' gr ados' )xl abel ( ' Frecuenci a ( r ad/ s) ' )

Page 143: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 143/174

Page 144: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 144/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 144

subpl ot ( 211) , semi l ogx( w, 20*l og10( abs( cl qb) ) ) , gr i d, yl abel ( ' dB' ) ,t i t l e ( ' Lugares car act erí st i cos. Compensaci ón a AF, FI y BF' )subpl ot ( 212) , semi l ogx( w, angl e( cl qb) *180/ pi ) , gr i d, yl abel ( ' gr ados' )xl abel ( ' Frecuenci a ( r ad/ s) ' )

maab=f mi sal g(w, Qbw) ;f i gure,

semi l ogx(w, maab) , gr i d, xl abel ( ' Frecuenci a ( r ad/ s) ' ) , yl abel ( ' gr ados' )t i t l e ( ' Ángul os de desal i neami ent o. 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 puedellevar el sistema a la saturación:

0 1 2 3 4 5 6

0

20

40

60

Control por lugares característicos. Respuesta a r 1=escalón

 

y1

y2

u1

u2

0 1 2 3 4 5 6-5

0

5

10

15

Control por lugares característicos. Respuesta a r 2=escalón

 

y1

y2

u1

u2

 

%anàl i si t emporal  Kt otal =Kb*Kacc*Ka;L=G*Ktot al ;

 T=f eedback( L, eye( 2) ) ; Tu=f eedback( Ktot al , G) ;t =l i nspace( 0, 6, 500) ; r =ones( l engt h( t ) , 1) ;f i gure,subpl ot ( 211) , y=l si m( T, [ r r*0] , t ) ; u=l si m( Tu, [ r r*0] , t ) ;pl ot ( t , y, t , u, ' - - ' ) , gr i d, l egend( ' y_1' , ' y_2' , ' u_1' , ' u_2' )t i t l e ( ' Cont r ol por l ugar es car act er í st i cos. Respuest a a r _1=escal ón' )subpl ot ( 212) , y=l si m( T, [ r*0 r ] , t ) ; u=l si m( Tu, [ r *0 r ] , t ) ;pl ot ( t , y, t , u, ' - - ' ) , gr i d, l egend( ' y_1' , ' y_2' , ' u_1' , ' u_2' )t i t l e ( ' Cont r ol por l ugar es car act er í st i cos. Respuest a a r _2=escal ón' )

Para resolver este problema hay que reducir la ganancia. Por ejemplo, con

8.00

018.01K   

 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)

Page 145: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 145/174

Page 146: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 146/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 146

0 1 2 3 4 5 6-5

0

5

10

Control por lugares característicos. Respuesta a r 1=escalón

 

y1

y2

u1

u2

0 1 2 3 4 5 6-5

0

5

10

Control por lugares característicos. Respuesta a r 2=escalón

 

y1

y2

u1

u2

 

Finalmente, el controlador total es ad b   s s s K BK AK K K    )()()( 1 ,

)5.0)(5498.0(7073.8)964.1)(5.0(1965.5

)06788.0)(5.0(1611.1)07372.0)(5.0(9626.8

)07632.0(

1)(

 s s s s

 s s s s

 s s sK   

Ejemplo 32.  Turbo-generador.  Se trata de un sistema estable en lazo abierto de 10 estados, 2entradas y 2 salidas (Limebeer and Maciejowski 85) 

)()( )()()(1)(

2221

1211

 s g  s g   s g  s g  s sG  

donde

)10942.993.58()37.406983.0(

)2345.0()042.1()667.1()10()75.10()66.17()(422

 s s s s

 s s s s s s s 

)10942.99.58()3608.0()229.1(

)10()97.10()73.17()10801.1()10801.1(104211.1)(42

771311

 

 s s s s

 s s s s s s g 

)10019.11083()414.1111.1(

)10()844.7()98.21()9.709()6.691(101369.1)(

1322

1321

 

 s s s s

 s s s s s s g  

)10275.110573.3()10168.146.39(

)188.1()667.1()81.10()24.36()10569.3(104054.4)(115252

51312

 

 s s s s

 s s s s s s g 

)10553.97.29()88.437667.0()9289.0(

)667.1()71.10()24.36()10423.4(108474.1)(422

151322

 

 s s s s s

 s s s s s g  

O, equivalentemente, en el espacio de estado:

Page 147: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 147/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 147

10000000000

06667.100000000

005603.942028.23292.2695.66895.66896.93096543.36.302

0088497.46558.267753.2029.68029.68674.949817.748.300027626.316507.0774.29465.756465.75675.105209173.1917.341

92.8740268.389268.389502.555068.1786092.07045.1667475.005.186

85.10540341.266341.266079.3801237.130379.14294.1146176.030.127

29.129014.67814.67873.96783448.212722.0101.291755.1121.324

0645.27339.34339.34080.63847.11847.1198109.11323.0

0000000010

A  

10000000000

06667.100000000T B  

000020743.0063203.049134.

0000000001C  

0000D  

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:

cl ose al l , cl ear al l , cl c%pl ant a ( t ur bo- 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 . . .  

Page 148: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 148/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 148

- . 20743 0. 00000 0. 00000 0. 00000 0. 0000] ;d = [ 0 0; 0 0] ;[ num1, den1] =ss2t f ( a, b, c, d, 1) ;G11=t f ( num1( 1, : ) , den1) ; G21=t f ( num1( 2, : ) , den1) ;[ num2, den2] =ss2t f ( a, b, c, d, 2) ;G12=t f ( num2( 1, : ) , den2) ; G22=t f ( num2( 2, : ) , den2) ;G=zpk( [ G11 G12; G21 G22] ) ,

Y obtenemos los polos y los ceros:

%pol os y ceros de t r ansmi si ón pol os=ei g( a) , cer os=t zer o( 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 notiene polos en el semiplano derecho es estable. Para tener estabilidad en lazo cerrado bastará quelos 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 sonde 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:

%r espuest a f r ecuenci al ( i ncl uye más punt os en f r eqs de i nt erés)  w = l ogspace( - 2, 2, 1000) ;w2 = [ 1. 1: 1. 72: 9. 9] ;w3 = [ 5. 5: 0. 3: 7. 7] ;w4 = 6. 34; %not a wn=6. 3539=abs( - 0. 3492 + 6. 3443i )  w = sor t ( [ w w2 w3 w4] ) ;

Gw=mv2f r ( a, b, c, d, w) ;%di agr amas de Bode f i gure,subpl ot ( 221) , mvdb( w, Gw, [ 1, 1] ) , t i t l e( ' G_1_1' ) ,subpl ot ( 222) , mvdb( w, Gw, [ 1, 2] ) , t i t l e( ' G_1_2' ) ,subpl ot ( 223) , mvdb( w, Gw, [ 2, 1] ) , t i t l e( ' G_2_1' ) ,subpl ot ( 224) , mvdb( w, Gw, [ 2, 2] ) , t i t l e( ' G_2_2' ) ,

Diagramas de Bode: Los elementos de la segunda columna son mayores que los de la primera (másde dos órdenes de magnitud de diferencia). Es debido a las unidades tomadas al construir elmodelo.

10-2

100

102

-100

-50

0

50

FREQUENCY

   M   A   G    d

   B

G11

10-2

100

102

-100

-50

0

50

100

FREQUENCY

   M   A   G    d

   B

G12

10-2

100

102

-150

-100

-50

0

FREQUENCY

   M   A   G    d

   B

G21

10-2

100

102

-50

0

50

100

FREQUENCY

   M   A   G    d

   B

G22

 

Page 149: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 149/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 149

Pero no es más que un factor de escala que podemos corregir con el siguiente precompensador:

01.00

011K 

 

La siguiente figura muestra los diagramas de Bode de la respuesta frecuencial de G( s)K 1 (notar elescalado):

10-2

100

102

-100

-50

0

50

FREQUENCY

   M   A   G    d

   B

Q11

10-2

100

102

-150

-100

-50

0

50

FREQUENCY

   M   A   G    d

   B

Q12

10-2

100

102

-150

-100

-50

0

FREQUENCY

   M   A   G    d   B

Q21

10-2

100

102

-100

-50

0

50

FREQUENCY

   M   A   G    d   B

Q22

 

%compensaci ón de l a segunda col umna K1=[ 1 0; 0 0. 01] ;Q=G*K1; Qw=f mul ( w, Gw, K1) ;f i gure,subpl ot ( 221) , mvdb( w, Qw, [ 1, 1] ) , t i t l e( ' Q_1_1' ) ,subpl ot ( 222) , mvdb( w, Qw, [ 1, 2] ) , t i t l e( ' Q_1_2' ) ,subpl ot ( 223) , mvdb( w, Qw, [ 2, 1] ) , t i t l e( ' Q_2_1' ) ,

subpl ot ( 224) , mvdb( w, Qw, [ 2, 2] ) , t i t l e( ' Q_2_2' ) ,

Y en las siguientes se muestran los diagramas de Bode y el diagrama polar de los valorescaracterísticos de G( s)K 1: 

10-2

10-1

100

101

102

-100

-50

0

50

FREQUENCY

   M   A   G    d

   B

Lugares característicos de G(s)K1

10-2

10-1

100

101

102

-200

-100

0

100

200

FREQUENCY

   P   H   A   S   E

-1 0 1 2 3 4 5 6 7-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

REAL

   I   M   A   G

Lugares característicos de G(s)K1

 

%l ugar es car act er í st i cos av=f ei g(w, Qw) ; %av=csor t ( av) ;  f i gure, pl otnyq(av) , t i t l e( ' Lugar es car act er í st i cos de G( s) K_1' ) ,f i gur e, pl ot bode( w, av) , subpl ot ( 211) ,

t i t l e ( ' Lugar es car act er í st i cos de G( s) K_1' ) ,

Page 150: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 150/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 150

Compensación a altas frecuencias: Se diseña un compensador para desacoplar el sistema porencima de 30rad/s (y a partir de dicha frecuencia) con ayuda de la función align.

%compensaci ón a al t as f r ecuenci as i nx = mi n( f i nd(w>=30) ) ;[ Qw30, w30] =f get f ( w, Qw, i nx) ; w30

K2=al i gn( Qw30) ,

8402.909192.0

3865.17854.5582K   

Los lugares característicos obtenidos se muestran en la siguiente figura:

Q=Q*K2; Qw=f mul ( w, Qw, K2) ;av=f ei g(w, Qw) ; %av=csor t ( av) ;  f i gure, pl otnyq(av) , t i t l e( ' Lugar es caracter í st i cos de G( s) K_1K_2' ) ,f i gur e, pl ot bode( w, av) , subpl ot ( 211) ,

t i t l e ( ' Lugar es caract er í st i cos de G( s) K_1K_2' ) ,

-1500 -1000 -500 0 500 1000-400

-200

0

200

400

600

800

REAL

   I   M   A   G

Lugares característicos de G(s)K1K

2

 

10-2

10-1

100

101

102

-50

0

50

100

FREQUENCY

   M   A   G    d

   B

Lugares característicos de G(s)K1K

2

10-2

10-1

100

101

102

-100

0

100

200

FREQUENCY

   P   H   A   S   E

 

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. Porotro lado, rebajaremos la ganancia (K 2  había introducido mucha ganancia a fin de “invertir” elcamino directo a =30rad/s y conseguir que a esa frecuencia valiera 0dB).

En definitiva, si añadimos el precompensador k m:

01.00

001.0mk   

Los nuevos lugares característicos son:

km=[ - 0. 01 0; 0 - 0. 01] ;Q=Q*km; Qw=f mul ( w, Qw, km) ;av=f ei g(w, Qw) ; %av=csor t ( av) ;  f i gure, pl otnyq(av) , t i t l e( ' Lugares caract erí st i cos de G( s) K_1K_2k_m' ) ,f i gur e, pl ot bode( w, av) , subpl ot ( 211) ,t i t l e ( ' Lugares caract erí st i cos de G( s) K_1K_2k_m' ) ,

Page 151: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 151/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 151

-10 -5 0 5 10 15-8

-6

-4

-2

0

2

4

REAL

   I   M   A

   G

Lugares característicos de G(s)K1K

2k

m

 

10-2

10-1

100

101

102

-100

-50

0

50

FREQUENCY

   M   A   G    d

   B

Lugares c aracterísticos de G(s)K1K

2k

m

10-2

10-1

100

101

102

-300

-200

-100

0

FREQUENCY

   P   H   A   S   E

 

Vemos que uno de los autovalores engloba al punto -1. Esto es debido principalmente al desfaseque 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 eldesalineamiento 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.

10-2

10-1

100

101

102

0

10

20

30

40

50

60Desalineamiento después de la compensación AF

Frecuencia (rad/s)

  g  r  a   d  o  s

 

%anál i si s de domdi ag mi sa=f mi sal g(w, Qw) ;f i gur esemi l ogx( w, mi sa) , t i t l e( ' Desal i neami ent o después de l a compensaci ón AF' )gr i d, xl abel ( ' Fr ecuenci a ( r ad/ s) ' ) , yl abel ( ' gr ados' )

Compensación a frecuencias intermedias: El controlador conmutativo aproximado sirve paramanipular los lugares característicos cerca de una frecuencia determinada. Puesto que lacompensació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. Vemosque 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 tantoconformaremos 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 -

Page 152: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 152/174

Page 153: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 153/174

Page 154: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 154/174

Page 155: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 155/174

Page 156: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 156/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 156

-10 -8 -6 -4 -2 0 2-5

-4

-3

-2

-1

0

1

2

3

4

5

REAL

   I   M   A   G

Lugares característicos con círculos M 1.0, 2.0 dB 7.636

7.923

8.374

9.01510.35

16.11

2.795

3.553

4.728

6.774

11.46

26.76

%anál i si s de est abi l i dad. cí r cul os M a 1dB y 2dB f i gure, pl ot nyq( av) , axi s([ - 10, 2 , - 5, 5] ) ; hol d on,pl ot nyq( mci r c([ 1, 2] ) )t i t l e ( ' Lugar es car acterí st i cos con cí r cul os M 1. 0, 2. 0 dB' ) ,mknyq( av, w) ,

Pero es conveniente (y mejor) representar también los valores singulares en lazo abierto

%val ores si ngul ares sv=f svd(w, Qw) ;f i gure, pl ot db( w, [ sv, av] ) ,t i t l e ( ' Aut oval or es y val or es si ngul ar es ( di seño f i nal ) ' ) ,

10-2

10-1

100

101

102

-80

-60

-40

-20

0

20

40

60

FREQUENCY

   M   A   G    d

   B

 Autovalores y valores singulares (diseño final)

 

Ahora analizamos el lazo cerrado. Hay una fuerte interacción oscilatoria desde la segunda entradahacia la primera salida cerca de la resonancia a 6rad/s y una interacción del 10% en las frecuenciasinferiores a ésta.

Page 157: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 157/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 157

10-2

100

102-60

-40

-20

0

20

FREQUENCY

   M   A   G    d

   B

[1,1]

10-2

100

102-100

-50

0

FREQUENCY

   M   A   G    d

   B

[1,2]

10-2

100

102

-100

-50

0

FREQUENCY

   M   A   G    d

   B

[2,1]

10-2

100

102

-30

-20

-10

0

FREQUENCY

   M   A   G    d

   B

[2,2]

 

%r esp f r eq Si st ema en l azo cer r ado  Tw=f f b( w, Qw) ;f i gur e, %axi s( [ - 2, 2, - 40, 10] )  subpl ot ( 221) , mvdb( w, Tw, [ 1, 1] ) , t i t l e( ' [ 1, 1] ' )subpl ot ( 222) , mvdb( w, Tw, [ 1, 2] ) , t i t l e( ' [ 1, 2] ' )subpl ot ( 223) , mvdb( w, Tw, [ 2, 1] ) , t i t l e( ' [ 2, 1] ' )subpl ot ( 224) , mvdb( w, Tw, [ 2, 2] ) , t i t l e( ' [ 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_est ab = 1/ max( max( svc) )mar gen_est ab =

0. 8756

10-2

10-1

100

101

102

-70

-60

-50

-40

-30

-20

-10

0

10

FREQUENCY

   M   A   G    d

   B

Valores singulares del lazo cerrado (diseño final)

 

%val ores si ngul ares del l azo cer r ado svc=f svd( w, Tw) ;margen_est ab = 1/ max( max( svc) )f i gur e, pl ot db( w, svc),t i t l e ( ' Val or es si ngul ar es del l azo cer r ado ( di seño f i nal ) ' )

Page 158: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 158/174

Page 159: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 159/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 159

16.2

04.1

14.10

54.011.10

52.0

176.11

02.1

)(2221

1211

 s s

 s s g  g 

 g  g  sG  

Se desea que cada lazo se comporte como un sistema de segundo orden con  n=1rad/s y  =0.5 (estoes tiempo de subida 10-90 de 1.6s y overshoot  del 15%). Usar el método de Perron-Frobenius paracalcular el controlador MIMO y verificar el comportamiento.

Solución:

La planta es

cl ose al l , cl ear al l , cl c%pl ant a ( pneumàt i ca)  G11=t f ( 1. 02, [ 11. 76 1] ) ;G12=t f ( - 0. 52, [ 10. 1 1] ) ;

G21=t f ( - 0. 54, [ 10. 4 1] ) ;G22=t f ( 1. 04, [ 2. 6 1] ) ;G=[ G11 G12; G21 G22] ;[ a, b, c, d] =ssdat a( G) ;

Y su respuesta frecuencial se calcula como:

%r espuesta f r ecuenci al pl ant a w=l ogspace(- 2, 2) ;Gw=mv2f r ( a, b, c, d, w) ;

En primer lugar hay que obtener el autovalor de Perron-Frobenius. Para ello, invertimos larespuesta frecuencial de la planta:

%i nver sa de l a r espuest a f r ecuenci al  i Gw=mvf r i nv(w, Gw) ;

Y hallamos su módulo, )(1   jG  

m=abs( i Gw) ; %modul r espost a f r eqüenci al i nver sa 

Para cada frecuencia obtenemos su versión diagonal igualando todos los términos de fuera de ladiagonal a cero.

omega=f di ag( w, f di ag( w, m) ) ;

Calculamos la “matriz de comparación normalizada”

. Esta se construye premultiplicando unamatriz 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 )(1  jG . Así, si una componente (para una

frecuencia concreta) de la matriz )(1   jG  es

d c

ba,

la correspondiente componente en la matriz de comparación normalizada es

Page 160: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 160/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 160

1/

/1

/10

0/1

d c

ab

d c

ba

aΓ  

gamma=f mul f ( w, mvf r i nv( w, omega) , m) ; %mat r i z de compar aci ón normal i zada 

Calculamos el autovalor de P-F (es el autovalor más grande de cada matriz de componentes de ) ylo representamos:

pf e=f per r on( w, gamma) ;f i gur e, pl ot db( w, pf e) ;t i t l e ( ' Aut oval or de Per r on- Frobeni us' )

10-2

10-1

100

101

102

2

2.2

2.4

2.6

2.8

3

3.2

3.4

3.6

3.8

FREQUENCY

   M   A   G    d   B

Autovalor de Perron-Frobenius

 

Está por debajo de 6dB a todas las frecuencias, por tanto, es posible conseguir la dominanciadiagonal con un pre-compensador diagonal.

Para calcular el pre-compensador que alcanza la dominancia diagonal en el INA hay que calcular elautovector de P-F por la izquierda. Estos autovectores serán también función de la frecuencia ytendrán tantos elementos como dimensiones (número de entradas y salidas) del sistema. Como elsistema es 22 ambos autovectores por la derecha y la izquierda tienen 2 elementos dependientes dela frecuencia.

A fin de reducir el número de compensadores dinámicos a diseñar forzamos a que el primerelemento del autovector valga 1 (0dB) a todas las frecuencias y así para el diseño solo habrá queajustar el segundo elemento.

%aut ovectors de Perr on- Frobeni us [ pf e, l hv, r hv]=f perr on( w, gamma);f or   i =1: l engt h( w) ,

l hv( i , : ) =l hv( i , : ) / l hv( i , 1) ;end, % nor mal i z 1er el ement =1 f i gure, pl ot db( w, l hv( : , 2)) ;t i t l e ( ' 2º el ement o del aut ovect orpor l a i zqui er da de Per r on- Frobeni us' )

Page 161: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 161/174

Page 162: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 162/174

Page 163: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 163/174

Page 164: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 164/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 164

3.3.4 Direct Nyquist Array

Método:

Este método intenta compensar el sistema para que sea aproximadamente diagonal. El diseñoentonces se completa diseñando controladores SISO para cada uno de los elementos de la diagonalde la planta compensada.

Ejemplos:

Ejemplo 34.  Turbogenerador. Diseño DNA.  Considerar de nuevo el turbogenerador. Calcularel 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 poloscomplejos conjugados poco amortiguados en 6.35rad/s con un coeficiente de amortiguamiento =0.055.

f or mat shor t e,[ wn, z] =damp(a) ;[ wn, z]ans =

2. 3446e- 001 1. 0000e+0006. 3539e+000 5. 4953e- 0026. 3539e+000 5. 4953e- 002

1. 0421e+000 1. 0000e+0001. 6667e+000 1. 0000e+0001. 0000e+001 1. 0000e+0001. 0746e+001 1. 0000e+0001. 7664e+001 1. 0000e+0003. 1532e+002 9. 3438e- 0023. 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- 0023. 0909e+002 4. 8004e- 0021. 1064e+001 1. 0000e+0001. 2548e+000 1. 0000e+0003. 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 debajode estas frecuencias la fase es constante y la pendiente de la ganancia se mantiene constante.

Diagramas de Bode:

%Respuest a f r ecuenci al pl ant a w=l ogspace(- 2, 2, 40) ;

w2=1. 1: 1. 72: 9. 9;w3=5. 5: 0. 3: 6. 7;w4=6. 34;

Page 165: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 165/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 165

w=sor t ( [ w, w2, w3, w4] ) ;Gw=mv2f r ( a, b, c, d, w) ;%Bode de Gw f i gur e, ax=[ 1e- 2 1e2 - 100 100] ;subpl ot ( 221) , mvdb( w, Gw, [ 1, 1] ) , t i t l e( ' Bode de [1, 1] ' ) , axi s (ax) ;subpl ot ( 222) , mvdb( w, Gw, [ 1, 2] ) , t i t l e( ' Bode de [1, 2] ' ) , axi s (ax) ;subpl ot ( 223) , mvdb( w, Gw, [ 2, 1] ) , t i t l e( ' Bode de [2, 1] ' ) , axi s (ax) ;

subpl ot ( 224) , mvdb( w, Gw, [ 2, 2] ) , t i t l e( ' Bode de [2, 2] ' ) , axi s (ax) ;%se añaden más puntos par a cubri r el r ango di námi co de l a pl ant a w5=l ogspace(2, 3, 10) ;[ Gw, w] = f i nser t ( w, Gw, w5, a, b, c, d) ;

10-2

100

102

-100

-50

0

50

100

FREQUENCY

   M   A   G    d

   B

Bode de [1,1]

10-2

100

102

-100

-50

0

50

100

FREQUENCY

   M   A   G    d

   B

Bode de [1,2]

10-2

100

102

-100

-50

0

50

100

FREQUENCY

   M   A   G    d

   B

Bode de [2,1]

10-2

100

102

-100

-50

0

50

100

FREQUENCY

   M   A   G    d

   B

Bode de [2,2]

 

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ándiagonal 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ál i si s de l a domi nanci a por col umnas cd=f cdom( w, Gw) ;f i gur e, pl ot db( w, cd) ,t i t l e ( ' Domi nanci a di agonal si n compensar . Col umnas 1 y 2' ) ,

10-2

10-1

100

101

102

103

-100

-80

-60

-40

-20

0

20

FREQUENCY

   M   A   G    d

   B

Dominancia diagonal sin compensar. Columnas 1 y 2

 

Page 166: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 166/174

Page 167: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 167/174

Page 168: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 168/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 168

Esta ponderación ha mejorado la dominancia alrededor de 4rad/s y 10rad/s pero a expensas deempeorarla 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íade fadj a altas frecuencias).

kf or m=[ 1 1 02 1 0] ;

[ kc, comdenc, f i t , cd2c] =f pseudo(w, Gw, 2, kf orm, wi ) ;

Accumul at i ng t he f r equency r esponses.f i tf i t =

6. 6927e- 002

10-2

10-1

100

101

102

103

-120

-100

-80

-60

-40

-20

0

20

FREQUENCY

   M   A   G    d

   B

Dominancia por columnas para la columna 2

 

planta

con compensador 

con compensador ponderado

otros órdenes

 

Hemos mejorado la dominancia a frecuencias intermedias (gracias a la flexibilidad adicional en elcompensador) 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:

kf or m=[ 1 0 0 - 12 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 PILa fila 2 es un PID

[ kd, comdend, f i t , cd2d] =f pseudo(w, Gw, 2, kf orm, wi ) ;

Accumul at i ng t he f r equency r esponses.

f i tf i t =

8. 9302e- 007

kd =

0 1. 5016e- 002 2. 1338e- 002- 1. 9475e- 005 - 1. 3805e- 004 - 4. 6401e- 005comdend

Page 169: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 169/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 169

comdend =0 0 1

10-2

10-1

100

101

102

103

-120

-100

-80

-60

-40

-20

0

20

FREQUENCY

   M   A   G    d

   B

Dominancia por columnas para la columna 2

 

plantacon compensador con compensador ponderadootros órdenes

PI+PID

 

El resultado ahora ya es satisfactorio con lo que se puede pasar al diseño del control por lazosindependientes.

3.3.5 Inverse Nyquist Array

El llamado  Inverse Nyquist Array  consiste en una matriz de diagramas de Nyquist, uno porelemento de G-1(j ).

Ejemplo 35.  Planta chapter 13 of [O'Reilly87]. Control vía INA.  Considerar la planta:

12

2

10010

115

1

)5)(1(

4

)(

22221

1211

 s s s

 s s s s

 s

 g  g 

 g  g  sG  

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 sistemasinversos.

Puesto que se va a usar un pre-compensador diagonal, lo único que podemos cambiar es la

dominancia por columnas (por eso usaremos fcgersh).

Page 170: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 170/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 170

Dibujamos el INA, con los círculos en los elementos 11 y 22. Vemos que el sistema no es diagonaldominante puesto que las bandas de Gershgorin engloban el origen.

-200 0 200-100

0

100

200

300

REAL

   I   M   A   G

-1 -0.5 0 0.5-30

-20

-10

0

10

REAL

   I   M   A   G

-10 0 10 20-150

-100

-50

0

50

REAL

   I   M   A   G

-50 0 50-50

0

50

100

150

200

REAL

   I   M   A   G

 

Diseño del pre-compensador de desacoplo (tal que Q-1 sea diagonal domninante, Q=GK)con ayudade los autovalores de Perron-Frobenius.

% Per r on- Fr obeni us ei genval ues can be used t o desi gn a di agonal  % - 1 % pr ecompensator K so t hat ( GK) wi l l be di agonal l y domi nant .  

% Fi r st cal cul at e t he nor mal i sed compar i son mat r i x of i f g % ( see Ref erence Manual ent r y f or FPERRON) :  

Matriz de comparación normalizada:

m=abs( i Gw) ;  omega = f di ag( w, f di ag( w, m) ) ;  nc = f mul f ( w, f i nv( w, omega) , m) ;  

Autovalores y autovectores de P-F:

[ v, l , r ] = f per r on( w, nc);  

La representación de los autovalores de p_F en función de la frecuencia indica los márgenes defrecuencia 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 autovaloresde P-F es menor que 2 (6dB).

Page 171: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 171/174

Page 172: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 172/174

Page 173: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 173/174

Tema 5. Control avanzado

ETSETB. Sistemas Electrónicos de Control 1314a 173

-40 -20 0 20 400

50

100

150

REAL

   I   M   A   G

d = 1

-40 -20 0 20 400

50

100

150

REAL

   I   M   A   G

d = 5

-40 -20 0 20 40

0

50

100

150

REAL

   I   M   A   G

d = 10

-40 -20 0 20 40

0

50

100

150

REAL

   I   M   A   G

d = 50

  Notar que se estrechan a medida que aumenta la ganancia.

Respuesta temporal:

0 0.5 1 1.5-0.5

0

0.5

1Response to demand on output 1

0 0.5 1 1.50

0.2

0.4

0.6

0.8Response to demand on output 2

 

Page 174: EJEMPLOS DE DCK CON MATLAB

7/21/2019 EJEMPLOS DE DCK CON MATLAB

http://slidepdf.com/reader/full/ejemplos-de-dck-con-matlab 174/174