universidad central del ecuador facultad de

Anuncio
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_rotacion<self.num_escaneos):
gobject.timeout_add(self.time_jog+self.time_jogn+self.time_jogy+4
000, self.rep_scan)
VII
# metodo que repite el escaneo
def rep_scan(self):
self.puerto_serie.write('S\n')
# metodo que desplza al laser en sentido positivo
def jog_positive(self):
self.com.jog(self.emc.JOG_INCREMENT,0,self.vel,self.angulol_pulga
das)
return False
# metodo que desplza al laser en sentido negativo
def jog_negative(self):
self.puerto_serie.write('T\n') #Detener escaneo
self.com.jog(self.emc.JOG_INCREMENT,0,6*self.vel,self.angulol_pulgadas)
return False
# metodo que realiza comandos de control de iluminación
para texturizado
def commands_scan(self):
self.com.set_digital_output(0,1) #Encender luces
self.puerto_serie.write('3\n')
return False
# metodo que realiza comandos para texturizado y guardado
def captura_tex(self):
self.puerto_serie.write('G\n') #Captura textura
self.puerto_serie.write('A\n') #Aniadir a lista
return False
# metodo que desplaza a la plataforma el numero de grados
definido
def jog_y(self):
VIII
self.puerto_serie.write('E\n') #Borrar escaneo
print("esta en movimiento plataforma")
self.com.jog(self.emc.JOG_INCREMENT,1,self.vel,self.angulop_pulga
das)
self.com.set_digital_output(0,0) #Apagar luces
if (self.num_rotacion!=0):
self.puerto_serie.write('2\n')
return False
# implemetación de la selección de grados de giro en combo
box
def button_toggled(self, widget):
if (widget.get_active()):
if gtk.Buildable.get_name(widget)=='rb1':
self.angulop_pulgadas=10.00/1800.00
self.num_escaneos=36
if gtk.Buildable.get_name(widget)=='rb2':
self.angulop_pulgadas=20.00/1800.00
self.num_escaneos=18
if gtk.Buildable.get_name(widget)=='rb3':
self.angulop_pulgadas=30.00/1800.00
self.num_escaneos=12
if gtk.Buildable.get_name(widget)=='rb4':
self.angulop_pulgadas=40.00/1800.00
self.num_escaneos=9
if gtk.Buildable.get_name(widget)=='rb5':
self.angulop_pulgadas=60.00/1800.00
self.num_escaneos=6
if gtk.Buildable.get_name(widget)=='rb6':
self.angulop_pulgadas=90.00/1800.00
self.num_escaneos=4
self.label.set_text("Escaneo:
"+str(self.num_rotacion)+"/"+str(self.num_escaneos))
IX
if __name__ == "__main__":
app = gui3()
gtk.main()
X
ANEXO B
Manual de réplica del prototipo
XI
GUÍA RÁPIDA PARA LA CONSTRUCCIÓN DE LA MAQUETA
En esta guía rápida se explica el proceso de creación de la maqueta para la
automatización del Escáner David3D que se ha desarrollado en el Grupo de
Modelado de Sistemas Complejos de la Universidad Central del Ecuador.
Se ha desarrollado en base a materiales caseros fáciles de conseguir, además
de un software desarrollado en Python, que corre sobre Linux y con las librerías
de LinuxCNC.
a) ARMADO DE LA CAJA
C
D
B
J
B
A
E
E
G
H
G
F
I
MATERIALES
Piezas de madera:
A.
B.
C.
D.
E.
F.
G.
1 Puerta de 56x60cm x1cm de espesor
2 Laterales de 55x62cm x1cm de espesor
1 Tapa superior de 62x60.5cm x1cm de espesor
1 Tapa posterior de 55x60cm x1cm de espesor
4 Tiras de madera de balsa de 0.5x55cm x0.5cm de espesor
1 Pedazo de madera de 60cm largo x5cm alto x3.5cm espesor
2 Pedazos de madera de 56.5cm de ancho x 5cm de alto x 3.5cm de
espesor
H. Tapa inferior de 62x62 cm x1cm de espesor
I. Base de 60x60 cm x1cm de espesor
J. Tirador (manija) para cajón
K. Clavos para madera
INSTRUCCIONES
Antes de juntar todas las piezas en su sitio se procederá a hacer los respectivos
agujeros y muescas con las herramientas necesarias, tal y como se indica a
continuación.
XII
PUERTA
Con el pedazo de madera correspondiente a la puerta, haremos dos agujeros
para los tornillos que sujetarán la manija, la disposición es la siguiente:
Dependiendo de la longitud que tenga la manija de cajón se tomará la distancia
para los orificios.
LATERALES
Los haremos con una pieza del lateral y dos tiras de madera de balsa: en el
extremo izquierdo del lateral se colocará una de las tiras de balsa y se fijará con
clavos para madera de 1cm, la otra tira se colocará paralela a ésta, a 1cm de
distancia, lo que formará el riel para la puerta. Se repite el mismo proceso para
el otro lateral.
TAPA INFERIOR
Con la pieza correspondiente a la tapa inferior (62x62 cm) se realizarán las
siguientes perforaciones (ha de tenerse en cuenta que algunas medidas pueden
cambiar dependiendo del tamaño del motor PAP Nema 17):
XIII
Se realizarán primero los dos agujeros superiores de 10mm y 8mm de diámetro,
luego se hará el inferior de 8 mm y finalmente el de 24 mm en las posiciones que
se indican en la figura con respecto a su centro. Luego, se tomará las distancias
entre los 4 orificios que tiene el motor y se marcará la posición de ellos en la
madera para luego taladrar. En este caso la distancia entre los orificios del motor
es 32mm.
Vista Frontal madera
Motor PAP Nema 17
(Medidas)
En la parte posterior de la tapa inferior se dibujará el cuadro correspondiente al
tamaño del motor, en este caso el motor mide 45x45mm, se le han adicionado
5mm para que el motor quepa con facilidad, después se utilizó la herramienta
fresadora para rebajar ese cuadrado aproximadamente 5mm, la vista posterior
es la siguiente:
Vista Posterior madera
XIV
PRIMER ENSAMBLAJE
En primer lugar vamos a ensamblar las 5 piezas que tenemos ya listas (los
laterales, la tapa inferior, la tapa posterior marcada con la letra D en la lista de
materiales, y la puerta) de la siguiente manera:
Primero fijamos los laterales con la tapa posterior con clavos para madera de
unos 2cm de largo y luego colocamos la tapa inferior.
VISTA AÉREA
Tapa
posterior
Pasaremos la puerta por el riel que se formó, en caso de que la puerta no entre
correctamente habrá que lijar un poco los extremos para que no haya problema
para abrirla.
Una vez verificado que la puerta se abra y cierre con suavidad, la retiramos.
Con los ítems de materiales literales F y G vamos a hacer lo siguiente, a una
pieza G, le vamos a hacer un corte de esta forma:
1 cm
XV
Luego vamos a unir las tres piezas a lo que ya se tenía como se indica en la
imagen:
CAJA AL REVÉS
G
F
G
La pieza F tiene 60cm de largo, irá centrada a 1cm del frente de la caja, y a 1cm
de distancia de los lados, se fijará todo con clavos para madera de unos 2cm
aproximadamente.
La pieza I y la pieza C las utilizaremos después de ensamblar otras partes
importantes de la maqueta. Por el momento esta será la base de la maqueta y
se procederá con los demás materiales.
PLATAFORMA GIRATORIA
MATERIALES
A
B
C
D
E
XVI
F
G
Lista de materiales:
A. 1 Soporte giratorio para TV 15x15cm (no puede superar ese tamaño).
B. 8 tornillos con rodela para el soporte giratorio de 1cm de largo.
C. 1 Motor PAP Nema 17 (con eje ensanchado), tamaño del motor:
4.5x4.5cm x 40cm.
D. 4 tornillos de 2cm de largo para fijar el motor.
E. 1 círculo de madera de 20cm de diámetro.
F. Varios destornilladores.
G. Sierra para metal.
H. Llaves hexagonales
INSTRUCCIONES
Para armar la plataforma vamos a proceder de la siguiente manera:

