simulacion de sistemas de control en java:´ bases

65
n : 2006– Proyecto de Grado Presentado ante la ilustre Universidad de Los Andes como requisito parcial para obtener el T´ ıtulo de Ingeniero de Sistemas Simulaci ´ on de Sistemas de Control en JAVA: Bases Conceptuales y Metodol ´ ogicas para un Laboratorio Virtual Por Br. Leticia Esmeralda Torres D´ ıaz Tutor: Richard M´ arquez Cotutor: Wladimir Rodr´ ıguez erida, Venezuela, Junio 2006 Derechos Reservados c 2006 Universidad de Los Andes

Upload: others

Post on 19-Jul-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simulacion de Sistemas de Control en JAVA:´ Bases

n◦: 2006–

Proyecto de Grado

Presentado ante la ilustre Universidad de Los Andes como requisito parcial para

obtener el Tıtulo de Ingeniero de Sistemas

Simulacion de Sistemas de Control en JAVA:

Bases Conceptuales y Metodologicas para un

Laboratorio Virtual

Por

Br. Leticia Esmeralda Torres Dıaz

Tutor: Richard Marquez

Cotutor: Wladimir Rodrıguez

Merida, Venezuela, Junio 2006

Derechos Reservados c©2006 Universidad de Los Andes

Page 2: Simulacion de Sistemas de Control en JAVA:´ Bases

Simulacion de Sistemas de Control en JAVA: Bases

Conceptuales y Metodologicas para un Laboratorio Virtual

Br. Leticia Esmeralda Torres Dıaz

Proyecto de Grado — Control y Automatizacion, 107 paginas

Resumen: La World Wide Web ha desarrollado un gran potencial para nuevos

metodos de ensenanza que pueden servir de complemento para la educacion tradi-

cional. Una de las iniciativas mas populares en las instituciones academicas es la

creacion de laboratorios virtuales que permiten exponer a los estudiantes a un con-

junto de experiencias practicas e interactivas a traves de herramientas tecnologicas y

metodologıas de ultima generacion. En este trabajo se presenta el desarrollo de un en-

torno de simulacion, que tiene por objeto brindar nuevas alternativas para acompanar

al proceso de ensenanza-aprendizaje de las asignaturas relacionadas con sistemas de

control de la carrera de Ingenierıa de Sistemas de la Universidad de Los Andes. Para

la creacion de las simulaciones de sistemas de control dirigidas a conformar un labora-

torio virtual, estudiamos distintas formas de estructurar sus componentes y evaluamos

las herramientas (lenguajes de programacion y motores matematicos) disponibles para

su construccion. Para el desarrollo de las simulaciones, aprovechamos las capacidades

de Easy Java Simulations, entorno grafico de programacion para el desarrollo de sim-

ulaciones cientıficas con Java, con el cual las simulaciones pueden se convertidas en

elementos Web dinamicos del lado del cliente (Java Applets), utilizando como mo-

tor de numerico a un conjunto de funciones programadas en Java y a sus librerıas

matematicas nativas.

Palabras clave: Sistemas de control, Simulacion interactiva, Lenguaje Java, Labora-

torio virtual, Ensenanza basada en Web

Page 3: Simulacion de Sistemas de Control en JAVA:´ Bases

Indice

Indice de Figuras vi

Agradecimientos viii

1 Introduccion 1

1.1 Propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Organizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Recursos para la ensenanza practica basada en Web 6

2.1 Laboratorios tradicionales versus laboratorios virtuales . . . . . . . . . 7

2.1.1 Laboratorios tradicionales . . . . . . . . . . . . . . . . . . . . . 7

2.1.2 Laboratorios virtuales . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Ambientes de simulacion basada en Web . . . . . . . . . . . . . . . . . 10

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 13

2.3.1 Herramientas para la GUI . . . . . . . . . . . . . . . . . . . . . 14

2.3.2 Herramientas para el motor de simulacion . . . . . . . . . . . . 16

2.3.3 Herramientas para el servidor Web . . . . . . . . . . . . . . . . 21

2.4 Enfoque metodologico para el desarrollo de laboratorios virtuales de

simulacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.4.1 Metodologıa versus ciclo de vida . . . . . . . . . . . . . . . . . 23

2.4.2 Metodologıa de desarrollo propuesta . . . . . . . . . . . . . . . 24

3 Caso de estudio: un sistema no lineal clasico 28

3.1 Modelado del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

iii

Page 4: Simulacion de Sistemas de Control en JAVA:´ Bases

3.1.1 Restricciones fısicas . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.2 Analisis del sistema de control . . . . . . . . . . . . . . . . . . . . . . . 32

3.2.1 Especificaciones de la respuesta temporal . . . . . . . . . . . . . 34

3.2.2 Linealizacion aproximada . . . . . . . . . . . . . . . . . . . . . . 36

3.2.3 Controlabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.2.4 Observabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.3 Estrategias de control . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

3.3.1 Estrategia I: control por realimentacion del vector de estados . . 39

3.3.2 Estrategia II: control por realimentacion con observador

dinamico de estados . . . . . . . . . . . . . . . . . . . . . . . . 41

4 Desarrollo del laboratorio virtual para simulacion de sistemas de con-

trol 44

4.1 Analisis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.1.1 Etapa 1: descripcion y dominio de la aplicacion . . . . . . . . . 45

4.1.2 Etapa 2: requerimientos del sistema . . . . . . . . . . . . . . . . 49

4.2 Diseno . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4.2.1 Diseno instruccional (nivel educativo) . . . . . . . . . . . . . . . 51

4.2.2 Diseno de la presentacion (nivel comunicacional) . . . . . . . . . 57

4.2.3 Diseno de la interfaz (nivel computacional) . . . . . . . . . . . . 62

4.3 Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.3.1 Tecnologıas y herramientas . . . . . . . . . . . . . . . . . . . . . 68

4.3.2 Construccion de las simulaciones en Java con Easy Java Simula-

tions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4.3.3 Construccion del LVSSC . . . . . . . . . . . . . . . . . . . . . . 87

4.4 Evaluacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

4.5 Administracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4.5.1 Instalacion y configuracion . . . . . . . . . . . . . . . . . . . . . 90

4.5.2 Administracion previa al uso del LVSSC . . . . . . . . . . . . . 92

5 Conclusiones y recomendaciones 93

Page 5: Simulacion de Sistemas de Control en JAVA:´ Bases

Bibliografıa 96

A Glosario 99

B Miscelaneas 102

B.1 Codigo fuente de las simulaciones en Java . . . . . . . . . . . . . . . . 102

B.2 Informacion complementaria: Applets de Java . . . . . . . . . . . . . . 104

B.2.1 Ciclo de vida del Applet . . . . . . . . . . . . . . . . . . . . . . 104

B.2.2 Restricciones de seguridad del Applet de Java . . . . . . . . . . 106

Page 6: Simulacion de Sistemas de Control en JAVA:´ Bases

Indice de Figuras

2.1 Configuraciones de los laboratorios virtuales (Dormido et al. 2004) . . . 9

2.2 Elementos caracterısticos de la simulacion basada en Web . . . . . . . . 12

2.3 Funcionamiento de Matlab Web Server . . . . . . . . . . . . . . . . . . 18

2.4 Jerarquıa de clases de Java en donde se ubica JMatLink . . . . . . . . 19

2.5 Metodos basicos de JMatLink . . . . . . . . . . . . . . . . . . . . . . . 19

2.6 Funcionamiento de JMatLink . . . . . . . . . . . . . . . . . . . . . . . 19

2.7 Paradigma arquitectonico MVC . . . . . . . . . . . . . . . . . . . . . . 21

2.8 Funcionamiento de Easy Java Simulations . . . . . . . . . . . . . . . . 22

2.9 Modelo de procesos de ingenierıa (de Jensen y Tonies, 1979) . . . . . . 23

2.10 Metodologıa de analisis, diseno y desarrollo de ambientes educativos

computarizados basados en Internet (Galvis & Mendoza 1999) . . . . . 25

3.1 Modelo Fısico de la Nave . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2 Ubicacion de los polos en el plano complejo s a partir de ζ y ωn. . . . . 35

3.3 Diagrama de bloques del control lineal por realimentacion del vector de

estado para sistemas no lineales . . . . . . . . . . . . . . . . . . . . . . 39

3.4 Diagrama de bloques del control lineal por realimentacion del vector de

estado para sistemas no lineales, con un Observador dinamico de estado 42

4.1 Dimensiones pedagogicas del diseno instruccional del LVSSC . . . . . . 53

4.2 Mapas conceptuales de las etapas de un ejercicio de sistemas de control 56

4.3 Aspectos que conforman la “experiencia del usuario” (Fuente: Maria J.

Lamarca. Universidad Complutense de Madrid) . . . . . . . . . . . . . 58

4.4 Mapa conceptual de navegacion del LVSSC) . . . . . . . . . . . . . . . 59

4.5 Mapa conceptual del entorno de simulacion para la estrategia de control I 61

vi

Page 7: Simulacion de Sistemas de Control en JAVA:´ Bases

4.6 Mapa conceptual del entorno de simulacion para la estrategia de control II 62

4.7 Bosquejo tipo 1 para las paginas Web . . . . . . . . . . . . . . . . . . . 64

4.8 Bosquejo tipo 2 para las paginas Web . . . . . . . . . . . . . . . . . . 64

4.9 Bosquejo de las ventanas emergentes . . . . . . . . . . . . . . . . . . . 65

4.10 Bosquejo de la GUI principal del entorno de simulacion . . . . . . . . . 67

4.11 Bosquejo del elemento de registro grafico del entorno de simulacion . . 68

4.12 Flujo entre las capas de una arquitectura MVC . . . . . . . . . . . . . 70

4.13 Declaracion de las variables del modelo matematico . . . . . . . . . . . 75

4.14 Declaracion de las variables del observador . . . . . . . . . . . . . . . . 76

4.15 Declaracion de las variables del controlador . . . . . . . . . . . . . . . . 76

4.16 Declaracion de las variables de la simulacion . . . . . . . . . . . . . . . 77

4.17 Inicializacion de las variables del modelo matematico . . . . . . . . . . 77

4.18 Declaracion de ecuaciones diferenciales ordinarias del modelo matematico 78

4.19 Inicializacion de las variables del modelo matematico . . . . . . . . . . 79

4.20 Inicializacion de las variables del modelo matematico . . . . . . . . . . 80

4.21 Propiedades de un elemento grafico tipo contenedor en EJS . . . . . . . 81

4.22 Inicializacion de las variables del modelo matematico . . . . . . . . . . 82

4.23 Declaracion de ecuaciones diferenciales ordinarias del modelo matematico 83

4.24 Declaracion de ecuaciones diferenciales ordinarias del modelo matematico 83

4.25 Opciones de EJS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

4.26 Declaracion de ecuaciones diferenciales ordinarias del modelo matematico 87

4.27 Declaracion de ecuaciones diferenciales ordinarias del modelo matematico 88

4.28 Simulacion de la respuesta del sistema aeroespacial del ejemplo piloto,

con la estrategia de control I . . . . . . . . . . . . . . . . . . . . . . . . 90

4.29 Simulacion de la respuesta del sistema aeroespacial del ejemplo piloto,

con la estrategia de control II . . . . . . . . . . . . . . . . . . . . . . . 91

B.1 Codigo Java del archivo NaveControlCG utilizado para la simulacion de

la estrategia de control II . . . . . . . . . . . . . . . . . . . . . . . . . . 103

B.2 Codigo Java del archivo NaveControlCGApplet utilizado para el Applet

de simulacion de la estrategia de control II . . . . . . . . . . . . . . . . 104

B.3 Ciclo de vida de un Applet de Java . . . . . . . . . . . . . . . . . . . . 105

Page 8: Simulacion de Sistemas de Control en JAVA:´ Bases

Agradecimientos

A Dios Amor, Padre-Madre...

A mi amada familia, por su inmenso apoyo espiritual y material. Este primer

“fruto” va dedicado a Ustedes.

A Hosward, inspiracion, fuerza y refugio, aun en la distancia.

A mis amigos, en especial a Yuri, Ana Lucıa, Anais, Carmen y Eliel, por su ayuda

e incentivo que de muchas formas permitieron concluir este trayecto de mi carrera.

Al profesor Richard, por su guıa oportuna, por su mano siempre extendida y por

su paciencia infinita.

Al profesor Mario, por su sabidurıa de vida y para la vida.

Al profesor Francisco Esquembre, de la Universidad de Murcia por su valiosısima

contribucion a este trabajo.

Al profesor Wladimir y el profesor Juan y el profesor Gilberto por su comprension

y buena disposicion en todo momento.

A todos los profesores de la Escuela de Ingenierıa de Sistemas, que brindaron sus

conocimientos para la construccion de las “bases”... las “paredes” y el “techo” de esta

obra.

A mi Alma Mater, la Universidad de Los Andes, por acoger las oportunidades,

personas, recursos y situaciones que me permitieron llegar hasta aquı.

GRACIAS.

viii

