Está en la página 1de 57

3.

DISEÑO DE CONTROLADORES ANALÓGICOS


POR MÉTODOS DE ESPACIO DE ESTADO

Si bien la condición de controlabilidad se ha demostrado


para el caso más general, esto es, un sistema MIMO en el
que tanto la señal de entrada u(t) como la de salida y(t)
son vectores, el cálculo matriz de realimentación K se
vuelve mucho más complicado cuando el control es
multivariable que cuando se trata de monovariable. El
control multivariable excede las pretensiones de este
curso, por lo cual, en los diseños que siguen, se
considerarán sistemas SISO o SIMO exclusivamente.
 En este capítulo, las competencias a adquirir es el diseño
de sistemas de control usando la realimentación del vector
de estado. La técnica de ubicación de polos permite situar
los polos del sistema en lazo cerrado en la posición
deseada por el diseñador, de modo que su comportamiento
se adecue a lo que éste desee. Se demuestra que la
condición necesaria y suficiente para que el sistema admita
que sus polos en lazo cerrado se ubiquen en cualquier
posición del plano s, es que el sistema sea completamente
controlable.
. Cuando no es posible medir todos los estados de la planta
para utilizarlos en el vector de realimentación, se estiman
los estados necesarios a partir de la información disponible
de la planta. Se demuestra que la condición necesaria y
suficiente para que el vector de estado se pueda estimar es
que el sistema sea completamente observable
Diseño de controladores analógicos por
ubicación de polos
Introducción
La técnica de diseño de controladores mediante la
realimentación de estado consiste en realimentar las variables
de estado a la entrada mediante una matriz de ganancia K
cuyos coeficientes son constantes. En la figura siguiente
se muestra el diagrama de bloques de un sistema de
control mediante la realimentación de estado.
RESUMEN

Se presentan las técnicas para diseñar un compensador o controlador para


un sistema regulado. que redundará en obtener polos de lazo cerrado en la
ubicación deseada, que hagan que el regulador tienda a cero de manera
eficiente. Suponemos que todas y cada una de las variables de estado es
medida y por lo tanto el vector de estado es conocido y que podemos
generar la señal de control a partir de dicho conocimiento.
Una condición para poder generar la señal de control para la ubicación de
los polos de lazo cerrado es que exista Controlabilidad de estado completo.
La ubicación de los polos a su vez viene determinada por los requisitos que
se establecen tanto para la respuesta en tiempo como para la respuesta en
frecuencia del sistema compensado.
Otro factor que incide sobre la ubicación de los polos es el actuador, pues
si éste se satura de manera indeseable ello nos obligará a colocar los polos
más cerca del eje imaginario.
El diseño del controlador o compensador para la ubicación de
polos de lazo cerrado, cuando tenemos una sola entrada y una sola
salida se fundamenta en elegir al par de polos dominantes de tal
manera de obtener un factor de amortiguamiento relativo ρ deseado
y una frecuencia natural no amortiguada ωn De este modo
suponemos que el efecto de los polos dominados es insignificante.
Sin embargo al especificar todos los polos de lazo cerrado tenemos
un costo asociado porque hacerlo requiere de mediciones exitosas
en todas las variables de estado, o bien requiere de la
implementación de un observador de estado en el sistema.
También requerimos que el sistema sea controlable para que los
polos se ubiquen en posiciones elegidas de manera arbitraria .
Consideremos un sistema de control

x  Ax  Bu (1)
Y  Cx  Du
x = vector de estado (n x 1)
u = señal de control (escalar)
A = matriz de estado (n x n)
B = matriz de control (n x 1)
Las matrices A y B son conocidas y constantes.
Elegimos la señal de control mediante la
retroalimentación lineal del estado:
u = -Kx (2)
La matriz K de n x 1 se denomina matriz de
ganancia de la retroalimentación de estado
 suponemos que la señal de control u no se satura en
ningún valor.
Sustituyendo la fórmula (2) en (1) resulta
x(t) = (A − BK)x(t) (3)
La solución para este sistema regulador viene dada por

x(t )  e( A BK )t x(0) (4)


