• No se han encontrado resultados

Modelado de ejercicios para el soporte de simuladores de entrenamiento

N/A
N/A
Protected

Academic year: 2020

Share "Modelado de ejercicios para el soporte de simuladores de entrenamiento"

Copied!
146
0
0

Texto completo

(1)

Modelado de ejercicios para el soporte

de simuladores de entrenamiento

Matías Ezequiel Prado

Camila Robles

TRABAJO FINAL - INGENIERÍA DE SISTEMAS

FACULTAD DE CIENCIAS EXACTAS

UNIVERSIDAD NACIONAL DEL CENTRO DE LA PROVINCIA DE BUENOS AIRES

(2)

Contenidos

Dedicatorias y reconocimientos ... 6

CAPÍTULO 1 ... 7

Introducción ... 7

Motivación ... 8

Objetivos ... 9

Estructura de la tesis ... 9

CAPÍTULO 2 ... 12

Marco Teórico ... 12

Introducción ... 12

Simulación ... 13

Hardware para simulación ... 14

Visualización en simuladores ... 15

Pantallas LED ... 16

Cascos de Realidad Virtual ... 17

CAVE (Cave Automatic Virtual Environment) ... 17

La simulación como herramienta de entrenamiento ... 18

Ventajas para el operador o aprendiz ... 20

Ventajas en el entrenamiento ... 21

(3)

CENACAF: Sistema de Simulación de Conducción Ferroviaria ... 24

Diseño del Módulo Instructor ... 26

Representación del Comportamiento ... 27

Grafos ... 28

Estructura de lista ... 29

Estructuras matriciales ... 30

Máquinas de estado ... 30

Conclusiones del marco teórico ... 32

CAPÍTULO 3 ... 33

Simuladores de conducción ... 33

Introducción ... 33

Sistema simulador de conducción de trenes subterráneos ... 34

Características generales del sistema ... 36

Otros usos del framework... 37

Diseño preliminar de la arquitectura ... 39

Módulo: Visualización y Comportamiento ... 40

Funcionalidad ... 41

Solución ... 41

Desarrollo ... 42

Tecnologías ... 44

(4)

Módulo: Controles e Interfaz ... 49

Funcionalidad ... 49

Solución ... 50

Tecnologías ... 51

Módulo: Instrucción ... 52

Funcionalidad ... 53

Solución ... 54

Arquitectura General ... 55

Máquina de Estados: Diagramación y especificación de ejercicios ... 55

Implementación del framework de simulación ... 58

Creación de ejercicios ... 68

Diseño de ejercicios ... 69

Problemática encontrada en caso particular ... 71

CAPÍTULO 4 ... 73

Desarrollo de la herramienta de edición de ejercicios ... 73

Graph-master ... 76

GraphControl ... 76

Node ... 77

NodeConnection ... 77

NodeItem ... 78

(5)

Implementación de verificaciones y seguimiento de ejecución ... 80

Clase GraphHelper ... 81

Seguimiento de una ejecución ... 87

CAPÍTULO 5 ... 91

Uso de la herramienta de edición de ejercicios... 91

Introducción ... 91

Creación de ejercicios ... 92

Máquina de estado Simple ... 92

Máquina de estado Combinada ... 94

Máquina de estado Principal ... 98

Máquina de estado Satélite ... 99

Merge ... 100

Detección de errores ... 103

Estado inaccesible ... 104

No se puede llegar a un estado final o error ... 105

Ciclo en la máquina de estados ... 105

Existencia de estado error ... 106

Herramienta para debugging de ejercicios ... 107

Utilización de la herramienta ... 109

Seguimiento de ejercicios en tiempo real ... 115

(6)

Conclusiones y trabajos futuros ... 121

Conclusiones ... 121

Trabajos futuros ... 123

BIBLIOGRAFÍA ... 124

ANEXO I ... 127

Instruction Functions ... 127

ANEXO II ... 130

Código de creación de ejercicios en C# ... 130

(7)

Dedicatorias y reconocimientos

(8)

CAPÍTULO 1

Introducción

La tecnología disponible en la actualidad y la disminución de costos de hardware brinda mayores posibilidades de acceder a simuladores, colocando a un individuo en condiciones de selección, entrenamiento y certificación de sus habilidades y competencias en entornos visuales. Existen distintas motivaciones para utilizar un simulador en lugar del equipo real: costo del equipo, costo de operación y de no producción, riesgo de accidente, posibilidad de entrenar situaciones poco comunes o en entornos realistas previamente capturados y digitalizados [1]. Además, la utilización de simuladores aumenta el interés y la motivación por parte de los individuos que reciben capacitación y, como consecuencia, logra un incremento en la transferencia de conocimiento y su retención [2].

(9)

podrá disponer de distintos tipos de ejercicios basados en procedimientos y normativas acordes al tipo de simulación realizada.

El diseño e implementación de estos ejercicios implica un desafío ya que requiere del trabajo en conjunto de expertos técnicos con conocimientos acerca del funcionamiento del simulador, y expertos en el dominio, que serán los encargados de validarlos.

Motivación

El diseño de ejercicios para simuladores de entrenamiento implica una coordinación y comunicación constante entre los desarrolladores y los expertos en el dominio. Esto puede generar costos adicionales, confusión en la interpretación de los requisitos y un mayor tiempo de implementación. Como consecuencia de estas complicaciones surge la necesidad de contar con un software que permita disminuir los riesgos de error en el diseño de ejercicios, facilite su interpretación, provea validaciones automáticas de correctitud y brinde además la posibilidad de diseño de manera gráfica de los ejercicios por parte de un no experto en el desarrollo del simulador, como puede ser un instructor.

(10)

Objetivos

El objetivo es desarrollar una herramienta que soporte la creación, visualización y seguimiento en tiempo de ejecución de ejercicios para un framework de simulación.

Dado que los ejercicios se implementan mediante máquinas de estado, el software permitirá realizar verificaciones de consistencia de las mismas, como también un seguimiento de la ejecución de los ejercicios en tiempo real mediante una interfaz de usuario amigable. Gracias a la interfaz amigable que se pretende crear, será posible crear diversos ejercicios por parte de especialistas del dominio sin necesidad de intermediación, eliminando las malas interpretaciones y el tiempo consumido en coordinar reuniones. Esto también reduce los errores de implementación de ejercicios por parte de los propios desarrolladores. A su vez facilitará la validación de los ejercicios, ya que el evaluador tendrá la posibilidad de realizarlos por sí mismo, y dará la flexibilidad buscada para la evolución a futuro de la complejidad, cambios y agregados de ejercicios.

Otra finalidad de este software es aportar al avance del área de diseño y desarrollo de simuladores de fabricación nacional, con la generación y transferencia de conocimientos y formación de recursos humanos. Esto permitirá la suplantación de importaciones por producción nacional, cuyo avance es necesario y brinda grandes beneficios.

Estructura de la tesis

(11)

En el Capítulo 1 se presenta una breve introducción a la problemática en relación al uso de simuladores para el entrenamiento de operarios y las motivaciones que llevan a la creación de herramientas para lograr los objetivos propuestos.

En el Capítulo 2, a través de definiciones y ejemplos concretos, se detalla el marco teórico que permite el entrenamiento de operarios de diferentes áreas a través de simulaciones y al uso de máquinas de estado para la implementación de ejercicios pedagógicos creados con este fin. Además, se presenta un análisis de la situación actual en el país y el mundo.