Page 9: Simulacion de Sistemas de Control en JAVA:´ Bases

Capıtulo 1

Introduccion

“Al igual que cuando celulas aisladas se conectan y evolucionan para formar el

cerebro humano, las computadoras se conectan y evolucionan para formar la mas

poderosa herramienta para el aprendizaje e intercambio de conocimiento. . . ”

Las tecnologıas de informacion y comunicacion (TICs) pueden jugar muchos papeles

en la ensenanza y en el aprendizaje de las ciencias, en particular en el desarrollo de

habilidades cientıficas: calculo, analisis, interpretacion, modelado, etc.

La evolucion del Internet ha hecho posible compartir informacion y servicios de

forma extendida y eficiente. Esto ha permitido a las personas involucradas en el campo

de la ensenanza poner a disposicion no solo su experiencia sino tambien una gran

cantidad de recursos y aplicaciones en diferentes areas del conocimiento.

La educacion es una de las aplicaciones mas importantes del Internet. Tendencias

senalan el papel fundamental de las TICs como recurso de apoyo efectivo en el proceso

de educacion “tradicional” pues provee muchas maneras de mejorar la experiencia

de aprendizaje y expandir las oportunidades educativas para los estudiantes, vease

Poindexter & Heck (1999).

La ensenanza de sistemas de control y otros cursos de ingenierıa con un fuerte con-

tenido practico en donde resulta fundamental la utilizacion de herramientas de mod-

elado y simulacion dinamica para la aplicacion y verificacion de los aspectos teoricos,

apunta en la actualidad a la incorporacion de elementos que permitan expandir la expe-

riencia del laboratorio tradicional a ambientes libres de limitaciones espacio-temporales

Page 10: Simulacion de Sistemas de Control en JAVA:´ Bases

1 Introduccion 2

(acceso las 24 horas los 7 dıas de la semana, desde cualquier lugar), a traves del uso

de la Web.

El trabajo de Fishwick (1996) presentado en la Winter Simulation Conference hace

ya diez anos en la ciudad de San Francisco, esta considerado como uno de los primeros

en describir a la simulacion basada en el Web como una realidad que ya estaba presente

en las ideas y trabajos de multitud de investigadores de todo el mundo vinculados al

area de la simulacion por computador (Dormido et al. 2004). Desde entonces, han sido

numerosos los estudios hechos en esta area, destacandose los proyectos del Departa-

mento de Informatica de la Universidad Nacional de Educacion a Distancia (UNED)

en Espana como pioneros en el desarrollo de nuevos paradigmas de laboratorios para

la realizacion de experimentos practicos a traves de Internet. En la Universidad de Los

Andes (ULA), Venezuela, destacan los aportes de Puente & Rıos (2003) orientado a

laboratorios remotos de control, y de Calderon-Vielma (1999) dirigido a la ensenanza

de automatizacion e instrumentacion industrial mediante la integracion de varias her-

ramientas.

En la ultima decada, son numerosas las disciplinas en las que se utilizan los labora-

torios virtuales remotos y de simulacion para la realizacion de practicas, sobre todo en

el area de las ingenierıas (Jimenez et al. 2005, Candelas & Sanchez 2005). Gran parte

de estos recursos estan conformados por aplicaciones que han sido construidas para el

estudio analıtico de sistemas de control desde el punto de vista grafico y/o numerico,

a traves de interfaces de usuario de elevada interactividad que permiten visualizar el

comportamiento de un sistema conforme se modifican los valores de los parametros y

variables a distintos niveles.

Hasta hace unos pocos anos la mayorıa de las aplicaciones eran programadas para

funcionar “localmente” y en principio eran disenadas para la industria con el objeto

de facilitar el control de procesos bien estructurados y tambien con propositos de en-

trenamiento para operadores de planta antes de enfrentar situaciones reales crıticas.

Con el avance de la tecnologıa, surge la necesidad de acercar al estudiante de alguna

forma a las experiencias que le permitiran reaccionar ante situaciones particulares en

ambientes industriales cada vez mas sofisticados, por lo que gradualmente, los recursos

desarrollados por los departamentos de investigacion de grandes companıas, comienzan

Page 11: Simulacion de Sistemas de Control en JAVA:´ Bases

1.1 Propuesta 3

a utilizarse con fines educativos en las universidades para las carreras de Ingenierıa de

Sistemas, Automatica y afines, vease Sanchez et al. (2002).

Las aplicaciones disponibles hasta la fecha van desde laboratorios remotos en donde

es posible acceder a traves de Internet a un sistema fısico real para su manipulacion

directa (Muller & Waller 1999) (Sanchez et al. 2004) hasta laboratorios virtuales de

simulacion disenados para potenciar el aprendizaje a traves de caracterısticas como

visualizacion dinamica, animacion de elementos y tutoriales.

En la actualidad disponemos de poderosos leguajes de programacion de alto nivel

como C, C++ y Java, y algunas herramientas de ingenierıa, basadas en ventanas e

interfaces graficas tales como MATLABr, LabVIEW, Scilab, GNU Octave y SysQuake,

que brindan alternativas como motores matematicos y de simulacion, ampliamente

utilizadas.

El desarrollo de este proyecto se encuentra motivado en una primera instancia a la

evaluacion las alternativas disponibles para implementar ambientes de simulacion con

fines didacticos para materias de ındole cientıfico.

Como resultado de tal evaluacion, esta contribucion tiene como proposito final crear

un entorno de simulacion sencillo accesible desde Internet para el desarrollo de practicas

y ejercicios preparatorios en areas del conocimiento como control de sistemas utilizando

las herramientas de simulacion numerica mejor adaptadas a nuestro ambito academico.

En este trabajo, la simulacion de sistemas de control se enmarca en el contexto de

un laboratorio virtual, dirigido a mostrar las caracterısticas dinamicas de un sistema

clasico ante varios esquemas de control, donde el usuario puede definir distintos esce-

narios a traves de la variacion de los parametros del modelo matematico. De esta forma

proveemos un enfoque mas practico e intuitivo para comprender las abstracciones de

la teorıa de sistemas de control.

1.1 Propuesta

Considerando los pocos recursos de aprendizaje interactivo disponibles en asignaturas

con alto contenido practico de ingenierıa de control y afines en la Facultad de Ingenierıa

de la Universidad de Los Andes, y tomando en cuenta que la simulacion dinamica es una

Page 12: Simulacion de Sistemas de Control en JAVA:´ Bases

1.2 Objetivos 4

herramienta basica para verificar aspectos teoricos, nos vemos motivados a proponer:

Disenar y construir un ambiente de simulacion para un laboratorio virtual,

que en su fase funcional facilite el estudio analıtico de sistemas de control

desde el punto de vista grafico y/o numerico, a traves de una interfaz de

usuario de elevada interactividad que permita visualizar el comportamiento

de un sistema conforme se modifican los valores de los parametros y vari-

ables a distintos niveles.

La propuesta incluye aprovechar las ventajas Economicas, Espaciales y Temporales

que ofrecen los laboratorios virtuales y el uso de Internet.

Para realizar este proyecto se examinan las ventajas y limitaciones de los productos

de software y hardware disponibles para nuestros fines. Posteriormente, considerando

la naturaleza “pedagogica” de los laboratorios virtuales, se procede al analisis, diseno,

desarrollo, evaluacion e implementacion del entorno de simulacion tomando como base

una metodologıa propuesta por Galvis & Mendoza (1999) especializada para el de-

sarrollo de ambientes vituales educativos. A traves de esta metodologıa, y luego de

diversas revisiones y evaluaciones, se plantea como solucion general la utilizacion de

elementos Web dinamicos del lado del cliente (Java Applets) para sustentar las simula-

ciones del laboratorio virtual, utilizando como herramienta de desarrollo a Easy Java

Simulations, y como motor de numerico a un conjunto de funciones programadas en

Java y sus librerıas matematicas nativas.

1.2 Objetivos

Los objetivos generales y especıficos de este proyecto se resumen en las siguientes lıneas:

• Objetivo general: desarrollar un entorno de simulacion interactiva para un labo-

ratorio virtual destinado a aplicaciones de sistemas de control.

• Objetivos especıficos:

Permitir a los usuarios :

Page 13: Simulacion de Sistemas de Control en JAVA:´ Bases

1.3 Organizacion 5

– Disponer de “vistas multiples” de un sistema ante la variacion de

parametros.

– Abordar los mecanismos basicos de control a traves de la exploracion, veri-

ficacion de hipotesis y descubrimiento.

Permitir a los docentes :

– Mostrar conceptos de sistemas de control.

– Proporcionar nuevas perspectivas de problemas de interes academico.

– Ilustrar aspectos de analisis y diseno.

1.3 Organizacion

Este trabajo esta organizado de la siguiente de la manera:

El Capıtulo 2 esta dedicado a presentar los conceptos teoricos y aspectos rela-

cionados a los laboratorios virtuales de simulacion. Tambien se incluyen secciones que

muestran las distintas herramientas disponibles para la construccion de un entorno de

simulacion basada en Web, ası como una descripcion de los aspectos basicos de las her-

ramientas de mas amplia utilizacion: MATLABr, un entorno grafico computacional

muy poderoso de modelado y simulacion, y Easy Java Simulation (EJS), un gener-

ador de codigo que ayuda a crear simulaciones dinamicas interactivas en el lenguaje

Java. En el Capıtulo 3 se describe brevemente el modelo matematico de la aplicacion

no lineal que mostramos como caso de estudio en la implementacion del entorno de

simulacion de un laboratorio virtual de sistemas de control, ası como los principios de

control de sistemas necesarios para comprender las entradas y salidas definidas para las

simulaciones. El Capıtulo 4 comprende la aplicacion paso a paso de la metodologıa de

desarrollo con base a la propuesta de Galvis & Mendoza (1999), seguida para disenar

y construir el entorno de simulacion para un laboratorio virtual. Esta metodologıa

incluye la descripcion y analisis de requerimientos, diseno, la presentacion de los com-

ponentes necesarios para la implementacion, el proceso de construccion del laboratorio

y finalmente las caracterısticas finales y pruebas al sistema. El trabajo finaliza con las

conclusiones y algunas recomendaciones.

Page 14: Simulacion de Sistemas de Control en JAVA:´ Bases

Capıtulo 2

Recursos para la ensenanza practica

basada en Web

La Web debe su potencialidad en la educacion a dos elementos: los sistemas hiper-

media y multimedia como forma de estructurar la informacion, y las redes de area

extendida (Internet por ejemplo) como soporte de conexion y persistencia de la infor-

macion (Dormido & Torres 2005, Sanchez et al. 2002).

Este hecho ha permitido el surgimiento de aplicaciones que representan un puente

entre el aprendizaje pasivo y el compromiso activo, siendo muy importantes para que

los estudiantes desarrollen el juicio practico y comprendan como con cierto tipo de

recursos y utilizando modelos adecuados pueden ser capturados los comportamientos

de un proceso. Estas aplicaciones constituyen en la actualidad un complemento eficaz

de las formas de educacion convencionales.

En los centros de investigacion y en las universidades los espacios destinados para

la realizacion de actividades practicas en areas como automatizacion, instrumentacion,

computacion, control, robotica, simulacion y dinamica de sistemas, estaban limitados

en principio a estructuras fısicas a modo de modelos a pequena escala de la realidad

llamados laboratorios.

Page 15: Simulacion de Sistemas de Control en JAVA:´ Bases

2.1 Laboratorios tradicionales versus laboratorios virtuales 7

2.1 Laboratorios tradicionales versus laboratorios

virtuales

Actualmente cabe diferenciar estos tıpicos laboratorios, de los laboratorios “virtuales”

que deben su auge a la evolucion de los sistemas computacionales.

2.1.1 Laboratorios tradicionales

Los laboratorios tradicionales son espacios donde los estudiantes llevan a la practica

sus conocimientos teoricos con la finalidad de ganar una experiencia lo mas cercana

posible a la vida real, solo que con las limitaciones de un ambiente fısicamente confinado

y con modelos reducidos a un par de variables (Roberts 2004).

El contacto directo del estudiante con los aspectos practicos de un contenido resulta

en el desarrollo significativo de habilidades cognitivas, ademas de proporcionar una

experiencia por lo general mas interesante que un salon de clases. Esta es la ventaja

mas significante de un laboratorio tradicional. Las dos principales desventajas de un

laboratorio tradicional son los costos y las restricciones de los recursos (el costo de

adquirir, almacenar y mantener los equipos puede llegar a ser grande). Por otra parte,

el acceso de los estudiantes a los laboratorios en la mayorıa de los casos esta restringido

a un pequeno numero de unidades de experimentacion y a un cierto horario.

2.1.2 Laboratorios virtuales

Los laboratorios virtuales son laboratorios basados en simulaciones por computador

que pueden lucir, operar y producir resultados similares a los laboratorios reales. En

el mejor de los casos, estos laboratorios permiten trabajar con modelos mas completos

gracias a la capacidad de manejo numerico de los computadores. En comparacion a los

laboratorios tradicionales, los laboratorios virtuales se caracterizan por su versatilidad

