Documentos de Académico
Documentos de Profesional
Documentos de Cultura
3.2.-Diseño de Controladores Por Ubicación de Polos
3.2.-Diseño de Controladores Por Ubicación de Polos
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 X
X
(1.3)
En donde
Condición
DETERMINACION
necesaria DE
y suficiente
K MEDIANTEpara la
ubicación de polos(5)
TRANSFORMACION
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)
K
(2) DETERMINACION DE K POR METODO DE
SUSTITUCION DIRECTA
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
n n 1
( A ) A 1 A ....... n1 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
de donde: a1 = 1, a2 = -4 y a3 = -4.
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)
( 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 ABA 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
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
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
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