En el Capítulo 3, se explica la utilización del simulador de entrenamiento para capacitar operadores de trenes subterráneos. Además, se presentan los aspectos más importantes del framework de simulación desarrollado y la implementación de ejercicios mediante máquinas de estado.

En el Capítulo 4 se presenta en detalle la solución mediante la cual está implementada herramienta de edición de ejercicios SMEditor. Tomando como referencia las bases teóricas mencionadas en los primeros capítulos, el capítulo expone las decisiones que se tomaron al desarrollar la plataforma. Justificando y explicando cada una de ellas, abarca tanto la arquitectura del sistema como soluciones a más bajo nivel.

(12)
(13)

CAPÍTULO 2

Marco Teórico

Introducción

(14)

Simulación

Una simulación es la imitación del funcionamiento de un sistema real durante un intervalo de tiempo [4]. Los simuladores reproducen sensaciones y experiencias que pueden suceder en la realidad.

Un simulador pretende reproducir las sensaciones físicas, como velocidad, aceleración o la percepción del entorno, como también el comportamiento de la máquina que se pretende simular. Para simular las sensaciones físicas se puede recurrir a complejos mecanismos hidráulicos comandados por ordenadores que mediante modelos matemáticos consiguen reproducir sensaciones de velocidad y aceleración.

Los simuladores de equipos y procesos conocidos como de inmersión total, someten al usuario a condiciones visuales, auditivas y de movimiento realistas, permitiendo entrenar o verificar su comportamiento en condiciones extremas, pero sin poner en riesgo su propia integridad ni la del equipo.

(15)

Hardware para simulación

Una de las partes más complejas de los simuladores son los dispositivos capaces de capturar los movimientos del usuario y de transmitir simultáneamente a este las sensaciones táctiles correspondientes a la acción ejecutada. Ejemplos de esto son los volantes de conducción, los pedales de freno, embrague y aceleración, o las palancas de cambio. Estos sistemas deben ser capaces de ejecutar dos funciones en paralelo: capturar la acción del usuario y retroalimentarla con fuerzas, momentos y vibraciones correspondientes, en caso de haberlas.

A estos dispositivos capaces de simular sensaciones táctiles tanto de entrada como de salida entre el computador y el usuario se los denomina dispositivos hápticos, y resultan fundamentales a la hora de transmitir sensaciones realistas de la acción ejecutada sobre un equipo simulado computacionalmente .

La háptica es la ciencia que estudia el tacto, como la óptica lo hace con la vista y la acústica con el oído. De este modo, los dispositivos hápticos son los que simulan una respuesta táctil [5].

Los dispositivos hápticos trasladan la sensación de presencia a un operador que puede tocar, sentir y manipular objetos tridimensionales simulados en un entorno virtual. La complejidad de su tecnología puede variar, pero no por ello lo hace su efectividad. Cuando durante una simulación de conducción sobre grava o a través de una zona de baches el dispositivo con el que se conduce sea un volante, un mando o un joystick, este vibra y reproduce de forma primaria lo que sucedería si esa situación fuera real, entonces estamos frente a un dispositivo háptico.

(16)

En el caso de los simuladores de maquinaria o automoción, la base del funcionamiento de estos dispositivos es la capacidad de enviar información al ordenador a través de alguna terminal externa y recibir, a su vez, una respuesta en forma de sensación física. Esta información que se recibe, en dependencia de si es en un solo punto, por ejemplo la vibración del volante, o si envuelve a todo el cuerpo, como es el caso de una plataforma de movimiento debajo del asiento o de toda la cabina, es lo que conforma una realidad más o menos inmersiva [6].

La complejidad en la respuesta háptica introducida a un sistema simulador dependerá del requerimiento de costo y las capacitaciones a realizar, en algunos casos el sólo hecho de tener instrumental (por ejemplo: palancas, botones o volantes) que en su forma y ergonomía se sientan como los reales es suficiente para lograr el objetivo, teniendo en cuenta que a más complejidad en el hardware, mayores serán los costos de desarrollo del sistema simulador.

Visualización en simuladores

Para que la experiencia del usuario sea completa, es necesario dar una sensación de realismo a la hora de simular el ambiente. De esta manera, el usuario se sentirá más cómodo y motivado al usar el simulador ya que se encontrará en un entorno realista.

(17)

Pantallas LED

Se pueden utilizar pantallas LED de alta definición, ubicadas de forma que el usuario tenga la sensación de estar dentro de la maquinaria que se pretende simular.

Un ejemplo de este tipo de visualización en simuladores es Simex: un simulador de retroexcavadoras desarrollado en el instituto de investigación y desarrollo PLADEMA, de la Universidad Nacional del Centro de la Provincia de Buenos Aires. La Figura 1 muestra la disposición de los monitores respecto del asiento del conductor de excavadoras hidráulicas, que permiten una representación clara de la realidad a simular.

Figura 1: Simex (PLADEMA)

(18)

Industria de la Construcción (IERIC) y Cámara Argentina de la Construcción. Financiado por el Ministerio de Trabajo, Empleo y Seguridad Social de la Nación.

Cascos de Realidad Virtual

Se trata de un casco de realidad virtual que contiene una serie de sensores, tales como acelerómetros, giroscopios y magnetómetros. Uno de los más populares es el Oculus Rift (Figura 2), pero existen varias marcas en el mercado y su costo está disminuyendo. En las últimas versiones de Oculus Rift se incluyó una cámara externa para trackear la posición de la cabeza del usuario. La información de cada uno de estos sensores se combina para determinar el movimiento de la cabeza del usuario en el mundo real y sincronizar la visualización virtual del usuario en tiempo real [7].

Figura 2: Oculus Rift

CAVE (Cave Automatic Virtual Environment)

(19)

Generalmente el usuario lleva gafas estereoscópicas que, sincronizadas con las proyecciones, le permiten ver en 3D las imágenes, e incluso contemplar objetos flotando dentro del cubo que puede observar desde diversos ángulos.

Figura 3: CAVE en la que se visualiza una réplica de las instalaciones de Vaca Muerta (Instituto PLADEMA)

La simulación como herramienta de entrenamiento

Un simulador de entrenamiento permite la repetición de un determinado ejercicio tantas veces como el instructor considere necesario, así como la utilización de la maquinaria en situaciones que no son factibles con el equipo real: operación con fallas del equipo, condiciones meteorológicas extremas, operación en situaciones de presión, entre otras. Estos desarrollos tienen dos fases principales: la de los efectos gráficos de computadora, importantes para que sea impactante sensorialmente; y el modelado numérico mediante el cual se consigue modelar los comportamientos tal como ocurren en la realidad [9].

(20)

embarcación no es lo mismo que la superficie del agua se mueva con ondas convincentes que modelar la fluido-dinámica de esa superficie y considerar el oleaje que produce el paso de una embarcación cercana.

Hasta hace no mucho tiempo, este tipo de capacitación estaba restringida a pilotos de aeronaves y eventualmente a prácticos que manejan grandes embarcaciones. Esto se debía a que el costo de un simulador de realidad virtual era extremadamente alto, al punto que sólo existían una o dos instalaciones de este tipo en el país por las que se debió pagar varios millones de dólares. Hoy en día estos simuladores pueden ser completamente desarrollados aquí a una fracción de su costo internacional y a la medida de los requerimientos locales.