En donde x(0) es el estado inicial provocado por alguna
perturbación externa que ya no está presente. La estabilidad y la
velocidad de la respuesta transitoria dependen de los valores principales
de la matriz A - BK. Si elegimos la matriz K de manera adecuada,
la matriz A -BK se convierte en una matriz que producirá
estabilidad de manera asintótica y será factible lograr que x(t)
tienda al origen conforme aumenta el tiempo. Los
eigenvalores(valores propios) de la matriz A- BK. Se
denominan como polos reguladores. Si estos se ubican en el
lado izquierdo del plano complejo s entonces x(t) tenderá al
origen. El problema de ubicar los polos de lazo cerrado en los
lugares deseados constituye el tópico central .
En la figura 1(a) se ilustra el sistema dado por Ecuacion(1) y en la
figura 1(b) al sistema retroalimentado dado por ecuacion (4).

 
X  X
X

Figura 1 a) Proceso en lazo abierto b) Regulador con u = -Kx


Y

Sistema de control en lazo cerrado con u=-Kx.


Condición necesaria y suficiente para la ubicación de
polos

Si asumimos que la magnitud de la señal de control u no está restringida y la


elegimos mediante
 k11 k12 ....k1n   x1 
.................  . 
  
u = -Kx= ..................  . 
  
 kr1 ............krn   xn 

el sistema se convierte en un sistema de control de lazo cerrado según se exhibe


en la figura 1(b) y la evolución temporal del vector de estado viene dada por (4).
Notar que los valores principales de la matriz A - BK (denotados por μ1, μ2 ,.
. .μn) son los polos de lazo cerrado deseados.
Probaremos que una condición necesaria y suficiente para la ubicación arbitraria
de polos es que el sistema posea controlabilidad.
Podemos demostrar que si el sistema no es controlable de estado completo,
existen valores principales de A - BK. que no se controlan mediante la
retroalimentación de estado.
MÉTODOS PARA DETERMINAR LA MATRIZ K
(1) DETERMINACIÓN DE K MEDIANTE TRANSFORMACION

 Para demostrar la condición de suficiencia es útil transformar la ecuación de


estado dada mediante la ecuación (1) mediante la transformación a la forma
canónica controlable T mediante:
 T = MW (1.1)
 en donde M es la matriz de controlabilidad
 M = [ B ! AB !. . .!A n-1B] (1.2)
 y la matriz no singular

(1.3)

En donde las ai son los coeficientes del polinomio característico de A


|SI-A | = s n + a 1 s n-1+……. + a n-1s + an (1.4)
DETERMINACION DE K MEDIANTE
(2)
TRANSFORMACION

Se define un nuevo vector de estado Y mediante


x = TY (1.5)
Si el rango de la matriz de controlabilidad M es n
(lo que significa que el sistema es de estado
completamente controlable), entonces existe la
inversa de la matriz T y la ecuación (1) se
convierte en.

1 1
Y  T ATY  T Bu (1.6)
DETERMINACION DE K MEDIANTE
(3)
TRANSFORMACION

En donde
Condición
DETERMINACION
necesaria DE
y suficiente
K MEDIANTEpara la
ubicación de polos(5)
TRANSFORMACION

Seleccionemos al conjunto de valores principales


deseados como μ1 , μ2,. . .,μn. En este caso la
ecuación característica deseada se convierte en

( S  1 )( S  2 )...........( S  n )  S n  1S n1  ..... n  0 (1.7)

u   KTY

Y  T 1 ATY  T 1 BKTY ; Su ec. caracteristica
sI  T 1 AT  T 1 BKT  0
DETERMINACION
Condición necesaria DE K MEDIANTE
y suficiente para la
TRANSFORMACION
ubicación de polos(6)

(1.8)
Condición necesaria yDE
DETERMINACION suficiente para la
K MEDIANTE
ubicación de polos(7)
TRANSFORMACION(6)

La ecuacion(1.7) es igual a la ecuacion (1.8); igualando los coeficientes de “S” de


Ambas ecuaciones se tiene:

K
(2) DETERMINACION DE K POR METODO DE
SUSTITUCION DIRECTA

Si n<4, la sustitución directa de la matriz K en el