Dividir el soporte de TV en dos partes con la sierra de metal (la idea es dividir
el anillo del centro para separar las dos partes que giran).

Una vez con las dos partes separadas, en el interior del soporte se
encuentran los rodamientos (esferitas de metal), los vamos a guardar y el
anillo del centro que cortamos ya no lo vamos a necesitar.

Primero retiramos el eje ensanchado del motor con una llave hexagonal,
luego vamos a fijar el motor PAP nema17 a la base de madera con sus
respectivos tornillos a los huecos que habíamos hecho previamente. (Ocultar
las cabezas de los tornillos dentro de la madera).
XVII
CAJA AL REVÉS

En la parte superior de la base de madera vamos a colocar la parte inferior
del soporte de TV que cortamos para tomar la medida de los tornillos que la
van a sujetar. Tiene que estar centrada con respecto al eje del motor:
XVIII

Con las posiciones de los orificios marcadas, perforamos con el taladro y
atornillamos la parte inferior del soporte a la madera (usamos los tornillos con
rodela).

Por otro lado tenemos el círculo de madera, que vamos a hacerle un orificio
de diámetro menor al diámetro de la parte inferior del eje ensanchado
colocado al revés, con un martillo vamos a ir colocando el eje en el centro de
la madera, procurando que quede centrado y recto para no producir un giro
irregular.