El entrenamiento de operarios es una tarea que representa cierta complejidad. En la etapa de formación no existen herramientas de percepción y prevención de situaciones de riesgo, ya que son factores que se aprenden a base de práctica y monitoreo. En situaciones de peligro, el operador tiende a sentir pánico y a reaccionar de forma inadecuada, porque no existe este paso de la formación teórica a la práctica donde puedan recrear accidentes y emergencias y así aprender los procedimientos adecuados en cada uno de estos casos.

El objetivo principal de un simulador para capacitación es que sus usuarios aprendan a operar máquinas reales sin tener que utilizarlas, evitando así los riesgos asociados a tales operaciones.

(21)

● Costos: La dedicación de unidades de maquinaria para el aprendizaje supone un costo mucho más elevado que el uso de simuladores;

● Riesgos: Ciertos ejercicios benéficos del punto de vista pedagógico/didáctico pueden representar riesgos elevados, o ser irrealizables en un escenario real. Por ejemplo: condiciones meteorológicas, averías, accidentes, límites de cada máquina.

La utilización de simuladores en los procesos de aprendizaje implica una oportunidad para las organizaciones, ya que posee las ventajas descritas a continuación.

Ventajas para el operador o aprendiz

● Aplicación inmediata de lo aprendido en clases teóricas.

● Ambiente de trabajo para el aprendizaje realista y seguro.

● Curva de aprendizaje más rápida.

● Permite un acompañamiento detallado de los operarios por un profesional experto.

● Reducción del tiempo de formación, ya que se usan esquemas de instrucción que favorecen a la asimilación de habilidades en secuencias adecuadas.

● Uso de la maquinaria en situaciones excepcionales, tales como máquinas averiadas, condiciones meteorológicas extremas, situaciones de presión, estrés o emergencias.

(22)

Ventajas en el entrenamiento

● Enfoque en áreas específicas de entrenamiento, con posibilidad de realizar ejercicios repetitivamente.

● Menor costo de entrenamiento.

● Menor tiempo de uso de la maquinaria fuera de sus tareas de productividad.

● Reducción de costos de reparación y mantenimiento.

● Repetición de determinado ejercicio tantas veces cuanto el instructor considere necesario, sin la necesidad de los gastos asociados al uso de una máquina real.

● Capacitación de usuarios para que sepan reaccionar ante situaciones de emergencia y averías de la maquinaria.

● Evaluación objetiva y fiable de los aprendices, facilitando la realización de pruebas de aptitud.

● Condicionamiento de los hábitos de los usuarios durante la operación, mejorando el rendimiento y reduciendo las averías a la maquinaria.

● Tareas de selección de personal, permitiendo realizar exámenes de habilidad y conocimientos de la operación antes de la contratación de personal.

● Seguimiento automatizado de los participantes de las sesiones de capacitación y aprendizaje por medio de la base de datos integrada al sistema [10].

(23)

Este aprendizaje por medio de un plan de estudios con ayuda de un método pedagógico y la posibilidad de vivenciar situaciones que con equipos reales no podría tener, proporciona mayores bases conceptuales al alumno, convirtiéndolo en un profesional en su campo. Es de suma importancia aclarar que el alumno debe acompañar estas prácticas simuladas con experiencia en la máquina real. Gracias a las simulaciones, el uso de la maquinaria real en el entrenamiento se disminuye en gran medida, viéndose menos afectada su productividad debido a que no deberá disminuir su uso para capacitar operarios, lo cual significa menos horas fuera de su trabajo habitual y también en la vida útil de la misma ya que la máquina estará menos tiempo sometida a operarios inexpertos que puedan causar averías por el mal uso.

Todo esto hace de la formación de operarios de maquinaria pesada un proceso pedagógico y profesional, dejando de lado la formación empírica que implica altos riesgos tanto para el principiante como para la máquina.

Simuladores de entrenamiento existentes

El avance de las nuevas tecnologías ha permitido que los simuladores de equipamiento sean cada día más accesibles a las organizaciones y empresas. La complejidad de los procesos laborales actuales hace sumamente necesario capacitar en forma continua a los recursos humanos de las organizaciones. Los procesos de toma de decisiones que involucran equipamientos complejos y costosos tienen en el uso de simuladores una gran herramienta tecnológica para capacitar a los recursos humanos en un entorno lo más parecido a la realidad.

(24)

ejemplos que muestran la variedad de aplicaciones que pueden tener los simuladores de entrenamiento.

SIMUVEG: Simulador de conducción automotriz

Simulador de conducción desarrollado por SINTEC-INTRAS, Universidad de Valencia, España. Utilizado en evaluación de conductores, carreteras, dispositivos IVIS y otras áreas.

El simulador de conducción SIMUVEG (Figura 4) es un sistema avanzado, especialmente diseñado para representar escenas realistas dentro de un entorno inmersivo. El simulador fue desarrollado por el grupo de investigación SINTEC del INTRAS y su instrumental científico fue obtenido mediante la subvención de la Universidad de Valencia.

Figura 4: SIMUVEG Simulador de conducción automotriz

(25)

También dispone de un sistema de audio conectado a un PC que genera sonido 3D y efectos doppler. Sin embargo, la parte más importante del sistema es la estación gráfica que lleva a cabo la generación de las imágenes 3D en tiempo real en función de los datos de los sensores del coche.

El simulador se ha utilizado como herramienta principal en numerosos proyectos con instituciones públicas y empresas privadas [11].

Figura 5: Partes que componen al simulador de conducción SIMUVEG.

CENACAF: Sistema de Simulación de Conducción Ferroviaria

(26)

Figura 6: Simuladores CENACAF

El sistema de simulación consta de:

● Tres puestos de formación, réplicas que recrean en forma total la cabina de conducción del material rodante adquirido a las empresas chinas.

● Cuatro puestos de instructor con capacidad para controlar cualquier número de Puestos de Formación (PF) de manera simultánea.

● Ocho puestos de formación simplificados: Cuentan con pantallas táctiles que emulan los controles de las cabinas de conducción (Permiten una capacitación óptima, pero sin el grado de inmersión que proporciona una cabina réplica).

(27)

Figura 7: Imagen de proyección simulador CENACAF

Diseño del Módulo Instructor

Este módulo es la pieza del sistema simulador con la que interactuará el docente o instructor a cargo de la capacitación, desde la cual se podrá manejar y monitorear uno o varios de los simuladores que interactúan con cada alumno.

Este módulo de software será el que contenga los diferentes ejercicios que se podrán presentar a los alumnos y realizará el control de la correcta realización de ejercicios por parte de los alumnos, permitiendo un seguimiento detallado de ellos por el personal experto, tanto en la operación de la maquinaria como en pedagogía y aprendizaje [13].

(28)

Demostrar: El simulador permite realizar demostraciones por parte de operadores expertos a futuros operadores para una primera toma de contacto.

Instruir: El alumno recibe las indicaciones y las lecciones que le permitirán conocer cuál es la forma correcta de operar.

Practicar: Una vez recibidas las indicaciones oportunas, el alumno deberá practicar las diferentes operaciones y tareas hasta asimilar su correcta ejecución.

Evaluar: Una vez finalizadas las prácticas, los operadores expertos podrán evaluar a los aprendices para ver el progreso de los mismos. Además permite la revalidación de conocimientos periódicamente, como recapacitaciones.

Seleccionar: El simulador puede ser utilizado para una eventual selección de personal.

Para cada una de estas actividades es necesario contar con diferentes tipos de ejercicios, cada uno con características específicas de lo que se desee simular.

Representación del Comportamiento