y flexibilidad debido a que estan basados en software (Roberts 2004).

Entre las ventajas de los laboratorios virtuales estan:

• Costo: como los computadores reemplazan algunos o todos los equipos de labora-

torio, los costos de adquisicion, almacenamiento y mantenimiento se reducen. Sin

Page 16: Simulacion de Sistemas de Control en JAVA:´ Bases

2.1 Laboratorios tradicionales versus laboratorios virtuales 8

embargo, esto esta sujeto a los costos involucrados en el desarrollo del software

requerido.

• Seguridad: un laboratorio virtual puede filtrar la configuracion de parametros

potencialmente destructivos en la vida real, o simular el dano que podrıan causar.

• Disponibilidad espacial y temporal: si un laboratorio esta disponible a traves

de Internet (o cualquier otra red), podemos acceder al el en cualquier momento,

desde cualquier lugar.

• Presentacion del material: las capacidades multimedia de los computadores hacen

posible presentar el material de diversas maneras, mejorando progresivamente el

aprendizaje del usuario.

• Registro: como el laboratorio virtual forma parte de un sistema computarizado,

en algunos casos, ciertas capacidades se pueden aprovechar para grabar au-

tomaticamente en un registro, el proceso y los datos generados en la simulacion.

Entre las desventajas de los laboratorios virtuales tenemos:

• Poco realismo: el contexto de la vida real siempre contiene un elemento de im-

predecibilidad, que en muchos casos puede proveer de lecciones valiosas, como

sucede comunmente con un laboratorio tradicional.

• Problemas de diseno: los laboratorios virtuales requieren ser disenados con mu-

cho detalle y cuidado. Si no se disenan apropiadamente, pueden amplificar los

problemas existentes y crear otros nuevos.

• Falta de control del usuario: por lo general los usuarios deben completar las ex-

periencias del laboratorio virtual segun se lo indica el computador. Sin embargo,

en algunos casos, la falta de contacto cara a cara con el profesor brinda menos

oportunidades de discutir ideas o conceptos que caen fuera del rango cubierto

por la simulacion.

La solucion ideal para aprovechar las ventajas de ambos tipos de laboratorios con-

siste en: combinarlos. Es importante comprender que aunque en los procesos forma-

tivos basicos para materias practicas, los sistemas “a distancia” facilitan el trabajo y

Page 17: Simulacion de Sistemas de Control en JAVA:´ Bases

2.1 Laboratorios tradicionales versus laboratorios virtuales 9

aprendizaje individualizado, nunca sustituyen el rol del profesor. Mas bien el sistema

ayuda al profesor a mejorar la interactividad con el estudiante y sirven para comple-

mentar y enriquecer el proceso de aprendizaje.

De acuerdo con las distintas tecnologıas empleadas para construir los laboratorios

virtuales, podemos categorizarlos en funcion de su configuracion y funcionalidad (Can-

delas & Sanchez 2005).

Figura 2.1: Configuraciones de los laboratorios virtuales (Dormido et al. 2004)

Ası, tenemos:

1. Laboratorios virtuales remotos (basados en sistemas reales): se accede

a traves de Internet a un sistema fısico real para su manipulacion directa. El

software utilizado para el control remoto puede ser un navegador Web o una

aplicacion que necesita ser descargada del servidor del laboratorio. En algunas

ocasiones puede que sea posible su visualizacion e incluso audicion en tiempo

real.

2. Laboratorios virtuales de simulacion (basados en simulacion):se pueden

a su vez dividir en:

(a) Laboratorio virtual monolıtico: se descarga un Applet de Java, un Ac-

tiveX o una aplicacion que se ejecuta dentro del navegador Web y reside

en el computador del cliente. Es decir, la interfaz y el nucleo de la simu-

lacion constituyen un objeto unico. Vease la Figura 2.1a. No se necesita

la instalacion de ningun entorno de simulacion, salvo los correspondientes

plug-ins o run-time de Java, LabVIEW o SysQuake. Tambien se incluyen

aplicaciones ejecutables independientes.

Page 18: Simulacion de Sistemas de Control en JAVA:´ Bases

2.2 Ambientes de simulacion basada en Web 10

(b) Laboratorio virtual hıbrido: es analogo al monolıtico pero necesita obli-

gatoriamente que el cliente tenga instalado en su computador el entorno de

modelado y simulacion, como por ejemplo MATLABr y Simulinkr.Vease

la Figura 2.1b.

(c) Laboratorio virtual distribuido: el cliente (usuario) ejecuta la inter-

faz en el navegador Web mientras que el motor numerico es una aplicacion

(como por ejemplo MATLABr y Simulinkr) residente del lado del servi-

dor. El dialogo se establece mediante un servidor de manejo de solici-

tudes/respuestas usando alguna tecnologıa Web dinamica del lado del servi-

dor (CGI, PHP, ASP, JSP o Java Servlets) o del lado del cliente (Java Script,

Applets de Java o ActiveX). Vease la Figura 2.1c.

Los laboratorios virtuales (en cualquiera de sus categorıas) se disenan de acuerdo

al area de aplicacion, vease Candelas & Sanchez (2005). Una de las aplicaciones mas

populares (y la que nos ocupa en este caso) es los sistemas de control y automati-

zacion. Ası, los laboratorios virtuales de control, son los que permiten exportar

elementos practicos de los sistemas de control haciendo uso de los recursos y tecnologıas

informaticos. Estos laboratorios requieren que el usuario tenga conocimientos solidos

de matematicas y teorıa de control. La interactividad que caracteriza a los laborato-

rios virtuales de control, brinda a los usuarios la posibilidad de modificar y comparar

salidas del modelo con sus expectativas, permitiendoles explorar y emprender acciones

que le ayuden a comprender el conocimiento detras de la relacion-resultado percibido

(Martin et al. 2003).

2.2 Ambientes de simulacion basada en Web

Como sabemos por la descripcion dada en la seccion previa, en la actualidad los labo-

ratorios vituales -en general- se sustentan en la Web. Por esta razon, tambien podemos

referirnos a los laboratorios virtuales basados en simulacion como ambientes de sim-

ulacion basada en Web.

A partir del concepto dado por Fishwick (1996), Dormido et al. (2004) redefine

la simulacion basada en Web como la convergencia de metodologıas, recursos y

Page 19: Simulacion de Sistemas de Control en JAVA:´ Bases

2.2 Ambientes de simulacion basada en Web 11

aplicaciones de simulacion por computador dentro del WWW localizadas en el lado del

cliente o en el lado del servidor .

En la simulacion basada en Web existen dos aspectos que se interrelacionan de

forma total (Dormido et al. 2004):

1. Ensenanza: el WWW se contempla en el campo de la simulacion como un medio

clave para distribuir y universalizar la informacion contenida en las herramientas

de simulacion.

2. Programas de simulacion: gracias a las bondades del WWW, la interfaz grafica

con un software de simulacion puede accedida y manipulada desde cualquier

lugar del mundo con tan solo disponer de un navegador Web. Incluso es posible

realizar simulaciones distribuidas y paralelas. De esta menara podrıamos pensar,

tal y como sugiere Fishwick (1996), en la reutilizacion de pequenos modelos para

construir sistemas mas grandes y complejos.

De lo expuesto anteriormente deducimos las caracterısticas mas relevantes de la

simulacion basada en Web. Ası tenemos que:

• Se apoya en la arquitectura cliente-servidor (base del Internet) como medio para

transmitir la informacion al cliente desde una ubicacion remota. En este sentido

entiendase por cliente al proceso que inicia el dialogo o solicita los recursos y

por servidor, al proceso que responde a las solicitudes.

• Emplea los recursos y tecnologıas disponibles en el WWW para la interaccion

con herramientas de simulacion ubicadas tanto del lado del cliente como del lado

del servidor.

• Recurre a los navegadores Web como soporte para las interfaces graficas que

conectan al usuario con la simulacion debido a que son independientes de la

plataforma, son faciles de usar y minimizan el software adicional requerido.

Los componentes principales de la simulacion basada en Web son:

• La interfaz grafica de usuario o GUI (por las siglas en ingles de Graphic User

Interface)

Page 20: Simulacion de Sistemas de Control en JAVA:´ Bases

2.2 Ambientes de simulacion basada en Web 12

Figura 2.2: Elementos caracterısticos de la simulacion basada en Web

• El motor de simulacion

• El servidor Web

La GUI es la que permite al usuario interactuar con los elementos propios de una

simulacion. Mas especıficamente en el caso de los laboratorios virtuales, la GUI integra

elementos experimentales y teoricos. Basicamente, el elemento experimental esta con-

stituido por los esquemas de determinados procesos mas un conjunto de diagramas de

senal para analizar la evolucion de los parametros y variables del sistema en estudio a lo

largo del tiempo de simulacion. Asimismo, el elemento teorico esta conformado por un

conjunto de presentaciones conceptuales, por lo general en paginas HTML como forma

de proporcionar o completar las bases teoricas necesarias para abordar la realizacion

del trabajo practico.

El motor de simulacion es el que se encarga de ejecutar los modelos matematicos

que sustentan a la simulacion de los sistemas de interes. El motor de simulacion puede

ser un programa especıfico orientado al modelado y la simulacion, o un conjunto de

librerıas para simulacion creadas con un lenguaje de proposito comun.

El servidor Web es un programa de software que habilita la comunicacion entre el

Page 21: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 13

cliente y el servidor y hace posible el intercambio de recursos entre ellos. En el servidor

estan contenidos los mecanismos necesarios para manejar las solicitudes/respuestas y

permitir la comunicacion con los elementos, procesos y programas locales.

Refiriendonos explıcitamente a los laboratorios virtuales de simulacion, la forma

de estructurar estos componentes depende directamente de la forma de disenarlos

(Dormido et al. 2004). El diseno atiende a un conjunto de criterios como:

• La ubicacion del motor matematico de calculo, que puede ser del lado del cliente

(caso en el cual la GUI y la simulacion forman un todo que convive en el navegador

Web) o del lado del servidor (caso en el cual la GUI y la simulacion se ejecutan

se ejecutan en computadores diferentes).

• La naturaleza del nucleo de la simulacion, que considera si la simulacion en sı

misma ha sido construida por medio de una herramienta especıfica orientada al

modelado y la simulacion (como MATLABr, Simulinkr, GNU Octave, SciLab),

o si se ha recurrido a lenguajes de alto nivel de proposito general (como C,

C++, Fortran, Java) mediante el empleo de librerıas especıficas orientadas a la

simulacion.

• El grado de interactividad con el usuario, que puede ser pseudo-batch(no hay

inmediatez de la respuesta en forma de datos numericos o graficos) u on-line(la

simulacion avanza de forma continua y dinamica, proporcionando los resultados

inmediatos en un flujo continuo numerico o grafico).

Observese en la Tabla 2.1 un ejemplo de eleccion de los criterios de diseno para la

estructuracion de los componentes en los casos de laboratorios virtuales de simulacion

monolıticos y distribuidos:

2.3 Herramientas para la construccion de laborato-

rios virtuales de simulacion

Las herramientas de software para construir un laboratorio virtual de simulacion com-

prenden diversos tipos de tecnologıas que se pueden agrupar en varias categorıas de

Page 22: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 14

Tabla 2.1: Ejemplo sobre la eleccion de criterios de diseno

Criterio de Laboratorio virtual Laboratorio virtual

diseno monolıtico distribuido

Ubicacion del motor En el cliente En el servidor

matematico

Naturaleza del nucleo Lenguaje de Programa de modelado

de simulacion alto nivel y simulacion

Interactividad con el usuario on-line pseudo-batch

acuerdo con dos de sus componentes base: la GUI y el motor de simulacion. La se-

leccion de las herramientas mas adecuadas puede variar de acuerdo a los propositos

funcionales del sistema que se desea implementar, considerando ademas los criterios de

diseno expuestos en la seccion anterior.

2.3.1 Herramientas para la GUI

Las tecnologıas mas utilizadas como herramientas en el desarrollo de las GUI para

laboratorios virtuales de simulacion se dividen en cuatro tipos:

1. Controles ActiveX: son componentes Web autosuficientes para el desarrollo

de paginas dinamicas. Tienen presencia en la programacion del lado del servidor

(para permitir conexiones a bases de datos, por ejemplo) y del lado del cliente (in-

cluidos en la paginas Web para realizar acciones de diversa ındole). Los controles

ActiveX estan limitados al empleo de navegadores Web de Microsoftr -Internet

Explorerr- y a plataformas Windowsr.

2. Applets de Java: son componentes de software escritos en lenguaje Java que

corren en el contexto de otro programa, por ejemplo un navegador Web. Los

Applets de Java son utilizados para proveer caracterısticas interactivas que no

pueden se proporcionadas por el HTML. Son descargados desde un servidor Web

(como aplicaciones independientes o embebidos en una pagina Web) y ejecutados

con un navegador Web en el lado del cliente. Los Applets de Java funcionan de

Page 23: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 15

la misma manera en cualquier plataforma y ofrecen la posibilidad de construir

