Sie sind auf Seite 1von 11

Informe Final VII del

curso Sistemas de
Control II
Control por Realimentación de Estados
Sánchez Casas Carlos Alberto 15190153 / Villanueva Arquinigo Jesus Angel 15190172
Facultad De Ingeniería Electrónica Y Eléctrica, Universidad Nacional Mayor De San Marcos, Lima, Perú

I. OBJETIVOS

a. El objetivo del trabajo práctico es aplicar la


técnica de realimentación de estados a diferentes
sistemas, mostrando algunos ejemplos donde la
elección de los autovalores para el lazo cerrado
puede resultar una tarea comprometida. A través
de la simulación de dichos sistemas realimentados
podrán observarse tales situaciones. - Se usa toda la información del sistema para
calcular la entrada manipulada.
II. INTRODUCCIÓN - No se usan derivadores de difícil realización
física, sino elementos proporcionales.
a. Definición Su estructura es la siguiente:

Sea la estructura dinámica de un motor:

El control
Reduciendo el diagrama de bloques:
clásico definiría lo siguiente:

Con el control por realimentación de estados

La dinámica del sistema realimentado cambia


tenemos lo siguiente: según:

Ventajas de la realimentación del estado:


El objetivo será entonces el cálculo de K para a. Considere el siguiente sistema:
conseguir la dinámica dada por Ar.

Consideremos un sistema de tiempo continuo e


invariante en el tiempo:

1. Halle su representación en sistema de ecuaciones


de estado.

Utilizando la transformada de Laplace:

s 3 Y ( s ) + 9.8 s2 Y ( s )+ 98 sY ( s ) +1000 Y ( s )=1 5 sU ( s )+10


Dicho sistema es controlable si la matriz de
controlabilidad ∁ es de rango pleno. Donde ∁: Y ( s ) ( s 3+ 9.8 s 2+ 98 s+ 1000 )=U ( s ) (1 5 s +100)
Y (s) 15 s +100
= 3
U (s ) s +9.8 s2 +98 s+1000

En tal caso, es posible asignar arbitrariamente los Utilizamos el siguiente código:


autovalores del sistema en bucle cerrado, mediante
una ley de realimentación del tipo: num=[15 100];
den=[1 9.8 98 1000];
[A,B,C,D]=tf2ss(num,den)
Sys=ss(A,B,C,D);

Entonces, el esquema del sistema de Obtenemos las matrices A, B, C y D de las


realimentación de estados será: ecuaciones de estado:

Para calcular K, se elige libremente un conjunto de


autovalores deseados para sistema en bucle cerrado
(λ1, λ1, λ2, …, λn), y se aplica la fórmula de
Ackermann. Concretamente, en Matlab, basta con
el empleo de la función place.

El hecho de asignar libremente los polos del


sistema en bucle cerrado otorga a esta técnica el
nombre de control por asignación de polos (pole
placement).

III. PROCEDIMIENTO
2. Halle su respuesta ante el escalón unitario.
Obtenemos la matriz de controlabilidad:
Utilizamos el siguiente código:

num=[15 100];
den=[1 9.8 98 1000];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
step(Sys)

Obtenemos la matriz de observabilidad:

Obtenemos la siguiente respuesta ante el escalón


unitario:

4. De ser factible, encuentre la matriz de


realimentación K, tal que los polos de lazo cerrado
sean: -1,-2 ,-3.

Utilizamos la función place para hallar el valor de


K:
num=[15 100];
den=[1 9.8 98 1000];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
K=place(A,B,[-1,-2,-3])

Obtenemos el valor de K:

3. Determine la controlabilidad y observabilidad del