Vamos a colocar centrada la tapa superior del soporte de TV sobre el círculo
con el eje al revés, y marcamos los lugares donde irán los orificios para
atornillarla a la madera, los orificios estarán a 0.5cm de profundidad. Luego
de esto, pintaremos todo el círculo de madera de color negro.
XIX

Luego vamos a colocar con cuidado los rodamientos en donde estaban
inicialmente, encima de ellos colocamos la tapa superior con el círculo de
madera y ajustamos el eje ensanchado del motor con la llave.
Llave
Rodamientos
Si no encontramos la llave hexagonal lo suficientemente larga para ajustar el eje,
podemos reemplazar por un tornillo y ajustar con un destornillador largo.
XX
b) GUÍA DE ENSAMBLAJE DE LOS CIRCUITOS
El circuito que se utilizó es el siguiente:
MATERIALES
Cables y herramientas:















2 Protoboard (breadboard) de 830 contactos.
1 DAVID laser lineal (rojo en nuestro caso).
1 Cable DB25 (Macho/Hembra) (1 metro).
1 adaptador serial-USB.
1 cable DB9 hembra-hembra (1 metro).
1 cámara Logitech Pro C615 (HD y control de enfoque).
2 lámparas de 58 cm de largo con tubo fluorescente de 14W (con difusor
de luz).
1 cable USB macho/hembra (1 metro).
3 metros de cable gemelo (dúplex).
5 metros cable flexible No.22.
1 fuente de computadora (con su cable de poder).
Soldador manual, estaño, pasta para soldar.
Cinta doble faz.
Destornilladores de precisión.
Pistola de silicón.
XXI
Componentes electrónicos:

















1 Sensor fin de carrera.
1 Motor de pasos 28BYJ-48 (5V).
1 Motor de pasos Nema 17 (el que colocamos en la caja).
1 Conector para el motor Nema 17 de 30 cm o más.
2 Drivers para motor de pasos A4988.
1 disipador para el driver.
1 Compuerta 74LS245.
1 Compuerta 74LS244.
2 Capacitores electrolíticos de 100 µF.
4 Resistencias de 10KΩ.
1 Resistencia de 220Ω.
1 Resistencia de 100Ω.
1 Resistencia de 10KΩ.
1 pc817.
1 transistor 3904.
1 diodo N4001.
1 relé de 12V.
ESTRUCTURA PARA EL LÁSER
B
A
D
C
1 cm
F
E
H
G
XXII
Lista de materiales:
A.
B.
C.
D.
E.
F.
G.
H.
1 tubo (perfil) de aluminio de 30cm de largo x1cmx1cm.
1 Contera (tapón) de plástico de 1cm.
1 Motor de pasos (de los componentes electrónicos anteriores).
2 Pernos de cabeza 4mm x3cm de largo aprox.
1 acople para motor impreso en 3D (archivo .stl).
1 tornillo (pieza) para extensión de soporte de micrófono.
1 Pieza de extensión para colocar el sensor.
1 sensor fin de carrera (de los componentes electrónicos anteriores).
Circuito e iluminación:
Para esta parte el proceso es el siguiente:

Conectamos todos los componentes electrónicos en los protoboards,
menos el sensor de fin de carrera, los motores y el relé (como indica el
circuito de arriba), colocamos el disipador en el driver que va al motor
Nema17.
Por fines prácticos, en el circuito que se realizó se colocaron tiras de
pines en los lugares donde van los motores y el puerto paralelo para
evitar que se desconecten fácilmente.
TIRA DE PINES

Cortamos un extremo del cable DB25, separamos los cables necesarios y los
organizamos en el orden que indica el circuito, en nuestro caso colocamos
los cables en conectores para evitar que se suelten.
XXIII

Calibramos el voltaje de los drivers de los motores, en el pin REF del driver
que es el central del potenciómetro se debe obtener 0.04V, eso se consigue
regulando el potenciómetro con un destornillador de precisión.

Vamos a conectar la iluminación, para esto, cortamos 1,5 metros de cable
gemelo y soldaremos a los terminales para la conexión de la lámpara, luego
pegamos las lámparas con cinta doble faz, a 0,5 cm aproximadamente de la
parte superior de la caja, como se indica en la figura:
Cable gemelo
Agujeros
para
esconder
los cables

Luego vamos a pegar con silicón el cable gemelo, escondiéndolo en las
paredes de la caja y finalmente se pasan por los agujeros que señalamos en
el gráfico anterior.