interfaces en tiempo real. Este tipo de componente requiere que el navegador

tenga el run-time de Java (es decir la maquina virtual de Java o JVM, que es el

interprete general de Java).

3. Virtual Reality Modeling Language (VRML): es un lenguaje de modelado

de mundos virtuales para el desarrollo de interfaces graficas tridimensionales,

disenado particularmente para su empleo en la Web. Consiste en un formato

de archivos de texto en el que se especifican los vertices y las aristas de cada

polıgono tridimensional, ademas del color de su superficie. Para poder interpretar

y ejecutar estos programas es necesario que el navegador en uso tenga instalado

el plug-in correspondiente.

4. Lenguajes interpretados (o lenguajes de script): son los mas utilizados

para anadir interactividad a las paginas Web, pues permiten al disenador de las

paginas manipular datos introducidos a traves de formularios y acceder a eventos

tales como inicios, salidas y clicks de raton. Estos lenguajes tambien proveen de

funciones para cambiar imagenes, reproducir diferentes sonidos, correr programas

alojados en el servidor y otras acciones en respuesta a los eventos registrados. En-

tre los lenguajes interpretados mas utilizados estan: PHP,JSP,ASP y JavaScript.

Adicionalmente, existen otras tecnologıas encargadas de implementar la funcional-

idad cliente-servidor necesaria para el manejo de solicitudes y respuestas del usuario.

Los Java Servlets y los Common Gateway Interface(CGI)son ejemplos de estas tec-

nologıas. En ambos, el navegador Web (cliente) envıa solicitudes al servidor. El servi-

dor procesa la solicitud ejecutando el programa de la aplicacion requerida que reside

del lado del servidor. Los programas de CGI se escriben tıpicamente en Perl o Visual

Basic, mientras que los Java Servlets se escriben en Java. Aunque los programas CGI

fueron el enfoque mas tradicional al inicio, los Java Servlets son mas utilizados en la

actualidad sobre todo en el diseno de aplicaciones para simulacion basada en Web,

pues ofrecen ventajas significativas como: (a) ejecucion en hilos y no en procesos (esto

reduce la carga en el servidor cuando multiples clientes solicitan simultaneamente); (b)

independencia de la plataforma y (c) acceso a todos los API s de Java.

Page 24: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 16

2.3.2 Herramientas para el motor de simulacion

Existen diversas alternativas en lo que se refiere al motor matematico y de simulacion,

que se pueden agrupar segun la naturaleza del nucleo de simulacion (segundo criterio

de diseno de componentes que conforman un laboratorio virtual de simulacion). Ası,

dentro del grupo de las “herramientas orientadas al modelado y la simulacion” progra-

mas como MATLABr, Mathematicar, LabVIEW, Scilab, GNU Octave y SysQuake,

brindan alternativas -algunas mas maduras que otras- adecuadas por su facilidad de

integracion con otros componentes y por su robusta estructura para procesamiento

numerico y calculos matematicos complejos. Igualmente, dentro del grupo de las li-

brerıas especıficas orientadas a la simulacion construidas a partir de lenguajes de alto

nivel de proposito general (como C, C++, Fortran y Java), existen trabajos intere-

santes que han resultado ser muy versatiles para procesos de simulacion didacticos y

de flujo continuo (por ejemplo, aplicaciones de tiempo real). Particularmente, en los

ultimos anos, esfuerzos hechos por investigadores del area de las ciencias enfocados

hacia la programacion, han convertido a Java en una alternativa de manejo numerico

para la elaboracion de recursos de calculo cientıfico, como es el caso de la herramienta

“Easy Java Simulations” creada por Esquembre (2005) y la librerıa JMatlib de Muller

(2003).

A continuacion presentamos una breve descripcion de las alternativas de mas amplia

utilizacion en cada uno de los grupos nombrados anteriormente.

MATLABr de The MathWorks, Inc.

MATLABr es un ambiente de computacion tecnica dotado de un lenguaje de progra-

macion de alto nivel (Mathworks 2005). Esta herramienta, junto con Simulinkr, se

puede considerar de facto como un estandar en el campo del control automatico y de

la simulacion. Sus bondades permiten:

• Analisis de datos y visualizacion

• Calculo numerico y simbolico

• Graficos avanzados y visualizacion

Page 25: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 17

• Modelado y simulacion

• Desarrollo de algoritmos y aplicaciones

• Funcionalidad extensible (integracion con lenguajes de programacion externos)

La funcionalidad de MATLABr como motor de simulacion numerica puede exten-

derse a los ambientes de simulacion Web, bien sea utilizando tecnologıas existentes para

ese proposito (como MATLAB Web Serverr) o proporcionando una solucion propia

(por ejemplo, a traves de Java).

Con fines de comprender bien el contexto en el que seleccionamos las herramien-

tas para construir el laboratorio virtual de simulacion, veremos brevemente en que

consisten estas alternativas.

1. MATLAB Web Serverr es al igual que MATLABr un producto de The Math-

works Inc., que permite desplegar cualquier aplicacion (numerica y/o grafica)

basada en MATLABr a traves de la Web.

Las aplicaciones de MATLABr que corren en el MATLAB Web Serverr pueden

ejecutarse en cualquier maquina virtual con acceso a Internet utilizando un nave-

gador Web como MS Internet Explorer, Netscape o Mozilla Firefox. Como re-

sultado, los usuarios de las aplicaciones no requieren aprender MATLABr, y

MATLABr no necesita estar instalado en la maquina cliente. Las aplicaciones

de MATLABr residen solo en la maquina servidor controlada por el desarrol-

lador, vease la Figura 2.3:

Sin embargo, MATLAB Web Serverr presenta funcionalidad limitada (hardware

de gran capacidad, tiempo de respuesta alto con resultados graficos), ademas del

considerable costo de la licencia y la complejidad para manejar hilos multiples

de ejecucion (poca escalabilidad). Por este motivo, esta alternativa es utilizada

por lo general bajo circunstancias favorables al proposito de la simulacion (y

asumiendo que se puede adquirir la licencia).

Existe otra alternativa basada en Java, mas flexible y economica, como veremos

a continuacion.

Page 26: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 18

Figura 2.3: Funcionamiento de Matlab Web Server

2. JMatLink implementa el segundo enfoque planteado por Klimke (2003) al ref-

ererirse a las formas de acceder a MATLABr desde la Web. JMatLink es un

conjunto de librearias creadas por Muller (1999-2006), desarrolladas como una

DLL (Dynamic Link Library) que hace posible utilizar el motor computacional

de MATLABr dentro de aplicaciones locales de Java, Applets de Java y Servlets

de Java. Todas sus funciones son metodos de la interfaz nativa de Java (JNI por

las siglas del ingles de Java Native Interface) que son soportados por platafor-

mas multiples (Windowsr 95/98/NT/ 2000/XP y UNIX) vease Muller (1999-

2006) y Y.Bai (2003). JMatLink esta definido como una clase, localizada bajo

java.lang.Thread, tal como se muestra en la Figura 2.4:

En la Figura 2.5 podemos observar el despliegue de una aplicacion de prueba

que muestra los principales metodos disponibles en JMatLink para establecer

comunicacion e intercambio de datos (numericos y/o graficos) con MATLABr.

Unificado a un Servlet de Java, JMatLink puede extender la funcionalidad de

Page 27: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 19

Figura 2.4: Jerarquıa de clases de Java en donde se ubica JMatLink

Figura 2.5: Metodos basicos de JMatLink

una aplicacion que utilice MATLABr a la Web, tal como lo muestra la Figura

2.6.

Figura 2.6: Funcionamiento de JMatLink

Page 28: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 20

Sin embargo, JMatLink tambien presenta un par de desventajas como lo son el

grado de complejidad para programar su uso a traves de la Web para muchos

usuarios (requiere un alto nivel de manejo del lenguaje Java), ademas de no

resultar adecuado para simulacion de sistemas en tiempo real (procesamiento

pseudo-batch).

Easy Java Simulations(EJS) de Francisco Esquembre

EJS es un entorno grafico de programacion para el desarrollo de simulaciones cientıficas

con Java disenada para apoyar a las personas involucradas en educacion (estudiantes y

profesores) en areas como ciencias e ingenierıa en la creacion aplicaciones dinamicas e

interactivas de simulacion sin necesidad de un alto perfil en programacion (Esquembre

2005).

EJS permite desarrollar simulaciones interactivas de forma completa en tres pasos,

utilizando una simplificacion del paradigma arquitectonico Modelo-Vista-Controlador

o MVC (Dormido et al. 2004, Esquembre 2005) que basicamente consiste en:

1. Modelo: que comprende la descripcion del modelo matematico en terminos de

variables y relaciones, utilizando las librerıas matematicas de Java,

2. Vista: se refiere a la construccion de la GUI utilizando los elementos graficos de

la herramienta basados en las clases graficas de Java,

3. Controlador: que se encarga de vincular los componentes de la GUI a las vari-

ables del modelo, definiendo las acciones que el usuario puede realizar en la

simulacion.

Originalmente esta herramienta esta disenada para construir aplicaciones locales de

Java o Applets de Java utilizando como motor numerico unicamente a Java. Versiones

recientes han hecho posible utilizar EJS en conjuncion con MATLABr/Simulinkr,

usandolos como el motor numerico interno que describe y resuelve el modelo

matematico, aunque es requisito tener instalado MATLABr en la maquina de forma

local. Actualmente se esta trabajando en el desarrollo de la version de EJS que per-

mite correr aplicaciones que utilizan MATLABr desde la instalacion localizada en el

servidor Web.

Page 29: Simulacion de Sistemas de Control en JAVA:´ Bases

2.3 Herramientas para la construccion de laboratorios virtuales de simulacion 21

Figura 2.7: Paradigma arquitectonico MVC

2.3.3 Herramientas para el servidor Web

En el caso del servidor Web, si bien no se requieren “herramientas” de construccion

en el sentido estricto de la palabra, debe seleccionarse el software adecuado que brinde

la funcionalidad requerida. Los cuatro programas mas populares en el grupo de los

servidores Web se listan a continuacion:

• Apache HTTP Server de Apache Software Foundation.

• Internet Information Services (IIS) de Microsoftr.

• Sun Java System Web Server de Sun Microsystemsr (anteriormente Sun ONE

Web Server, iPlanet Web Server, y Netscape Enterprise Server).

• Zeus Web Server de Zeus Technology.

Page 30: Simulacion de Sistemas de Control en JAVA:´ Bases

2.4 Enfoque metodologico para el desarrollo de laboratorios virtuales de

simulacion 22

Figura 2.8: Funcionamiento de Easy Java Simulations

2.4 Enfoque metodologico para el desarrollo de lab-

oratorios virtuales de simulacion

En ingenierıa, el paso natural para resolver un problema es la comprension de los

elementos e interacciones del sistema en estudio mediante la aplicacion de un modelo

de procesos. Cuando la solucion a nuestro problema consiste en la creacion de software,

tambien empleamos procesos de desarrollo fundamentados en este modelo. Vease la

Figura 2.9.

La ingenierıa de software concentra el modelo de procesos en las metodologıas de

desarrollo. Se entiende por metodologıa de desarrollo al conjunto de procedimientos

(definicion de la forma de ejecutar las actividades en que se dividen los procesos),

tecnicas (utilizadas para aplicar un procedimiento), herramientas (que sirven de apoyo

en la utilizacion de las tecnicas) y soporte documental que ayudan a los desarrolladores

a realizar nuevo software.

Page 31: Simulacion de Sistemas de Control en JAVA:´ Bases

2.4 Enfoque metodologico para el desarrollo de laboratorios virtuales de

simulacion 23

Figura 2.9: Modelo de procesos de ingenierıa (de Jensen y Tonies, 1979)

2.4.1 Metodologıa versus ciclo de vida

Una metodologıa puede seguir uno o varios modelos de ciclo de vida. El ciclo de

vida indica que es lo que hay que obtener a lo largo del desarrollo del proyecto y la

metodologıa indica como hay que obtener los distintos productos parciales y finales

del proyecto.

La utilizacion de una metodologıa adecuada es un factor determinante para alcanzar

el exito en los proyectos de desarrollo de gran escala. Sin embargo, cuando se trata

de proyectos pequenos, la metodologıa se reduce a separar rapidamente la aplicacion

en procesos, cada proceso en funciones, y por cada funcion determinar un tiempo

aproximado de desarrollo.

Es de suma importancia comprender que un laboratorio virtual de simulacion es por

naturaleza un entorno de aprendizaje-ensenanza a distancia, y por consiguiente debe-

mos incluir en la metodologıa de desarrollo los aspectos relacionados con los procesos

educativos a los que se vincula.

Una de las metodologıas mejor adaptadas al tipo de aplicacion que deseamos crear,

Page 32: Simulacion de Sistemas de Control en JAVA:´ Bases

2.4 Enfoque metodologico para el desarrollo de laboratorios virtuales de

simulacion 24

y que muestra claramente la fusion entre los actuales paradigmas de desarrollo de soft-

ware y los aspectos pedagogicos que deben considerarse en los desarrollos educativos,

