Informe Final

59
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

Transcript of Informe Final

Page 1: 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

Page 2: 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

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

Page 3: Informe Final

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

Page 4: Informe Final

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

Page 5: Informe Final

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

Page 6: Informe Final

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

Page 7: Informe Final

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

Page 8: Informe Final

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

Page 9: Informe Final

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

Page 10: Informe Final

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.

Page 11: Informe Final

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.

Page 12: Informe Final

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.

Page 13: Informe Final

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.

Page 14: Informe Final

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

Page 15: Informe Final

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].

Page 16: Informe Final

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].

Page 17: Informe Final

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.

Page 18: Informe Final

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.

Page 19: Informe Final

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.

Page 20: Informe Final

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.

Page 21: Informe Final

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.

Page 22: Informe Final

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].

Page 23: Informe Final

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].

Page 24: Informe Final

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.

Page 25: Informe Final

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.

Page 26: Informe Final

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

Page 27: Informe Final

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.

Page 28: Informe Final

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

Page 29: Informe Final

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.

Page 30: Informe Final

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.

Page 31: Informe Final

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.

Page 32: Informe Final

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:

Page 33: Informe Final

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

Page 34: Informe Final

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

Page 35: Informe Final

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

Page 36: Informe Final

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.

Page 37: Informe Final

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.

Page 38: Informe Final

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

Page 39: Informe Final

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

Page 40: Informe Final

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.

Page 41: Informe Final

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.

Page 42: Informe Final

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.

Page 43: Informe Final

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.

Page 44: Informe Final

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.

Page 45: Informe Final

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.

Page 46: Informe Final

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.

Page 47: Informe Final

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.

Page 48: Informe Final

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.

Page 49: Informe Final

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.

Page 50: Informe Final

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.

Page 51: Informe Final

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.

Page 52: Informe Final

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

Page 53: Informe Final

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.

Page 54: Informe Final

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.

Page 55: Informe Final

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

Page 56: Informe Final

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

Page 57: Informe Final

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.

Page 58: Informe Final

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.

Page 59: Informe Final

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:

[email protected] ; [email protected]ç