Para dar soporte a la creación de simuladores fue necesario encontrar una forma de representar su comportamiento. La representación que mejor se adapta a la lógica de pasos y procedimientos que generalmente se quieren ejercitar en un simulador es la de una máquina de estados.

(29)

Grafos

Un grafo se define como un par G = (V, E), donde V es un conjunto de elementos denominados vértices o nodos, y E es un subconjunto de pares no ordenados de vértices y que reciben el nombre de aristas o arcos. Si V = {v1, · · ·, vn}, los elementos de E se representan de la forma {vi , vj}, donde i != j. Vi y Vj se dicen adyacentes si {Vi, Vj} ∈ E. Los elementos de una arista o arco se denominan extremos de dicha arista [14].

Las secuencias de aristas forman caminos o ciclos. Un ciclo es una sucesión de aristas adyacentes, donde no se recorre dos veces la misma arista, y donde se regresa al punto inicial. Se dice que un grafo es conexo si se puede llegar desde cualquier nodo hasta cualquier otro mediante un camino. De lo contrario no es conexo, pero puede dividirse en componentes conexas, que son subconjuntos de nodos y aristas del grafo original que si son conexos. Un grafo conexo sin ciclos es llamado un árbol.

Desde un punto de vista práctico, los grafos permiten estudiar las interrelaciones entre unidades que interactúan unas con otras. Por ejemplo, una red de computadoras puede representarse y estudiarse mediante un grafo, en el cual los vértices representan terminales y las aristas representan conexiones (las cuales, a su vez, pueden ser cables o conexiones inalámbricas).

Prácticamente cualquier problema puede representarse mediante un grafo. Luego se pueden aplicar diversos algoritmos sobre estos grafos para llegar a la resolución de dichos problemas.

(30)

La estructura de datos elegida depende de las características del grafo y de los algoritmos que se elijan para manipular el mismo.

Las dos principales ramas de representación son las listas y las matrices, aunque frecuentemente se usa una combinación de ambas. Los tiempos de ejecución varian en función del número de vértices y el de aristas, por lo que la utilización de una representación u otra dependerá en gran medida de si el grafo es denso (cuando tiene muchas aristas) o disperso (muy pocas aristas) Las listas son preferidas en grafos dispersos porque tienen un uso eficiente de la memoria. Por otro lado, las matrices proveen acceso rápido, pero pueden consumir grandes cantidades de memoria.

Estructura de lista

Lista de incidencia: Las aristas son representadas con un vector de pares (ordenados, si el grafo es dirigido), donde cada par representa una de las aristas.

Lista de adyacencia: Cada vértice tiene una lista de vértices los cuales son adyacentes a él. Esto causa redundancia en un grafo no dirigido (ya que A existe en la lista de adyacencia de B y viceversa), pero las búsquedas son más rápidas, al costo de almacenamiento extra.

(31)

Estructuras matriciales

Matriz de adyacencia: El grafo está representado por una matriz cuadrada M de tamaño n2, donde n es el número de vértices. Si hay una arista entre un vértice A y un vértice B, entonces el elemento M [A, B] es 1, de lo contrario, es 0.

Matriz de incidencia: El grafo está representado por una matriz de A (aristas) por V (vértices), donde [vértice, arista] contiene la información de la arista (1 - conectado, 0 - no conectado)

Máquinas de estado

Una máquina de estados se enmarca dentro de un modelo de comportamiento de un sistema que tiene entradas y salidas. Las salidas dependen tanto de las entradas actuales, como de las anteriores. Una máquina de estados tiene entonces un conjunto de estados que sirven de intermediarios en esta relación de entradas y salidas. Dicha relación hace que el historial de señales de entrada determine en cada instante un estado de la máquina, de tal manera, que la salida dependa únicamente del estado y las entradas actuales. De esta manera, una máquina de estados se denomina Máquina de Estados Finitos (MEF) si el conjunto de estados de la máquina es conocido o finito. Varios podrían ser los ejemplos en los cuales se podrían contextualizar las (MEF), sin embargo, el más popular es la máquina de Turing, la cual se define como una cinta en la que se lee y también se escribe [15].

Es posible clasificar las máquinas de estado en aceptoras o transductoras:

(32)

la secuencia de entrada. En las máquinas de estado aceptoras, los estados con salida "positiva" se denominan estados finales.

Transductoras: Convierten una secuencia de señales de entrada en una secuencia de salida, pudiendo ésta ser binaria o más compleja, dependiendo de la entrada actual, no sólo del estado y pudiendo también prescindir de un estado inicial.

Las máquinas de estado cumplen todos los axiomas de los autómatas finitos. Un autómata finito es un vector de tres elementos M = (I, S, d, F) donde I es el conjunto finito de entradas, S es el conjunto finito de estados el cual no debe ser vacío, d es la función de transición de estados y F es el conjunto finito de estados finales, incluidos en S [16].

Al igual que en las máquinas secuenciales, la representación de los autómatas finitos puede llevarse a cabo de dos formas diferentes: mediante un diagrama de estados o mediante una tabla de estados. De estas dos representaciones, la más intuitiva para una traducción partiendo de unas especificaciones de diseño es el diagrama de estados.

Como se mencionó, estos diagramas de estados pueden ser representados mediante grafos. Los grafos son solo abstracciones matemáticas, pero son útiles en la práctica porque ayudan a resolver numerosos problemas. Estos grafos deben ser acíclicos, ya que en caso de existir ciclos puede darse la situación en la que no se llegue a un estado final.

(33)

Conclusiones del marco teórico

(34)

CAPÍTULO 3

Simuladores de conducción

Introducción

Dentro de la gran variedad de simuladores de conducción se encuentran aquellos que sirven para entrenar a quienes conducen transporte de pasajeros. Se trata de algo particularmente sensible ya que requiere de especial atención en su formación, capacitación y recertificación de conocimientos a través del tiempo.

El entrenamiento de conductores ferroviarios conlleva diferentes problemas tanto desde el punto de vista de la prevención de riesgos laborales como desde una perspectiva de seguridad y prevención de accidentes. La utilización de estos equipos por un usuario inexperto implica un alto riesgo, además de volverse más propensos al deterioro. Por otra parte, la utilización de equipos reales para tareas de entrenamiento supone un alto costo e impedimentos operativos.

(35)

Sistema simulador de conducción de trenes subterráneos

El proyecto de desarrollo del simulador de conducción de trenes subterráneos para la formación de personal surge de un convenio de la Universidad Nacional del Centro de la Provincia de Buenos Aires con Subterráneos Buenos Aires Sociedad del Estado (SBASE). Su ejecución se lleva a cabo en el área Media.Lab del Instituto PLADEMA (perteneciente a la Facultad de Ciencias Exactas), área que es un espacio multidisciplinario centrado en la investigación y desarrollo de aplicaciones de computación gráfica, realidad virtual e interacción humano-computadora [17].

El simulador es capaz de recrear ejercicios de conducción para todo el material rodante de subterráneos de la ciudad de Buenos Aires, principalmente los nuevos trenes de la empresa: CAF6000, Alstom metrópolis, CNR y Nagoya. En particular, el proyecto contempla la fabricación de cuatro puestos de formación con una cabina en tamaño real con controles en hardware y modelos computacionales de comportamiento que simulan cada modelo de tren. Adicionalmente, el sistema incluye nueve puestos micro-simuladores para dar soporte a la ejercitación colaborativa con controles mediante interfaz gráfica. La visual se recrea mediante técnicas de computación gráfica, posibilitando el recorrido virtual de las seis líneas de subte con todas sus estaciones. Desde la Instrucción, el docente formador dispone de distintos tipos de ejercicios basados en procedimientos y normativas de conducción.