fue propuesta inicialmente por Galvis (1992) en su libro ”Ingenierıa del Software Ed-

ucativo”, que gracias al auge de los entornos educativos a distancia, fue refinada para

implementaciones basadas en Web en trabajos posteriores, vease (Galvis 1998, Galvis

& Mendoza 1999).

2.4.2 Metodologıa de desarrollo propuesta

La metodologıa que empleamos para desarrollar este proyecto, esta basada casi en su to-

talidad en la metodologıa propuesta por Galvis & Mendoza (1999) para la construccion

de ambientes virtuales de aprendizaje.

La metodologıa que propone Galvis & Mendoza (1999) consiste en un proceso it-

erativo de varias fases las cuales deben llevarse a cabo como lo determina la Figura

2.10.

Las cinco etapas que componen esta metodologıa son analisis, diseno, desarrollo,

evaluacion y administracion.

Analisis

Esta fase debe llevar como resultado a la formulacion de los requerimientos que debera

atender el ambiente virtual de aprendizaje que se desea construir: descripcion de la

aplicacion, restricciones relacionadas con la poblacion objetivo y sus caracterısticas,

areas de contenido y sus caracterısticas, modos de uso de la aplicacion (individual,

grupal, con apoyo de instructor, etc.) y todo lo que el usuario necesita antes de usar

el sistema.

Diseno

El diseno se elabora en base a los resultados de la fase de analisis, tomando decisiones

relevantes de acuerdo con los requerimientos extraıdos. En esta etapa se definen los ob-

jetos, su comportamiento, el proposito de la aplicacion, las restricciones y los escenarios

de interaccion.

Page 33: Simulacion de Sistemas de Control en JAVA:´ Bases

2.4 Enfoque metodologico para el desarrollo de laboratorios virtuales de

simulacion 25

Figura 2.10: Metodologıa de analisis, diseno y desarrollo de ambientes educativos com-

putarizados basados en Internet (Galvis & Mendoza 1999)

El diseno se realiza a tres niveles diferentes: educativo, comunicacional y computa-

cional.

1. Diseno instruccional (educativo): debe incluir los elementos de instruccion

que permitan motivar al usuario, especificar que se aprendera, y proveer las guıas

del proceso de aprendizaje.

2. Diseno de la presentacion (comunicacional): comprende el diseno de la

informacion, diseno de la estructura y elaboracion de un mapa de navegacion.

3. Diseno de la interfaz (computacional): consta de varias tareas como la

definicion formal de cada pantalla, los objetivos, los eventos que la interfaz esta

en capacidad de atender o detectar, los diagramas de la pantallas, cuales objetos

tiene y donde estan ubicados, el listado de las caracterısticas tanto de la pantalla

Page 34: Simulacion de Sistemas de Control en JAVA:´ Bases

2.4 Enfoque metodologico para el desarrollo de laboratorios virtuales de

simulacion 26

como de los objetos que contiene, los enlaces con otros elementos de la interfaz

y finalmente el diagrama de flujo de informacion de la interfaz, que indica la

relacion entre las diferentes pantallas y permite ver la secuencia que se seguira

en la aplicacion.

Desarrollo

De acuerdo con el diseno que se ha realizado y observando los lineamientos planteados

en la fase de analisis, se continua con la fase de desarrollo en el cual se lleva a cabo la

elaboracion del producto final. En esta fase se procede a la integracion de contenidos en

diversos formatos: documentos HTML, documentos PDF, documentos comprimidos,

animaciones, componentes Web, etc.

Evaluacion

En esta fase se quiere determinar cuales son las fallas a nivel de analisis, diseno y

desarrollo, con la finalidad de verificar el correcto funcionamiento de la aplicacion

construida. Esto se consigue mediante diversas pruebas, a saber:

• Prueba de interfaz y de funcionamiento, con la cual se pueden detectar errores

de funcionamiento y fallas en los enlaces.

• Prueba de efectividad, que permite determinar el impacto educativo del producto

final. Se realiza en una situacion real de aprendizaje, utilizandolo como apoyo

instruccional en el desarrollo de un curso normal.

Administracion

La administracion de un ambiente virtual de aprendizaje incluye todo aquello que debe

estar en su lugar para asegurar un funcionamiento correcto del sistema con el mınimo

de problemas y un maximo de satisfaccion de los usuarios. Esta fase consta de varias

actividades:

• Instalacion y configuracion del sistema (setup): que consiste en determinar que

sistema operativo soportara el ambiente de aprendizaje virtual, el servidor de

Page 35: Simulacion de Sistemas de Control en JAVA:´ Bases

2.4 Enfoque metodologico para el desarrollo de laboratorios virtuales de

simulacion 27

HTTP que permite poner en funcionamiento el sitio Web, las estrategias de se-

guridad, el sitio mirror que almacenara la copia exacta del sistema original y

el centro de recursos donde se colocaran todos los materiales ya sean artıculos,

videos, sonidos o software relevantes al curso.

• Administracion antes del curso: refiriendose a la cantidad y calidad de la

preparacion previa que el usuario requiere para aprovechar las bondades del sis-

tema.

Para este trabajo, a lo largo de cada una de las fases, es conveniente introducir

algunos cambios en pequena escala que permitan adaptar la metodologıa a nuestros

propositos particulares. Los mismos son senalados en el Capıtulo 4.

Page 36: Simulacion de Sistemas de Control en JAVA:´ Bases

Capıtulo 3

Caso de estudio: un sistema no

lineal clasico

Una de las formas mas completas de ilustrar academicamente la aplicacion de los

aspectos conceptuales y practicos del control de sistemas dinamicos, son los sistemas

no lineales. En la realidad, casi todos los sistemas son de naturaleza no lineal, sin

embargo la teorıa de control para sistemas no lineales resulta ser mas compleja de

abordar por los estudiantes de cursos basicos de control de procesos. A traves del

ejemplo piloto seleccionado para demostrar el funcionamiento del laboratorio virtual

de simulacion, pretendemos acercar al usuario a una manera sencilla de entender la

aplicacion de estrategias de control de sistemas no lineales tratados bajo un primer

enfoque, como lo es la linealizacion aproximada.

Recordemos que el funcionamiento de las simulaciones en el laboratorio virtual se

fundamentan en el conocimiento de la logica matematica que rige al ejemplo piloto. A

su vez, esta logica puede expresarse en terminos del modelo matematico que describe

la dinamica del sistema y las tecnicas adecuadas de analisis y control, es decir, en el

diseno del sistema de control.

Para disenar un sistema de control, se recomienda seguir una serie de pasos, como

vemos a continuacion:

• Estudiar el sistema (planta) que se desea controlar y obtener informacion adi-

cional acerca de los objetivos de control.

Page 37: Simulacion de Sistemas de Control en JAVA:´ Bases

3.1 Modelado del sistema 29

• Modelar el sistema y simplificar el modelo.

• Analizar el modelo resultante; determinar sus propiedades.

• Decidir, cuales son las variables que hay que controlar (salidas controladas).

• Seleccionar la configuracion de control y decidir cual es el tipo de controlador que

se va a utilizar.

• Decidir las especificaciones de comportamiento, tomando en consideracion los

objetivos globales de control.

• Disenar un controlador.

• Analizar el sistema controlado resultante para comprobar si se satisfacen las

especificaciones y si no se cumplen modificar las especificaciones o el tipo de

controlador.

Esto nos da una idea bien estructurada de como podemos organizar la presentacion

del ejercicio al usuario del sistema (asumiendo que el usuario sigue la misma logica

para el diseno de sistemas de control fuera del ambito del laboratorio).

Con la finalidad de comprender de una forma mas amplia el contexto de teorıa de

control necesario para construir el corazon de este proyecto, en el siguiente apartado

mostramos brevemente algunos conceptos de teorıa de sistemas, el modelado del sistema

no lineal seleccionado como piloto y el diseno de las estrategias que control que se

implementaran.

Como caso de estudio, este modelo, su analisis y el diseno de las estrategias de

control estan basados en un ejemplo mostrado a lo largo del libro ”Control de Sistemas

No Lineales” de Sira-Ramırez et al. (2005).

3.1 Modelado del sistema

Hemos seleccionado un modelo simplificado que puede representar de forma generica a

un sistema aeroespacial (artefacto espacial) o un sistema nautico (barco); llamemosle

nave.

Page 38: Simulacion de Sistemas de Control en JAVA:´ Bases

3.1 Modelado del sistema 30

Supongamos que requerimos controlar la orientacion de la nave, dada por su

posicion angular θ, tal como podemos observar en la Figura 3.1. Como mecanismo

de control tenemos una tobera que forma parte del cuerpo de la nave, que puede girar

sobre un pivote en la base. La direccion de la tobera respecto del eje principal de la

nave esta dada por el angulo β. El angulo β de la tobera cambia de forma proporcional

a u (ley de control). La distancia entre el centro de gravedad (cg) de la nave y el punto

de apoyo de la tobera en el cuerpo de la nave la llamamos L. Suponemos que existe

una fuerza de reaccion debida a la expulsion de los gases de combustion del motor de la

nave. Esta fuerza la llamamos F y esta aplicada sobre el punto de apoyo de la tobera

en el cuerpo de la nave. De esta forma, por efecto de la fuerza F la nave gira en algun

sentido alrededor de su centro de gravedad.

Figura 3.1: Modelo Fısico de la Nave

Nos planteamos como objetivo:

Controlar el angulo de orientacion de la nave. Esto quiere decir que debemos man-

tener en un valor fijo el angulo θ, utilizando como control la velocidad de cambio u del

angulo β de la tobera.

Para modelar la dinamica que rige al sistema de orientacion de la nave, debemos

Page 39: Simulacion de Sistemas de Control en JAVA:´ Bases

3.1 Modelado del sistema 31

obtener una representacion matematica del mismo. De esta forma, modelamos este

sistema a traves de ecuaciones diferenciales.

Los modelos matematicos se obtienen de leyes y relaciones fısicas. Partiendo de la

Ley de Newton fuerza=masa*aceleracion, para nuestro caso:

fuerza de torque=masa inercial*aceleracion angular

Donde:

• Fuerza de torque=fuerza*brazo = Fsin β*L

• Masa inercial=J

• Aceleracion angular= d2θdt2

Ası:

Jd2θ

dt2= F sin β ∗ L (3.1)

La senal de control viene dada por u, que es equivalente a la variacion del angulo

de direccion β de la tobera. Esto lo expresamos ası:

dt= Ru (3.2)

Donde R es una constante equivalente a la ganancia estatica del actuador que

convierte el control u en la velocidad de variacion del angulo β.

Teniendo las ecuaciones (3.1) y (3.2), elegimos las variables de estado del sistema:

x1 = θ ⇒ angulo de orientacion de la nave

x2 = dθdt⇒ velocidad de variacion del angulo de orientacion de la nave

x3 = β ⇒ angulo de orientacion de la tobera respecto al cuerpo de la nave

Y finalmente reescribimos las ecuaciones de estado que representan al sistema no

lineal en funcion de las variables de estado:dx1

dt→ x1 = x2

dx2

dt→ x2 = FL

Jsin x3

dx3

dt→ x3 = Ru

(3.3)

Page 40: Simulacion de Sistemas de Control en JAVA:´ Bases

3.2 Analisis del sistema de control 32

El punto de operacion mas idoneo esta dado por el punto de equilibrio del sistema,

que se obtiene haciendo cero el lado derecho de las ecuaciones de estado definidas por

(3.3): x2 = 0 → x2 = 0

FLJ∗ sin x3 = 0 → x3 = 0

Ru = 0 → u = 0

(3.4)

Como requerimos mantener x1 = θ en un valor fijo conocido, asignamos:

x1 = arbitrario = Θ (3.5)

3.1.1 Restricciones fısicas

Observemos que el valor x3 = ±kπ es tambien solucion matematica del punto de

equilibrio para x3, sin embargo lo descartamos porque carece de significado fısico (es

decir, no es posible posicionar la tobera dentro del cuerpo de la nave). Por esta razon,

debemos restringir el angulo de giro (posicion angular) de la tobera al intervalo −π2

<

x3 < π2.

Adicionalmente supondremos que existe limitacion en los valores de la senal de

control u, los cuales acotamos de forma arbitraria al intervalo −1 5 u 5.

A continuacion, las secciones 3.2 y 3.3 sobre analisis y estrategias de control ex-

puestas en este trabajo solo cubren los aspectos necesarios para comprender el contexto

del ejemplo piloto, y su proposito principal es dar una idea sobre la forma en que puede

trasladarse al laboratorio virtual de simulacion. Para una explicacion mas extensa y

detallada sobre teorıa de sistemas dinamicos y control de sistemas no lineales refierase

a Ogata (1998), Kuo (1996) y a Sira-Ramırez et al. (2005).

3.2 Analisis del sistema de control

Es necesario hacer un analisis que nos permita entender la naturaleza del sistema con el

que trabajamos, conocer cuales son sus componentes y como interactuan entre sı. Esto

Page 41: Simulacion de Sistemas de Control en JAVA:´ Bases

