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 [email protected], Orlando Luna Matallana Cod. 2008128301
[email protected] 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. [email protected], [email protected], [email protected], [email protected], [email protected]
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/.