(36)

como temporales y tanto en condiciones normales como en condiciones extraordinarias. Permite la simulación de situaciones poco frecuentes o de una complejidad específica.

Entre los desafíos tecnológicos que el proyecto implica, se encuentra el modelado del comportamiento físico de las formaciones, la simulación de los desplazamientos de multitud de personas, la representación en forma realista de varios kilómetros de túneles y vías, y la construcción de la geometría de más de un centenar de estaciones. Todo esto en un sistema que funciona en tiempo real.

El sistema de formación y simulación para conductores de trenes subterráneos es a la vez una herramienta formativa segura y flexible que permite al alumno enfrentarse a situaciones reales y resolver los posibles problemas que surjan en las tareas de conducción, posibilitando la obtención de conocimientos prácticos que permitan evitar o mitigar dichas dificultades.

Dentro de sus objetivos primarios se encuentran:

● La formación recurrente y el perfeccionamiento del personal de conducción, tanto actual como el de los ingresantes futuros.

● Una mejora en la circulación de las líneas de subte de la Ciudad Autónoma de Buenos Aires (C.A.B.A), reflejada en los índices de seguridad.

Como se mencionó, el sistema está diseñado para permitir a los alumnos practicar escenarios en los que se puedan realizar operaciones de explotación de la red de subterráneos de la C.A.B.A, en un entorno real, tanto en situaciones normales de conducción como en las que se degraden por incidentes y en situaciones de emergencia, es por ello que el sistema incluye:

(37)

● Herramientas que faciliten el adiestramiento y la formación en contexto de situaciones de conducción simuladas.

● Réplica con suficiente realismo de las consecuencias de actuación del alumno, en el ámbito de la seguridad.

● Seguimiento histórico de la formación y capacitaciones de cada alumno en el simulador.

Características generales del sistema

El parque de material rodante que contempla el sistema, está compuesto por las siguientes unidades:

● Coches eléctricos CAF Serie 6000 alimentados por 600 Vcc por catenaria rígida, fabricados por Construcciones y Auxiliar de Ferrocarriles (CAF).

● Coches eléctricos Alstom Metrópolis alimentados por 1500 Vcc por catenaria convencional, fabricados y provistos por Alstom.

● Coches eléctricos CNR alimentados por 1500 Vcc por catenaria convencional, fabricados y provistos por CNR-CITIC.

● Coches CNR (Línea A), Coches CAF Serie 6000 (Línea B), Coches Nagoya (Línea C) y Coches Alstom (Líneas D y H).

(38)

Otros usos del framework

Además de utilizar el framework para el simulador de conducción de trenes subterráneos, este provee funcionalidades que permiten la implementación de simuladores de diversos de ámbitos. En la actualidad es utilizado en los proyectos listados a continuación:

SIMEx (2013): Es un simulador que permite el entrenamiento en la operación de una máquina excavadora hidráulica. Surgió de un pedido explícito de la Secretaría de Empleo, del Ministerio de Trabajo y Seguridad Social de la Nación Argentina para ser utilizado en capacitación y formación de operarios. Actualmente el proyecto se encuentra en la fase final de implantación, la cual contempla la colocación de tres unidades del simulador en un camión escuela que recorrerá el país capacitando operarios, generando más y mejor empleo.

(39)

Ingeniería de Petróleo y Perforación (2015): El proyecto contempla el desarrollo e implantación de nueve CAVEs en universidades que componen la Red Nacional de Universidades Petroleras (RUP). Adicionalmente se implementó un Simulador de perforación y un visualizador de datos geológicos. El desafío se centra en interactuar con diversos actores como las universidades nacionales y el sector empresario relacionado a la exploración y perforación de pozos de petróleo como YPF. El relevamiento inicial para el desarrollo del sistema contempló la visita a pozos del complejo Vaca Muerta y entrevistas con ingenieros, geólogos y distintos campos profesionales.

Simulador de Subtes (2015): El simulador es capaz de recrear ejercicios de conducción para todo el material rodante de subterráneos, principalmente los nuevos trenes de la empresa: CAF6000, Alstom, CNR y Nagoya. En particular, el proyecto contempla la fabricación de cuatro puestos de formación con una cabina en tamaño real con controles en hardware y modelos computacionales de comportamiento que simulan cada modelo de tren. El proyecto fue financiado por la empresa Subterráneos de Bs. As. Sociedad del Estado (SBASE), dueña de la red subterránea de la Ciudad Autónoma de Bs. As y será utilizado por la empresa encargada de la operación de los subtes en la ciudad, Metrovías S.A., el concesionario actual que la explota. Los choferes e instructores de Metrovías son los usuarios de este sistema.

(40)

Diseño preliminar de la arquitectura

La arquitectura del software de simulación está compuesta por tres módulos con funcionalidades específicas: visual, controles e instrucción. Estos interactúan mediante un administrador de mensajes que comunica a los distintos módulos del sistema. Cada módulo se suscribe a los mensajes con datos que le son de interés recibir, y el administrador se encarga de distribuir correctamente dichos mensajes y mantener el estado de conexión o desconexión entre cada módulo del sistema.

(41)

Figura 8: Arquitectura Cliente-Servidor del simulador

Módulo: Visualización y Comportamiento

(42)

Funcionalidad

La funcionalidad prevista para el módulo Visualizador corresponde a:

● Visualización realista y eficiente de los escenarios

● Simulación del comportamiento físico de los modelos de coche subterráneos según especificaciones técnicas

● Reproducción de sonidos originados en la cabina del coche, de la interacción del coche con las vías, o provenientes de las estaciones (anuncios, bocinas, murmullo de gente, entre otros)

● Configuración del escenario o del coche de acuerdo a la definición de ejercicios propuestos por el módulo de Instrucción

● Recopilación de información para que el módulo Controles actualice el estado de los indicadores del tablero

● Recepción e interpretación de los comandos provenientes del módulo Controles, para controlar el comportamiento físico del coche

● Visualización de otras formaciones circulando por la línea (línea ascendente o descendente, según corresponda)

● Visualización y animación de personas en los andenes de cada estación. La cantidad de personas depende de la configuración del ejercicio propuesto por el módulo Instructor.

Solución

(43)

del sistema para adaptarse a cambios que surgieron durante el desarrollo o puedan surgir en el futuro, o bien para la inclusión de nuevas líneas de subterráneos, nuevas formaciones de trenes o nueva funcionalidad referente a ejercicios u operatoria.

En la Figura 9 se muestra un esquema de los componentes principales que forman el módulo Visualizador y la interacción entre ellos.

Figura 9: Diagrama de los componentes principales del módulo visualizador y su interacción.

Desarrollo

Visualización realista

(44)

secciones de túnel y estaciones, junto con diferentes efectos visuales como luces reflejadas sobre las diferentes superficies, o espejos ubicados en las estaciones.

Se ha trabajado en una arquitectura flexible y extensible que permite administrar de forma eficiente los materiales. De esta manera, se simplificó la tarea de carga, eliminación o reutilización de recursos en los distintos escenarios; asegurando que se respeten las restricciones de tiempo real y manteniendo control del consumo de memoria.

Relevamiento para el diseño de modelos 3D

Esta etapa tiene como objetivo capturar un escenario real para su reconstrucción virtual, por lo que es fundamental la organización y el uso de un método que se pueda repetir para relevar todas las estaciones, logrando a su vez una buena calidad de imagen teniendo en cuenta las tecnologías utilizadas.