3.2 Analisis del sistema de control 33

nos llevara a caracterizar de una forma mas clara la respuesta del sistema en el tiempo,

en funcion de la cual podremos orientar el diseno del controlador mas adecuado para

el modelo en estudio.

Ası, comenzando nuestro analisis, tenemos:

Tipo de sistema:

• No lineal,

• Invariante con el tiempo (es decir, los parametros que caracterizan al sistema son

estacionarios con respecto al tiempo),

• En tiempo continuo,

• Con una entrada y una salida (SISO)

• De 3er orden.

Objetivos de control: disenar un sistema de control de posicion de la nave, dada

por su angulo de orientacion θ.

Componentes del sistema de control:

• Variables de estado: x1, x2 y x3. Vease seccion de modelado.

• Variable de entrada: se refiere a la senal actuante u designada para afectar el

valor de la variable controlada.

• Variable de salida: se refiere a la condicion que se controla, es decir, la variable

controlada y = x1.

Aunque no entra dentro del proposito de este documento explicar los fundamentos

de la teorıa de control, en las siguientes subsecciones mostraremos algunos conceptos y

expresiones que mas adelante utilizaremos para construir los algoritmos de calculo que

permitiran sostener las simulaciones del laboratorio virtual.

Page 42: Simulacion de Sistemas de Control en JAVA:´ Bases

3.2 Analisis del sistema de control 34

3.2.1 Especificaciones de la respuesta temporal

Para la aplicacion de tecnicas de diseno de control, las especificaciones temporales se

expresan en terminos de desempeno transitorio y en estado estable. En teorıa de control

las especificaciones temporales estan dadas para sistemas lineales y pueden estudiarse

utilizando como entrada de prueba a la funcion escalon unitario.

Respuesta transitoria: parte de la respuesta que tiende a desaparecer (a cero)

cuando el tiempo se hace grande. La definimos para este ejemplo en funcion de:

• Sobredisparo maximo Mp: se refiere al valor pico maximo de la curva de respuesta,

medido a partir de la unidad.Esta dado por la expresion:

Mp = e−π( ζ√

1−ζ2)

(3.6)

• Tiempo pico tp: es el tiempo requerido para que la respuesta alcance por primera

vez su valor maximo.Esta dado por la expresion:

tp =π

ωn(√

1− ζ2)(3.7)

• Tiempo de asentamiento ts: es el tiempo que se requiere para que la curva de

respuesta alcance un rango alrededor del valor final. Esta dado por la expresion:

ts =4

ζωn

(3.8)

Respuesta en estado estable: indica donde termina la salida del sistema cuando

el tiempo se hace grande. La definimos para este ejemplo en funcion del:

• Error en estado estable ess: se refiere a la diferencia entre la respuesta en estado

estable y el valor de referencia deseado. Tomando en cuenta que nuestro sistema

es estudio es de tipo 0, es decir, no tiene polos en el origen (como lo veremos las

adelante luego de la seccion de linealizacion), el error en estado estable esta dado

por la expresion:

ess =R

1 + Kp

(3.9)

Donde R es la magnitud de la senal de entrada y Kp la constante de error de

posicion.

Page 43: Simulacion de Sistemas de Control en JAVA:´ Bases

3.2 Analisis del sistema de control 35

A partir de las especificaciones de respuesta temporal es posible crear polinomios

en lazo cerrado con las caracterısticas de respuesta deseadas, pues los polos para un

sistema de 3er orden pueden ser asignados como nos muestra la Figura 3.2:

Figura 3.2: Ubicacion de los polos en el plano complejo s a partir de ζ y ωn.

Donde:

• c = ωd = ωn ∗√

1− ζ2, es la parte imaginaria de un polo complejo

• b = ζωn, es la parte real de un polo complejo

• a = α, es un polo real puro

por lo que deducimos que polo complejo en el plano izquierdo s se expresa como:

so = −b± cj (3.10)

Un sistema es definido no lineal cuando las magnitudes de las senales se extienden

mas alla del intervalo de porcion lineal. Por lo general, gran parte de la teorıa basica de

analisis, diseno y control esta orientada a los sistemas lineales, debido a la complejidad

matematica que exhiben los sistemas no lineales. Es por ello que las tecnicas mas

elementales de control de sistemas no lineales proponen disenar primero controladores

Page 44: Simulacion de Sistemas de Control en JAVA:´ Bases

3.2 Analisis del sistema de control 36

en base a un sistema “linealizado”, que luego se aplican al sistema no lineal para su

evaluacion o rediseno mediante simulacion (Kuo 1996).

En terminos de un sistema “linealizado” si tendrıa entonces sentido entender los

requerimientos de diseno del sistema de control mediante la ubicacion de polos (al

menos de forma teorica), pues solo bajo estas circunstancias lineales (e invariantes

en el tiempo) es posible obtener una funcion de transferencia cuyo polinomio en lazo

cerrado guie la respuesta deseada del sistema. La siguiente subseccion cumple con los

pasos necesarios para obtener la version linealizada por aproximacion del sistema en

estudio.

3.2.2 Linealizacion aproximada

Es importante tener presente que los modelos linealizados responden al comportamiento

del sistema unicamente alrededor del punto (de equilibrio) alrededor del cual se realizo

tal linealizacion.

Las variables de estado linealizadas alrededor del punto de equilibrio dado por (3.4)

y (3.5) son:

x1δ = x1 −Θ

x2δ = x2

x3δ = x3

uδ = u

(3.11)

De esta manera reescribimos las ecuaciones de estado que representan al sistema

linealizado de forma aproximada en funcion de las variables de estado dadas por (3.11):˙x1δ = x2δ

˙x2δ = FLJ∗ x3δ

x3 = Ruδ

(3.12)

Finalmente, las ecuaciones de estado obtenidas anteriormente se pueden representar

matricialmente mediante la expresion general de un sistema lineal:

Xδ = AXδ + BUδ (3.13)

Page 45: Simulacion de Sistemas de Control en JAVA:´ Bases

3.2 Analisis del sistema de control 37

donde A y B corresponden a las matrices de coeficientes de estado y de entrada re-

spectivamente.

De igual manera, la salida del sistema esta dada por:

Yδ = CXδ (3.14)

donde C corresponde a la matriz de coeficientes de la salida.

Las siguientes subsecciones comprenden caracterısticas como controlabilidad y ob-

servabilidad que son determinantes para la utilizacion de ciertas estrategias de control

en el desarrollo de este ejemplo piloto.

3.2.3 Controlabilidad

Para aplicar estrategias de control por realimentacion del vector de estado, se requiere

saber si el sistema en estudio cumple con la condicion de controlabilidad. Ası, matem-

aticamente hablando, un sistema bajo la forma (3.13) es controlable, si su matriz de

controlabilidad dada por:

Co = [ A AB A2B ] (3.15)

tiene rango completo (lo que implica que el determinante es distinto de cero 6= 0) 1.

Al evaluar el determinante de la matriz de controlabilidad obtenemos que:

| Co |= −FLR

J

2

∗R 6= 0 (3.16)

para todos los valores fisicamente aceptables de los parametros F, L, R y J. De esto

deducimos que este modelo es siempre controlable.

3.2.4 Observabilidad

Para garantizar que funcione la aplicacion de estrategias de control por realimentacion

utilizando observadores de estado (estimadores de los estados que definen un sistema),

es necesario asegurar que se cumple con la condicion de observabilidad. De forma

1Esto es equivalente a decir que el par matricial A y B es controlable. Detras de esta afirmacionexisten teoremas en teorıa de control que sustentan el uso de estos argumentos matematicos

Page 46: Simulacion de Sistemas de Control en JAVA:´ Bases

3.3 Estrategias de control 38

analoga a la matriz (3.15), si la matriz O mostrada en (3.17) es de rango completo el

sistema linealizado definido por (3.13) y (3.14) es observable.

O = [

C

CA

CA2

] (3.17)

Al evaluar el determinante de la matriz de controlabilidad obtenemos que:

| O |= FL

J6= 0 (3.18)

para todos los valores fisicamente aceptables de los parametros F, L y J. Este resultado

nos permite afirmar que es posible construir un observador para el sistema en estudio

en su forma linealizada con un error asintoticamente estable a cero.

3.3 Estrategias de control

El conocimiento del modelo matematico nos guıa a abordar maneras de “influir” en el

comportamiento del sistema (Sira-Ramırez et al. 2005). Nos referimos a las estrategias

de control.

En nuestro caso como los ındices de desempeno del sistema estan dados en terminos

de variables de estado lo mas adecuado es utilizar estrategias de control moderno, es

decir metodos en el espacio de estados.

Las estrategias de control en espacio de estados consideradas en este ejemplo piloto,

estan dirigidas a la realimentacion de variables de estado como mecanismo de control,

y se fundamentan en la ubicacion de los polos para la construccion del polinomio en

lazo cerrado que representa a la dinamica deseada del sistema. La posicion de los polos

es determinada en funcion de especificaciones de desempeno temporal que resultan

mas adecuadas para estudiar los sistemas no lineales ya que brindan informacion mas

directa sobre la forma en que se comporta el sistema.

En las siguientes subsecciones omitimos la explicacion detallada sobre los funda-

mentos matematicos que sostienen el diseno de las estrategias de control, por estar

fuera del proposito de este documento.

Page 47: Simulacion de Sistemas de Control en JAVA:´ Bases

3.3 Estrategias de control 39

3.3.1 Estrategia I: control por realimentacion del vector de

estados

Esta estrategia supone que todas las variables de estado son medibles y estan disponibles

para realimentacion. La accion de control tiene la finalidad de restituir al sistema ante

pequenas perturbaciones.

Requisitos de la tecnica

Esta tecnica requiere que el sistema en estudio en su forma linealizada sea comple-

tamente controlable, pues si todos los estados son controlables es posible ubicar en

cualquier posicion deseada a los polos en lazo cerrado mediante realimentacion del

estado utilizando una matriz de ganancias.

Este enfoque de control propone convertir al sistema no lineal en un sistema lineal-

izado expresado en funcion de variables de estado incrementales que se realimentan al

sistema de la forma mostrada en la Figura 3.3.

Figura 3.3: Diagrama de bloques del control lineal por realimentacion del vector de

estado para sistemas no lineales

Una vez que hemos procedido a:

1. Linealizar de forma aproximada alrededor de un punto de equilibrio al sistema

no lineal en estudio (vease la Seccion 3.2.2),

Page 48: Simulacion de Sistemas de Control en JAVA:´ Bases

3.3 Estrategias de control 40

2. Comprobar que el sistema linealizado es controlable (vease la Seccion 3.2.3),

es posible proponer la ley de control por realimentacion del vector de estados como

sigue:

Uδ = −KXδ → uδ = −K1x1δ −K2x2δ −K3x3δ (3.19)

de esta manera, sustituyendo la ley de control en el sistema dado por la expresion

matricial (3.19) (sistema lineal en lazo abierto) obtenemos la expresion del sistema

autonomo (sistema lineal en lazo cerrado):

Xδ = −AcXδ (3.20)

Ahora, ¿que valores debemos asignar al vector de coeficientes K1, K2, K3?

En otras palabras, ¿que ganancias debemos asignar a cada variable de estado real-

imentada con la ley de control?

Como expusimos anteriormente, estos valores estan dados en funcion de la ubicacion

de los polos en lazo cerrado a partir de las especificaciones temporales (respuesta tran-

sitoria y respuesta en estado estable), vease Seccion 3.2.1). Procedemos de la siguiente

manera:

Por igualacion del polinomio caracterıstico del sistema autonomo:

P (s) = |sI − A + BK| = s3 + (RK3)s2 + (FLR

JK2)s + FLR

JK1

y el polinomio caracterıstico deseado (igualmente en lazo cerrado):

Pd(s) = s3 + (2ζωn + α)s2 + (ωn2 + 2ζωnα)s + 2αωn

2

obtenido de las especificaciones de respuesta temporal que definen el desempeno

deseado del sistema, resolvemos que:K1 = αω2

nJFLR

K2 = (ωn2+2ζωnα)J

FLR

K3 = 2ζωn+αR

(3.21)

Por lo tanto, el controlador lineal que estabiliza al sistema en su punto de equilib-

rio(3.4) es:

Page 49: Simulacion de Sistemas de Control en JAVA:´ Bases

3.3 Estrategias de control 41

Uδ → u = −K1(x1 −Θ)−K2x2 −K3x3 (3.22)

3.3.2 Estrategia II: control por realimentacion con observador

dinamico de estados

Esta estrategia supone que no todas las variables de estado son medibles, por que es

necesario ´´estimarlas”. Las estimaciones del vector de estado del sistema linealizado

se hacen en base a las mediciones de las variable observadora (por lo general la varible

de salida) y los valores de control. Para este ejemplo piloto disenamos un observador

de orden completo.

Requisitos de la tecnica

Para aplicar esta tecnica se requiere que las variables de estado que se van a estimar

sean observables.

Este enfoque de control propone convertir al sistema no lineal en un sistema lineal-

