´ y Diseno ˜ de Controladores Construccion de un P´endulo Invertido Rotante ´ Mallo Sebastian Virginia Mazzone Director: Ing. Roberto Saco
P´endulo Invertido Rotante
Proyecto Fin de Carrera ´ y Control Industrial Ing. Automatizacion Departamento de Ciencia y Tecnolog´ıa Universidad Nacional de Quilmes 11 de febrero de 2003
Este informe describe el proyecto de fin de carrera Construccion no de Controladores ´ y Dise˜ ´ Mallo y Virginia Mazzone, para la de un Pendulo Invertido Rotante, realizado por Sebastian ´ carrera Ingenier´ıa en Automatizacion ´ y Control Industrial dependiente del Departamento de Ciencia y Tecnolog´ıa de la Universidad Nacional de Quilmes. Este proyecto fue realizado ´ del profesor Ing. Roberto Saco. bajo la supervision El informe fue tipeado en LATEX y pdfLATEX usando la clase book con los paquetes babel(spanish) y hyperref. La familia de fuentes utilizada es bookman para texto, y ´ mathpple para matematica. Florencio Varela, 11 de febrero de 2003.
Resumen ´ de un pendulo Este informe sintetiza la construccion invertido rotante y su posterior con´ trol a trav´es de una PC. Utilizamos como actuador un motor de corriente continua y ´ sensamos los angulos del brazo rotatorio y del p´endulo con un encoder incremental y un sensor magn´etico respectivamente. ´ Construido el sistema lo modelizamos matematicamente, utilizamos como herramienta las ecuaciones de Euler-Lagrange. Una vez obtenido el modelo, e identificado, procedimos ˜ de diversos controladores: control en cascada y control por realimentacion al diseno ´ de ˜ de los controladores disenados, ˜ estados. Para verificar el desempeno simulamos el modelo no lineal obtenido en S IMULINK junto con los controles. ´ de estado, fue necesario disenar ˜ Para poder implementar el control por realimentacion un observador para estimar aquellas variables de estado que no podemos medir. Una ˜ ˜ deseado, salvo al pretender que el vez disenado el observador, obtuvimos el desempeno ´ del control en casbrazo siga referencias constantes. Por otro lado, la implementacion cada fue inmediata ya que solo necesitamos las mediciones que tenemos. Para concluir, ˜ ´ de estado, accion disenamos una variante robusta del control en realimentacion ´ integral, ´ solucionamos el problema de seguimiento de referencias, la implementamos saademas ˜ tisfactoriamente, obteniendo as´ı el mejor desempeno. ´ la realizamos utilizando una placa de adquisicion ´ de datos junto La implementacion con el software M ATLAB, S IMULINK, Real Time Workshop y Real Time Windows Target, que nos permitieron el control en tiempo real.
iv
´Indice General
Resumen
iii
´ Introduccion vii ´ del Problema y Objetivos . . . . . . . . . . . . . . . . . . . . . . . vii 0.1 Formulacion 0.2 Contenido del Informe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii ´ del Sistema 1 Descripcion 1.1 Controlador . . . . . . . . . . . . . . . . . . . . . . ´ y Control . . . . 1.1.1 Programa de Simulacion ´ de datos . . . . . . . . . . . . . 1.1.2 Adquisicion 1.2 Actuador . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Limitaciones debidas al Actuador (Motor) . 1.3 Sensores . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 Limitaciones debidas a Sensores . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
1 2 2 2 3 4 5 5
´ Matem´atica del Sistema 2 Modelizacion 2.1 Ecuaciones de movimiento del p´endulo invertido 2.1.1 Ecuaciones de Euler-Lagrange . . . . . . . ´ 2.2 Modelo Matematico de un Motor de CC . . . . . . ´ en Modelo de Estado . . . . . . . 2.3 Representacion ´ del Sistema . . . . . . . . . . . . . 2.4 Linealizacion ´ Entrada-Salida . . . . . . . . . . 2.5 Representacion ´ del Modelo . . . . . . . . . . . . . . 2.6 Simplificacion ´ 2.7 Ajuste de los Parametros en forma Aproximada .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
7 7 7 10 11 11 13 14 14
˜ de Controladores y Simulacion ´ 3 Diseno 3.1 Control en Cascada . . . . . . . . . . . . . . . . . ˜ de K2 (s) por Asignacion ´ de Polos . 3.1.1 Diseno ˜ de K1 (s) . . . . . . . . . . . . . . . . 3.1.2 Diseno ´ 3.1.3 Simulacion . . . . . . . . . . . . . . . . . . ´ de Estado . . . . . . 3.2 Control por Realimentacion ˜ de la Matriz K . . . . . . . . . . . . 3.2.1 Diseno ´ Integral . . 3.2.2 Seguimiento Robusto: Accion 3.2.3 Estimadores de las variables de Estado no 3.2.4 Observador de las variables de Estado . . ´ 3.2.5 Simulacion . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Medidos . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
17 17 18 22 23 26 26 27 29 29 31
4 Ensayos de Controladores sobre el Sistema Real 37 ´ del Control en Cascada . . . . . . . . . . . . . . . . . . . . . . 37 4.1 Implementacion ´ del Control en Realimentacion ´ de Estados . . . . . . . . . . . 39 4.2 Implementacion ´ de la Accion ´ Integral . . . . . . . . . . . . . . . . . . . . . . . . 40 4.3 Implementacion
´Indice General
vi
5 An´alisis del efecto de las cuantizaciones y de las perturbaciones del motor 43 ´ en la cuantificacion ´ del Actuador y de los Sensores . . . . . . . . 43 5.1 Disminucion 5.2 Mejoras f´ısicas del motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 6 Conclusiones ´ detallada de los componentes del A Descripcion A.1 Controlador . . . . . . . . . . . . . . . . . . . A.1.1 Especificaciones de la PC . . . . . . . ´ de Datos . . . A.1.2 Placa de Adquisiscion A.2 Actuador . . . . . . . . . . . . . . . . . . . . A.3 Sensores . . . . . . . . . . . . . . . . . . . . A.3.1 Encoder Incremental . . . . . . . . . A.3.2 Sensor Magn´etico . . . . . . . . . . . Bibliograf´ıa
47 Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
49 49 49 49 50 52 52 53 55
´ Introduccion ´ de los conocimientos adquiridos a lo largo El objetivo de este trabajo es la aplicacion ˜ de controladores. Para ello elegimos de la carrera, donde nos centramos en el diseno como sistema un pendulo invertido rotante. Muchas Universidades del mundo poseen ´ ´ por la cual este un p´endulo invertido para demostrar resultados de control. La razon problema es interesante desde el punto de vista de control es por que ilustra muchas de las dificultades asociadas con problemas de control del mundo real.
´ del Problema y Objetivos 0.1 Formulacion El p´endulo invertido rotante consiste en un brazo giratorio horizontal, el cual posee en su extremo una barra vertical la cual gira libremente alrededor de un eje paralelo al brazo, como podemos apreciar en la Figura 1.
z y
r x
m, g
θ
I, l
ψ a
Figura 1: Diagrama del p´endulo invertido rotante
Dado que nuestra Universidad no cuenta con un Pendulo Invertido Rotante, por su alto ´ ´ del mismo. Mientras costo, nos propusimos como objetivo del trabajo, la construccion ´ de diseno ˜ de los controladores que nos propusimos, es mantener la que la especificacion ´ pendulo, ´ de una fuerza barra, de ahora en mas en forma vertical mediante la aplicacion ´ en el brazo. Este proceso se ve intuitivamente a trav´es del ejemplo de tratar de mantener ´ secundaria es controlar una escoba en forma vertical con una mano. Una especificacion ´ determinada. Estos objetivos fueron alcanzados implementando el brazo en una posicion los controladores por medio de una PC. ˜ de un sistema de control requiere de los siguientes pasos, segun ´ El proceso de diseno [4]: 1. Estudiar el sistema a controlar y decidir qu´e tipo de sensores y actuadores utilizar y ´ donde ubicarlos. 2. Modelar el sistema resultante a controlar.
´ Introduccion
viii ´ facil. ´ 3. Simplificar el modelo si es necesario para hacerlo mas ´ 4. Analizar el modelo resultante, determinar sus parametros. ˜ 5. Decidir las especificaciones de desempeno. 6. Decidir el tipo de control a utilizar.
˜ un controlador que alcance las especificaciones, si es posible, si no, modifi7. Disenar car las especificaciones. 8. Repetir desde 1 si es necesario. 9. Elegir hardware y software e implementar el controlador. 10. Ajustar el controlador on-line si es necesario.
0.2
Contenido del Informe
Este informe consta de cinco cap´ıtulos y un ap´endice. En el Cap´ıtulo 1 describimos cada uno de los componentes del sistema a controlar, de los sensores y del controlador. ´ En el Cap´ıtulo 2 modelizamos matematicamente el sistema, utilizando las ecuaciones de Euler-Lagrange, linealizamos alrededor del punto donde queremos controlar al sistema y a partir de ciertas consideraciones, obtuvimos un modelo simplificado del mismo. En el ˜ Cap´ıtulo 3 disenamos los controladores: control en cascada y realimentacion ´ de estados a ˜ partir del modelo lineal simplificado, realizando simulaciones para analizar su desempeno teniendo en cuenta las alinealidades del sistema. En el Cap´ıtulo 4 implementamos dichos ´ controladores en el sistema real, verificando los resultados obtenidos por simulacion. En el Cap´ıtulo 5 analizamos el efecto de las cuantizaciones y de las perturbaciones utilizando simulaciones. En el Capitulo 6 mostramos las conclusiones generales del trabajo. En el Ap´endice A detallamos los componentes descriptos en el Cap´ıtulo 1. ´ ´ al laboratorio de la Por ultimo, queremos agregar que este proyecto es una contribucion carrera para que otros alumnos puedan seguir profundizando conocimientos y aplicarlos en un sistema real. En realidad este fue nuestro primer objetivo y estamos orgullos de ˜ haber podido devolver de alguna manera todo lo que recibimos durante estos anos.
Cap´ıtulo 1
´ del Sistema Descripcion
´ describimos el sistema sin entrar en detalle de la fuente de movimiento En la introduccion ni que mediciones debemos realizar para lograr las especificaciones de control propues´ tas. El sistema de movimiento del brazo es basicamente un motor de corriente continua, mientras que intuitivamente de las especificaciones planteadas podemos deducir que es ´ necesario medir el angulo del p´endulo y del brazo, en 3.2 demostraremos que esta condi´ es necesaria y suficiente. cion ˜ es de gran utilidad contar con programas que nos permita simuEn la etapa de diseno ´ lar de forma sencilla sistemas dinamicos en una PC. Estos programas nos proporcionan ˜ y analisis ´ un ambiente flexible de trabajo a la hora del diseno del funcionamiento de distintos controladores o bien del comportamiento del sistema a lazo abierto. Lo interesante de esto ser´ıa poder contar con ese ambiente pero no solo para ser utilizado en simulacio´ nes y luego programar el controlador en un microprocesador o un PLC que interactuaran ´ que queramos realizar sobre el controlador con el sistema real. Cualquier modificacion implica tener que grabar nuevamente el programa en la memoria del microprocesador o ˜ en la cual se realizan muchas modificaciones esto resulta PLC, y en una etapa de diseno ´ nuestra idea fue implementar el control a trav´es de una PC. engorroso. Por dicha razon, En la Figura 1.1 podemos ver un diagrama de los componentes del sistema y del flujo de ˜ senales, que sintetiza lo mencionado anteriormente.
Sistema fisico - Actuador
Sensores
Controlador Figura 1.1: Diagrama del lazo de control
´ utilizados, el bloque Actuador El bloque Sensores representa los sistemas de medicion ´ representa el sistema de movimiento del brazo y el bloque Controlador la implementacion del controlador. En este capitulo detallaremos cada uno de los bloques que forman parte del sistema.
´ del Sistema Descripcion
2
1.1
Controlador
´ del controlador la realizamos a trav´es de una PC, la cual cuenta con La implementacion una placa adquisidora de datos, que es nuestro nexo entre la PC y el sistema real. El conjunto de programas que utilizamos para el manejo de la placa adquisidora y para la ´ e implementacion ´ de los controladores en la PC son el Real Time Workshop, simulacion Real Time Windows Target [9], M ATLAB y S IMULINK. En el diagrama en bloques de la ´ del controlador. Figura 1.2 se sintetiza la implementacion
Sensores
-
Placa de Adquisicion de Datos
- Actuador
6 ?
Driver 6 ?
Programa de Simulacion y Control
CONTROLADOR Figura 1.2: Diagrama de bloques del Controlador
1.1.1
´ y Control Programa de Simulacion
´ del control es el S IMU El programa utilizado para las simulaciones y la implementacion ´ y analisis ´ LINK . S IMULINK es un paquete de programas para modelado, simulacion de ´ sistemas dinamicos. Soporta sistemas lineales y no lineales, modelados en tiempo continuo, discreto o un h´ıbrido de ambos. Las simulaciones son interactivas, es decir, se ´ pueden cambiar parametros on-line e inmediatamente ver qu´e esta´ sucediendo. Para el R Pa´ ´ analisis de los sistemas se pueden utilizar las herramientas de analisis de M ATLAB . ´ de los controladores se utilizaron tambi´en los programas Real Time ra la implementacion ´ en tiempo Workshop y Real Time Windows Target, los cuales nos permiten la ejecucion real. ´ • Real Time Workshop. Es un generador de codigo en lenguaje C a partir de diagramas ´ construye programas capaces de ser ejecutados en en bloques de S IMULINK. Ademas tiempo real en una gran variedad de entornos, incluyendo dispositivos como microcontroladores, placas dedicadas o DSP. • Real Time Windows Target. Es un programa que permite ejecutar programas, compilados en lenguaje C a trav´es del Real Time Workshop, en una PC bajo sistema operativo Windows en tiempo real.
1.1.2
´ de datos Adquisicion
´ de Datos La placa adquisidora que utilizamos es una Interfaz Placa de Adquisicion Multiple para PC de Electroqu´ımica Delta S.R.L. para Slot ISA de PC. Si bien es una placa ´
1.2 Actuador
3
de bajo costo, cuenta con los requisitos que demanda nuestro proyecto, veamos algunas de sus principales caracter´ısticas: • 8 entradas digitales. • 8 salidas digitales. ´ ´ de 8 bits. • 8 entradas analogicas de 0V a 5V o´ 0V a 5.12V con una resolucion ´ ´ de 8 bits. • 2 salidas analogicas de 0 a 5V o´ 0V a 5.12V con una resolucion ´ esta placa con los distintos programas es a trav´es de Driver La forma en la que interactua ´ registros o direcciones de memoria de la PC. Las distintas funciones de la placa se efectuan por medio de operaciones de lectura y escritura en dichas direcciones. Las secuencias de lectura y escritura sobre estas direcciones de memoria se realizan a trav´es de un programa denominado driver.
1.2 Actuador ´ citamos algunas de las caracter´ısticas principales del motor de corriente A continuacion continua que, como mencionamos anteriormente, es qui´en proveera´ el movimiento del brazo: • Sin escobillas. ´ nominal de alimentacion: ´ 24V. • Tension • Consumo de corriente: 2A. ´ a engranajes, 1:130. • Reduccion: En la Figura 1.3, mostramos el diagrama de bloques del Actuador.
-
Bloque PC
Generador PWM
Puente H -
On/Off
M
- Dir
Figura 1.3: Diagrama de bloques del Bloque motor
˜ cuadrada, con tiempo El Generador de PWM, es el encargado de generar una senal ˜ de 0 a 5V proveniente de la placa de adquisicion ´ de datos. activo proporcional a una senal ˜ de direccion ´ proviene de una salida digital. Mientras la senal El Puente H es la etapa de potencia e inversor de marcha que alimenta al motor.
´ del Sistema Descripcion
4
1.2.1
Limitaciones debidas al Actuador (Motor)
˜ en control. En particular, consiLos actuadores son origen de limitaciones de desempeno deraremos ´ m´ınima, y • restricciones en actuacion ´ maxima. ´ • restricciones en actuacion Estas restricciones pueden ser tanto en amplitud, como en velocidad. ´ M´ınima Restricciones de Actuacion ´ frecuente es la imposibilidad de efectuar actuaciones arbitrariamente peUna limitacion ˜ ´ mediante un dispositivo cuanquenas. Un caso t´ıpico es el de un controlador que actua ´ la realizamos a trav´es de una salida analogica ´ tizado. En nuestro caso la actuacion de la ´ de 0-5V a trav´es de placa adquisidora que, como podemos ver en A.1, entrega una tension ´ un conversor digital/analogico de 8 bits. Por lo tanto tendremos solo 256 niveles distintos ´ de actuacion. ´ esta´ cuantizada, el m´ınimo error estatico ´ Cuando la actuacion de seguimiento estara´ ´ del actuador en general no podra´ conseguirse error limitado por el umbral de cuantizacion ´ m´ınima nulo en r´egimen permanente. Otro caso en que existen limitaciones de actuacion ´ est´atica (el actuador ”se ´ se origina en la existencia de elementos mecanicos con friccion pega”). ´ Maxima ´ Restricciones de Actuacion ´ ´ ´ En la practica, todos los actuadores tienen l´ımites maximos de actuacion, que pueden ˜ de control experimenta picos elevados o cambios bruscos en la alcanzarse si la senal referencia, y as´ı, el actuador satura. ´ se define, Figura 1.4, por El limitador saturacion
u(t) umax umax u(t) = sat(uˆ (t))) = uˆ (t) umin
si uˆ (t) > umax , si umin ≤ uˆ (t) ≤ umax , si uˆ (t) > umin .
umin umax
uˆ (t)
umin
´ Figura 1.4: Saturacion ˜ maxima ´ ´ umax es 15V y la m´ınima umin es −15V, si bien la tension ´ La senal de actuacion ´ ya que en las simulaciones nominal del motor es 24V. Elegimos este valor de tension ´ en el r´egimen permanente rondaba los ±2V. Si utilizamos como previas el valor de tension ´ maxima ´ ´ de la placa de adquisicion ´ de datos, la tension los 24V, debido a la discretizacion 24 ´ es de 255 m´ınima actuacion = 0.0941. Es decir, en el rango ±2V tendremos 42 niveles de ´ distintas, en cambio, si tomamos como actuacion ´ maxima ´ actuacion 15V aumenta a 68. ´ la tension. ´ El problema Con este razonamiento, una pregunta ser´ıa por qu´e no bajar mas ´ el motor se mueve con menos velocidad, no teniendo se presenta cuando, a menor tension, ´ la suficiente reaccion.
1.3 Sensores
5
1.3 Sensores ´ Como vimos anteriormente, las variables del sistema que debemos medir son el angulo del ´ ´ brazo y el angulo del p´endulo. En cada uno de los casos utilizamos m´etodos de medicion diferentes, por lo tanto veamos a cada uno en forma separada. ´ detallada de los sensores la encontramos en A.3. La descripcion ´ ´ del Angulo Medicion del Brazo En este caso utilizamos un encoder incremental. Una de ´ ´ es ilimitado. las ventajas de este tipo de sensor de angulo, es que el rango de medicion Mientras que la mayor desventaja es que los pulsos entregados por el encoder son de alta ´ frecuencia, por lo tanto es posible que al contarlos se pierdan pulsos. La logica encargada de contar los pulsos fue implementada en la PC, utilizando dos entradas digitales de la placa adquisidora para leer los pulsos del encoder. ´ ´ del Angulo ´ Medicion del Pendulo El sensor que utilizamos es un sensor magn´etico, estos sensores usan la propiedad por la cual un material magn´etico cambia su resistencia en presencia de un campo magn´etico.
1.3.1 Limitaciones debidas a Sensores ˜ en un sistema de control, dado Los sensores son una parte crucial de cualquier diseno ´ necesaria a partir de la cual se genera la accion ´ de control. que proveen la informacion Podemos pensar que son los ”ojos” del controlador, por lo que cualquier defecto signifi´ tendra´ un impacto significativo en el desempeno ˜ global del cativo, o error en la medicion sistema. Los principales dificultades asociadas a los sensores tienen origen en ´ y • ruido, inherente a la medicion, ´ inherente a la discretizacion, ´ Figura 1.5. • cuantificacion,
Angulo real Angulo medido
´ Figura 1.5: Cuantificacion
´ El ruido por lo general es de alta frecuencia por lo que antes de realizar la medicion ˜ con un filtro pasabajos. filtramos la senal ´ lo podemos ver en el encoder. Como podemos ver en El problema de la cuantificacion A.3, cada pulso entregado por el encoder representa un movimiento de 0.0012 radianes, ´ de angulo ´ lo que hace imposible medir una variacion menor a ese valor.
6
´ del Sistema Descripcion
´ de 0-5V correspondiente a una variaEl sensor del p´endulo, nos entrega una tension ´ de angulo ´ cion de ±18o (ver A.3). Al ser el conversor de la placa adquisidora de 8 bits, ´ distintos. Por lo que la m´ınima variacion ´ de este sensa solamente 256 niveles de tension 18o ´ angulo que sensara´ sera´ 256 , en radianes 0.0024.
Cap´ıtulo 2
´ Matematica ´ Modelizacion del Sistema ´ es el primer paso en el diseno ˜ de un lazo de control. Cuanto mayor es el La modelizacion ˜ conocimiento del proceso, mejores son los resultados que obtendremos, ya que el diseno ´ del control sera´ basado en el modelo. Para conocer la dinamica del sistema, podemos deducir su comportamiento a partir de las leyes f´ısicas que lo rigen, como el´ectricas, ´ mecanicas, t´ermicas, etc. o podemos utilizar t´ecnicas de identificacion ´ de sistemas, que ´ ´ tiene que ver con el problema de construir el modelo matematico de sistemas dinamicos a ´ de entradas y salidas del sistema [6]. partir de la observacion ´ del modelo matematico ´ En este cap´ıtulo detallaremos la obtencion del p´endulo invertido rotatorio a partir de las leyes f´ısicas que lo gobiernan. Para obtener el modelo ´ matematico utilizamos las ecuaciones de Euler-Lagrange, que proporcionan dos ecuaciones diferenciales ordinarias de segundo orden no lineales, las que escribimos como cuatro funciones diferenciales de primer orden no lineales (ecuaciones de estado). Dado que el ´ modelo obtenido es no lineal, linealizamos el sistema alrededor del puntos de operacion (equilibrio del sistema) que propusimos como especificaciones en el Capitulo 0.1: estabilizar el pendulo en forma vertical y controlar el angulo del brazo. ´ ´
´ 2.1 Ecuaciones de movimiento del pendulo invertido ´ eficientes de encontrar las ecuaciones de movimiento de un sisteUna de las formas mas ´ ma robotico es aplicando las ecuaciones de Euler-Lagrange. En primer lugar calculamos el Lagrangiano, que es la energ´ıa cin´etica menos la energ´ıa potencial del sistema. Para ello utilizaremos el diagrama simplificado de la Figura 2.1 . Las ecuaciones que describen el movimiento las encontramos calculando algunas derivadas del Lagrangiano e ´ ´ y torque del motor). igualandolas a la fuerza aplicada (friccion
2.1.1 Ecuaciones de Euler-Lagrange Para escribir las ecuaciones de Euler-Lagrange, necesitaremos calcular derivadas parciales del Lagrangiano, donde definimos el Lagrangiano L como
L(q(t), q˙ (t)) =
Ecin |{z}
−
Energ´ıa cin´etica
E pot |{z}
q(t) =
θ (t) ψ(t)
y
(2.1)
Energia potencial
con
,
q˙ (t) =
θ˙ (t) ψ˙ (t)
´ vectorial estan ´ definidas como Las ecuaciones de Euler-Lagrange en notacion ∂L d ∂L − = f, dt ∂q˙ ∂q
(2.2)
(2.3)
´ Matematica ´ Modelizacion del Sistema
8
donde f es cualquier momento aplicado al sistema, por ejemplo el torque de un motor o ´ La ecuacion ´ (2.3) es simplemente una forma diferente del Principio de D’Alambert friccion. o de las ecuaciones de movimiento de Newton. Calculamos ahora la energ´ıa cin´etica y potencial para calcular el Lagrangiano y luego derivarlo En la Figura 2.1 podemos ver un esquema simple del p´endulo y las variables.
z
m, g
θ
y ψ
r,
x
I
l
θ: ψ: m: l: I: r: g:
´ angulo entre el p´endulo y la vertical ´angulo de giro del brazo masa del p´endulo longitud del p´endulo inercia del brazo radio de giro del brazo gravedad
Figura 2.1: Esquema del p´endulo invertido rotatorio
´ Energ´ıa potencial del pendulo invertido ´ del La energ´ıa potencial es almacenada en el p´endulo invertido y depende de la elevacion centro de masa m, suponiendo que el brazo del p´endulo no tiene masa. Por lo que resulta E pot = mgl cos θ.
(2.4)
´ ´ Energ´ıa cinetica del pendulo invertido Para calcular la energ´ıa cin´etica consideramos los dos cuerpos como si estuvieran aislados. Calculamos la energ´ıa cin´etica de cada uno de ellos y tomamos como energ´ıa cin´etica total la resultante entre ambas. • Brazo giratorio: La energ´ıa cin´etica del brazo giratorio es Ecin1 =
1 ˙2 Iψ . 2
(2.5)
siendo ψ˙ la velocidad angular del brazo. • Centro de masa del p´endulo: Para calcular la energ´ıa cin´etica total absoluta del ´ centro de masa del p´endulo, debemos considerar ambos movimientos, en direccion vertical y horizontal. ´ A la componente horizontal de la velocidad del centro de masa contribuye la rotacion del brazo, es decir vm,h = rψ˙ + lθ˙ cos θ, con θ˙ la velocidad angular del p´endulo. La componente vertical de la velocidad es vm,v = lθ˙ sin θ.
´ 2.1 Ecuaciones de movimiento del pendulo invertido
9
Resultando as´ı el valor absoluto de la velocidad la suma del cuadrado de ambos componentes ˙ v2 = v2m,h + v2m,v = l 2θ˙ 2 + r2 ψ˙ 2 + 2rl cos θθ˙ ψ, de donde la energ´ıa cin´etica total del p´endulo resulta Ecin2 =
1 1 1 2 mv = ml 2θ˙ 2 + r2 mψ˙ 2 + rlmθ˙ ψ˙ cos θ. 2 2 2
(2.6)
´ del Lagrangiano, ecuacion ´ (2.1), la energ´ıa potencial (2.4) Reemplazando en la ecuacion y la energ´ıa cin´etica total (suma de (2.5) y (2.6)), obtenemos
L(q(t), q˙ (t)) =
1 ˙2 [ Iψ + mlθ˙ 2 + r2 mψ˙ 2 + 2rlmθ˙ ψ˙ cos θ ] − mgl cos θ, 2
que podemos escribir en forma matricial como 1 ˙ ˙ ml 2 mrl cos θ θ˙ θ ψ − mgl cos θ L(q(t), q˙ (t)) = mrl cos θ I + mr2 ψ˙ 2 1 = q˙ T M(q)q˙ − E pot , 2 donde la matriz M(q) se llama matriz de masa generalizada y q˙ y q vienen dadas por (2.2). ˙ y luego respecto de q, tenemos que Si derivamos el Lagrangiano respecto de q, ∂L = M(q)q˙ (dado que la matriz M es sim´etrica) ∂q˙ ∂E pot ∂L 1 ∂M(q) = q˙ T q˙ − . ∂q 2 ∂q ∂q
y
Si ahora derivamos la derivada del Lagrangiano respecto de t, utilizando la regla del producto, obtenemos d d ∂L ˙ = M(q)q¨ + ( M(q) q. dt ∂q˙ dt Notemos que d ∂M(q) ˙ ( M(q)) q˙ ≡ q˙ T q. dt ∂q ´ de Euler-Lagrange (2.3) con los resultados obtenidos Escribamos la ecuacion ∂E pot 1 ∂M(q) M(q)q¨ + q˙ T q˙ + = f , | {z } 2 |{z} ∂q ∂q | {z } | {z } 4 1 2
3
´ anterior representa donde cada uno de los t´erminos de la ecuacion 1. t´ermino referido a la inercia de la masa ´ 2. t´ermino de coriolisis 3. t´ermino gravitacional 4. fuerzas o momentos externos aplicados
(2.7)
´ Matematica ´ Modelizacion del Sistema
10
¨ de (2.7) tenemos Despejando la derivada de mayor orden, en este caso q, ∂E pot 1 ∂M(q) q¨ = M−1 (q) − q˙ T q˙ − +f 2 ∂q ∂q ∂E pot 1 d −1 = M (q) − M(q) q˙ − +f 2 dt ∂q
(2.8)
Notemos que det M 6= 0, por lo que la matriz M es invertible. ´ (2.8) reemplazando a M, a q y q˙ por la matriz y los vectores Escribimos la ecuacion correspondientes, quedando as´ı −1 1 θ¨ ml 2 mrl cos θ 0 −mrl sin θθ˙ θ˙ −mgl sin θ f = − − + θ ψ˙ −mrl cos θ I + mr2 0 ψ˙ 0 fψ 2 −mrl sin θθ˙ (2.9) donde fθ es la fuerza de rozamiento del p´endulo y fψ = τ es el torque aportado por el motor, la entrada del sistema. Dado que no vamos a controlar el p´endulo con el torque del ´ necesitamos una ecuacion ´ que nos relacione el torque τ con la motor sino con la tension, ´ del motor, u. Para ello calculamos el modelo matematico ´ tension del motor de corriente continua.
´ Modelo Matematico de un Motor de CC
2.2
´ Para calcular el modelo matematico del motor de corriente continua, planteamos las ecuaciones f´ısicas del sistema. Para ello recurrimos a un diagrama del circuito el´ectrico del armadura y al diagrama de cuerpo libre del rotor como mostramos en la Figura 2.2, donde
R V
+ −
L
τ
ψ
+
e = Kψ˙ −
bψ˙
J: b: K: R: L: ψ:
momento de inercia del rotor factor de amortiguamiento constante de la fuerza electromotriz resistencia el´ectrica inductancia el´ectrica ´ del eje del motor posicion
Figura 2.2: Diagrama de bloques de un motor de CC
El torque del motor, τ, esta´ relacionado linealmente con la corriente de armadura, i, por un factor Kτ . La fuerza contra electromotriz (fcem), e, depende de la velocidad de giro como muestran las ecuaciones (2.10) y (2.11). τ = Kτ i e = Ke ψ˙
(2.10) (2.11)
En el sistema internacional de medidas (SI), la constante de armadura, Kτ y la constante del motor Ke son iguales, por lo que Kτ = Ke = K. De la Figura 2.2, podemos escribir las ecuaciones basadas en las leyes de Newton, (2.12), y en las leyes de Kirchhoff, (2.13). Jψ¨ + bψ˙ = Ki Li˙ + Ri = v − Kψ˙
(2.12) (2.13)
´ en Modelo de Estado 2.3 Representacion
11
˜ Dado que J, b y L toman valores muy pequenos, podemos despreciarlos y as´ı obtenemos el modelo simple aproximado
τ (t) =
K K2 ˙ v(t) − ψ(t). R R
(2.14)
´ en Modelo de Estado 2.3 Representacion ´ Nos encontramos frente a un sistema que puede ser descripto por un numero finito de ´ representaremos las ecuaciones diferenciales ordinarias, (2.9) y (2.14). En esta seccion ´ diferencial vectorial de primer grado ecuaciones en una forma compacta por la ecuacion (ecuaciones de estado), que en sistemas continuos es de la forma x˙ = f ( x, u),
(2.15)
donde x es el vector de variables de estado y u es el vector de entradas de control. Para escribir nuestro sistema como (2.15), elegimos como variables de estado a x1 = ˙ de donde (2.9) resulta θ, x2 = ψ, x3 = θ˙ y x4 = ψ, −1 θ˙ 1 0 0 0 0 0 0 0 θ ψ˙ 0 1 1 0 0 0 0 0 0 = ψ 2 θ¨ 0 0 ˙ ˙ ml mrl cos θ 0 −mrlθ sin θ θ 2 0 0 2 ψ¨ 0 0 mrl cos θ I + mr 0 0 −mrlθ˙ sin θ 0 ψ˙ 0 0 1 0 θ 0 0 0 0 0 1 ψ 0 0 + 0 0 0 0 θ˙ − −mgl sin θ + fθ 0 0 0 0 ψ˙ 0 fψ
(2.16)
´ y si reemplazamos el torque del motor fψ por (2.14), con u = v y el rozamiento dinamico ˙ del p´endulo fθ = bsθ, obtenemos el modelo de estado x˙ 1 = x3 x˙ = x4 2 2 ( I + mr2 )( 12 mrlx3 x4 sin x1 + mgl sin x1 + bs x3 ) r cos x1 ( 12 mrlx23 sin x1 + KR u − KR x4 ) − x˙ 3 = ml 2 ( I + mr2 − mr2 cos2 x1 ) l ( I + mr2 − mr2 cos2 x1 ) 2 K K 1 1 2 mrlx3 sin x1 + R u − R x4 r cos x1 ( 2 x3 x4 sin x1 + mgl sin x1 + bs x3 ) x˙ 4 = 2 − I + mr2 − mr2 cos2 x1 l (( I + mr2 − mr2 cos2 x1 ) (2.17) y ahora el sistema del p´endulo sobre un brazo giratorio esta´ escrito de la forma (2.15), donde x ∈ R4 y u ∈ R.
´ del Sistema 2.4 Linealizacion El modelo de estado que obtuvimos en (2.17) es no lineal, como la mayor´ıa de los sistemas f´ısicos. Bajo ciertas condiciones podemos aproximar el modelo (2.17) con un modelo de ´ simple estado lineal incremental. La idea de utilizar un modelo lineal que es mucho mas ´ ˜ de controladores. el analisis del sistema y el diseno ´ de un modelo lineal a partir de uno no lineal se llama ”lineaEl proceso de obtencion ´ se realiza alrededor de un punto o trayectoria de operacion, lizacion” [2]. La linealizacion ´ ´ ´ (2.15), es decir definido por valores nominales, x˜ (t), x˜ 0 y u˜ (t), que satisfacen la ecuacion x˜˙ (t) = f ( x˜ (t), u˜ (t)).
´ Matematica ´ Modelizacion del Sistema
12
´ no lineal (2.15) para una entrada y Nos interesa el comportamiento de la ecuacion estado inicial apenas perturbados de los valores nominales, es decir para u(t) = u˜ (t) + uδ (t) ˜ y x0 = x˜ 0 + xδ0 con uδ (t) y xδ0 suficientemente pequenos para t ≥ t0 . Si suponemos que la ´ permanece cercana a la nominal, en t´erminos de la ecuacion ´ de estado no lineal, solucion tenemos x˜˙ (t) + x˙ δ (t) = f ( x˜ (t) + xδ (t), u˜ (t) + uδ (t))
x˜ (t0 ) + xδ (t0 ) = x˜ 0 + xδ0 .
Supongamos que f ( x, u) es diferenciable, entonces podemos usar la serie de Taylor ˜ Si nos quedamos solo con los t´erminos de primer orden para la alrededor de x˜ y u. componente i de f , resulta ˜ u˜ ) + f i ( x˜ + xδ , u˜ + uδ ) ≈ f i ( x,
∂f ∂f ∂ fi ˜ u˜ ) xδ1 + · · · + i ( x, ˜ u˜ ) xδ4 + i ( x, ˜ u˜ )uδ . ( x, ∂x1 ∂x4 ∂u
´ vectorial, obtenemos Repitiendo para cada i = 1, . . . , 4 y volviendo a la notacion ∂f ∂f x˜˙ (t) + x˙ δ (t) ≈ f ( x˜ (t), u˜ (t)) + ( x˜ (t), u˜ (t)) xδ + ( x˜ (t), u˜ (t))uδ , ∂x ∂u ∂f
´ ∂x donde la notacion vector x, ∂f 1 ··· ∂x. 1 . ∂f .. , .. ∂x ∂ f4 ··· ∂x1
(2.18)
representa la Matriz Jacobiana, del campo vectorial f con respecto al ∂ f1 ∂x4
.. .
∂ f4 ∂x4
´ de estado lineal de la forma Por lo que el modelo (2.18) se aproxima con una ecuacion x˙ δ (t) = A(t) xδ (t) + B(t)u( t),
xδ (t0 ) = xδ0 ,
donde A(t) =
∂f ( x˜ (t), u˜ (t)), ∂x
B(t) =
∂f ( x˜ (t), u˜ (t)). ∂u
(2.19)
Notemos que el sistema lineal (2.19) resulta inestacionario cuando se trata de una ´ el sistema lineal resulta trayectoria nominal, cuando se trata de un punto de operacion, estacionario, es decir A(t) = A y B(t) = B . ´ que nos interesa en nuestro sistema es el punto de equiLa trayectoria de operacion librio del mismo. Un punto x = xeq en el espacio de estado es un punto de equilibrio de (2.15) con u(t) = 0, si tiene la propiedad de que cuando el estado inicial del sistema es xeq , el estado permanece en dicho punto en todo tiempo futuro [5]. Buscamos entonces xeq tal que x˙ eq = f ( xeq , 0) = 0, as´ı 0 = x3 0 = x4 2 ( I + mr2 )( 21 mrlx3 x4 sin x1 + mgl sin x1 + bs x3 ) r cos x1 ( 12 mrlx23 sin x1 + KR u − KR x4 ) 0 = − ml 2 ( I + mr2 − mr2 cos2 x1 ) l ( I + mr2 − mr2 cos2 x1 ) 2 1 mrlx23 sin x1 + KR u − KR x4 r cos x1 ( 12 x3 x4 sin x1 + mgl sin x1 + bs x3 ) 0 = 2 − I + mr2 − mr2 cos2 x1 l (( I + mr2 − mr2 cos2 x1 ) y despejando, obtenemos que el punto de equilibrio resulta xeq = 0 x2 0 0 ∀ x2 ∈ R ueq = 0.
´ Entrada-Salida 2.5 Representacion
13
Si ahora tomamos el punto de equilibrio xeq y linealizamos el sistema alrededor de dicho punto utilizando (2.19), obtenemos
0 0
∂ f = ( I +mr2 ) g A= ∂x x=xeq Il − rmg I
0 0 0 0
1 0 ( I +mr2 )b ml 2 I − rbl Is
s
0 1 rK 2 l IR 2 − KIR
∂ f B= ∂u x=xeq
0 0 = − rK l IR K IR
Dado que las salidas del sistema son θ y ψ, definimos las matrices 1 0 0 0 0 0 y D= , C= 0 1 0 0 0 0 quedando de esta forma el sistema lineal totalmente definido como 0 0 1 0 0 θ˙ θ 0 0 0 1 ψ˙ ψ 0 = 2 2 2 + ( I + mr ) g ( I + mr ) b rK s θ¨ θ˙ − rK u 0 l IR Il l IR ml 2 I 2 K ψ¨ ψ˙ − rmg 0 − rbl Is − KIR IR I θ 1 0 0 0 ψ . y= 0 1 0 0 θ˙ ψ˙
(2.20)
´ Entrada-Salida 2.5 Representacion ´ entrada-salida no es mas ´ ni menos que una forma de obtener la salida La representacion ´ de su entrada. Para ello sabemos que la salida del de un sistema cualquiera en funcion sistema puede calcularse como y(t) =
Z t 0
g(t − τ )u(τ ) dτ,
donde g(t) es la respuesta al impulso: la salida del sistema a un impulso unitario en el instante τ. O, si ya tenemos el modelo en variables de estado, x˙ = Ax + Bu y = Cx + Du
(2.21)
aplicamos la transformada de Laplace a (2.21) y obtenemos sX (s) − x(0) = AX (s) + BU (s) Y (s) = CX (s) + DU (s). ´ y suponemos que las condiciones iniciales son Si despejamos X (s) de la primer ecuacion nulas, x(0) = 0, y la reemplazamos en la segunda, obtenemos la matriz transferencia G (s) = C (sI − A)−1 B + D.
(2.22)
En nuestro sistema, dado que la matriz A es de cuarto orden, resulta complejo calcu´ del modelo lineal, bajo algunas lar (sI − A)−1 . Por eso utilizaremos una simplificacion condiciones sobre nuestras variables que detallaremos.
´ Matematica ´ Modelizacion del Sistema
14
2.6
´ del Modelo Simplificacion
Para obtener el modelo de estado simplificado partiremos de suponer que el sistema tiene ´ ´ como sabemos rozamiento dinamico en el p´endulo despreciable, es decir bs ≈ 0. Ademas, ´ de su masa como la inercia, I, del brazo giratorio del p´endulo se puede escribir en funcion I = Mr2 , donde r el radio de giro del brazo. Si ahora escribimos el t´ermino de la fila 3 y 4 de la columna 1 de la matriz A de la ´ (2.20) en funcion ´ de la masa del brazo, resulta linealizacion a31 =
( I + mr2 ) g ( M + m) g = Il Ml
a41 = −
y
Si tenemos en cuenta que M m, entonces a31 = (2.20) se reduce a θ˙ 0 ψ˙ 0 = θ¨ g/l ψ¨ 0 |
0 0 0 0
1 0 θ 0 0 1 ψ + 0 u, ˙ 0 rα /l θ −rβ/l ˙ 0 −α ψ β {z } | {z } A¯
Calculamos ahora la mero calculamos s 0 (sI − A¯ )−1 = − g/l 0
rmg mg =− . I Mr
(2.23)
g mg y a41 = ≈ 0, por lo que el modelo l Mr
con α =
K2 K yβ= . 2 Mr R Mr2 R
(2.24)
B¯
matriz transferencia (2.22) para el sistema (2.24). Para ello pri-
−1 0 −1 0 s 0 −1 0 s −rα /l 0 0 s +α 2 s (s + α ) 0 s(s + α ) srα /l 1 0 (s + α )(s2 − g/l ) 0 s2 − g/l = 2 2 0 s (s + α ) s2 rα /l s(s + α )(s − g/l ) s(s + α ) g/l 0 0 0 s(s2 − g/l ).
De donde −s rβ/l (s + α )(s2 − g/l ) Θ(s) U (s). Y (s) = = β Ψ(s) s(s + α )
2.7
(2.25)
´ Ajuste de los Parametros en forma Aproximada
˜ de los controladres sera´ basado en el modelo matematico ´ Dado que el diseno del siste´ ma, necesitamos conocer los valores num´ericos de los parametros. Mucho de ellos son variables que podemos medir o que conocemos, como • l = 0.3 [m] • r = 0.27 [m] • M = 0.5 [kg] • m = 0.05 [kg]
´ 2.7 Ajuste de los Parametros en forma Aproximada
15
• g = 9.8 [m/seg2 ] ´ Los parametros relacionados con el motor, R y K, no los conocemos. Motivo por el cual estimaremos es forma aproximada utilizando un m´etodo iterativo, previamente verificamos ´ En esta seccion ´ describiremos los pasos que seguimos su funcionamiento en simulacion. ´ para ajustar los parametros del modelo. Bajo las consideraciones detalladas en 2.6 para obtener el modelo simplificado, vemos que el motor se comporta independientemente del p´endulo. Por lo que estimaremos los valores de α y β solo con el motor. Para ello procedimos de la siguiente manera: ´ de amplitud 1.5 V a lazo abierto durante un 1. Excitamos al sistema con un escalon segundo con un per´ıodo de muestreo de T = 1/1000 seg y guardamos los valores que obtuvimos en la salida ψ. ´ transferencia que relaciona la entrada u con la salida ψ, de 2. Obtenemos la funcion ´ de α y β, dando como resultado (2.24), en funcion Ψ(s) β = . U (s) s(s + α )
(2.26)
´ 3. Dimos valores a α y a β hasta lograr una salida que comparandola con las muestras obtenidas tenga un error aceptable. ´ del sistema (2.26), 4. La Figura 2.3 muestra el resultado obtenido mediante simulacion con α = 11.8 β = 9.8
1.4 Datos Simulados Datos Reales
1.2
Radianes
1
0.8
0.6
0.4
0.2
0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Tiempo
´ entre la salida real y la aproximada Figura 2.3: Comparacion
´ Matematica ´ Modelizacion del Sistema
16
´ Por lo tanto queda as´ı definido el sistema (2.24) por todos sus parametros como ecua´ de estado cion 0 0 0 1 0 θ θ˙ ψ˙ 0 0 0 1 = ψ + 0 u θ¨ 32.66 0 0 10.62 θ˙ −8.82 9.8 ψ˙ ψ¨ 0 0 0 −11.8 (2.27) θ 1 0 0 0 ψ y= ˙ 0 1 0 0 θ ψ˙ ´ transferencia y como funcion
−8.82s Θ(s) s2 − 32.66) = (s + 11.8)( U (s). 9.8 Ψ(s) s(s + 11.8)
Cap´ıtulo 3
´ Dise˜ no de Controladores y Simulacion ˜ de control basadas en el En este cap´ıtulo desarrollaremos diversas t´ecnicas de diseno ´ ´ modelo matematico del sistema, para lo que debemos plantear cuales son nuestras es˜ es decir como ´ pecificaciones de diseno, queremos que se comporte el sistema luego de calculado el control . Comenzaremos con t´ecnicas de control simples, tomando al sistema como dos sistemas de una entrada y una salida en cascada, llamada control en casca´ complejas utilizando las ecuaciones en espacio de da. Luego desarrollamos t´ecnicas mas estado como realimentacion ´ de estado. ´ entrada-salida del sistema Para el control en cascada utilizamos la representacion ´ de polos [3] disenaremos ˜ (2.25) y a trav´es de la asignacion el control. Para la realimenta´ de estado utilizaremos un regulador lineal cuadratico ´ cion (LQR) y dado que solo podemos medir dos de las cuatro variables de estados, estimaremos las variables de estado no medidos. ´ ˜ de Para el calculo de los controladores utilizamos M ATLAB. Para analizar el desempeno cada controlador en el lazo cerrado del sistema, utilizamos S IMULINK, donde armamos el ˜ diagrama de bloques del modelo no lineal (2.17). Aplicamos cada controlador disenado a ´ se aproxime al sistema real. este sistema para que la simulacion ´ detallaremos cada una de las t´ecnicas utilizadas, desarrollando alguA continuacion nas herramientas necesarias para cada t´ecnicas, y detallaremos tambi´en los resultados ´ obtenidos en la simulacion.
3.1 Control en Cascada ´ El control en cascada es una estructura alternativa de control, cuya idea basica es realimentar variables intermedias en un sistema SISO1 [3]. Esta estructura, representada en la Figura 3.1, tiene dos lazos: • un lazo primario con un controlador primario K1 (s), y • un lazo secundario con un controlador secundario K2 (s). Los principales beneficios del control en cascada se obtienen ˜ del lazo, o (i) cuando G2 (s) tiene alinealidades significativas que limiten el desempeno (ii) cuando G1 (s) impone limitaciones al ancho de banda en una estructura de control ´ basica. El caso (ii) se da, por ejemplo, cuando G1 (s) tiene ceros de fase no m´ınima o retardos ´ en nuestro problema G1 (s) tiene un cero de temporales. Como veremos en esta seccion, fase no m´ınima. 1
Siglas que significa una entrada una salida (single input single outpu)
´ Dise˜ no de Controladores y Simulacion
18
R(s) + d - j- K1 (s) −
Y (s)
+ j- K (s) 2
-. G2 (s)
−
. . G1 (s)
-d
6
6
Lazo secundario
T2 (s)
Lazo primario
Figura 3.1: Estructura de control en cascada
Si pensamos nuestro problema como si fuera SISO, tomando como entrada U (s) y sa´ medimos el angulo ´ lida Ψ(s), donde ademas del p´endulo Θ(s), podemos reescribir nuestro sistema como muestra la Figura 3.2, teniendo en cuenta (2.25).
U (cs) -
−βr/l s (s2 − g/l )(s+α )
2 - −(s − g2/l )
Ψ(s) -c
r/l s
Θ-(sc) Figura 3.2: Diagrama de bloques del p´endulo como si fuera un sistema SISO ˜ de la Figura 3.1, puede separarse en dos etapas: El diseno ˜ ´ 1. Lazo secundario. Disenamos K2 (s) para estabilizar el angulo del p´endulo Θ(s), as´ı ´ de sensibilidad complementaria (transferencia a lazo cerrado) obtenemos la funcion para el lazo secundario como T2 (s) =
G2 (s)K2 (s) , 1 + G2 (s)K2 (s)
donde
G2 (s) =
(s2
−βr/l s . − g/l )(s + α )
˜ ´ 2. Lazo primario. Una vez disenado K2 (s) para estabilizar el angulo del p´endulo Θ(s), ˜ el controlador primario K1 (s) puede disenarse tomando como planta equivalente T2 (s) G1 (s), donde G1 (s) =
−(s2 − g/l ) . r/l s2
´ de Polos 3.1.1 Dise˜ no de K2 (s) por Asignacion ´ detallaremos la t´ecnica utilizada para disenar ˜ En esta seccion el controlador K2 (s), que ´ estabiliza el angulo del p´endulo. La t´ecnica utilizada es por asignacion ´ de polos [3], pero antes mencionaremos de qu´e se trata esta t´ecnica. ´ de Polos La t´ecnica de asignacion ´ de polos trata basicamente ´ Asignacion en ubicar los polos del polinomio caracter´ıstico a lazo cerrado en forma arbitraria. Dado un lazo de control de un grado de libertad como muestra la Figura 3.3, con B(s) b sn−1 + bn−1 sn−1 + · · · + b0 = n−1 n A(s) an s + an−1 sn−1 + · · · + a0 pn p sn p + pn p −1 sn p −1 + · · · + p0 P(s) K (s) = = , L(s) l nl s nl + l nl −1 s nl −1 + · · · + l 0
G (s) =
y
(3.1)
3.1 Control en Cascada
19
Las cuatro funciones de sensibilidad asociadas al lazo de la Figura 3.3 vienen dadas por G (s)K (s) B(s) P(s) = 1 + G (s)K (s) A(s) L(s) + B(s) P(s) 1 A(s) L(s) S(s) , = 1 + G (s)K (s) A(s) L(s) + B(s) P(s) G (s) B(s) L(s) Si ( s ) , = 1 + G (s)K (s) A(s) L(s) + B(s) P(s) T (s) ,
Sensibilidad complementaria
(3.2)
Sensibilidad
(3.3)
´ de entrada Sensibilidad de perturbacion (3.4)
Su (s) ,
K (s) A(s) P(s) = 1 + G (s)K (s) A(s) L(s) + B(s) P(s)
Sensibilidad de control
(3.5)
y donde el polinomio Alc (s) , A(s) L(s) + B(s) P(s) se llama polinomio caracter´ıstico a lazo cerrado.
Di ( s )
Do ( s )
R ( s )- j U (s-) ? j - G (s) K (s) −6
? - j Y(s) -
j 6
Dm ( s )
Figura 3.3: Lazo de control de un grado de libertad
Nuestro objetivo es ver bajo qu´e condiciones dados B(s) yA(s), que definen nuestra ˜ P(s) y L(s) tal que el polinomio caracter´ıstico a lazo cerrado sea planta, se pueden disenar ´ ver [3]). Alc (s). El siguiente lema resume estas condiciones (demostracion ´ de Polos SISO). Consideremos un lazo de realimentacion ´ de un Lema 1 (Asignacion grado de libertad con un controlador K (s) y un modelo nominal G (s) dado por (3.1). Suponiendo que A(s) y B(s) son coprimos 2 y que sus grados son n y n − 1, respectivamente. Sea Alc (s) un polinomio arbitrario de grado nlc = 2n − 1. Entonces existen polinomios P(s) y L(s), con grados n p = nl = n − 1 tal que
(3.6)
A(s) L(s) + B(s) P(s) = Alc (s)
´ no existen cancelaciones inestaNotemos que si elegimos Alc (s) estable 3 , y si ademas bles entre el controlador K (s) y la planta G (s), el lazo de la Figura 3.3, resulta internamente estable, es decir que las funciones de sensibilidad (3.2) a (3.5) son estables.
˜ K2 (s) = Volvamos a nuestro problema, disenar B(s) = −βr/l s 2 3
y
P2 (s) L2 ( S)
A(s) = (s2 − g/l )(s + α ),
´ no tienen factores en comun con todos sus ceros con parte real negativa
tal que estabilice el lazo tomando
´ Dise˜ no de Controladores y Simulacion
20
´ el Lema 1, tenemos que elegir nlc = 2n − 1 = 5 donde el grado de la planta es n = 3. Segun para que existan polinomios P2 (s) y L2 (s) de grado n p = nl = n − 1 = 2 que satisfagan (3.6). ´ de Alc (s) vamos a recurrir ´ estable de los factores de A(s), Para la eleccion a la cancelacion p ¯ es decir vamos a elegir Alc (s) = (s + g/l )(s + α ) Alc (s), donde ahora A¯ lc (s) tiene orden 3. De esta forma nuestro polinomio caracter´ıstico a lazo cerrado se reduce a q (s + g/l )(s + α ) A¯ lc (s) = P2 (s) (−βr/l s) + L2 (s) (s2 − g/l )(s + α ), | {z } | {z } | {z } B(s)
Alc (s)
A(s)
´ estable, debemos asegurar que P2 (s) = que p para que podamos realizar la cancelacion (s + g/l )(s + α ) P¯2 (s), por lo que P¯2 (s) = p0 , con p0 ∈ R, ya que P2 (s) tienen grado 2 . De ´ diofantina que nos queda es esta forma la ecuacion q A¯ lc (s) = p0 (−βr/l s) + (s2 + l1 s + l0 )(s − g/l ). (3.7) | {z } |{z} P¯2 (s)
L2 (s)
Si tomamos A¯ lc (s) = s3 + c2 s2 + c1 s + c0 , y expresamos (3.7) en forma de sistema de ecuaciones matricial, obtenemos p 1 0 0 l1 c2 + g/l 0 1 −βr/l l2 = , c1 p p0 0 0 − g/l c0 | {z } Me
´ ya que Me es no singular, es decir det Me 6= 0. que admite solucion ´ Lo unico que nos queda ahora es elegir coeficientes de A¯ lc (s) tal que sea estable. La ´ de este polinomio no es trivial ya que nuestra G2 (s) es inestable, y existen limieleccion taciones de dise˜ no para la sensibilidad complementaria cuando existen polos inestables ´ detallaremos estas limitaciones y como ´ en el sistema. En la siguiente seccion elegir el polinomio caracter´ıstico en estos casos [8]. ´ de A¯ lc(s) Limitaciones de Dise˜ no Impuestas por G2 (s) para la Eleccion ´ discutiremos los compromisos de diseno ˜ que existen en la respuesta En esta seccion ´ en un sistema SISO. Estos compromisos de diseno ˜ temporal debida a la entrada escalon se originan en limitaciones estructurales de la planta a controlar impuestas por polos ´ transferencia. Estas limitaciones son inestables y ceros de fase no m´ınima4 de su funcion inevitables para cualquier controlador que estabilice el lazo. Por ejemplo, como veremos ´ los polos inestables a lazo abierto implican la existencia de sobrevalor en a continuacion, la respuesta, e inducen un compromiso de dise˜ no entre la magnitud de este sobrevalor y el tiempo de establecimiento de la respuesta. ´ ´ Respuesta al escalon Definamos los parametros que describen las propiedades rele5 ´ ´ la Figura vantes de la dinamica de los sistemas , considerando como respuesta al escalon 3.4 ´ (esto • valor en el r´egimen estacionario, y∞ : el valor final de la respuesta al escalon no tiene sentido si el sistema tiene polos en el SPD 6 ). 4
ceros con parte real positiva ´ Existen distintas definiciones para estos parametros en la literatura, nosotros adoptamos las definiciones propuestas por [7] 6 SPD: semiplano derecho 5
3.1 Control en Cascada
21
y∞ + ysob
y∞ + δ
y∞ kr y ∞
y∞ − δ
0
− ysub tc
tp Tiempo
te
´ Figura 3.4: Indicadores de la respuesta escalon
• Tiempo de crecimiento, tc : el tiempo que transcurre hasta el instante en el cual ´ alcanza, la primer vez, el valor kr y∞ . La constante kr var´ıa la respuesta al escalon ´ el autor, comunmente ´ segun se toma tanto 0.9 o 1. ´ ´ excede su valor • Sobrevalor, ysob : el maximo valor por el que la respuesta el escalon final. Generalmente se expresa como un porcentaje de y∞ . ´ ´ pasa por • subvalor, ysub : el maximo (valor absoluto) por el que la respuesta al escalon debajo del cero. • Tiempo de establecimiento, te : el tiempo transcurrido hasta que la respuesta al ´ ingresa (sin dejarlo en tiempo subsiguiente) a una banda ±δ, alrededor del escalon valor final. Esta banda δ, generalmente se define como un porcentaje de y∞ , 2% a 5% ´ detalles ver [8]. Veamos el siguiente resultado, que no vamos a demostrar, para mas Corolario 1. [Polos inestables reales y sobrevalor]. Si la planta tiene un polo inestable real en p > 0, su respuesta al escalon ´ tiene forzosamente sobrevalor. Mas ´ aun, ´ si tc es el tiempo de crecimiento del sistema a lazo cerrado, entonces se cumple que ysob ≥
( ptc − 1)e p tc + 1 ptc ≥ . ptc 2
Sigue del Corolario 1 que si la planta tiene un polo inestable: ´ • necesariamente hay sobrevalor en la respuesta al escalon • el sobrevalor sera´ mayor cuanto mayor sea el tiempo de respuesta del lazo cerrado. ´ accion ´ de control rapida ´ Es decir los polos inestables demandaran para un mejor desem˜ (menor sobrevalor). Cuanto mayores (mas ´ rapidos) ´ peno sean los polos inestables, mayor sera´ esta demanda. ´ podemos extraer la siguiente regla practica ´ ˜ para evitar granEn conclusion de diseno des sobrevalores.
´ Dise˜ no de Controladores y Simulacion
22
El polo dominante a lazo cerrado debe ser mayor (en magnitud) que cualquier polo inestable a lazo abierto del sistema.
p Dado que nuestro sistema G2 (s) tiene un polo inestable en g/l = 5.7154, elegiremos ´ valor un poco mayor para hacer como frecuencia de corte del sistema a lazo cerrado algun ´ de control rapida. ´ ´ la accion Utilizamos los valores de los parametros descriptos en la ´ 2.7, donde seccion G2 (s) =
−8.82s . (s + 11.8)(s2 − 32.66)
´ ´ del A¯ lc (s) tal que la frecuencia del lazo Propusimos tres polos rapidos para la eleccion sea mayor que el polo inestable. Los polos propuestos son p=[-14 -13 -12], es decir, ´ (3.7) dando como resulA¯ lc (s) = s3 + 39s2 + 506s + 2184, con el que resolvimos la ecuacion tado el controlador K2 (s) =
3.1.2
−129.67(s + 11.8)(s + 5.715) , (s + 52)(s − 7.341)
y
T2 (s) =
1143.7s . (s + 14)(s + 13)(s + 12)
Dise˜ no de K1 (s)
Una vez estabilizado el lazo secundario, seleccionamos K1 (s) tal que estabilice el lazo de la Figura 3.5. Para ello debemos tomar como sistema a lazo abierto a
− p0 βr/l s −(s2 − g/l ) r/l s2 A¯ lc p βr/l (s2 − g/l ) = 0 , r/l s A¯ lc
T2 (s) G1 (s) =
(3.8)
´ limitaciones que tiene un polo en el origen y un cero de fase no m´ınima que impondran ˜ en el diseno.
T2 (s) = R(se) - lK1 (s) - l − 6 − 6
√
p0 (s+ g/l )(s+α ) s2 +l1 s+l0
-
− p0 βr/l s A¯ lc
−βr/l s (s2 − g/l )(s+α )
Θ(s) −(s2 −g/l ) -
r/l s2
Ψ(s) -c
˜ del lazo primario Figura 3.5: Diseno
Limitaciones de Dise˜ no Impuestas por G1 (s) T2 (s) Como vi´eramos en 3.1.1, tanto los polos inestables como los ceros de fase no m´ınima, ˜ por ejemplo, implican la existencia de subvalor, induimponen limitaciones en el diseno, ´ ciendo un compromiso entre la magnitud de e´ ste y el maximo tiempo de establecimiento de ´ citando un resultado parecido al del Corolario la respuesta, como veremos a continuacion 1, de [8].
3.1 Control en Cascada
23
Corolario 2. [Ceros de fase no m´ınima y subvalor]. Si la planta tiene un cero de fase no m´ınima real en q > 0, su respuesta al escalon ´ tiene forzosamente subvalor. Mas ´ aun, ´ si te es el tiempo de establecimiento a un nivel δ del sistema a lazo cerrado, entonces se cumple que ysub ≥
1−δ . −1
eqte
´ del Corolario 2, es que si la planta tiene un cero real de fase no La interpretacion m´ınima ´ • necesariamente hay subvalor en la respuesta al escalon • el pico del subvalor sera´ mayor cuanto menor sea el tiempo de establecimiento del lazo cerrado. ´ accion ´ de control lenta para un Es decir, los ceros de fase no m´ınima demandaran ˜ (menor subvalor). Cuanto menores (mas ´ lentos) sean los ceros de fase mejor desempeno no m´ınima, mayor sera´ esta demanda. ´ podemos extraer la siguiente regla practica ´ ˜ para evitar granEn conclusion de diseno des subvalores. El polo dominante a lazo cerrado debe ser menor (en magnitud) que el menor cero de fase no m´ınima del sistema.
Si retomamos nuestro sistema con los valores constantes, con G1 (s) =
−(s2 − 32.66) 0.9s2
⇒
G1 (s) T2 (s) =
−1270.7(s2 − 32.66) . s(s + 14)(s + 13)(s + 12)
(3.9)
En la Figura 3.6, vemos el lugar de ra´ıces, obtenido con el comando rlocus de M ATLAB, ´ ´ los polos cuando realimentamos de G1 (s) T2 (s). Este grafico muestra donde se ubicaran solo con una ganancia proporcional. Como podemos apreciar, existen valores de ganancia tal que los polos se ubiquen todos en el semiplano izquierdo. Para encontrar un valor de ganancia tal que estabilice el lazo cerrado, utilizamos el comando rlocfind(G2T2) que nos permite encontrar ganancias en un lugar de ra´ıces en forma interactiva. De esta forma vimos que tomando K1 (s) = 0.02, los polos a lazo cerrado resultan las cruces, +, de la Figura 3.6. Por lo que la transferencia a el lazo cerrado resulta T1 (s) =
−25.41(s2 − 32.66) . (s + 20)(s + 0.35)(s2 + 17.7s + 95.05)
´ 3.1.3 Simulacion ´ tomamos los controles K1 (s) y K2 (s) y los implementamos en S IMULINK En esta seccion ˜ obtenido. Simular dichos controladores con el sistema lineal para analizar el desempeno tal como los calculamos, 3.1, sabemos que se comporta de forma deseada. Pero ahora mostramos los resultados que obtenemos si tomamos el sistema no lineal, descripto por (2.17) y tomando en cuenta las limitaciones de los sensores y del actuador. En la Figura ´ donde el 3.8, mostramos el diagrama de bloques que implementamos para la simulacion, bloque Alinealidades representa, en forma aproximada las perturbaciones del motor: la
´ Dise˜ no de Controladores y Simulacion
24 10
8
6
4
Imag Axis
2
0
−2
−4
−6
−8
−10
−15
−10
−5
0 Real Axis
5
10
15
20
Figura 3.6: Lugar de ra´ıces de G1 (s) T2 (s)
´ estatica ´ friccion (Figura 3.7) y el juego en el eje del motor (≈ 1o ). El bloque K1d es el control ´ inicial tomamos K1 (s) discretizado con un tiempo de muestreo T = 0.02 y como condicion todos las variables de estado en cero salvo θ = 0.05 rad. Los valores de las alinealidades las obtuvimos comparando el sistema real con el simulado, y as´ı ajustamos el valor de la ´ estatica. ´ friccion
ψ(t)
0.15
ψˆ (t)
´ estatica ´ Figura 3.7: Friccion del motor
La Figura 3.9 muestra los resultados obtenidos luego de simular el lazo cerrado duran´ ´ entre la posicion ´ te 20 segundos. En el grafico de la izquierda mostramos la comparacion ´ del brazo sin tener en cuenta el rozamiento estatico ni el juego del motor (las alinealidades) con el que s´ı las tiene en cuenta. A la derecha vemos que estas alinealidades no afectan ´ del angulo. ´ tanto a la posicion
3.1 Control en Cascada
25
Discretizacióo Tita Discretizacion de la Actuacion .1 Step3
tita
K2d
K1
u
Tita psi
Saturacion de la actuacion
K2
Pendulo no lineal1
In1
Out1
Alinealidades
Psi
Discretización Psi
´ Figura 3.8: Diagrama de bloques de la simulacion
0.12
0.06 con alinealidades sin alinealidades
sin alinealidades con alinealidades 0.05
0.1
0.04
0.08
0.03
Posición [rad]
Posición [rad]
0.06
0.04
0.02
0.02
0.01
0 0 −0.01 −0.02
−0.02
−0.04
−0.06
−0.03
0
2
4
6
8
10 Tiempo [seg]
12
14
16
18
20
−0.04
0
2
4
6
8
10 Tiempo[seg]
12
14
16
Figura 3.9: Resultados obtenidos, a la derecha θ y a la izquierda ψ
18
20
´ Dise˜ no de Controladores y Simulacion
26
3.2
´ de Estado Control por Realimentacion
´ vamos a introducir conceptos y t´ecnicas de control en sistemas descriptos En esta seccion ´ fueron obtenidos por ecuaciones de estado. Los resultados y definiciones de esta seccion de [2]. ´ n y de una sola entrada descripto por Tomemos el sistema a lazo abierto de dimension x˙ (t) = Ax(t) + Bu(t)
(3.10)
y(t) = Cx(t).
˜ de control se propone En realimentacion ´ de estado, como muestra la Figura 3.10, la senal lineal al estado u(t) = r(t) − Kx(t).
r
(3.11)
u
- i- B −6
x˙ R S x - i - S 6
-C
y-
A K ´ de estado Figura 3.10: Realimentacion ´ de (3.11) en (3.10), da lugar al lazo cerrado del sistema, cuyo modelo La substitucion de estado viene dado por x˙ (t) = ( A − BK ) x(t) + Br(t) y(t) = Cx(t).
(3.12)
´ Para utilizar esta t´ecnica estamos suponiendo que todas las variables de estado estan ´ detallaremos como ´ al alcance para medirlos. Pero en realidad no es as´ı, en esta seccion ´ podemos calcular la matriz de realimentacion del sistema a lazo ´ K para que la dinamica cerrado se comporte de una determinada manera. Veremos tambi´en bajo qu´e condiciones esto ocurre y qu´e hacer en aquellos casos donde no podemos medir todas las variables de estado.
3.2.1
Dise˜ no de la Matriz K
´ de estado es la de conUna propiedad de sistemas lineales esencial en la realimentacion trolabilidad. La controlabilidad tiene que ver con la posibilidad de llevar al sistema de cualquier estado inicial a cualquier estado final en tiempo finito, no importando qu´e trayectoria se siga, o qu´e entrada se use. La ecuacion ´ de estado (3.10), o el par ( A, B), se dice controlable si para cualquier estado inicial x(0) = x0 ∈ Rn y cualquier estado final x1 ∈ Rn , existe una entrada que transfiere el estado x de x0 a x1 en tiempo finito. En caso contrario, la ecuacion ´ (3.10), o el par ( A, B), se dice no controlable. El siguiente Teorema afirma bajo qu´e condiciones existe una matriz K tal que la reali´ de estado con dicha matriz ubique los autovalores del sistema a lazo cerrado mentacion ´ ver [2]). donde queramos (demostracion
´ de Estado 3.2 Control por Realimentacion
27
´ de autovalores). Si la ecuacion ´ de estado (3.10) es controlable, Teorema 1 (Asignacion ´ de estado u(t) = r(t) − Kx(t), donde K es un vector entonces mediante la realimentacion real constante 1 × n, los autovalores de ( A − BK ) pueden ser asignados arbitrariamente, siempre que los autovalores complejos conjugados se asignen en pares. Un m´etodo para analizar controlabilidad de un sistema dado es que la matriz de controlabilidad C tenga rango n (rango(C) = n), donde C = B AB . . . An−1 B Ahora solo nos resta verificar si nuestro sistema es controlable para poder elegir K. Para ello tomemos el sistema (2.27), y calculamos rango C = rango B AB A2 B A3 B = 4, por lo que podemos afirmar que el sistema (2.27) es controlable. ´ K=place(A,B,P), que calcula K para ubiConvenientemente, M ATLAB tiene la funcion ´ car los autovalores en los valores dados en el vector P. Lo unico que resta hacer es elegir los autovalores deseados para nuestro sistema, para lo que debemos tener en cuenta las ´ 3.1.2. restricciones estructurales que posee el p´endulo invertido, ver seccion ´ K es siguiendo algun ´ Control LQR Otra forma de calcular la ganancia de realimentacion ´ por ejemplo minimizando el funcional cuadratico ´ criterio de optimizacion, J=
Z t∞
[ xT (t) Qx(t) + uT (t) Ru(t)] dt,
(3.13)
0
´ donde Q y R son matrices constantes que ponderan las variables de estado y la actuacion ´ respectivamente. Como el criterio se basa en funcionales cuadraticos, recibe el nombre de regulador lineal cuadratico (LQR). El funcional J puede interpretarse como el costo total ´ ´ de las variables de estado de un punto a otro. de la transicion ´ Obtener la matriz K, minimizando el funcional (3.13) anal´ıticamente no es tarea facil, ´ K=lqr(A,B,Q,R). Para ello es necesario ajustar ver [1], pero M ATLAB cuenta con la funcion ˜ deseado. Q y R hasta obtener el desempeno ˜ tomamos Para nuestro diseno 100 0 0 0 0 1 0 0 Q= y R = 10, 0 0 1 0 0 0 0 1 A y B de (2.27) y obtuvimos K = −24 −0.3 −3.8 −2.4
(3.14)
´ Integral 3.2.2 Seguimiento Robusto: Accion ´ introducimos un esquema de seguimiento de referencias constantes. La En esta seccion idea se basa en aumentar la cantidad de variables de estado de la planta, agregando una nueva: x a que integra el error, es decir x˙ a = r − y = r − Cx, como mostramos en la Figura 3.11.
´ Dise˜ no de Controladores y Simulacion
28
r - i- R Sxa S −- iu- B K a −6 6
x˙ R S x - i - S 6
-C
y-
A K
Figura 3.11: Diagrama de bloques del esquema de seguimiento
Quedando as´ı las ecuaciones de estado del sistema aumentado x˙ A 0 x B 0 = + u+ r x˙ a −C 0 x a 0 1 x ´ de estado u = − K Ka , el sistema a lazo ceSi consideramos la realimentacion xa rrado de la Figura 3.11 es
x˙ A − BK − BKa x 0 = + r ˙x a −C 0 xa 1
(3.15)
˜ ´ K Ka de forma tal que el sistema (3.15) sea asintoticamente La idea ahora es disenar ´ de x a , implica que se produzca el seguimiento estable. En particular, la estabilizacion deseado ya que lim x˙ a = 0
t→∞
⇒
lim y(t) = r.
t→∞
˜ K Ka para que (3.15) sea estable veamos el siguiente Para saber si podemos disenar teorema: Teorema 2 (Controlabilidad de la planta aumentada). Si ( A, B) es controlable y si G (s) = ´ aumentada C (sI − A)−1 B no tiene ceros en s = 0, los autovalores de la matriz de evolucion ´ en (3.15) pueden asignarse arbitrariamente seleccionando la matriz de realimentaci on K Ka . ´ 3.2.1, vimos que nuestro sistema es controlable, es decir que rango C = 4 En la seccion y si tomamos como salida ψ, que es quien queremos que siga la referencia constante, G (s) no tiene ceros en el origen, ver (2.25). Para calcular las ganancias K y Ka utilizamos el comando [K,Ka]=lqr(Aa,Ba,Qa,R), donde
A 0 Aa = , −C 0
B Ba = , 0
100 0 Qa = 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
y
R = 10.
La ganancia que obtuvimos es K = −27 −1.06 −4.29 −2.85 0.316 .
(3.16)
´ de Estado 3.2 Control por Realimentacion
29
´ de estado asume la disponibilidad de las variables de El control con realimentacion ´ estado. Esto no es lo que pasa en la practica, en particular nuestro sistema no cuenta con sensores para medir las velocidades angulares (variables de estado del sistema) ´ describiremos por lo que debemos estimar estas variables no medidas. A continuacion dos ideas para estimar dichas variables de estado y luego mostraremos las simulaciones correspondientes.
3.2.3 Estimadores de las variables de Estado no Medidos ´ Esta primer idea es basica, aproximamos la derivada de una variable como cociente incrementales. Esto lo podemos hacer ya que las variables de estado que queremos estimar no ´ ni menos que la derivada de las dos variables estado que medimos. Es decir son ni mas θ (k + 1) − θ (k) θ˙ ≈ T ψ ( k + 1 ) − ψ(k) ψ˙ ≈ T
(3.17)
donde T es el per´ıodo con el cual la PC toma los datos y la diferencia corresponde a dos mediciones consecutivas. Esta forma de estimar las variables de estado es muy sencilla de implementar en S IMULINK, como vemos en la Figura 3.12, pero para que esta estima ˜ sea buena, T tiene que tomar valores pequenos. Tita 1/T
1 1
1 Tita P
Gain
z Unit Delay
Figura 3.12: Estimador de la derivada ´ Quedando de esta forma un control que en lugar de ser estatico memoria).
7
´ es dinamico (o con
3.2.4 Observador de las variables de Estado ´ introduciremos un dispositivo dinamico, ´ En esta seccion llamado observador, cuya salida es una estima del vector de estado. En particular vamos a detallar el observador de orden completo, que tiene el mismo orden que la planta, y de esta forma estimamos todo el vector de estado. Representemos con xˆ (t) a la estima de x(t) y tomemos el sistema (3.10), donde suponemos A, B, y C conocidas, y la entrada u(t) y la salida y(t) son medibles, ´ aunque no el estado x(t). El problema es estimar x(t) a partir de esta informacion. La idea es que dado que conocemos las matrices A, B y C, podemos duplicar el sistema, xˆ˙ (t) = A xˆ (t) + Bu(t) yˆ (t) = C xˆ (t),
(3.18)
donde yˆ (t) es la salida que se obtiene de las variables de estado estimados. Si inyectamos ˜ de correccion ´ L( y(t) − C xˆ ), donde L es una matriz de ganancia al sistema (3.18) una senal 7
´ que depende en forma instantanea de las variables de estado
´ Dise˜ no de Controladores y Simulacion
30
constante, de forma tal que si no hay error no debemos corregir nada, pero si hay error, ´ apropiada de L puede hacer que el error de estimacion ´ tienda asintoticamente ´ una eleccion a cero. La Figura 3.13 muestra el observador que explicamos, donde las ecuaciones vienen dadas por xˆ˙ (t) = A xˆ (t) + Bu(t) + L( y(t) − C xˆ (t))
(3.19)
= ( A − LC ) xˆ (t) + Bu(t) + Ly(t).
´ Definamos x˜ (t) = x(t) − xˆ (t) como el error de estimacion. Si calculamos x˜˙ (t) y reemplazamos (3.10) y (3.19) vemos que x˜˙ (t) = ( A − LC ) x˜ (t), donde los autovalores de ( A − LC ) ´ ´ Si pudi´eramos elegir L tal que son los que gobiernan la dinamica del error de estimacion. ´ ( A − LC ) tenga autovalores negativos, estar´ıamos afirmando que el error de estimacion ´ tiende asintoticamente a cero.
u
- B
x˙ R S x - i - S 6
-C
y-
A B xˆ
xˆ˙ R S S
? i
L
6
- A − LC
Figura 3.13: Observador de estado completo
´ 3.2 vimos el concepto de controlabilidad, como ´ En la seccion testear si un sistema es controlable y para qu´e sirve. Ahora para ver qu´e condiciones debe cumplir el sistema para ´ que exista la matriz L, tal que el estado estimado xˆ (t) tienda asintoticamente al estado real x(t) , debemos definir el observabilidad. El concepto de observabilidad tiene que ver con la posibilidad de estimar el vector de estado del sistema a partir del conocimiento de la salida. La ecuacion ´ de estado (3.10) es observable si para cualquier estado inicial x(0) (desconocido), existe un tiempo finito t1 tal que el conocimiento de la entrada u y la salida y sobre el intervalo [0, t1 ] es suficiente para determinar en forma unica ´ el estado inicial x(0). En caso contrario el sistema se dice no observable. ´ ver [2]). El siguiente teorema define bajo qu´e condiciones existira´ L (demostracion ´ de Autovalores en Observadores). Dado el par ( A, C ), todos los Teorema 3 (Asignacion autovalores de ( A − LC ) pueden asignarse arbitrariamente seleccionando una matriz L si y solo si ( A, C ) es observable. Para analizar la observabilidad de un sistema basta ver que la matriz de observabilidad
O
O=
C CA CA2 .. . CAn−1
,
´ de Estado 3.2 Control por Realimentacion
31
es de rango n (es decir rango O = n). Para analizar la observabilidad de nuestro sistema, calculamos C CA O= donde rango O = 4, CA2 =, CA3 por lo que nuestro p´endulo invertido es un sistema observable. ´ Para elegir donde ponemos los autovalores de A − LC, tomamos los autovalores que ´ rapidos ´ resultan del control LQR a lazo cerrado pero los ponemos 1.2 veces mas y luego utilizamos el comando de M ATLAB L=place(A’,C’,P). El valor de L obtenido es 0.5335 0.1312 0.0177 0.3533 (3.20) L= 7.6284 4.3791 0.2567 1.4825
´ 3.2.5 Simulacion ´ describiremos las simulaciones realizadas utilizando el programa S IMU En esta seccion LINK . Implementamos al sistema utilizando las ecuaciones no lineales (2.17) en diagrama de bloques y agregamos las alinealidades y limitaciones descriptas en el Cap´ıtulo 1 para que se aproxime en mejor forma al sistema real. ´ En primer lugar simulamos el sistema suponiendo que las variables de estado estan ´ de estado (3.14). Lueal alcance de ser medidos, utilizando el control por realimentacion ˜ realimentando las variables de estado estimados con los go comparamos el desempeno observados. Una vez que decidimos cual es el mejor m´etodo, realizamos pruebas de seguimiento a referencias y robustez. El periodo de muestreo utilizado en todas las simulaciones es T = 0.01 y tomamos como condiciones iniciales θ (0) = 0.05, θ˙ (0) = 0, ψ(0) = 0 y ψ˙ (0) = 0. ´ de Estado Realimentacion ´ en diagrama de bloques de S IMULINK En la Figura 3.14, mostramos la implementacion ´ suponiendo que las utilizado, y la Figura 3.15 los resultados obtenidos de la simulacion, cuatro variables de estado son medidos. ´ de Desempe˜ Comparacion no Estimador-Observador ´ en diagrama de bloques del sistema, el En la Figura 3.16, podemos ver la implementacion ´ de estado, los estimadores de las velocidades y las limitaciones control en realimentacion debidas al actuador y a los sensores. Y en la Figura 3.17 la misma idea pero implementando el observador calculado en (3.20), para ello utilizamos un bloque variable de estado ´ (3.19). representando la ecuacion ´ de la Figura En la Figura 3.18 mostramos los resultados que obtuvimos por simulacion ´ 3.16 y 3.17. Cada uno de los graficos muestra una salida, ψ(t) a la derecha y θ (t) a la ´ estimada y observada para comparar desempeno. ˜ izquierda, en su version ´ podemos Para comparar los resultados obtenidos, y dado que en nuestra simulacion ”medir” las velocidades angulares, calculamos la sumatoria de los errores absolutos de θ˙ y ψ˙ dando para el observador 21.71 y 4.1 respectivamente y para el estimador 79.48 y 57.34, respectivamente. Vemos as´ı, como era de esperar, que el observador obtiene mejores resultados que el estimador y esto se debe a que el observador utiliza mucha
´ Dise˜ no de Controladores y Simulacion
32
24 KTita Actuación .3 KPsi
tita
Dsicretizacion Tita Fi
In1
Discretizacion Psi
u
Discretizacion de la Actuacion
Tita
Out1
psi
Alinealidades3
titap
Saturacion de la actuacion
Fip
Pendulo no lineal 2.4 K TitaP 3.8 K Psip
´ de estado Figura 3.14: Diagrama de bloques de la realimentacion
0.16
0.06
0.14
0.05
0.12
0.04 0.1
Posición [rad]
Posición [rad]
0.03 0.08 0.06 0.04
0.02
0.01
0.02
0 0
−0.01
−0.02 −0.04 0
2
4
6
8
10 12 Tiempo [seg]
14
16
18
20
−0.02 0
2
4
6
8
10
12
14
16
Tiempo [seg]
Figura 3.15: Resultados obtenidos, a la derecha θ y a la izquierda ψ
24 KTita Actuación .3 KPsi tita u
Discretizacion de la Actuacion
Saturacion de la actuacion
Fi
In1
3.8
Out1
2.4 K Psip
Tita
Discretizacion Psi
psi
Out1
Alinealidades
Pendulo no lineal
K TitaP
Dsicretizacion Tita
In1
Estmador velocidad base
Out1
In1
Estmador velocidad Pendulo
´ de estado con estimador Figura 3.16: Realimentacion
18
20
´ de Estado 3.2 Control por Realimentacion
33
24 KTita Actuación .3 KPsi tita u
Discretizacion de la Actuacion
Saturacion de la actuacion
Fi
In1
3.8
Tita
Discretizacion Psi
psi
Out1
Alinealidades
Pendulo no lineal
Out1
K TitaP
Dsicretizacion Tita
In1
Estmador velocidad base
2.4
Out1
K Psip
In1
Estmador velocidad Pendulo
´ de estado con observador Figura 3.17: Realimentacion
0.06
0.15
Posición del péndulo con Observador Posición del péndulo con Estimador
Posición del Brazo con Observador Posición del Brazo con Estimador
0.04 0.1
Posición [rad]
Posición [rad]
0.02 0.05
0
0
−0.02
−0.05
−0.04
−0.1 0
2
4
6
8
10 12 Tiempo [seg]
14
16
18
20
−0.06 0
2
4
6
8
10
12
Tiempo [seg]
´ de los resultados de la simulacion ´ Figura 3.18: Comparacion
14
16
18
20
´ Dise˜ no de Controladores y Simulacion
34
´ informacion ´ del sistema para estimar las variables de estado. Para terminar de mas confirmar esto, veamos en la Figura 3.19, ambas acciones de control. Para tener una idea de la potencia consumida por el motor calculamos la sumatoria del valor absoluto de la ´ en el intervalo simulado, dando 577 para el caso del observador y de 1678 para actuacion el estimador. 15 Actuación con observador Actuación con estimador 10
Tensión [Volts]
5
0
−5
−10
−15 0
2
4
6
8
10 12 Tiempo [seg]
14
16
18
20
´ de la senal ˜ de actuacion ´ Figura 3.19: Comparacion
Seguimiento a Referencias ´ ˜ Uno de los objetivos basicos en el control es el de seguimiento de la salida a senales de re´ del angulo ´ ferencias. En nuestro caso esta referencia es sobre la posicion del brazo. Para ´ utilizamos el sistema a lazo cerrado, estimando las velocidades angulares la simulacion, con el observador calculado en 3.2.3. En la Figura 3.20 comparamos los resultados obtenidos cuando ponemos una referencia constante re f = 6 rad y tomamos la ganancia (3.16), ´ de estado con ganancia de precompensacion ´ 8 por un lado, y el utilizando realimentacion ´ integral que mostramos en 3.2.2 por el otro. esquema de accion ´ integral es robusto frente a perturComo dij´eramos en 3.2.2, el esquema de accion ´ baciones constantes. En la Figura 3.21 mostramos como se comporta un lazo con y sin ´ integral, donde perturbamos (corrimos el cero) al angulo ´ accion del p´endulo θ con 0.2 rad.
8
´ El sistema tiene una ganancia estatica no nula, lo que implica que en el r´egimen permanente tendera´ a ´ este valor. Si ubicamos una ganancia delante del lazo cerrado con la inversa de la ganancia estatica, en el r´egimen permanente tendera´ al valor de referencia.
´ de Estado 3.2 Control por Realimentacion
35
7
6
5
Posición [rad]
4 Ganancia de precompensación Accion Integral Referencia
3
2
1
0
−1 0
5
10
15
20
25
Tiempo [seg]
´ entre ganancia de precompensacion ´ y accion ´ integral Figura 3.20: Comparacion
10
5
Posición [rad]
0 Ganancia de precompensación Acción Integral Referencia
−5
−10
−15
−20 0
5
10
15
20
25
Tiempo [seg]
´ entre ganancia de precompensacion ´ y accion ´ integral, perturFigura 3.21: Comparacion bando a θ
36
´ Dise˜ no de Controladores y Simulacion
Cap´ıtulo 4
Ensayos de Controladores sobre el Sistema Real ˜ Una vez que en las simulaciones obtuvimos controladores que nos proveen el desempeno deseado, implementamos dichos controladores en el sistema real, para comprobar que ˜ ´ concuerdan con los resultados reales. En los desempenos obtenidos en la simulacion ´ de dichos controladores en S IMULINK y los este cap´ıtulo mostraremos la implementacion resultados que obtuvimos al realizar los mismos ensayos con el sistema real.
´ del Control en Cascada 4.1 Implementacion ´ mostraremos los resultados que obtuvimos al implementar el lazo de En esta seccion ´ 3.1. La Figura control en cascada con los controles K1 ( S) y K2 (s) calculados en la seccion ´ en diagrama de bloques de S IMULINK, en donde utilizamos 4.1 muestra la implementacion en lugar de una constante para K1 (s) implementamos un control proporciona-integral, PI [7], para que el sistema no tenga error en el r´egimen permanente. Referencia 0 Posición Base
In1
Out1
Radianes
K1 Ángulo Base
numcas(z)
Selector Manual
dencas(z)
Actuación
K2
Zero−Order Hold1
Motor 0 Constante
Radianes
Ángulo Péndulo
Actuacion
Zero−Order Hold
Posición Pendulo
´ del control en cascada Figura 4.1: Diagrama de bloques de la implementacion ´ Para ello cuando La Figura 4.2 muestra los resultados obtenidos de la implementacion. ´ vertical ya que este control no comenzamos el ensayo, mantuvimos el p´endulo en posicion puede levantarlo desde su reposo (≈ 0.2rad) y tomamos referencia nula. En la Figura 4.3 mostramos los resultados que obtuvimos para ψ(t), cuando tomamos ˜ que se muestra en la figura. Como podemos ver, el sobrevalor de como referencia la senal ˜ la salida es considerado, esto podr´ıa mejorarse redisenando el control K2 (s), haci´endolo ¯ ´ lento (eligiendo polos para Alc2 mas ´ pequenos). ˜ mas Por otro lado podr´ıamos tambi´en modificar el tiempo de establecimiento, eligiendo K1 (s) mayor, ya que cuanto mayor sea ´ cerca del eje jω estaran ´ los polos a lazo cerrado, ver Figura 3.6. dicha ganancia, mas
Ensayos de Controladores sobre el Sistema Real
0.25
0.1
0.2
0.08
0.15
0.06
0.1
0.04 Poscición [rad]
Posición [rad]
38
0.05
0.02
0
0
−0.05
−0.02
−0.1
−0.04
−0.15 0
5
10
15
20 Tiempo [seg]
25
30
35
40
−0.06 0
5
10
15
20 Tiempo [seg]
25
30
35
40
´ del control en cascada, a la izFigura 4.2: Resultados obtenidos de la implementacion quierda ψ(t) y a la derecha θ (t)
4 Posición del brazo Referencia
3
Posición [rad]
2
1
0
−1
−2 0
20
40
60
80 100 Tiempo [seg]
120
140
160
180
´ del control en cascada, para anaFigura 4.3: Resultados obtenidos de la implementacion lizar seguimiento
´ del Control en Realimentacion ´ de Estados 4.2 Implementacion
39
´ del Control en Realimentacion ´ de Estados 4.2 Implementacion ´ describiremos el desempeno ˜ obtenido de implementar el control por realiEn esta seccion ´ de estados en el sistema real utilizando el estimador de estados y el observados, mentacion ´ 3.2. En las Figura 4.4 y 4.5 podemos ver el diagrama de que calculamos en la seccion ´ bloques S IMULINK de dicha implementacion. 24
Radianes
Ángulo Péndulo
K Tita
Zero−Order Hold1 In1
Posición Base
Out1
Estmador velocidad base1
3.8 K TitaPunto
Selector Manual Actuación
In1
Out1
2.4
Posición Pendulo Estmador velocidad base
Product
K Psi Punto
Motor 0
.3
Radianes
Ángulo Base
Constante
K Psi
Zero−Order Hold
Step
Actuación
0 Referencia
N
´ del control por realimentacion ´ de Figura 4.4: Diagrama de bloques de la implementacion estados y el estimador
Posición Pendulo
24
Radianes
Ángulo Péndulo
K Tita
Zero−Order Hold1
Actuacion U Tita P
3.8 Selector Manual
K TitaPunto
Tita
Actuación Psi P
Psi
2.4
Product
Posición Base Observador
K Psi Punto
Motor 0
Ángulo Base
Step
.3
Radianes
Zero−Order Hold
Constante
K Psi
0 Referencia
N
´ del control por realimentacion ´ de Figura 4.5: Diagrama de bloques de la implementacion estados y el observador
´ entre los resultados obtenidos de la impleLa Figura 4.6, muestra la comparacion ´ del estimador de las velocidades angulares y el observador. Para obtener este mentacion ˜ utilizamos las mismas ganancias, de K y L calculadas para la simulacion. ´ desempeno ´ ˜ con el observador es mejor que el del estimador. Como esperabamos, el desempeno ´ de En la Figura 4.7 comparamos las actuaciones con uno y otro m´etodo de estimacion las variables de estado que no podemos medir. Dado que podemos guardar los valores, ´ calculamos nuevamente la suma absoluta de los valores muestreados de la actuacion, para tener una idea de la potencia consumida por el motor, y obtuvimos para el caso del
40
Ensayos de Controladores sobre el Sistema Real 1
0.06
Posición del Brazo con Observador Posición del Brazo con Estimador
0.8
Posición del Péndulo con Observador Posición del Péndulo con Estimador 0.04
0.6 0.4
Posición [rad]
Posición [rad]
0.02
0.2 0 −0.2
0
−0.02
−0.4 −0.6
−0.04
−0.8 −1 20
22
24
26
28
30 32 Tiempo [seg]
34
36
38
40
−0.06 20
22
24
26
28
30 32 Tiempo [seg]
34
36
38
40
´ Figura 4.6: Angulo medido en el sistema real, a la derecha θ y a la izquierda ψ
observador 1764 y para el estimador 3334. SI bien los valores no son los mismos que en ´ la relacion ´ entre ambos es bastante parecida. la simulacion, 6 Actuación con Observador Actuación con Estimador 4
Posición [rad]
2
0
−2
−4
−6 20
22
24
26
28
30 32 Tiempo [seg]
34
36
38
40
´ de actuaciones Figura 4.7: Comparacion
4.3
´ de la Accion ´ Integral Implementacion
´ analizaremos como ´ ´ de estados, En esta seccion se comporta el sistema con realimentacion ´ calculada en (3.16), observador de las velocidades angulares, calculada en (3.20) y accion integral. En la Figura 4.8, mostramos la respuesta del sistema cuando la referencia es una onda cuadrada de amplitud π /2 rad y de frecuencia 60 seg. Los picos que realiza ψ en los primero 15 seg es debido a que el brazo tuvo que levantar el p´endulo desde su reposo, ´ 0.2 rad. El angulo θ no lo graficamos porque el objetivo es mostrar el seguimiento. El
´ de la Accion ´ Integral 4.3 Implementacion
41
´ ´ del esquema de accion ´ integral y el grafico de la izquierda representa a la implementacion ´ de la izquierda es la salida obtenida del lazo cerrado con ganancia de precompensacion. 2
3.5 Referencia Posición del Brazo
Posición del Brazo Referencia 3
1.5
2.5
Posición [rad]
Posición [rad]
2 1
0.5
1.5 1 0.5 0
0
−0.5 −0.5 0
20
40
60
80
100 120 Tiempo [seg]
140
160
180
200
−1 0
20
40
60
80
100 120 Tiempo [seg]
140
160
180
200
˜ de referencia onda cuadrada Figura 4.8: Seguimiento a una senal ´ son bastante Dado que los resultados obtenidos con la ganancia de precompensacion malos, Figura derecha de 4.8, modificamos las ganancias para obtener un mejor desem˜ Tomando peno. K = −32.04 −2.50 5.06− −2.5 obtuvimos los resultados de la Figura 4.9 2 Posición del Brazo Referencia
Posición [rad]
1.5
1
0.5
0
−0.5 0
20
40
60
80
100
120
140
160
180
200
Tiempo [seg]
˜ de referencia onda cuadrada con ganancia de precomFigura 4.9: Seguimiento una senal ´ pensacion
42
Ensayos de Controladores sobre el Sistema Real
Cap´ıtulo 5
´ Analisis del efecto de las cuantizaciones y de las perturbaciones del motor ´ del Con el fin de realizar el proyecto con un bajo presupuesto, para la construccion p´endulo utilizamos mayormente componentes que se encontraban en el stock del Labora´ torio de Electronica de la Universidad. Como vimos en el Capitulo 1 dichos componentes ˜ del lazo cerrado, que hicieron que imponen ciertas restricciones f´ısicas en el desempeno ˜ nuestros objetivos de control no sean muy estrictos en cuanto al desempeno. En este Capitulo estudiaremos como afectan dichas restricciones al sistema y las posibles mejo˜ posterior ras. Para comprobar si dichas mejoras son justificables en cuanto al desempeno del sistema, analizamos el comportamiento del sistema a lazo cerrado a trav´es de si´ mulaciones, basandonos en el hecho de que el sistema simulado se comporta en forma aproximada al real.
´ en la cuantificacion ´ del Actuador y de los Sensores 5.1 Disminucion ´ de los conversores digitalLa primera mejora que se nos ocurre es aumentar la resolucion ´ ´ ´ analogico (para la actuacion), y analogico-digital (para el sensor del p´endulo). La reso´ actual del conversor-digital analogico ´ ´ lucion es de ocho bits obteniendo una variacion ´ de 0.05859 V, aumentaremos dicha resolucion ´ con un conversor de dom´ınima de tension ´ utilizamos para el sensor de posicion ´ ce bits (0.0036 V). El mismo aumento de resolucion ´ del bradel p´endulo, pasando de 0.0024 rad a 0.0012 rad. En cuanto al sensor de posicion ´ en forma categorica, ´ zo, no podremos aumentar la la resolucion debido a la velocidad del ´ es contador de pulsos implementado en la PC comenzar´ıa a perder pulsos. Una solucion implementar dicho contador a trav´es de un circuito integrado dedicado y luego leer dicho ´ ´ supusimos valor en la PC a trav´es de un conversor digital-analogico. Para la simulacion ´ del sensor a 0.0003rad. que podr´ıamos aumentar la resolucion ´ En la Figura 5.1 podemos ver el resultado de la simulacion, donde comparamos el sistema mismo bajo las mismas condiciones que en 3.2.5, con el sistema agregando las mejoras mencionadas. ´ de los conversores Como pudimos ver en la Figura 5.1, el aumento en la resolucion ˜ del sistema. Pero como vimos en 1.2.1 s´ı no representa una mejora en el desempeno ´ del conversor digital-analogico ´ es mejor aumentar la resolucion ya que podemos de esa ´ de alimentacion ´ al motor, de esa forma aumentar su reaccion. ´ forma aumentar la tension
5.2 Mejoras f´ısicas del motor Otra de las cosas que se podr´ıan mejorar tienen que ver con el motor. Como vimos en 3.1.3 existen dos tipos de perturbaciones ocasionadas por el motor friccion y ´ estatica ´
´ Analisis del efecto de las cuantizaciones y de las perturbaciones del motor
44 0.12
0.06 Con mejoras Sin mejoras
0.08
0.04
0.06
0.03
0.04
0.02
0.02 0
0.01 0
−0.02
−0.01
−0.04
−0.02
−0.06
−0.03
−0.08 0
5
10
15
20
Con mejoras Sin mejoras
0.05
Posición [rad]
Posición [rad]
0.1
−0.04 0
25
5
10
Tiempo [seg]
15
20
25
Tiempo [seg]
´ entre el sistema con y sin ampliacion ´ en la resolucion ´ del actuaFigura 5.1: Comparacion dor y de los sensores, derecha ψ(t) y a la izquierda θ (t)
´ juego en el eje. Veamos que sucede si disminuimos el roce estatico en 20 veces, Figura ´ se puede lograr, por ejemplo, utilizando un motor con rodamientos 5.2. Esta disminucion a rulemanes. 0.12
0.06 Con mejoras Sin mejoras
0.08
0.04
0.06
0.03
0.04
0.02
0.02 0
0.01 0
−0.02
−0.01
−0.04
−0.02
−0.06
−0.03
−0.08 0
5
10
15 Tiempo [seg]
20
Con mejoras Sin mejoras
0.05
Posición [rad]
Posición [rad]
0.1
25
−0.04 0
5
10
15
20
25
Tiempo [seg]
´ entre el sistema con friccion ´ estatica ´ Figura 5.2: Comparacion y reduci´endola 20 veces, derecha ψ(t) y a la izquierda θ (t)
´ disminuimos el juego del eje, Figura 5.3. Esta Veamos ahora que sucede si ademas ´ se puede lograr, por ejemplo, utilizando una reduccion ´ con correas dentadas disminucion en lugar de engranajes. ˜ Concluimos, a partir de los ensayos realizados, que para obtener un mejor desempeno ´ las perturbaciones originadas por el motor. hay que centrarse en la disminucion
5.2 Mejoras f´ısicas del motor
45
0.12
0.06 Con mejoras Sin mejoras
0.08
0.04
0.06
0.03
0.04
0.02
0.02 0
0.01 0
−0.02
−0.01
−0.04
−0.02
−0.06
−0.03
−0.08 0
5
10
15 Tiempo [seg]
20
Con mejoras Sin mejoras
0.05
Posición [rad]
Posición [rad]
0.1
25
−0.04 0
5
10
15
20
Tiempo [seg]
´ entre el sistema , derecha ψ(t) y a la izquierda θ (t) Figura 5.3: Comparacion
25
46
´ Analisis del efecto de las cuantizaciones y de las perturbaciones del motor
Cap´ıtulo 6
Conclusiones ´ y el posterior control a trav´es de una PC del En este informe describimos la construccion ´ de utilizar un software en tiempo real fue una p´endulo invertido rotatorio. La eleccion gran ventaja, dado que pudimos desarrollar controladores, observadores y estimadores ´ nos permitio´ almacenar los datos obtenidos del sistema para en forma sencilla. Ademas ´ ´ ´ analisis y ajuste de los parametros del modelo matematico. ´ ´ El modelo matematico que obtuvimos, y el m´etodo de ajuste de los parametros en forma iterativa, mostro´ ser fiel al sistema real. Esto resulta una ventaja cuando los controladores ˜ ´ basados en dicho modelo. que disenamos estan Las t´ecnicas de control que desarrollamos son t´ecnicas lineales. Aunque utilizamos un sistema no lineal, mostramos que es posible desarrollar t´ecnicas simples aunque el ´ de diseno ˜ que modelo es complejo. Todas las t´ecnicas coinciden en la especificacion ´ asintotica ´ ´ planteamos: estabilizacion del angulo del p´endulo y seguimiento a referencias ´ constantes del angulo de giro del brazo. ˜ del control en cascada fue sencillo ya que supone que el sistema es de una El diseno entrada y una salida y de esta forma permite utilizar cualquier t´ecnica de control que ´ entrada salida. La implementacion ´ fue inmediata dado que solo utilice la representacion ˜ obtenido necesitamos medir las variables que tenemos disponibles. Si bien el desempeno a lazo cerrado fue bueno, la estabilidad resulta muy sensible a perturbaciones. ˜ de control por realimentacion ´ de estado, siguiendo el criterio de optimizacion ´ El diseno LQR, no lo calculamos anal´ıticamente por su complejidad. Para ello utilizamos el software ´ ´ de control M ATLAB, donde la ventaja es que los unicos parametros que ajustamos fueron ´ de cada una de las variables de estado y de la senal ˜ de control. Para imlas ponderacion ´ de estados fue necesario desarrollar t´ecnicas que plementar el control por realimentacion aproximen las variables de estado que no podemos medir. En nuestro caso propusimos dos: estimador de derivadas y observador lineal de estado. Si bien el primero es simple de ˜ alcanzado por el segundo mejor, dado que la amplitud de las implementar, el desempeno ´ oscilaciones que produce es menor. El unico inconveniente de este control, es que para ´ que siga referencias constantes es necesario agregar una ganancia de precompensacion, que para resulta sensible frente a perturbaciones. ´ ´ de estado, le agregamos accion ´ integral para Por ultimo, al sistema con realimentacion lograr seguimiento de referencias constantes. Con este esquema, logramos no solo que ´ robusto el lazo cerrado del sistema. siga referencias constantes sino tambi´en hicimos mas Una pregunta que nos planteamos cuando finalizamos los ensayos, fue si era posible ˜ ˜ mejorar los desempenos obtenidos con los controladores disenados modificando aquellos ´ componentes f´ısicos, sensores y actuador,que nos imponen limitaciones. La conclusion ´ es que para mejorar el desempeno, ˜ hay que centrarse en que obtuvimos por simulacion ´ disminuir el roce estatico y el juego en el eje del motor.
48
Conclusiones
´ Apendice A
´ detallada de los componentes del Descripcion Sistema A.1 Controlador A.1.1 Especificaciones de la PC ´ de Datos A.1.2 Placa de Adquisiscion ´ de memoEn la Tabla A.1, podemos ver las distintas direcciones de la placa. La direccion DIR h xx0 xx1 xx2 xx8 xx9 xxA xxB xxC xxD xxE xxF
Lectura Entrada
Datos EOC
Escritura Salida DAC1 DAC2 Start 0 Start 1 Start 2 Start 3 Start 4 Start 5 Start 6 Start 7
Digital Salidas ´ Analogicas
Entradas ´ Analogica
Tabla A.1: Direcciones de memoria ´ por defecto es ria base se elige a trav´es de tres jumpers ubicados en la placa. La direccion la 300h. Driver La forma de programar estos drivers en el S IMULINK es a trav´es de un bloque denominado S-Function. S-Function Permiten agregar algoritmos propios a bloques de S IMULINK. Se pueden escribir en M ATLAB o en C. Las S-function las incorporamos mediante un bloque llamado S-function. En nuestro caso programamos cuatro S-functions distintas: ´ • lectura de entradas analogicas, ´ • escritura de entradas analogicas,
´ detallada de los componentes del Sistema Descripcion
50
• lectura de entradas digitales, y • escritura de entradas digitales. Las cuatro fueron programadas en C.
A.2
Actuador
Existen principalmente tres problemas a la hora de controlar un motor de corriente continua. ˜ de actuacion ´ entregada por la PC es de 1. Se˜ nal de actuacion ´ de baja potencia. La senal ´ nominal de trabajo del motor es 5V y en el orden de los mA., mientras que la tension de 24V y la corriente que consume es de 2A. 2. Sentido de giro. Para cambiar el sentido de giro de un motor de corriente continua es ´ que lo alimenta. necesario invertir la tension 3. Consumo de energ´ıa. Para variar la velocidad de un motor de corriente continua exis´ comun ´ de ellos es variar la tension ´ de alimentacion ´ del ten varios m´etodos. El mas ´ proporcional en el numero ´ mismo, obteniendo una variacion de revoluciones. Uno ´ de potencia de los amplificadores utilizados para de los problemas es la disipacion ´ alimentar el motor, ya que si queremos alimentar al motor con la mitad de tension ´ nominal, la mitad de la potencia entregada por la fuente de alimende alimentacion ´ se disipa en el amplificador. Este m´etodo es muy utilizado si necesitamos que tacion el motor se encuentre en las proximidades de su velocidad nominal. Los dos primeros problemas los solucionamos a trav´es de un Puente H, Figura A.1. Este puente esta compuesto por cuatro transistores MosFet, dos de canal N y dos de ´ es decir, conducen o no conducen. canal P que los haremos trabajar en corte o saturacion, Cuando queremos que el motor gire hacia un lado hacemos conducir a los transistores MOS1 y MOS3, en este caso el potencial positivo se encuentra en el borne 1 del motor, si queremos que gire en sentido contrario, hacemos conducir los transistores MOS2 y MOS4, en este caso el potencial positivo se encuentra en el borne 2 del motor, es decir, ´ aplicada. Para lograr que los transistores conduzcan o no en el invertimos la tension ´ momento indicado, se le agrega una etapa de logica que evita que transistores del mismo lado de la H conduzcan al mismo tiempo, ya que eso provocar´ıa que ambos se quemen debido a que no tienen una resistencia que limite la corriente que circula a trav´es de ellos. ´ de ancho El m´etodo que utilizamos para solucionar el problema 3, es el de modulacion ˜ cuadrada de una frecuencia de pulso (PWM), en el cual se alimenta al motor con una senal ´ nominal del motor, a la cual se le modifica el determinada y amplitud igual a la tension ´ proporcional a ese tiempo. Al ser la tiempo activo, obteniendo una media de tension frecuencia de la onda mucho mayor al tiempo de respuesta del motor, e´ ste ve en sus ´ media resultante. La diferencia que existe con el primer m´etodo es que bornes la tension ´ nominal al motor. en este caso, siempre se le aplica la tension ˜ analogica ´ El circuito PWM que implementamos, Figura A.2, tiene como entrada una senal ´ del tiempo activo de la senal ˜ PWM se realiza a trav´es de dicha ende 0 - 5V, la variacion trada. La frecuencia de PWM que utilizamos es 250Hz.
A.2 Actuador
51 15V
15V
5V
5V
15V
10KΩ 820Ω
10KΩ 820Ω
MOS1
820Ω
15V
MOS3
1
2
MOS2 MOS4
Motor
820Ω 15V
10KΩ
10KΩ 820Ω
820Ω
820Ω
5V
5V
Logica de Control Direccion
On/Off
Figura A.1: Puente H 5V
50KΩ 1MΩ 12V
5V
1MΩ
47KΩ 7
12V
1KΩ 6
− −
8
1
+ +
2
820Ω
3
74HC14
−12V
Vin
50KΩ
47nF
−12V
4
4
8
ne555
2 1
10KΩ 12V
PWM 7
´ del PWM Figura A.2: Circuito de implementacion
´ detallada de los componentes del Sistema Descripcion
52
A.3
Sensores
A.3.1 Encoder Incremental El encoder incremental consta de dos diodos emisores de luz cada uno enfrentado con un fotodiodo, entre los cuales se ubica un disco con n ranuras que gira solidaria a un eje, como podemos ver en la Figura A.3 ,
Placa ranurada
s1
A Receptor
Emisor
tiempo s2
B
Figura A.3: Diagrama de un encoder incremental Cuando una ranura se encuentra entre el diodo emisor de luz y el fotodiodo, el fotodiodo sensa la luz emitida, no as´ı cuando entre ambos se encuentra la placa. A medida que ˜ el disco gira, obtenemos en los fotodiodos dos senales como las que vemos en la Figura A.4.
s1
s1
s2
s2
t
t
Sentido de giro ˜ Figura A.4: Senales en los fotodiodos
˜ ´ de los sensores. Este El defasaje de 90 grados de las senales es debido a la ubicacion ´ ´ a la Figura defasaje es util para detectar el sentido de giro del eje, si prestamos atencion ˜ adelanta a la otra. ToA.4, podemos ver que dependiendo del sentido de giro una senal ˜ s1 para contar los pulsos, en cada flanco ascendente de s1 contamos mamos a una senal un pulso, ahora tenemos que saber si lo sumamos o lo restamos, dependiendo el sentido ´ la obtenemos de la senal ˜ s2 . Si s2 esta en alto, la sumamos, si de giro. Esa informacion esta en bajo la restamos. ´ ´ es Una de las ventajas de este tipo de sensor de angulo, es que el rango de medicion ilimitado, mientras que la mayor desventaja es que los pulsos entregados por el encoder son de alta frecuencia, por lo tanto es posible que al contarlos se pierdan pulsos.
A.3 Sensores
53
En nuestro caso este sensor se encuentra solidario al eje del motor y la placa ranurada o ´ de 360 cuenta con 20 ranuras, lo que representa una precision 40 , ya que contamos los ˜ ´ 1:130, al dar el pulsos de ambas senales. Debido a que el motor posee una reduccion 1 ´ a motor una vuelta el eje exterior da 130 vueltas. Por lo tanto aumentamos la precision 2π 40∗130 = 0.0012 rad / pulso. ´ La logica para contar los pulsos fue realizada en el S IMULINK, en la Figura A.5 podemos ´ ver dicha implementacion. 1 S1 In1 Out1 In2
2 S2
1 In1
SubSystem
NOT
2*pi/5150 Conversion de pulsos a Radianes
In1
1 Radianes
Logical Operator
1 Out1
2 In2
Out1
Trigger In2
SubSystem1
´ del Contador de Pulsos Figura A.5: Diagrama de bloques S IMULINK de la Implementacion
´ A.3.2 Sensor Magnetico El sensor magn´etico consta de un puente de Wheatstone como el de la figura A.6, el cual al ´ variar el valor de una de las resistencias se desbalancea provocando una ca´ıda de tension Vout .
Vcc R
R
R
R
Vout
Figura A.6: Sensor Magneto-Resistivo
´ solidario al p´endulo, Figura A.7, al moverse el En nuestro caso, colocamos un iman ˜ entregada por el sensor p´endulo var´ıa el campo magn´etico sobre el sensor. La senal ˜ para que es del orden de los ±50 µV, por lo tanto fue necesario acondicionar la senal ´ de datos. se encuentre en el rango de 0V a 5V requeridos por la placa de adquisicion ´ en la Figura A.8. Podemos ver el circuito de implementacion ´ que colocamos, este sensor solo trabaja en un rango de angulo ´ Debido al iman de˜ para terminado, ±60o . Como solamente utilizaremos el rango ±18o , ajustamos la senal ´ de ±18o , as´ı obtenemos mayor precision ´ en la que los 0-5V correspondan a una variacion ´ conversion.
´ detallada de los componentes del Sistema Descripcion
54
Pendulo ±60o
Iman
Brazo
Eje
Sensor Magnetico
Figura A.7: Montaje del sensor magn´etico sobre el p´endulo
Ajuste de la Ganancia Amplificador Diferencial
47nF
47nF 25KΩ 220KΩ
Ajuste del Offset
12V
22KΩ −
Vo Sensor Magnetico 22KΩ
−
−12V
Vo : 0 − 5V −12V
−12V
820KΩ 1MΩ 47nF 10KΩ 12V
− +
+
+
12V
4, 7KΩ
12V
−12V
˜ Figura A.8: Acondicionador de senal
Bibliograf´ıa [1] John S. Bay. Linear Space Systems. McGraw-Hill, 1999. [2] C-T Chen. Linear System Theory and Design. Oxford University Press, 1999. [3] Graham C. Goodwin, Stefan F. Graebe, and Mario E. Salgado. Control System Design. Prentice Hall International, 2001. [4] Bruce A. Francis John C. Doyle and Allen R. Tannenbaun. Feedback Control Theory. Maxwell Macmillan International Editions, 1992. [5] H. Khalil. Nonlinear Systems. Prentice Hall, 1996. [6] Lennart Ljung. System Identification: Theoty for the User. Prentice-Hall, 1987. [7] Katsiuko Ogata. Control Moderno. Pentice Hall, 1998. [8] Mar´ıa M. Seron, Julio H. Braslavsky, and Graham C. Goodwin. Fundamental Limitations in Filtering and Control. Springer, 1997. [9] Real Time Windows Target. User’s Guide Version 1. The Math Works Inc., 1998.