(45)

Una vez que los modelos 3D son diseñados, se visualizan mediante un motor de

rendering y se les aplica movimiento mediante un motor de física. En las siguientes secciones se explica lo que implican dichas acciones.

Tecnologías

A continuación se describen las tecnologías y herramientas seleccionadas para realizar la implementación del módulo visualizador del simulador.

Motor de rendering: OGRE

OGRE (Object-oriented Graphics Rendering Engine) es un motor 3D flexible y orientado a la escena escrito en C++ diseñado para hacer más fácil e intuitivo producir aplicaciones que utilicen gráficos 3D acelerados por hardware. La biblioteca de clases abstrae todos los detalles del uso de las bibliotecas de sistemas subyacentes, como DirectX

y OpenGL, y provee una interfaz basada en objetos del mundo y otras clases intuitivas. OGRE está diseñado para proveer una solución gráfica que se adapte a la mayoría de los casos; y se pueden encontrar varios frameworks o wrappers que permiten integrar rápidamente distintas bibliotecas para funcionalidad adicional como audio, interacción, etcétera.

(46)

crecimiento y actualización permanente del motor gráfico. Esto hace que un sistema programado sobre OGRE sobreviva en el tiempo y pueda ser extendido o modificado en el futuro.

Motor de física: Bullet Physics Library

Un motor físico es un software que permite resolver diferentes situaciones de simulación computacional, principalmente cuestiones como la dinámica de cuerpos rígidos (incluyendo detección de colisiones), dinámica de cuerpos blandos, e incluso dinámica de fluidos. Su principal aplicación es en videojuegos y simuladores, en cuyo caso las simulaciones deben ser resueltas con bajo costo computacional, permitiendo el tiempo real.

Un motor físico permite también aplicar impulsos, fuerzas y velocidades en los objetos, de manera tal que se puede recrear un modelo matemático de comportamiento. En el caso de los trenes, se implementa el modelo matemático de comportamiento y se utiliza un motor físico para aplicar las fuerzas resultantes en los objetos.

Existen varios motores físicos disponibles para uso libre o comercial. Entre los más reconocidos se pueden mencionar a Newton Game Dynamics, Open Dynamics Engine,

Bullet Physics Library, Havok y PhysX [18].

Bullet Physics Library es uno de los motores físicos más reconocidos y ampliamente utilizados en videojuegos comerciales, películas y aplicaciones de diseño. En el sitio web de la referencia 18 se muestran muchos casos de uso exitoso del motor.

(47)

periscopio de submarino en que fue utilizado para recrear el movimiento de buques de superficie en diferentes condiciones de mar. Adicionalmente es una herramienta que el equipo ha utilizado hace ya varios años en diversos proyectos académicos y trabajos de investigación para formación de posgrado.

Resultados

La red de subterráneos de la Ciudad de Buenos Aires se encuentra representada en su totalidad por el sistema de simulación. La misma está compuesta de seis líneas (A, B, C, D, E y H), con una extensión total de 60,8 km (de los cuales 53,9 km son para servicio comercial) y 86 estaciones en operación.

(48)

Figura 11: Visual desde el punto de vista del conductor entrando a la estación Puán en Línea A.

(49)

Figura 13: Visual desde el punto de vista del conductor entrando a la estación Los Incas en Línea B.

(50)

Figura 15: Visual desde el punto de vista de los pasajeros desde andén en la estación Constitución.

Módulo: Controles e Interfaz

Este módulo es el encargado de controlar un puesto alumno del simulador. Para ello se recrea un puesto de mando, con ergonomía y usabilidad para los operarios. En los PMS los controles se recrean con imágenes y animaciones (básicamente una interfaz gráfica o GUI), emulando los botones de la cabina real y en los puestos de formación se recrean con una combinación de hardware y software. El puesto puede instanciarse en cada uno de los tipos de trenes existentes en el parque rodante.

Funcionalidad

(51)

● Contar con un conjunto de controles que permita la operatoria completa de conducción de un tren subterráneo.

● Permitir la utilización de sistemas e instrumentos del tren como ATP, TCMS (SICAS), mediante interfaces idénticas a las reales.

● Permitir la comunicación con el puesto Instructor, mediante el intercambio de mensajes de audio de forma bidireccional.

Solución

Se implementó una arquitectura Modelo-Vista-Controlador (Model-View-Controller

o MVC) [19]. Esta se basa principalmente en tres niveles:

Modelo: representa la información con la que trabaja la aplicación, es decir, su lógica de negocio.

Vista: transforma el modelo en una representación visual (o adaptador del hardware) que permite al usuario interactuar con ella.

Controlador: se encarga de procesar las interacciones del usuario y realiza los cambios apropiados en el modelo o en la vista.

(52)

Figura 16: Arquitectura MVC del módulo de controles.

Tecnologías

(53)

Tecnología: Qt / QML / C++

Qt es un framework para desarrollo de software de alta performance del tipo Cross-plataform. Cuando hablamos de Qt hablamos de uso de bibliotecas/módulos como Qt-Quick, Qt-Core, Qt-Widgets, Qt-GUI y herramientas del tipo IDE como Qt-Creator. El uso Qt Quick permite moverse rápidamente entre el sketch de una idea y el prototipo.

La clase QtWidget es la clase base de todos los objetos de interfaz de usuario. El widget es el átomo de la interfaz de usuario: éste recibe eventos del mouse, teclado y otros eventos del sistema de ventanas y pinta una representación de sí mismo en la pantalla. Cada widget es rectangular, y pueden ordenarse para ser dibujados en pantallas, permitiendo capas.

El módulo de Qt GUI proporciona los habilitadores básicos para aplicaciones gráficas escritas con Qt [20].

Módulo: Instrucción

Un puesto de instrucción podría definirse como el coordinador de un conjunto de puestos de pupitres y micro simuladores de entrenamiento. El puesto de instrucción puede ser más de uno, donde cada instructor administra un conjunto de simuladores.

A continuación se enumeran las capacidades funcionales del puesto instructor. Previo a ello se aportan algunas definiciones.

Instructor es quien se sitúa en el puesto de instrucción y lleva adelante la capacitación de los alumnos.

(54)

Operador Administrador es aquel que administra al resto de los operadores instructores.

Funcionalidad

● El instructor puede seleccionar un simulador y elegir las estaciones inicial y final, configuración del coche, ejercicio y avería.

● El instructor puede seleccionar del catálogo un ejercicio para que realice el alumno en un simulador.

● En caso de seleccionar una falla o avería, el instructor puede indicar el lugar de aparición, el cual dependiendo del caso puede ser en una estación y/o en un circuito de vía aleatorio.

● El instructor puede ver un registro de acciones (log) que va realizando el alumno en el simulador en orden cronológico.

● El instructor será alertado por el sistema cuando un alumno cometa un error en el ejercicio.

Por otro lado, sistema proporciona soporte para una base de datos de alumnos, organizados en grupos. También una base de datos de instructores, cada uno de los cuales cuenta con permisos concretos para la modificación de las bases de datos.

Además, permite asociar una sesión de simulación con el alumno que la realizó, de manera que se puedan obtener históricos de la actividad y capacitación de cada alumno, así como de la efectividad didáctica de cada ejercicio.

(55)

Solución