polinomio característico deseado puede ser más
simple. Por ejemplo, si n = 3, escribir la matriz de
ganancias de realimentación de estado K como :
K=[k1 k2 k3]
Sustituyendo K en polinomio característico:
 |sI-A+BK|=(s-μ1)(s-μ2)(s-μ3)
(3) Determinación de la matriz K, utilizando la
formula de Ackermann(1)
Considerar el sistema obtenido mediante la ecuación
(1), que puede reescribirse como:

x  Ax  Bu
Suponemos que este sistema es de estado
completamente controlable. También suponemos
que los polos en lazo cerrado deseados están en
 s = μ 1, s = μ 2, μ2, . . ., s = μ n.
Determinación de la matriz K, utilizando la
formula de Ackermann



u=-Kx
x  ( A  BK ) x
sI  A  BK  (s  1)(s   2)....(s   n)

A  ( A  BK )
s n  1s n 1  ............. n 1s   n  0

Dado que el teorema de Cayley – Hamilton plantea


que A satisface su propia ecuación característica,
tenemos que

 n  n 1 
 ( A )  A  1 A  ....... n1 A  n I
Determinación de la matriz K, utilizando la
formula de Ackermann
Para un entero positivo arbitrario n, tenemos que

1
K   0 0 ....1  B AB............A B   ( A)
n 1

Esta ecuación se conoce como la matriz de


ganancias de realimentación del estado K.
Sistema regulador y sistema de control

Los sistemas que incluyen controladores se dividen


en dos categorias :
SISTEMA REGULADOR.-(donde la entrada de
referencia es constante, incluyendo cero) y
SISTEMA DE CONTROL.- (donde la entrada de
referencia es variable con el tiempo).
En lo que sigue se considerará el sistema regulador.
ELECCION DE LOCALIZACION DE LOS POLOS EN
LAZO CERRADO DESEADOS

El metodo mas utilizado es elegir tales


polos basandose en la experiencia que
se tiene mediante el diseño del LGR,
colocando un par de polos dominantes
en lazo cerrado y eligiendo los otros
polos de forma que esten
suficientemente alejados a la izquierda
de los polos dominantes en lazo cerrado
EJEMPLO 1

Sea el sistema regulador de la figura 1b;la planta esta


dado por:
 1 4 8 6 
A   1 -1 -1 y B=  2 
 0 1 1 0 

Polos deseados en -2+j3;-2-j3 y en -6


Determine la matriz de ganancia K con los tres
métodos
SOLUCION

Determinamos matriz de Controlabilidad

Cuyo determinante es diferente de cero por lo que su rango es igual a 3 y


se concluye que el sistema es controlable de estado completo por lo que
podemos pasar a efectuar los siguientes pasos.
Por método de transformación

Calculamos el determinante de sI – A, y lo igualamos a cero para


determinar los valores de las ai . |SI-A | = s n + a 1 s n-1+……. + a n-1s + an

de donde: a1 = 1, a2 = -4 y a3 = -4.

Formamos la matriz W para poder calcular la matriz de transformación T


