Download Diseño e implementación de una simulación gráfica en tiempo real
Document related concepts
no text concepts found
Transcript
1 Diseño e implementación de una simulación gráfica en tiempo real para observar el comportamiento de una planta utilizando el programa matemático de computador MATLAB Diego Hernán Gil Pinzón Cod. 20081283013 dhgpxxi@hotmail.com, Orlando Luna Matallana Cod. 2008128301 dhgpxxi@hotmail.com Noviembre del 2010 Resumen—En el presente documento se indicara los aspectos mas importantes para el desarrollo del proyecto de grado en cuestión, con el objetivo de guiar el proceso del mismo y así logra la interrelación de los programas de computador EasyJava y Matlab IV-B. Index Terms—Easy Java, Matlab I. I NTRODUCCIÓN Se puede observar, en el proceso de estudio de diseñar controladores para sistemas inestables, pocas indicaciones de que el objetivo buscado de estabilizar dicho sistema sea alcanzado, luego, con esta propuesta de proyecto de grado se busca diseñar e implementar una simulación que por medio de un programa matemático de computador, como MATLAB, se puede interrelacionar con un software grafico como Easy Java y mostrar el comportamiento de un modelo matemático con controlador de cuatro plantas. Ahora, se establece que la documentación necesaria se puede consultar, pero, la investigación con estos programas de computador es muy poca. II. V. V-A. M ARCO T EÓRICO Sistemas Físicos Existen en esencia tres o cuatro tipos de sistemas físicos. V-A1. Sistemas Eléctricos: Sus elementos básicos son la resistencia, la bobina y el condensador el cual se modela de la siguiente forma: D EFINICIÓN DEL P ROBLEMA En los análisis matemáticos hechos por computador existe el gran problema, el cual es que no es visible o es poco claro el comportamiento a través del tiempo de las funciones de transferencia o modelos matemáticos de un sistema usando los distintos controladores, salvo por algunas graficas. III. J USTIFICACIÓN Se busca lograr el diseño de una herramienta de computador para ver el comportamiento de un proceso físico simulado e implementar este diseño para facilitar el análisis y determinación de controladores más eficientes. IV. IV-A. Objetivos Específicos Calcular modelos matemáticos de cuatro diferentes plantas. Diseñar en el programa de computador (software) EasyJava respuestas gráficas de modelos matemáticos con cuatro plantas simuladas. Desarrollar respuesta de parte de EasyJava para simular las cuatro plantas y procesar la información obtenida de MATLAB Figure 1. Sistemas Eléctricos V-A2. Sistemas Mecánicos: V-A2a. Traslacional: Sus partes son la masa, el resorte y un amortiguador y se modela con las siguientes ecuaciones: O BJETIVOS Objetivo General Diseñar e implementar una simulación gráfica en tiempo real para observar el comportamiento de una planta utilizando el programa matemático de computador MATLAB Figure 2. Sistema Traslacional 2 Figure 3. Sistema Traslacional V-A2b. Rotacional: Es un sistema mecánico, pero actua de forma diferente, tiene en este caso velocidad y desplazamiento angular. Figure 8. Sistemas Neumáticos V-A5. Sistemas Hidráulicos: Se basa en el almacenamiento y resistencia al flujo, conformado por el trabajo del agua u otros líquidos. Figure 4. Rotacional Figure 9. Figure 5. Rotacional V-B. Sistemas Hidráulicos Modelos Básicos V-A3. Sistemas Térmicos: El calor gobierna estos sistemas y se considera su capacidad de almacenamiento y la resistencia al cambio de ambiente. Figure 6. Sistemas Térmicos V-A4. Sistemas Neumáticos : Sistemas de aire o cualquier gas que pueda se utilizado en la realidad. Figura 10. Figure 7. Sistemas Neumáticos Tanque con escape V-B1. Tanque con escape: Aquí, el volumen encerrado dentro del tanque es igual a la recolección debida al líquido que entra menos el que sale. También se puede tener en cuenta la relación de interés es la que relaciona el caudal de salida Qsalida y el nivel h. 3 La señal de control u(t) tiene un valor diferente de cero cuando la señal de error e(t) es cero. Por lo que se finiquita que dada una referencia constante, o perturbaciones, el error en régimen permanente es cero. PI= control proporcional-integral, se define mediante u(t) Figure 11. Entrada-Salida Las ecuaciones que precisan al sistema pueden ser enunciadas como un conjunto formado por una ecuación diferencial para la acumulación y una algebraica para la característica estática nivel/caudal de la siguiente forma: A(dh/dt) = Qentrada−f (h) Qsalida = f (h) . (1) (2) Sistemas de Control Clásico. V-C. Lazo de control de una entrada y una salida (SISO) de un grado de libertad: Diagrama de bloques Los partes de la grupo de controladores PID, incluyen tres acciones: proporcional (P), integral (I) y derivativa (D). Estos controladores son los denominados P, I, PI, PD y PID. P= control proporcional, da una salida del controlador que es proporcional al error, es decir: u(t) = KP.e(t),que representada desde su función transferencia queda: Cp = Kp (3) Donde Kp es una ganancia proporcional ajustable. Un controlador proporcional puede controlar cualquier planta estable, pero posee desempeño limitado y error en régimen permanente (off-set). I= control integral: da una salida del controlador que es proporcional al error acumulado, lo que involucra que es un modo de controlar lento. ˆ u(t) = e(τ )dτ (4) Cpi (s) = Kp (1 + (5) e(τ )dτ (6) 1 ) Ti s (7) Con un control proporcional, es imperioso que exista error para obtener una acción de control diferente de cero. Con acción integral, un error pequeño positivo continuamente nos proporcionará una acción de control creciente, y si fuera negativo la señal de control será decreciente. Este reflexión sencilla nos demuestra que el error en régimen permanente será siempre cero. Numerosos controladores industriales tienen solo acción PI. Se puede señalar que un control PI es apropiado para todos los procesos donde la dinámica es fundamentalmente de primer orden. Lo que logra demostrarse en forma sencilla, por ejemplo, mediante un ensayo al escalón. PD= proporcional-derivativa, se define mediante: de(t) (8) dt Donde Td es una constante designada de tiempo derivativo. Esta acción tiene atributo de previsión, lo que hace más veloz la acción de control, sin embargo tiene la desventaja importante que amplifica las señales de ruido y puede causar saturación en el actuador. La acción de control derivativa nunca se usa por sí sola, debido a que solo es eficaz durante períodos transitorios. La función transferencia de un controlador PD resulta: = Kp e(t)+ Kp Td Cpd (s) = Kp + sKp Td (9) Cuando un control derivativo se le adiciona a un controlador proporcional, admite conseguir un controlador de alta sensibilidad, es decir que responde a la velocidad del cambio del error y produce una corrección significativa antes de que la magnitud del error se vuelva demasiado grande. Aunque el control derivativo no afecta en forma directa al error ea estado estacionario, añade amortiguamiento al sistema y, por tanto, permite un valor más grande que la ganancia K, lo cual provoca una mejora en la precisión en estado estable. PID= control proporcional-integral-derivativa, esta acción combinada agrupa las ventajas de cada una de las tres acciones de control . La ecuación de un controlador con esta acción combinada se obtiene mediante: u(t) K Ci = s ˆ Donde Ti se denomina tiempo integral y es quien adapta la acción integral. La función de transferencia resulta: u(t) Figure 12. = Kp e(t)+ Kp Ti = kpe(t) + Kp Ti ´ e(τ )dτ + Kp Td de(t) dt y su función transferencia resulta: (10) 4 CP ID (s) = Kp(1 + 1 T iS + Ti S) (11) V-D. EASY JAVA Easy Java Simulations (simulaciones sencillas en Java), también conocido como EJS o Ejs, es un software creado en Java que ayuda a no programadores a crear simulaciones interactivas en Java, usualmente con la meta de enseñanzar o de aprendizaje. EJS ha sido creado por Francisco Esquembre y es parte del proyecto Open Source Physics (Física de código abierto). Easy Java Simulations es una herramienta diseñada para la creación de simulaciones por computador. Una simulación discreta por computador, es un programa que intenta reproducir, con fines pedagógicos o científicos, un fenómeno natural por medio de la visualización de los disímiles estados que éste puede presentar. Cada uno de estos estados está detallado por un conjunto de variables que cambia en el tiempo debido a la iteración de un cierto algoritmo. V-D1. Ejecución de EASYJAVA: Cuando EJS arranca, se abrirán [al menos] dos ventanas: • La consola de EJS (véase la imagen de abajo), que presenta tres pestañas: “Opciones Básicas”, “Opciones Avanzadas” y “Área de Mensajes”. Figure 14. Consola de EJS La ventana de edición de EJS (ver imagen), que tiene tres botones de radio en la parte superior: “Descripción”, “Modelo” y “Vista”. Figure 13. Discos rígidos chocando en una caja. Significa que EJS es un programa que le ayuda a crear simulaciones científicas. La diferencia de EJS con respecto a la mayoría de otros productos es que ha sido diseñado por profesores de ciencias para ser utilizado por profesores y estudiantes de ciencias. Es para personas que están más interesadas en el contenido de la simulación, en el fenómeno mismo que se simulan. EJS es una herramienta de modelado y de autor de forma clara dedicada a esta labor. Ha sido diseñado para permitir trabajar a un alto nivel conceptual, utilizando un grupo de herramientas simplificadas y concentrando la mayoría de su tiempo en los aspectos científicos de la simulación, y pidiendo al computador que realice automáticamente todas las otras tareas necesarias pero fácilmente automatizables. Easy Java Simulations crea aplicaciones Java que son independientes y multiplataforma, o applets que se pueden visualizar usando cualquier navegador Web que pueden leer datos a través de la red y ser controlados usando scripts (conjuntos de instrucciones) incluidos en las páginas HTML. Figure 15. EJS Si se a trabajando en alguna simulación en una sesión anterior, y la consola está configurada para cargar la última simulación, las ventanas de la vista de dicha simulación pueden aparecer también al mismo tiempo que la ventana de edición de EJS. Finalmente, se observará que, durante el proceso de arranque de EJS, una pequeña ventana de diálogo mostrará la evolución de dicho arranque. 5 Figure 16. La consola de EJS Figure 17. V-D2. La consola de EJS: La consola de EJS es el punto de partida para ejecutar EJS. La consola se usa para arrancar EJS y para ejecutar otros procesos que requieren de más de una copia de EJS. También muestra mensajes de salida y posibles mensajes de error de las simulaciones creadas con EJS y, ocasionalmente, mensajes de error del propio EJS. La consola aparece en una ventana separada de la de EJS que no puede cerrarse. Cuando la consola arranca, ejecuta a su vez una primera copia de EJS. Se puede usar unos botones incluidos en la interfaz de la consola para ejecutar más copias de EJS. La consola se cerrará automáticamente cuando se cierre la última de las copias de EJS en ejecución. V-D3. La interfaz de usuario de EJS: EJS proporciona tres paneles de trabajo para construir la simulación. Se selecciona el panel de trabajo activo utilizando los botones de radio de la parte superior. El primer panel, Descripción, permite crear y editar narrativa multimedia basada en código HTML que describe la simulación. Cada página de narrativa aparece en una pestaña de este panel de trabajo y el usuario puede, haciendo clic con el botón derecho, editar la narrativa o importar ficheros HTML escritos con otras herramientas. El segundo panel de trabajo, Modelo, está dedicado al proceso de modelado. Este panel se usa para crear variables que describen el modelo de la simulación, para inicializar estas variables, y para escribir algoritmos que describen cómo varían estas variables con el tiempo. El tercer panel de trabajo, Vista, está dedicado a la tarea de construir la interfaz gráfica de usuario de la simulación, que permitirá a los usuarios finales controlar la simulación y mostrar sus salidas. La interfaz se construye seleccionando elementos de unas paletas y añadiéndolos al denominado Árbol de elementos de la vista. Por ejemplo, la paleta Interfaz contiene botones, deslizadores y campos de entrada, y la paleta Elementos de dibujo 2D contiene elementos para dibujar datos 2D. La interfaz de usuario de EJS V-D4. EASY JAVA y MATLAB: EJS se puede communicar con Matlab/Simulink (MR) solamente bajo la familia de sistemas operativos de Windows (MR). Para activar esta posibilidad en EJS, ir a la pestaña de Opciones Avanzadas en la consola de EJS y se debe marcar la opción de “Activar páginas de aplicaciones externas”. La próxima vez que se arranque EJS, el panel de Variables ofrecerá la posibilidad de crear páginas de variables externas. V-E. MATLAB MATLAB (“MATrix LABoratory”). MATLAB es un programa para realizar cálculos numéricos con vectores y matrices. Como caso particular puede también trabajar con números escalares, tanto reales como complejos. Una de las capacidades más atractivas es la de realizar una amplia variedad de gráficos en dos y tres dimensiones. MATLAB tiene también un lenguaje de programación propio. V-E1. El entorno de trabajo de MATLAB: Los componentes más importantes del entorno de trabajo de MATLAB son el editor de caminos de búsqueda (Path Browser), el editor y depurador de errores (Editor & Debugger) y el visualizador del espacio de trabajo (Workspace Browser). A continuación se describen brevemente estos componentes. El search path de MATLAB es una lista de directorios que se puede ver y modificar a partir de la línea de comandos, o utilizando el Path Browser. El comando path hace que se escriba el search path de MATLAB (el resultado depende de en qué directorio está instalado MATLAB) EDITOR&DEBUGGER: EDITOR DE FICHEROS Y DEPURADOR DE ERRORES: En MATLAB tienen particular importancia los ficheros-M (o M-files). Son ficheros de texto ASCII, con la extensión *.m, que contienen conjuntos de comandos o definición de funciones (estos últimos son un poco más complicados y se verán más adelante). La importancia de estos ficheros-M es que al teclear su nombre en la línea de comandos y pulsar Intro, se ejecutan uno tras otro todos los comandos contenidos en dicho fichero 6 El espacio de trabajo de MATLAB (Workspace) es el conjunto de variables y de funciones de usuario que en un determinado momento están definidas en la memoria del programa. Para obtener información sobre el Workspace se pueden utilizar los comandos who y whos. El segundo proporciona una información más detallada que el primero. VI. E STADO DEL A RTE El Estado del Arte de el uso de Easy Java en conjunto con Matlab es muy poco, de hecho, solo existe una referencia. VI-A. EASY JAVA SIMULATIONS Y MATLAB VI-A1. LABORATORIO VIRTUAL DE RECONOCIMIENTO DE PATRONES USANDO EASY JAVA SIMULATIONS Y MATLAB: El laboratorio virtual es en una interfaz gráfica de usuario desarrollada utilizando Easy Java y un grupo de funciones (archivos .m) que se ejecutarán de forma remota en Matlab. Las funciones sirven básicamente para realizar las llamadas a las funciones propias de Matlab. Se presentará de forma resumida la interfaz gráfica del laboratorio virtual. VI-A2. INTERFAZ GRÁFICA DE USUARIO: La interfaz de la aplicación desarrollada se presenta en la figura 18. 4. Clasificación: En esta sección se debe indicar la técnica de clasificación requerida. Es necesario introducir los parámetros correspondientes a la clasificación antes de comenzar el entrenamiento. Para la Red Neuronal se pueden definir el número de capas ocultas, el número de neuronas por capa, la función de activación así como los algoritmos de entrenamiento. Para la Máquina de Vectores Soporte se debe indicar el kernel o función núcleo y los parámetros correspondientes. En esta sección además se encuentran tres botones que permiten: generar en forma aleatoria los conjuntos de entrenamiento y evaluación; entrenar y evaluar la Red Neuronal o la Máquina de Vectores Soporte. 5. Menú Archivo: Aquí el usuario puede especificar el conjunto de señales que desea utilizar, por el momento el usuario puede trabajar con puntos en el plano o con imágenes. VI-A3. EXPERIMENTACIÓN: Los pasos a seguir para el desarrollo de experiencias en la aplicación son expuestas en la figura 19. Figure 19. Figure 18. INTERFAZ GRÁFICA DE USUARIO La interfaz de usuario está dividida en las siguientes secciones: Gráfica Señal, Lista de Datos, Generación de Atributos, Clasificación y Menú Archivo. 1. Gráfica de la Señal: Esta sección permite disponer en forma visual las señales utilizadas. La señal es mostrada puede seleccionarse del cuadro de texto combinado de la sección Lista de Datos. 2. Lista de Datos: En esta sección se asocian las señales a una clase determinada. Para ello es necesario introducir la clase en el cuadro de texto y luego presionar el botón OK. 3. Generación de Atributos: Esta sección permite el establecimiento de las acciones de procesamiento de señales que generarán los atributos a utilizar en el entrenamiento y la evaluación. Las señales procesadas están formadas por la concatenación de conjuntos de atributos denominadas CAn, donde n es el índice del conjunto. Un conjunto de atributos se genera a partir de la señal y de las funciones de procesamiento aplicadas de forma secuencial. EXPERIMENTACIÓN El procedimiento mostrado está definido mediante un conjunto de acciones secuenciales, es posible asignar nuevas clases a las señales sin tener que volver a establecer las acciones de procesamiento o los parámetros de clasificación. VI-A4. EJS Y MATLAB: La conexión entre Ejs y modelos Simulink esta orientada a la creación de laboratorios virtuales de sistemas dinámicos. En el caso específico de la conexión entre Ejs y Matlab el papel de Matlab esta orientado principalmente a proporcionar capacidades de cómputo, esto es como motor de cálculo. 1. El procedimiento para la conexión entre Ejs y Matlab es sencillo y se resume en los siguientes cuatro pasos. 2. Designar a Matlab como aplicación externa. 3. Crear y conectar variables Ejs con Matlab. 4. Controlar la ejecución de las rutinas en Matlab. 5. Definir la vista y la interactividad con el usuario. VII. C ONCLUSIONES El Proyecto de Grado propuesto es una posible solución para mejorar el entendimiento sobre el control y la estabilización de los sistemas físicos. Se puede utilizar para resolver en parte la falta de laboratorios de Control Electrónico, ya que seria posible hacer incluso practicas con estas herramientas y obtener, 7 así sea de forma virtual y parcial, experiencia en este campo escogido de la Ingeniería. Mas adelante, existe la opción de mejorar este proyecto en el aspecto de agregar más sistemas y plantas a los propuestos, incluyendo una mayor cantidad de controladores, y además, se puede integrar este Proyecto al ciberespacio, es decir, colocarlo en Internet y trabajar en línea en tiempo real, y obtener los mejores resultados en cualquier parte del mundo [28] G. Farias1, S. Dormido1, F. Esquembre2, M. Santos3, S. DormidoCanto1. 1Depto. Informática y Automática, UNED. 28040 Madrid 2Departamento de Matemáticas, Universidad de Murcia. 30071 Murcia. 3Depto. Arquitectura de Computadores y Automática, UCM. 28040 Madrid. gfarias@bec.uned.es, sdormido@dia.uned.es, fem@um.es, sebas@dia.uned.es, msantos@dacya.ucm.es R EFERENCIAS [1] “ B. J. Lurie y Paul J. Enright, “Classical feedback control with MATLAB,” 2000, http://www.netlibrary.com/urlapi.asp?action=summary&v=1&bookid=42719. [2] Jairo Augusto. Rico Cruz y Universidad Distrital Francisco José de Caldas (Bogotá), Control, identificación y estimación (Santafé de Bogotá: Universidad Distrital, 1997). [3] Francisco. Esquembre, Creación de simulaciones interactivas en Java : aplicación a la enseñanza de la física (Madrid: Prentice Hall / Pearson / Alhambra, 2005). [4] “Easy Java Simulations Wiki | Main / Home Page,” http://www.um.es/fem/EjsWiki/?userlang=es. [5] “ejs1.pdf,” http://mami.uclm.es/jmruiz/materiales/Documentos/ejs1.pdf. [6] “ejs1.pdf (application/pdf Objeto),” http://mami.uclm.es/jmruiz/materiales/Documentos/ejs1.pdf. [7] Luis. Moreno, Santiago Garrido, y Carlos Balaguer, Ingeniería de control : modelado, análisis y control de sistemas dinámicos (Barcelona: Editorial Ariel, 2003). [8] Katsuhiko. Ogata et al., Ingeniería de control moderna (Madrid; México: Prentice Hall, 2003). [9] P. E. Wellstead, Introduction to physical system modelling (London; New York: Academic Press, 1979). [10] Gillet Denis; Navarathna Nalin; Martin-Villalba Carla; Urquia Alfonso; Dormido Sebastian, “Joint publication on adapting industrial simulations to obtain virtual experiments for learning,” 2007. [11] “Mathtools.net : MATLAB,” http://www.mathtools.net/MATLAB/. [12] Miguel Cutipa Coaquira y Daniel Gutierrez Pachas, Matlab 7 (Lima: Macro;, 2007). [13] Holly. Moore, Víctor. Campos Olguín, y Rogelio. Márquez Nuño, MATLAB para ingenieros (México: Pearson educación, 2007). [14] “matlab70primero.pdf (application/pdf Objeto),” http://mat21.etsii.upm.es/ayudainf/aprendainf/Matlab70/matlab70primero.pdf. [15] W. Bolton, Mecatrónica : sistemas de control electrónico en la ingeniería mecánica y eléctrica, Alfaomega, ; 1117 (México, D.F: : Alfaomega, 2006). [16] R. Isermann, “Mechatronic systems: concepts and applications,” Transactions of the Institute of Measurement & Control 22, no. 1 (2000): 29-55. [17] “Métodos Matemáticos de Especialidad [Mecánica-Máquinas] - ETSII - UPM,” http://mat21.etsii.upm.es/matesp/. [18] “Modelado de Sistemas Físicos,” http://132.248.139.12/~alumnos/SCC/ModeladodeSistemasFsicos.html. [19] Lennart. Ljung y Torkel. Glad, Modeling of dynamic systems, Prentice Hall information and system sciences series (Englewood Cliffs, N.J.: PTR Prentice Hall, 1994). [20] Katsuhiko. Ogata, Sebastián Dormido Canto, y María Antonia Canto, Problemas de ingeniería de control utilizando MATLAB (Madrid: Prentice-Hall, 1999). [21] Pablo. Carbonell Cortés, Adolfo Hilario Caballero, y Universidad Politécnica de Valencia. Servicio de Publicaciones, Regulación automática : conceptos y ejercicios vía simulación (Valencia: Universidad Politécnica de Valencia, Servicio de Publicaciones, 1998). [22] Benjamin C. Kuo, Sistemas automáticos de control (México: Cía. Ed. Continental, 1965). [23] “Sistemas de Control I / Unidad 1,” http://objetos.univalle.edu.co/objetosdeaprendizaje/sistemas_de_control_I/Unidad %201/index.html. [24] J.M. Ruiz González et al., Sistemas electrónicos de control (Valladolid: Universidad, 1986). [25] Heinz. Richter, Sistemas electrónicos de regulación y control (Madrid: Paraninfo, 1972). [26] “The MathWorks - MATLAB and Simulink for Technical Computing,” http://www.mathworks.com/. [27] “Welcome to Easy Java Simulations home page,” http://www.um.es/fem/Ejs/.