sistema.
5. Halle tanto en Matlab como en Simulink la
Hallamos la matriz de controlabilidad (Ct) y la respuesta en lazo cerrado del sistema incluyendo
matriz de observabilidad (Ob) con el siguiente la realimentación de estado.
código:
En Matlab:
num=[15 100];
den=[1 9.8 98 1000]; Definimos una nueva matriz A2 = A-BK que
[A,B,C,D]=tf2ss(num,den); reemplazará a la matriz A en nuestra ecuación de
Sys=ss(A,B,C,D); estados:
Ct=ctrb(Sys)
Ob=obsv(Sys)
num=[15 100]; ante un escalón de Sys2 utilizando la función
den=[1 9.8 98 1000]; “step”:
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D); num=[15 100];
K=place(A,B,[-1,-2,-3]); den=[1 9.8 98 1000];
A2=A-B*K [A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
La matriz A2 es: K=place(A,B,[-1,-2,-3]);
A2=A-B*K;
Sys2=ss(A2,B,C,D);
step(Sys2)

Obtenemos la respuesta sobreamortiguada del


sistema:

Definimos nuestro nuevo sistema:

num=[15 100];
den=[1 9.8 98 1000];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
K=place(A,B,[-1,-2,-3]);
A2=A-B*K;
Sys2=ss(A2,B,C,D)

Nuestro nuevo sistema Sys2 será:

En simulink:

Dibujamos el siguiente diagrama de bloques con


los valores de las matrices A, B, C, D y K
calculados anteriormente:

Ahora Observamos la respuesta en el Scope:


hallamos
la respuesta
8. Implemente un servomecanismo para eliminar el
6. ¿Cuánto es el error en estado estacionario? error estacionario.

Hallaremos el error en estado estacionario de Utilizamos el siguiente código para diseñar el


manera visual. Para esto, observaremos en la servomecanismo. También hallamos la nueva matriz K
gráfica anterior el valor de la respuesta en su estado y el valor de Ki. Elegimos un nuevo polo en -10.
estacionario: También se verifica que es completamente controlable
Ahora hallamos el error en estado estacionario
restando el valor definido anteriormente y el valor
de la entrada:

e s=16.7−1=15.7

7. Implemente una ganancia de pre-compensación


para eliminar el error estacionario.

Para eliminar el error en estado estacionario solo


debemos añadir un bloque de ganancia que sea la
inversa del valor final de la respuesta obtenida
anteriormente:

ya que su rango es igual al grado del sistema (4).


num=[15 100];
den=[1 9.8 98 1000];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
Veamos la respuesta del sistema: A1=[A zeros(3,1);-C 0];
B1=[B;0];
Mservo=[B1 A1*B1 A1^2*B1 A1^3*B1];
rgo=rank(Mservo);
Podemos observar de la gráfica que el error en estado J=[-1 0 0 0 ; 0 -2 0 0; 0 0 -3 0 ; 0
estacionario se ha eliminado. 0 0 -10];
phi=polyvalm(poly(J),A1);
k1=[0 0 0 1]*(inv(Mservo))*phi;
k11=k1(1);
k22=k1(2);
k33=k1(3);
ki=-k1(4);
kk=[k11 k22 k33];
AA=[A-B*kk B*ki;-C 0];
BB=[0;0;0;1]; 1. Halle su representación en sistema de ecuaciones
CC=[C 0];
DD=[0]; de estado.
step(AA,BB,CC,DD)
Hallamos la función de transferencia que
representa al sistema dado:
La implementación mediante diagrama de bloques será:
Y (s) s−4
=
U (s ) ( s+1 ) ( s +2 ) ( s+6)

Y (s) s−4
= 2
U (s ) ( s + 3 s+2)( s+6)

Y (s) s−4
= 3
U (s ) s +9 s2 +20 s +12

Observamos la respuesta sobreamortiguada del sistema: Utilizamos el siguiente código:

num=[1 -4];
den=[1 9 20 12];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D)

Obtenemos las matrices A, B, C y D de las


ecuaciones de estado:

b. Considerando el siguiente sistema:


3. Determine la controlabilidad y observabilidad del
sistema.

Hallamos la matriz de controlabilidad (Ct) y la


matriz de observabilidad (Ob) con el siguiente
código:

num=[1 -4];
den=[1 9 20 12];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
Ct=ctrb(Sys)
Ob=obsv(Sys)

Obtenemos la matriz de controlabilidad:

2. Halle su
respuesta ante el escalón unitario.

Utilizamos el siguiente código:


Obtenemos la matriz de observabilidad:
num=[1 -4];
den=[1 9 20 12];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
step(Sys)

Obtenemos la siguiente respuesta ante el escalón


unitario:
4. De ser factible, encuentre la matriz de
realimentación K, tal que los polos de lazo cerrado
sean: -1, -2+0.5*i, -2-0.5*i.

Utilizamos la función place para hallar el valor de


K:
num=[1 -4];
den=[1 9 20 12];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
K=place(A,B,[-1,-2,-3])