izado expresado en funcion de variables de estado incrementales, para el cual constru-

imos un observador de estado (equivalente a tener un estimador de los valores de las

variables de estado) que se realimenta al sistema de la forma mostrada en la Figura

3.4.

Para el sistema en estudio, supondremos que conocemos: x1 (orientacion de la nave)

y el estado de equilibrio del sistema (3.4). En consecuencia conocemos como salida del

sistema linealizado el estado incremental: yδ = x1δ.

Una vez que hemos procedido a :

1. Linealizar de forma aproximada alrededor de un punto de equilibrio al sistema

no lineal en estudio (vease la Seccion 3.2.2),

2. Comprobar que el sistema linealizado es controlable (vease la Seccion 3.2.3),

3. Comprobar que el sistema linealizado es observable (vease la Seccion 3.2.4),

es posible proponer la ley de control por realimentacion con un observador de Lu-

enberger como sigue:

Page 50: Simulacion de Sistemas de Control en JAVA:´ Bases

3.3 Estrategias de control 42

Figura 3.4: Diagrama de bloques del control lineal por realimentacion del vector de

estado para sistemas no lineales, con un Observador dinamico de estado

˙δX = AXδ + BUδ + L(Y δ − Y δ) (3.23)

donde Xδ = X − X y el vector de salida es:

Yδ = CXδ (3.24)

Ahora, ¿que valores debemos asignar a los elementos L1, L2, L3 del vector de L?

Tales elementos corresponden a ganancias, cuyos valores deben elegirse de forma

que el error de observacion dado por la dinamica autonoma:

Eδ = (A− LC)Eδ (3.25)

sea asintoticamente estable. Para cumplir con la premisa de estabilidad, debe

garantizarse que el polinomio caracterıstico de 3.25 dado por:

Pe(s) = |sI − A + LC| = s3 + (L1)s2 + (L2)s +

FL

JL3 (3.26)

tenga sus raices ubicadas en el semiplano izquierdo. Entonces bastarıa elegir un

polinomio (tambien autonomo) con las raices ubicadas en la posicion deseada para

lograr la estabilidad, digamos:

Page 51: Simulacion de Sistemas de Control en JAVA:´ Bases

3.3 Estrategias de control 43

Pde(s) = s3 + (γ1 + γ2 + γ3)s2 + (γ1 ∗ γ2 + γ1 ∗ γ3 + γ2 ∗ γ3)s + γ1 ∗ γ2 ∗ γ3 (3.27)

y finalmente igualarlo al polinomio 3.27.

Ası, obtenemos: L1 = γ1 + γ2 + γ3

L2 = γ1 ∗ γ2 + γ1 ∗ γ3 + γ2 ∗ γ3

L3 = JFL∗ γ1 ∗ γ2 ∗ γ3

(3.28)

Por lo tanto, con los valores calculados para L y alimentando la ley de control U

deducida con el metodo I, la estimacion del vector de estado se acercara lo maximo

posible al valor verdadero del vector de estado del sistema.

En el siguiente capıtulo, vemos como se construye el laboratorio virtual para simu-

lacion de sistemas de control, tomando como ejemplo piloto el sistema no lineal expuesto

anteriormente.

Page 52: Simulacion de Sistemas de Control en JAVA:´ Bases

Capıtulo 4

Desarrollo del laboratorio virtual

para simulacion de sistemas de

control

El desarrollo de un ambiente virtual de aprendizaje difiere de los desarrollos Web

clasicos, pues implica la creacion de una estructura orientada por el componente ed-

ucativo. En proyectos de mayor escala, los laboratorios virtuales incluyen contenidos

mucho mas elaborados (escenarios para varios tipos de usuarios, mecanismos de super-

vision virtual del proceso de aprendizaje, por ejemplo). Debido a que el laboratorio

virtual en el cual enmarcamos nuestras simulaciones de sistemas de control tiene una

dimension ilustrativa (reducida a la implementacion de la simulacion de un ejemplo

piloto), el desarrollo metodologico se aborda de una forma intuitiva y poco formal,

haciendo enfasis principalmente en las primeras 3 fases de la metodologıa propuesta

por Galvis & Mendoza (1999).

Con fines de poner este trabajo en un solo contexto, al entorno de simulacion

de sistemas de control enmarcado dentro de un laboratorio virtual le llamaremos en

edelante Laboratorio Virtual para Simulacion de Sistemas de Control o LVSSC.

Page 53: Simulacion de Sistemas de Control en JAVA:´ Bases

4.1 Analisis 45

4.1 Analisis

Antes de disenar y por consiguiente desarrollar un laboratorio virtual, es indispensable

llevar a cabo un analisis extensivo del contexto en el cual vamos a implementar el sis-

tema, atendiendo a las diferentes necesidades educativas, funcionales y de informacion

de los usuarios.

El analisis del LVSSC esta dirigido a satisfacer las dos etapas presentadas a contin-

uacion.

4.1.1 Etapa 1: descripcion y dominio de la aplicacion

Dominio

El sistema que buscamos desarrollar es un laboratorio virtual para simulacion, desti-

nado a formar parte de los recursos de apoyo didactico complementario en la realizacion

de practicas de sistemas de control.

En principio, el LVSSC esta dirigido a ser utilizado por alumnos de Ingenierıa

de Sistemas, mencion Control de Procesos, de la Universidad de Los Andes (Merida,

Venezuela). Sin embargo, bien podrıa ser utilizado por usuarios de cualquier lugar del

mundo con un perfil educativo similar.

El LVSSC, en su fase funcional, esta orientado a apoyar varios procesos. Desde un

punto de vista global, estos procesos son de dos tipos:

1. Proceso informativo: concebida como un conjunto de actividades de recepcion

y transmision de informacion referida a lo que es el LVSSC y como funciona.

2. Proceso formativo (o educativo): entendido como el conjunto de actividades

que convierten al LVSSC en un recurso de ensenanza–aprendizaje.

Ambos procesos se realizan dentro del unico escenario del LVSSC, definido para los

usuarios en general.

Analisis de los objetivos

Los objetivos expuestos como resultado del analisis, estan ıntimamente relacionados a

los objetivos de este proyecto, pudiendo cubrir aspectos educativos y funcionales.

Page 54: Simulacion de Sistemas de Control en JAVA:´ Bases

4.1 Analisis 46

Como objetivos del sistema establecemos:

• Superar las limitaciones “espacio-temporales” de los laboratorios tradicionales.

• Crear un ambiente virtual que sirva como suplemento al aprendizaje de los as-

pectos practicos de los sistemas de control.

• Cubrir aspectos basicos de modelado y analisis de sistemas, y diseno de contro-

ladores utilizando esquemas modernos de control.

• Suministrar un medio flexible e interactivo que permita obtener vistas multiples

de un sistema de control ante la variacion de parametros.

• Crear oportunidades para que el usuario explore y aprenda guiados por su

conocimiento teorico y por su curiosidad, permitiendoles cometer errores, sin

riesgos de dano a experimentos o plantas reales.

• Facilitar la comprension de los aspectos teoricos de sistemas de control. Es-

pecıficamente se busca lograr que el usuario aborde sin problemas cada una de

las fases de control de sistemas, en particular el diseno de los controladores que

hacen que el sistema responda de una forma deseada y su relacion directa con los

parametros fısicos del modelo en estudio.

Analisis de contenidos y medios

Para cumplir con algunos de los objetivos expuestos anteriormente, los contenidos del

LVSSC deben agruparse en funcion de los procesos que apoyan, es decir los procesos

informativos y formativos.

La estructura del LVSSC “visible” al usuario, se construye en base a estos con-

tenidos. De esta manera, los contenidos que apoyan a los procesos informativos abar-

can:

• Presentacion del LVSSC. Aquı exponemos que es el laboratorio virtual, quien

puede utilizarlo y cuales son sus aplicaciones.

• Descripcion de las simulaciones, su funcionamiento y la forma correcta de inter-

actuar con los elementos que la conforman.

Page 55: Simulacion de Sistemas de Control en JAVA:´ Bases

4.1 Analisis 47

Y finalmente los contenidos que apoyan a los procesos formativos comprenden:

• Desarrollo de los aspectos de modelado, analisis, diseno y control, aplicados a

cada uno de los ejercicios que conforman al LVSSC. Esto establece la base teorica

necesaria para las simulaciones de los ejercicios de sistemas de control.

• Implementacion de la GUI interactiva que permite llevar a cabo las simulaciones.

Los medios utilizados para desplegar los contenidos pueden ser expositivos o inter-

activos. Ası para el LVSSC, pudieramos utilizar elementos de texto plano colocado

en paginas en HTML, imagenes en formatos ligeros (JPEG, GIF) y componentes Web

interactivos del lado del cliente o del lado del servidor.

Analisis de los usuarios

En este contexto, entendemos por usuario a la persona que interactua con los con-

tenidos del LVSSC. El perfil de los usuarios del LVSSC esta dado como mınimo por las

siguientes caracterısticas:

• Son estudiantes universitarios de pregrado de materias afines sistemas de control.

• Tienen nociones de modelado, simulacion y control de sistemas. De esta forma

queda sobreentendido que cuentan con los conocimientos matematicos y de

calculo necesarios para resolver operaciones matriciales y ecuaciones diferenciales.

• Tienen el conocimiento y la practica necesaria para interactuar con ambientes

computarizados.

• Son personas dispuestas a asumir un papel mas activo y participativo en su pro-

ceso educativo mediante la exploracion, la formulacion de hipotesis y validacion

practica de los aspectos teoricos.

Analisis del ambiente de trabajo/estudio

Tomando en cuenta que el sistema que deseamos desarrollar esta basado en Web, los

usuarios deberıan poder realizar las practicas con el LVSSC en cualquier lugar (en sus

Page 56: Simulacion de Sistemas de Control en JAVA:´ Bases

4.1 Analisis 48

casas, en la universidad o en cualquier espacio cibernetico publico o cyber), a traves

del navegador Web de un computador conectado a Internet o cualquier otra red en la

que se encuentre el servidor que aloja el sistema.

El sistema puede ser utilizado por los usuarios de forma individual o grupal, preferi-

blemente con el apoyo de un instructor (el docente de alguna materia de sistemas de

control por ejemplo) quien podrıa proponer un conjunto de actividades que permitan

orientar las experiencias con el laboratorio virtual para simulacion, y ası favorecer el

aprovechamiento de sus recursos.

Los instructores deben tener en cuenta que el exito de un sistema de aprendizaje

basado en Web depende en gran medida de la interaccion que se lleva a cabo durante

el mismo. Por ello, el instructor, mas alla de su papel de transmisor de conocimiento,

pasa a ser un guıa o facilitador del proceso de educativo de los usuarios dentro del

ambiente de aprendizaje virtual.

Analisis de la infraestructura tecnologica

Para hacer funcional el LVSSC, necesitamos disponer de:

• Un computador (servidor) con espacio en disco duro para alojar a los archivos

y programas que conforman al laboratorio de simulacion desarrollado en su to-

talidad, habilitado con un software para manejar comunicaciones con usuarios

multiples a traves de protocolos HTTP (servidor Web), y dotado de la capaci-

dad de procesamiento necesaria para soportar el funcionamiento del laboratorio

virtual

• Conexion a Internet

De la misma forma, para poder utilizar el LVSSC, el potencial usuario necesita

disponer de:

• Un computador, en cualquier plataforma, dotado con una aplicacion software

que permita visualizar documentos de hipertexto (navegador Web), que ademas

tenga soporte de graficos

• Conexion a Internet

Page 57: Simulacion de Sistemas de Control en JAVA:´ Bases

4.1 Analisis 49

Finalmente cabe destacar, que de ser posible, el LVSSC deberıa funcionar de forma

optima con una infraestructura basada en cualquier plataforma de uso general, tanto

en el lado del usuario (cliente) como en el lado del servidor.

4.1.2 Etapa 2: requerimientos del sistema

Segun el glosario del IEEE (Institute of Electrical and Electronics Engineers), un re-

querimiento es: (a) una condicion o necesidad de un usuario para resolver un problema

o alcanzar un objetivo, (b) una condicion o capacidad que debe estar presente en un

sistema o componentes del sistema para satisfacer un contrato, estandar, especificacion

u otro documento formal.

Los requerimientos pueden dividirse en requerimientos funcionales y requerimientos

no funcionales. Los requerimientos funcionales definen las funciones que el sistema sera

capaz de realizar. Los requerimientos no funcionales tienen que ver con caracterısticas

que de una u otra forma puedan limitar al sistema.

Atendiendo al analisis mostrado en la etapa 1, y tomando como base los objetivos,

procedemos a establecer los requerimientos que el LVSSC deberıa satisfacer en su etapa

funcional.

Requerimientos funcionales

1. El LVSSC debe permitir configurar una simulacion a partir de la especificacion

de los parametros del modelo matematico del sistema y los parametros del con-

trolador.

2. El LVSSC debe permitir modificar los parametros del modelo matematico del

sistema en estudio.

3. El LVSSC debe permitir modificar los parametros del controlador.