(  𝑆 − 𝜇1 ¿( 𝑆 − 𝜇 2)........... (𝑆 − 𝜇 𝑛)= 𝑆𝑛 +𝛼 1 𝑆𝑛 − 1+..... 𝛼 𝑛= 0
Calculamos la ecuación característica deseada:

donde α1 = 10, α2 = 37 y α3 = 78. y a1 = 1, a2 = -4 y a3 = -4.


Calculamos la matriz K

 0.0139 -0.0417 0.0694 


T 1  -0.0556 0.1667 0.2222 
 0.2222 -0.1667 -0.3889 

K
Por método de sustitución directa

|sI-A+BK|=(s-μ1)(s-μ2)(s-μ3)
S 0 0   1 4 8 6 
0 S 0   1 -1 -1    2  k k k  ( S  2  j3)( S  2  j3)( S  6)
      1 2 3
0 0 S   0 1 1  0 

 S  1 -4 -8  6k1 6k 2 6k 3 
  1 S+1 1    2k 2k 2k   S 3  10S 2  37 S  78
   1 2 3
 0 -1 S-1  0 0 0 
S 3  (1  2k2  6k1 )S 2  (2k3  6k2  8k1  4) S  8(k3  k2  k1 )  4  S 3  10S 2  37 S  78
Re solviendo sistema de 3 ecuaciones:
31 23 407
k1   0.8611; k2   1.9167; k3   11.3056
36 12 36
UTILIZANDO FORMULA DE ACKERMAN(1)

Para emplear la fórmula de Ackermann formamos el


cuadrado y el cubo de la matriz A:

 ( A )  An  1 An 1  ....... n 1 A   n I
 ( A )  A3  1 A2   2 A   3 I  S 3  10S 2  37 S  78( POLOS DESEADOS )
 ( A )  A3  10 A2  37 A  78 I
 5 0 -4   -5 16 36 
A2   2 4 8  ; A3   6 -4 -12 
 1 0 0   -1 4 8 
HALLANDO Φ(A)

 ( A )  A3  10 A2  37 A  78I
 -5 16 36   5 0 -4  1 4 8 1 0 0
 ( A)   6 -4 -12   10  2 4 8   37  1 -1 -1   78  0 1 0 
 -1 4 8   1 0 0   0 1 1   0 0 1 
86 164 292
 ( A )  23 77 31
 9 41 123
UTILIZANDO FORMULA DE ACKERMAN(2)

1
K   0 0 1  B ABA B   ( A)
2

1
 6 2 30 
K   0 0 1  2 4 -4   ( A)
 0 2 6 
 0.1111 -0.4444  86 164 292 
0.1667
K   0 0 1  0.0417 0.12500.2917  23 77 31
 0.0139 0.0694   9
-0.0417 41 123
86 164 292 
K   0.0139 -0.0417 0.0694   23 77 31
 9 41 123
K   0.8611 1.9167 11.3056 
Ejemplo 2

Se tiene

Se desea una respuesta con tiempo de establecimiento


igual a un 1 s. y relación de amortiguamiento igual a
2/3, determinar la matriz de ganancia K
En primer lugar se ha de comprobar si el sistema es
completamente controlable, para ello el rango de la
matriz de controlabilidad ha de ser 3.
0 0 1 
M   B AB A 2 B   0 1 -5 
1 -5 22 

El rango de la matriz es 3, por lo que es controlable


Solución(por sustitución directa)

SI  A  BK  ( S 2  2 n S  n2 )( S  n )


S 0 0   0 1 0 0
0 S 0   0 0 1   0   k1 k 2 k 3   ( S 2  8 S  36)( S  4)
  
 0 0 S   -2 -3 -5  1 
S -1 0  0 0 0 
0 S -1    0 0 0   S 3  12 S 2  68S  144

 2 3 S+5  k1 k 2 k 3 
S -1 0 
0 S -1   S 3  12 S 2  68 S  144
 
 2+k1 3 +k 2 S+5+k 3 
S 3  (5  k3 ) S 2  (k 2  3) S  2  k1  S 3  12 S 2  68S  144
k1  142; k 2  65; k3  7
Metodo de Ackerman

1
K   0 0 1 
 B AB A 2
B
  ( A)
1
0 0 1
K   0 0 1 
 0 -1 -5   ( A)


1 -5 22  
 ( A)  A3  12 A2  68 A  144 I
 3.0000 5.0000 1.0000   142 65 7
K   0 0 1 
 5.0000 1.0000 0   -14 121
 30 


 1.0000 0 0 
 -60 -104 -29 

142 65 7 
K  1 0 0   -14 121 30 


 -60 -104 -29 
K   142 65 7
Ejemplo 3: Realimentación de Estados para un Control de
Posición de un Motor de Corriente Continua

Las ecuaciones dinámicas


 
en espacio de estados del motor son las siguientes:
x1   x1   x1  x2
     b
 K
x2   x2   (T-b   J  )   x2 + x3
J J
 di K R 1
x3  i x3   x2  x3  V
dt L L L
 
   0 1 0   
 x1     x1   0 
    b K   x   0  V
 x2    0 -  2  
    J J
  x3   1 
 x3   K R
  
  0 - - L
 L L 
Con una referencia de 1 radian agregada al sistema, los
criterios de diseño son:

Tiempo de establecimiento menor o igual que 0.04


segundos
Sobreimpulso menor o igual que 16%
Cero error estático de posición a una entrada escalón
Cero error estático de posición a una perturbación
escalón
Editemos un nuevo archivo-m con los
siguientes comandos:
 J=3.2284E-6;
 b=3.5077E-6;
 K=0.0274;
 R=4;
 L=2.75E-6;
 A=[0 1 0
 0 -b/J K/J
 0 -K/L -R/L];
 B=[0 ; 0 ; 1/L];
 C=[1 0 0];
 D=[0];
Diseño del controlador por
realimentación de estados
 Como todas las variables de estado en nuestro problema son muy
fáciles de medir (un amperímetro para la corriente, un taquímetro para
la velocidad, y un potenciómetro para la posición), podemos diseñar un
controlador por realimentación de estados completo sin preocuparnos
por estimar ningún estado con observador. El esquema para la
realimentación de estados es:
Recordemos que el polinomio característico para este
sistema a lazo cerrado es el determinante de (sI-(A-
BKc)) donde s es la variable de Laplace. Como las
matrices A y B*Kc son las dos 3x3, debe haber 3 polos
para el sistema. Mediante realimentación de estados
podemos mover estos polos a voluntad. Vamos a tratar
primero de colocarlos en -100 + 100i y -100-100i (que
corresponden a un sistema de segundo orden con un
amortiguamiento ρ = 0.5, que da un sobreimpulso de
16%, y un 
ρωn = 100 que da un tiempo de
establecimiento de 0.04 segundos). Una vez que
elegimos los polos que queremos, Matlab nos va a hallar
la matriz Kc
Simplemente agregamos lo siguiente al final del archivo-m

P=[-100-100i -100+100i -200];


p1=-100+100i;
p2=-100-100i;
p3=-200;
Kc=place(A,B,[p1,p2,p3]);

K=acker(A,B,P)
Volvamos al esquema de arriba. Vemos que una vez
incorporada la matriz K al sistema, las ecuaciones de estado
pasan a ser:

Podemos ver la respuesta del lazo cerrado simplemente agregando la siguiente línea al final del archivo-
m:
t=0:0.001:.05;
step(A-B*Kc,B,C,D,1,t)

J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
A=[0 1 0
0 -b/J K/J
0 -K/L -R/L];
B=[0 ; 0 ; 1/L];
C=[1 0 0];
D=[0];
p1=-100+100i;
p2=-100-100i;
p3=-200;
Kc=place(A,B,[p1,p2,p3]);
t=0:0.001:.05;
step(A-B*Kc,B,C,D,1,t)
Corriendo el archivo-prob3a.m ;en la ventana de comandos
de Matlab, se obtiene la siguiente figura
Respuesta a Perturbaciones

 Para obtener la respuesta a una perturbación tenemos que


incluir una entrada adecuada al sistema. Físicamente, una
perturbación es un torque que actúa sobre la inercia del
motor. Un torque actúa como un término aditivo en la
segunda ecuación de estados (que queda dividido por J,
como los demás términos en esta ecuación). Podemos
simular esta perturbación simplemente modificando la
matriz de entrada de lazo cerrado, B, para que tenga 1/J en
la segunda fila. Agreguemos la siguiente línea a nuestro
archivo-m y corrámoslo nuevamente.
 step(A-B*Kc,[0;1/J;0],C,D,1,t)
 J=3.2284E-6;
 b=3.5077E-6;
 K=0.0274;
 R=4;
 L=2.75E-6;
 A=[0 1 0
 0 -b/J K/J
 0 -K/L -R/L];
 B=[0 ; 0 ; 1/L];
 C=[1 0 0];
 D=[0];
 p1=-100+100i;
 p2=-100-100i;
 p3=-200;
 Kc=place(A,B,[p1,p2,p3]);
 t=0:0.001:.05;
 step(A-B*Kc,[0;1/J;0],C,D,1,t)
Esta no es una respuesta con error estático cero, así que vamos a tener que
compensar.
Agregado de Acción Integral

 Sabemos que si ponemos un integrador extra en serie con la planta va a


eliminar el error estático a una entrada. Si el integrador viene antes del
punto de inyección de la perturbación, cancelará la perturbación en
régimen permanente. Esto cambia la estructura de control, que queda
ahora de la forma siguiente:
Podemos modelar el integrador aumentando a nuestras ecuaciones de
estado con un estado extra que es la salida del integrador. Esto agrega
una ecuación extra que establece que la derivada de la integral de theta
es theta. Colocaremos esta ecuación encima de nuestras matrices. La
entrada, r, ahora entra al sistema antes del integrador, así que aparece en
la recientemente agregada ecuación 
de arriba. La salida del sistema
queda igual. x1    x1   =x 2
 
x2   x2    x3
  
x3   x3  
 di
x4  i x4 
dt
 x  0 1 0 0 
 1 0
    0 1 0   x1 
 
 1
 x2   0
 b K   x2    r
    0 0 - 
 x3   J J   x3   0
      
0 0 -
K R   x4 
-   0
 x4  

    L L
 x1 
x 
y   0 1 0 0  
2

 x3 
 
 x4 
Estas ecuaciones representan la dinámica del sistema antes de cerrar el lazo.
Denotaremos las matrices en esta ecuación como Aa, Ba, Ca, y Da.
Denotaremos el vector de estados del sistema aumentado como xa.
Notar que la referencia, r, no afecta los estados (excepto por el estado del
integrador) o la salida de la planta – lo que es obvio pues no hay ninguna
conexión entre la referencia y la entrada de la planta, u, sin implementar la
matriz de realimentación de estados Kc.
Para hallar las ecuaciones de lazo cerrado tenemos que examinar cómo afecta
la entrada, u, a la planta. En este caso es exactamente de la misma forma que
en las ecuaciones aumentadas. Por lo tanto, existe un vector, llamémoslo Bau,
que reemplaza Ba cuando tomamos a u como la entrada. Éste no es más que
nuestro viejo vector B con un cero extra agregado en la primer fila. Como
u=Kc*xa es la entrada a la planta para el lazo cerrado, pero r es la entrada al
sistema a lazo cerrado, las ecuaciones de lazo cerrado dependen de ambas B au
and Ba. Las ecuaciones de lazo cerrado entonces quedan:
Ahora, la integral de la salida se realimenta, y va a ser usada por el controlador para eliminar el error
estático originado por la perturbación. Ahora podemos rediseñar nuestro controlador.
Como tenemos que ubicar un polo a lazo cerrado por cada polo en la planta, vamos a ubicar otro polo
en -300, que va a ser más rápido que el resto de los polos. Como la matriz del sistema a lazo cerrado
depende de Bau, vamos a usar Bau en el comando place en vez de Ba. Agregamos los siguiente a nuestro
archivo-m.

J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
Aa=[0 1 0 0
0010
0 0 -b/J K/J
0 0 -K/L -R/L];
Ba=[ -1 ; 0 ; 0 ; 0];
Bau=[0 ; 0 ; 0 ; 1/L ];
Ca=[0 1 0 0];
Da=[0];
p1=-100+100i;
p2=-100-100i;
p3=-200;
p4=-300;
Kc=place(Aa,Bau,[p1,p2,p3,p4]);
t=0:0.001:.05;
step(Aa-Bau*Kc,Ba,Ca,Da,1,t)
Para ver la respuesta a la perturbación, usamos una matriz B similar a la
que usamos antes cuando simulamos la respuesta a la perturbación.

J=3.2284E-6;
b=3.5077E-6;
K=0.0274;
R=4;
L=2.75E-6;
Aa=[0 1 0 0
0010
0 0 -b/J K/J
0 0 -K/L -R/L];
Ba=[ -1 ; 0 ; 0 ; 0];
Bau=[0 ; 0 ; 0 ; 1/L ];
Ca=[0 1 0 0];
Da=[0];
p1=-100+100i;
p2=-100-100i;
p3=-200;
p4=-300;
Kc=place(Aa,Bau,[p1,p2,p3,p4]);
t=0:0.001:.5;
step(Aa-Bau*Kc,[0 ; 0 ; 1/J ; 0] ,Ca,Da,1,t)
Vemos que todas los criterios de diseño han sido
satisfechos por este controlador
A = [0 1 0;0 0 1;–1 –5 –6];
B = [0;0;1];
J = [–2+j*4 –2–j*4 –10];
K = acker(A,B,J)

>> calculoKacker

K=

199 55 8

También podría gustarte