Obtenemos el valor de K:
5. Halle tanto en Matlab como en Simulink la
respuesta en lazo cerrado del sistema incluyendo
la realimentación de estado.

En Matlab: Ahora

Definimos una nueva matriz A2 = A-BK que


reemplazará a la matriz A en nuestra ecuación de
estados:

num=[1 -4];
den=[1 9 20 12];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
K=place(A,B,[-1,-2,-3]);
A2=A-B*K

La matriz A2 es:
hallamos la respuesta ante un escalón de Sys2
utilizando la función “step”:

num=[1 -4];
den=[1 9 20 12];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
K=place(A,B,[-1,-2,-3]);
Definimos nuestro nuevo sistema: A2=A-B*K;
Sys2=ss(A2,B,C,D);
num=[1 -4]; step(Sys2)
den=[1 9 20 12];
[A,B,C,D]=tf2ss(num,den);
Obtenemos la respuesta del nuevo sistema:
Sys=ss(A,B,C,D);
K=place(A,B,[-1,-2,-3]);
A2=A-B*K;
Sys2=ss(A2,B,C,D)

Nuestro nuevo sistema Sys2 será:


En simulink:

Dibujamos el siguiente diagrama de bloques con Ahora hallamos el error en estado estacionario
los valores de las matrices A, B, C, D y K restando el valor definido anteriormente y el valor
de la entrada:
calculados anteriormente:
e s=|−0.667−1|=1.667

7. Implemente una ganancia de pre-compensación


para eliminar el error estacionario.

Para eliminar el error en estado estacionario solo


debemos añadir un bloque de ganancia que sea la
inversa del valor final de la respuesta obtenida
anteriormente:

Observamos la respuesta en el Scope:

Veamos la respuesta del sistema:

6. ¿Cuánto es el error en estado estacionario?

Hallaremos el error en estado estacionario de


manera visual. Para esto, observaremos en la
gráfica anterior el valor de la respuesta en su estado
estacionario:
La implementación mediante diagrama de bloques será:

8. Implemente un servomecanismo para eliminar el


error estacionario.

Utilizamos el siguiente código para diseñar el


servomecanismo.
num=[1 -4];
den=[1 9 20 12];
[A,B,C,D]=tf2ss(num,den);
Sys=ss(A,B,C,D);
A1=[A zeros(3,1);-C 0];
B1=[B;0];
Mservo=[B1 A1*B1 A1^2*B1 A1^3*B1]; Observamos la respuesta sobreamortiguada del sistema:
rgo=rank(Mservo);
J=[-1 0 0 0 ; 0 -2+0.5*i 0 0; 0 0 -2-
0.5*i 0 ; 0 0 0 -10];
IV. CONCLUSIONES
phi=polyvalm(poly(J),A1);
k1=[0 0 0 1]*(inv(Mservo))*phi;
k11=k1(1); En esta experiencia, hemos aprendido una nueva forma de
k22=k1(2); control por realimentación de estados. En este nuevo
k33=k1(3); método se usa toda la información del sistema para calcular
ki=-k1(4); la entrada manipulada y no se usan derivadores de difícil
kk=[k11 k22 k33]; realización física, sino elementos proporcionales. Nuestro
AA=[A-B*kk B*ki;-C 0]; objetivo simplemente es calcular el valor de la matriz K con
BB=[0;0;0;1]; la que podemos controlar a nuestro sistema. Con esto,
CC=[C 0]; hemos podido diseñar un servomecanismo para controlar al
DD=[0]; sistema.
step(AA,BB,CC,DD)
V. BIBLIOGRAFÍA

Guía N°7 del Laboratorio de Sistemas de Control II – FIEE


UNMSM.

 http://ocw.upm.es/ingenieria-de-sistemas-y-
automatica/control-en-el-espacio-de-
estado/Contenidos/Material-de-
clase/5_control_realimentacion_estado.pdf
 http://dea.unsj.edu.ar/control2/Clase08a-
Controlporrealimentaciondeestados.pdf
 http://bionanouni.wdfiles.com/local--
files/teaching-mt227b-horario-2013ii/MT227-
ControlRealimentaciondeEstados.pdf
 ftp://ftp.unicauca.edu.co/Facultades/FIET/DEI
C/Materias/Sistemas
%20Dinamicos/Conferencias/Cap8.pdf

Das könnte Ihnen auch gefallen