4. El LVSSC debe poder resolver las ecuaciones diferenciales de primer orden

(tambien llamadas ODEs, por sus siglas en ingles de Ordinary Differencial Equa-

tions) utilizadas para definir los estados del sistema.

Page 58: Simulacion de Sistemas de Control en JAVA:´ Bases

4.1 Analisis 50

5. El LVSSC debe permitir visualizar la respuesta de la simulacion en forma grafica

y/o numerica. La respuesta debe ser proporcional a los parametros introducidos

por el usuario y debe estar definida en terminos de la variable de control y la

variable controlada.

6. El LVSSC debe permitir controlar el inicio y duracion de la simulacion.

7. El LVSSC debe mostrar de forma estructurada y resumida las fases de modelado

y analisis del sistema en estudio, y diseno e implementacion de los esquemas de

control.

8. El LVSSC debe preferiblemente mostrar la visualizacion de las variables de forma

dinamica y continua a media que el tiempo de la simulacion transcurre.

Requerimientos no funcionales

1. Requerimientos de la interfaz

(a) El LVSSC debe estar estructurado para abordar los ejercicios desde el punto

de vista teorico y practico.

(b) La GUI del LVSSC debe ser sencilla, con modulos organizados de forma que

permitan comprender su funcionamiento de una forma intuitiva.

(c) El sistema debe manejar como entrada datos interpretados de forma

numerica, y debe proporcionar como salida datos de tipo numerico y grafico.

2. Requerimientos de acceso, disponibilidad y escalabilidad

(a) El servidor que aloja al LVSSC, requiere estar conectado a Internet las 24,

para favorecer la accesibilidad desde cualquier lugar y en cualquier horario.

(b) El servidor que aloja al LVSS, debe estar capacitado para soportar conex-

iones de usuarios multiples en forma simultanea.

(c) El LVSSC debe poder ser accedido por cualquier persona, lo que implica

que el servidor permita accesos publicos.

3. Requrimientos de software y hardware

Page 59: Simulacion de Sistemas de Control en JAVA:´ Bases

4.2 Diseno 51

(a) El LVSSC debe poder funcionar bajo cualquier plataforma tecnologica.

(b) Tanto el computador cliente (desde donde trabaja el uasuario) como el servi-

dor (donde se aloja el LVSSC) deben estar conectados a Internet.

(c) Como el LVSSC esta basado en Web, que utiliza el protocolo de comuni-

cacion HTTP, el puerto 80 debe estar habilitado.

(d) El navegador Web del usuario debe tener los plug-ins necesarios para sopor-

tar Applets. Este requerimiento es mandatorio si y solo si se decide incor-

porar Applets de Java como parte de la estructura dinamica del LVSSC.

4. Requerimintos cognitivos

(a) Los usuarios deben recibir orientacion y supervision de un instructor, quien

debe encargarse de guiar el proceso de aprendizaje a traves de actividades

y propuestas.

(b) Los usuarios deben introducirse en los aspectos teoricos basicos que sopor-

tan a los sistemas de control, modelado, tecnicas de analisis y diseno de

controladores antes de entrar en contacto con el LVSSC.

(c) Los usuarios deben tener las habilidades mınimas para interactuar con sis-

temas computarizados y realizar conexiones a Internet.

4.2 Diseno

Teniendo en cuenta los requerimientos del sistema que han sido extraıdos del analisis

inicial, se procede a llevar a cabo el diseno del ambiente virtual de aprendizaje.

En esta etapa se definen los objetos, su comportamiento, el proposito de la apli-

cacion, las restricciones y los escenarios de interaccion.

El diseno se realiza a tres niveles diferentes: educativo, comunicacional y computa-

cional.

4.2.1 Diseno instruccional (nivel educativo)

En esta etapa definimos que hay que ensenar o reforzar y como hay que hacerlo.

Page 60: Simulacion de Sistemas de Control en JAVA:´ Bases

4.2 Diseno 52

Bases del diseno instruccional

A partir de los requerimientos definidos en la etapa de analisis, los procesos que apoya el

LVSSC, los potenciales usuarios y su perfil, definimos los principios deseables a aplicar

desde el punto de vista educativo.

Galvis (1998), citando a F. Chacon (1997), senala que hay un grupo de principios

basicos que dirigen la creacion de ambientes virtuales. Para el diseno instruccional de

nuestro LVSSC consideramos tales principios de la siguiente forma:

• Interactividad persona-computador, asegurando que los medios interactivos esten

directamente relacionados con las dimensiones pedagogicas senaladas.

• Aprendizaje centrado en procesos mas que en contenidos, localizando la activi-

dades del usuario mas en los procesos para generar y utilizar informacion, que en

el cuerpo de informacion mismo.

• Globalizacion, considerando que el acceso al LVSSC puede realizarse desde

cualquier parte del mundo, y que esta disponible a quien decida buscarla por

la red, habilitando al usuario para que los contenidos educativos puedan identi-

ficarse, transferirse localmente, valorarse y aprovecharse segun sus necesidades.

De esta forma definimos el diseno instruccional de nuestro LVSSC, orientandolo a

satisfacer un conjunto de dimensiones pedagogicas de la educacion basada en el uso de

la Web (Galvis 1998), segun se indica en la Figura 4.1.

Las dimensiones pedagogicas establecidas, indican que el LVSSC debe disenarse

para que el usuario:

• Desarrolle el conocimiento de manera interna, dentro de su propia estructura men-

tal conforme obtiene informacion e interactua con su entorno (constructivista).

• Fomente su proceso de aprendizaje mediante comparacion, clasificacion, de-

duccion, analisis, induccion o convencimiento, analisis de errores y analisis de

perspectivas (aprendizaje cognitivo).

• Aborde el problema desde un punto de vista general, para que los conocimien-

tos adquiridos puedan aplicarse con facilidad para resolver planteamientos en

Page 61: Simulacion de Sistemas de Control en JAVA:´ Bases

4.2 Diseno 53

Figura 4.1: Dimensiones pedagogicas del diseno instruccional del LVSSC

situaciones similares pero con estructuras fısicas y variables diferentes (metas

generales).

• Se encuentre motivado a experimentar con el LVSSC, guiada por la curiosidad y

los retos propios de la interpretacion de las variables y los resultados de la sim-

ulacion (motivacion intrınseca); o tomando como base las actividades asignadas

por el instructor (motivacion extrınseca).

Para la aplicacion de las pautas de diseno instruccional fijadas anteriormente, a

continuacion definimos el diseno en el contexto especıfico del sistema en estudio.

¿Que aprendera el usuario?

En general, con el uso del LVSSC se espera que el usuario aprenda como abordar

el control de un sistema en tiempo continuo e invariante en el tiempo, cuya dinamica

puede describirse a traves de un grupo de ecuaciones diferenciales expresadas en funcion

de variables de estado.

Page 62: Simulacion de Sistemas de Control en JAVA:´ Bases

4.2 Diseno 54

Para cumplir con esta premisa, el LVSSC debe presentar a los ejercicios de sistemas

de control en terminos de un conjunto de etapas seguidas desde el punto de vista

teorico y practico: modelado del sistema, analisis del sistema, diseno de controladores,

simulacion.

Cada una de estas etapas esta compuesta por subsecciones como se muestra a

continuacion:

1. Modelado del sistema: muestra la obtencion de las formas matematicas con

las que expresamos el sistema de control y un breve un analisis preliminar. Esta

etapa esta conformada por las subsecciones:

• Modelo matematico, donde se exponga la definicion de las variables de es-

tado y la obtencion de las ecuaciones que describen el comportamiento del

sistema.

• Restricciones fısicas

• Caracterizacion del sistema de control, en terminos del tipo de sistema,

objetivos de control y componentes del sistema de control

2. Analisis del sistema: comprende los aspectos mınimos que se deben conocer

del sistema antes de elegir y disenar las estrategias de control. Esta etapa esta

conformada por las subsecciones:

• Especificacion de la respuesta temporal, en terminos de la porcion transitoria

y estacionaria de la respuesta del sistema.

• Linealizacion (requerida en este caso ya que el ejemplo piloto es no lineal)

• Controlabilidad

• Observabilidad

3. Diseno de controladores: muestra las aplicacion de estrategias de control

seleccionadas sobre el modelo obtenido en una etapa previa. Esta etapa esta

conformada por las subsecciones:

• Control por realimentacion del vector de estados, senalando el principio de

la estrategia y los requisitos para aplicarla.

Page 63: Simulacion de Sistemas de Control en JAVA:´ Bases

4.2 Diseno 55

• Control por realimentacion con observador dinamico de estados, senalando

el principio de la estrategia y los requisitos para aplicarla. 1

4. Simulaciones: constituye el nucleo del LVSSC, pues es aqui donde se desplega

la interfaz interactiva con el usuario. Esta etapa esta conformada por las subsec-

ciones:

• Objetivos de la simulacion

• Conocimientos previos requeridos

• Funcionamiento de la simulacion, donde se explica al usuario como interac-

tuar con la interfaz de simulacion

• Simulacion, donde se presenta la interfaz para introduccion de los

parametros, y despliegue numerico y grafico de la respuesta

lo expuesto anteriormente puede visualizarse a traves de los mapas conceptuales

mostrados en la Figura 4.2.

¿Como aprendera el usuario?

El usuario aprendera segun las dimensiones pedagogicas establecidas para orientar el

diseno instruccional. Basicamente, la esencia de la experiencia de aprendizaje, se centra

en los elementos interactivos de la interfaz, en particular en las simulaciones, pues es a

traves de ellas que el usuario recibe la ”retroalimentacion” de los efectos de sus acciones

sobre el comportamiento del sistema en estudio. Es precisamente esta retroalimentacion

la que favorece el cumplimiento del los objetivos educativos del sistema establecidos

por la pregunta: ¿Que aprende el usuario?.

1Es importante destacar que en este caso, el LVSSC es restrictivo desde el punto de vista educativo,pues tomando en cuenta el caracter “demostrativa” de este trabajo, el diseno solo se dirige a abarcardos estrategias de control. Sin embargo, podrıan hacerse ampliaciones -sin ningun problema- paraintroducir otro tipo de controladores en la etapa de diseno de controladores y desarrollar la interfazque los implemente siguiendo un procedimiento analogo al mostrado en este trabajo. Incluso, podrıanincorporarse al LVSSC otros ejemplos. Observese que esta no es una restriccion de forma sino decantidad. Vease el Capıtulo 3 para conocer los detalles del sistema de control que utilizamos comoejemplo piloto.

Page 64: Simulacion de Sistemas de Control en JAVA:´ Bases

4.2 Diseno 56

Figura 4.2: Mapas conceptuales de las etapas de un ejercicio de sistemas de control

Actividades y evaluacion

Nuevamente, debido al caracter “demostrativo” del LVSSC, este diseno no contempla

mecanismos directos (on line) para evaluar la comprension de los usuarios, mas alla

de la interaccion persona-persona que el instructor debe establecer para monitorear,

enriquecer o corregir las experiencias individuales y grupales de los usuarios.

Igualmente, para este diseno del LVSSC, es tarea del instructor la planificacion y

Page 65: Simulacion de Sistemas de Control en JAVA:´ Bases

4.2 Diseno 57

asignacion de actividades, que apoyen a pensamiento creativo y crıtico de los usuarios

y ayuden a lograr los objetivos trazados. Se propone que las actividades sean: Real-

izables e interesantes. Centradas en preguntas que responder, resumenes para crear,

problemas para solucionar, posiciones para ser formuladas y defendidas Incluyan tareas

de creacion, o cualquier otra actividad que requiera que el alumno procese y transforme

informacion que ha recogido.

De lo expuesto anteriormente, deducimos que el LVSSC debe disenarse para cumplir

con una funcion motivadora, estimulando el analisis deductivo basado en las respuestas

obtenidas ante las acciones de los usuarios, formativa, en apoyo a la presentacion de

determinados contenidos y la organizacion didactica, y evaluadora, permitiendo que los

usuarios participen activamente en su proceso de aprendizaje.

4.2.2 Diseno de la presentacion (nivel comunicacional)

Para establecer la estructura comunicacional, describimos las interacciones desde el

punto de vista del usuario.

Dicho de otra forma, el diseno de la presentacion esta orientado a satisfacer la

“experiencia del usuario” en su proceso de con el sistema.

La experiencia del usuario comprende varias aristas, tal como lo muestra la Figura

4.3.

Si bien los aspectos que comprenden el diseno de la presentacion son de importancia

crıtica en la elaboracion de sitios Web de gran tamano, muy especialmente cuando nos

referimos a la creacion de software (web o no) educativo, escapa del proposito de este

trabajo, la realizacion de un diseno Web minucioso para sitio que alojara al entorno de

las simulaciones.

Por ello, en nuestro caso para el diseno a nivel comunicacional, basta abordar

aquellos aspectos para construir un sistema que facilite al maximo los procesos de

compresion y asimilacion de la informacion presentada a los usuarios en el contexto de

las simulaciones.

El primer paso consiste en darle una estructura general a los contenidos que maneja

el LVSSC.