Cada puesto de instructor del sistema tiene bajo su control uno o más simuladores de entrenamiento, con los que se encuentra comunicado mediante una red local de alta velocidad, gestionando el funcionamiento de cada simulador, el inicio de los ejercicios de entrenamiento, la definición de los ejercicios, y el análisis de resultados y reportes.

Se tiene además un repositorio centralizado donde se aloja el catálogo de ejercicios disponibles, como así también los datos de entrenamientos realizados, alumnos e historial de resultados y evaluaciones. La Figura 17 muestra una vista esquemática general de relación entre instrucción y los puestos.

(56)

Arquitectura General

Se creó una plataforma tecnológica desarrollada en lenguaje C# que pone a disposición del Módulo Instructor un conjunto de componentes de software que permiten brindar la funcionalidad mencionada. La Figura 18 muestra los principales componentes del módulo.

Figura 18: Principales componentes de la arquitectura del módulo instructor.

Como se puede observar existe un núcleo de componentes que gobiernan el puesto instructor propiamente dicho, y luego varios de ellos que se replican para cada simulador que se encuentre en funcionamiento en un momento dado.

Máquina de Estados: Diagramación y especificación de ejercicios

(57)

Cada ejercicio que el instructor selecciona en el simulador tiene asociada una máquina de estados. Se provee un catálogo de ejercicios del cual el instructor seleccionará el que será cargado a un simulador en particular.

La máquina de estados permite especificar secuencialmente los pasos que deben seguirse de manera correcta para lograr satisfactoriamente el ejercicio propuesto. Esto se logra mediante la definición de la secuencia de estados a partir de un estado de inicio, y continuando hacia un estado final del ejercicio. El pasaje de estado a estado se da mediante transiciones, las cuales están ligadas a condiciones que deben cumplirse para ser realizadas. Estas condiciones se relacionan con eventos que se reciben en el puesto de instructor desde los simuladores y reflejan las acciones que lleva a cabo el alumno, por ejemplo “el alumno mueve el selector de marcha a la posición AD en el pupitre”.

La Figura 19 muestra a modo de ejemplo los estados y transiciones principales que conforman el ejercicio de Tracción hacia Adelante.

Figura 19: Estados y Transiciones para el ejercicio “Puesta en Tracción”.

(58)

La máquina de estados permite además la definición de ejercicios que se basen en otros previamente creados, por ejemplo, puede evaluarse individualmente el ejercicio de Puesta en Servicios del Tren, y aparte la puesta en tracción hacia adelante. Pero también se permite definir un nuevo ejercicio basado en los dos anteriores, que requiera al alumno primero poner en servicio el tren, y luego dar tracción hacia adelante. Para poder reutilizar la definición de las máquinas de estado de cada sub-ejercicio del ejercicio principal seleccionado, se definen estados compuestos, los cuales en su interior contienen máquinas de estado de un ejercicio ya definido previamente.

A continuación la Figura 20 muestra la máquina de estados que podría definir el ejercicio que requiera al alumno poner en servicio el tren, ponerlo en movimiento y luego frenar y realizar apertura de puertas al arribar a la siguiente estación:

Figura 20: Ejercicio basado en otros ejercicios (composición de estados).

(59)

Implementación del framework de simulación

A partir de lo explicado anteriormente se puede afirmar que el framework desarrollado tiene como base teórica máquinas de estado finitas adaptadas para este propósito. Mantienen el estado del sistema mediante un seguimiento de las transiciones válidas que representan las acciones ejecutadas por el alumno. Estas llevan a estados que simbolizan la situación del ejercicio en un momento determinado a partir de dichas acciones [21]. Cada máquina de estados finita representa un ejercicio pedagógico.

En adición a esto, es posible crear máquinas de estado que representen alguna alteración al curso normal de los ejercicios, como pueden ser averías que se activen en determinado momento de la ejecución. Estas máquinas son llamadas “satélite” y se activan ante alguna condición específica, siempre y cuando el instructor haya decidido incluirlas en el ejercicio en curso.

(60)

Figura 21: Diagrama de clases del framework de simulación creado por MediaLab PLADEMA.

StateMachine

(61)

Una característica importante que se mencionó en el capítulo anterior es la posibilidad de que una máquina esté contenida dentro de un estado de otra. Si durante la ejecución se llega a un estado que contiene una máquina, ésta comienza su ejecución y pasa al siguiente estado una vez que la misma haya finalizado. La propiedad Type indica que una máquina cumple con esta característicamediante la constante COMBINADO. En el caso de que no haya estados que contengan máquinas el valor de la propiedad sería SIMPLE.

(62)

machine), en cuyo caso se iniciaría la ejecución de la máquina interna. Durante el procesamiento del estado se obtienen sus eventos de transición, ejecutándose una vez que el servidor hace entrega de los mensajes recibidos por parte de los módulos de controles y visual. De esta manera se obtiene el siguiente estado, continuando la ejecución de la misma manera.

Tipos de State Machine

Existen distintos tipos de máquinas de estado según sus características:

● Simples: Son aquellas cuyos estados son todos simples, es decir, sin otra máquina anidada.

● Combinadas: Máquinas cuyos estados pueden contener una máquina internamente.

● Principales: Corresponden a los ejercicios principales, como puede ser uno de Curso normal.

● Satélite: Corresponden a máquinas de estado que modelan fallas o averías que se usan como complemento a máquinas principales.

State

Los estados que componen a las máquinas de estado se encuentran representados lógicamente por la clase State. Al instanciarla es posible incluir sus transiciones hacia otros estados, las instrucciones que se ejecutarán al llegar a esos estados y otras propiedades que permiten identificarlos. Por ejemplo, la propiedad Type indica si se trata de un estado inicial, intermedio, final o error.

(63)

máquinas sobre estados se puede hacer de forma recursiva. Para identificar de qué tipo de estado se trata se utiliza una propiedad (TypeState) cuyo valor será ‘Normal’ cuando se trate de máquinas simples, o ‘State Machine’ cuando una máquina contenga al menos otra anidada.

Existen instrucciones que se ejecutan antes o después de llegar a un estado. Estas se encuentran en las propiedades StartInstructions y FinishInstructions, y son ejecutadas mediante los métodos ExecuteInstructionsStart() y ExecuteInstructionsFinish(). Estas instrucciones intervienen para indicar al resto de los módulos el estado de la simulación en un momento determinado.

(64)

activan una vez que se arriba a un estado “disparador”. El método Merge(State) une ambas máquinas mediante el nombre del estado que las dispara, formando así otra máquina completa que incorpora tanto el curso normal como la situación alternativa deseada. Esto permite la reutilización de máquinas satélite, ya que distintas máquinas de curso normal puedan hacer uso de las mismas.

En las figuras a continuación se presentan los grafos correspondientes a un ejemplo de máquina principal mergeada con una máquina satélite.

Figura 22: Máquina principal genérica.

(65)

Figura 24: Resultado del merge entre máquina principal (Figura 22) y máquina satélite (Figura 23).

Transition

Las transiciones representadas mediante la clase Transition indican el siguiente estado a activarse cuando lo esté el estado de origen, es decir, dado un estado activo y del que se origina una transición a otro, si se cumplen las condiciones agregadas a la transición, dejará de estar activo el primero para pasar a estarlo el segundo (NextState).

(66)

en general, las transiciones tienen alguna condición que debe cumplirse para que se produzcan, y estas se encuentran representadas por InstructionConditions: una lista de objetos de la clase ItemInstructions.

Event