Por la parte inferior de la caja vamos a conectar el relé de 12V como indica el
gráfico siguiente:
XXIV
Los dos pines que quedan sueltos de la bobina van como se indicó en el primer
circuito donde se representó una bobina.
Para fines estéticos, en lugar de soldar los cables a un enchufe como representa
el gráfico, se soldaron los dos cables a las terminales internas positiva y neutra
de la fuente de computadora por dentro.
El relé se pegó en la tapa inferior de la caja con cinta doble faz, y los cables se
pegaron por la parte inferior de la caja con silicón para que el circuito de los
protoboards pueda caber en el compartimiento inferior sin estorbos.
Estructura para el movimiento del láser:
Primero vamos a hacer unos pequeños cortes en la pieza del soporte de
micrófono para que pueda entrar en el perfil cuadrado procurando que el tornillo
esté hacia el lado plano del perfil, y luego colocaremos el tapón de plástico al
final del perfil para que el peso del láser no lo haga caer fuera de la estructura.
Luego colocaremos lo más recto posible el motor de pasos en un lado de la
pieza de soporte de micrófono, con los pernos vamos a medir dónde se van a
hacer las roscas en el plástico de la pieza para posteriormente atornillarlos y que
el motor quede fijo en su lugar. Todo se muestra en la imagen siguiente:
Cables del motor de pasos
Pernos
Después vamos a colocar el acople al motor de pasos con dos tornillos
pequeños como se ve en la imagen siguiente. Ajustamos los tornillos al eje del
motor y nos aseguramos que esté fijo. En la imagen se indica cómo se coloca el
láser y el acople del motor:
XXV
Luego ajustamos con un tornillo el láser centrado para que no se caiga, de la
siguiente forma:
Ahora, para ubicar el sensor fin de carrera, necesitamos atornillarlo a la pieza de
extensión, y luego calculamos dónde debe ir el sensor para que cuando el láser
rote haga contacto con el sensor sin presionarlo demasiado, luego marcamos los
puntos donde se van a hacer las roscas en la pieza del sensor y en la pieza de
micrófono para luego hacer los agujeros y atornillarlo en su lugar. Antes de
atornillarlo soldamos un par de cables flexibles de 1,5 metros a los pines del
sensor de fin de carrera para luego hacer las conexiones en el circuito.
XXVI
A continuación vamos a colocar la estructura del láser en la tapa superior que
aún no hemos usado de la caja, debemos procurar que el centro del láser quede
a 20cm de distancia de la esquina de la caja exactamente a 45 grados en la
diagonal de la tapa, para que el láser apunte a la esquina de la caja. Marcamos
por dónde va a ir colocado el perfil cuadrado, hacemos el agujero con la forma
del perfil, y cortando y doblando aproximadamente 1cm lo atornillamos en la
tapa.
45⁰
20 cm
Centro del
láser
Vamos a esconder los cables del motor unidos con los del sensor con cinta
aislante de vinilo, en el orificio que se hizo en la parte inferior, y de paso
podemos aprovechar para colocar la cámara web, su cable pasará también por
el orificio inferior y el cable USB pasará por el orificio lateral que hicimos en los
primeros pasos.
Finalmente fijamos la tapa superior e inferior con clavos, pintamos el interior de
la caja de color negro mate, y dibujamos un recuadro de 30cm x30cm en la
parte inferior, que marcará el límite donde la cámara se puede ubicar.
XXVII
c) GUÍA DE INSTALACIÓN DEL SOFTWARE NECESARIO
Para instalar el software, debemos tener dos computadoras, una de ellas debe
tener entradas para puerto serie y paralelo, la otra computadora deberá tener
buenas especificaciones: Windows 7, 64 bit, dual-core moderno o quad-core
CPU, 4GB RAM o más, tarjeta gráfica 3D NVIDIA o AMD, ya que será la
encargada del proceso de captura y fusión de superficies.
Instalaremos Linux y todo lo relacionado a CNC en la máquina con puerto
paralelo y serie, y la segunda máquina con Windows 7, la usaremos para instalar
el software de David 3D.
INSTALANDO LINUXCNC
Existen varias formas de instalar LinuxCNC, la más recomendable es:
Instalación Completa:
Descargar el ISO de la dirección: http://linuxcnc.org/binary.hybrid.iso y quemar
en un CD.
Una vez quemado la ISO en DVD se arranca desde el disco y se puede probar o
instalar.
El archivo es un ISO híbrido que significa que sirve para USB y para CD.
Además la ISO contiene una corrección de errores del kernel para algunas
placas base y el puerto USB. Linux 2.6.4 es la versión de la ISO, pero en este
caso se añade un parche al kernel en el caso de las placas bases afectadas.
INSTALACIÓN DE DRIVERS (EN WINDOWS)
Drivers para el conversor serial-usb
Suelen vender el adaptador con los drivers en un CD, si no es así en los
archivos adjuntos se encuentra una carpeta llamada Drivers conversor USB,
dentro de ella están los drivers para 64 y 32 bits, dependiendo del sistema
operativo que se tenga instalado ejecutaremos el correspondiente archivo.
Drivers para la cámara web
Los drivers para la cámara web están incluidos en la memoria flash de David 3D,
antes de conectar la cámara web, se instalarán los drivers. La instalación es
sencilla y no tiene ninguna consideración especial.
Instalación de .net Framework
Dentro de la memoria flash de David 3D se encuentra una carpeta llamada .Net
Framework, si no se encontrara instalado ya, entonces le haremos doble clic al
archivo que se encuentra en esa carpeta.
XXVIII
INSTALACIÓN DEL PROGRAMA PARA LA AUTOMATIZACIÓN
Trasladar archivos
En la computadora con Linux copiamos los archivos adjuntos que están dentro
de la carpeta llamada “Programa CNC”, donde encontraremos dos archivos y
una carpeta con nombre “Gui_nueva2”.
Vamos a copiar toda la carpeta Gui_nueva2 en la ubicación siguiente:
/home/<usuario>/linuxcnc/configs, donde <usuario> es el nombre de usuario que
se estableció en la instalación.
Luego abrimos una ventana del terminal y navegamos hacia donde se
encuentran los archivos gui_nueva2.glade y gui3.py, y ejecutamos el comando:
sudo cp gui3 /usr/bin/
Y después:
sudo cp gui_nueva2.glade /usr/share/linuxcnc
Para copiar los archivos en las ubicaciones que usa LinuxCNC como
predeterminadas para ejecutar sus programas.
XXIX
Luego vamos al escritorio, hacemos clic derecho y elegimos crear lanzador:
Y elegimos aplicación en terminal donde dice Tipo, le colocamos un nombre que
puede ser gui_nueva2 y en comando escribimos:
Linuxcnc /home/<usuario>/linuxcnc/configs/gui_nueva2/gui_nueva2.ini
Ejecutamos el lanzador y verificamos que el programa corra sin errores, si todo
está correcto y no hay errores en la consola, podemos ver la ventana siguiente:
INSTALACIÓN DE VNC PARA UTILIZAR SOLO UN MONITOR
Instalación de los programas:
Primero vamos a descargar la versión gratuita de RealVNC Server (instalador
Genérico para Linux) desde este link, y luego descargamos RealVNC viewer for
Windows desde este link.
El server lo vamos a instalar en Linux, de la siguiente forma:
Abrimos una ventana del terminal y cambiamos a root, o un usuario con
permisos equivalentes.
Extraemos los contenidos del tarball, con el comando -xvzf <tarball>, donde
<tarball> es la ruta completa del archivo descargado de extensión .tar.gz . Se
creará un subdirectorio en la misma ubicación de la descarga.
Navegamos al directorio creado y ejecutamos el script vncinstall, por ejemplo:
./vncinstall.
El otro archivo es un ejecutable y lo pegaremos en la computadora con Windows
en una ubicación conocida, no hace falta instalar.
Conectamos con cable cruzado las dos computadoras y
local.
formamos una red
Verificamos que se haya establecido la conexión entre los equipos, abrimos una
ventana del terminal de Linux y ejecutamos en la terminal el comando:
vncserver, esto arrancará el server de RealVNC, el programa solicitará una
licencia, que se consigue gratuitamente desde internet, y una constraseña para
acceder remotamente, al ingresar los datos, devolverá la IP a la que se podrá
conectar cualquier computador.
Desde Windows ejecutamos el archivo VNC-Viewer.exe que habíamos pegado
antes, y en la ventana que aparece se escribirá la IP que nos había dado en
Linux más “:1” que representa el puerto que hemos configurado, si es distinto a 1
colocamos el número que corresponda y hacemos clic en Connect. Por ejemplo:
XXX
Luego ingresamos la contraseña:
Y ya tenemos configurado e instalado RealVNC. La configuración inicial de X
Desktop de Ubuntu no permite arrancar sin monitor, por lo que necesitamos dos
pasos más, que se detallan a continuación.
CONFIGURACIÓN PARA QUE LINUX SE ENCIENDA SIN MONITOR
Todo este procedimiento se ha utilizado para Ubuntu. La nueva versión de
LinuxCNC viene con Debian Wheezy, así que se deberá modificar.

Primero activamos el inicio de sesión automático.
Nos dirigimos a cuentas de usuario, elegimos el usuario que queremos
que arranque por defecto, luego desbloqueamos y activamos iniciar
sesión automáticamente.
XXXI

Instalamos dummy monitor :
sudo apt-get install xserver-xorg-video-dummy

Respaldamos el archivo xorg.conf, así:
sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

Creamos un nuevo archivo xorg.conf con el comando:
sudo gedit /etc/X11/xorg.conf
Con los siguientes parámetros:
Section "Device"
Identifier "Configured Video Device"
Driver
"dummy"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
HorizSync 31.5-48.5
VertRefresh 50-70
EndSection
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device
"Configured Video Device"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1152x864"
EndSubSection
EndSection
CONFIGURACIÓN PARA QUE SE EJECUTE REALVNC AL ENCENDERSE
Vamos al menú superior de Ubuntu: Sistema>Preferencias > 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
Descargar