Solución Tarea 7 - prof.usb.ve.

Anuncio
Universidad Simón Bolívar
Dpto. de Procesos y Sistemas
Sistemas de Control II
PS-2316
Tarea 7
Diseño basados en Variables de
Estado
Formulación optima
Integrantes del grupo:
Maricarmen Barber á
Carnet # 00-32562
Luis Ferrer
Carnet # 00-32778
Yasmina Mijares
Carnet # 01-34154
Gustavo Izaguirre
Carnet # 0133995
Trimestre: Septiembre – Diciembre 2006
Fecha: 12 de Noviembre de 2006
Evaluación de la tarea 6
Al revisar la resolución de la tarea 6, lo primero que
observamos es que los polinomios de Butterworth y de Bessel
fueron elegidos antes de introducir el integrador al
sistema
para
el
seguimiento
perfecto
de
cambios
estacionarios en la referencia. En nuestra opinión la
elección de dichos polinomios debe hacerse luego de haberse
introducido el integrador, lo que se traduce en el
incremento del orden de los mismos, siendo de orden 4 en
lugar de orden 3.
La ecuación característica no corresponde al sistema
original ya que le falta el término de mayor grado que debe
ser agregado al escribir la ecuación característica a
partir de la matriz A del sistema.
Adicionalmente las ganancias fueron calculadas erróneamente
ya que los coeficientes correspondientes a la ecuación
característica y a los polinomios de Butterworth y Bessel
fueron restados indebidamente, ya que, como se observa en
los comandos de Matlab mostrados a continuación, se están
sustrayendo los coeficientes de elementos de diferente
orden, elementos de orden 0 con elementos de orden 2:
EC=[26.8 65.58 1.141]; Ecuación Característica del sistema
Bu=[1*(4/10)^3 2*(4/10)^2 2*(4/10)]; Butterworth con condición de tss
Be=[150.5674/(10)^3 69.7993/(10)^2 12.9429/10];
de tss
Bessel
con condición
K_hatBu=[EC(1) -Bu(1)
EC(2)-Bu(2)
EC(3) - Bu(3)];
estados con Butterworth, ganancias canónicas.
Realimentación
de
K_hatBe=[EC(1) -Be(1)
EC(2)-Be(2)
EC(3) - Be(3)];
estados con Bessel, ganancias canónicas.
Realimentación
de
En consecuencia el resto de los resultados obtenidos se ve
afectado por estos errores.
Resolución de la tarea 7
Partimos del sistema original definido por las siguientes
matrices:
s = tf(‘s’)
A = [ 0 1 0 ; -65.2557 -0.6250 -37.3723 ;
0.5164]
B = [ 0; 0; 0.1449 ]
C = [ -0.9148 0 0.3984 ]
Para obtener la función de transferencia
original utilizamos los siguientes comandos:
-0.1846 0 -
del
sistema
sistema = ss(A,B,C,0)
sistema = tf(sistema)
Obteniéndose:
Transfer function:
0.05773 s^2 + 0.03608 s + 8.721
-------------------------------s^3 + 1.141 s^2 + 65.58 s + 26.8
Insertamos el integrador a la función de transferencia del
sistema, esto es:
sist = sistema/s
Al insertar el integrador se produce un cambio en
matrices A, B, C; las nuevas matrices modificadas son:
AA= [ 0 1 0 0; -65.2557 -0.6250 -37.3723
0 -0.5164 0 ; -0.9148 0 0.3984 0]
BB = [ 0; 0; 0.1449 ;0 ]
CC = [ 0 0 0 1 ]
las
0; -0.1846
Una vez introducido el integrador, buscamos los polos del
sistema para el método de control óptimo. Esto se hace
mediante la elección de una ganancia k adecuada, ubicando
los polos en un lugar conveniente del lugar de las raíces
de 1+k*G(s)*G(-s), que satisfaga nuestros requerimientos de
tiempo de respuesta (ts = 10 seg). Para trazar el lugar de
las raíces de 1+k*G(s)*G(-s) se muestra a continuación los
comandos en Matlab para la elaboración del mismo y para el
cálculo de las funciones de transferencia G(s) y G(-s):
Gs = tf(ss(AA,BB,CC,0))
GsNEG= (0.05773*s^2 - 0.03608*s + 8.721)/(s^4 - 1.141*s^3 +
65.58*s^2 - 26.8*s)
Gtot=Gs*GsNEG
rlocus(Gto t)
El lugar de las raíces obtenido es el siguiente:
Del lugar de las raíces de 1+k*G(s)*G(-s) se eligió la
constante k= 1.5. Ya que como se mencionó anteriormente con
esta ganancia se cumplen los requerimientos de tiempo de
respuesta.
Hacemos:
k = 1.5
r = 1/k
Q = CC'*CC
Y para el cálculo de la matriz P, necesaria para el cálculo
de la matriz Kopt, utilizamos el siguiente comando de
Matlab que nos devuelve ambas matrices:
[Kopt,P,E] = lqr(AA,BB,Q,r)
Esta matriz Kopt será la utilizada tanto para el método por
realimentación de estados como para el método del estimador
de estados.
Primer método: Realimentación de Estados:
La respuesta del sistema a lazo cerrado por este método se
obtiene mediante los comandos:
Sistema_opt_RE = tf(ss((AA-BB*Kopt),BB*Kopt(4),CC,0))
step(Sistema_opt_RE)
y la gráfica de la misma observada es la siguiente:
Donde se observa que la respuesta del sistema cumple con
los requerimientos exigidos al tener un tiempo de respuesta
cercano a los 10 segundos y no se observa la existencia de
picos indeseados.
Segundo método: Estimador de Estado:
Para elegir los polos del Estimador de estados tomamos el
polinomio de Butterworth de cuarto orden, cuyo tiempo de
respuesta es del orden de los 4 seg y en consecuencia es
más rápido que nuestro sistema original cuyo tiempo de
respuesta está en el orden de los 10 seg. Para definir esto
en Matlab:
Polinomio_Bu = [1
2.613
3.41372
2.6113
Lo que implica el siguiente de vector de polos:
1]
Polos_est = roots(Polinomio_Bu)
El cálculo del vector L es realizado a través del comando
acker, esto es:
L = acker(AA',CC',Polos_est)'
En
consecuencia,
la
función
de
controlador dinámico es la siguiente:
transferencia
del
Controlador_din = tf(ss((AA-BB*Kopt -L*CC),L,Kopt,0))
Para pasar el integrador de la función de transferencia de
la planta a la función de transferencia del controlador,
eliminamos el polo originalmente incluido en la planta y lo
colocamos en el controlador dinámico, obteniendo así el
controlador del sistema, esto es:
Planta = Gs*s
Controlador = Controlador_din/s
Finalmente la función de transferencia de lazo abierto de
la planta y el controlador es:
FT = Planta*Controlador
Y finalmente, cerrando el lazo, obtenemos la respuesta del
sistema:
step(FT/(1+FT))
La gráfica observada para dicha respuesta es la siguiente:
Como se observa por este segundo método la respuesta del
sistema también cumple con el requerimiento de tiempo de
respuesta cercano a los 10 segundos y con la condición de
máximo pico menor al 10%
Descargar