Como se explicó anteriormente, el sistema funciona mediante el envío de eventos. Los mismos están compuestos por un nombre (Name), una clave (Value) y una subclave opcional (SubName). La clase Event provee estas propiedades para realizar verificaciones a los mensajes recibidos por el cliente, en este caso el módulo de instrucciones.

Al recibir un mensaje se realizan chequeos mediante funciones de la clase

(67)

EventTransition

Indica el evento que provocará que sea evaluada la condición de la transición. Todas las transiciones reaccionan ante los eventos que se producen en el desarrollo de funcionamiento de la máquina. Cada vez que se produce un evento provoca que se evalúen los estados y transiciones.

InstructionFunctions

Se pueden ejecutar funciones de instrucción tanto en las transiciones como en los estados, en las distintas opciones que contemplan, descritas en los apartados correspondientes. Entre las operaciones que son permitidas en la ejecución de instrucciones se encuentran las operaciones lógicas, chequeos de valores, envío de mensajes al servidor, entre otras. La totalidad de las funciones pertenecientes al framework pueden verse en detalle en su correspondiente Anexo I.

Las funciones de instrucción reciben como parámetro objetos de la clase

ItemParameter.

ItemParameter

(68)

de caracteres que representan la clave y el valor (y opcionalmente subclave) enviados al servidor y luego recibidos por los suscriptores. De esta forma, cada vez que se reciba un evento por parte del servidor, el módulo instructor verifica que los valores del evento sean los correctos mediante los ejercicios implementados como máquinas de estado, como se explicó con anterioridad.

ItemInstruction

Al producirse un evento, expresa qué condición debe ser cierta para que se active la estado o transición y se ejecute la acción correspondiente. Las acciones pueden realizarse previo a ejecutarse un estado o luego de la ejecución del mismo.

(69)

Además, se tratará la implementación de la herramienta de soporte como es el caso del editor de ejercicios el cual es de suma importancia ya que el simulador es utilizado para capacitación de operarios, por lo tanto es necesario abarcar todos los escenarios posibles que se pueden dar en la realidad, para que los operarios finalicen su capacitación con una vasta experiencia que puedan reflejar a la hora de utilizar los equipos reales.

Creación de ejercicios

Uno de los principales usos del simulador, además de entrenar para la conducción, es hacer que los operarios enfrenten y resuelvan conflictos o averías que puedan encontrarse en el propio tren o en elementos de vía a modo de entrenamiento.

El sistema incluye una amplia cantidad de ejercicios de catálogo, por ejemplo: puesta en servicio, puesta en marcha, resolución de avería en freno de emergencia. La cantidad de ejercicios de catálogo depende del simulador a implementar, incluyendo aquellos con resolución de fallas, operación y de seguridad. Además, el sistema permite la definición de ejercicios nuevos a partir de la modificación de ejercicios del catálogo. Dicha definición consiste en la selección sucesiva de valores para cada uno de los parámetros de configuración. Estos son modificables en cada ejercicio y son acordados con los expertos en el dominio, ajustando así las capacidades del simulador a los objetivos y criterios de formación.

(70)

Diseño de ejercicios

Como se mencionó en el Capítulo 2, la creación de ejercicios requiere de ciertos conocimientos por parte del desarrollador tanto de la lógica del sistema como de las características específicas del simulador a implementar y los ejercicios que éste necesite. Para esto es imprescindible que quien desarrolle los ejercicios tenga algún conocimiento del dominio a implementar, por lo que se requiere que los instructores o aquellos que tengan dicho conocimiento realicen una transferencia del mismo.

Generalmente, la transferencia se realiza mediante documentos que explican el funcionamiento de la maquinaria replicada y que incluyen los procedimientos a seguir ante situaciones determinadas. Estos manuales de capacitación son interpretados por el equipo de desarrollo, que luego implementa los ejercicios según la lógica del simulador. Una vez realizados requieren de validación por parte de los instructores.

(71)

Figura 25: Diagrama de flujo para la resolución de averías de freno de estacionamiento en la línea B.

El diagrama sirve como referencia a los desarrolladores de ejercicios que deben tener en cuenta las distintas precondiciones y variables para configurar el simulador e implementar los ejercicios de acuerdo a las situaciones que se presentan en la realidad.

(72)

La serialización en formato xml, consiste en transformar los datos de manera tal que puedan ser transferidos por un canal (Internet, archivo plano, memoria, etc) a otro sistema [23]. En otras palabras, sirve para compartir información con otras aplicaciones transformando la información contenida en los objetos en un documento xml que será interpretado por el sistema destino.

El código XML en el Anexo II representa la máquina de estados perteneciente al ejercicio de Freno de Estacionamiento de la línea B de la Figura 25.

Como se puede observar, esta representación de las máquinas de estado resulta difícil de comprender a simple vista y requiere de un amplio conocimiento del framework de simulación.

Problemática encontrada en caso particular

Al obtener un simulador de entrenamiento, no solo se adquiere una herramienta de realidad virtual, sino que también un paquete pedagógico de formación que contiene las bases teóricas que debe poseer un operario y que serán reforzadas por prácticas en un ambiente virtual muy cercano a la realidad, para luego ser comprobadas en la máquina real. Para llevar a cabo esto, la tarea de la creación de ejercicios debe ser sencilla de manera tal de poder brindar un paquete pedagógico completo e incremental de acuerdo a las necesidades de quien adquiera el simulador.

(73)

desarrollador, acarreando así problemas de interpretación y aumentando los tiempos y costos de desarrollo.

Como solución a estas problemáticas se propuso el desarrollo de un editor de ejercicios que utilice el framework de simulación ya desarrollado como sustento lógico para la creación o edición de ejercicios.

(74)

CAPÍTULO 4

Desarrollo de la herramienta de edición de ejercicios

El editor como herramienta complementaria al framework de simulación, entonces, brinda la posibilidad de crear de manera fácil e intuitiva diversos ejercicios y visualizarlos inmediatamente. Facilita la transición desde un nivel pedagógico a uno lógico, representando acciones secuenciales gráficamente sin la necesidad de tener conocimientos de programación.

Para incorporar correctamente al editor como complemento a los simuladores fue necesario hacer un análisis de las maneras en que pueden interactuar, siendo el envío de mensajes mediante el uso del servidor la más simple de lograr y la que finalmente se utilizó.

(75)

Figura 26: Arquitectura del sistema de simulación con el Editor incorporado como cliente suscrito a los eventos del módulo instructor.

(76)

Figura 27: Estructura interna de SMEditor.

La herramienta utiliza el framework para obtener la representación lógica de las máquinas de estado creadas y editadas en ella, que posteriormente son utilizadas por el módulo instructor para la ejecución de los ejercicios.

(77)

Graph-master

Las clases que se describen a continuación especifican el comportamiento de la biblioteca Graph-master.

GraphControl

(78)

Node

La clase Node facilita la manipulación de nodos. Como estos son utilizados para representar estados dentro de una máquina (ejercicio pedagógico), se ven asociados directamente con un objeto de la clase State del framework de simulación.

NodeConnection

(79)

NodeItem

Representa los ítems de un nodo y ofrece los métodos para poder manipular sus acciones ante alguna interacción por parte del usuario.

Referencias

Documento similar

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

Por lo tanto, en base a su perfil de eficacia y seguridad, ofatumumab debe considerarse una alternativa de tratamiento para pacientes con EMRR o EMSP con enfermedad activa

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

De hecho, este sometimiento periódico al voto, esta decisión periódica de los electores sobre la gestión ha sido uno de los componentes teóricos más interesantes de la

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de