Está en la página 1de 57

DISEO DE CONTROLADORES

ANALGICOS POR MTODOS DE


ESPACIO DE ESTADO

Si bien la condicin de controlabilidad se ha demostrado


para el caso ms general, esto es, un sistema MIMO en el
que tanto la seal de entrada u(t) como la de salida y(t)
son vectores, el clculo matriz de realimentacin K se
vuelve mucho ms 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 diseos que siguen, se
considerarn sistemas SISO o SIMO exclusivamente.
En este captulo, las competencias a adquirir es el diseo
de sistemas de control usando la realimentacin del vector de
estado. La tcnica de ubicacin de polos permite situar los
polos del sistema en lazo cerrado en la posicin deseada por
el diseador, de modo que su comportamiento se adecue a lo
que ste desee. Se demuestra que la condicin necesaria y
suficiente para que el sistema admita que sus polos en lazo
cerrado se ubiquen en cualquier posicin 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 realimentacin, se estiman los
estados necesarios a partir de la informacin disponible de la
planta. Se demuestra que la condicin necesaria y suficiente
para que el vector de estado se pueda estimar es que el
sistema sea completamente observable
Diseo de controladores
analgicos por ubicacin de
polos
Introduccin
La tcnica de diseo de controladores mediante la
realimentacin 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 realimentacin de estado.
RESUMEN

Se presentan las tcnicas para disear un compensador o


controlador para un sistema regulado. que redundar en obtener
polos de lazo cerrado en la ubicacin 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 seal de
control a partir de dicho conocimiento.
Una condicin para poder generar la seal de control para la
ubicacin de los polos de lazo cerrado es que exista Controlabilidad
de estado completo.
La ubicacin 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 ubicacin de los polos es el actuador,
pues si ste se satura de manera indeseable ello nos obligar a
colocar los polos ms cerca del eje imaginario.
El diseo del controlador o compensador para la ubicacin 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 implementacin de un observador de estado en el
sistema.
Tambin 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 = seal 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 seal de control mediante la
retroalimentacin lineal del estado:
u = -Kx (2)
La matriz K de n x 1 se denomina matriz de
ganancia de la retroalimentacin de estado
suponemos que la seal de control u no se satura en
ningn valor.
Sustituyendo la frmula (2) en (1) resulta
x(t) = (A BK)x(t) (3)
La solucin 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
perturbacin 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 asinttica 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
tpico 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.


Condicin necesaria y suficiente para la ubicacin de
polos

Si asumimos que la magnitud de la seal de control u no est restringida y la


elegimos mediante
k11 k12 ....k1n x1
................. .
u = -Kx=

.................. .

r1
k ............k rn xn

el sistema se convierte en un sistema de control de lazo cerrado segn se


exhibe en la figura 1(b) y la evolucin 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 condicin necesaria y suficiente para la ubicacin
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
retroalimentacin de estado.
MTODOS PARA DETERMINAR LA MATRIZ K
(1) DETERMINACIN DE K MEDIANTE TRANSFORMACION

Para demostrar la condicin de suficiencia es til transformar la ecuacin de


estado dada mediante la ecuacin (1) mediante la transformacin a la forma
cannica 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 caracterstico de A


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

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 ecuacin (1) se
convierte en.

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

En donde
Condicin
DETERMINACION
necesaria DE
y suficiente
K MEDIANTEpara la
ubicacin
TRANSFORMACION
de polos(5)

Seleccionemos al conjunto de valores principales


deseados como 1 , 2,. . .,n. En este caso la
ecuacin caracterstica 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
Condicin necesaria DE K MEDIANTE
y suficiente para la
TRANSFORMACION
ubicacin de polos(6)

(1.8)
Condicin necesaria yDE
DETERMINACION suficiente para la
K MEDIANTE
ubicacin 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 sustitucin directa de la matriz K en el


polinomio caracterstico deseado puede ser ms
simple. Por ejemplo, si n = 3, escribir la matriz de
ganancias de realimentacin de estado K como :
K=[k1 k2 k3]
Sustituyendo K en polinomio caracterstico:
|sI-A+BK|=(s-1)(s-2)(s-3)
(3) Determinacin de la matriz K, utilizando la
formula de Ackermann(1)
Considerar el sistema obtenido mediante la ecuacin
(1), que puede reescribirse como:

x Ax Bu
Suponemos que este sistema es de estado
completamente controlable. Tambin suponemos
que los polos en lazo cerrado deseados estn en
s = 1, s = 2, 2, . . ., s = n.
Determinacin 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 ecuacin caracterstica,
tenemos que
n n 1
( A ) A 1 A ....... n 1 A n I
Determinacin 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 ecuacin se conoce como la matriz de


ganancias de realimentacin 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 diseo 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
mtodos
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 mtodo de transformacin

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


determinar los valores de las ai .

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

Formamos la matriz W para poder calcular la matriz de transformacin T


Calculamos la ecuacin caracterstica 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 mtodo de sustitucin 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 frmula 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( POLOSDES )
( A ) A3 10 A2 37 A 78I
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.1667 -0.4444 86 164 292
K 0 0 1 0.0417 0.1250 0.2917 23 77 31
0.0139 -0.0417 0.0694 9 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 relacin 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


Solucin(por sustitucin 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 8S 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 68S 144

2+k1 3 +k 2 S+5+k 3
S 3 (5 k3 ) S 2 (k2 3) S 2 k1 S 3 12 S 2 68S 144
k1 142; k2 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: Realimentacin de Estados para un Control de
Posicin de un Motor de Corriente Continua

Las ecuaciones dinmicas



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
2
2
x 0 -
J J
x3 1
x3 K R

0 - - L
L L
Con una referencia de 1 radian agregada al sistema, los
criterios de diseo son:

Tiempo de establecimiento menor o igual que 0.04


segundos
Sobreimpulso menor o igual que 16%
Cero error esttico de posicin a una entrada escaln
Cero error esttico de posicin a una perturbacin
escaln
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];
Diseo del controlador por
realimentacin de estados
Como todas las variables de estado en nuestro problema son muy
fciles de medir (un ampermetro para la corriente, un taqumetro para
la velocidad, y un potencimetro para la posicin), podemos disear un
controlador por realimentacin de estados completo sin preocuparnos
por estimar ningn estado con observador. El esquema para la
realimentacin de estados es:
Recordemos que el polinomio caracterstico 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 realimentacin 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 lnea 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 perturbacin tenemos que


incluir una entrada adecuada al sistema. Fsicamente, una
perturbacin es un torque que acta sobre la inercia del
motor. Un torque acta como un trmino aditivo en la
segunda ecuacin de estados (que queda dividido por J,
como los dems trminos en esta ecuacin). Podemos
simular esta perturbacin simplemente modificando la
matriz de entrada de lazo cerrado, B, para que tenga 1/J en
la segunda fila. Agreguemos la siguiente lnea a nuestro
archivo-m y corrmoslo 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 esttico cero, as que vamos a tener que
compensar.
Agregado de Accin Integral

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


eliminar el error esttico a una entrada. Si el integrador viene antes del
punto de inyeccin de la perturbacin, cancelar la perturbacin en
rgimen 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 ecuacin extra que establece que la derivada de la integral de theta es
theta. Colocaremos esta ecuacin encima de nuestras matrices. La
entrada, r, ahora entra al sistema antes del integrador, as que aparece en
la recientemente agregada ecuacin
de arriba. La salida del sistema
queda igual. x1 x1 =x 2

x2 x2 x3

x3 x3
di
x4 i x4
dt
0 1 0 0
x1 0
0 1 0 x1 1

x2
b K x2 0 r
0
J
0 - x 0
x3 J 3

0 K R x4 0
x4 0 - -

L L
x1
x
y 0 1 0 0
2

x3

x4
Estas ecuaciones representan la dinmica del sistema antes de cerrar el lazo.
Denotaremos las matrices en esta ecuacin 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
conexin entre la referencia y la entrada de la planta, u, sin implementar la
matriz de realimentacin de estados Kc.
Para hallar las ecuaciones de lazo cerrado tenemos que examinar cmo 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, llammoslo Bau,
que reemplaza Ba cuando tomamos a u como la entrada. ste no es ms 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 Bau
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
esttico originado por la perturbacin. Ahora podemos redisear 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 ms rpido 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 perturbacin, usamos una matriz B similar a la
que usamos antes cuando simulamos la respuesta a la perturbacin.

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 diseo han sido
satisfechos por este controlador
A = [0 1 0;0 0 1;1 5 6];
B = [0;0;1];
J = [2+j*4 2j*4 10];
K = acker(A,B,J)

>> calculoKacker

K=

199 55 8

También podría gustarte