UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE INGENIERÍA, CIENCIAS FÍSICAS Y MATEMÁTICA CARRERA DE COMPUTACIÓN GRÁFICA
AUTOMATIZACIÓN DEL ESCÁNER DAVID 3D PARA LA DIGITALIZACIÓN DE PIEZAS PATRIMONIALES DEL ECUADOR
Trabajo de titulación previo a la obtención del título de Ingeniero en Computación Gráfica
AUTOR: Ana Gabriela Ruiz Segarra TUTOR: Lic. Pedro Almagro Blanco, MSc.
Quito, Mayo 2016
DEDICATORIA
A Diego y Suhay, ellos me han dado fuerza y amor para continuar luchando.
ii
AGRADECIMIENTOS
Este trabajo de investigación fue realizado como parte del proyecto “Aplicación de los Sistemas Complejos a la Gestión y Análisis del Patrimonio Cultural Ecuatoriano”, junto con el Grupo de Modelado de Sistemas Complejos de la Universidad Central del Ecuador y con el apoyo del Instituto Nacional de Patrimonio Cultural. El presente proyecto ha sido parcialmente financiado por el departamento de CCIA de la Universidad de Sevilla. Deseo expresar mis agradecimientos al grupo de docentes investigadores del GMSC, ya que todos aportaron con sus opiniones, conocimientos y apoyo en todo momento. Un agradecimiento especial, al Msc. Diego Cabrera, que dirigió mi trabajo de investigación en todos los aspectos técnicos, además de aportar con su experiencia y conocimiento para la finalización del prototipo. A mi tutor Pedro Almagro que me ayudó en muchas de las fases del desarrollo y del resumen. A Fernando Sancho y Mat. Elizabeth Regalado por permitirme la oportunidad de pertenecer a este grupo de investigación, que ha sido para mí como una segunda familia.
A mis compañeros de Computación Gráfica con los que he compartido mi experiencia universitaria, en especial a Byron por prestarme la escultura de la cabeza humana que se utilizó para las pruebas del prototipo de escaneo.
A mis padres por enseñarme lo valioso de aprender cada día. A mi esposo Diego por darme impulso para no dejarme vencer, y por ser mi modelo de perseverancia y superación.
iii
AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL
Yo, Ana Gabriela Ruiz Segarra en calidad de autor del trabajo de investigación: Automatización Del Escáner David 3D Para La Digitalización De Piezas Patrimoniales Del Ecuador, autorizo a la Universidad Central del Ecuador a hacer uso de todos los contenidos que me pertenecen o parte de los que contiene esta obra, con fines estrictamente académicos o de investigación. Los derechos que como autor me corresponden, con excepción de la presente autorización, seguirán vigentes a mi favor, de conformidad con lo establecido en los artículos 5, 6, 8; 19 y demás pertinentes de la Ley de Propiedad Intelectual y su Reglamento. También, autorizo a la Universidad Central del Ecuador a realizar la digitalización y publicación de este trabajo de investigación en el repositorio virtual, de conformidad a lo dispuesto en el Art. 144 de la Ley Orgánica de Educación Superior.
Quito, 18 de Abril de 2016
Ana Gabriela Ruiz Segarra CI. 172352647-9 Telf.: 0984900722 – 022421419 E-mail:
[email protected]
iv
CERTIFICACIÓN DEL TUTOR
Yo, Pedro Almagro Blanco, en calidad de tutor del trabajo de titulación Automatización Del Escáner David 3D Para La Digitalización De Piezas Patrimoniales Del Ecuador, elaborado por la estudiante Ana Gabriela Ruiz Segarra, estudiante de la Carrera de Computación Gráfica, Facultad de Ingeniería, Ciencias Físicas y Matemática de la Universidad Central del Ecuador, considero que el mismo reúne los requisitos y méritos necesarios en el campo metodológico y en el campo epistemológico, para ser sometido a la evaluación por parte del jurado examinador que se designe, por lo que lo APRUEBO, a fin de que el trabajo investigativo sea habilitado para continuar con el proceso de titulación determinado por la Universidad Central del Ecuador.
En la ciudad de Quito a los 18 días del mes de Abril del año 2016.
PEDRO ALMAGRO BLANCO C.C. 175659184-6
v
INFORMES DE EVALUACIÓN DEL TRABAJO DE GRADUACIÓN
vi
vii
viii
ix
x
xi
xii
xiii
OFICIO DE CALIFICACIÓN DEL TRABAJO DE GRADUACIÓN
xiv
RESULTADO DEL TRABAJO DE GRADUACIÓN
xv
CONTENIDO
pág.
DEDICATORIA ..................................................................................................................... ii AGRADECIMIENTOS .......................................................................................................... iii AUTORIZACIÓN DE LA AUTORÍA INTELECTUAL ................................................................. iv CERTIFICACIÓN DEL TUTOR ................................................................................................ v INFORMES DE EVALUACIÓN DEL TRABAJO DE GRADUACIÓN ........................................... vi OFICIO DE CALIFICACIÓN DEL TRABAJO DE GRADUACIÓN.............................................. xiv RESULTADO DEL TRABAJO DE GRADUACIÓN ................................................................... xv CONTENIDO .................................................................................................................... xvi LISTA DE TABLAS ..............................................................................................................xix LISTA DE ILUSTRACIONES ................................................................................................. xx RESUMEN ........................................................................................................................xxii ABSTRACT ...................................................................................................................... xxiii INTRODUCCIÓN ................................................................................................................. 1
1.
DEFINICIÓN DEL PROBLEMA .................................................................................. 2
1.1.
Formulación del problema......................................................................................2
1.2.
Preguntas Directrices ..............................................................................................2
1.3.
Objetivos ................................................................................................................3
1.3.1. Objetivo general ..................................................................................................... 3 1.3.2. Objetivos específicos .............................................................................................. 3 1.4.
Justificación ............................................................................................................3
1.5.
Limitaciones ............................................................................................................4
2.
MARCO TEÓRICO.................................................................................................... 5
2.1.
Antecedentes .........................................................................................................5
2.2.
El patrimonio cultural y la tecnología .....................................................................5
2.2.1. Los museos en la web 2.0 ....................................................................................... 6 xvi
2.2.2. Gestores de contenido y bases de datos culturales ................................................ 8 2.3.
Digitalización del patrimonio cultural .................................................................... 8
2.3.1. Fotografía .............................................................................................................. 9 2.3.2. Escaneo de documentos y software OCR................................................................ 9 2.3.3. Escaneo tridimensional ......................................................................................... 11 2.3.4. Documentación mediante datos geo-espaciales .................................................. 11 2.4.
Escaneo o digitalización 3D .................................................................................. 12
2.4.1. Escaneado por contacto ....................................................................................... 13 2.4.2. Escaneado sin contacto ........................................................................................ 14
3.
METODOLOGÍA .................................................................................................... 17
3.1.
Tipo de estudio .................................................................................................... 17
3.2.
Metodología de la Investigación .......................................................................... 17
3.3.
Identificación de requerimientos ......................................................................... 18
3.3.1. David 3D Laser Scanner ........................................................................................ 18 3.3.2. Requerimientos del prototipo .............................................................................. 22 3.4.
Selección de técnicas y tecnologías ..................................................................... 23
3.4.1. Componentes electrónicos ................................................................................... 24 3.4.2. Librerías y software para la interfaz de usuario .................................................... 25 3.4.3. Hardware para David 3d ....................................................................................... 26 3.4.4. Integración del prototipo planteado ..................................................................... 26 3.5.
Implementación ................................................................................................... 26
3.5.1. Diseño de la maqueta cerrada .............................................................................. 26 3.5.2. Componentes para el circuito de control.............................................................. 28 3.5.3. Configuraciones en LinuxCNC ............................................................................... 31 3.5.4. Circuito de Control ................................................................................................ 32 3.5.5. Configuración de David3 para comunicación serial .............................................. 33 3.5.6. Diseño del software de control ............................................................................. 34 3.5.7. Diseño de la Interfaz gráfica ................................................................................. 38 3.5.8. Maqueta ensamblada final .................................................................................. 40
4.
CÁLCULOS Y RESULTADOS .................................................................................... 41
4.1.
Obtención de resultados...................................................................................... 41
4.2.
Comprobación de resultados ............................................................................... 43 xvii
4.3.
Comparación con el escáner comercial Roland LPX-600...................................... 46
5.
CONCLUSIONES .................................................................................................... 50
6.
RECOMENDACIONES ............................................................................................ 52
6.1.
Piezas patrimoniales originales ............................................................................ 52
6.2.
Consideraciones para el mejoramiento del prototipo ......................................... 52
6.3.
Uso de software y hardware ................................................................................ 53
BIBLIOGRAFÍA................................................................................................................... 54
ANEXOS ............................................................................................................................ I ANEXO A............................................................................................................................. II Código del software de control ......................................................................................... II ANEXO B............................................................................................................................ XI Manual de réplica del prototipo ...................................................................................... XI
xviii
LISTA DE TABLAS
pág.
Tabla 3.1. Dificultades en la utilización del software David 3D. ...........................22 Tabla 3.2. Comparación de posibles motores .......................................................24 Tabla 3.3. Requerimientos funcionales del software de control. ..........................38
Tabla 4.1. Parámetros y tiempo de escaneo ........................................................42 Tabla 4.2. Resultados de pruebas con herramienta Hausdorff Distance .............44 Tabla 4.3. Información de los modelos 3D obtenidos, con Trimeshinfo .............47
xix
LISTA DE ILUSTRACIONES
pág.
Ilustración 2.1. Exposición de Fort Malaya Museum en Second Life .....................7 Ilustración 2.2. Escáneres digitales para documentos ..........................................10 Ilustración 2.3. Métodos de Adquisición 3D según el hardware ...........................12 Ilustración 2.4. Escáner de brazo articulado .........................................................13 Ilustración 2.5. Escáner CMM................................................................................13 Ilustración 2.6. Triangulación óptica ......................................................................15
Ilustración 3.1. Escáner David 3d ..........................................................................18 Ilustración 3.2. Captura de pantalla del programa David3 ...................................19 Ilustración 3.3. Captura pantalla del menú para la calibración .............................19 Ilustración 3.4. Captura de pantalla menú para el escaneo 3D ............................20 Ilustración 3.5. Captura de pantalla del menú de texturizado...............................20 Ilustración 3.6. Captura de pantalla del menú para la fusión ................................20 Ilustración 3.7. Captura de pantalla del menú para la fusión ................................21 Ilustración 3.8. Integración de las partes del prototipo planteado ........................26 Ilustración 3.9. Propuesta de maqueta modelada en Blender ..............................27 Ilustración 3.10. Modelado 3D de la maqueta con medidas .................................27 Ilustración 3.11. Motor a pasos 28BYJ-48 ............................................................28 Ilustración 3.12. Motor a pasos Nema 17..............................................................28 Ilustración 3.13. Controlador micro-paso A4988 ...................................................29 Ilustración 3.14. Circuito para control de los motores de pasos ..........................29 Ilustración 3.15. Sensor fin de carrera ..................................................................29 Ilustración 3.16. Circuito para proteger el puerto paralelo ....................................30 Ilustración 3.17. Circuito de control para iluminación fluorescente .....................30 Ilustración 3.18. Acceso al asistente de configuración de LinuxCNC ..................31 Ilustración 3.19. Configuración de salidas/entradas del puerto paralelo ..............32 Ilustración 3.20. Circuito de control .......................................................................33 Ilustración 3.21. Configuraciones del puerto serie (David 3d) ..............................34 xx
Ilustración 3.22. Proceso de escucha del puerto serie .........................................35 Ilustración 3.23. Proceso de escaneo automático ................................................35 Ilustración 3.24. Proceso de escaneo de 360º ......................................................37 Ilustración 3.25. Diseño de la interface de control ................................................39 Ilustración 3.26. Maqueta final ...............................................................................40
Ilustración 4.1. Objeto mediano digitalizado .........................................................41 Ilustración 4.2. Objeto pequeño digitalizado .........................................................42 Ilustración 4.3. Piezas patrimoniales digitalizadas ................................................43 Ilustración 4.4. Resultado de la comparación (botella patrimonial) ......................45 Ilustración 4.5. Resultados de la comparación (figura humana)...........................45 Ilustración 4.6. Restricciones escáner ROLAND LPX 600 (ROLAND, 2001) ......46 Ilustración 4.7. Comparación visual de modelos...................................................48 Ilustración 4.8. Comparación visual modelos .......................................................48
xxi
RESUMEN TEMA: “Automatización del Escáner David 3D para la Digitalización de Piezas Patrimoniales del Ecuador”
Autor: Ana Gabriela Ruiz Segarra Tutor: Pedro Almagro Blanco
En este proyecto, se presenta la automatización del escáner David 3D, como una alternativa rápida y de bajo costo para la digitalización de las piezas patrimoniales del Ecuador. Se investigaron en una primera etapa, las técnicas y tecnologías que permiten el escaneo tridimensional con el fin de conocer sus limitaciones para la obtención de modelos digitales de piezas patrimoniales. Como una segunda etapa, se seleccionaron las herramientas de software libre (LinuxCNC) y materiales de bajo costo, que permitieron crear un prototipo de escaneo automático. Este prototipo ha sido probado para asegurar la mínima intervención humana durante el proceso de escaneo además de garantizar fidelidad y alta calidad de los modelos tridimensionales obtenidos.
DESCRIPTORES: ESCÁNER TRIDIMENSIONAL / PATRIMONIO CULTURAL / DIGITALIZACIÓN 3D / ESCANEO LÁSER / AUTOMATIZACIÓN / LINUXCNC.
xxii
ABSTRACT TITLE: “Automation of David 3D Scanner for Digitization of Ecuadorian Culture Artifacts”
Author: Ana Gabriela Ruiz Segarra Director: Pedro Almagro Blanco
In this project, automation of David 3D scanner is presented as a quick and inexpensive alternative for digitization of Ecuadorian culture artifacts. In a first stage, techniques and technologies of 3d scanning were investigated, in order to know their limitations for obtaining 3D models of culture artifacts. As a second stage, free open source software (LINUXCNC) and inexpensive materials, which helped to create a prototype of automatic 3D scanning, were selected. This prototype has been tested to ensure minimal human intervention during the 3D scanning process, fidelity and high quality of the obtained tridimensional models.
KEYWORDS: TRIDIMENSIONAL SCANNER / CULTURAL HERITAGE / 3D DIGITIZATION / LASER SCANNING / AUTOMATION / LINUXCNC. I CERTIFY that the above and foregoing is a true and correct translation of the original document in Spanish.
Certified Translator ID: 10210541
xxiii
INTRODUCCIÓN
Actualmente en el Ecuador se utiliza la cámara fotográfica y de video, como medio para digitalizar la cultura de este país, que a pesar de ser una técnica ampliamente estudiada y mejorada, no es la mejor opción cuando se trata de piezas patrimoniales. Estos objetos que muchas veces son frágiles, se exponen en los museos locales ofreciendo poca interactividad y además de requerir un alto costo de mantenimiento de instalaciones especializadas y personal. La obtención de modelos tridimensionales de piezas patrimoniales permite la difusión de los mismos por Internet, para que un gran número de usuarios (estudiantes, expertos y aficionados) puedan visualizar, comentar y enriquecer la información existente. El escaneo 3D para digitalizar patrimonio cultural requiere alta precisión y fidelidad, por lo que la mejor solución no proviene del diseño de software de escaneo tridimensional, que es un proceso largo y costoso. Sino más bien, de las soluciones innovadoras que se basen en el análisis y uso de las tecnologías existentes comprobadas. En este proyecto se pretende mediante el conocimiento de las técnicas de escaneado tridimensional dentro del área del patrimonio cultural, usar un escáner comercial económico de una marca como David 3D que lleva un desarrollo de aproximadamente 10 años, automatizarlo para minimizar la intervención humana durante el escaneo y usarlo como una alternativa innovadora para la preservación de los objetos patrimoniales del Ecuador.
1
1. DEFINICIÓN DEL PROBLEMA
1.1. Formulación del problema Las piezas patrimoniales y otros objetos históricos del Ecuador han estado constantemente en riesgo por distintos factores, entre ellos el tráfico ilegal, el abandono, y la falta de mecanismos legales de seguridad. Apenas en el año 2007 se emitió el decreto de emergencia del patrimonio cultural ecuatoriano (Woolfson Touma, 2010), el cual ha permitido que se ejecuten distintas formas de conservación y protección. Recientemente en el año 2011 el Instituto de Patrimonio Cultural1 ha optado por las bases de datos y la digitalización como una opción a su necesidad de preservar el patrimonio del Ecuador (Gaëtan & Lara, 2011). El Instituto Nacional de Patrimonio Cultural no ha estado presente como debería dentro de la comunidad digital, sin embargo con la tecnología a nuestro alcance esto podría cambiar radicalmente. En este proyecto se pretende mediante el conocimiento de las tecnologías y procedimientos de escaneado tridimensional dentro del área del patrimonio cultural, usar un escáner comercial económico de una marca como David 3D que lleva un desarrollo de aproximadamente 10 años, automatizarlo para minimizar la intervención humana durante el escaneo y usarlo como una alternativa innovadora para la preservación de los objetos patrimoniales del Ecuador.
1.2. Preguntas Directrices ●
¿Existen métodos de escaneo tridimensional que produzcan resultados de alta calidad?
●
¿Qué opciones de escaneo 3D se pueden aplicar en el Ecuador?
●
¿Se puede construir un prototipo de escáner 3D de bajo costo factible de reproducir
●
¿Es posible disminuir la intervención humana durante el proceso de escaneo para dicho prototipo?
1
http://www.inpc.gob.ec/
2
●
¿La calidad de los modelos 3D obtenidos con el citado prototipo es equiparable a la de otros equipos de escaneo automático comerciales?
1.3.
Objetivos
1.3.1. Objetivo general
Crear un prototipo de escáner 3D automático que permita digitalizar piezas patrimoniales con textura y alta calidad.
1.3.2. Objetivos específicos
Estudiar las condiciones iniciales, y el proceso que necesita un escaneo 3D de alta calidad.
Diseñar las posibles opciones de automatización (maqueta).
Construir una maqueta realizable, económica y la más óptima para el proceso de escaneo presentado.
Generar un programa en Python que controle el movimiento de los motores elegidos para la maqueta.
Generar un sistema de comunicación en serie para la sincronización en las distintas etapas del proceso de escaneo 3D.
Realizar pruebas comparativas con otros escáneres comerciales.
1.4. Justificación Los objetos patrimoniales del Ecuador son referentes sociales de la cultura y las tradiciones de este país en sus épocas pasadas, por tanto guardan importancia para la historia de todos los ecuatorianos y el resto de la humanidad. El estado ecuatoriano ha garantizado la protección, preservación y difusión de los distintos aspectos del patrimonio cultural, sin embargo las piezas históricas no pueden ser protegidas y difundidas sin exponerlas a riesgos por manipulación y transporte; ahora bien, el escaneo tridimensional es una buena alternativa para almacenar las características físicas de los objetos y facilitar su difusión mediante Internet, ya que además de permitir la visualización de dichos objetos por parte de los habitantes de nuestro país también permite que sean vistos por el público de otros países. Además, disponer de los modelos tridimensionales de los objetos patrimoniales permite que éstos puedan ser analizados por especialistas sin necesidad de su presencia en el sitio donde se encuentre el objeto en cuestión.
3
La digitalización 3D de piezas patrimoniales del Ecuador evitaría el desgaste de los objetos por manipulación, y permitiría el almacenamiento de éstos con su textura y los detalles de todas sus caras. Sin contar con las múltiples aplicaciones en las que se pueden utilizar los modelos tridimensionales como son, análisis del patrimonio, creación de museos virtuales, reconstrucción 3D de piezas con fisuras o mutiladas, creación controlada de réplicas en impresoras 3D, y otros.
1.5. Limitaciones El desarrollo del software de un escáner tridimensional que ofrezca resultados de alta calidad, requiere el trabajo de un equipo grande de personas que además necesita algunos años para estar completamente corregido y depurado. En este proyecto se ha planificado ofrecer una solución rápida, factible y de bajo costo para Ecuador. Además, se busca que la solución planteada sea replicable y distribuible por todo el país si fuese necesario, evitando así la compra de un equipo profesional y automático de escaneo tridimensional que puede ser muy costoso, sobre todo porque en el país se dispone de muy pocos distribuidores que importen este tipo de escáner. La solución que se plantea en este trabajo pretende valerse de tecnologías y software existentes con varios años de desarrollo, para construir un escáner automático económico que ofrezca alta calidad de resultados para la conservación de piezas del patrimonio ecuatoriano. Por ser un prototipo y además usar escaneo láser conlleva algunas limitaciones en cuanto a las piezas que se pueden escanear, los objetos no admitidos por el escáner son:
Piezas cuyas dimensiones excedan un cilindro de 20cm de diámetro por 35 cm de altura.
Objetos que no se puedan sostener sobre su base.
Objetos transparentes o de color negro.
Superficies brillantes altamente reflejantes, espejos, metales.
Objetos que absorban la luz como telas rugosas y felpas.
4
2. MARCO TEÓRICO
2.1. Antecedentes Hace aproximadamente 15 años se comenzó a preservar el patrimonio cultural mediante escaneo 3D, se han escaneado estructuras grandes como el David de Michelangelo en la Universidad de Stanford, donde se obtuvo el modelo 3D de la obra de 7m de altura (Levoy, 2000), además el Nicho del Buddha Pequeño en Bamiyan (Jansen, Georgios, Walther, Döring-Williams, & Mayer, 2007) donde además se hizo una reconstrucción virtual con la información obtenida. En algunos
otros
trabajos
se
escanearon
piezas
pequeñas
con
fines
experimentales, como en el de Andretto, Brusco, & Cortelazzo (2004) en la Universidad de Padova en Italia, y otro de Mesa Múnera, Branch Bedoya, & Ramírez Salazar (2010) realizado en la Universidad Nacional de Colombia. En otros países como China, Canadá, Reino Unido o España se han hecho estudios
similares, en
algunos
casos
se
han
expuesto
los
modelos
tridimensionales en museos virtuales en la web para la visualización del público en general (The Metropolitan Museum of Art2, Digital Public Library of America3, Biodiversity Heritage Library4 ), una exposición destacada fuera de internet es el museo digital móvil para “Inner Mongolia Museum” en China, hecho por la empresa Chasen y Amber Digital Solutions. En Latinoamérica y Ecuador la preservación digital del patrimonio cultural mediante escaneo 3D es un tema poco estudiado, pero en los últimos años con los avances tecnológicos se puede obtener buenos resultados aunque a un costo elevado.
2.2. El patrimonio cultural y la tecnología La UNESCO define el patrimonio cultural como “nuestro legado del pasado, que vivimos en el presente, y que pasaremos a las generaciones futuras” (UNESCO, 2005), podemos decir entonces que son los objetos, edificios, costumbres,
2
http://www.metmuseum.org http://dp.la/ 4 http://www.biodiversitylibrary.org 3
5
fiestas, y otros elementos que tienen algún valor histórico, arqueológico, científico o cultural para un grupo de seres humanos. Actualmente el patrimonio cultural ya no es un concepto manejado únicamente por expertos en el tema, sino que se ha ido modificando para vincularse con los avances tecnológicos, de tal forma que se ha convertido en una poderosa herramienta que puede ser utilizada para mejorar la economía, fomentar el turismo, además de ser un apoyo para la educación en escuelas, colegios y universidades. La combinación del patrimonio cultural y la tecnología ha dado lugar a un nuevo concepto que la UNESCO nombra patrimonio digital, en el Proyecto de Carta para la Preservación del Patrimonio Digital se define lo siguiente: El patrimonio digital consiste en recursos únicos que son fruto del saber o la expresión de los seres humanos. Comprende recursos de carácter cultural, educativo, científico o administrativo e información técnica, jurídica, médica y de otras clases, que se generan directamente en formato digital o se convierten a éste a partir de material analógico ya existente. (UNESCO, 2004). El patrimonio digital ha abierto un campo importante dentro del área de las ciencias permitiendo aumentar el volumen de datos digitales relevantes e información de calidad, visualizar estos datos y analizarlos posteriormente. En los últimos años se han creado entornos y espacios virtuales e interactivos para la difusión mundial de la información cultural, además estos espacios vinculan sectores de la educación y permiten la participación de expertos, profesionales de distintas carreras e incluso aficionados al tema. Esta unión entre la tecnología y el patrimonio cultural, ha propuesto soluciones para cubrir sus necesidades de conservación y difusión, a continuación se describen algunas de las aplicaciones con más impacto en la actualidad.
2.2.1. Los museos en la web 2.0: Por muchos años los museos se han encargado de la protección del patrimonio natural y cultural, ayudando a vincularnos con el pasado y a almacenar nuestro legado para las futuras generaciones. Este tipo de instituciones se han encargado por décadas de difundir
su
contenido
de
manera
pasiva
(exposiciones,
revistas),
y
promocionarse por las páginas web tradicionales donde el usuario es solo un visitante. A partir de la llegada de la Web 2.0 (O'Reilly , 2005), se incorporó la participación del usuario en internet y con ello las redes sociales, como Facebook, Twitter, 6
Instagram y otras, cambiando radicalmente la forma en la que se distribuye el contenido digital. Las personas actualmente pasan más tiempo en los sitios web 2.0 que en los tradicionales (Simon, 2007), por esta razón, los sitios web convencionales no son la mejor opción para llegar a todos los públicos, en especial a los más jóvenes. A pesar de los avances de la tecnología, y las necesidades crecientes de los museos, ha sido muy complicado adaptar estas instituciones tradicionales a los retos de la web interactiva, como son la digitalización y disponibilidad de una gran cantidad de recursos culturales que no nacieron digitales (cuadros, documentos
históricos,
sitios
arqueológicos,
piezas
patrimoniales).
(Schweibenz, 2011) Junto con la web 2.0 han evolucionado también las formas de conectarse a Internet, como son las redes inalámbricas y los celulares inteligentes. Estudios en el Reino Unido han revelado que el uso de dispositivos móviles no solo es una tendencia actual, sino que es trascendental para atraer a los visitantes a los museos debido a que más de la mitad de ellos usan su celular durante la visita (Davies, 2014). Desde hace más de una década las páginas web de los museos alrededor del mundo se han ido modificando para incluir la participación del usuario, como por ejemplo Brooklyn Museum5 que incluye blogs, foros e intercambio de fotografías basadas en Flickr. Otros museos han optado por tener presencia en espacios virtuales como Second Life 6, donde además se puede socializar y compartir experiencias con mensajes de chat entre usuarios. Algunos museos dentro de Second Life son: The Second Louvre Museum of Paris, Crescent Moon Museum, Virtual Starry Night-Vincent Van Gogh y Fort Malaya Museum.
Ilustración 2.1. Exposición de Fort Malaya Museum en Second Life (Urban, 2007) 5 6
https://www.brooklynmuseum.org/ http://secondlife.com/
7
2.2.2. Gestores de contenido y bases de datos culturales: Los datos culturales digitales son presentados en diversas formas: publicaciones electrónicas, libros, imágenes, audio, video, objetos tridimensionales y otros similares. Muchos de estos documentos están escritos en distintos lenguajes y los poseen diferentes instituciones como museos, librerías, entidades públicas, e incluso custodios particulares. La dificultad de relacionar estos contenidos y el tipo de formato de los mismos, ha traído problemas a las instituciones para almacenarlos, y a los usuarios para encontrarlos de manera eficiente. Este inconveniente de integrar contenidos heterogéneos en bases de datos se viene estudiando desde hace más de 20 años, es decir que ya existen herramientas disponibles para solucionarlo (Rahm & Bernstein, 2001). Estas aplicaciones y soluciones están basados en los estándares semánticos de la web, es decir: metadatos (información adicional que describe los datos), ontologías7 y reglas para mejorar la estructura, personalización y usabilidad de los portales web tradicionales (Hyvönen, 2009). La utilización de bases de datos semánticas ha permitido organizar la información cultural, y tener la capacidad de integrar los datos diversos, contextualizar su información, y difundirla usando herramientas interactivas. Actualmente algunos proyectos han utilizado las tecnologías semánticas disponibles como por ejemplo: British Museum’s collection 8, the DigiCULT9, y otros como DECHO (Aliaga, Bertino, & Valtolina, 2011) que es un sistema donde se incluyen adquisición, manejo y visualización de datos.
2.3. Digitalización del patrimonio cultural La palabra digitalización, se refiere a la creación de objetos digitales a partir de los físicos o analógicos originales por medio de un escáner, cámara o algún dispositivo electrónico (Rouse, 2007). Cabe aclarar que mediante la digitalización, se contribuye a la preservación del patrimonio conservando una copia digital del mismo y no el objeto en sí. Las tecnologías más comunes utilizadas en el área del patrimonio cultural son: fotografía digital, escaneo tridimensional, escaneo de documentos con técnicas OCR (Optical Character Recognition), topografía electrónica y clásica, sistemas de posicionamiento global, sistemas de información geográfica, teledetección y otros basados en hardware de adquisición de datos (Zhou, Geng, & Wu, 2012). 7
Ver (Noy & McGuinness, 2001) http://collection.britishmuseum.org/ 9 http://www.digicult.info/ 8
8
La utilización de las diferentes tecnologías depende del tipo de objeto que se desee digitalizar (documentos, fotografías analógicas, arquitectura, audio, video, libros), y además de las políticas de conservación, protocolos y estándares de seguridad impuestas por cada país. A continuación se van a exponer algunos de los métodos utilizados actualmente para la digitalización del patrimonio cultural.
2.3.1. Fotografía: Es una de las primeras técnicas utilizadas para documentar diversos tipos de patrimonio y su herramienta indispensable es la cámara digital que en los últimos años ha reemplazado a las tradicionales. Algunos de los motivos que hacen a la fotografía digital preferible ante la analógica son la fidelidad de imagen y la facilitad en la adquisición de la información, su edición y análisis. Las cámaras digitales utilizan sensores, generalmente del tipo CCD (Charged Couple Device) o CMOS (Complementary Metal-Oxide Semiconductor). Estos sensores convierten las intensidades de luz en carga eléctrica que luego es convertida y almacenada como valores de color rojo, verde y azul. Actualmente las cámaras comerciales ofrecen resoluciones altas y un efecto real de color por un costo relativamente bajo. La calidad de la fotografía no depende únicamente de la cámara, sino de la calibración, el posicionamiento del equipo y la iluminación. Además se puede combinar
con
otras
técnicas,
por
ejemplo
si
se
aplican
parámetros
fotogramétricos se pueden obtener imágenes con detalle y fiabilidad para levantamientos arqueológicos (Ippoliti, Meschini, & Sicuranza, 2015), y con equipos de vuelo no tripulado se pueden obtener incluso mediciones del terreno (Devi & Veena, 2014).
2.3.2. Escaneo de documentos y software OCR: La digitalización de documentos se hace mediante escáneres de imagen o fotografía digital, para ambos casos existe software de reconocimiento de caracteres (OCR) que permitirá su posterior conversión a texto editable. A continuación se explicarán algunas de las tecnologías de escaneo digital de imagen y el uso de software OCR. Escáneres de imagen: Entre los escáneres más utilizados están los de superficie plana, de tambor, planetario para libros (algunos con giro automático de páginas ver ilustración 2.2. (a)) y otros similares. Básicamente, este tipo de escáneres funcionan iluminando la superficie del documento y con sensores similares a los 9
de las cámaras de fotos (CCD), capturan la intensidad de la luz en los distintos puntos, algunos como el escáner de tambor hacen girar al documento y capturan punto por punto la información produciendo altas resoluciones de imagen, pero es poco utilizado para documentos frágiles ya que puede arruinarlos con el giro y manipulación.
(a) Escáner planetario para libros
(b) Escáner de imagen hiperespectral
Ilustración 2.2. Escáneres digitales para documentos (Bearman, 2015)
Una nueva técnica es la imagen hiperespectral, que ha podido alcanzar resoluciones muy altas, con la posibilidad de segmentar, procesar y analizar los pixeles obtenidos, incluso de textos que no son visibles para el ojo humano. Un ejemplo es el Proyecto del Palimpsesto de Arquímedes10, donde mediante la imagen hiperespectral se encontró otro texto que había sido borrado debajo del documento visible. Software OCR: Este software permite convertir los documentos digitales en texto editable, funciona básicamente con el principio de reconocimiento de patrones. En este caso, los patrones son una serie de ejemplos de los caracteres que posiblemente encontrará como letras, signos de puntuación, signos de admiración e interrogación, y basándose en esto el sistema hará una descripción de cada uno de ellos. Cuando se tiene el documento digital, este pasa a segmentarse, primero se separa las áreas que no contienen texto y luego se extrae cada símbolo. Estos
10
http://www.archimedespalimpsest.org/
10
símbolos se pre-procesan para disminuir el ruido, y luego se identifican comparándolos con las descripciones creadas inicialmente. (Eikvil, 1993). En la actualidad, hay un gran número de programas de reconocimiento de caracteres OCR, algunos gratuitos y otros comerciales.
Software comercial
como ABBY FineReader ha presentado resultados aceptables en el área de patrimonio cultural, como el proyecto Gutemberg-DE11 en colaboración con Brandenburg Academy of Science. Algunos proyectos como EMOP12 están orientados a la investigación y creación de sus propias herramientas de software OCR. 2.3.3.
Escaneo tridimensional: Es usado en la digitalización de sitios
arqueológicos, esculturas, piezas patrimoniales e incluso edificios. Mediante el escaneo 3D se obtienen modelos tridimensionales de los objetos, que son formados a partir de muestras tomadas sobre su superficie. Los datos obtenidos, junto con la fotografía digital son usados para dar más fidelidad y realismo a los modelos. Las técnicas para el escaneo tridimensional se verán con más detalle en el apartado 2.4 2.3.4. Documentación mediante datos geo-espaciales: Las tecnologías utilizadas dentro de este campo son GIS, GPS, RS y geo radar. GPS: es un sistema basado en satélites que se utiliza para encontrar la posición geográfica de cualquier lugar de la Tierra. GIS o SIG: (sistemas de información geográfica) son sistemas de gestión de datos espaciales, diseñados para visualizar, analizar e interpretar los datos geográficos. RS: por sus siglas en inglés (Remote Sensor), recolectan datos geoespaciales detectando la energía reflejada sobre la tierra. Para realizar esta acción generalmente se usan satélites o aviones. Uno de los más utilizados es el LIDAR (Light Detection and Ranging Image)13. GeoRadar: GPR, por sus siglas en inglés (ground penetration radar) “es un medio de prospección geofísica que basa su funcionamiento en la transmisión, reflexión y recepción de ondas electromagnéticas a distintas frecuencias” (Pocel Araúzo, 2013). Todas estas tecnologías en conjunto con la fotografía sirven para
11
http://gaga.net/ http://emop.tamu.edu/ 13 http://www.lidar-uk.com/ 12
11
documentar sitios arqueológicos y grandes edificaciones que no podrían ser cubiertas con otros sistemas. 2.4. Escaneo o digitalización 3D Un escáner tridimensional es un dispositivo que recoge la información de las coordenadas 3D que describen una región de la superficie de un objeto. (Reznicek & Pavelka, 2008). Estos dispositivos logran su objetivo en tres pasos, primero adquieren la información de puntos en coordenadas X-Y-Z (escaneado o digitalización 3D), que normalmente se realiza más de una vez desde diferentes vistas, luego se procesan los datos con filtros, y al final se genera la superficie sólida que posteriormente será alineada con las otras superficies obtenidas y logrará la re-creación del objeto, o una parte de él. Este apartado se va a centrar en explicar las tecnologías que permiten la adquisición de datos 3D, y algunas técnicas importantes que se usan para calcular las coordenadas del objeto. La adquisición 3D comprende la obtención de la información de la superficie del objeto, y puede ser realizada con distintas herramientas y técnicas, de acuerdo a estudios recientes según el hardware que se utilice, se clasifican en por contacto, y sin contacto (Stjepandic, Wognum, & Verhagen, 2015). La clasificación completa se resume en la siguiente imagen (Ilustración 2.3).
Ilustración 2.3. Métodos de Adquisición 3D según el hardware (Stjepandic, Wognum, & Verhagen, 2015)
12
2.4.1. Escaneado por contacto: Necesitan el contacto directo con la superficie del objeto, obtienen su geometría mediante una sonda o sensor y un brazo mecánico con el que manual o automáticamente van recorriendo y guardando las coordenadas tridimensionales. (Mostafa Abdel-Bary, 2011). Este tipo de escáneres son muy lentos por el hecho de tener que recorrer y desplazarse por toda la superficie línea por línea, además durante el proceso de escaneo puede resultar dañada la sonda o el objeto. En esta clase está el escáner de brazo articulado en el cual la posición de la sonda es conocida siempre por los sensores que contiene en las articulaciones del brazo.
Ilustración 2.4. Escáner de brazo articulado (Dellepiane, 2012)
También está el escáner CMM (Coordinate Measure Machine) donde el brazo mecánico es el tercer eje coordenado de la máquina que sostiene la sonda o sensor y es controlado por computadora, o algunas veces manualmente (Ilustración 2.5).
Ilustración 2.5. Escáner CMM (Mostafa Abdel-Bary, 2011)
13
2.4.2.
Escaneado sin contacto: Este tipo de escáneres no entran en contacto
directo con la superficie, sin embargo las técnicas dentro de esta categoría proyectan algún tipo de energía sobre el objeto desde una distancia considerable. Según la técnica que utilicen se dividen en reflexivos y transmisores (Peng & Sanchez, 2005). Los métodos reflexivos cuentan con un receptor que captura la señal que se ha reflejado sobre la superficie del objeto por ej. una cámara que recibe la luz visible sobre una superficie, en cambio en los métodos transmisores la señal se transmite a través del objeto, creando cortes, que son medidos para luego recoger la información del volumen, dentro de éstos tenemos los escáneres de tomografía computarizada (TC) y los de imagen por resonancia magnética (IRM). Los métodos reflexivos se dividen a su vez en ópticos y no-ópticos dependiendo de cuál sea la fuente emisora de la señal, en el caso de los no-ópticos tenemos a los emisores acústicos y electromagnéticos como ultrasónicos, infrarrojos, ultravioleta, microondas, radar, sonar, que envían la energía y recogen los resultados del tiempo que se demora en regresar la señal después de haber llegado al objeto. (Sansoni, Trebeschi, & Docchio, 2009). Las técnicas ópticas se basan en el uso de la luz para medir los datos de la superficie, están clasificadas en activas y pasivas.
a) Técnicas ópticas pasivas: Se llaman pasivas, porque con la iluminación de la escena y su reflejo sobre el objeto se puede obtener la información sobre su geometría. El área de estudio de visión computacional se ha encargado de desarrollar métodos de este tipo, como la visión estéreo, fotogrametría y forma a partir de sombras. Debido a que usan la iluminación de escena, no necesitan utilizar hardware especializado para la emisión de luz, lo cual los convierte en los métodos más baratos, pero con la desventaja de ofrecer baja precisión de los modelos. (Sansoni, Trebeschi, & Docchio, 2009)
Visión estéreo: Utiliza dos cámaras que observan la misma imagen al mismo tiempo desde diferentes posiciones, trata de encontrar las pequeñas diferencias en las dos imágenes para calcular la coordenada x-y-z de cada punto. La desventaja de este método es la dificultad para encontrar los pares de píxeles correspondientes en la imagen, y si la textura no es nítida puede variar la calidad de la forma obtenida.
14
Fotogrametría: Está basada en la toma de dos o más fotografías digitales, desde distintos puntos de vista, las cuales se alinean para obtener puntos similares y obtener el modelo tridimensional. (Rodríguez Navarro, 2012)
b) Técnicas ópticas activas: reciben ese nombre debido a que necesitan fuentes activas de luz adicionales (láseres, proyectores) para la obtención de los datos. Entre los más comunes están, la triangulación láser, tiempo de vuelo, luz estructurada y el interferómetro. A continuación se explican las bases de algunos de estos principios. Tiempo de vuelo: Básicamente funciona enviando un pulso de luz al objeto y calcula la profundidad de acuerdo al tiempo que se demora en regresar al sensor, conociendo la velocidad de la señal. Las ventajas de este método son que permite escaneos de piezas grandes (hasta 100m), que pueden ser edificios, sitios arqueológicos, esculturas grandes, y las obtiene con una resolución aceptable. Las desventajas son la baja resolución para objetos de tamaños menores a un metro y los problemas con los objetos brillantes que pueden dispersar una parte de la señal enviada si no se colocan adecuadamente (Sansoni, Trebeschi, & Docchio, 2009).
Triangulación láser: los escáneres láser y de luz estructurada básicamente funcionan con el principio de triangulación óptica, la configuración básica de los elementos se muestra en la imagen siguiente (Ilustración 2.6).
Objeto Superficie
Dirección de movimiento Plano del CCD
láser CCD
Cámara Lente cilíndrica Láser (a)
Láser
(b)
(c)
Ilustración 2.6. Triangulación óptica (Curless, 1997)
Ilustración 2.6: (a) Elementos que componen el sistema: la superficie a escanear, el láser que proyecta un punto, y el sensor de la cámara (CCD) que 15
capta la emisión de la luz del láser (o proyector) sobre el objeto. (b) El láser ha sido modificado para proyectar una línea, que se deforma al llegar a la superficie del objeto. El sensor captura la imagen para luego generar información de la profundidad a partir de ésta, en este caso el objeto o el láser deben girar para obtener los datos de toda su geometría. (c) Nube de puntos x-y-z obtenida del procesamiento de las imágenes. Para cualquiera de los dos casos (a) y (b) las coordenadas son obtenidas, midiendo la intersección del plano (o punto) generado por el láser con la línea de vista de la cámara.
16
3. METODOLOGÍA
3.1. Tipo de estudio Este proyecto se enmarca dentro de la investigación aplicada, según la teoría, este tipo de investigación tiene un bajo componente teórico y conduce a resultados prácticos a pequeña escala que en un corto plazo puedan ser utilizados (Sandi, 2014). 3.2. Metodología de la Investigación El presente proyecto se ha planteado como una investigación aplicada, ya que enfrenta un problema actual del Ecuador que necesita una solución práctica, la falta de un sistema de escaneo automático para la digitalización de piezas patrimoniales. Se plantea la solución a este problema primero con el conocimiento de las tecnologías de escaneo tridimensional para piezas de patrimonio cultural, para posteriormente pasar al diseño y ejecución del prototipo de escaneo automático. La metodología utilizada sigue los pasos explicados a continuación: Fase exploratoria: Revisión preliminar de tendencias tecnológicas, conceptos necesarios,
soluciones
aplicadas
en
casos
similares,
problema
de
investigación. Fase de Identificación: Profundización del tema de estudio e identificación de las necesidades y requerimientos del proyecto. Fase de selección de técnicas y tecnologías: Elección de las distintas librerías, componentes de hardware, software para desarrollar el prototipo. Fase de Implementación: Desarrollo del prototipo apoyado en las tecnologías seleccionadas. La primera fase se ha resumido en los apartados 1 y 2 de este documento. A continuación se explica la ejecución de las fases siguientes, de acuerdo a las necesidades del proyecto.
17
3.3. Identificación de requerimientos El presente proyecto tiene como fin la automatización del escáner David 3D, por tanto, primero se ha experimentado con el software del escáner y además se ha revisado la documentación básica y técnica del mismo. Dentro de esta investigación, se han identificado los puntos más importantes que nos van a permitir definir los requisitos, a continuación se presenta una breve descripción del escáner David 3D.
3.3.1. David 3D Laser Scanner: Es un sistema de escaneo tridimensional que usa un láser lineal de tipo lápiz, una cámara web y un tablero de puntos de referencia, para generar modelos tridimensionales de los objetos. El software que genera los modelos tiene una versión gratuita que no es completa, eso quiere decir que no incluye la fusión de los escaneos para generar un modelo de 360º, por esa razón se ha elegido la versión de paga. El software que se ha elegido para la realización de este prototipo es DAVID-LASERSCANNER (versión 3.10.0.4407). El desarrollo del software antes mencionado está basado en el trabajo de investigación “Low Cost Range Scanner and Fast Surface Recognition Approach” de los autores (Winkelbach, Wahl, & Molkenstruck, 2006) que son también sus desarrolladores.
Ilustración 3.1. Escáner David 3d (Viteazul, 2016)
El software tiene las siguientes partes: Una barra lateral izquierda con todas las opciones para el escaneo (1), una vista 3D en el centro (2), y una barra lateral derecha (3) con opciones de guardado de modelos tridimensionales, propiedades del escaneo y lista de escaneos realizados. (Ver Ilustración 3.2)
18
Ilustración 3.2. Captura de pantalla del programa David3 (Fuente: Autor)
El proceso de escaneo, se realiza en los menús desplegables de la barra lateral izquierda, según la página oficial de David 3d14 los pasos a seguir son: Preparación: En el menú “Calibration” se coloca la escala numérica de acuerdo al tamaño del objeto, alinear y enfocar la cámara dependiendo del tamaño del objeto. Ajustar la exposición y brillo. Calibración: Se coloca el panel de calibración a 90º lo más cerca detrás del objeto, y se calibra la cámara haciendo clic en el botón “Calibrate” del mismo menú.
Ilustración 3.3. Captura pantalla del menú para la calibración (Fuente: Autor)
Escaneo: En el menú “3D Laser Scanning” se hace clic en el botón “Scan”, luego de esto, la línea del láser debe descender sobre el objeto lentamente
14
http://www.david-3d.com/en/support/faq
19
con la mano. Se puede realizar más de un escaneo del objeto, para poder unirlos se debe asegurar que se solapen.
Ilustración 3.4. Captura de pantalla menú para el escaneo 3D (Fuente: Autor)
Texturizado: En el menú “Texturing” al dar clic en el botón “Grab Texture” la vista actual del objeto en la cámara web se asigna al escaneo actual, (se debe ajustar las propiedades de la cámara o la iluminación antes). Si se realiza más de un escaneo, se debe hacer clic en el botón inferior “Add to List” para almacenar en la barra derecha los resultados que posteriormente serán alineados.
Ilustración 3.5. Captura de pantalla del menú de texturizado (Fuente: Autor)
Alineamiento: En el menú “Shape Fusion”, cada escaneo previamente añadido a la barra derecha, debe ser alineado a otro. El usuario define el alineamiento en el orden en que los escaneos sean vecinos, es decir que se solapen lo suficiente.
Ilustración 3.6. Captura de pantalla del menú para la fusión, sección de alineado (Fuente: Autor)
20
Fusión: Cuando los escaneos estén alineados se hace selecciona en el botón “Fuse”, para que el software calcule una sola malla de triángulos sin superposiciones (es posible fusionar el texturizado).
Ilustración 3.7. Captura de pantalla del menú para la fusión, sección fusión (Fuente: Autor)
Según la experiencia con el escáner David 3D, se han resumido algunos de los problemas que se tuvo, y el promedio de los tiempos que se lograron en cada uno de los pasos descritos anteriormente (Ver Tabla 3.1). Se
han
propuesto
tres
soluciones
interconectadas
para
resolver
los
inconvenientes descritos en la Tabla 3.1. Dichas soluciones describen los pasos para la realización del prototipo de escaneo automático, estas son:
Construcción de una maqueta cerrada, con posiciones de paneles fijos: cubre los problemas de preparación, si los paneles están fijos no hay que volver a enfocar ni recalibrar. Permite controlar la iluminación interna, por lo que la cámara puede guardar sus configuraciones permanentemente.
Implementación de movimiento motorizado del láser, rotación del objeto y sistema de iluminación: Resuelve problemas de calidad en el escaneo, porque la velocidad de bajada del láser es constante. La rotación del objeto permite capturar todas las caras y se puede controlar que los escaneos se solapen para facilitar el alineamiento (no haría falta alineación manual). La iluminación es automática por tanto no hace falta oscurecer ni iluminar el espacio de trabajo en los distintos pasos.
Creación de una interfaz de control que permita comunicar al software de David 3D con el movimiento motorizado: reduce el tiempo de escaneo, ya que se definirá un proceso automático donde todo el escaneo se desarrolle con un solo clic.
21
Tabla 3.1. Dificultades en la utilización del software David 3D. (Fuente: Autor)
Paso del escaneo
Tiempo estimado
Dificultad
Problemas
Preparación
3-5 minutos
Baja
- Se debe fijar el panel y la cámara, si se mueven de su posición hay que volver a ajustar el enfoque.
Calibración
1-2 minutos
Baja
- Si se ajusta el enfoque se debe volver a calibrar. - El resultado depende totalmente del pulso de la persona que lo manipula. - Necesita oscuridad parcial o total. - Se debe ajustar las propiedades de la cámara para visualizar correctamente la línea láser.
Escaneo
5-7 minutos por escaneo
Alta
- Si las condiciones de luz cambian drásticamente, se deben reajustar las propiedades de la cámara. - Es tedioso para quien lo manipula, pues debe estar muy pendiente del proceso mientras realiza el escaneo. - Si la calidad obtenida es mala, se debe repetir el escaneo.
Texturizado
Alineamiento
2-3 minutos
5-10 minutos
Media
Alta
- Se deben ajustar previamente las propiedades de la cámara o mejorar la iluminación para obtener un resultado realista. - El objeto no debe ser movido después del escaneo, para que la textura corresponda con la superficie. - Si no se asegura que los escaneos se solapan lo suficiente, puede no alinearse correctamente en el modo directo. - El alineado manual puede ser muy complicado (selección de puntos comunes) y puede llevar más tiempo que el proceso de escaneo. - El resultado depende totalmente de la fase de alineamiento.
Fusión
2-3 minutos
Baja
- El tiempo que tarda en calcular el resultado depende de las especificaciones de la computadora. Para las pruebas se usó una Laptop con Procesador Intel Core i7, con 8GB de RAM, Tarjeta de video dedicada de 2GB.
3.3.2. Requerimientos del prototipo: El prototipo propuesto consta de tres partes, primero la maqueta con la implementación del movimiento motorizado e iluminación, segundo la interface que controla el movimiento automático, y en tercer lugar el software del escáner David 3d que se comunica con la interface.
22
Se van a exponer algunos requerimientos y restricciones importantes, con el fin de simplificar la selección de las herramientas adecuadas de software y componentes de hardware.
a) Software DAVID-LASERSCANNER: -
Se ejecuta únicamente en Windows.
-
En el proceso de escaneo, si es motorizado debe empezar siempre desde la misma posición, según se indica en la wiki de David 3d15.
-
Solo permite comunicación serial para enviar mensajes de información o recibir comandos al programa.
b) Sistema de automatización (maqueta y control de movimiento): -
La maqueta debe ser cerrada, pero permitir el ingreso del panel de calibración y del objeto.
-
Todos los materiales para el armado de la maqueta deben ser fáciles de conseguir y además económicos.
-
Los motores deben garantizar precisión, para recorrer de forma uniforme el objeto a escanear.
-
Los motores deben tener el tamaño acorde al necesario para el prototipo (pequeño).
c) Características de la interface de control de motores: -
Sencilla e intuitiva, para que lo puedan utilizar usuarios no especializados.
-
Posibilidad de selección de velocidades de motores y para la digitalización en distintas calidades.
-
Producir un movimiento suave en los motores (perfil trapezoidal), pues el objetivo es digitalizar piezas patrimoniales que pueden ser frágiles. Se explicará en el apartado 3.4.2.
-
Comunicación permanente con el software de David 3D para que los motores respondan a las distintas etapas del escaneo.
3.4. Selección de técnicas y tecnologías En esta sección se van a explicar los métodos de desarrollo de software y componentes de hardware seleccionados para la construcción del prototipo.
15
http://wiki.david-3d.com
23
3.4.1. Componentes electrónicos: Para el movimiento automático se ha requerido dos motores, uno para el láser lineal y otro para la rotación del objeto. Los tipos de motores que son ampliamente utilizados para aplicaciones a pequeña escala son los servomotores, RC servos y los motores de pasos. En la siguiente tabla se contrasta los requerimientos del proyecto y las capacidades de los tipos de motores mencionados.
Tabla 3.2. Comparación de posibles motores (Fuente: Autor)
Requerimientos
RC Servo
Servomotor
Motor de pasos
Complejidad baja/media de utilización
Si
No
Si
Control de posición inicial
Si, tiene control interno de posición.
Si
Si, se garantiza por el número de pasos
Control de velocidad
No se puede controlar
Si
Si, se controla por número de pasos
Torque alto
No
Si
Si
Costo bajo
Si
No
Si
Como podemos ver en la tabla 3.2, el motor de pasos reúne los requisitos necesarios para la implementación del movimiento automático por lo que se ha elegido para el proyecto. El control del motor de pasos se puede hacer por dos métodos, el primero es un circuito llamado puente H, y el otro es mediante un controlador micro-paso. El primero no se ha seleccionado por ser excesivamente complejo en su realización, así que se ha optado por el segundo método que además de ser sencillo ofrece mejores resultados.
24
3.4.2. Librerías y software para la interfaz de usuario a) Entorno de desarrollo: Se requiere que los motores no tengan movimientos inesperados y que se muevan de forma suave, esto se logra programando un perfil de velocidad trapezoidal. En este perfil, el motor cambia de un estado detenido a una velocidad constante, mediante la aceleración gradual hasta conseguir dicha velocidad. De la misma forma para detenerse pasa de un estado de velocidad constante desacelerando gradualmente hasta llegar a cero. Para este proyecto, se consideraron dos opciones que permiten implementar este perfil, Arduino y LinuxCNC, de las dos se eligió LinuxCNC por tener una implementación mucho más sencilla. LinuxCNC es un software de código abierto que se ejecuta en Linux, para control computacional de máquinas CNC, brazos robóticos, impresoras 3d y otros similares. Usa un núcleo modificado de Linux con extensiones de tiempo real, y puede controlar hasta 9 ejes simultáneos a través del puerto paralelo. Ofrece un entorno de desarrollo que permite generar perfiles de velocidad para varios motores, además de control de sensores y otros dispositivos electrónicos. Para este proyecto se ha utilizado la versión de LinuxCNC (versión 2.6.4) que se ejecuta en Ubuntu (versión 10.04 Lucid Lynx). b) Lenguaje de programación: El lenguaje de programación que se utilizará será Python, ya que es el lenguaje que ofrece LinuxCNC. Para la parte visual de la interfaz se utilizará Glade + GTK 3 ya que tiene incorporado algunas acciones predeterminadas para el control de los motores. c) Protocolos
de
Comunicación:
Como
se
ha
elegido
utilizar
dos
computadoras, una con Linux y otra con Windows (requisito del software de David 3d), éstas deberán comunicarse entre sí para permitir que se identifiquen los pasos del escaneo. David 3d puede enviar mensajes y recibir comandos del exterior solo mediante comunicación serial, por tanto se va a utilizar el protocolo de comunicación en serie. Como el lenguaje que se utilizará es Python, la librería elegida para la implementación de las comunicaciones en serie será pySerial16 (versión 3.0).
16
http://pyserial.readthedocs.org/en/latest/pyserial.html
25
3.4.3. Hardware para David 3d: Para el sistema de escaneo automático se ha utilizado una cámara web LOGITECH C615 (full HD 1080p), y el láser lineal de color rojo que provee David 3d.
3.4.4. Integración del prototipo planteado: Para dejar más claro la propuesta de funcionamiento se presenta un diagrama de bloques, que indica de manera gráfica cómo se van a integrar las distintas partes que componen el prototipo.
Software de David 3d en Windows.
Comunicación en serie
Interfaz de usuario para el control de los motores en Linux.
Comunicación en paralelo
Maqueta de automatización con motores e iluminación
Ilustración 3.8. Integración de las partes del prototipo planteado
3.5. Implementación En esta fase se explican los pasos llevados a cabo para el desarrollo del prototipo y sus diferentes partes, como son la maqueta, componentes electrónicos, interfaz gráfica y comunicaciones.
3.5.1. Diseño de la maqueta cerrada: Como primer paso se realizó una propuesta de la posible maqueta a realizar, considerando que el láser debe estar a una altura superior a la cámara (la distancia entre el láser y la cámara debe ser por lo menos la mitad de la distancia entre el objeto y la cámara), y con la experimentación se definieron las medidas de la maqueta que permitan utilizar el panel de calibración para piezas de hasta 35cm. Se hizo un modelado tridimensional para explicar la forma que tendría la propuesta de maqueta, intentando darle estética y funcionalidad.
26
Motores Motor
Circuito de control
Circuito de control
Ilustración 3.9. Propuesta de maqueta modelada en Blender (Fuente: Autor)
En la ilustración 3.9, se puede ver que el motor del láser se coloca en la parte superior de la caja, permitiendo así que pueda rotar y recorrer al objeto en forma descendente. Además en la parte inferior se propuso colocar una plataforma rotatoria que permitirá el giro del objeto en torno a su centro, estará conectado por la parte inferior al segundo motor. Finalmente se decidió colocar la cámara dentro de la maqueta y cerrar con una tapa corrediza para facilitar la colocación de los objetos y que el ingreso de luz sea el menor posible. Se realizó un segundo modelado de la maqueta en el programa de software libre FreeCAD, que permitió el diseño con medidas reales y además ayudó en la generación de planos para estimar costos de material.
Ilustración 3.10. Modelado 3D de la maqueta con medidas (Fuente: Autor)
27
La caja se construyó de madera triplex, por ser resistente y tener un costo bajo, del mismo material se hizo la plataforma inferior. 3.5.2.
Componentes para el circuito de control: En este apartado se
describe de forma breve los elementos que componen las distintas partes del circuito de control. a) Motores: como se había propuesto usar dos motores de pasos, se eligió para el movimiento del láser el motor 28BYJ-48 que es conveniente por su pequeño tamaño y bajo costo.
Ilustración 3.11. Motor a pasos 28BYJ-48
El segundo motor debe estar ubicado en la parte inferior de la caja, así que había una limitación de dimensiones, se eligió el motor a pasos Nema 17 que es ideal para rotar los objetos de mayor peso (piezas patrimoniales) y por su pequeño tamaño.
Ilustración 3.12. Motor a pasos Nema 17
b) Control de los motores: en la fase de selección de componentes se habían elegido los controladores micro-paso para los motores, en el proyecto se utilizó el A4988. 28
Ilustración 3.13. Controlador micro-paso A4988
Se consultó el circuito recomendado por el fabricante del A4988, en el proyecto se conectó para la resolución de paso de 1/16, el circuito utilizado para el control de los motores fue el siguiente:
Ilustración 3.14. Circuito para control de los motores de pasos (Fuente: Autor)
c) Posición inicial del láser: se incluyó un sensor de fin de carrera, para posicionar al láser siempre en el mismo sitio inicial por cuestiones de requerimientos de David 3d que ya fueron mencionados en la sección de requerimientos
Ilustración 3.15. Sensor fin de carrera
29
d) Circuito para el puerto paralelo: LinuxCNC controla los motores por el puerto paralelo, así que se incorporó un circuito que protege el puerto, y que además evita que los componentes o la computadora sean afectados.
salidas
entradas
Ilustración 3.16. Circuito para proteger el puerto paralelo
e) Circuito de control de iluminación: para la iluminación se eligieron tubos fluorescentes por su bajo costo y sencillez de implementación, el circuito que controla la iluminación en el proyecto es el siguiente:
Ilustración 3.17. Circuito de control para iluminación fluorescente
d) Fuente de poder: se utilizó una fuente de computadora por ser económica, y por ser sencilla la alimentación de los voltajes que hacían falta para los componentes. 30
3.5.3. Configuraciones en LinuxCNC: Antes de crear la interface, se deben realizar las configuraciones que sirven para identificar los pines del puerto paralelo que se van a conectar con los motores para producir la salida adecuada. Primero vamos a indicar cuáles son las entradas y salidas que se necesitan: - Para el controlador micro-paso del motor hace falta una entrada de paso del motor (STEP) y la dirección hacia donde se va a mover (DIR), como son dos motores, harán falta 4 salidas del puerto paralelo hacia los controladores, dejamos dos salidas adicionales por si hacen falta en un futuro. -
El circuito de iluminación requiere una entrada que indica si se enciende o se apaga, para eso se configuró un pin del puerto paralelo como “Digital Out” que en LinuxCNC devuelve dos tipos de salida (0,1) que se puede usar para representar encendido y apagado.
- Y finalmente el sensor fin de carrera tiene una salida que indica si el motor hizo contacto con el sensor, esta se convertirá en una entrada que indicará al programa de control la posición inicial (HOME) del motor del láser. Para establecer estas entradas y salidas, se utilizó el asistente de LinuxCNC (StepConf Wizard), que genera archivos de configuración para maquinaria operada a través del puerto paralelo y que utilizan señales de paso y dirección. StepConf es un programa que se instala automáticamente con LinuxCNC y está en el menú CNC.
Ilustración 3.18. Acceso al asistente de configuración de LinuxCNC
Se ha configurado todo con los valores por defecto, con excepción del nombre del proyecto y las entradas/salidas del puerto paralelo. (Ver Ilustración 3.19)
31
Ilustración 3.19. Configuración de salidas/entradas del puerto paralelo
El asistente crea una carpeta, en el directorio emc2/config donde se guardan archivos de configuración necesarios de extensión .ini y .hal.
3.5.4. Circuito de Control: Después de las configuraciones hechas en LinuxCNC, se pudieron definir los pines del puerto paralelo que corresponden a las entradas y salidas de los otros circuitos planteados antes. Se utilizó el software libre TinyCAD17 (versión 2.80.08) para el gráfico del circuito final, se crearon los diferentes componentes con las herramientas de dibujo que ofrece dicho software, para presentar y tener una idea más clara para el ensamblado del mismo en una placa de prueba (protoboard). Debido a que se trata de un prototipo, y fueron necesarias algunas pruebas donde se ha requerido retirar componentes, se ha mantenido el circuito armado en la misma placa.
17
https://sourceforge.net/projects/tinycad/
32
Ilustración 3.20. Circuito de control
3.5.5. Configuración de David3 para comunicación serial: El software de David 3d tiene entre sus opciones avanzadas, una configuración para habilitar la comunicación mediante el puerto serie, después de habilitar la opción correspondiente, se han analizado y establecido los códigos para cada acción automatizable del programa. A continuación se muestra las configuraciones hechas de donde también se ha definido las limitaciones de esta automatización en base a las opciones que no pueden ser automatizadas. (Ver Ilustración 3.21). David3 tiene dos tipos de opciones configurables para la comunicación serial, la primera son comandos que al ser enviados al programa ejecutan la acción determinada. La segunda son mensajes que el programa devuelve para indicar que la acción ha sido ejecutada, y para indicar algunos estados por ejemplo, cuando se encuentra en el menú calibración, se ha configurado para que devuelva el número 1. Dentro de las opciones no automatizables están el proceso de calibración, el alineamiento y la fusión de los escaneos.
33
Ilustración 3.21. Configuraciones del puerto serie (David 3d)
3.5.6. Diseño del software de control: El objetivo principal del software de control, es mover los motores de manera sincronizada con el proceso de escaneo de David 3d, eso se logra mediante la escucha permanente del puerto serie y la configuración para el envío de comandos hacia David de acuerdo a los estados que este programa envíe. Se ha generado un diagrama de flujo indicando el proceso de escucha del puerto serie y su reacción esperada a los distintos mensajes, siguiendo el proceso de escaneo.
34
INICIO
p Tiempo= t
p= leer líneas puerto serie
si no
Hay un carácter “S;” en p
Iniciar escaneo automático
Ilustración 3.22. Proceso de escucha del puerto serie
Como podemos ver en la ilustración 3.22, se ha configurado el mensaje “S;” como respuesta al clic del botón escanear del programa David 3d, por lo cual si el mensaje es recibido, se inicia el proceso de escaneo automático, de lo contrario se continua con la escucha del puerto. Mediante un diagrama de flujo se describe el proceso de escaneo automático, que genera un modelo tridimensional de la vista actual de la cámara, es decir un escaneo. (Ver Ilustración 3.23).
Ilustración 3.23. Proceso de escaneo automático
35
En el proceso anterior se envían comandos como “2” o “3”, que significan en las configuraciones de David 3d, ir a menú escaneo e ir a menú texturizado respectivamente. Los comandos de letras “T”, “G”, y “A” significan, detener escaneo, capturar textura y guardar en la lista, según como se configuró en el software de David. Para asegurar la posición inicial del láser en cada escaneo, se ha propuesto mover el motor primero de manera ascendente con una distancia D1, y luego de detener el escaneo, se retorna al láser a la posición anterior haciendo el movimiento de la misma distancia D1 pero de sentido inverso. Las variables que intervienen, estas son: - D1: distancia angular de giro del motor del láser (se calcula dependiendo del tamaño del objeto). - p: cadena de texto donde se almacena toda la información que se haya recibido en el puerto serie en un intervalo de tiempo t2. - t2: intervalo corto de tiempo. - V1: Velocidad del motor del láser definida por el usuario, a menor velocidad mayor calidad de detalle. - V2: velocidad impuesta por el desarrollador, con el fin de disminuir el tiempo total de escaneo el motor tiene mayor velocidad al momento de regresar a su posición. - t: intervalo de tiempo de 2s, necesario para el cambio de procesos que requieran estabilizarse, por ejemplo el encendido de la luz fluorescente. En una segunda fase, se ha construido el proceso con las iteraciones necesarias para completar un escaneo de 360º. Para ello incluimos un dato ingresado por el usuario (D2) que es la distancia de giro de la plataforma inferior, así podemos calcular cuántos escaneos necesita para completar la vuelta.
total_de_escaneos =
360° , 𝐷2 𝑑𝑒𝑏𝑒 𝑠𝑒𝑟 𝑢𝑛 𝑛ú𝑚𝑒𝑟𝑜 𝑚ú𝑙𝑡𝑖𝑝𝑙𝑜 𝑑𝑒 360 D2
Además se ha incluido un contador para indicar cuantas veces tiene que realizar el proceso para concluir el escaneo de 360º. El diagrama de flujo del proceso completo se puede visualizar en la Ilustración 3.24.
36
INICIO
p, D2, V3, n, total_escaneos Tiempo= t n=0
p= leer líneas puerto serie
Hay un carácter
si
Proceso para
“S;” en p
escaneo
no n=n+1
Rotar motor inferior (distancia =D2, velocidad=V3) Enviar comando serie (“S”) Tiempo=D2/V3 no n< total_escaneos si
FIN
Ilustración 3.24. Proceso de escaneo de 360º
Con el diagrama del proceso completado se pueden definir las funciones que va a implementar la interface, se resumen los requerimientos funcionales del software de control a continuación (Tabla 3.3).
37
Tabla 3.3. Requerimientos funcionales del software de control.
Nombre preliminar de la función
Parámetros que recibe
Salidas
Descripción
escribe_comando_serie
(Comando)
Ninguna
Comandos de tipo cadena de caracteres permitidos por David 3d
Encender_luces
(Estado binario)
Ninguna
0 apagado, 1 encendido
Rotar_laser
(V1,D1)
Ninguna
V1 es la Velocidad y D1 la distancia angular a recorrer, para rotar hacia abajo se ingresa –V.
Rotar_motor_inferior
(V2,D2)
Ninguna
V2 es la Velocidad y D2 la distancia angular a recorrer
[A]
A es un arreglo de las cadenas de caracteres leídas por el puerto serie en un tiempo t2.
Leer_lineas_puerto_serie
Ninguna
3.5.7. Diseño de la Interfaz gráfica: Tomando en cuenta las variables que requiere definir el usuario, se ha creado la interface siguiendo un diseño sencillo, intuitivo y estético. Se ha creado en glade, y la funcionalidad de los botones con GTK3, que además ayuda a recuperar la definición de los objetos tal y como los creamos en glade. El diseño final de la interface se puede ver a continuación (Ilustración 3.25).
38
a b
c
d Ilustración 3.25. Diseño de la interface de control
a) Barra de Herramientas: en esta barra se ven 3 botones, el primero de color rojo es el botón de e-stop (emergency stop), el siguiente es el botón de encendido/apagado de la máquina (machine power-on / off), y por último el botón de home (inicialización de las posiciones de los motores). Estos son botones fundamentales para iniciar cualquier proceso en LinuxCNC. b) Información de los ejes (motores): En la parte central a un lado de la imagen se encuentra la información sobre las posiciones en las que se encuentran actualmente los motores en relación a la posición inicial. El eje X representa el motor que sujeta el láser, el eje Y representa el motor que rota la plataforma donde se ubicará el objeto. El eje Z estará en cero siempre por no existir un tercer motor. c) Controles de la interface: En la parte inferior
se ven tres controles, la
velocidad que se establece con una barra (si se deja en cero resulta un error), el ángulo de rotación de la plataforma inferior que define el número total de escaneos, y el control para tamaño del objeto dependiendo del panel de calibración que se coloque.
39
d) Información: Para informar sobre el estado de escaneo y errores se encuentran dos cajas de información, la primera
indica el número de
escaneo en el que se encuentra con respecto al número de escaneos totales. La segunda representa la barra de estado, en esta barra se despliegan los mensajes que se produzcan cuando existan errores o simplemente información necesaria durante el escaneo.
3.5.8. Maqueta ensamblada final:
Ilustración 3.26. Maqueta final
40
4. CÁLCULOS Y RESULTADOS
4.1. Obtención de resultados Los resultados de este proyecto son los modelos tridimensionales conseguidos mediante el prototipo de automatización implementado y depurado. En una primera etapa se escanearon objetos similares a piezas patrimoniales, y en una segunda etapa se escanearon piezas patrimoniales reales que han permitido definir la forma de los objetos que producen mejores modelos 3D. En la primera etapa de resultados, se ha generado un modelo digital de la escultura de una cabeza humana hecha a mano con yeso, de dimensiones de 15x19cm de base x 25cm de altura.
(a)
(b)
(c)
Ilustración 4.1. Objeto mediano digitalizado, (a) fotografía del original, (b) modelo 3D texturizado, (c) modelo 3D sin textura.
Se ha trabajado con una segunda pieza de prueba, muy similar a una pieza patrimonial de dimensiones 8x8cm de base x10cm de altura, hecha a mano con arcilla.
41
(a)
(c)
(b)
Ilustración 4.2. Objeto pequeño digitalizado, (a) fotografía de la pieza original, (b) modelo 3D con textura, (c) modelo 3D sin textura.
Entre los logros obtenidos con la automatización están la obtención de modelos visualmente similares con los originales, la facilidad para generar el modelo de 360º y la reducción significativa del tiempo de escaneo. La tabla 4.1 resume los parámetros con los que se obtuvo los dos modelos y el tiempo total en que se ha conseguido.
Tabla 4.1. Parámetros y tiempo de escaneo
Piezas
Velocidad del láser (grados/s)
Grados de giro de la plataforma (grados)
Total de escaneos
Tiempo transcurrido para obtener modelo 3D (minutos)
Escultura cabeza humana
0.8
20
18
35
Objeto similar a patrimonial
0.4
30
12
25
Se realizaron algunas pruebas con objetos de prueba para asegurar que durante el proceso las piezas patrimoniales no corran peligro de caída o daño. Como una segunda etapa se escanearon piezas patrimoniales reales en el Instituto de Patrimonio Cultural del Ecuador18. 18
http://www.inpc.gob.ec/
42
Entre las piezas digitalizadas está una figura humana y una botella, tomadas del patrimonio recuperado en un caso judicial (Ilustración 4.3).
Ilustración 4.3. Piezas patrimoniales digitalizadas (izquierda: original, derecha: modelo 3D)
Durante el escaneo de piezas patrimoniales se han detectado algunos indicadores de piezas que no producen buenos resultados, por ejemplo, las piezas que contienen partes con marcada variación de profundidad (el láser no alcanza las partes profundas), y las piezas de dimensión menor a 4cm (el resultado tiene baja cantidad de detalle). 4.2. Comprobación de resultados Se ha utilizado el software MeshLab19 (versión 1.3.2) para realizar algunas pruebas de calidad con los resultados obtenidos. Se ha elegido la herramienta “Hausdorff Distance”, que utiliza el método del mismo nombre, el cual determina que tan alejados están dos conjunto de puntos entre ellos, se define de la siguiente forma:
𝐻(𝐴, 𝐵) = max(ℎ(𝐴, 𝐵), ℎ(𝐵, 𝐴)) 𝑑𝑜𝑛𝑑𝑒:
ℎ(𝐴, 𝐵) = max(min‖𝑎 − 𝑏‖) 𝑎∈𝐴
𝑏∈𝐵
En general ℎ(𝐴, 𝐵) calcula el vecino más cercano que pertenezca a B para cada punto de A y así obtener la distancia entre ellos. El máximo valor de distancia es el resultado de la función (Ferková, 2013).
19
http://meshlab.sourceforge.net/
43
La función ℎ no es simétrica, es decir que ℎ(𝐵, 𝐴) puede diferir de ℎ(𝐴, 𝐵), por lo que el valor final que se toma el valor máximo de ambos resultados. Se puede calcular en un solo sentido la función ℎ con la finalidad de examinar que tan alejado está el conjunto A del B o viceversa. Para la comparación establecida en este proyecto, se han obtenido dos modelos tridimensionales de la misma pieza con el prototipo de escaneo automático, aplicando los mismos parámetros, pero ubicados en distintas posiciones iniciales. Podemos decir, que si comparamos los conjuntos de puntos de estos dos modelos, la diferencia debe ser un valor cercano a cero. Los cálculos se realizaron con los escaneos de dos piezas diferentes (2 escaneos por cada pieza), y los resultados con la herramienta “Hausdorff Distance” son los siguientes:
Tabla 4.2. Resultados de pruebas con herramienta Hausdorff Distance
Min
Max
Media
RMS*
(mm)
(mm)
(mm)
(mm)
Botella1 - Botella 2
0
22.525181
0.270248
0.675140
Botella2 - Botella 1
0
20.512924
0.328467
0.903799
FiguraHumana1 – FiguraHumana2
0
10.606921
0.161235
0.415326
FiguraHumana1 – FiguraHumana2
0
12.235268
0.212367
0.453234
Comparación
*Media cuadrática (Root Median Square)
Una vez obtenidos los resultados, se han graficado para una mejor visualización con la herramienta Quality Mapper de MeshLab. Se ha utilizado una escala de color RGB, en la cual el color azul representa el valor de distancia cero, y se va incrementando en la gama de color hasta llegar a las áreas en rojo que representan el máximo valor. Los resultados de la aplicación de la herramienta se ilustran a continuación (Ilustración 4.4, 4.5):
44
Ilustración 4.4. Resultado de la comparación (botella patrimonial)
Ilustración 4.5. Resultados de la comparación (figura humana)
De la comparativa realizada antes, se ha determinado que las diferencias significativas se encuentran bajo 1mm, y como se pudo observar, las áreas que se encuentran en rojo son imperfecciones cerca de lugares de alta profundidad o intersecciones de la pieza con la base del prototipo. En el histograma de distancias se puede ver que la cantidad de puntos con valores en rojo es 45
mínima, y en el caso por ejemplo de la botella, se produjo un error más visible en el área del brazo, sin embargo no supera el valor de 1.5mm. 4.3. Comparación con el escáner comercial Roland LPX-600 Se han realizado pruebas con el escáner 3D profesional ROLAND LPX-600 de la empresa ROLAND DG Global Network, obteniendo modelos 3D de los mismos objetos utilizados para este proyecto. Se realizó esta fase, para probar que tan similar es el prototipo de escaneo automático propuesto, con otros escáneres automáticos profesionales de un costo superior. En una primera etapa se ha consultado información del escáner Roland, donde se encontraron similitudes en los siguientes aspectos: - Restricciones de tamaño de objetos: los objetos que se pueden escanear deben caber en un cilindro de 40.65cm de altura x 24.5cm de radio, tan solo 5.64cm más de alto y 4.5cm de ancho que el prototipo que se plantea en este documento. - Restricciones de materiales: por ser ambos escáneres láser, los materiales de los objetos que no se pueden escanear son los mismos.
Ilustración 4.6. Restricciones escáner ROLAND LPX 600 (ROLAND, 2001)
En una segunda etapa se ha utilizado la herramienta Trimeshinfo20 (versión 1.23) que nos va a dar una idea
de la información topológica de los modelos
obtenidos en ambos casos: el prototipo de automatización propuesto y con el escáner ROLAND.
20
http://vcg.isti.cnr.it
46
Tabla 4.3. Información de los modelos 3D obtenidos, datos obtenidos con Trimeshinfo
Prototipo de escaneo automático
Información del modelo 3D
ROLAND LPX-600 Pieza
Escultura
Pieza similar a
Escultura
cabeza
patrimonial
cabeza
Número de vértices
686154
184978
1106142
244197
Número de caras
1370894
366468
368714
81399
Número de aristas
2056984
551476
556851
123392
Número de caras degeneradas
0
0
8
2
Número de vértices sin referencia
31
0
0
0
Vértices duplicados
0
2
918083
202230
Tiene textura
SI
SI
NO
NO
Componentes conectadas
39
18
1
1
Tipo de malla
Irregular
Irregular
Irregular
Irregular
Se cruza entre sí
NO (0)
NO (0)
SI (252)
SI(121)
Peso de archivo*
96.2MB
24.7MB
17.5MB
3.88MB
35 minutos
25 minutos
66 minutos
45 minutos
Tiempo de escaneo*
similar a patrimonial
*Datos obtenidos con la experimentación de los escáneres
De la tabla 4.3 expuesta anteriormente, se puede ver que el número de vértices en los resultados del escáner Roland es mucho mayor, y eso es debido a que hay un gran número de vértices repetidos. Los dos siguientes parámetros (número de caras y aristas) son únicamente propiedades que dependen del tamaño del objeto y el modo de cálculo de los polígonos. Respecto al número de caras degeneradas, se puede decir que son caras de dimensión cero, difíciles de eliminar porque no pueden ser vistas. Los vértices sin referencia son partículas de ruido que no pertenecen a la malla tridimensional, podemos observar que en el modelo obtenido con el prototipo actual hay una cantidad baja de partículas de ruido respecto al número de vértices que tiene el modelo. Una parte muy importante de esta comparación, es que el escáner Roland no ofrece captura de textura, que para el caso de piezas patrimoniales es muy importante y que el prototipo actual si tiene implementado. Respecto al peso del archivo digitalizado, 47
la información de textura hace que el peso del objeto se incremente, al convertir el mismo archivo 3D de la escultura de la cabeza a un archivo .stl sin información de textura, el peso redujo considerablemente a 34.3MB. Analizando la última fila de la Tabla 4.3, se puede ver que el tiempo transcurrido durante el escaneo con Roland LPX-600 es del doble del logrado con el prototipo de automatización que aquí se propone, y sin incluir la captura de la textura. Aunque en la práctica el tiempo de escaneo fue acortado, porque al momento de configurar la máxima resolución que ofrece Roland, el escaneo tardó tiempos superiores 3 horas. De los modelos estudiados anteriormente se tomaron algunas capturas para comparación visual de los mismos.
Ilustración 4.7. Comparación visual de modelos (izquierda: resultado con ROLAND LPX-600, derecha: resultado con el prototipo de automatización planteado)
Ilustración 4.8. Comparación visual modelos 3D (izquierda: resultado con ROLAND LPX-600, derecha: resultado con el prototipo de automatización planteado)
48
De la comparación visual se puede añadir que el modelo obtenido con el escáner Roland cubre mucha menos superficie que el obtenido por el prototipo planteado. Se ha logrado cubrir más superficie en un segundo escaneo con Roland, pero el tiempo que transcurrido ha sido de 8 horas, que representa un costo elevado si debe ser manejado por un empleado de un instituto o museo.
49
5. CONCLUSIONES
La digitalización del patrimonio cultural actualmente es un tema ampliamente estudiado y se ha convertido en un medio de integración de diferentes disciplinas científicas. Este trabajo multidisciplinario, ha permitido generar nuevos campos de investigación en áreas de estudio como visión por computador, informática, topografía e inteligencia artificial. Con la conservación digital del patrimonio cultural, se facilita la difusión, el análisis y enriquecimiento de la cultura mediante el uso de aplicaciones en la web, donde el usuario participa activamente con sus comentarios y experiencias. Esto permite que las instituciones gubernamentales diversifiquen la forma en la que se promociona la cultura, y que no se concentren únicamente en el almacenamiento de la información, que no explota al máximo sus beneficios. La digitalización 3D de objetos patrimoniales es la mejor vía para la inclusión de nuevas tecnologías en el área de patrimonio cultural en Ecuador, sin embargo es necesario que las soluciones de digitalización 3D se apliquen en un corto plazo, ya que en este campo se lleva un retraso de algunos años con respecto a otros países del mundo. Durante
esta
investigación
se
ha
determinado
que
los
escáneres
tridimensionales basados en técnicas de triangulación láser ofrecen alta calidad (precisión milimétrica) y fidelidad con los objetos originales. No obstante, el uso de láseres en los sistemas de escaneo 3D tiene limitaciones de materiales y formas de objetos que producen buenos resultados. Si se compara el escaneo láser con otras técnicas como la fotogrametría, donde los resultados visuales son excelentes y existen menos restricciones, se debe considerar que la calidad obtenida no tiene la precisión que ofrece el escaneo láser, y que puede no ser conveniente para análisis arqueológico. El uso de software libre en este proyecto, ha permitido realizar las interfaces de control sin costo, y ha ofrecido la oportunidad de indagar a profundidad lenguajes como Python que en los tiempos actuales ha incrementado su número de usuarios. Herramientas de software como LinuxCNC además de ser gratuitas, ofrecen facilidad de implementación para el desarrollador. LinuxCNC permite la creación de sistemas de control profesional para componentes electrónicos y 50
ofrece un entorno de desarrollo que facilita el diseño de interfaces gráficas que pueden ser utilizadas en máquinas como por ejemplo el presente caso de escaneo automático, impresoras 3D, brazos robóticos, máquinas de corte láser y otros. En la etapa final del proyecto se ha demostrado que es posible construir un sistema de escaneo automático de bajo costo y alta calidad, equiparable a un equipo comercial profesional; que garantiza la seguridad de los objetos y permite la digitalización de un gran número de piezas patrimoniales del Ecuador.
51
6. RECOMENDACIONES
6.1. Piezas patrimoniales originales - Dentro de la fase de trabajo con piezas patrimoniales reales, se utilizó arcilla para fijar los objetos a la plataforma del escáner, ya que algunas de ellas son irregulares o demasiado ligeras y no se han mantenido en su base sin moverse. Se recomienda utilización de arcilla para fijar los objetos y garantizar la seguridad de los mismos, además de obtener un mejor resultado en los modelos 3D. - Cuando las piezas contengan cortes, es recomendable inclinarlos con un poco de arcilla, para alcanzar sitios donde el láser usualmente no llega. - Para obtener un modelo con la máxima calidad, se recomienda realizar más de un escaneo de 360º con distintos parámetros. En el caso de las piezas pequeñas (panel de 12cm y 6cm) el láser debe descender con una velocidad muy baja (0.2 grados por segundo), y en el caso de los objetos más grandes, es suficiente con la velocidad intermedia (0.4 grados por segundo), pues una velocidad muy baja aumenta considerablemente el tiempo de escaneo y el nivel de detalle varía mínimamente.
6.2.
Consideraciones para el mejoramiento del prototipo
- Para futuros prototipos se debe considerar una mejor iluminación de la maqueta interna, ya que se han presentado problemas con las sombras reflejadas en los objetos, que a pesar de darles más realismo a los modelos, opaca algunas características de la textura en esas áreas. - Es necesario cambiar frecuentemente la batería del láser para obtener resultados buenos en cuanto a la malla tridimensional, debido a que en algunos momentos cuando la batería está muy baja, el láser tiende a parpadear produciendo huecos, imperfecciones y líneas en el modelo final. - Es recomendable guardar las propiedades de la cámara una sola vez, y no modificarlas, ya que al ser el ambiente de la maqueta cerrado, la iluminación es constante sin importar dónde se ubique. Las propiedades de la cámara se 52
guardan una vez por cada usuario creado en la computadora, por lo que es mejor si se trabaja solo con el usuario administrador. - El software de escaneo de David3D funciona mejor, si se copia toda la carpeta de la aplicación al disco duro, y se ejecuta desde esa dirección, evidentemente para que funcione la licencia se debe mantener conectada la memoria flash del programa. - Se debe considerar para mejorar el sistema, el cambio de la computadora con Linux por una Raspberry PI21 mejorando la portabilidad y la estética del mismo.
6.3. Uso de software y hardware - Para la búsqueda de información sobre del software libre utilizado en este proyecto, se recomienda visitar el sitio oficial del desarrollador, donde se encuentra la descripción detallada de las clases y su funcionamiento. - El software MeshLab que se menciona en el documento es también una herramienta adecuada, para limpiar imperfecciones y puntos aislados de la malla, por lo que se sugiere dar un tratamiento posterior a los modelos escaneados con este software.
21
https://www.raspberrypi.org/
53
BIBLIOGRAFÍA 1. Aliaga, D. G., Bertino, E., & Valtolina, S. (2011). DECHO, A Framework for the Digital Exploration of Culture Herritage Objects. Journal on Computing and Cultural Heritage JOCCH, 1-26. 2.
Alonso, F., Martínez, L., & Segovia, F. J. (2005). Introduccion a la Ingeniería de Software. Madrid : Delta Editoriales Universitarias.
3. Alshamrani, A., & Bahattab, A. (2015). A Comparison Between Three SDLC Models, Waterfall Model, Espiral Model and Iteration/Incremental Model,. 2015 International Journal of Computer Science Issues, 106-111. 4. Andretto, M., Brusco, N., & Cortelazzo, G. M. (2004). Automatic 3-D Modeling of Textured Cultural Heritage Objects. IEEE Transactions On Image Processing. 5. Ares, M., & Royo, S. (2013). Low Cost 3D Scanning Technology Based on Active Stereovision. Proceedings of The Colour and Space in Cultural Heritage Session at the Denkmäler 3D Conference. 6. Bearman, G. (05 de 05 de 2015). Laser Focus World: Photonics Technologies Recuperado
and el
02
Solutions de
05
for de
Technical 2016,
Profesionals de
PenWell
WorldWide. Corporation:
http://www.laserfocusworld.com/articles/print/volume-51/issue05/features/spectroscopy-hyperspectral-imaging-opens-new-perspectives-incultural-heritage.html 7. Breuckmann, B. (2014). 25 Years of High Definition 3D Scanning: Story, State of the Art, Outlook. Proceeding of the EVA London on Electronic Visualisation and the Arts, 262-266. 8. Curless, B. L. (1997). New Methods for Surface Reconstruction from Range Images. California. 9. Davies, J. (Septiembre de 2014). Academia. Recuperado el 30 de 03 de 2016,
de
http://www.academia.edu/15642304/Onsite_Digital_Heritage_Interpretation_a t_World_Heritage_Sites_Current_uses_and_future_possibilities 10. Dellepiane, M. (2012). ISTI CNR. Recuperado el 27 de Marzo de 2016, de Visual
Computing
http://vcg.isti.cnr.it/~ganovell/bertinoro/L2_RM_creation.pdf 54
Lab:
11. Devi, S., & Veena. (2014). Measurement of Relief Displacement from Vertical Photograph. International Journal of Science, Engineering and Technology Research, 2800-2805. 12. Eikvil, L. (Diciembre de 1993). Norsk Regnesentral. Recuperado el 07 de 04 de 2016, de https://www.nr.no: https://www.nr.no/~eikvil/OCR.pdf 13. Ferková, Z. (2013). Determinig the Similarity Between 3D Scans of Human Faces (bachelor tesis). República Checa. 14. Gaëtan, J., & Lara, C. (Noviembre de 17 de 2011). Arquitectura Ecuatoriana. Recuperado
el
06
de
04
de
2016,
de
http://www.arqueo-
ecuatoriana.ec/es/noticias/noticias/1423-el-sistema-abaco-del-inpc 15. Hyvönen, E. (2009). Semantic Portals for Culture Heritage. En S. Staab, & R. Studer (Edits.), Handbook of Ontologies, Second edition (págs. 757-778). Berlín: Springer. 16. Ippoliti, E., Meschini, A., & Sicuranza, F. (2015). Digital Photogrammetry and Structure from Motion for Architectural Heritage. En Handbook of Research on Emerging Digital Tools for Architectural Surveying, Modeling and Representation (págs. 124-181). Italia: Springer. 17. Jansen, M., Georgios, T., Walther, A., Döring-Williams, M., & Mayer, I. (2007). Laser Scan Measurement of the Niche and Virtual 3D Representation of the Small Buddha in Bamiyan. Layers of Percetion, 35th Conference on Computer Applications and Quantitative Methods in Archaeology, 83-90. 18. Levoy, M. (2000). The Digital Michelangelo Project: 3D Scanning of Large Statues. Proc. SIGGRAPH. 19. Lu, D., & Pan, Y. (2010). Digital Preservation of Heritages. Hangzhou, China: Springer-Verlag. 20. Mesa Múnera, E., Branch Bedoya, J., & Ramírez Salazar, J. (2010). Construcción de Un Modelo Digital 3D de Piezas Precolombinas usando escaneo láser. Avances en Sistemas e Informática, 198-205. 21. Mostafa Abdel-Bary, E. (2011). 3D Scanners: History, Applications and Future. Egipto: Assaiut University. 22. Noy, N. F., & McGuinness, D. L. (2001). protégé. Recuperado el 04 de 03 de 2016,
de
http://protege.stanford.edu/:
http://protege.stanford.edu/publications/ontology_development/ontology101noy-mcguinness.html
55
23. O'Reilly , T. (30 de Setiembre de 2005). O'Reilly. Recuperado el 31 de 03 de 2016, de O'Reilly Tim: www.oreilly.com/pub/a/web2/archive/what-is-web20.html 24. Peng, Q., & Sanchez, H. (2005). 3D Digitizing Technology in Product Reverse Design. Second CDEN Conference. Canada. 25. Pocel Araúzo, C. (20 de 05 de 2013). Caracteres. Recuperado el 02 de 05 de 2016,
de
http://revistacaracteres.net:
http://revistacaracteres.net/revista/vol2n2noviembre2013/metodos-digitalesdocumentacion-arqueologica/ 26. Rahm, E., & Bernstein, P. A. (6 de Septiembre de 2001). A survey of approaches to automatic schema matching. The VLDB Journal, págs. 334349. 27. Ramos, L. F. (2013). Lo viejo y lo nuevo: Patrimonio cultural digitalizado. VI JORNADA
PROFESIONAL
DE
LA
RED
DE
BIBLIOTECAS
DE
CERVANTES. Madrid. 28. Reznicek, J., & Pavelka, K. (2008). New Low-cost 3D Scanning Tecniques for Cultural Heritage Documentation. The International Archives of the Photogrammetry,Remote Sensing and Spatial Information Sciencies, 237240. 29. Rodríguez Navarro, P. (2012). La Fotogrametría Digital Automatizada Frente a los Sistemas Basados en Sensores 3D Activos. Expresión Gráfica Arquitectónica, 100-111. 30. ROLAND. (26 de 07 de 2001). Imagine Roland. Recuperado el 20 de 04 de 2016, de Roland DG: http://www.rolanddg.eu/sites/default/files/public/lpx-600manual_del_usuario-sp.pdf 31. Rouse, M. (Abril de 2007). WhatIs.com. Recuperado el 1 de Marzo de 2016, de
http://whatis.techtarget.com/:
http://whatis.techtarget.com/definition/digitization 32. Sandi, M. V. (2014). La investigación aplicada y básica/pura en el ICAP. San José, Costa Rica: ICAP. 33. Sansoni, G., Trebeschi, M., & Docchio, F. (2009). State-of-The-Art and Applications of 3D Imaging Sensors in Industry, Cultural Heritage, and Criminal Investigation. Sensors , 568-569. 34. Schweibenz, W. (2011). Museums and Web 2.0. En G. Styliaras, D. Koukopoulos, & F. Lazarinis (Edits.), Handbook of Research on Technologies and Cultural Heritage; Applications and Environments (págs. 1-15). New York: Information Science REFERENCE. 56
35. Simon, N. (2007). What Museums Can Learn from Web 2.0. Museums and Social Issues, Volume 2, 257-274. 36. Somerville, I. (2005). Ingeniería del Software. Pearson, Addison Weasley. 37. Stjepandic, J., Wognum, N., & Verhagen, J. (2015). Concurrent Engineering in the 21st Centur, Foundations Developments and Challenges. Suiza: Springer. 38. UNESCO. (2004). Records of 32nd General Conference. Resolutions Volume 1 (pág. 75). París: Workshops of UNESCO. 39. UNESCO. (2005). 1972 World Heritage Convention . Basic Texts of the 1972 World Heritage Convention (pág. 5). París: UNESCO. 40. Urban, R. (01 de Marzo de 2007). Museums and the Web 2007: Proceedings . Recuperado el 2016 de Mayo de 02, de Archives and Museum Informatics: http://www.archimuse.com/mw2007/papers/urban/urban.html 41. Viteazul, M. (02 de 12 de 2016). Proto Tipare 3D. Recuperado el 02 de 05 de 2016, de http://prototipare3d.ro/scanarea-3d/ 42. Winkelbach, S., Wahl, F. M., & Molkenstruck, S. (2006). Low-cost Range Scanner and Fast Surface Recognition Approach. Proceedings of 28th Annual Symposium of the German Association of Pattern Recognition, 718728. 43. Woolfson Touma, O. (23 de Noviembre de 2010). INPC, Revista del Patrimonio cultural del Ecuador. Recuperado el 06 de 03 de 2016, de https://revistas.arqueo-ecuatoriana.ec/en/inpc-journal/inpc-journal-1/225decreto-de-emergencia-del-patrimonio-cultural 44. Zhou, M., Geng, G., & Wu, Z. (2012). Digital Preservation Technology for Cultural Heritage. Beijing: Springer-Verhagen.
57
ANEXOS
I
ANEXO A Código del software de control
#!/usr/bin/env python
import serial import gtk import gobject import gladevcp.makepins from gladevcp.gladebuilder import GladeBuilder import hal import sys,os from threading import Timer,Thread,Event import math
# indica al programa el uso de threads o hilos gobject.threads_init()
# coloca la ruta de archivos de la interfaz BASE = os.path.abspath(os.path.join(os.path.dirname(sys.argv[0]), "..")) libdir = os.path.join(BASE, "lib", "python") sys.path.insert(0, libdir) datadir = os.path.join(BASE, "share", "linuxcnc") xmlname = os.path.join(datadir,"gui_nueva.glade")
import linuxcnc
# clase que permite la ejecución permanente de la escucha del puerto serie class perpetualTimer:
def __init__(self,t,hFunction): self.t=t II
self.hFunction = hFunction self.thread = Timer(self.t,self.handle_function)
def handle_function(self): self.hFunction() self.thread = Timer(self.t,self.handle_function) self.thread.start()
def start(self): self.thread.start()
def cancel(self): self.thread.cancel()
class gui3(object):
def __init__(self): self.puerto_serie=serial.Serial(0,timeout=0.05) # definición del puerto serie # inicialización de parametros de escaneo para prevenir errores al inicio self.angulo_laser=26.00 self.angulo_plataforma=10.00 self.num_rotacion=0 self.num_escaneos=36 #
conversión
unidades
de
grados
a
pulgadas,
de
distancias angulares # que deben recorrer el láser y la plataforma inferior self.angulol_pulgadas=self.angulo_laser*0.00568 self.angulop_pulgadas=self.angulo_plataforma/1800.00 # definicion de propiedades necesarias para linuxcnc self.emc = linuxcnc self.error_channel=self.emc.error_channel() self.com=self.emc.command() self.status = self.emc.stat() self.halcomp = hal.component("gui3") III
las
# definicion de instancia de la clase GTK builder, # permite recuperar objetos creados en la interfaz glade self.builder = gtk.Builder() # definicion de la ruta del archivo glade creada ant self.builder.add_from_file(xmlname) # conexion entre el programa y el diseño de la interfaz self.builder.connect_signals(self) # obtención de los objetos de la interfaz self.window = self.builder.get_object("window1") self.label=self.builder.get_object("label9") self.statusbar=self.builder.get_object("statusbar1") self.rbutton=self.builder.get_object("rb1") self.rbutton.set_active(True)
self.window.show()#
comando
para
desplegar
la
ventana
en
pantalla self.panel
=
gladevcp.makepins.GladePanel(self.halcomp,
xmlname, self.builder, None) self.halcomp.ready()
# ya que es necesario el bucle principal para manejar la interfaz de usuario y sus eventos, # las llamadas que lo bloquean como sleep() bloquearian la interfaz tambien, # entonces todo pasa a traves de manejadores de evento (aka callbacks) # La funcion gobject.timeout_add() añade una funcion para ser llamada a intervalos de tiempo regulares # el tiempo entre llamadas a esa funcion son en milisegundos gobject.timeout_add(100,
self.periodic)
#
tiempo
entre
llamadas en milisegundos self.machine_status = 0 self.t=perpetualTimer(0.1,self.lectura) # definición del hilo de escucha del puerto serie self.t.start() map IV
def periodic(self): # capturar elementos de estado y actualizar pantalla
# obtener datos desde el canal de estados self.error_status = self.error_channel.poll() if self.error_status: self.error_kind,self.error_text = self.error_status if
self.error_kind
in
(linuxcnc.NML_ERROR,
linuxcnc.OPERATOR_ERROR): self.error_type = "Error: " else: self.error_type = "Info: " self.message_id
=
self.statusbar.push(0,self.error_type
self.error_text)
self.status.poll()
#obtener posiciones actuales de cada eje (motor)
data = self.status.actual_position[0] text = "% 9.4f"% (data*175.78125) self.builder.get_object("dro_x").set_text(text)
data = self.status.actual_position[1] text = "% 9.4f"% (data*1800.00) self.builder.get_object("dro_y").set_text(text)
data = self.status.actual_position[2] text = "% 9.4f"% (data) self.builder.get_object("dro_z").set_text(text)
return True # debe retornar verdadero para seguir corriendo
# metodo que ejecuta el comando home, # cuando se hace clic en el respectivo botón V
+
def on_home1_clicked(self,widget, data=None): self.com.home(0)
# metodo que ejecuta el comando stop, # cuando se hace clic en el respectivo botón def on_stop1_clicked(self,widget, data=None): self.com.jog(self.emc.JOG_STOP,0)
# Implementación del botón cerrar def on_window1_destroy(self, widget, data=None): print "Ha salido desde cancelar" gtk.main_quit() self.t.cancel() self.puerto_serie.close()
# Implementación de la lectura del puerto serie def lectura(self): mensaje=self.puerto_serie.readlines(None,'\r')
self.vel=self.builder.get_object("jog_speed").get_value()/175.781 25 print mensaje
if '1\r' in mensaje: self.com.set_digital_output(0,1)
#encender
luces
para
calibracion
if '2\r' in mensaje: self.com.set_digital_output(0,0)
#apagar
luces
para
el
escaneo
if '3\r' in mensaje: self.com.set_digital_output(0,1) captura de textura
if 'S;\r' in mensaje: VI
#encender
luces
para
self.com.set_digital_output(0,0) #Apagar luces
#if
(not
self.status.estop
and
self.status.enabled
and
self.status.homed): #para el sensor fin carrera if (not self.status.estop and self.status.enabled): if (self.vel!=0): print "comando recibido" self.sequence_scan() else: self.message_id = self.statusbar.push(0,"Can't execute jog at velocity zero") else: self.message_id
=
self.statusbar.push(0,"Can't
execute
command before ESTOP enabled and machine turned on")
# Implementación del proceso de escaneo automático def sequence_scan(self): self.num_rotacion=self.num_rotacion+1 self.label.set_text("Escaneo: "+str(self.num_rotacion)+"/"+str(self.num_escaneos))
self.time_jog=int(math.ceil(self.angulol_pulgadas/self.vel))*1000 self.time_jogn=self.time_jog/6 self.time_jogy=int(self.angulop_pulgadas/self.vel)*1000 self.jog_positive() gobject.timeout_add(self.time_jog, self.jog_negative) gobject.timeout_add(self.time_jog+self.time_jogn, self.commands_scan) gobject.timeout_add(self.time_jog+self.time_jogn+2000, self.captura_tex) gobject.timeout_add(self.time_jog+self.time_jogn+4000, self.jog_y) if (self.num_rotacionPreferencias > Aplicaciones al inicio:
XXXII
Ya en la ventana le damos clic en Añadir:
Finalmente colocamos un nombre cualquiera, un comentario referente al arranque del server y el comando que se describe en el ejemplo:
d) RESULTADO FINAL
XXXIII
XXXIV