Repositorio Institucional de Documentos
Abstract
En una época en la que la ingeniería inversa se desarrolla a gran velocidad y las impresoras 3D son cada vez más comunes en el ámbito doméstico, son necesarios sistemas de reconstrucción de objetos 3D que se adapten a las nuevas necesidades. En este punto se va a realizar el prototipo de un escáner 3D utilizando el método de la proyección de franjas de luz blanca a partir de un esquema basado en cámara y proyector, controlado mediante softwares ingenieriles aprendidos a lo largo del Grado. López Ruiz, Alejandro; Fraile Lambea, Almudena; Santolaria Mazo, Jorge; Samper Carnicer, David
Full text
Trabajo Fin de Grado DESARROLLO, CALIBRACIÓN Y VERIFICACIÓN DE SISTEMAS DE DIGITALIZACIÓN BASADOS EN PROYECCIÓN DE FRANJAS DE LUZ BLANCA ESTRUCTURADA Autor/es Almudena Fraile Lambea Alejandro López Ruiz Director/es Jorge Santolaria Mazo David Samper Carnicer EINA, Grado en Tecnologías Industriales Junio, 2014
AGRADECIMIENTOS Queremos agradecer a nuestras familias el apoyo incondicional mostrado en todo momento durante los estudios de ingeniería, por animarnos como nadie en los periodos de dificultades y por celebrar con nosotros cuando han llegado los éxitos. También nos acordamos de nuestros amigos, por estar siempre ahí, por escucharnos y alegrarnos con humor y diversión. Queremos agradecer la posibilidad de haber realizado este TFG conjunto, de otra forma no hubiese sido posible realizar un trabajo tan ambicioso como éste que tanto nos ha permitido aprender. Nos agradecemos mutuamente lo que el uno ha aprendido del otro, la comprensión, el apoyo que siempre nos hemos dado, la disponibilidad, y la completa entrega de ambos al proyecto. Queremos agradecer a nuestro director del proyecto Jorge Santolaria Mazo por ofrecernos la posibilidad de realizar este proyecto, por su labor guiando nuestro trabajo por el camino de la superación continua y el ampliar nuestros conocimientos y perspectiva en un campo de la ingeniería, la digitalización 3D desconocido en un principio para nosotros. También queremos agradecer a nuestro codirector del proyecto David Samper Carnicer por poner a nuestra disposición su tiempo y conocimiento, por su implicación, por su dedicación y por todo lo que nos ha enseñado gracias a su experiencia estos meses. Estamos muy agradecidos a ambos por su disponibilidad y el modo en el que nos han tratado siempre. Por último queremos agradecer también al departamento de Fabricación por permitirnos utilizar sus recursos disponibles. A todos, gracias.
DESARROLLO, CALIBRACIÓN Y VERIFICACIÓN DE SISTEMAS DE DIGITALIZACIÓN BASADOS EN PROYECCIÓN DE FRANJAS DE LUZ BLANCA ESTRUCTURADA RESUMEN En una época en la que la ingeniería inversa se desarrolla a gran velocidad, las impresoras 3D son cada vez más comunes en el ámbito doméstico y las industrias eligen los métodos de medición sin contacto para los controles de calidad, son necesarios sistemas de reconstrucción de objetos 3D que se adapten a las nuevas necesidades. Entre las múltiples técnicas existentes, en este trabajo se va a realizar el prototipo de un escáner 3D utilizando el método de la proyección de franjas de luz blanca a partir de un esquema de cámara y proyector, controlado mediante softwares ingenieriles. Con vistas a cubrir las necesidades citadas anteriormente, se necesitan dos prototipos. El primero está pensado para un público de uso doméstico que lo emplee como elemento complementario a una impresora 3D de bajo coste, luego está limitado por la inversión inicial de sus componentes y funcionará mediante un proyector de gama media y una cámara Web. El segundo, está dedicado a un público que requiera mayores prestaciones, con los mismos fines o como herramienta en controles de calidad, luego los componentes del equipo deberán ser de mayor resolución, usando una cámara industrial. Durante este trabajo se clasifican las técnicas existentes para la captación de formas 3D con luz blanca, haciendo especial interés en la técnica elegida, y se explican las aplicaciones de esta herramienta. El análisis del modelo matemático y de los parámetros permite la reconstrucción de escenas 3D a partir de la captura de imágenes. Para ello es necesario realizar la calibración del proyector y la cámara utilizados. Antes de hacer un escaneo hay que plantear un problema de geometría descriptiva para conocer la configuración más óptima del sistema para escanear un objeto concreto. Llegados a este punto se requiere implementar el sistema completo para proceder con la medición. Obtenidas unas nubes de puntos hay que conocer las técnicas y los softwares utilizados para su tratamiento. En este proyecto se van a utilizar estudios previos hechos en este ámbito para conseguir desarrollar los prototipos explicados anteriormente. Para comprobar su funcionamiento, se probarán en los dos ámbitos que se pretenden utilizar, para ello se realizarán ensayos para la reconstrucción 3D de superficies libres, y comparación frente al CAD de una pieza industrial. Por último se realizarán las recomendaciones de verificación para equipos de estas características con intención de obtener unos resultados analíticos que sirvan para comparar ambos equipos.
ÍNDICE 1. INTRODUCCIÓN ...............................................................................................................................1 1.1 DISTINTAS TÉCNICAS PARA LA CAPTACIÓN DE FORMAS DE OBJETOS 3D CON LUZ BLANCA ............. 2 1.2 CARACTERIZACIÓN DE UN ESCÁNER 3D BASADO EN LUZ BLANCA .................................................... 6 1.3 APLICACIONES DE UN ESCÁNER 3D BASADO EN LUZ BLANCA ........................................................... 7 2. MODELO PINHOLE ......................................................................................................................... 10 3. CALIBRACIÓN DE LA CÁMARA Y DEL PROYECTOR .......................................................................... 14 3.1 INTRODUCCIÓN ............................................................................................................................... 14 3.2 MÉTODO DE CALIBRACIÓN .............................................................................................................. 15 3.2.1 Adquisición de imágenes ............................................................................................................. 15 3.2.2 Calibración de la cámara............................................................................................................. 16 3.2.3 Calibración del proyector ............................................................................................................ 18 3.2.4 Calibración común ....................................................................................................................... 20 3.3 RESULTADOS DE CALIBRACIÓN ....................................................................................................... 21 4. CONFIGURACIONES DEL SISTEMA .................................................................................................. 22 4.1 CÁLCULO DE PARÁMETROS DE LA CONFIGURACIÓN ....................................................................... 22 4.1.1 Cálculo de los ángulos de la cámara y el proyector .................................................................... 22 4.1.2 Cálculo de los parámetros de configuración ............................................................................... 23 4.2 RESULTADOS OBTENIDOS ............................................................................................................... 25 4.2.1 Configuración con Webcam ........................................................................................................ 25 4.2.2 Configuración con Pixelink .......................................................................................................... 26 4.3 DISEÑO DEL SISTEMA ...................................................................................................................... 28 4.3.1 Configuración con Webcam ........................................................................................................ 28 4.3.2 Configuración con Pixelink .......................................................................................................... 28 5. PATRONES BINARIOS Y CODIFICACIÓN GRAY ................................................................................. 29 5.1 INTRODUCCIÓN ............................................................................................................................... 29 5.2 CÓDIGO BINARIO ............................................................................................................................. 29 5.3 CÓDIGO GRAY .................................................................................................................................. 30 5.3.1 Ventajas del código Gray ............................................................................................................ 31 5.4 DECODIFICACIÓN DE LOS CÓDIGOS DE FRANJAS ............................................................................. 31 5.5 ALGORITMO .................................................................................................................................... 33 6. ENSAYOS ........................................................................................................................................ 34
6.1 CONFIGURACIÓN PROYECTOR + WEBCAM...................................................................................... 34 6.1.1 Reconstrucción de formas libres ................................................................................................. 35 6.1.2 Comparación frente a CAD .......................................................................................................... 37 6.2 CONFIGURACIÓN PROYECTOR + PIXELINK ....................................................................................... 38 6.2.1 Reconstrucción de formas libres ................................................................................................. 39 6.2.2 Comparación frente a CAD .......................................................................................................... 41 6.3 COMPARACIÓN DE RESULTADOS .................................................................................................... 41 6.3.1 Reconstrucción de formas libres ................................................................................................. 41 6.3.2 Comparación frente a CAD .......................................................................................................... 42 7. VERIFICACIÓN ................................................................................................................................ 44 7.1 INTRODUCCIÓN ............................................................................................................................... 44 7.2 VDI/VDE 2634-2 ............................................................................................................................... 45 7.2.1 Ensayo de planitud, RE ................................................................................................................. 45 7.2.2.- Ensayo de diámetro de esferas, R ............................................................................................. 46 7.2.3.- Ensayo de distancia entre esferas, ∆l ........................................................................................ 47 7.3 ANÁLISIS DE RESULTADOS ............................................................................................................... 49 8. IMPRESIÓN 3D ............................................................................................................................... 51 9. ESTUDIO ECONÓMICO ................................................................................................................... 54 9.1 CONFIGURACIÓN DE BAJO COSTE ................................................................................................... 54 9.2 CONFIGURACIÓN PROFESIONAL ..................................................................................................... 54 10. CONCLUSIÓN ................................................................................................................................. 55 11. REFERENCIAS ................................................................................................................................. 56 ANEXO A: MODELO DE ZHANG................................................................................................................ 58 ANEXO B: CARACTERÍSTICAS HARDWARE ............................................................................................... 62 ANEXO C: PLANO UNIZAR 200 D25 14 ..................................................................................................... 63 ANEXO D: DUMBLE UNIZAR 200 D25 14 .................................................................................................. 64
1 1. INTRODUCCIÓN Hoy en día, existen muchas aplicaciones en las que se requiere una rápida y precisa medida de la forma de los objetos en 3D. Muchas de estas aplicaciones incluyen ingeniería inversa, replicación digital 3D e inspección de objetos. Se necesitan adquirir nubes de puntos para la reconstrucción de superficies y análisis de error. Los métodos existentes para la adquisición de nubes de puntos se pueden dividir en dos categorías: métodos de contacto y métodos sin contacto [1]. Entre los métodos de medición por contacto destacan los siguientes: Máquina de Medición por Coordenadas (CMM), brazo articulado de medición por coordenadas y el sistema Laser Tracker. Estos métodos requieren contactar físicamente con el objeto que va a ser medido, lo que da lugar a ciertas limitaciones: lenta velocidad de medición (crear una nube de puntos lo suficiente densa puede ser un proceso muy lento al tener que establecer un contacto con la pieza gran cantidad de veces), dificultad con las superficies que son suaves o blandas, la presencia de incertidumbre debido a la esfericidad del palpador, etc. Por otra parte, los métodos sin contacto han eliminado estas limitaciones. Algunos métodos de medición sin contacto incluyen: escáner por láser, fotogrametría, y proyección de luz blanca [2,3]. La construcción de nubes de puntos utilizando proyección digital de franjas es una técnica de medición sin contacto basada en luz blanca [4]. Comparado con el escáner con láser y la fotogrametría, la ventaja más significativa de esta técnica es su alta velocidad de toma de datos. Dependiendo de la resolución de la cámara, de la resolución del proyector y de la sincronización del hardware, este sistema puede realizar la captura de millones de puntos por segundo. La proyección por luz blanca es la técnica para muchas aplicaciones industriales, donde se requiere una precisa, rápida, y barata herramienta de medida de formas 3D. El sistema de proyección digital de franjas mediante luz blanca más simple es aquel que contiene un proyector digital y una cámara, como se muestra en la Figura 1.1. El principio básico de este modelo es proyectar patrones conocidos sobre el objeto usando el proyector. La cámara se utiliza para capturar imágenes del objeto con los patrones conocidos sobre él. La nube de puntos que representa la superficie que está siendo medida puede ser construida utilizando el método de triangulación [5]. Figura 1.1 Sistema compuesto de un proyector y una cámara
2 1.1 DISTINTAS TÉCNICAS PARA LA CAPTACIÓN DE FORMAS DE OBJETOS 3D CON LUZ BLANCA Figura 1.2 Clasificación de proyecciones secuenciales de patrones Existen otras técnicas basadas en otros principios como por ejemplo: patrones de variación continua, indexado de líneas, indexado de rejillas y métodos híbridos [6]. Sin embargo, el presente estudio se restringirá al campo de la proyección secuencial de patrones. A continuación se explicarán los distintos métodos que existen para la proyección secuencial de patrones en objetos estáticos. 1.- Patrones binarios y codificación Gray: El código binario [7,8] utiliza franjas blancas y negras para formar una secuencia de patrones de proyección, cada punto de la superficie del objeto posee un único código binario. En general, N patrones pueden codificar franjas. Por ejemplo, la Figura 1.3 muestra un patrón de proyección simplificado de 5-bit. Una vez que la secuencia de proyección se proyecta en un objeto estático, hay 32 ( ) áreas codificadas con franjas únicas. Las coordenadas 3D pueden ser calculadas basándose en el principio de triangulación para cada uno de los 32 puntos a lo largo de cada línea horizontal, formando de esta manera la imagen 3D. Esta técnica es muy segura y menos sensible a las superficies características ya que los píxeles pertenecientes a una misma franja poseen el mismo código binario. Sin embargo, para lograr
3 una alta resolución espacial se necesitan proyectar un gran número de patrones secuenciales. Es necesario que durante la proyección de los distintos patrones los objetos estén estáticos. Otro inconveniente es que se tarda más tiempo en adquirir la imagen 3D que en métodos que se verán a continuación. Figura 1.3 Proyecciones de patrones binarios codificados secuenciales para imágenes 3D 2.- Patrones de nivel gris: Esta técnica es desarrollada para reducir el número de patrones necesarios a proyectar para obtener una imagen 3D de alta resolución. Por ejemplo, si se usan M distintos niveles de intensidad (en lugar de solo dos como para el código binario) podemos producir una codificación única del patrón de proyección. Para este caso, con N patrones podremos codificar franjas. Cada código de franja puede ser visualizado como un punto en una base N del espacio, y cada dimensión tiene M distintos valores. Por ejemplo, si usamos cuatro niveles de gris, M=4, y tres patrones, N=3, el número total de franjas de código únicas es 64 ( ). Para obtener este mismo número de franjas de código en un patrón binario se necesitarían 6 patrones (26). Se trata de una optimización del código binario. La diferencia entre los distintos niveles de gris ha de ser suficiente para que pueda ser diferenciado por nuestra cámara. Figura 1.4.a Arriba, la codificación a nivel de gris de las imágenes en 3D: N=3, M=3 Figura 1.4.b Abajo, patrones de codificación de nivel de gris optimizados 3.- Desplazamiento de fase: Una serie de patrones sinusoidales son proyectados sobre la superficie del objeto. Las intensidades de cada píxel de los tres patrones de franja proyectados son:
4 Donde , , son las intensidades de las tres franjas de los patrones, , es la amplitud de la señal de modulación, es la fase y es el ángulo constante de desplazamiento de fase [1]. Se denomina desarrollo de fase al proceso que convierte la fase contenida en el intervalo [0,2π] a un mapa de fase absoluto en escala de tiempo. La información de la fase puede ser recuperada desde las intensidades de las tres franjas de intensidad de los patrones: [√ ] Las discontinuidades de la función arcotangente en 2π pueden ser corregidas del siguiente modo: Siendo k un número entero Figura 1.5 Desplazamiento de fase con tres patrones de proyección y un ejemplo de una imagen de la franja Figura 1.6 Ilustración del proceso de phase unwrapping Las coordenadas del punto 3D (x,y,z) pueden ser calculadas basándose en la diferencia entre la fase medida y el valor de fase del plano de referencia. En la Figura 1.7 se ilustra un caso sencillo.
11 plano imagen del proyector, debe existir una única línea conteniendo este punto y el centro de proyección. En resumen, la luz viaja desde el proyector (o hacia la cámara) a través de la línea que conecta al punto 3D con su proyección 2D en el plano imagen. Figura 2.2 Sentido de la luz para cámara y proyector El modelo Pinhole completo, teniendo en cuenta la distorsión de las lentes, puede ser descrito por una serie de transformaciones [5], que se presentan a continuación: 1.- Transformación de las coordenadas del mundo a coordenadas de la cámara: La transformación de las coordenadas mundo del punto ( ) a las coordenadas de la cámara ( ), puede ser descrita por la siguiente ecuación: [ ]= [ ] + Donde es la matriz de rotación y es el vector de traslación. Ambos son parámetros extrínsecos de la cámara que serán obtenidos por métodos de calibración más adelante. 2.- Proyección al plano de imagen: En la Figura 2.3 es posible distinguir dos triángulos semejantes, ambos compartiendo la línea de proyección como hipotenusa. Como el ángulo β que forman al cortar el plano focal es el mismo, se puede aplicar trigonometría. Por semejanza de triángulos en el plano se puede obtener: , con notación de nuestras coordenadas: De manera análoga en el plano : , con notación de nuestras coordenadas:
12 Figura 2.3 Modelo de triangulación Hemos obtenido una expresión que describe las coordenadas del punto en el plano imagen, respecto al punto en coordenadas de la cámara. Para que la imagen esté derecha se tiene que seguir algún método para girarla. En una cámara digital basta con leer los píxeles en un determinado orden para tener la imagen en su forma original. La ecuación que se obtiene es la misma pero sin el signo negativo. Luego la posición nominal del punto es la siguiente: 3.- Modelo de distorsión de lentes: Debido a la distorsión de las lentes, ocurre que la posición nominal del punto no coincide con la posición ideal que debería ocupar. En la realidad esto sucede por la contribución de dos efectos: la distorsión radial y la distorsión tangencial [11]. De acuerdo a esto, la posición ideal del punto , , puede ser calculada a partir de la posición nominal: [ ] [ ]+[ ( ) ( ) ] Donde , son los coeficientes de distorsión radial y , son los coeficientes de distorsión tangencial. Ambos se obtendrán mediante la calibración de la cámara más adelante. Además, . 4.- Transformación de las coordenadas de la cámara a coordenadas píxel: Para las cámaras digitales, la posición del punto es digitalizado y expresado en coordenadas píxel. Las coordenadas en píxeles de , denotadas por , pueden ser calculadas como se muestra a continuación:
13 [ ] [ ] ; con A=[ ] se denomina matriz intrínseca de la cámara, donde ( son las coordenadas píxel del punto principal, y son los factores de escala asociados a la distancia focal para los ejes respectivamente y el factor de oblicuidad de los ejes . Todos estos parámetros son únicos para cada cámara y se obtienen mediante un proceso de calibración. 5.- Transformación de las coordenadas píxel a coordenadas mundo: A partir de las coordenadas en píxel en el plano imagen , , se puede calcular la línea infinita que parte del centro óptico de la cámara y pasa por el punto Sin embargo, no se puede calcular las coordenadas de un punto concreto, ya que se requiere una ecuación más, pues se tienen 2 ecuaciones y 3 incógnitas. El problema de reconstrucción se resuelve utilizando un proyector o una cámara introduciendo cada uno dos ecuaciones adicionales, dando lugar a un sistema con 4 ecuaciones y 3 incógnitas. De esta forma se pueden calcular las coordenadas del punto deseado mediante técnicas de triangulación, ya que tenemos dos líneas infinitas que se cortan en el punto, en este caso . Figura 2.4 Coordenadas del proyector y de la cámara
14 3. CALIBRACIÓN DE LA CÁMARA Y DEL PROYECTOR 3.1 INTRODUCCIÓN La triangulación es un principio aparentemente sencillo, que trata sobre la intersección de pares de líneas y planos en 3D. En la práctica sin embargo, se debe calibrar cuidadosamente las distintas cámaras y proyectores de manera que las ecuaciones del modelo Pinhole recuperen el objeto 3D a partir de los píxeles de la imagen de la manera más exacta posible. En este punto se presenta la calibración de un sistema básico proyector/cámara. Para ahorrar tiempo y centrarnos en el desarrollo del sistema, se ha decidido hacer la calibración mediante un software específico. Para ello se ha utilizado Matlab con la herramienta “TOOLBOX CALIBRATION” [12], desarrollada por el profesor Jean-Yves Bouguet, del Instituto de Tecnología de California. A pesar de haber diferentes softwares para la realización de la calibración se ha decidido utilizar esta herramienta debido a su prestigio y consideración en el ámbito científico, donde es ampliamente utilizada, por su facilidad de uso y la calidad de sus resultados. También se han utilizado otros módulos del software Matlab como “Imaqtool” para la configuración de las cámaras [13]. Y en este trabajo se han creado otros algoritmos de uso práctico como por ejemplo uno para la proyección y adquisición de imágenes. En primer lugar se procede a la selección, control y calibración de la cámara digital adecuada para la digitalización 3D. Se presenta en el Anexo A “Modelo de Zhang” un procedimiento de calibración que utiliza patrones de tablero de ajedrez impresos, siguiendo el método establecido por Zhang [14,15]. Seguidamente se utilizará un proceso sencillo en el cual la cámara calibrada observa un objeto plano con unas marcas impresas y con el tablero de ajedrez proyectado. Considerando el proyector como una cámara inversa se describe cómo estimar los distintos parámetros del modelo de proyección. Finalmente se hará una calibración común entre la cámara y el proyector.
15 3.2 MÉTODO DE CALIBRACIÓN 3.2.1 Adquisición de imágenes Figura 3.1 Tablero de ajedrez Figura 3.2 Tablero de esquinas En este trabajo se ha desarrollado un algoritmo en Matlab capaz de proyectar patrones de franjas de distinto grosor y patrones de cuadros, Figura 3.1, y capturar las imágenes mediante la cámara conectada al ordenador. A continuación se presenta un diagrama de cómo hay que utilizar las funciones de Matlab para adquirir imágenes con cámaras digitales conectadas a los puertos del ordenador. Nótese que es recomendable trabajar a la resolución nativa (verdadera) de la cámara porque es a la que la imagen se reproducirá sin tener que ser modificada para ser agrandada o empequeñecida. El ajuste del brillo, el contraste y la exposición, se realiza para conseguir una mayor diferenciación entre blancos y negros. Es recomendable guardar las imágenes en formato “.bmp” porque aunque ocupen más espacio en la memoria del ordenador, se guardan sin ser comprimidas y no pierden calidad. Para tomar las imágenes de la cámara hay que dejar fijos la cámara y el proyector y mover el tablero de ajedrez que aparece en la Figura 3.1 en distintas posiciones tantas veces como imágenes captures, es recomendable que sean entre 10 y 20. Del mismo modo, para tomar las imágenes del proyector hay que seguir manteniendo en la misma posición la cámara y el proyector. En este caso se enfocan con el proyector el patrón de cuadros de ajedrez sobre el tablero de esquinas mostrado en la Figura 3.2 y se realizan las capturas.
16 Figura 3.3 Diagrama adquisición de imágenes 3.2.2 Calibración de la cámara A continuación se presentan los pasos necesarios para realizar la calibración de la cámara con la herramienta “TOOLBOX CALIBRATION” de Matlab. Este ejemplo de calibración se realizó con la Webcam Conceptronic Flexcam HD, que era una de las alternativas para usar en el escáner basado en Webcam, pero se procederá de la misma manera para cualquier otra cámara digital. Primero se cargan las imágenes adquiridas para la cámara, “.cam”, en la “TOOLBOX”. Figura 3.4 Imágenes capturadas En la opción “Extraer las esquinas de la cuadrícula” se empieza a marcar la primera esquina por el extremo inferior izquierdo (que consideramos el origen) y se avanza a marcar las tres
17 restantes en sentido anti horario. Esta selección manual sirve para definir los cuadros completos del tablero que aparecen en la imagen y hay que repetirlo con todas las imágenes. Con este procedimiento el programa obtiene las coordenadas de todas las esquinas que se encuentran dentro del área seleccionada. Estas coordenadas son las que permiten realizar la calibración de la cámara junto con las coordenadas de las mismas esquinas. Las coordenadas las conocemos porque sabemos que los cuadros son de 40 mm y la es siempre 0, ya que todos los cuadros están contenidos en el plano del tablero. Figura 3.5 Extraer las esquinas Es en este momento cuando se pueden conocer los parámetros intrínsecos y extrínsecos de la cámara que serán necesarios para aplicar la matriz intrínseca y extrínseca, respectivamente, en el modelo Pinhole. Figura 3.6 Resultados de calibración Figura 3.7 Visualización de los parámetros extrínsecos Con la opción “Reconstrucción de error” podemos ver el error cometido en la reconstrucción de las coordenadas a partir de las coordenadas y los parámetros de calibración obtenidos para una imagen, este error se muestra en píxeles.
18 En este ejemplo, habría que destacar que más del 90% de los errores se encuentran por debajo de 0,5 píxeles, Figura 3.9, tanto en como en . De no ser así se podría eliminar la foto que provoca los errores de calibración mayores y recalcular los resultados. Figura 3.8 Reproyección de imágenes Figura 3.9 Análisis de error En la Figura 3.10 se presenta un diagrama general para la calibración de cámaras con la TOOLBOX de Matlab. Figura 3.10 Diagrama calibración de cámara 3.2.3 Calibración del proyector Del mismo modo primero se cargan las 15 imágenes adquiridas para el proyector, “.pro” en la “TOOLBOX”.
19 Figura 3.11 Imágenes capturadas Se selecciona la opción “Extraer las esquinas de la cuadrícula” y se procede a extraer las esquinas del mismo modo que en el apartado anterior. Las esquinas que se extraen son las del tablero proyectado y no las marcas del propio tablero. De esta forma se extraen las coordenadas de las esquinas proyectadas. Figura 3.12 Extraer las esquinas En la Figura 3.13 se presenta un diagrama general para la calibración de proyectores con la TOOLBOX de Matlab. Figura 3.13 Diagrama de calibración del proyector
20 3.2.4 Calibración común Para la calibración común entre cámara y proyector se utilizó un código desarrollado por Douglas Lanman y Gabriel Taubin de la Universidad de Brown (EEUU) [16]. En dicho código hay que seleccionar el número de imágenes que se tienen de la calibración del proyector y ejecutar el programa. Automáticamente aparecen las imágenes y hay que ir seleccionando (empezando por el extremo inferior izquierdo y avanzando en el sentido anti horario) los cortes de los cuadrados impresos en el tablero de la Figura 3.2. Aparece una ventana en la que se puede ver la posición del proyector y de la cámara respecto a un sistema de referencia que tiene como origen la cámara, Figura 3.14. Figura 3.14 Posición del proyector respecto a la cámara Se generan tres archivos: en los que se recoge los parámetros intrínsecos y extrínsecos de la cámara y el proyector. Y serán los que necesitemos importar a códigos posteriores de Matlab para reconstruir la imagen de los objetos que se escaneen. En la Figura 3.15, se presenta un diagrama general para la calibración común de cámara y proyector. Figura 3.15 Diagrama general para la calibración común de cámara y proyector
27 Tabla 4.5 Configuración de la Pixelink B781 4.2.3 Análisis de resultados Como en cualquier caso, el objetivo es desarrollar un dispositivo de sobremesa estamos limitados por el tamaño. Para la Webcam, el área de trabajo es de 1,5x1 m2. Un tamaño que podemos considerar asumible para los fines en que queremos aplicarlo. Sin embargo, en el caso de utilizar las cámaras de mayor resolución, hay que descartar el uso de algunas lentes debido a la enorme área de trabajo que darían lugar. Por este motivo, de entre las cuatro lentes que tenemos disponibles en laboratorio para hacer nuestro prototipo escogeríamos la lente de focal 8 mm, implica un área de trabajo de 1,2x1 m2. Sin embargo, se escogerá la lente de focal 12,5 mm con la cámara Pixelink B-741 ya que presenta una menor distorsión radial que la lente de focal 8 mm la cual posee mucha distorsión radial. Una solución sería comprar una lente de estas características con una baja distorsión radial, pero es una opción muy cara y con la que no contamos en el laboratorio. Aunque se considera como válido este tamaño para el prototipo que vamos a llevar a cabo del sistema, estas áreas de trabajo todavía son demasiado grandes para un equipo de sobremesa, que por ejemplo requiriese ser transportado fácilmente. En esta línea habría dos posibles soluciones: La primera sería colocar una lente delante del proyector para conseguir que estuviese enfocado a una distancia menor del plano de proyección, la segunda opción sería colocar otras cámaras cuyas lentes tuviesen menor distancia focal (mayores ángulos de apertura). Sin embargo, en esta última opción habría que considerar que cuanto menor es la focal de la lente, mayor es la distorsión radial, como se comentó anteriormente. Desde el punto de vista de la resolución, como era de esperar, para un objeto de la misma altura, cuanto mejor es la resolución de la cámara mejor resolución tendrá el sistema, con la subida de precio que esto va a implicar. Lente Altura Objeto (cm) Anchura Máx Objeto (cm) h(cm) dc (cm) dcp(cm) alphax(º) resolucionh(pixel/mm) resolucionv(pixel/mm) 0 a 15 11 11,0 83,6 470,7 80 10,8 13,6 15 a 30 22 18,5 140,5 794,8 80 7,0 8,1 30 a 45 33 26,0 197,5 1118,5 80 5,2 5,8 0 a 15 11 11,0 53,3 192,6 75 10,8 13,6 15 a 30 22 18,5 89,7 325,3 75 7,0 8,1 30 a 45 33 26,0 126,0 457,7 75 5,2 5,8 0 a 15 11 11,0 42,0 119,5 71 10,8 13,6 15 a 30 22 18,5 70,6 201,9 71 7,0 8,1 30 a 45 33 26,0 99,3 284,1 71 5,2 5,8 0 a 15 11 11,0 27,3 50,4 62 10,8 13,6 15 a 30 22 18,5 45,9 85,2 62 7,0 8,1 30 a 45 33 26,0 64,5 119,9 62 5,2 5,8 12,5 mm 8 mm Configuración de la Pixelink B781 (2208x3000) 25 mm 16 mm
28 Tabla 4.6 Resoluciones de las cámaras para un objeto de altura determinada 4.3 DISEÑO DEL SISTEMA 4.3.1 Configuración con Webcam A) Mesa reglada Ventajas: fácil de manejar por el usuario. Se podrían dar las calibraciones para cada uno de los agujeros y así el usuario no se tendría que molestar en calibrarlo. Inconvenientes: el área de trabajo es demasiado grande y se gasta mucho material. B) Guía inclinada Ventajas: más cómodo de transportar y menor peso Inconvenientes: más difícil de conseguir precisión en el posicionamiento. 4.3.2 Configuración con Pixelink Va a ser más libre, con un trípode para la cámara y otro para el proyector se puede ajustar donde se quiera. Tipo de cámara Altura Objeto (cm) resolucionh(pixel/mm) resolucionv(pixel/mm) Webcam Hercules Emotion HD 45 1,6 1,5 Pixelink B741 45 1,9 2,0 Pixelink B781 45 5,2 5,8
29 5. PATRONES BINARIOS Y CODIFICACIÓN GRAY 5.1 INTRODUCCIÓN Las técnicas de luz estructurada se basan en la proyección de uno o más patrones de luz en una escena u objeto, Figura 5.2, por lo general con el fin de adquirir directamente un mapa de distribución de la escena, normalmente con el uso de una sola cámara y un solo proyector, aunque puede utilizarse más de una cámara [17]. El objetivo de esta técnica es producir pares de imágenes del mundo real de escenas complejas en las que cada píxel de la imagen de la cámara se etiqueta y tiene su correspondencia en la otra imagen del proyector. Encontrar la correspondencia entre la imagen de la cámara y del proyector consiste en encontrar las coordenadas del píxel que tiene el mismo código en ambos. El código de cada pixel es único y se puede obtener por distintos métodos de codificación. 5.2 CÓDIGO BINARIO El código binario [6] usa franjas blancas y negras para formar diferentes secuencias de patrones de proyección, de manera que cada punto de la superficie del objeto posea un código binario único. De forma general con N patrones se pueden codificar franjas. En la Figura 5.1 se pueden ver los patrones de proyección, conforme se van aumentando el número de bits empleados. Figura 5.1 Patrones de proyección con código binario Cuando la secuencia de patrones (verticales y horizontales) es proyectada sobre un objeto estático, hay áreas únicas (puntos codificados). Conocido en el plano del proyector las coordenadas que tiene el área con un valor codificado determinado, se pueden hallar las coordenadas del área que tenga esa misma codificación en la imagen. De ese modo las coordenadas 3D , pueden ser calculadas basándonos en un principio de triangulación para cada uno de los puntos codificados a lo largo de cada línea horizontal, formando así el cuadro completo de la imagen 3D.
30 Figura 5.2 Funcionamiento del sistema 5.3 CÓDIGO GRAY El código Gray es una ordenación de números binarios 2N, en el que sólo existe un cambio de bits entre dos elementos consecutivos de la ordenación (para n > 3 el orden no es único). La Tabla 5.2 contiene 2 órdenes para n=4 que obedecen la definición de código Gray. Dicha tabla también contiene el código natural binario [18]. Supongamos que el número de columnas del proyector es 2N, a continuación, cada columna puede ser asignada a un número binario de n bits en una secuencia de código Gray de elementos 2N. Esto se hace mediante la transformación del índice de la columna de proyector en un elemento (es decir, un número binario de N bits). La proyección de franjas negras se asocia con el valor binario de 0 y la proyección de franjas blancas se asocia con el valor binario de 1. El proyector necesita proyectar N imágenes, cuyos índices valen i = 1...N, donde cada franja (blanca/negra) en la imagen i-ésima está determinada por el valor binario del bit i-ésimo (0/1) dentro del elemento de código de N bits Gray de esa columna. Esto nos permite establecer la correspondencia entre las franjas del proyector y los píxeles de la cámara. Para convertir de código Gray a Binario, y viceversa [19], existen distintos procedimientos, uno es el que se muestra en la Figura 5.3 mediante el uso de puertas XOR: Figura 5.3 Correspondencia código decimal, Gray y binario. En la tabla de la Figura 5.3 se muestra la comparación entre el código Gray y su correspondiente valor binario para cada número decimal que se representa.
31 5.3.1 Ventajas del código Gray El código Gray ofrece una ventaja significativa sobre el código binario [18]. La razón de esto sucede cada vez se producen errores de decodificación en las transiciones marginales, es decir, píxeles donde el patrón cambia de oscuro a claro o de claro a oscuro. Para el código Gray, hay significativamente menos transiciones marginales sobre los patrones de N cuando se compara con el código binario natural. De hecho, el código binario natural tiene la frecuencia más alta posible de transiciones en el N-ésimo patrón proyectado, que se corresponde con el bit menos significativo del código. Supongamos que la probabilidad de obtener un error cuando el umbral de la imagen de la cámara en un píxel situado en una transición de franjas es p, y que la probabilidad de obtener un error cuando no se produce la transición es q, la probabilidad de obtener un error con el código Gray es para todos los píxeles de la cámara situados en una transición independiente de la ubicación de transición. En este caso, el código Gray resulta una distribución uniforme de error en la parte de transición que no es el caso con el código binario natural. El código binario natural tiene una probabilidad de obtener un error en una transición que va desde hasta . En un sistema de proyección de franjas, se espera que p sea mayor que q. Por lo tanto, se espera que la tasa media de error en las transiciones sea más pequeña utilizando el código Gray que el obtenido utilizando un código binario natural. Tabla 5.1 Representación de códigos Gray y código binario 5.4 DECODIFICACIÓN DE LOS CÓDIGOS DE FRANJAS Se presenta un algoritmo para transformar las imágenes de la cámara en las correspondencias entre las franjas del proyector y los píxeles de la cámara. Los índices de franjas son conocidos en el proyector y para cada fila de la cámara se miden las transiciones de franjas. En el proyector se generan patrones totalmente negros (valor 0) y totalmente blancos (valor 255). Sin embargo, la cámara no puede captar totalmente dichos valores debido a las distorsiones que se producen en el ambiente, mostrándose los blancos como grises claros y los negros como grises oscuros. Por este motivo se toman inicialmente una foto del objeto con una proyección totalmente blanca y otra totalmente negra. Se hace la media del valor de todos los píxeles y así se puede saber cuál es el valor real del color blanco y del negro en nuestra escena.
32 Figura 5.4 Proyección totalmente blanca y negra. Código Gray y código Gray inverso Este efecto supone un problema especialmente en las fronteras donde la franja cambia de blanco a negro y viceversa. Idealmente debería haber un escalón en la frontera, pero realmente existen una rampa donde los píxeles de transición poseen unos grises intermedios. El algoritmo proporciona una forma sólida para conseguir una precisión sub-píxel. El método requiere la proyección de tanto un código Gray y el código Gray inverso asociado (las franjas blancas se sustituyen por franjas negras y viceversa) como se puede observar en la Figura 5.4. La Figura 5.5 muestra los histogramas que representan el nivel de gris (de 0 a 255) de los píxeles en la zona de transición entre negros y blancos [18]. Se construye un histograma resultante de la superposición del perfil de intensidad de una imagen en código Gray y su inversa. La intersección de ambos perfiles es la ubicación de sub-píxeles de la transición entre la franja blanca y la negra. Existen otros métodos para obtener dicha frontera como por ejemplo el filtro de Otsu [20], que presenta mayores riesgos de fallar en la reconstrucción si el factor de filtro no ha sido bien elegido. Figura 5.5 Histogramas. Código Gray, código Gray inverso e intersección resultante Por último se debe hacer una limpieza de las partes con ruido (sombras, zonas ajenas a la geometría del objeto…), a las cuales se les debe de asignar un código vacío. En estos momentos ya se está en disposición de hacer el emparejamiento de puntos entre imagen y proyector.
33 5.5 ALGORITMO En este proyecto se ha utilizado como punto de partida un algoritmo de reconstrucción de imágenes 3D desarrollado por Douglas Lanman y Gabriel Taubin de la Universidad de Brown (EEUU) [16]. Se ha modificado el código para adaptarlo a las necesidades de nuestro escáner y se han añadido otras funciones nuevas para la gestión de tareas que eran necesarias. Ha sido necesario desarrollar un código que fuese capaz de generar, proyectar los patrones (luz blanca, negra, franjas horizontales, verticales y sus inversas) y capturar las imágenes del objeto de forma automática, a una velocidad óptima para que los componentes del sistema funcionasen y a la vez se consiguiese el menor tiempo posible. A continuación se presenta un esquema en el que se explican los distintos pasos que se llevan a cabo en el algoritmo de reconstrucción y que tiene como objetivo final la reconstrucción 3D de objetos a partir de las imágenes tomadas mediante el código Gray y los resultados obtenidos de la calibración. El código requiere dos funciones auxiliares importantes, la primera con objeto de pasar de código Gray a código binario (que se produce con operaciones XOR) y la segunda para pasar de código binario a decimal. Estos cambios son necesarios ya que aunque se trabaja en código Gray, el emparejamiento se lleva a cabo en código decimal para reducir el coste computacional. Del código de Matlab se obtiene una nube de puntos del objeto que se guarda como archivo de texto, para que se pueda abrir posteriormente desde softwares de tratamiento.
34 6. ENSAYOS En el siguiente capítulo se procede a presentar los resultados obtenidos poniendo en funcionamiento los dos prototipos desarrollados a lo largo de este trabajo. Para comprobar sus características y limitaciones cada uno de los equipos ha sido puesto en funcionamiento midiendo tres piezas de geometría libre y una pieza industrial de la que se tenía el CAD. De esta forma se podrán obtener conclusiones para las dos vías de uso en las que se pensaba utilizar: instrumento para la reconstrucción de superficies libres en ingeniería inversa y herramienta de apoyo en controles de calidad industriales. A continuación se presenta un esquema general de los pasos a seguir para la reconstrucción. 6.1 CONFIGURACIÓN PROYECTOR + WEBCAM En primer lugar situamos el proyector y la Webcam en la posición que corresponde para cada objeto a medir según la Tabla 4.3. Se fijan a la mesa, por ejemplo con una pistola termofusible, para impedir que estos no se muevan desde el momento en el que se empieza a realizar la calibración hasta el final de la medición. Como se comentó anteriormente para la configuración de bajo coste se ha valorado la posibilidad de hacer una estructura cerrada con guía, por lo que en el modelo final esto no sería un problema. Figura 6.1 Esquema proyector + Webcam
35 A continuación se realiza la calibración de la cámara, del proyector y la calibración común. Figura 6.2 Etapa de calibración con la Webcam Figura 6.3 Resultados de calibración para Webcam De los resultados de calibración, Figura 6.3, se observa que para esta cámara el punto central tiene una desviación de 19,96 píxeles en el eje y 50,73 píxeles en el eje . Además la cámara presenta distorsión radial y tangencial. Si bien es preferible que la cámara sufra los menores errores posibles, una vez conocidos éstos serán corregidos matemáticamente. Por último se procede a realizar la toma de imágenes con los patrones proyectados y a la reconstrucción de las nubes de puntos. Para poder obtener una reconstrucción tridimensional de toda la geometría de las piezas este último paso se repite tantas veces como perfiles sean necesarios. 6.1.1 Reconstrucción de formas libres Haciendo alusión a las aplicaciones mencionadas en el Capítulo 1, se han elegido para este ensayo objetos de distintas áreas, la cabeza de un maniquí (patrimonio cultural), una figura de Fluvi (uso doméstico), y una plantilla (medicina). Figura 6.4 Formas libres escaneadas con Webcam: cabeza, fluvi y plantilla Para la alineación y el tratamiento de las nubes de puntos se ha utilizado el software Geomagic Studio [21]. A continuación se observa un esquema general de los pasos a seguir para tratar la nube de puntos en dicho software.
36 Se muestran las figuras reconstruidas: Figura 6.5 Cabeza reconstruida frente a la real Figura 6.6 Fluvi reconstruido frente al real
43 Tabla 6.1 Comparación por entidades CÍRCULO 1 Dimensión Medido Nominal Desviación Estado Tol. Máx Tol. Mínima WebCam Diámetro 29,9341 30 -0,066 PASS 1-1 Pixelink Diámetro 29,4705 30 -0,5296 PASS 1-1 CÍRCULO2 Dimensión Medido Nominal Desviación Estado Tol. Máx Tol. Mínima WebCam Diámetro 11,5489 12,0003 -0,4514 PASS 1-1 Pixelink Diámetro 11,1869 12 -0,8131 PASS 1-1
44 7. VERIFICACIÓN 7.1 INTRODUCCIÓN En la actualidad únicamente existe un documento marco internacionalmente aceptado para verificación general de sistemas de medida sin contacto con fines de digitalización, donde se recogen diversos procedimientos relativos a ensayos a llevar a cabo sobre un equipo en función de la tipología y principio de funcionamiento; buscando así la estandarización tanto en la presentación como en la evaluación de los resultados. Para ello se elaboró la recomendación técnica VDE/VDI 2634 [23]. Dicho documento, no es una norma internacional, sino una recomendación técnica elaborada por la prestigiosa asociación de ingenieros alemanes VDI. Muchas de las normas DIN vigentes tienen su origen en recomendaciones técnicas VDI por lo que son consideradas normas cuando no existen documentos en un campo de aplicación [24]. La falta de estándares internacionales en verificación de sistemas de medida sin contacto para digitalización, lleva aparejada la imposibilidad, por un lado, de establecer comparaciones entre equipos de certificación en base a un procedimiento estándar y trazable, y por otro, de certificar laboratorios de metrología para la verificación de estos equipos desde los organismos de certificación nacionales. De este modo, en la actualidad no existen laboratorios capaces de entregar un informe acreditado de verificación de equipos de digitalización sin contacto en base a un procedimiento estándar incluido en normas internacionales. Por tanto, la elaboración de un procedimiento estándar generalizable es fundamental para permitir al usuario final comparar diferentes equipos de medida y explotar al máximo sus capacidades, así como para establecer criterios de compraventa de equipos para una aplicación determinada. Por otro lado la existencia de un procedimiento estándar trazable permite al fabricante de un equipo o desarrollador de un sistema protegerse de riesgos comerciales y técnicos, siendo capaz de garantizar de forma trazable el comportamiento metrológico de su equipo. Los diferentes mecanismos de error en función de las condiciones de digitalización y principio de funcionamiento del equipo intentan ser cubiertos mediante la definición de ensayos generales para todos los sensores y específicos en función del principio de funcionamiento. Con carácter general, las fuentes de error para estos equipos provienen de condiciones ambientales, más severas en el caso de equipos portátiles o destinados a trabajar fuera de laboratorio, características superficiales de la pieza a medir, control de la iluminación, estrategia de medición, algoritmos de cálculo de alineación y primitivas geométricas a partir de nube de puntos y aspectos relacionados con la configuración del equipo en función de su principio de medida. Por ello, la recomendación VDI 2634 hace referencia a la posibilidad de desviación de los ensayos recomendados con objeto de obtener valores de caracterización metrológica de los
45 equipos en condiciones lo más parecidas posibles a la aplicación final, siempre que se realicen de manera trazable a los patrones de referencia y por acuerdo entre las partes implicadas. En el presente capítulo se plantea como objetivo principal la comparación de los ensayos recogidos entre los dos prototipos para evaluar su efectividad en la detección de influencias sobre la precisión volumétrica y la repetibilidad. 7.2 VDI/VDE 2634-2 Para proceder con la medida de los diferentes errores se ha de tener en cuenta una serie de factores: errores de digitalización, errores mecánicos de fase, errores de medición de píxeles o coordenadas… 7.2.1 Ensayo de planitud, RE La superficie de test se coloca en las posiciones que se ven en la Figura 7.1. Figura 7.1 Orientaciones para el ensayo de la placa plana. Placa patrón Figura 7.2 Placa placa durante el ensayo y en Geomagic Studio es el rango de la distancia de los puntos medidos al plano más perfecto calculado por mínimos cuadrados. El artefacto es un paralelepípedo de cerámica, cera, aluminio, acero o cualquier otro material cuya superficie de dispersión sea difusa, cuya anchura sea al menos 50 mm y su longitud mayor de 0,5· . El error de planitud de dicha superficie ha de ser menos de 1/5 del parámetro de calidad que se quiera verificar. El artefacto es un plano patrón que se ve definido en el Anexo C “Plano UNIZAR” A continuación se presentan los resultados para ambas configuraciones:
46 Tabla 7.1 Resultados placa patrón con Webcam Tabla 7.2 Resultados placa patrón con Pixelink 7.2.2.- Ensayo de diámetro de esferas, R El parámetro R se define como el rango de la distancia radial entre los puntos medidos y la esfera aproximada por mínimos cuadrados. Figura 7.3 Barra de dos bolas (dumbbell) Figura 7.4 Barra de dos bolas durante el ensayo y en Geomagic Studio Posición dmax (mm) dmin (mm) Error de forma (mm) σ (mm) 1 2,4265 -2,03 4,4565 0,6313 2 3,4484 -2,9906 6,439 0,7107 3 3,9375 -3,7011 7,6386 0,9438 4 2,7817 -2,4308 5,2125 0,7865 5 1,7376 -1,504 3,2416 0,3728 6 3,5442 -2,5568 6,101 0,8398 PLACA PATRÓN con Webcam Posición dmax (mm) dmin (mm) Error de forma (mm) σ (mm) 1 1,1046 -1,0981 2,2027 0,2867 2 0,5384 -0,5259 1,0643 0,2154 3 0,5737 -0,5694 1,1431 0,2722 4 0,9794 -1,1978 2,1772 0,4481 5 0,3882 -0,4667 0,8549 0,1576 6 1,1862 -0,5811 1,7673 0,2508 PLACA PATRÓN con Pixelink
47 Para hallar los errores se realizan como mínimo 10 medidas desde distintas posiciones arbitrarias del artefacto. Para el error de prueba se compara con la esfera teórica perfecta en cada posición y solo se pueden rechazar 3 de cada 1000 puntos por posición. El artefacto ha de ser una esfera con una superficie de reflexión difusa definido en el Anexo D “Dumbbell UNIZAR” A continuación se presentan los resultados para ambas configuraciones: Tabla 7.3 Resultados diámetro de esferas con Webcam Tabla 7.4 Resultados diámetro de esferas con Pixelink 7.2.3.- Ensayo de distancia entre esferas, ∆l El error Δl, se calcula como la distancia calibrada y medida entre los centros de dos esferas. Para determinar dicho error se usan artefactos como el de la Figura 7.3, que han de cumplir las siguientes condiciones de longitud y diámetro: Lp ≥ 0,3· Posición Diámetro (mm) Error, R (mm) Error de forma 1 25,4672 0,4711 3,7744 2 25,9697 0,9736 3,0866 3 24,908 -0,0881 2,585 4 24,8463 -0,1498 3,0137 5 25,0361 0,04 1,7631 6 24,1911 -0,805 3,7523 7 25,6671 0,671 2,8037 8 25,1702 0,1741 0,1741 9 24,7845 -0,2116 3,1461 10 25,0464 0,0503 2,1603 Promedio 25,10866 0,11256 2,62593 ESFERAS con Webcam Posición Diámetro (mm) Error, R (mm) Error de forma 1 24,9356 -0,0605 2,2532 2 26,7527 1,7566 1,7566 3 24,8465 -0,1496 2,8589 4 26,3384 1,3423 5,8929 5 25,4315 0,4354 3,9469 6 25,1638 0,1677 4,2751 7 24,76 -0,2361 2,6702 8 26,1107 1,1146 3,4117 9 24,67 -0,3261 2,5832 10 25,1493 0,1532 5,1221 Promedio 25,41585 0,41975 3,47708 ESFERAS con Pixelink
48 Dp= (0,1…0,2) · Se realizan medidas con el artefacto colocado en las orientaciones de la Figura 7.6 Figura 7.5 Orientaciones de la barra de dos bolas (dumbbell) Figura 7.6 Barra de dos bolas durante el ensayo y en Geomagic Studio Para calcular el error se escogen las esferas aproximadas con el método de mínimos cuadrados y se calcula la distancia medida lm entre centros, restando la distancia calibrada lk obtenemos Δl. La información del artefacto se encuentra en el Anexo D “Dumbbell UNIZAR”. A continuación se presentan los resultados para ambas configuraciones. Tabla 7.5 Resultados distancia entre esferas con Webcam Posición Distancia medida (mm) Error, Δl (mm) 1 192,9926 -7,0017 2 183,2301 -16,7642 3 190,999 -8,9953 4 192,7025 -7,2918 5 191,7911 -8,2032 6 184,7609 -15,2334 7 188,0971 -11,8972 DISTANCIA ENTRE ESFERAS con Webcam
49 Tabla7.6 Resultados distancia entre esferas con Pixelink 7.3 ANÁLISIS DE RESULTADOS Para el ensayo de planitud se puede observar cómo los resultados son mejores para el prototipo que usa la cámara Pixelink que para el que usa la Webcam. Sin embargo para los ensayos de medición de diámetro de esferas y para el de la distancia entre centros los resultados son engañosos. Para el ensayo de diámetro de esferas, si por ejemplo tomamos la posición 1, con la Webcam obtenemos un error de 0,4711 mm, mientras que con la cámara Pixelink obtenemos un error de -0,0605 mm, el cuál es 8 veces menor. Sin embargo, para la posición 2, con la Webcam se obtiene un error de 0,9736 mm frente a los 1,7566 mm que se obtienen con la cámara Pixelink. Esto se debe a que con los dos prototipos el error varía mucho en función de las posiciones, y esto es consecuencia directa del efecto de la distorsión (suma de la contribución radial y tangencial). Sin embargo, en la cámara Pixelink, Figura 7.8, la distorsión está más presente. Este mismo efecto se puede observar en el ensayo de distancia entre centros. En el ensayo de planitud, que se ha comentado anteriormente, el efecto de la distorsión es menos significativo porque el plano se colocó en posiciones que estaban centradas respecto al cuadro de la cámara. Estos errores cometidos por la distorsión en el caso de la Webcam, Figura 7.7, son admisibles para un escáner de bajo coste. Sin embargo, no pueden ser aceptados en el caso de la cámara Pixelink para un escáner con las características que se buscan. La forma de solucionar este problema pasa por varias alternativas. En nuestro caso, cuando hemos escaneado los objetos citados en el Capítulo 6 trabajamos en el área del centro de la cámara que es donde la distorsión tiene un efecto menor. Si se pretende comercializar este prototipo habría que buscar una lente de esta misma focal pero con una distorsión radial menor, lo cual implicaría subir el precio del prototipo porque una lente de estas mismas características pero con menor distorsión tiene un precio más elevado. Posición Distancia medida (mm) Error, Δl (mm) 1 206,0128 6,0185 2 204,6342 4,6399 3 208,5581 8,5638 4 206,3176 6,3227 5 204,8228 4,8285 6 207,6002 7,6059 7 205,3006 5,3125 DISTANCIA ENTRE ESFERAS con Pixelink
50 Figura 7.7 Modelos de distorsión Webcam Figura 7.8 Modelos de distorsión cámara Pixelink
51 8. IMPRESIÓN 3D Con el fin de cerrar el ciclo de la ingeniería inversa y aprovechando las herramientas de prototipado rápido con las que cuenta la Universidad de Zaragoza se ha procedido a realizar la impresión 3D de uno de los objetos que se han escaneado en el presente proyecto, concretamente la cabeza escaneada con el sistema basado en Webcam. En primer lugar se ha escalado la figura con el software Geomagic Studio [21]. Se ha hecho con el fin de ahorrar costes de materiales y tiempo de impresión. La escala utilizada ha sido 1:0,5. Se ha guardado el archivo en formato “.stl”. Stereo Lithography [25], “.stl”, es un formato de archivo informático de diseños asistido por computadora (CAD) que define geometría de objetos 3D, excluyendo información como color, texturas, o propiedades físicas que sí incluyen otros formatos CAD. Fue creado por la empresa 3D Systems, concebido para su uso en la industria del prototipado rápido y sistemas de fabricación asistida por ordenador. En especial desde los años 2011-2012 con la aparición en el mercado de las impresoras 3D, el formato “.stl” está siendo utilizado ampliamente por el software de control de estas máquinas. El modelo de impresora utilizado es el Objet Eden 350V [26], Figura 8.1, de la empresa Stratasys. Este modelo ofrece la posibilidad de trabajar con 18 materiales diferentes con las que cumple una amplia variedad de necesidades de prototipado rápido. Con capas ultrafinas de 16 micrómetros, la Objet Eden 350V imprime rápidamente modelos con superficies lisas, paredes finas y formas complejas. Figura 8.1 Objet Eden 350V Esta impresora utiliza la tecnología PolyJet [27,28]. Las impresoras 3D PolyJet inyectan capas de fotopolímero líquido en una bandeja de construcción y las curan mediante luz UV. Las capas generadas, una cada vez, crean un modelo o prototipo 3D. Los modelos completamente curados se pueden manipular y usar de inmediato, sin necesidad de una curación posterior adicional. Además de los materiales de modelo seleccionados, la impresora 3D también inyecta un
52 material de soporte similar al gel especialmente diseñado para mantener los salientes y las geometrías complicadas. Se elimina fácilmente a mano y con agua. La tecnología de impresión 3D PolyJet tiene muchas ventajas para el prototipado rápido, incluida mayor calidad y velocidad. Además esta tecnología crea prototipos precisos que definen el patrón de realismo del producto acabado. Sus finísimas capas de impresión hacen posible la construcción de formas complejas, detalles finos y superficies de acabado suave. La amplia comercialización de esta tecnología se debe a que ofrecen más versatilidad de materiales que ninguna otra tecnología. Se ha decidido hacer la cabeza hueca por dentro para reducir el coste de la impresión. En los huecos la impresora coloca material de soporte que es más barato. Para ello se ha utilizado el software Materialise Magics [29], Figura 8.2, donde se le ha asignado un espesor de 2,5 mm. Figura 8.2 Espesor, Materialise Magics Cuando la figura está ya preparada para la impresión, hay que abrir el archivo “.stl” en el programa propio de la impresora. El programa presenta opciones para la localización automática de la pieza en la bandeja, Figura 8.3. También hay una opción para validarlo y comprobar que la pieza no tiene agujeros. Además el programa permite estimar el consumo de material, Tabla 8.1.
59 Donde es un factor de escala. Y como y son vectores ortonormales. [ ] Siendo una matriz simétrica podemos definir el vector que describiría la imagen cónica absoluta como: Usando podemos definir: Donde es el elemento de la fila y de la columna de la matriz . Para cada uno de los planos podemos definir el sistema de ecuaciones homogéneo (cada plano proporciona dos ecuaciones relacionadas con su matriz asociada): [ ] Resolviendo el sistema anterior (descomposición SVD) obtenemos el vector , el cual nos permite calcular la matriz de parámetros intrínsecos . [ ] √ √
60 A partir de la matriz y de las matrices correspondientes a cada plano se pueden calcular las matrices de rotación y los vectores de traslación asociados a cada una de las imágenes. ‖ ‖ ‖ ‖ Debido a posibles errores, tanto en la extracción de puntos como en la fabricación y medición del calibrador, la matriz de rotación puede no ser ortogonal, por este motivo hay que asegurar su ortogonalidad. Una forma sencilla de hacerlo es mediante la descomposición SVD. [ ] Sólo es necesario sustituir la matriz por la matriz identidad para garantizar que sea ortogonal. Una vez garantizada la ortogonalidad de , mediante una optimización no lineal (Levenberg-Marquardt) se refinan las icognitas del problema minimizado la siguiente ecuación. ∑∑‖ ( ) ‖ Donde es el número de imágenes captadas del calibrador, es el número de puntos del calibrador y ( ) son las coordenadas imagen de los puntos obtenidas de la forma: [ ] [ ] El último paso del modelo consiste en corregir la distorsión radial producida por las lentes en las coordenadas imagen de los puntos. Siendo las coordenadas imagen ideales (sin distorsión), las coordenadas imagen distorsionadas y las coordenadas pantalla ideales, se tiene: En primer lugar habrá que calcular una aproximación de los coeficientes de distorsión y mediante la siguiente ecuación y el método de la matriz pseudoinversa (de forma similar al anexo 5.1). [ ] [ ][ ]
61 Una vez obtenida la estimación de los coeficientes se hace una optimización similar a la realizada para refinar las matrices de los parámetros de la cámara, pero esta vez se minimiza la ecuación: ∑∑‖ ( ) ‖ ( ) A.2 CARACTERÍSTICAS - Es un método mixto que usa criterios de autocalibración y de calibración clásica (calibrador conocido). - Requiere de otro modelo de calibración lineal (DLT, Faugeras) para obtener una primera aproximación de los parámetros. - Usa métodos iterativos para mejorar los resultados, lo que puede suponer un mayor tiempo de computación. - Son necesarias al menos tres imágenes distintas de un mismo calibrador para obtener todos los parámetros de la cámara, si se suponen conocidos algunos de los parámetros, generalmente de los intrínsecos, se puede reducir el número mínimo de imágenes necesario para realizar la calibración. - Las distintas imágenes se pueden obtener moviendo el calibrador o la cámara, no es necesario conocer los desplazamientos realizados por ninguno de los dos elementos. - Se corrige la distorsión radial modelándola con dos coeficientes.
62 ANEXO B: CARACTERÍSTICAS HARDWARE - Proyector Asus P1M - Cámara Pixelink B741 - Cámara Pixelink B781 - Webcam Hercules HD Emotion 20-120inchs WXGA (1280X800) 1,16 0,5-3m Resolución Relación de alcance Distancia de proyección Tamaño de la pantalla Frame rate: Resolución: Tamaño sensor: Campo del pixel: Área activa 8,57mmx6,86mm-11,01mm (diag) 6,7umx6,7um 2/3´´ 1280x1024 (1,3MP) 27 8&10 bit Profundidad de bit Profundida de bit 8&10 bit 7,73mmx10,5mm-13,1mm(diag) 3,5umx3,5um 1 2208x3000 (6,6MP) 5 Frame rate: Resolución: Tamaño del sensor: Campo del pixel Área activa Resolución 1280X800
63 ANEXO C: PLANO UNIZAR 200 D25 14 Calibration Certificate Certificate No ISM 02-13.12.2012 Item Reference Plane Manufacturer Trapet Precision Model Optical, white mat Serial No B-32-2012 Manufacturing date 12-2012 Range 200 mm x 100 mm Thermal Expansion Coeff. N.A. Applicant University of Zaragoza The above described item was calibrated at the ISM3D laboratory in Gijón, Spain. The reference standards used in this calibration are described in the following. All standards are traceable to national and international standards. The results are valid for the conditions and at the time of the calibration in ISM3D. Date of the calibration Gijón (Asturias/Spain), 13.12.2012 Responsible for the calibration: Dr.-Ing. Eugen Trapet
64 Method The reference plane was measured in ISM3D in the XY-plane of a coordinate measuring machine (CMM) which had been verified according to ISM3DProcedure T2-09 “Calibración de Patrones de Rectitud , Planicidad y Perpendicularidad”. 10 x 10 regularly distributed individual probing points at a force of 0.01 N with a probe diameter of 6 mm. Coordinate system und alignment Primary alignment: Z-axis and zero in Z, the normal vector of a plane defined by 4 points 3mm from each corner of the plane, Secundary alignment: X-axis and zero in Y, the plane where the label is placed. Terciary alignment: Zero in X: small plane on left when looking on the upright label. Environmental conditions The reference temperature is 20ºC. The temperature of the environment was kept at 20ºC +/- 0.5K during the calibration. Uncertainty The uncertainty U (for k=2) of the flatness deviations in the Minimum Zone adjusted coordinate system is U = 1.0 μm. This uncertainty results from the verification of the CMM with reference planes in multi-position arrangement according to procedure T2-09. Note that the procedure used here is not a multiposition procedure but a direct flatness measurement with the CMM as a standard and consequently the uncertainty is bigger than achievable with a multi-orientation measurement. Results The minimum zone flatness deviation was measured to be: 6.6 µm. The following graph shows the results.
65 Standards used:
66 CMM Type: ZEISS Prismo 9/15/7 Serial Number: 149583 Calibrated range: X = 0 mm to X = 880 mm Therm.exp.coeff. of CMM scales: 0 (+/- 0.0000003) K-1 Calibration of the CMM: 17.10.2012, with reference ball beam in the line of measurement of the CMM: Y=-1300 mm, Z=-650 mm Verification of the CMM similar to ISO 10360-2 (2009) 16.10.2012, with reference ball beam in 7 positions Manufacturer of ball beam: Trapet PE , Ser. No.: B 12 2009 Calibration of reference ball beam: No. 1040, DKD-K-4301, 2010-06 (by Eumetron) Calibration uncertainty of reference ball beam (k=2): 0.3μm + 0.0000006 L The validity of the CMM calibration according to procedure ISM3D T01-02 is checked periodically as well as that of the reference ball beams (dynamic calibration intervals). Thermometers for the object temperature Type PT 100 sensors confectioned by ISM3D Calibrated 10.11.2012 by ISM3D according to procedure ISM3 D T0101 Calibration uncertainty, U (k=2)) 0.05 K
67 ANEXO D: DUMBLE UNIZAR 200 D25 14 Calibration Certificate Certificate No ISM 01-14.12.2012 Item Ball Bar Manufacturer Trapet Precision Model Dumbbell optical, white mat Serial No B-31-2012 Manufacturing date 12-2012 Range 200 mm long, diameter 25 mm Thermal Expansion Coeff. 0.0000004 1/K Applicant University of Zaragoza The above described item was calibrated at the ISM3D laboratory in Gijón, Spain. The reference standards used in this calibration are described in the following. All standards are traceable to national and international standards. The results are valid for the conditions and at the time of the calibration in ISM3D. Date of the calibration Gijón (Asturias/Spain), 14.12.2012 Responsible for the calibration: Dr.-Ing. Eugen Trapet
68 Method The ball bar was measured according to the procedure T02-01 of ISM3D in a line on a coordinate measuring machine (CMM) which had been calibrated by a reference standard. The balls were measured by measuring each ball with 20 equally distributed probing points. The balls of the beam were independently measured in fife different positions randomly placed along the calibrated line of the CMM; these independent measurements were corrected for temperature and for the linear scale factor valid for the calibrated measurement line of the CMM. All measurements were averaged. Coordinate system und alignment As the result is a center distance, no coordinate system is required. Ball 1 is the one closest to the label. Environmental conditions The reference temperature is 20ºC. All measured lengths are referred to 20ºC. The temperature of the environment was kept at 20ºC +/- 0.5K during the calibration. For the linear thermal expansion coefficient of the object, a value of 0.0000004 1/K has been used. Uncertainty The uncertainty U (for k=2) of the lengths (center to center distances) or Xcoordinates in the indicated coordinate system is U = 0.8 μm. The uncertainty of the diameter is estimated to be 0.5 μm and that of the form deviation 0.8 μm. This uncertainty results from the calibration of the CMM in the line of measurement, including the uncertainty of the standard used and from the repeatability of the measurements in all positions, taking into account the number of repetitions. Results The center distance of the balls: 199.9943 mm. Diameter of ball 1: 24.9961 mm, Diameter of ball 2: 24.9972 mm, Form deviation of ball 1: 0.0019 mm Form deviation of ball 2: 0.0017 mm