Informe Final
-
Upload
edwin-mauricio-gallego-brown -
Category
Documents
-
view
37 -
download
7
Transcript of Informe Final
DESARROLLO DE UNA PLATAFORMA PARA SIMULACIÓN Y VISUALIZACIÓN 3D DE
PROCESOS DE MECANIZADO EN UNA FRESADORA CNC DE TRES EJES
Edwin Mauricio Gallego Brown
997185
Universidad Autónoma de Occidente
FACULTAD DE INGENIERA
PROGRAMA DE INGENIERÍA MECATRÓNICA
SANTIAGO DE CALI
2011
DESARROLLO DE UNA PLATAFORMA PARA SIMULACIÓN Y VISUALIZACIÓN 3D DE
PROCESOS DE MECANIZADO EN UNA FRESADORA CNC DE TRES EJES
Edwin Mauricio Gallego Brown
997185
Trabajo de grado para optar el título:
Ingeniero Macarrónico
Director:
Jesús David Cardona Quiroz
Doctor en Ingeniería Informática
Universidad Autónoma de Occidente
FACULTAD DE INGENIERA
PROGRAMA DE INGENIERÍA MECATRÓNICA
SANTIAGO DE CALI
2011
Nota de aceptación:
Aprobado por el Comité de
Grado en cumplimiento de los
Requisitos exigidos por la
Universidad Autónoma de
Occidente para optar Al título de
Ingeniero Electrónico.
_________________________
Jurado o Director
_________________________
Jurado
Santiago de Cali 2011
i
CONTENIDO
Pag.
GLOSARIO 1
RESUMEN 3
INTRODUCCIÓN 4
ANTECEDENTES 5
1. PLANTEAMIENTO DEL PROBLEMA 8
2. OBJETIVOS 9
2.1. OBJETIVO GENERAL 9
2.2. OBJETIVOS ESPECÍFICOS 9
3. JUSTIFICACIÓN 10
4. METODÓLOGA 12
5. MARCO TEÓRICO 13
5.1. GRÁFICOS 3D POR COMPUTADOR 13
5.2. GRÁFICOS 3D EN TIEMPO REAL. 14
5.3. PROTOTIPADO Y MANUFACTURA VIRTUAL. 14
5.3.1. Prototipado Virtual 14
5.3.2. Manufactura virtual 15
ii
5.4. SIMULACIÓN DE PROCESOS DE MECANIZADO 15
5.5. CONTROL NUMÉRICO COMPUTARIZADO (CNC) 15
5.5.1. Principios de funcionamiento 15
5.5.2. Fresadora CNC 16
5.5.3. CAD 16
5.5.4. CAM 16
5.6. PLATAFORMAS PARA EL DESARROLLO DE ENTORNOS VIRTUALES 17
5.6.1. VRJUGGLER 17
5.6.2. JAVA 3D 17
5.6.3. OpengL 18
5.6.4. DirectX 18
5.7 MANUFACTURA VIRTUAL Y TELECONTROL 18
5.7.1. Tele operación 19
5.7.2. Tele Supervisión 20
6. DESARROLLO DEL PROYECTO 21
6.1. SÍNTESIS. 21
6.2. METODOLOGÍA. 21
6.3. REQUISITOS. 22
6.4. ANÁLISIS Y DISEÑO. 26
6.5. EXPLORACIÓN DE PLATAFORMAS. 26
6.6. MODELADO DE LA FRESADORA. 27
iii
6.7. EXPLORACIÓN DE FORMATOS DE MODELADO. 27
6.8. ARQUITECTURA. 31
7. IMPLEMENTACIÓN 33
7.1. COMPONENTES. 33
7.1.1. Tele operación: 34
7.2. ENTORNO VIRTUAL. 35
7.2.1. Carga del formato vrml en Java3D 35
7.2.2. Recorrer el archivo vrml 36
7.2.3. Movimiento de los carretes la fresadora 36
7.2.4. Avance de la máquina herramienta 37
7.2.5. Encendido de la máquina 37
7.2.6. Apagado de la máquina 37
7.2.7. Paro de emergencia 37
7.2.8. Posiciones de referencia 38
7.3. TELE OPERACIÓN Y TELE SUPERVISIÓN. 38
7.3.1. Cliente y servidor de la aplicación de envío de comandos 39
7.3.2. Cliente y servidor de la aplicación de la cámara remota 40
7.3.3. Cliente y servidor de la aplicación de la supervisión de la fresadora 40
7.3.4. Cliente y servidor de envío de archivo 41
7.4. PAGINA WEB EN EL GESTOR DE CONTENIDO JOOMLA 41
iv
8. PRUEBAS 45
8.1. CARACTERÍSTICAS QUE SE PRUEBAN 45
8.2. CARACTERÍSTICAS QUE NO SE PRUEBAN 45
9. CONCLUSIONES 46
10. RECOMENDACIONES 48
11. BIBLIOGRAFÍA 49
12. ANEXOS 51
v
TABLA DE FIGURAS
Pag.
Figura 5.1. Modelo de manuactura virtual. 18 Figura 5.2. Sistema común de tele operación. 19 Figura 5.3. Ejemplo de Teles supervisión de un sistema de tele supervisión de 360 grados.20 Figura 6.1. Modelo den formato 3Ds. 28 Figura 6.2. Modelo den formato DXF. 29 Figura 6.3. Geometría exportada en formato waveFront object. 29 Figura 6.4. Formato de archivo VRML. 30 Figura 6.5. Jerarquía del archivo VRML 30 Figura 6.6. Arquitectura de la aplicación. 31 Figura 7.1. Carga de la fresadora en JAVA3D. 33 Figura 7.3. Movimiento de los carretes. 37 Figura 7.4. Fresadora con interfaz básico de manejo. 38 Figura 7.5. Datos capturados desde el computador a la fresadora. 39 Figura 7.6. Servicios recomendados a instalar. 41 Figura 7.7 Confirmación verificación de instalación. 42 Figura 7.8. Alojamiento de carpeta. Host. 42 Figura 7.9 configuración principal. 43 Figura 7.10. Admin. y contraseña 43
vi
LISTA DE TABLAS
Pag.
Tabla 1. Carga de objetos. 22 Tabla 2. Clasificador. 23 Tabla 3. Entorno virtual. 24 Tabla 4. History board. 25
1
GLOSARIO
3D: En geometría y análisis matemático, un objeto o ente es tridimensional si tiene tres dimensiones.
Es decir cada uno de sus puntos puede ser localizado especificando tres posiciones en un sistema
de coordenadas cartesianas (X, Y, Z).
3DS: Formato de modelado 3D propio de las herramientas de modelado Atudesk 3Dmax.
AMBIENTE WEB: Se refiere a como el sistema puede ser ejecutado desde una computadora a
través de Internet.
Asintótico: Dicho de una curva, Que se acerca de continuo a una recta o a otra curva sin llegar
nunca a encontrarla.
APIs: Programa interface de aplicación.
BLENDER: plataforma de desarrollo de modelado y aplicaciones interactiva.
C ++: lenguaje de programación orientado a objetos.
CAD: Diseño asistido por computador.
CAE: Ingeniería asistida por computador.
CAM: manufactura asistida por computador.
CINEMÁTICAS: posibles movimientos realizados por un objeto 3D.
CNC: automatización programable, que se dirige por información matemática y usa micro
controladores y computadoras para llevar a cabo varias operaciones de maquinado.
CODIGO G-ISO: Es el código necesario para la realización de simulaciones del mecanizado de una
pieza.
DXF: Tipo de archivo de dibujo asistido por computador.
ENTORNOS VIRTUALES: Entorno sintético que representa por medio de imágenes
tridimensionales y en tiempo real un ambiente sea real o imaginario.
FILECHOSSER: Método de java en donde cargas archivos.
2
FRESA: Es una herramienta múltiple, es decir, constituidas por varios filos dispersos radialmente
sobre una circunferencia.
FRESADORA CNC: máquina-herramienta utilizada para dar formas complejas a piezas de metal u
otros materiales.
INMERSIÓN: Acto voluntario de obviar todos los estímulos que indican una experiencia que se
presenta no es real y, por tanto, acaparar toda la concentración y atención de la persona
involucrada.
INTERACCIÓN: Tener el control de un sistema creado. Lográndose con distintas técnicas e
interfaces hombre-máquina, que van desde un teclado o un mouse, hasta guantes o trajes
sensoriales. La interactividad con el mundo virtual supone que el usuario pueda mover objetos
(además de a sí mismo) y Modificarlos, y que tales acciones produzcan cambios en ese mundo
artificial.
OBJETO 3D: Es una representación en el entorno virtual de un objeto real.
PERTIGA: La pértiga o garrocha es una barra cuya longitud suele estar entre 4 y 5 metros y que es
usada en el salto con garrocha.
RENDER: Proceso de computación 3D donde a partir de un modelo, se genere por computador una
imagen ya sea imagen 3D o animación 3D.
SIMULACION: alteración aparente de la causa, la índole o el objeto o el verdadero de un acto o
contrato
TORNO: máquina - herramienta que se usa para maquinar formas Cilíndricas.
VRML: Lenguaje de modelado de realidad virtual.
3
RESUMEN
En este trabajo de grado se define una plataforma de desarrollo idónea para su uso en la creación
de aplicaciones en el área de manufactura virtual. Este proyecto permitió identificar metodologías de
diseño en el área de computación gráfica, la identificación de formatos de visualización de objetos
3D, parámetros de exportación de modelos tridimensionales, metodologías de ensamblaje de dichos
modelos para su utilización. Así mismo, se logró observar tanto el comportamiento interno de la
máquina objeto de estudio como con el software propietario de la máquina.
Para lo anterior, fue necesario conocer metodologías de programación enfocadas a la computación
gráfica, conocer y aprender herramientas de modelado, simulación y manejo de librerías gráficas,
investigar metodologías de interacción con entornos gráficos y definir los pertinentes; fue necesario
conocer los diversos métodos y protocolos de comunicación de puertos, tanto seriales, como de
comunicación por red local , tales como TCP/IP para el desarrollo de estrategias de comunicación
con la máquina objeto de estudio; también fue necesario aprender la metodología de programación
por medio de sockets su comunicación .
Una vez se diseña el programa para que lo maneje el operario, es necesario conocer las limitaciones
de la máquina, sus protocolos de comunicación serial, las especificaciones técnicas del computador
de la máquina y sus restricciones operativas tales como fechas de mantenimiento, el manejo de el
software propietario, sus módulos no funcionales, actualizaciones de software y librerías de la
plataforma de desarrollo escogida para su creación.
Una vez conocidas estas restricciones se empezó a diseñar el software y su estructura de clases,
Levantamiento de requerimientos, casos de uso, diagrama de clases, diagramas de secuencia para
la aplicación.
Como resultado de esta investigación se desarrolló una aplicación que funciona a través de un
navegador de internet, donde se puede interactuar con las características de la máquina objeto de
estudio. Allí se exploran sus movimientos tanto de manera virtual, como operando y supervisando de
manera remota.
4
INTRODUCCIÓN
El diseño e implementación de un simulador virtual para fresadora CNC de tres ejes es una iniciativa
liderada por el Grupo de Investigación en Telemática e Informática Aplicada GITI de la Universidad
Autónoma de Occidente.
Este proyecto consiste en definir una plataforma para la simulación de procesos de mecanizado en
una fresadora CNC de tres ejes, que sirva como base para la definición de un marco de trabajo
común de simulación en el contexto de los procesos de mecanizado con máquinas CNC.
Inicialmente el proyecto se divide en dos fases: la primera de ellas busca definir una plataforma que
permita desarrollar la simulación de los procesos de mecanizado en una fresadora CNC de tres ejes
con fines académicos; En tanto que en la segunda fase, se usa la plataforma definida para el
desarrollo de un prototipo de prueba.
Durante el desarrollo de la primera fase, se buscó en primera instancia una plataforma libre, de fácil
uso para los desarrolladores, que tenga una documentación disponible y veraz, que maneje los
formatos de carga de modelos usados en el desarrollo de entornos virtuales, el renderisado en
tiempo real de los modelos tridimensionales, así como la disponibilidad de desarrollar técnicas de
interacción con el entorno virtual y la capacidad de integrarse con otras aplicaciones por fuera de las
librerías gráficas.
En el uso de la plataforma escogida primero se debió explorar para aprender su funcionamiento, se
probaron diferentes tipos de interacción definiendo la más adecuada. Seguidamente, surgió la
necesidad de investigar la mejor manera de administrar sus recursos en concordancia con el objetivo
del proyecto, que es hacer una plataforma que funcione de manera dinámica con el desarrollo, no
solo de aplicaciones de manufactura virtual en fresadoras de tres ejes , sino que también sea útil
para el desarrollo de herramientas en otro tipo de procesos.
El resultado del proyecto será de utilidad para GITI, como punto de partida para la definición de un
marco de trabajo común, que pueda seguir realizando aproximaciones en el contexto de otros
procesos de mecanizado y otras máquinas CNC.
5
ANTECEDENTES
Los antecedentes a continuación presentados demuestran la factibilidad de desarrollar plataformas
en donde se pueda simular procesos de mecanizado y de manufactura en un entorno virtual. Como
también aplicaciones en donde se puede tele operar diversos dispositivos involucrados en procesos
de manufactura.
WINUNISOFT - Simulador 3D de mecanizado para Torno y Fresa: Consiste en el desarrollo de un
software CNC con capacidad de controlar distintas máquinas como: Torno (Amateur, Rapid, Expert)
y fresa (Armoni), así como permite la adaptación de máquinas de terceros es un sistema software
abierto y escalable, el cuál controla las máquinas mediante línea de serie y permite el acceso al CNC
a través de red TCP/IP. Este proyecto es desarrollado por ALECOP, líder en desarrollo y fabricación
de sistemas didácticos [1].
Editor de entornos virtuales para el entrenamiento de operadores de máquina-herramienta En
este proyecto se desarrolló un editor 3D para proporcionar soporte a un sistema de entrenamiento
virtual de máquina-herramienta. El sistema desarrollado permite entre otros, la creación de entornos
virtuales, la manipulación de objetos 3D y la automatización de datos clave para una correcta
utilización del simulador. La máquina-herramienta está compuesta por elementos móviles modelados
independientemente: utillajes, palancas, botones, cuchillas, etc. El programa genera la información
que indica las relaciones existentes entre los distintos elementos, cómo pueden ser manipulados,
dónde pueden ser colocados, qué efecto produce su manipulación sobre otros elementos [2].
Nuevos entornos de aprendizaje para procesos de máquina – herramienta (VIRTOOL): El
proyecto se desarrolla por un consorcio formado por seis empresas industriales (Alecop, IMH,
Ingenio, SOMAB, CADWARE, Tangram) y cuatro instituciones de investigación y de educación
(CEIT, TUD, ACM, UHH) pertenecientes a cinco países Europeos diferentes.
El objetivo del proyecto es diseñar y desarrollar un nuevo entorno de aprendizaje para el área de
fabricación mecánica, basado en gráficos 3D interactivos y técnicas de realidad virtual. Una parte del
proyecto se centra en el desarrollo de las aplicaciones software que permitan construir nuevos
espacios de aprendizaje mediante el uso de modelos 3D de máquinas-herramientas y de sus
elementos (herramientas de corte, sistemas de amarre, herramientas de amarre).
Una segunda parte, tan importante como la primera, se centra en el desarrollo del material didáctico
necesario para la definición y el desarrollo de las actividades de enseñanza/aprendizaje. Esta
segunda parte está basada en un modelo de enseñanza/aprendizaje basado en errores (Learning
From Errors). El proyecto se enfocará en su aplicación en la formación presencial, aunque se
analizará su aplicación en entornos de auto-aprendizaje y formación a distancia.
El uso de VIRTOOL permitirá simular la preparación, uso y las tareas de mantenimiento de primer
nivel de cualquier máquina que trabaje por arranque de viruta, mediante el movimiento e interacción
6
de material sólido. Estas máquinas podrán ser tanto convencionales (control manual) o controladas
por CNC (Computer Numerical Control) [3].
Controlando sistemas remotos en la web: la tele operación de sistemas de manufactura (tele-
manufactura) corresponde al control a distancia de diferentes dispositivos tales como herramientas,
máquinas herramientas o cámaras web. Normalmente, se plantea una arquitectura en donde existe
una unidad de control local y una unidad de control remota(UCR) ,pese a que la unidad local tiene un
control del la máquina herramienta(UCL), el usuario final maneja la unidad remota y posee control
sobre la unidad local y la máquina herramienta. Cuando existen múltiples usuarios solo uno puede
operar la máquina herramienta los demás pueden supervisar el procedimiento [5]. Este tipo de
eventos puede ser aprovechado a manera de enseñanza (tele-enseñanza).
La evolución de la tele robótica.
La primera tele operación real se realizó alrededor de los años 60 en la conquista espacial; la
pregunta que se realizó fue “podemos tele operar vehículos en la luna con un retardo máximo de tres
segundos?” la respuesta a esa pregunta fue “estrategia de mover y esperar” consistía en pequeños
movimientos incrementales sin realimentación alguna
Esta solución de”mover y esperar” no es aplicable en una tele manipulación, ya que para el usuario
es necesario en todo momento saber que se está haciendo remotamente. Lo más viable es el
desarrollo de un sistema automatizado donde exista un bucle entre la unidad local de control y el
dispositivo operativo; esta técnica es usada actualmente en satélites y procesos de manufactura[5].
DISEÑO Y CONSTRUCCIÓN DE UN LABORATORIO VIRTUAL UTILIZANDO REDES DE PETRI
En este proyecto se modela, simula e implementa un experimento electro-neumático. Dicho experimento propone un sencillo proceso industrial en donde el dispositivo toma y coloca piezas. Dentro experimento en un contexto global denominado Laboratorio Virtual se conectará el sistema electro-neumático a una computadora personal vía un Controlador Lógico Programable (PLC, acrónimo en inglés de Programmable-Logic Controller). El computador funciona como el servidor de VNC (Virtual Network Computing) y provee a los estudiantes acceso remoto a través de Internet al Laboratorio Virtual.
El proyecto del Laboratorio Virtual surge en el año 2001 y es un trabajo coordinado entre dos
universidades para ofrecer a estudiantes la oportunidad de trabajar juntos, de resolver problemas
considerando diferentes puntos de vista, de aprender nuevos idiomas y de intercambiar culturas.
[17].
7
INTERCONEXIÓN Y SUPERVISÓN POR MEDIO DE INTERNET DE UNA CELDA DE MANUFACTURA FLEXIBLE Es una aplicación de laboratorio virtual, monitoreo y supervisión enfocados a la investigación aplicada con la Industria y la Universidad utilizando herramientas de software libre, y realizo en el laboratorio de meca trónica; donde e busca hacer una exploración experimental en aplicaciones orientadas a redes de alta velocidad como RENATA (Red Nacional Académica de Alta Tecnología en Colombia) promocionada por COLCIENCIAS (Instituto Colombiano para el desarrollo de la ciencia y la tecnología) e Internet 2, aplicadas en el monitoreo remoto de procesos de manufactura. En este articulo se habla de manera breve sobre la descripción del sistema de monitoreo y supervisión por Internet, luego se aborda la metodología de diseño, se reseñan dos modelos del sistema a desarrollar y se describe la implementación del sistema de monitoreo y supervisión / IP de la celda de manufactura flexible del laboratorio de meca trónica. [18]. TELEO PERACIÓN BILATERAL DE ROBOTS CON CONTROL ADAPTABLE DE IMPEDANCIA En este trabajo se proponen unas estructuras de control para un sistema de tele operación robótica, incorporándose para el diseño del operador humano en el lazo de control. En una de ellas, mediante la manipulación de un coeficiente de fusión sensorial, permite disponer de un control de impedancia mecánica en el sistema remoto y su respectiva realimentación kinestésica, visual, o ambas, de la fuerza de contacto con el medio hacia el operador humano. Además se propone una estructura de control adaptable de impedancia en el sistema remoto con realimentación kinestésica y visual de la fuerza al usuario y consignas de fuerza en los canales: táctil y visual, con lo cual se mejora su desempeño general con el sistema ante el desconocimiento en la carga manipulada por el robot remoto. También en este artículo se describe que se realizo el estudio de los efectos de discretización de los algoritmos mencionados anteriormente, en la estabilidad general y en el desempeño del sistema de tele operación de robots. Por último se presenta el estudio de los efectos del retardo temporal de la comunicación entre las estaciones local y remoto (y viceversa) en el desempeño y en la estabilidad del sistema de tele operación. Se presentan resultados de simulación para el análisis de desempeño con los que se muestra convergencia asintótica del error de impedancia y del error de fuerza, se esbozan las conclusiones y el trabajo futuro a desarrollar [18].
8
1. PLANTEAMIENTO DEL PROBLEMA
En los países del tercer mundo es muy común la carencia de herramientas para completar procesos
educativos, principalmente, prácticas en el área de mecánica y manufactura, la falta de recursos
obliga a los consumidores de tecnología para suplir en mayor o menor medida esta falencia, hacer
uso de software de prototipado y simulación asistido por computador (CAM, CAD, CAE).
También es evidente, que algunas instituciones educativas no tienen acceso a cierto tipo de
máquinas que se encuentran en la industria, lo que implica que los estudiantes no podrán tener
acceso a tecnología propia del sector y por tanto, limita su capacitación o entrenamiento a través de
una experimentación con la máquina. En otros casos, aunque se tenga la maquinaria, el estudiante
esta propenso durante su entrenamiento, a sufrir un accidente por causa de un mal uso o mala
recepción de las indicaciones de su instructor.
Dentro de un contexto más cercano es necesario definir una plataforma en los procesos de diseño e
implementación de simulaciones de procesos de manufactura; ya que al existir diversos productos
que suplen partes del problema no sólo en el área, sino también en la producción. Caso en el cual es
necesario establecer un marco de trabajo común en el cual se puedan desarrollar plataformas que
se presten para converger las diferentes soluciones. En el caso de GITI es necesario definir una
plataforma óptima para brindar herramientas para el diseño de los procesos de simulación tanto de
procesos de manufacturas y como cualquier tipo de solución que lo amerite.
En este caso los entornos virtuales brindan una alternativa para solucionar dicha necesidad, ya que
ofrecen un nuevo entorno de aprendizaje, preparando al estudiante en una máquina virtual donde va
a conocer los pormenores de la máquina sin averiarla durante el proceso de entrenamiento y sin
sufrir ningún accidente, eliminando también la generación de desperdicios de material en el proceso
de aprendizaje. Con los entornos virtuales se recrean y simulan situaciones que pueden ocurrir en la
realidad, con el agregado de que el usuario del entorno virtual interactúe y manipule la escena sin
preocuparse por errores que pueda cometer, al tiempo que se adquieren las competencias
requeridas para los niveles de formación tanto técnica, tecnológica y profesional.
Con este proyecto, se pretende desarrollar un entorno de aprendizaje en el área de fabricación de
piezas mecánicas, específicamente en una fresadora CNC de tres ejes, basándose en gráficos 3D
interactivos en tiempo real, al tiempo, que se realiza una propuesta alrededor de una plataforma que
permita el desarrollo de futuros escenarios de simulación y visualización 3D de procesos de
mecanizado para diferentes máquinas CNC.
9
2. OBJETIVOS
2.1. OBJETIVO GENERAL
Desarrollar una plataforma para la simulación y visualización de procesos de mecanizado en una
fresadora CNC de tres ejes.
2.2. OBJETIVOS ESPECÍFICOS
Experimentar con herramientas gráficas y de programación aplicadas al modelado, animación 3D, mundos virtuales y simulación dinámica.
Investigar los diferentes tipos de plataformas para el desarrollo de aplicaciones de entornos
virtuales.
Definir la plataforma que será usada para el desarrollo del entrono virtual de prueba.
Adoptar una metodología de ingeniería de software que oriente de forma adecuada el desarrollo de Entornos Virtuales.
Desarrollar un prototipo de entorno virtual que permita la simulación y visualización 3D de
algunos procesos de mecanizado en una fresadora CNC de tres ejes.
10
3. JUSTIFICACIÓN
El desarrollar una investigación para encontrar una plataforma adecuada para el desarrollo de
entornos virtuales que permitan la simulación y visualización 3D de procesos de mecanizado, es
considerado estratégico para los investigadores de GITI debido a que estas herramientas son útiles
en escenarios de educación técnica, tecnológica y de ingeniería.
La flexibilidad que posee este tipo de entornos y la posibilidad de intervenir sobre su código, los
convierten en plataformas de trabajo para desarrollar nuevos proyectos por parte de otros
investigadores.
Las ventajas de contar con entornos virtuales para simulación de procesos de mecanizado y de
mecánica de corte son:
Realizar un proceso de aprendizaje más eficiente, tanto en formación formal como no formal, a nivel de técnico, tecnológico y profesional en ingeniería, a través de escenarios interactivos.
Reducir accidentes durante el aprendizaje cuando se utilizan máquinas industriales.
Reducir los costos del proceso de aprendizaje.
La simulación genera un prototipo final optimizado y unos procedimientos de producción que sirven como base para un sistema físico.
El uso de esta metodología facilita a los proyectos de desarrollo de nuevos productos, eliminando o disminuyendo los costos de prototipos físicos y experimentos físicos, reduciendo drásticamente el tiempo de desarrollo de productos.
Incrementar la disponibilidad de máquinas que normalmente no son utilizadas por los centros educativos debido a su especialización y los costos de tener maquinaria industrial en laboratorios de universidades, cuando su finalidad sea solo operativa.
Estudiar la cinemática de máquinas CNC.
Tener la posibilidad de fabricar en la computadora como si se realizara en la máquina real.
Poder actualizar el equipo diseñado previamente con los nuevos accesorios que los fabricantes producen.
11
En síntesis el desarrollo de este proyecto generará un impacto positivo en ciertas áreas:
Educación: La experimentación de manera visual y en 3D del proceso de mecanizado de una pieza en una fresadora CNC, además de poder ingresar los parámetros de corte; genera un nuevo entorno de aprendizaje.
Desarrollo tecnológico: El producto resultante del proyecto (simulador virtual de un fresadora CNC), además de ser una herramienta de apoyo al aprendizaje puede ser convertida en un producto software comerciable, debido a que cuenta con la fortaleza de estar soportado en buenas practicas de ingeniería de software las cuales permiten difundir un producto con características esenciales de adaptabilidad, operatividad, fiabilidad y calidad.
12
4. METODOLOGÍA
La metodología propuesta para el desarrollo del proyecto se fundamentó en la definición de las
principales actividades que se desarrollaron para alcanzar cada uno de los objetivos planteados,
aplicando los modelos y las técnicas apropiadas a cada una de ellas:
Se busco antecedentes de plataformas y lenguajes de programación donde se pueda desarrollar de manera eficiente simulaciones y gráficos 3d en tiempo real especialmente dentro del contexto de máquinas herramientas.
Se busco antecedentes de plataformas en los que se han desarrollado procesos y simulaciones de mecanizado, específicamente, en una fresadora CNC.
Se encontraron algunas plataformas clave, y se procedio a la realización de pruebas para verificar cual de éstas es la más óptima para realizar simulaciones en procesos de mecanizado.
Definida y adoptada una plataforma óptima para el desarrollo de la aplicación, se procedio a realizar la ingeniera de software y tambien enfocado a los entornos virtuales. En esta fue necesario desarrollar los modelos 3D necesarios para el entrono virtual, especialmente la utilización de un CAD para el modelado de la Fresadora CNC.
Finalmente, se implemento el prototipo y se realizaron pruebas y se retroalimento el proceso.
13
5. MARCO TEÓRICO
La ingeniería basada en la simulación se ha convertido en una herramienta indispensable para
asistir el diseño y manufactura de componentes de máquinas y productos. La ingeniería virtual es un
método basado en la simulación y muchos autores afirman que contiene el concepto de manufactura
virtual, una tecnología emergente que resume actividades de manufactura computarizada con
modelos, simulación e inteligencia artificial, en lugar de objetos y sus operaciones en el mundo real.
En síntesis, cuando se habla de manufactura virtual, se está refiriendo al modelado de sistemas de
manufactura y componentes con el uso eficaz de accesorios audiovisuales y sensoriales para
simular o diseñar alternativas para un ambiente de manufactura real, a través de un entrono virtual
generado por computadora.
Una de las motivaciones de la manufactura virtual, es la de reforzar la habilidad de predecir los
problemas potenciales antes de que suceda la manufactura real. Y se plantea un primer
acercamiento a la manufactura virtual.
El entorno virtual creado es un marco computacional en el cual las propiedades físicas y geométricas
de sistemas reales son consideradas para simulación, adicionalmente es posible vincular al entorno
periféricos de Realidad Virtual para brindar una sensación de inmersión durante las distintas
simulaciones.[14]
5.1. GRÁFICOS 3D POR COMPUTADOR
El término gráficos 3D por computador, se refiere a trabajos de arte gráfico que fueron creados con
ayuda de computadoras y programas especiales 3D. En general, el término puede referirse también
al proceso de crear dichos gráficos, o el campo de estudio de técnicas y tecnologías relacionadas
con los gráficos 3D.
Un gráfico 3D difiere de uno 2D principalmente por la forma en que ha sido generado. Este tipo de
gráficos se origina mediante un proceso de cálculos matemáticos sobre entidades geométricas
tridimensionales producidas en un computador, y cuyo propósito es conseguir una proyección visual
en dos dimensiones para ser mostrada en una pantalla o impresa en papel.
En general, el arte de los gráficos 3D es similar a la escultura o a fotografía, mientras que el arte de
los gráficos 2D es análogo a la pintura. En los programas de gráficos por computador esta distinción
es a veces difusa: algunas aplicaciones 2D utilizan técnicas 3D para alcanzar ciertos efectos como
iluminación, mientras que algunas aplicaciones 3D primarias hacen uso de técnicas 2D [7].
14
5.2. GRÁFICOS 3D EN TIEMPO REAL.
Hoy en día es posible la simulación mediante cálculos basados en la proyección de entornos
tridimensionales sobre pantallas bidimensionales, tales como monitores de computador o
televisores. Estos cálculos requieren de una gran carga de proceso por lo que algunos
computadores y consolas disponen de cierto grado de aceleración gráfica 3D gracias a dispositivos
desarrollados para tal fin.
El desarrollo de gráficos en tiempo real sirven para generar en el usuario una interactividad que lo
acerque a una experiencia de control del contenido, como los video juegos, simuladores de juego,
sistemas inmersivos; A diferencia del render, este tipo de aplicaciones se hacen en tiempo real a
medida que el usuario manipula la aplicación.
Este funciona por medio de un motor gráfico, que es una parte del código en el que importa los
artefactos (piezas gráficas, animaciones 3D) y hace el trabajo del proceso análogo al render excepto
que sucede mientras la aplicación es manipulada por el usuario
Esto es posible ya que cuenta con metodologías, librerías que hace las veces de un motor de un
automóvil es el de transportar, en este caso las textura y demás partes de la aplicación 3D o assets
(activos), las partes de ese motor serian las diferentes APIs (interfaz de programación de aplicación)
esto se desarrolla por metodologías de programación llamadas árboles de jerarquías BSP (BSP
Tree Hierarchy su nombre en inglés) donde determina qué superficies se cargan en el mundo, y qué
objetos, están realmente en la escena en momento dado, dada su localización en el mundo. Esto se
utiliza a menudo para los objetos del desecho, y también para entresacarlos para reducir el proceso
del AI (Inteligencia Artificial) y de la animación [16].
5.3. PROTOTIPADO Y MANUFACTURA VIRTUAL.
5.3.1. Prototipado Virtual: Existen varias definiciones sobre lo que se conoce como Prototipado
virtual, tomando elementos básicos de cada una de las definiciones, se puede decir que el concepto
de Prototipado virtual se asocia a la metodología que se aplica en el desarrollo de un producto
haciendo uso de tecnologías de la realidad virtual. Por tanto, hace uso de un prototipo virtual para
tomar decisiones de diseño antes de pasar al prototipo real; puede usarse herramientas
computacionales inmersivas o no inmersivas para el desarrollo del prototipo [10].
15
5.3.2. Manufactura virtual: La manufactura virtual se puede definir como una metodología en el
proceso de desarrollo de un producto, donde se evalúa la mejor forma de fabricar un prototipo en
este caso con ayuda de herramientas computacionales inmersivos o no inmersivos y otras
tecnologías asociadas a la Realidad Virtual [10].
5.4. SIMULACIÓN DE PROCESOS DE MECANIZADO
En los procesos de mecanizado debemos tener en cuenta cómo se van a comportar los diversos
materiales en el proceso de manufactura para así optimizar los recursos y mejorar las metodologías
de diseño. Debido a que este tipo de simulaciones deben ser lo más cercanos a la realidad se deben
tener en cuenta los diferentes comportamientos y acciones que puede hacer la máquina objeto de
estudio, un ejemplo de ello son las diferentes técnicas de mecanizado y diferentes tipos de
operaciones de fresado (en el caso de una Fresadora) teniendo en cuenta los movimientos
fundamentales que puede tener la máquina herramienta como lo es el de avance y la profundidad de
corte [10].
5.5. CONTROL NUMÉRICO COMPUTARIZADO (CNC)
Se considera de Control Numérico Computarizado (CNC en inglés Computer Numerical Control), a
todo dispositivo capaz de dirigir el posicionamiento de un componente mecánico móvil mediante
órdenes elaboradas de forma totalmente automática a partir de informaciones numéricas en tiempo
real. Para maquinar una pieza se usa un sistema de coordenadas que especificarán el movimiento
de la herramienta de corte.
Entre las operaciones de maquinado que se pueden realizar en una máquina CNC se encuentran las
de torneado y de fresado. Sobre la base de esta combinación es posible generar la mayoría (si no
son todas) las piezas de industria. Este es, sin duda, uno de los sistemas que ha revolucionado la
fabricación de todo tipo de objetos, tanto en la industria metalúrgica como en muchos otros ámbitos
productivos.
5.5.1. Principios de funcionamiento: El sistema se basa en el control de los movimientos de la
herramienta de trabajo con relación a los ejes de coordenadas de la máquina, usando un programa
informático ejecutado por un computador. En el caso de un torno, hace falta controlar los
movimientos de la herramienta en dos ejes de coordenadas: el eje de las X para los
desplazamientos laterales del carro y el eje de las Z para los desplazamientos transversales de la
torre. En el caso de las fresadoras se controlan los desplazamientos verticales, que corresponden al
eje Z. Para ello se incorporan motores eléctricos en los mecanismos de desplazamiento del carro y
la torreta, en el caso de los tornos, y la mesa en el caso de la fresadora; dependiendo de la
capacidad de la máquina, esto puede no ser limitado únicamente a 3 ejes.
16
5.5.2. Fresadora CNC: Una fresadora (también llamada tupí o trompo en algunos países) es una
máquina-herramienta utilizada para dar formas complejas a piezas de metal u otros materiales.
También se le conoce como "ruteadora", palabra derivada del anglicismo "router", pero su traducción
correcta al español es "caladora". Son máquinas que pueden ejecutar una gran cantidad de
operaciones de mecanizado complejas, como cortes de ranuras, planificación, perforaciones,
encaminado, etcétera.
Dependiendo de la complejidad de la fresadora, ésta puede, o no, tener un control numérico por
computador (CNC) el cual sea capaz de recibir instrucciones para su operación automática.
Los movimientos en el trabajo realizado con una fresadora observan el dictado de los planos
cartesianos; pues en un caso sencillo, como una fresadora manual, la acción será la de una vertical
o una horizontal, más en una máquina más sofisticada, la dirección de movimientos puede ser
combinada, aún en mayor cantidad de movimientos axiales, los cuales se subscriben a la regla de la
mano derecha. Su forma básica es la de un cortador rodante que gira en el eje vertical. El cortador
se puede mover en tres dimensiones y, en muchos casos, lo puede hacer con diversas orientaciones
con relación a la pieza a mecanizar. Esto contrasta con el taladro, que sólo se puede mover en una
dimensión mientras corta.
El movimiento a lo largo de la superficie de la pieza a mecanizar se lleva a cabo, generalmente,
mediante una tabla móvil en la que se monta la pieza a mecanizar, preparada así para moverse en
dos dimensiones. Se puede operar las máquinas fresadoras tanto manualmente como mediante
CNC [11].
5.5.3. CAD: (Computer Aided Design) el diseño asistido por computador o un PC es el uso de un
amplio rango de herramientas computacionales que asisten a ingenieros, arquitectos y otros
profesionales del diseño en sus correspectivas actividades.
El diseño asistido por una computadora es además la herramienta principal para la creación de
entidades geométricas enmarcadas dentro de procesos de administración del ciclo de vida del
producto (Product Lifecycle Management) y que involucra software y algunas veces hardware
especial.
5.5.4. CAM: (Computer Aided Manufacturing) la fabricación asistida por computadora también
conocida por la siglas en ingles CAM, hace referencia al uso e un extenso abanico de herramientas
basadas en los ordenadores que ayudan a ingenieros en todas las fases de la mano factura de un
producto incluyendo la planeación del proceso y la producción, maquinado, cronograma,
administración y control de calidad.
El sistema CAM abarca mucha de las tecnologías, debido a sus ventajas, se suelen combinar el
diseño y la mano factura asistidas por computador en los sistemas CAD/CAM.
17
5.6. PLATAFORMAS PARA EL DESARROLLO DE ENTORNOS VIRTUALES
A continuación se describen brevemente algunas plataformas Open Source sobre las cuales se
puede realizar la implementación de sistemas 3D en tiempo real.
5.6.1. VRJUGGLER: Es un entorno multiplataforma y Open Source para el desarrollo de universos
virtuales. Éste permite desarrollar aplicaciones que pueden luego ser ejecutadas en diversos
entornos como CAVE (Cavernas de Inmersión) o HMD (Head Mounted Display), además de distintos
sistemas operativos como Linux, IRIX, FreeBSD, Solaris, Windows y Mac OS X.
VRJUGGLER está compuesto por varios módulos, cada uno de los cuales interactúa con los demás
pero es capaz de ejecutar tareas por si solo. Hay un bloque o módulo principal que se encarga de
mantener la integridad y cohesión necesaria en este tipo de entornos. Este módulo permite además
la ejecución de las aplicaciones desarrolladas en cualquier otro sistema.
Los demás bloques o módulos son los encargados del manejo de dispositivos que permiten controlar
la configuración, el control, la adquisición de datos y la representación en pantalla [13].
5.6.2. JAVA 3D: La API (Application Program Interface) Java 3D es una interfaz de programación
utilizada para realizar aplicaciones y applets con gráficos en tres dimensiones. Proporciona a los
desarrolladores un alto nivel para crear y manipular objetos geométricos 3D y para construir las
estructuras utilizadas en el renderizado de dichos objetos. Se pueden describir grandes mundos
virtuales utilizando estos constructores, que proporcionan a JAVA3D la suficiente información para
hacer un renderizado de forma eficiente.
El modelado de Java 3D se basa en múltiples objetivos, siendo el principal el rendimiento. Se
tomaron diferentes decisiones relativas al modelado de tal forma que las implementaciones de Java
3D proporcionaran el mejor rendimiento posible a las aplicaciones de usuario. En particular, cuando
se realizan distribuciones, se elige la alternativa que permite obtener mejores prestaciones en tiempo
de ejecución.
Otros objetivos importantes de Java 3D son:
Proporcionar un amplio conjunto de utilidades que permitan crear mundos en 3D interesantes
Se evitó incluir características no esenciales o que se podrían colocar directamente sobre Java
3D.
Proporcionar un paradigma de programación orientado a objeto de alto nivel para permitir a los
desarrolladores generar sofisticadas aplicaciones y applets de forma rápida.
Proporcionar soporte a cargadores en tiempo de ejecución. Esto permite que Java 3D se adapte
a un gran número de formatos de ficheros, como pueden ser formatos específicos de distintos
18
fabricantes de CAD, formatos de intercambio o VRML 1.0 (Virtual Reality Modelling Language) y
VRML 2.0 [14].
5.6.3. OpengL: OpenGL es una especificación estándar que define una API multilenguaje y
multiplataforma para escribir aplicaciones que produzcan gráficos 2D y 3D. Fue desarrollada por
Silicon Graphics Inc. (SGI) en 1992. Su nombre viene del inglés Open Graphics Library, cuya
traducción es biblioteca de gráficos abierta (o mejor, libre, teniendo en cuenta su política de
licencias). OpenGL se utiliza en campos como CAD, realidad virtual, representación científica y de
información, simulación de vuelo o desarrollo de videojuegos, en el que su principal competidor es
Direct3d de Microsoft Windows [15].
5.6.4. DirectX: Son una colección de APIs creadas y recreadas para facilitar las complejas tareas
relacionadas con la programación de juegos en la plataforma Microsoft Windows. El kit de desarrollo
de DirectX (competencia de OpenGL) es distribuido gratuitamente por Microsoft. Las bibliotecas de
DirectX eran originalmente distribuidas por los desarrolladores de juegos con sus paquetes, pero
más tarde fueron incluidas en Windows. Su última versión es la 10 [12].
5.7 MANUFACTURA VIRTUAL Y TELECONTROL
La Manufactura Virtual (VM, Virtual Manufacturing) es el uso de modelos y simulaciones
computarizadas de procesos de manufactura, para ayudar en el diseño y producción de elementos
manufacturados. Se define también como un ambiente sintético integrado en el cual se pueden
abarcar todos los niveles de decisión y control.
A continuación se muestran las diapositivas usadas para dar una explicación del paradigma de VM.
En la industria moderna tenemos, por un lado, las ventajas y facilidades que nos permite el
computador, esto es, teniendo un número de oportunidades generar una información, la cual,
después de ser iterada hasta madurar, nos sirve para planear, cambiar, controlar o manejar un
proceso específico; esto lo llamamos “Hacerlo en el computador”como se observa en el modelo en
la figura 5.1. Figura 5.1. Modelo de manufactura virtual; tomado del documento SOFTWARE DE ORIENTACIÓN DIDÁCTICA DE MANUFACTURAEXPERIMENTAL CNC .escrito por Oscar Mauricio Ochoa Alvares de
Universidad Nacional de Colombia.
19
Un ejemplo claro de esto es cuando usamos un software CAD/CAM para realizar el modelo de una
pieza; Lo primero que enfrentamos es la idea que tenemos de lo que deseamos hacer, no sirve de
nada sentarse al frente del computador sin saber qué es lo que se desea hacer. Nuestra idea la
pasamos al software CAD/CAM, el cual como primer resultado nos dará una imagen tridimensional
del elemento que teníamos en nuestra imaginación. Luego esta pieza madura a través de la
experiencia del diseñador, el cual modifica su idea con la ayuda del software, hasta que está madura
a un punto de satisfacción. Paso seguido, el usuario puede generar la rutina de mecanizado que
debe realizar la máquina para materializar su pieza, agregando toda una serie de parámetros de
manufactura [manufactura].
5.7.1. Tele operación: Desde hace mucho tiempo, el hombre ha utilizado distintas herramientas
para poder aumentar el alcance de su capacidad de manipulación. En un principio, se trataba más
que de partes de madera utilizados para hacer caer el fruto de algún árbol. En la actualidad existen
dispositivos más complejos, como por ejemplo pértigas que, accionando un enganche o pinza a
distancia, permiten alcanzar objetos que se encuentran en estanterías o lugares de almacenamiento
de difícil acceso.
Ahora puede decir que la tele operación es en sí mismo, un conjunto de tecnologías que
comprenden la operación o gobierno a distancia de un dispositivo por un ser humano. Por tanto, tele
operar se basa en la acción que realiza un ser humano de operar o gobernar a distancia un
dispositivo; mientras que un sistema de tele operación será aquel que permita tele operar un
dispositivo, que se denominará dispositivo tele operado, en la figura 5.2 se ilustra de manera clara.
[6]
Figura 5.2. Sistema común de tele operación. Imagen tomada de el artículo: Tele operación de Robots:
Técnicas, Aplicaciones, Entorno Sensorial y Tele operación Inteligente del doctorando Emmanuel Nuño Ortega
20
5.7.2. Tele Supervisión: Se puede decir que la tele supervisión es la acción de estar al pendiente
de una situación o circunstancia que se da cuando se en cuenta haciendo presente en un lugar
remoto. La tele supervisión se consigue realimentando coherentemente al ser humano suficiente
cantidad de información sobre el entorno remoto, un ejemplo de ello es la figura 5.3. [6]
Figura 5.3 ejemplo de Tele supervisión de un sistema de tele supervisión.
21
6. DESARROLLO DEL PROYECTO
6.1. SÍNTESIS
En el desarrollo de este proyecto se exploraron diferentes herramientas para el desarrollo de
aplicaciones manufactura virtual, en estos procesos se exploro una serie de plataformas que se
adecuen a las necesidades, donde se definió la posibilidad de hacer aplicación de manufactura
virtual así como también de tele operación.
Para ello se trabajo lo pertinente a un entorno virtual, como hacer un modelado 3D para este tipo de
aplicaciones, qué tipo de formato es el más conveniente para este tipo de aplicaciones, en qué
formato exportarlo, su debida organización para su posterior programación en la plataforma
escogida.
También es importante si la plataforma escogida puede manejar los puertos de salida que tiene
normalmente un computador, ya que es una aplicación que se va a manejar desde los dispositivos
de entrada ordinarios. También es importante si es accesible, es decir si se puede implementar en
un ambiente web para que sea manejado desde un navegador.
6.2. METODOLOGÍA.
La metodología que se uso para el desarrollo del software fue la de ingeniería de software, también
se uso la metodología para el desarrollo de entornos virtuales UP4VED para realizar
documentación sobre el ciclo de vida del proyecto, todos los documentos donde se especifica la i
ingeniería estas escritos en los anexos a este documento en formato digital para facilitar el proceso
de lectura de esta memoria de trabajado de grado. Los pasos que se realizaron fueron los
siguientes.
Se entrevisto a personas que tenían experiencia sobre el proceso de manufactura, más
precisamente sobre el proceso de mecanizado, se aprendió sobre las potencialidades de la
máquina herramienta, y su uso, también se entrevisto a los operarios de el laboratorio de
manufactura y se indago sobre cómo se manejaba la máquina , la importancia de los protocolos su
uso el proceso que generalmente se le enseña a los estudiantes de la universidad autónoma de
occidente y los pasos a seguir para realizar el proceso de mecanizado de una pieza.
También se entrevisto a profesores como en el caso de el ingeniero Miguel Ángel Hidalgo sobre lo
que se esperaría de una aplicación donde se pueda realzar algún proceso de manufactura
En base a esto se realizo y se acoto los requerimientos y se procedió a realizar los siguientes pasos
para desarrollar la aplicación. A continuación, se realizará un breve recorrido por cada una de las
etapas del proceso de desarrollo usado para este proyecto.
22
6.3. REQUISITOS.
Al definir los requisitos para el desarrollo de la aplicación se realizó entrevista a personas que tienen
amplia experiencia en los procesos de manufactura y a profesores que dictan este tipo de temas,
los requisitos para la aplicación se encuentran en el anexo 1. (Requisitos funcionales y no
funcionales). Aquí se divide en diferentes etapas:
Definir los requerimientos.
Definir requisitos funcionales.
Requisitos no funcionales.
Definición de los casos de uso
Clasificador Del Entorno Virtual.
Formalización Entidades Descriptivas 3D.
Árbol de Jerarquía del Entorno Virtual.
Storyboard.
Definición de los casos de uso: Aca un ejemplo de un diagrama de uso.
Número: CU_06
Nombre de Caso de Uso: “cargar máquina herramienta (fresadora)”
Actor(es): operario.
Descripción: carga los objetos y artefactos, referentes a la fresadora cnc.
Encargado: Edwin gallego.
Tabla 1. Carga de objetos.
Flujo de Eventos
Curso normal Alternativas
1. El caso de uso se lanza una vez se inicia el sistema
2. finaliza el caso de uso.
Requerimientos Especiales
Precondiciones Poscondiciones Puntos de Extensión
Debe iniciarse el sistema. Debe permitirse el desplazamiento en
el entorno por medio del ratón o
teclado.
Ninguno.
23
Clasificador del entorno virtual: El clasificador ayuda al responsable a definir las caracteristicas
del entorno virtual.
Tabla 2. Clasificador.
Responsable: Edwin gallego
Nombre del Proyecto: DEFINICION DE UNA PLATAFORMA PARA SIMULACION Y
VISUALIZACIÖN 3D DE PROCESOS DE MECANIZADO EN UNA FRESADORA CNC DE
TRES EJES.
Fecha última revisión: / / Nombre quien realiza: edwin gallego
Pregunta Respuesta
1. ¿El EV será usado para visitas guiadas, sin ningún tipo de
interacción? Si: __ No: X
2. ¿El EV será multiusuario? Si: __ No: X
3. Si el EV es monousuario ¿Será accedido vía Internet o Intranet? Si: No: _x_
4. ¿El EV utilizará dispositivos de realidad virtual? Si: __ No: X
5. ¿El EV servirá para el aprendizaje? Si: X No: __
6. ¿El EV servirá para realizar relaciones sociales? Si: __ No: X
7. ¿El EV tendrá elementos 3D? Si: X No: __
8. ¿El EV tendrá elementos multimedia? Si: X No: __
9. ¿El EV tendrá avatares guiados por agentes? Si: x__ No:
10. ¿El EV controlará total o parcialmente el modelo de personalidad
para el avatar? Si: _ No: X
11. ¿El EV controlará total o parcialmente el modelo de razonamiento
para el avatar? Si: __ No: X
12. ¿El EV controlará total o parcialmente el modelo de percepción para
el avatar? Si: __ No: X
13. ¿El EV despliega ventanas emergentes por interacción del usuario
con el entorno y sus objetos? Si: X No: __
14. ¿El EV tendrá similitud con un lugar real? Si: X No: __
15. ¿En el EV se generan ayudas como voces indicando que hacer
cuando se quiera realizar una función específica? Si: x No:
24
Entidades Descriptivas 3D: En esta sección se describe las partes del entorno virtual.
Tabla 3. Entorno virtual.
Responsable: Experto EV
Nombre del Proyecto: DEFINICION DE UNA PLATAFORMA PARA SIMULACION Y
VISUALIZACIÖN 3D DE PROCESOS DE MECANIZADO EN UNA FRESADORA CNC
DE TRES EJES
Fecha última revisión: / / Nombre quién realiza: edwin gallego
FORMALIZACION ENTIDADES 3D
Entidades 3D Lista de objetos 3D que forman la entidad Observacione
s
Fresadora CNC Bancada, Cabezal, Mandril, Husillo, Panel
de control, Carro transversal, Carro
longitudinal, Contra cabezal.
Mesa de laboratorio Base, patas, cajones
ÁRBOL DE JERAQUIA
25
Storyboard: Con el history board se hace un borrador, de las interacciones que va a llevar la aplicacion.
Tabla 4. History board.
6 Carga del código G - ISO CU asociado:
03
Descripción:
en esta descripción de la
sección salir de la
aplicación
Acción:
si el usuario no a guardado
saldrá primero la ventana de
guardar
si ha guardado saldrá de
la aplicación
Comportamiento:
se espera que el usuario
haga clic en la pestaña
Salir para salir de la
aplicación o en la x en
póster la parte superior
derecha de la aplicación.
Despliegue de ventanas en la pestaña archivo
26
6.4. ANÁLISIS Y DISEÑO.
El análisis de la aplicación está escrito en el anexo 2 y se escudriña los casos de uso propuestos y
se describe su funcionamiento, y su diseño hacemos la propuesta de cómo va ser implementada
los casos de uso, en el anexo 3 se especifica cada uno de ellos.
6.5. EXPLORACIÓN DE PLATAFORMAS.
Una vez tomado en consideración los diferentes factores necesarios para la escogencia de la
plataforma; Los comparamos con las diferentes necesidades con las características que más se
ajustan. Vrjuggler es un API en c ++ que posee una gran librería para el desarrollo de entornos
virtuales y aplicaciones, como también para dispositivos necesarios para hacer aplicaciones de
realidad virtual.
JAVA3D es un api el cual posee una librería lo bastante robusta para el desarrollo de aplicaciones
3D tanto animaciones, como también desarrollos en tiempo de ejecución, es compatible con el resto
de APIs de JAVA y es multiplataforma, Blender es una plataforma que no solo se modela son
también se puede hacer tanto animaciones como aplicaciones en tiempo de ejecución y su leguaje
de programación es PHYTON. Los tres tienen la misma cantidad de cualidades y cumplen en ese
aspecto con las cualidades de las necesidades que se necesitan solventar.
Ahora Vrjugler es un lenguaje de programación de bajo nivel y desde su instalación se debe hacer
de manera cuidadosa, JAVA3D su instalación es más rápida y eficiente, pese que en el sistema
operativo Linux hay que instalar sus librería de manera manual, en Windows se instala como una
aplicación cualquiera. En Blender, se instala en Windows de manera similar en otros sistema
operativo como Linux solo ha que compilar su archivo de instalación.
JAVA3D en su estructura de programación es de nivel medio no necesaria mente posee todo el
control para dárselo al usuario pero su arquitectura de programación es muy amable, Blender se
programa en el lenguaje phyton y es de alto nivel, aun así no le da al desarrollador, el control que
necesita para el uso de otro tipo de programación para enriquecer el entorno virtual.
JAVA3D al ser compatible con las demás APIs de java y la Sun Microsystems puede comunicarse
con clases y aplicaciones independientemente de la as clases estén o no llevando las librerías de
JAVA 3D, Vrjuggler posee gran cantidad de clases periféricos de realidad virtual, pero no van a ser
necesarios en la investigación, ya que solo vamos a manejar entornos virtuales. En su caso Blender.
Solo se puede trabajar con el software no se puede comunicar con otras aplicaciones.
La documentación de Vrjuggler es buena, existen documentación por parte de los desarrolladores y
Wiki todos enfocados en desarrollo de entornos virtuales inmersivos. JAVA 3D posee aparte de la
documentación de la compañía desarrolladora, existen ejemplos, publicaciones hechos por los
27
desarrolladores que usan la herramientas de forma frecuente y no solo son enfocados a entornos
virtuales sino también en diversas aéreas tales como educación, militar, etc. la documentación de
Blender esta mas enfocada al área de animación y en algunos casos, acercamiento al desarrollo de
videojuegos.
Los antecedentes que posee JAVA en entornos virtuales, enfocados en el desarrollo de procesos de
manufactura son diversos, no solo en esta área, sino también en robótica, videojuegos, y
aplicaciones enriquecidas. Vrjuggler se han hecho algunos acercamientos en el desarrollo de
entornos virtuales inmersivos en manufactura, por el contrario Blender no posee ningún antecedente
al respecto.
También fue necesario averiguar cómo implementar la aplicación en un ambiente web, así que
indagando y explorando la plataforma, se averiguo que JAVA tiene amplios antecedentes y
documentación en este tipo de aplicaciones, en el caso de Vrjuggler no se encontró antecedentes
sobre implementación en un ambiente web. Y en el caso de blender tampoco se encontró.
6.6. MODELADO DE LA FRESADORA.
En la definición de la plataforma, se realiza para desarrollar un prototipo que demuestre que es
posible hacer aplicaciones de manufactura virtual en la plataforma escogida, aunque prácticamente
se vuelca el esfuerzo en escogerla, también es importante tener en cuenta el modelado ya que de
esta manera se puede representar de una forma más acercada los diferentes resultados de las
interacciones de la máquina con el usuario.
Lo primero que se hizo fue una herramienta de modelado capaz de reproducir con precisión la
fresadora CNC objeto de estudio. Para realizar el modelado se uso la herramienta, Solid Edge V20,
esta herramienta es optima para desarrollar este tipo de modelados, tiene la posibilidad de
realizarlos por partes, y una vez realizados, puedes ensamblarlos, y así tener un nivel de detalle
optimo .
6.7. EXPLORACIÓN DE FORMATOS DE MODELADO.
En la exploración de los formatos de modelado 3D, se escogió una serie de formatos podrían
aceptar la plataforma escogida en este caso JAVA3D, los formatos fueron. 3DS propio de las
herramientas de Autodesk 3Dmax, X3D (extensible 3D) que se caracteriza por ser un estándar
abierto, VRML(Virtual Reality Modeling Language) que es un lenguaje de modelación de realidad
virtual en el que se puede crear ambientes virtuales e interactuar con ellos, otros tipo como el
formato DXF (Drawing Exchange Format) especializado en dibujos asistidos por computadora y por
último el formato obj (Wavefront Object) que es un formato que solo representa la geometría de
objetos 3D, y el archivo mtl (Material Library File), que sirve como un tipo de librerí , donde se puede
adicionar al archivo obj. Las texturas.
28
Antes decidir que formato escoger el formato correspondiente, primero decidimos verificar que
cargadores estarían disponibles para la plataforma se escogió, el de mejor implementación es el
cargador vrml-97 para java 3D, ya que es posible colocarlo en un ambiente Web y se puede cargar
dentro de java con las librerías de java 3D.
En java 3D se puede cargar puede cargar por defecto los archivos. Obj (wavefront object), para los
demás formatos es necesario que tenga lo que se conoce como loaders, o cargador poder usar los
archivos 3D en java3d.
El primero es el formato de archivo. 3DS que es propio de 3D Max. Lo primero que se hizo fue
buscar ejemplos de cómo se comportaba en Java3d Posterior mente se verifico que característica
tenía el formato pero decidimos que como era propio de una herramienta de modelado con una
licencia paga, decidió no optar por ese formato. Figura 6.1. Modelo den formato 3Ds.
Posterior mente se probo con los archivo DXF y puede cargar con java 3D y aunque carga
geometrías, también tiene licencia propietario además solo sirve para carga no encontré la forma de
anexar partes de un tipo de piezas y anexarlas a otras.
29
Figura 6.2. Modelo den formato DXF.
En el caso del archivo. Obj que es un tipo de formato de archivo libre, probamos ejemplos y cargaba
sin problemas, pero había problemas, para cargar las texturas del archivo mtl. Se hicieron prueba
pero no se que impedía la carga de el archivo de texturas. Figura 6.3. Geometría exportada en formato waveFront object.
En el caso del formato Vrml que es un formato de archivo libre sirve para modelar directamente
ambientes virtuales, es compatible con java a través del cargador j3d-Vrml97.jar y puede vincularse
a un ambiente Web
30
Figura 6.4. Formato de archivo VRML
Por esa razón se escogió el formato Vrml, como un formato amigable y más versátil que los
anteriores desafortunadamente no se pudieron colocar texturas solo se colocaron colores primitivos.
Cuando se escogió el formato y el cargador lo primero que se hizo es hacer un programa que pueda
cargar desde la plataforma escogida que en este caso es Java 3D el modelo ensamblado desde la
herramienta de desarrollo Solid Edge. Tuvimos una carga exitosa aunque para acceder a las
diferentes partes de la máquina modelada no nos era posible ya que se cargaba como un todo.
Así que decidimos cargar los diferentes archivos vrml , por separado se propuso colocar todas las
partes en transformgroups distintos y así armarlos dentro del Canvas3d pero se decidió aprovechar
las capacidades del mismo vrml así que se optó por cargar las partes vrml en un archivo de donde
se llaman y usando jerarquías de la forma que se muestra en la figura 6.5.
Figura 6.5. Jerarquía del archivo VRML
31
Cargado la máquina herramienta de esa forma se pudo apreciar que había problemas, ya que se
encontraban en posiciones distintas a como se había previsto como se muestra en la figura 6.6.
Así que se decidió volver a revisar las partes de la fresadora modelada, percatándose de que las
partes se encontraban en ejes distintos y a la hora de la exportación al formato vrml no solo cargaba
la geometría de manera errónea, sino también cargaba las luces de la herramienta de modelado, las
cámaras y los puntos de vista de solid edge, por ese motivo se debió tomar las siguientes medidas.
Figura 6.6 Archivo VRML sin tratamiento.
Se fijó cada una de las piezas de la máquina en una sola posición de referencia. Una vez exportado
el formato se edito directamente los archivos y se quitaron los puntos de vista, las luces y la vista de
las cámaras para que solo quedara la geometría Cuando se cargo de nuevo la máquina, se
comporto como se había esperado todos, las partes se ubicaron en el eje.
Se usaron los parámetros de Denavit-Hartenberg (ver el anexo 5) para ubicar respectivamente las
diferentes partes de la máquina en el formato vrml y posteriormente se carga en el canvas3D del
programa de la fresadora, obteniendo el resultado esperado.
6.8. ARQUITECTURA.
La arquitectura consta de varios programas, el entorno virtual, un programa cliente servidor que
maneja una cámara Web, un programa cliente servidor para que envía los comandos de la máquina,
un programan cliente servidor, que recibe imágenes del el computador que maneja la fresadora.
32
Todo esto embebidos en un ambiente Web, para que los usuarios puedan acceder desde Internet,
también cuenta con su página Web donde el usuario puede acceder a una serie de tutoriales y
ayudas para aprender y manejar la fresadora CNC.
Basándose en las necesidades y en los requisitos escritos en el anexo 1 se empezó a desarrollar
una aplicación que pudiera explotar en gran medida todo el potencial de la plataforma escogida. Y
se pudiera hacer un acercamiento importante al desarrollo de aplicaciones de proceso de
manufactura virtual.
La aplicación consta de cuatro capas donde tiene lo siguiente:
Capa de información: En esta capa el usuario tiene la información necesaria para realizar
actividades en la a aplicación.
Capa de entorno virtual: En esta capa el usuario puede manejar el entorno virtual.
Capa de tele operación: En esta capa el usuario puede manejar la máquina de manera remota.
Capa de tele supervisión: Ya que la tele operación solo se puede hacer por un solo usuario a
la vez, la tele supervisión, puede monitorear de manera remota las operaciones hechas por la
tele operación.
33
7. IMPLEMENTACIÓN
Durante esta etapa se consideró usar la plataforma Java y JAVA3D para desarrollar las diferentes
parte de la aplicación como lo es, el entorno virtual, la aplicación de en vio de comandos, el
programa de en vio de archivos a la maquina, la aplicación de la cámara web, la aplicación de
supervisión de la máquina herramienta. Donde el usuario no solo pueda aprender a manejar una
máquina herramienta de manera virtual sino que también pueda tener una experiencia real con la
fresadora y afinar sus habilidades en los procesos de manufactura, en esta parte hablaremos sobre
el proceso de desarrollar esta aplicación.
Las exploraciones que se realizaron y los resultados obtenidos. Tanto en la implementación de el
entorno virtual sino también con la implementación del módulo de tele operación y tele supervisión.
7.1. COMPONENTES.
La aplicación para el desarrollo de manufactura virtual una serie de componentes, que permite al
usuario explorar las capacidades de la plataforma, embebidas por las siguientes partes, un pagina
Web cliente donde se puede tele operar la máquina, una página de la misma forma, pero que su
diferencia es la de supervisar el proceso de mecanizado de la fresadora de tres ejes, otra página .
Figura 7.1 Arquitectura de la aplicación.
34
Web donde se encuentra la aplicación del entorno virtual donde se puede visualizar, interactuar representar las funciones básicas de la máquina herramienta.
Un programa de envío de archivos donde se puede enviar de manera remota, archivos con rutina
hechas para la máquina. Y una página Web, anexada a la aplicación donde el usuario pueda
consultar el manejo y tenga ayudas que le permita manejar de manera adecuada la aplicación ya
que manejar la fresadora CNC de tres ejes requiere tener unas condiciones básicas.
7.1.1. Tele operación:
Programa cliente de envío de comandos: Con este programa el usuario puede enviar
comandos directamente a la máquina de manera remota. Son principal mente comandos
hechos por el teclado.
Programa cliente de supervisión de la fresadora: Con este programa el usuario puede ver
de manera remota las interacciones que hace la máquina con el usuario y puede ver las
diferentes funciones de la máquina .
Programa cliente de la cámara web: Con este programa el usuario pude visualizar por medio
de la cámara web el proceso de mecanizado de manera remota, y también permite el usuario
hacer configuraciones que tenga que ver con el proceso mismo de mecanizado como colocar la
pagina en el punto de referencia de el material.
Programa Cliente de la captura del monitor: Este programa captura de la pantatalla del
computador donde se manipula la fresadora este la envía al servidor de la supervisión a la
fresadora, que a su ves lo envía al cliente que maneja el usuario .
Programa cliente de envío de archivos: Esa aplicación el usuario puede enviar archivos
propios de la máquina, que pueden ser hechos desde otras aplicaciones como master cam.
Programa del cliente de la cámara de la cámara remota: Este programa se conecta al
computador del laboratorio del laboratorio de manufactura, este programa envía los datos al
servidor, que a su vez lo envía a el programa cliente de la cámara Web.
Servidor de envío de comandos: Este programa recibe todos los comandos que envía el
usuario y los ejecuta.
Servidor de supervisión de la fresadora: Este envía en imágenes las funciones que tiene la
máquina y la configuración.
Servidor de la cámara Web: Este programa envía las imágenes al usuario dadas por la cámara
Web.
35
Servidor de envío de archivos: Este programa recibe los archivos dado es por el cliente y los
aloja en la carpeta donde la máquina puede activarlo.
Tele supervisión: A excepción de los programas de envío y recepción de archivos, y la de
recepción y envío de comandos son los mismos programas de tele operación.
Entorno virtual: Este programa es donde el usuario puede manipular en un entorno virtual una
fresadora de tres ejes en donde maneja los carretes de la máquina, puede cambiar el avance de los
movimientos de la máquina, puede llevar los ejes de la fresadora a los puntos de referencia
respectivos.
Pagina Web: La pagina Web se caracteriza con una introducción a la máquina, conceptos básicos
de la máquina herramienta, de los procesos de mecanizado Tutoriales para manejar de manera
adecuada la máquina y una ayuda con preguntas frecuentes sobre qué hacer con inconvenientes
con la máquina.
7.2. ENTORNO VIRTUAL.
En la implementación del entorno virtual, se debió aprender los pormenores de la metodología de
programación ya que al manejar gráficos en 3D en este caso JAVA3D, ya que se debe manejar en
tres dimensiones.
Afortunadamente cuenta con el estándar de java que hace más amigable su programación, también
se uso las librerías de Java swing para controlar el entorno virtual y se programo las funciones
básicas de la fresadora que en este caso es la fresadora EMCO PC MILL 55 de la compañía
intelitek que maneja gran cantidad de funciones y muy buena versatilidad en los procesos de
mecanizado.
Por cuestiones de tiempo y de experiencia se decidió acotar a las funciones básicas de la máquina,
como lo es el movimiento de los carretes, programar su avance manejar las funciones de encendido,
apagado parada de emergencia, programación de el avance de los carretes y llevar la aplicación a el
punto de referencia.
7.2.1. Carga del formato vrml en Java3D: En la implementación de esta parte de la aplicación lo
que se hizo primero fue aprender a cargar un archivo vrml se debió tener en cuenta que java 3D no
carga archivos vrml por defecto, lo que se debió hacer fue primero buscar un loader que pueda
cargar archivos Vrml en Java en este caso se uso un loader libre llamado J3d-vrml97 con este
cargador se anexa a las propiedades del programa principal y se llama como si fuera una librería y
se invoca los métodos pertinentes para la carga del archivo vrml.
36
Figura 7.2. Carga de la fresadora en JAVA3D.
7.2.2. Recorrer el archivo vrml: En esta parte de la implementación lo que hizo fue una vez
cargado en el entorno virtual ramado en Java 3D lo que se hizo implementar el a archivo vrml, de tal
manera de que fuera posible prog recorrer el archivo y a su vez acceder a los demás archivos vrml
anidados a la archivo principal.
Una vez se carga el archivo vrml carga las piezas, los ubican en un árbol donde puede acceder a los
nodos de los archivos a través de una lista. Teniendo ubicados cada una de las piezas.
7.2.3. Movimiento de los carretes la fresadora: En esta parte de la aplicación y estando
previamente ubicados todos los nodos de las partes de la fresadora procedemos crear los máximos
y los mínimos de las partes de la fresadora, para acotar sus movimientos y no hacer y no visualizar
movimientos arbitrarios donde se pierda la experiencia del usuario en el uso de la máquina
herramienta.
Ya definido esto se procedió a hacer una conexión entre la lista de los nodos y la interfaz gráfica
cuando esto está conectado, cuando el usuario interactúe con la interfaz gráfica la pieza activa el
proceso de movimiento donde cambia los valores a la matriz de transformación en la posición del
la pieza cargada desde su posición mínima hasta la posición máxima.
37
Figura 7.3. Movimiento de los carretes.
7.2.4. Avance de la máquina herramienta: En esta parte de la implementación el usuario está en
la posibilidad de incrementar el avance de los carretes de la máquina, en un porcentaje de la
velocidad total a una máxima velocidad como ya se puede mover los carretes, lo que se hace
empezar a modificar el tiempo en que el hilo debe cambiar la posición del componente de la
fresadora.
7.2.5. Encendido de la máquina: En esta parte de la implementación lo que se hace es habilitar la
interfaz gráfica del usuario así acceder a los controles de la fresadora, lo que se hace es darle a una
propiedad verdadera a el método de habilitación de la interfaz.
7.2.6. Apagado de la máquina: En esta parte de la aplicación se hizo lo opuesto se tomo esa
propiedad Booleana de la interfaz donde el botón de apagado esta inicializado falso, y se lleva al
método que habilita los controles de la máquina, y los des habilita
7.2.7. Paro de emergencia: En esta parte de la aplicación, no solo deshabilita los componentes que
mueven los carretes del a máquina sino que detiene los cambio de la posición que se visualiza en el
canvas.
38
Figura 7.4. Fresadora con interfaz básico de manejo.
7.2.8. Posiciones de referencia: En esta parte de la aplicación lo que se hizo es que el usuario
tuviera la posibilidad de llevar los carretes de la fresadora a sus puntos mínimos en donde es la
referencia de la máquina.
7.3. TELE OPERACIÓN Y TELE SUPERVISIÓN.
En el momento de desarrollar esta parte de la tele operación el usuario está en capacidad de
conectarse con la máquina real y ejecutar acciones en ella, por eso es importante saber que su
arquitectura es punto a punto así si dos usuarios desea operar la fresadora al Tiempo, no van a
poder así que solo un usuario puede operar de manera remota la máquina.
El operario posee varias herramientas para que puede acceder a todas las funciones de la máquina
puede enviar comandos por el teclado, puede configurar los puntos de referencia de la fresadora
con respecto a la pieza a maquinar, puede visualizar la pieza en tiempo real a través de una cámara
Web y si el usuario tiene echo previamente un archivo para la con código G para la máquina lo
puede enviar a través de la aplicación, configurarla y correr el programa y ejecutar el programa.
En la parte de tele supervisión puede ser accedido por varios usuarios allí se puede visualizar lo que
está haciendo el operario en forma remota pude ver en tiempo real lo que está sucediendo a través
de la cámara Web y monitorear como el operario está usando la fresadora.
39
7.3.1. Cliente y servidor de la aplicación de envío de comandos: En la implementación de esta
aplicación se paso por varias etapas, la primera era investigar cómo funciona la máquina
herramienta que fue el caso de estudio, en este caso la EMCO PC MILL 55 luego aprende como
acceder a ella de forma remota y como enviar información a la máquina y como la fresadora
interpretaría esa información enviada, para ello buscamos antecedentes donde se haya hecho este
tipo de aplicativos con fresadoras y más precisamente con la fresadora EMCO pc mill 55, se
encontraron varios artículos, y se empezó a corroborar la información de la fresadora.
Una vez corroborada la información empezó una primera plantación que consta de lo siguiente
Enviar los datos de referencia directamente a la máquina ya que en una primera instancia la meta
era manejar solamente los carretes de la fresadora así que se debía hacer una arquitectura cliente-
servidor donde el cliente envía los datos y el servidor los recibe y los envía por el puerto RS-485
hacia la máquina, pero antes se debía estudiar qué tipo de información enviaba el programa
propietario de la máquina herramienta que usualmente utiliza así que con un programa que lee los
puertos de el computador se observo que tipo de datos enviaba la máquina y recibía el programas,
probamos encender y apagar la máquina, como funcionaba el paro de emergencia, que datos
enviaba una vez mandaba el comando de mover los carretes en una dirección u otra pero nos dimos
cuenta que los datos no eran lo que esperábamos, ya que no importaba hacia donde enviara los
carretes de la fresadora lo que enviaba era los mismos datos donde enviara los carretes de la
fresadora lo que enviaba era los mismos datos
Figura 7.5. Datos capturados desde el computador a la fresadora.
40
Ya que no sabíamos que datos de referencia enviar se debía de cambiar de estrategia para poder
controlar la máquina, así que la nueva estrategia no era controlar la máquina directamente sino
controlar el computador de la máquina y manipular el software propietario de manera remota.
Evitando manejar directamente el puerto serie del computador y accediendo a todas las
funcionalidades de la máquina.
Para realizar esta nueva forma de manipulación decidimos buscar que elementos nos podía servir
par a el desarrollo de una aplicación cliente servidor, también como capturar los eventos del teclado
y el Mouse, enviar dichos eventos y como convertirlos en acciones en el computador de la fresadora.
Para ello lo que se hizo fue hacer un programa que escuche los eventos del teclado con las clases
KeyEvent, KeyListener, MouseEvent, MouseListener, MouseMotionListener; enviar esos eventos
capturados por medio de Sockets a través de un cliente luego hacer un programa que conste de un
servidor que reciba estos eventos y los convierta en acciones que se realicen a través de la clase
Robot. Propias de el lenguaje Java.
7.3.2. Cliente y servidor de la aplicación de la cámara remota: En esta parte de la
implementación se uso un Framework de Java que se llama Java Media Framework que como su
nombre lo indica es un Framework en el cual se usa para hacer aplicaciones donde se reproduzcan
audio, video y con el conocimiento de sockets que tenemos se hizo una aplicación cliente servidor,
donde el usuario una vez se active la concesión entre los dos programas pueda activar la Camia
Web y enviar al cliente las imágenes en tiempo real, esto se hizo capturando una imagen a la vez, a
través de un hilo que constantemente tomaba una foto lo convertía en una arreglo de bytes y lo
enviaba al cliente donde le daba la sensación al usuario de movimiento.
Ya teniendo esto realizado se busco de alguna forma re utilizar el programa para el propósito de la
supervisión de el proceso en la parte de tele supervisión.
Así que se cambio la arquitectura de la siguiente forma, se desarrollo un servidor donde se pudieran
conectar varios usuarios a la misma cámara.
Para implementarlos en un ambiente Web, es necesario modificar el programa en applets que son
compatibles con cualquier navegador que soporte java.
7.3.3. Cliente y servidor de la aplicación de la supervisión de la fresadora: De la misma forma
que se realizo el programa de la cámara también se hizo para la supervisión, pero en vez de usar
una cámara Web se uso un método de la clase Robot en el que se puede capturar la pantalla del
computador, generando una imagen, esta imagen se convierte en una arreglo de bytes y se envía al
cliente donde se vuelve a convertir en formato imagen se imprime en un Label de Java.
Una vez realizado este primer programa se opto también cambiarle la estructura como el programa
de la cámara Web haciéndolo más versátil. Al igual se paso a applets para que pudiera esta en un
ambiente Web.
41
7.3.4. Cliente y servidor de envío de archivo: En esta parte de la aplicación se presento la
necesidad de que el usuario pudiera cargar código G ISO propio de la fresadora y ejecutarlo,
teniendo en cuenta que se puede manipular la máquina de forma remota y también supervisar los
procesos, se decidió hacer una aplicación donde se pudiera enviar archivos a la máquina de manera
remota y ejecutarlos, en esta parte no se pensó que fuera multi usuario sino que solo pueda acceder
el usuario que esta tele operando y para implementarlo en un ambiente Web lo que se hizo fue
convertirlo en applet par a montarlo en una página Web.
La aplicación cliente servidor funciona de la siguiente forma; en el programa cliente se indexa el
archivo y se captura el nombre del archivo activado con el método FileChosser , una vez escogido
el archivo se envía convierte a un arreglo de bytes, pero antes se debe tener en cuenta que el
archivo sea de un tamaño no inferior a 20Mb porque si no se debe utilizar otra metodología de
conversión a arreglo de bytes. Se envía por el servidor al igual que el en nombre del archivo, y a la
hora de volver a pasar el archivo al formato original, a la hora de copiar en el disco duro se escribe
el nombre.
7.4. PAGINA WEB EN EL GESTOR DE CONTENIDO JOOMLA.
En esta parte de la aplicación es donde se registra todo lo pertinente con respecto a la información
sobre la máquina y los procesos de mecanizado, los tutoriales y ayudas con preguntas frecuentes,
así como se describe a continuación
Lo primero que se hizo fue instalar el paquete de XAMMP de la siguiente manera.
1. Se descargòel instalador de XAMPP para tu versión de Windows.
2. Tras descargar XAMPP, se ejecuto el setup y sigue las instrucciones indicadas. Instalar Apache y
MySQL como servicios como se muestra en la figura :
Figura 7.6. servicios recomendados a instalar.
42
3. Una vez que hayas completado la instalación, se verifica que todo está correcto. Haciendo una
visita a la siguiente pagina URL http://localhost/. Si todo ha ido bien, aparecerá esta imagen en el
navegador como lo indica en la figura X.
Figura 7.7. confirmación verificación de instalacion.
Posterior mente se instala Joomla y se hace lo siguiente: El archivo en que se descarga joomla
se encuentra en un archivo de compresión Zip, lo descomprimiremos en la carpeta que se creo en
htdocs, como se muestra en la figura 7.6.
Figura 7.8. Alojamiento de carpeta.
43
Para finalizar la instalación escribimos local host/indice en el navegador para instalar el programa.
Se abrirá el programa de instalación y irá apareciendo diferentes pantallas según se pulse sobre la
opción siguiente, hasta llegar a la siguiente pantalla: En configuración FTP pulsamos en siguiente,
no la configuramos, y así llegamos a la configuración principal.
Figura 7.9. Configuración principal
Se instalan los datos de ejemplo predeterminados. Para finalizar la instalación hay ir a la carpeta
xamp/htdocs/índice y borrar la carpeta installation. Una vez borrada vamos a la opción de
administración, entrando con el usuario admin. y la contraseña .
Figura 7.10. Admin. y contraseña
44
una vez montado el servidor xammp y el cms joomla lo que se hizo es construir una página web
donde el usuario pueda acceder a los pormenores de la aplicación también información relevante
sobre la máquina herramienta, las partes de la máquina el proceso de encendido apagado y la
parada de emergencia también tutoriales sobre el manejo del software winnc, su configuración, el
manejo de la máquina a través del teclado. Todo esto consta de la siguiente forma.
introducción a los prosesos de manufactura.
Conceptos.
introduccion a la fresadora emco pc mill 55.
partes de la máquina .
manejo del software.
llevar al punto de referencia.
movimiento de los carretes de la máquina .
configuracion del el pinto de referencia de la máquina .
cargar codigo GISO.
ejecutar codigo GISo.
45
8. PRUEBAS
En primera instancia se hace una comparación de las diferentes plataformas de desarrollo en donde
existen antecedentes de realizaciones de entornos virtuales, y que se haya realizado aplicaciones
enfocado a la manufactura virtual también se compararon las características propias de las
plataformas y con base a esto se escogió la mas adecuada.
También se hicieron pruebas sobre cuál es el tipo de formato de modelado 3D adecuado para
visualizase en este tipo de aplicaciones, y se uso una forma de exportación teniendo en cuenta las
jerarquías de los grados de libertad de la máquina real, también se exploro la forma de exportarla
para que se pueda usar debidamente en la aplicación, También se hicieron pruebas sobre los casos
de uso propios de la parte operativa de la aplicación ,y funcionalidad. en el anexo 4 se especifica
lo escrito.
8.1. CARACTERÍSTICAS QUE SE PRUEBAN
Se realizaron pruebas a nivel técnico en una de los equipos de la universidad Autónoma de
Occidente en donde se probo el entorno virtual con resultados muy satisfactorios, también se probo
el entorno en un equipo de características medianas con resultados satisfactorios cabe acotar que
la carga de el entorno demoro un poco más.
En la realización de las pruebas de tele operación se hicieron pruebas con el equipo de la máquina
herramienta directamente su rendimiento eran aceptables, ya que este computador tenía unas
característica que dejan mucho que desear, posee un hardware descontinuado, al igual que su
software y su sistema operativo, esto llevo a tener muchas limitaciones y cambiar varias veces de
estrategias de optimización de telecontrol.
En la realización de las pruebas de manejo de la cámara web de manera remota los resultado fueron
satisfactorios tanto así que mejoro la arquitectura de el programa haciendo que un solo servidor
manejara varios clientes a la vez.
En la prueba de el envío de archivo G ISO las pruebas que se hicieron fueron satisfactorios se pudo
enviar un archivo para la fresadora, y visualizarlo de manera remota en el programa propio de la
herramienta Winnc, listo para su ejecución. La aplicación web se pudo cargar en internet Explorer
y google chorme.
8.2. CARACTERISTICAS QUE NO SE PRUEBAN
No se efectuaron pruebas para grandes volúmenes de y de esfuerzo debido a que no se cuenta con
los recursos y el tiempo necesarios. No se efectuaron pruebas de aceptación ya que la aplicación es
solo un protipo para demostrar que la plataforma escogida es la adecuada para este tipo de
desarrollos.
46
9. CONCLUSIONES
Durante el desarrollo del proyecto se puede concluir que, la aplicación construida es una
herramienta útil para la Universidad como método de aprendizaje y desarrollo de aplicaciones en el
área de manufactura, sirviendo como base para investigar a más profundidad en este tipo de
tecnologías y puede servir como iniciativa los miembros del departamento de laboratorios actualizar,
mejorar, optimizar y hace un mejor aprovechamientos de este tipo de recursos.
No siendo la única máquina de control numérico dentro del laboratorio de manufactura de la
Universidad Autónoma de Occidente, se recomienda poder replicar este tipo de aplicaciones para
control numérico computarizado, aprovechando así el beneficio de poder tener un acceso a una red
local compartida y hacerla tele operable. Ya que la arquitectura de los programas son modulares y
se pueden instalar en cualquier equipo.
Hoy en día existen diversas plataformas y aplicaciones donde se puede realizar procesos de
manufactura y tele operación, el cual pueden ser útiles para diversos tipos de procesos, según la
necesidad, pero las herramientas de desarrollo libre poseen una gama amplia de posibilidades de
desarrollo, a raíz de esto se puede concluir que es posible desarrollar, basados en una metodología
adecuada la aplicaciones que puedan simular procesos de manufactura con plataformas de
desarrollo libres, aplicaciones y de tele operación.
Cuando se opto por la plataforma JAVA se tenia muchas expectativas en el momento de realizar
los acercamientos y experimentaciones para probar los alcances que tenia, con éxito se logro
representar la la fresadora de manera virtual, también recorrer su entorno, desarrollar la interacción,
manipular la máquina moviendo los carrete y herramienta, también se le pudo programar acciones
especificas, como la modificación de el avance de la máquina como en la fresadora real, también
se le programo una parada de emergencia, también llevar los carretes de la máquina al las
posiciones de referencia.
Por esta razón se puede concluir que se puede representar gráficamente los procesos que han
sido desarrollados para el manejo y control de máquinas tele operadas como el manejo de la
fresadora.
JAVA en su plataforma ofrece una gran variedad de opciones como API`s y Frameworks para el
desarrollo de una gran variedad de aplicaciones, explorando opciones y se pudo desarrollar una
aplicación en primera instancia para poder conectarse a un computador luego se pudo hacer una
aplicación que pudiera enviar imágenes desde una cámara web, también se pudo realizar una
aplicación en donde el usuario pudiera visualizar las acciones que se realizaban desde la el
computador de la fresadora visualizando la interfaz del programa de máquina, también se desarrollo
una aplicación donde se pudiera manipular de forma remota la maquina, aunque en la
experimentación de esta parte hubo mucho fracasos , se logro manipular de manera remota la
fresadora y todas estas se pudieron implementar en un entorno web a travez de applets., con esto
47
se puede decir que es posible realizar aplicaciones para manejar máquinas y software propietario
de manera remota.
Teniendo en cuenta lo logrado con herramientas libres y la capacidad de llevar la aplicación a un
ambiente web, se desarrollo una pagina de internet donde el usuario puede acceder a información
valiosa de la maquina, tutoriales donde se instruyen a los visitantes sobre el manejo de la
aplicación, de los procesos de mecanizado con la maquina y esta a su vez conectada a la aplicación
web y asi pueda esta al acceso de todos acercando este tipo de aplicaciones a los usuarios que
están en lugares lejanos
48
10. RECOMENDACIONES
Es necesario que al realizar una aplicación de tele operación y tele supervisión los equipos estén
actualizados con tecnología contemporánea y actualizada.
Es importante en el momento de realizar aplicación para procesos de manufactura virtual Este a
disposición documentación propia de las máquina s y de los procesos de los comportamientos del
hardware al alcance del equipo colaborador del laboratorio de manufactura.
Se recomienda realizar más exploración sobre este tipo de tecnologías ya que abre una gama de
posibilidades, tanto para los estudiantes y su aprendizaje como para la universidad y la generación
de conocimiento ya que mejoraría las competencias del estudiantado y de los operarios de las del
laboratorio de manufactura.
49
11. BIBLIOGRAFÍA
[1] SOME, Sistemas Informáticos. WINUNISOFT Simulador 3D de mecanizado para torno y fresa [en
línea].Mondragón:[Consultado 9 de febrero, 2006]. Disponible por Internet:
http://www.somesi.com/pro_001.htm
[2] MANSA, Ignacio. Editor de entornos virtuales para el entrenamiento de operadores de máquina-
herramienta. [en línea]. Gipuzkoa: Centro de Estudios e Investigaciones Técnicas de Gipuzkoa -
CEIT, 2002. [Consultado 19 de febrero, 2006]. Disponible por
Internet:http://www.sc.ehu.es/ccwgamoa/colaboradores/2002/02-IgnacioMansa.htm
[3] SIEMON, Jens; MUÑOZ, Luis Matey; BERASATEGI, Miren Iosune. VIRTOOL – a VR-based
Learning Environment for the Vocational Training in Machine-Tool Processes. [en línea]. Mondragón:
Alecop, IMH, CEIT, TUD, ACM, 2002. [Consultado 29 de abril, 2006]. Disponible por Internet:
ttp://www.virtool.com/publications/Papers/paper1-VIRTOOL%20SCI2002.PDF
[4] Ogor, Pascal; Le Parc ,Philippe; Vareille, Jean; Marc,Lionel. Controlling remote systems on the
Web; Project Languages and Interfaces for Intelligent Machines
Computer Science Department , Universit_e de Bretagne Occidentale
[En linea]
[5] Jouppi, Norman P.; Thomas, Stan. Telepresence Systems With Automatic Preservation
of User Head Height, Local Rotation, and Remote Translation; Hewlett-Packard [En linea]
[manufactura] software de orientación didáctica de manufactura Experimental cnc-universidad
nacional de Colombia facultad de ingeniería departamento de ingeniería mecánica y meca trónica
Colombia – Bogotá [actualmente en línea(consultada en noviembre 2010)]
[6] Alencastre M., Munoz L., Rudomon I., Teleoperating Robots in Multiuser Virtual Environments,
ENC 2003. Proceedings of the Fourth Mexican International Conference on Computer Science, 2003,
8-12 Sept. 2003.
[7] Kerlow Issac Victor: The Art of the 3D computer Animation and imaging, Jhon wiley &sons, Inc
2000
[8] Sweet Michael, Wright Richard, Jr: OpenGL SuperBiblie, Second Edition, White Group Press.
2004
[9][10] Cardona, J.D., Hidalgo, M. A., Castan, H., Rojas, F., Borro, D. & Jaramillo, H.: Realidad
Virtual y Procesos de Manufactura. Universidad Autonoma de Occidente. Dirección de
Investigaciones y Desarrollo Tecnológico. 2007.
50
[11] CNC. [En línea]. Escalona, Iván. Diseño y manufactura asistidos por computadora–Introducción
al CNC. Depto. de Ingeniería Industrial, UPIICSA–Instituto Politécnico Nacional. México. 2004
[Consultada: 14-03-2008].
[12]Direct X. [En línea]. Microsoft DirectX 9.0 SDK Update (April 2005) Documentation
,Microsoft corporation , [Consultada: 14-03-2011]
[13]Vrjuggler .Cruz-Neira Carolina [En línea]: http://www.vrjuggler.org/documentation.php,
INFSCAPE, Inc.
[14]Java 3D [En línea]. Vicente Prieto Daniel, Cornejo Rodríguez Héctor ; Introducción a Java3D,
Departamento de Informática y Automática Universidad de Salamanca, Mayo 2003.
.
[15] OpenGL. [En línea]: Garcia Oscar; Guevara Alex: Introduccion a la computación Grafica con
OpenGL ; Escola Tecnica Superior Dènginyeria Electronica i Informatica La Salle;enero 2004.
[16] Motor grafico 3D. http://es.wikipedia.org/wiki/Motor_de_juego .Wikimedia Foundation, Inc.
[17] Hurtado Vázquez Carlos ;DISEÑO Y CONSTRUCCIÓN DE UN LABORATORIO VIRTUAL
UTILIZANDO REDES DE PETRI;INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE
MONTERREY,CAMPUS TOLUCA;TOLUCA, MÉXICO DICIEMBRE 2002
[18] Camargo J. A, ing. corredor Nieto E, Ing. Córdoba; INTERCONEXIÓN Y SUPERVISÓN POR
MEDIO DE INTERNET DE UNA CELDA DE MANUFATURA FLEXIBLE; *Facultad de Ingeniería
Departamento de Mecánica y Mecatrónica, Ciudad Universitaria Cra 30 - 45, BogotáColombia. *Ing.
Asistente de Investigación º Profesor Titular Universidad Nacional de Colombia Director grupo de
investigación “Nuevas Tecnologías Diseño Manufactura y Automatización DIMA-
UN”[email protected]*, [email protected]º [En linea]
[19]Postigo José, Carelli Ricardo : Tele operación Bilateral de Robots con Control Adaptable de
Impedancia; Instituto de Automática. Universidad Nacional de San Juan,Av. San Martín (oeste) 1109.
5400. San Juan. ARGENTINA,Tel: +54 264 4213303 - Fax: +54 264 4213672,e.mail: