Está en la página 1de 73

Escuela

Politécnica
Superior

Aplicaciones de visión
3D en la industria
Grado en Ingeniería Robótica

Trabajo Fin de Grado


Autor:
María Poveda Miralles
Tutor/es:
Fernando Torres Medina
José Doñate Alfaro

Junio 2021
Aplicaciones de visión 3D en la industria

Desarrollo de nuevas tecnologías para implementar mejoras en el


ámbito industrial

Autor
María Poveda Miralles

Tutor/es
Fernando Torres Medina
Departamento de física, ingeniería de sistemas y teoría.
José Doñate Alfaro
Empresa Automática y control numérico

Grado en Ingeniería Robótica

Escuela
Politécnica
Superior

ALICANTE, Junio 2021


Preámbulo
“ Este proyecto surge del interés propio hacia la robótica industrial y sus avances
a un ritmo muy elevado para mejorar los procesos repetitivos o tediosos, además
de su necesidad de seguir desarrollando sistemas que faciliten las condiciones de
trabajo a muchas personas. La finalidad es estudiar sistemas de visión 3D, tema
que también ha despertado en mí un gran interés, e incorporarlo a aplicaciones
vigentes en distintos ámbitos de este entorno. ”
Agradecimientos
En primer lugar, tengo que agradecer la ayuda proporcionada por la empresa Automáti-
ca y Control Numérico, por facilitarme continuo soporte para la elaboración del proyecto y
prestarme para trabajar el hardware utilizado, concretamente José Doñate y el Dr. Aiman
Alabdo, del que he tenido la suerte de aprender muchísimo.

También he de dar las gracias a mi tutor académico Fernando Torres Medina por su ayuda
para realizar este proyecto y su constante apoyo.

Sin duda alguna, estos cuatro años no habrían sido iguales sin los amigos que la universidad
me ha dado, con los que he tenido la suerte de compartir muchas experiencias, y ayudarnos
y animarnos en los momentos que lo hemos necesitado. Así que tengo que darles las gracias
porque igual sin ellos, yo no habría llegado hasta aquí.

Finalmente, pero no menos importante, no tengo palabras de agradecimiento suficientes


para darle las gracias a mi familia por el constante apoyo que me han dado durante toda mi
vida, y la confianza que siempre han depositado en mí sin dudarlo lo más mínimo.
No es posible resolver los problemas de hoy
con las soluciones de ayer.

Roger Van Oech.

ix
Índice general
1 Introducción 1
1.1 Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Marco del proyecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 Estructura de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Estado del arte 5


2.1 Sensorización 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1.1 Adquisición de nubes de puntos . . . . . . . . . . . . . . . . . . . . . . 5
2.1.2 Otros sensores 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Robótica colaborativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Metodología 11
3.1 Gocator 2350 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.1 Adquisición de la imagen . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.1.2 Web Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2 Master 810 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3 SDK-GoHMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Robot UR3e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4.1 Polyscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4.2 URCaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Desarrollo 19
4.1 Aplicación cambrillones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.1 Montaje del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.1.2 Diseño de la pinza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.3 Calibración Gocator . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.1.4 Algoritmo de detección . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.5 Coordinación con Robot UR3e . . . . . . . . . . . . . . . . . . . . . . 27
4.1.6 Programación UR3e . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.2 Aplicación VELAR 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.1 Calibración Gocator Múltiple . . . . . . . . . . . . . . . . . . . . . . . 30
4.2.1.1 Gocator inclinadas . . . . . . . . . . . . . . . . . . . . . . . . 31
4.2.1.2 Gocator rectas . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.2.2 Algoritmo metrología . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.2.3 Aplicación con GoHMI . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5 Resultados 37
5.1 Aplicación cambrillones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

xi
xii Índice general

5.2 Aplicación VELAR 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38


5.2.1 Modo velocidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.1.1 Gocator Inclinadas . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.1.2 Gocator Rectas . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2.1.3 Comparación . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2.2 Modo encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2.3 Vídeo demostrativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6 Conclusiones 51

7 Trabajos Futuros 53

Bibliografía 55

Lista de Acrónimos y Abreviaturas 57


Índice de figuras
1.1 Triangulación láser mediante Gocator . . . . . . . . . . . . . . . . . . . . . . 2
1.2 Forma y colocación de los cambrillones en el calzado . . . . . . . . . . . . . . 3

2.1 Clasificación de métodos para adquisición de nubes de puntos . . . . . . . . . 5


2.2 Sensor Zeiss LineScan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Sensor MetraScan 750. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 Robot colaborativo PANDA. . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Robot colaborativo KIKA IIWA. . . . . . . . . . . . . . . . . . . . . . . . . . 9

3.1 Método de adquisición de datos 3D de Gocator. . . . . . . . . . . . . . . . . . 11


3.2 Valores de Gocator 2350 para FOV, MR y DC. . . . . . . . . . . . . . . . . . 12
3.3 Interfaz Web de Gocator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.4 Master 810 de LMI Technologies. . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.5 Posibles configuraciones de sistemas múltiples. . . . . . . . . . . . . . . . . . 14
3.6 Robot colaborativo UR3e. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.1 Montaje final celda robotizada para aplición de cambrillones . . . . . . . . . . 20


4.2 Diseño de la pinza en Solid Works . . . . . . . . . . . . . . . . . . . . . . . . 20
4.3 Diseño de los dedos de la pinza . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4 Recorrido de cierre de la pinza . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5 Montaje final de la herramienta diseñada para el UR3e . . . . . . . . . . . . . 22
4.6 Transformaciones en la calibración de Gocator . . . . . . . . . . . . . . . . . 22
4.7 Error por el ángulo del eje Z en la calibración . . . . . . . . . . . . . . . . . . 23
4.8 Detección del agujero del extremo del cambrillón . . . . . . . . . . . . . . . . 24
4.9 Tipos de curvatura a detectar de los cambrillones . . . . . . . . . . . . . . . . 25
4.10 Herramientas para detectar el tipo de curvatura . . . . . . . . . . . . . . . . . 26
4.11 Procedimiento para sacar la orientación del cambrillón . . . . . . . . . . . . . 27
4.12 Opción de salida de datos para comunicación Gocator-UR3e . . . . . . . . . . 28
4.13 Esquema de traslación para coordinar Gocator y UR3e . . . . . . . . . . . . . 28
4.14 Cálculos para obtener las distintas posiciones de agarre. . . . . . . . . . . . . 29
4.15 Proceso de calibración en Gocator múltiples . . . . . . . . . . . . . . . . . . . 31
4.16 Calibración con Gocator inclinadas . . . . . . . . . . . . . . . . . . . . . . . . 32
4.17 Calibración con Gocator rectas . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.18 Pasos del algoritmo para medir lados . . . . . . . . . . . . . . . . . . . . . . . 34
4.19 Detección de redondeos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.20 Detección del ángulo del chaflán en las piezas . . . . . . . . . . . . . . . . . . 35
4.21 Interfaz de la aplicación creada mediante Visual Studio y GoHMI . . . . . . . 36

5.1 Molde donde colocar los cambrillones. . . . . . . . . . . . . . . . . . . . . . . 37


5.2 Piezas escogidas para la comparación. . . . . . . . . . . . . . . . . . . . . . . 38

xiii
xiv Índice de figuras

5.3 Medidas de los lados L1, L2, L3 y L4 para la pieza 1 en distintas velocidades
y configuración inclinada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.4 Espesor medido para la pieza 1 con distintas velocidades y configuración incli-
nada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.5 Medidas de los lados L1, L2, L3 y L4 para la pieza 2 en distintas velocidades
y configuración inclinada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.6 Espesor y redondeo medido para la pieza 2 con distintas velocidades y confi-
guración inclinada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.7 Espesor y chaflán medido para la pieza 3 con distintas velocidades y configu-
ración inclinada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.8 Medidas de los lados L1, L2, L3 y L4 para la pieza 3 en distintas velocidades
y configuración inclinada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.9 Medidas de los lados L1, L2, L3 y L4 para la pieza 1 en distintas velocidades
y configuración recta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.10 Espesor medido para la pieza 1 con distintas velocidades y configuración recta. 45
5.11 Medidas de los lados L1, L2, L3 y L4 para la pieza 2 en distintas velocidades
y configuración recta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.12 Espesor y redondeo medido para la pieza 2 con distintas velocidades y confi-
guración recta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.13 Medidas de los lados L1, L2, L3 y L4 para la pieza 3 en modo encoder con
distintas velocidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.14 Espesor y chaflán medido para la pieza 3 en modo encoder con distintas velo-
cidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Índice de tablas
3.1 Características sensor fuerza-torque. . . . . . . . . . . . . . . . . . . . . . . . 16

5.1 Medidas reales de las piezas escogidas para la comparación. . . . . . . . . . . 38


5.2 Medidas de precisión y repetibilidad para la pieza 1 con Gocator inclinadas. . 41
5.3 Medidas de precisión y repetibilidad para la pieza 2 con Gocator inclinadas. . 42
5.4 Medidas de precisión y repetibilidad para la pieza 3 con Gocator inclinadas. . 43
5.5 Medidas de precisión y repetibilidad para la pieza 1 con Gocator rectas. . . . 45
5.6 Medidas de precisión y repetibilidad para la pieza 2 con Gocator rectas. . . . 46
5.7 Medidas de precisión y repetibilidad para la pieza 3 en modo encoder. . . . . 48

xv
1 Introducción

1.1 Motivación

El presente trabajo final de grado se desarrolla sobre aplicaciones de visión artificial 3D.
Este se ha realizado en un entorno industrial en la empresa Automática y Control Numérico
(Automática y Control Numérico (AyCN)).

En el ámbito industrial las aplicaciones de visión 2D ya están muy presentes desde hace
varios años, por lo que las recientes innovaciones en la visión artificial se ven incrementadas
en el ámbito de las aplicaciones con visión 3D, con la finalidad de inspeccionar y obtener datos
a los que no se puede llegar con la visión en dos dimensiones, siendo uno de los desarrollos
protagonistas en la industria 4.0. Estos sistemas permiten una mayor eficacia para detectar
defectos en materiales en procesos de control de calidad. Además, gracias a la metrología
dimensional, se pueden inspeccionar magnitudes físicas, tales como espesores, diámetros, lon-
gitudes, ángulos, etc. En la visión 3D una de las aplicaciones más sobresalientes es el guiado
de robots, puesto que se puede dirigir a estos mediante planificación automática de trayec-
torias basada en geometría 3D.

La identificación en tres dimensiones da continuidad a los procesos de visión 2D con los


que la empresa ya cuenta en muchas aplicaciones, para poder incorporar mejoras y nuevas
utilidades. Los trabajos realizados para este proyecto se han focalizado en las técnicas de
visión 3D para identificación de objetos, de los cuales se pueden extraer características y
realizar metrologías gracias a la precisión con la que cuentan los sistemas utilizados.

1.2 Marco del proyecto

Se ha realizado un estudio sobre distintos sensores 3D, principalmente los basados en luz
estructurada, Time of Flight (TOF) y triangulación láser. El sistema de adquisición de datos
seleccionado es un sensor comercial que funciona con triangulación láser, llamado Gocator.
Este sensor que funciona de manera independiente, sin necesidad de ningún controlador ex-
terno, cuenta con una cámara y con un láser para poder formar las nubes de puntos de los
objetos a digitalizar. Y se puede observar en la Figura 1.1.

1
2 Introducción

Figura 1.1: Gocator. Sistema con triangulación láser.

Se ha trabajado en dos líneas principales para la caracterización de objetos con dicho sensor.
Una de ellas para la industria de los aerogeneradores y otra para la del calzado.

• Industria de aerogeneradores. Se ha utilizado la tecnología 3D para realizar una


aplicación de metrología haciendo uso de un sistema de Gocator múltiple para alcanzar
mayor rango del láser, ya que se requiere que mida piezas grandes, obteniendo la mayor
repetibilidad y precisión posible en las medidas.

• Industria del calzado. Se hace uso de la visión 3D para la recopilación de datos


geométricos, posición y orientación de los cambrillones, que son los objetos a digitalizar,
para transferirlos a un robot colaborativo, que es capaz de realizar operaciones de
pick and place. Son necesarias las tres dimensiones para detectar características de la
curvatura de estas piezas.

Un cambrillón es una pieza fina y normalmente de acero muy necesaria en la industria del
calzado, que se coloca antes de la entresuela, sobre todo en zapatos de tacón, usado para
dar rigidez y evitar que se curve en exceso el arco plantar lo que podría hacer que el zapato
se rompiese. Tanto la forma física de esta pieza como su colocación en el calzado se puede
apreciar en la siguiente imagen (Figura 1.2).
1.3. Objetivos 3

Figura 1.2: Forma y colocación del cambrillón en el zapato.

Cabe destacar, que para el desarrollo de la metrología en piezas grandes con un sistema de
Gocator múltiple, se ha estudiado la colocación idónea de las mismas, teniendo en cuenta la
precisión de las medidas en relación con el rango que abarcan los sensores y la sensibilidad de
calibración con la que cuentan. Además, con la misma finalidad, se ha estudiado y comparado
el mejor modo para el disparo del láser, teniendo en cuenta también la resolución obtenida
en cada modo, relacionada con el tiempo de procesamiento de la nube de puntos.

1.3 Objetivos
El objetivo principal de este trabajo es el desarrollo de aplicaciones basadas en tecnologías
de sensorización 3D para trabajar con nubes de puntos. Más concretamente, se basa en
el estudio del sensor 3D inteligente Gocator y alguna de sus características, entre las que
destacan las siguientes:

• Seleccionar el mejor modo de funcionamiento para el disparo del trigger.

• Conectar un sistema múltiple con dos o más Gocator.

• Programar un algoritmo de metrología a través de las herramientas de su Web Interface.

• Mejorar el rendimiento para el procesamiento de la nube de puntos.

• Conectar un robot UR3 para transferir posición y orientación en el espacio.

• Desarrollar aplicaciones basadas en su Software Development Kit (SDK).


4 Introducción

A nivel personal, el objetivo principal es el aprender nuevos métodos incorporados en la


industria real, y las necesidades de la misma. Además, otra finalidad es lograr desarrollar
una aplicación completa que aporte más eficacia a algunos procesos muy repetitivos para los
operarios y proporcionarles mayor comodidad y ayuda a la hora de realizarlos.

1.4 Estructura de la memoria


A lo largo de este trabajo, también se van a plantear aplicaciones cuya finalidad es similar
a las comentadas, así como los tipos de adquisición que existen en la visión 3D en el apartado
de Estado del arte. Seguidamente, en la Metodología se comentarán los elementos que se
han utilizado para llevar a cabo el proyecto. A continuación, en el apartado de Desarrollo
se comentarán como se ha hecho uso de dichos elementos. Además, en la sección de Experi-
mentación se mostrarán todos los resultados obtenidos y las pruebas de funcionamiento de
ambas aplicaciones. Finalmente, se expondrán las conclusiones y los futuros trabajos por los
que se podrá continuar este proyecto.
2 Estado del arte

2.1 Sensorización 3D
Para capturar y formar las nubes de puntos en visión 3D existen diversos métodos. A lo
largo de este apartado se comentarán los más utilizados hoy en día y otros sensores que se
comporten de manera similar con algunas de sus posibles aplicaciones.

2.1.1 Adquisición de nubes de puntos


Para la adquisición de información 3D existen distintos métodos, cada uno eficaz para di-
ferentes tipos de aplicaciones, y cuya clasificación se puede observar en la siguiente imagen
(Figura 2.1), tal y como indican en el artículo Advances in 3D data acquisition and processing
for industrial applications (Z.M.Bi, 2010). Esto es imprescindible conocerlo para entender co-
rrectamente el funcionamiento del sistema que se ha utilizado para realizar este trabajo.

Figura 2.1: Claisificación de lo métodos de adquisición de nubes de puntos.

Los métodos de contacto, como brazos robóticos y las máquinas de medición de coordena-
das, son mucho más precisas, pero con un tiempo de adquisición de información mucho más
elevado. Además, las tecnologías que no necesitan contacto con el objeto han mejorado en la
última década. Dentro de estas las más comunes son las que se van a explicar a continuación:

5
6 Estado del arte

• Tiempo de vuelo. En las tecnologías basadas en TOF, los sensores utilizan un láser
invisible al ojo humano, que disparan una luz infrarroja. Esta luz rebota en el objeto
que se encuentra delante y regresa al sensor, por lo que la cantidad de tiempo que tarda
en hacer el trayecto de ida y vuelta se puede medir para proporcionar información
sobre la distancia, dando lugar a un mapa de profundidad o nube de puntos. Como
indican Z.M.Bi y Lihui Wang, son los más indicados para la medición de distancias y el
modelado del entorno en rangos de recorrido grandes, y requieren de fuentes de tiempo
muy precisas.

• Luz estructurada. Los sistemas que hacen uso de técnicas de luz estructurada contie-
nen normalmente una cámara RGB junto a un emisor y receptor de luz infrarroja. Estas
tecnologías son capaces de capturar la forma y características de un objeto mediante la
proyección de un patrón de luz.

• Triangulación láser. El funcionamiento de los sistemas con este método de adqui-


sición de datos se basa en la iluminación del objeto con un barrido láser captado desde
una cámara. Gracias a que la distancia entre la cámara y el láser, y el ángulo de in-
cidencia es captado por la cámara, es posible calcular con mucha precisión los puntos
que forman el objeto, mediante una línea de pulso cada cierto tiempo o distancia. Y
como también indican en el artículo mencionado es uno de los métodos más factibles a
cambios de iluminación.

Por ello, para las aplicaciones realizadas se ha escogido un sensor que utiliza triangulación
láser. Además, permite medidas en distancias cortas, lo cual es beneficioso para la precisión.
Sin embargo, este método cuenta con algunos inconvenientes como la dificultad de capturar
cuerpos cuya textura es brillante o muy oscura, como es el caso del cambrillón.

2.1.2 Otros sensores 3D

Hoy en día existen muchos modelos diferentes de sensores para la adquisición de nubes de
puntos a parte de Gocator, y en los siguientes párrafos se van a mencionar dos de ellos con
características similares y comparados en el artículo Investigation in optimisation of accuracy
with non-contact systems by influencing variable processes (Ranveer S. Matharu, 2019). Este
artículo ha sido de gran interés puesto que se busca extraer características como el espesor
de una pieza, tal y como se requiere en el sistema a implementar en este proyecto.

El primero de los sensores a comparar que tratan es el LineScan de Zeiss. Es un sensor


óptico que funciona mediante triangulación láser, y que es capaz de procesar más de 600.000
puntos por segundo, lo que aumenta la productividad de manera considerable.

Sus principales usos están basados en la detección de superficies sensibles al contacto. Ade-
más, se han implementado para la detección y el control de calidad en áreas de carrocería,
moldes y fabricación de modelos. Este sensor, es el que se puede observar en la Figura 2.2
2.1. Sensorización 3D 7

Figura 2.2: Sensor Zeiss LineScan.

El otro sensor que forma parte de la comparación es el MetraScan 750 de Creaform, que
cuenta con menos resolución que el anterior (0.05mm) y menos puntos por segundo, 450.000.
En cambio, tiene mucho más rango de medida al tratarse de un sensor rotacional que ins-
pecciona 360º, con los siete láseres que tiene. Este sensor se puede observar en la Figura
2.3

Figura 2.3: Sensor MetraScan 750.

En la experimentación realizada por Ranveer S. y Wayne Sadler, obtuvieron menos puntos


característicos con el sensor Zeiss LineScan a pesar de generar mayor precisión y más puntos
por segundo, puesto que sólo tiene la posibilidad de captar la superficie perpendicular al láser,
sin aportar información respecto a la altura de la pieza. De esta forma, no lo calificaron como
el más válido para algunas aplicaciones de metrología. Sin embargo, por el rango del Me-
traScan 750, se obtuvieron más datos de espesores en superficies, así como las características
imprescindibles.
8 Estado del arte

Por ello, en este proyecto se va a comprobar la calidad de las medidas y la detección de


características, así como la posibilidad de medir espesores con el sistema Gocator que es más
parecido al sensor Zeiss LineScan, ya que se coloca de manera perpendicular y no tiene tantos
láseres ni rotación como el segundo explicado, el MetraScan 750.

2.2 Robótica colaborativa


Los robots colaborativos, también llamados cobots, están en pleno crecimiento en la indus-
tria gracias a las capacidades con las que cuentan para poder trabajar con humanos sin tener
que hacer uso de vallados de seguridad.

Otras características con las que cuentan este tipo de robots es la accesibilidad para pe-
queñas y medianas empresas, que son más ligeros y flexibles en cuanto a sus movimientos, y
sencillos de instalar y programar gracias a la interfaz intuitiva con la que cuentan. Algunos
de ellos, cuentan con sensores de fuerza y consumo pudiendo detectar colisiones en su entorno
y evitando golpear a los trabajadores. Además, una de las características más importantes es
la posibilidad de personalizar cada aplicación según las exigencias de los clientes.
Las tareas principales para estos robots, suelen ser de manipulación de productos, como apli-
caciones Pick and Place, de empaquetado, de inspección, de soldadura, etc.

El robot PANDA de la marca Franka Emika [Figura 2.4], es un cobot de un solo brazo, que
cuenta con un sistema artificial de reflejos para evitar colisiones. Además, se caracteriza por
ser muy fácil de programar a través de una app intuitiva, que incorpora un software guiado
con acompañamiento remoto gracias a tecnologías en la nube. Puede llegar a soportar cargar
de 3 kg y tiene un alcance de 855 mm.

Figura 2.4: Cobot PANDA.

En el artículo A Methodology for Comparative Analysis of Collaborative Robots for Industry


4.0 la autora (Federica Ferraguti, 2019), compara distintos robots colaborativos teniendo en
cuenta su facilidad de programación, coste y eficacia, entre ellos el cobot PANDA explicado
anteriormente.
2.2. Robótica colaborativa 9

Otro de los robots colaborativos que se tratan en detalle es el KUKA IIWA, que es un
manipulador de 7GDL con una relación carga-peso muy eficiente que podemos observar en
la Figura 2.5. Este robot es uno de los más introducidos y reptresentativos en la industria,
aunque también uno de los más costosos, lo que no lo hace el mejor sistema para aplicaciones
industriales puesto que el PANDA es el más barato del mercado.

Las conclusiones de las autoras fueron favorables hacia el robot PANDA ya que a pesar de
que las características de ambos son muy similiares, y que aunque el uso del robot PANDA no
se ha recomendado aún fuera del ámbito educativo, la diferencia económica es elevada y cada
vez es más común encontrar este tipo de robots en la industria porque se está modernizando
respecto a sus predecesores KUKA y UR.

Figura 2.5: Cobot KUKA IIWA.

Conocer otros sistemas diferentes al Universal Robot es interesante, puesto que aunque es
el más conocido, pueden existir otros más baratos y eficaces para aplicaciones similares que
lo sustituyan. En el mismo artículo comparan también un UR5, mostrándolo muy similar en
características al KUKA LWR 4+, puesto que ambos se basan en sistemas más antiguos que
el cobot PANDA, y por dicho motivo, también son más adecuados y seguros en la práctica
industrial. También menciona que los UR son los más vendidos puesto que son los que cumplen
todos los protocolos de seguridad de manera eficiente, así como los límites de potencia, fuerza
y velocidad, además de ser los más sencillos al uso gracias a su uso de enseñanza guiada a
mano con el modo FreeDrive.
3 Metodología
En este capítulo del proyecto, se hablará de todas las herramientas que se han utilizado
para el funcionamiento de ambas aplicaciones, así como sus características principales.

3.1 Gocator 2350


Gocator es un sensor inteligente diseñado para aplicaciones de control y medición 3D, pues-
to que hace uso de nubes de puntos para la extracción de características. Están configurados
mediante un navegador web y se pueden conectar a una gran variedad de dispositivos de E/S.
En los siguientes subapartados se van a comentar como se realiza la adquisición de datos y
las característica con las que cuenta el modelo seleccionado.

3.1.1 Adquisición de la imagen


El sensor cuenta con una cámara y un láser para adquirir las nubes de puntos. La cámara
ve la línea láser en el objeto desde un ángulo y captura un solo perfil 3D, como si se tratara
de un corte en la pieza para cada exposición de la cámara como se muestra en la Figura 3.1.
El emisor del láser, la cámara y el objetivo forman un triángulo, y Gocator utiliza la distancia
conocida entre el láser y la cámara, y dos ángulos conocidos para calcular la distancia desde
el sensor al objetivo y se traduce en la altura del objeto. Este método se llama triangulación,
como ya se ha explicado en el marco teórico.

Figura 3.1: Método de adquisición de datos 3D de Gocator.

11
12 Metodología

A continuación, se van a explicar conceptos muy importantes para el funcionamiento y la


colocación de los sistemas:

• Clearance Distance (CD). La distancia de espacio libre es la mínima distancia desde


la que el sensor puede escanear y medir un objeto. Si el sensor se coloca más cerca de
la pieza que ese valor, los datos pueden resultar nulos o inválidos.

• Mesurement Range (MR). Este concepto se refiere a la distancia vertical, comen-


zando desde el final de la distancia de espacio libre, en la que los objetos se pueden
medir. Pasarse de esta medida, también dará resultados erróneos.

• Field of View (FOV). Indica el ancho en el eje X a lo largo del rango de medición. En
el extremo más alejado del rango de medición, el FOV es más amplio, pero la resolución
del eje X y del Z son más bajas.

En la Figura 3.2, se puede observar a la izquierda un esquema donde se explican todos estos
parámetros comentados, y los valores con los que cuenta el modelo de Gocator escogido, que
son los correspondientes al recuadro verde.

Figura 3.2: Valores de Gocator 2350 para FOV, MR y DC.

La elección de este sensor tiene que ver con estos valores, puesto que para aplicaciones de
metrología se necesitan dos valores clave, la resolución y el rango de medida, por lo que un
sensor con valores intermedios de ambos conceptos era el adecuado, ya que si se escoge un
sensor de la gama con mayor resolución, se pierde rango de medida, y lo mismo ocurre al
revés, cuanto mayor es el rango, menor es la resolución.

3.1.2 Web Interface


La interfaz web que proporciona Gocator permite realizar cualquier tipo de programación,
además de la configuración del sistema. La interfaz es la que se muestra en la Figura 3.3.
En ella, se pueden crear distintos «Jobs», que corresponden con las aplicaciones que se van
creando, con una configuración y algoritmo específico. Y que permite tener varias a la vez de
forma on-line.
3.1. Gocator 2350 13

Figura 3.3: Interfaz Web de Gocator.

En la sección de configuración se puede configurar la resolución del encoder, en el caso de


que se utilice, la comunicación de salida para conectar con otros sistemas, la velocidad de la
cinta, la Internet Protocol (IP) del sensor, etc.

Desde la pestaña de Medidas es desde donde se realiza toda la programación por bloques
con la que cuenta el sistema. Tiene numerosas herramientas ya definidas con posibilidad de
detectar agujeros, encuadrar piezas, detectar aristas y otras muchas características para mu-
chos tipos de piezas. Además, cuenta con la herramienta de Script de la que se puede hacer
uso para detectar características para las que no hayan herramientas, o trabajar y operar con
más de una a la vez.

Otra sección importante es la de Scan, puesto que se puede configurar la exposición del
color, el rango de medida en el eje Z, el modo de detectar la pieza (de forma continua,
mediante señal externa o secuencial), o si se desea sacar con el eje de coordenadas de la pieza,
es decir, sin tener en cuenta la orientación, o con el sistema del sensor colocado en altura, que
puede proporcionar el ángulo de Z en el que está rotada la pieza. En este apartado también
se encuentra el desplegable para elegir el modo de calibración del sistema y realizarlo. Por
último, se pueden aplicar una serie de filtro en el eje X e Y para mejorar el acabado de la
nube de puntos del objeto, como un filtro mediana, smoothing o decimal.
14 Metodología

3.2 Master 810

El Master 810 (Figura 3.4) es el dispositivo escogido para conectar un sistema de Gocator
múltiple.

Figura 3.4: Master 810 de LMI Technologies.

Este modelo permite conectar hasta ocho sensores del mismo modelo trabajando en un
único sistema para realizar la adquisición de datos y emitir los resultados combinados en
nubes de puntos completas. En estos sistemas uno de los sensores se coloca como «Main», que
será el principal, y el esclavo como «Buddy». Los posibles montajes del sistema se muestran
en la Figura 3.5

Figura 3.5: Posibles configuraciones de sistemas múltiples.


3.3. SDK-GoHMI 15

Cuando se trabaja en modo encoder conectado al Master, este trabaja con una frecuencia
de cuadratura mayor de 300kHz. Además, este dispositivo cuenta con tres interruptores lla-
mados Dividers, que pueden reducir la resolución del encoder entre las potencias de dos con
combinaciones binarias de ON/OFF.

3.3 SDK-GoHMI

Un SDK es un paquete de herramientas que permite realizar programas o aplicaciones de


distintos sistemas en otros lenguajes de programación. Estas las proporciona el desarrollador
del software o hardware original para permitir más usos en su sistema, por lo que si cuentas
con los elementos, normalmente son gratuitos. Además, según el sistema, puede usarse en
tiempo de ejecución real.

LMI Technologies, empresa creadora y distribuidora de Gocator, ha creado dos tipos de


SDK, pero la que se ha utilizado concretamente ha sido Gocator Human-Machine Interaction
(GoHMI).

GoHMI es un SDK complementario para usar con Gocator que incluye funciones como
bloques de programación simplificados para crear Human-Machine Interaction (HMI) perso-
nalidazas para distintas aplicaciones. Este permite a los usuarios de Gocator crear Graphical
User Interface (GUI) con C♯. Se comunica como una aplicación de escritorio con Gocator
directamente y con sus aplicaciones creadas en la Web Interface.

3.4 Robot UR3e

El robot UR3e de Universal Robots es un robot colaborativo muy ligero y compacto que
podemos observar en la Figura 3.6. Con un alcance de 500mm y gracias a que su tamaño
es reducido, el UR3e es ideal para aplicaciones donde repose sobre una mesa de trabajo en
altura o dentro de maquinarias u otros espacios de trabajo.

Este cobot se caracteriza por pesar tan solo 11 kg, pero alcanzando una carga útil de 3 kg,
además de por su rotación de ±360 grados en todas sus articulaciones y su rotación infinita
en el extremo.
16 Metodología

Figura 3.6: Robot UR3e.

La serie e de los Universal robots llevan la incorporación de un sensor de fuerza y torques


en la última articulación, que permite registrar el peso que está cargando el robot, por lo
que ya no sería necesario calcular manualmente la carga útil ni el centro de gravedad de la
pieza, como en los modelos anteriores. En el UR3e, las especificaciones técnicas son las de
la Tabla 3.1. Se puede obtener más información acerca de este cobot en la ficha técnica de
(UniversalRobots, s.f.).

UR3e Sensor Fuerza (N) Sensor Torque (Nm)


Rango 30 10
Resolución 1 0.02
Precisión 3.5 0.1

Tabla 3.1: Características sensor fuerza-torque.

3.4.1 Polyscope
Polyscope es la interfaz gráfica de usuario que maneja los robots Universal Robots y la
caja de control. Además, ejecuta y crea programas. En él hay diversas funcionalidades, como
la ejecución, la inicialización, la programación y la instalación del robot. También permite
mover el robot manualmente, configurar sus entradas y salidas y acceder al registro, que
indica la salud del robot así como cualquier mensaje de advertencia o error.

Lo que más se ha utilizado de Polyscope es la parte de programación del robot. Esto se


realiza en un árbol de programa que lo muestra como una lista de comandos llamados nodos
del programa, y se pueden encontrar de los siguientes tipos:
• Básico. Que incluye los nodos de movimientos, puntos de paso, esperas, ajustes de
señales, etc.
3.4. Robot UR3e 17

• Avanzado. Donde se configuran los comandos de condiciones, bucles y asignaciones,


entre otros.

• Plantillas. Útil si se desea ajustar algún programa ya establecido por los Universal
Robots.
Además, los puntos se pueden ajustar manualmente, para establecer las trayectorias a
realizar, que también se pueden clasificar de la siguiente manera:

• MoveJ. Trayectoria en el espacio articular, donde cada articulación se controla para


llegar al mismo tiempo a la ubicación final deseada, dando lugar a una trayectoria
curva de la herramienta. Hay que compartirle los parametros de velocidad y aceleración
de la junta.

• MoveL. Este tipo mueve el Punto Central de la Herramienta (TCP) linealmente entre
los puntos de paso, por lo que tiene que realizar un movimiento más complejo para llegar
a la configuración deseada. También aquí hay que establecer la velocidad y aceleración
de la herramienta.

• MoveP. De esta forma se mueve la herrameinta de manera lineal a una velocidad cons-
tante con transiciones circulares, pensado para operaciones de algunos procesos de en-
colado. Con esta opción, no se puede esperar una operación de E/S ni una acción del
operador.

3.4.2 URCaps
Los archivos URCaps, que reciben este nombre por la palabra inglesa Capabilities, tiene
como finalidad incorporar las capacidades del robot colaborando con fabricantes de sistemas
en la industria, como sistemas de visión, tecnología de manipulación, soldadura, etc.

Haciendo uso de estos archivos se puede programar de manera fácil y rápida el robot,
permitiendo una instalación sencilla y que la comunicación entre el robot y el sistema, en
este caso Gocator, sea de manera transparente y muy sencilla.
La opción para instalar el archivo URCap de Gocator en el robot, se encuentra en Configu-
ración del sistema->URCaps. Una vez incorporado el archivo correspondiente que ofrece la
distribuidora del sensor, ya se puede hacer uso de las funciones extras que aporta al software
del cobot. Éste admite la configuración del sensor en un montaje fijo, como es nuestro caso,
que se podrá apreciar en el siguiente apartado, o bien sobre la última articulación del robot
para hacer un sistema «eye-in-hand». Si se coloca sobre una estructura fija, se ha de tener en
cuenta que no interfiera en el espacio de trabajo del robot para evitar posibles colisiones.

Las función de los nodos del programa que aporta este archivo de Gocator se van a explicar
a continuación:
• Gocator Calibrate.Esta función permite calibrar el sensor en un punto establecido y
haciendo que el robot se mueva a dicha posición cuando el sistema está montado sobre
la última articulación. Si el sistema es fijo, calibra sobre la opción que esté configurada
en el último Job cargado desde la Web Interface.
18 Metodología

• Gocator Command. Dentro de este comando existen varias opciones, como encender
el sensor para empezar a escanear, equivalente a pulsar el botón del play en la interfaz
web, o apagarlo. También permite borrar la calibración establecida o volver a realizarla.

• Gocator Connect. Con este nodo, se conecta el robot al sensor para poder transferirse
información. Debe aparecer antes que ningún nodo del programa, y recomendablemente
en la secuencia de antes de empezar el programa del árbol, para que no se repita en
bucle junto con el resto del programa.

• Gocator Conveyor. El sensor utiliza este nodo para agrupar otros que funcionen en
relación con las coordenadas de la cinta, así el robot puede ajustar cualquier movimiento
relativo a la cinta, para poder coger en movimiento cualquier objeto escaneado.

• Gocator Load Job. Este nodo permite cargar un archivo de «Job» creado previamen-
te, en la Gocator.

• Gocator Scan. Este modo es utilizado cuando el sistema está montado sobre el robot,
y hace que pase el sensor sobre el objetivo a realizar de manera uniforme.

• Gocator Trigger. Con este comando el sensor comienza con el disparo del trigger.
Internamente tiene una opción para que se ejecute en bucle hasta que deja de escanear
o detectar alguna pieza.

• Gocator Receive. Este es el nodo más utilizado y que hace que la comunicación sea
más sencilla. Con este comando, se puede recibir las medidas desde el sensor y asignarla
a variables con las que posteriormente trabajar. Además, tiene tres posibles entradas
de datos:
– Medidas simples. Así, se extraerá la medida de la forma que procesa la Gocator
como un único valor. Que es la manera que se ha utilizado para programar la
aplicación de los cambrillones, para posteriormente agruparlas en posiciones.
– Posición. Con esta opción, se obtiene directamente las tres coordenadas de posición
de la pieza.
– Posición y orientación. Gracias a la herramienta de la Web Interface Feature Robot
Pose, se puede transmitir las seis coordenadas (X, Y, Z, Roll, Picht, Yaw) al robot
directamente desde la Gocator.
4 Desarrollo
En este apartado se va a explicar cómo se han utilizado los elementos comentados en el
apartado anterior y su integración en el sistema de ambas aplicaciones.

4.1 Aplicación cambrillones


El objetivo de esta aplicación para la industria del calzado es incorporar Gocator como
sistema de visión 3D para sacar características de los cambrillones, como su posición, orien-
tación y la colocación que indica si la curvatura está hacia arriba o hacia abajo y donde se
encuentran los extremos y la forma de estos. Una vez realizado esto, un robot colaborativo
recibe mediante las funciones del archivo URCap el punto del espacio al que tiene que des-
plazarse para realizar el agarre de la pieza, y posteriormente colocarlo en un molde que le
incrementa o disminuye la curvatura.

4.1.1 Montaje del sistema


En el proyecto, se ha diseñado una celda robotizada que cuenta con los siguientes elementos
destacables:

• Cinta transportadora. La cinta por la que van pasando los cambrillones está conecta-
da a un servomotor para transmitir el movimiento. Ésta, podemos accionarla o detenerla
a través de una señal emitida desde el robot cuando una pieza ha sido detectada.

• Encoder. Este elemento sirve para saber la distancia que se ha desplazado la cinta,
y así, coordinar el sistema de referencia de la Gocator con el del UR3e gracias a que
trabajando en este modo con el sensor, el robot manda una señal para accionar el láser
y comenzar a detectar.

• Gocator 2350. El sensor es una de las dos partes esenciales en este montaje, puesto
que es el que se encarga de procesar la nube de puntos del objeto detectado y mandar
las características al robot.

• Robot colaborativo UR3e. La segunda pieza necesaria en este sistema, puesto que
recibe de la Gocator las coordenadas de posición y orientación de los cambrillones para
poder dirigirse a ella y realizar una tarea pick and place.

El montaje final de este sistema incorporando los elementos mencionados anteriormente se


puede apreciar en la siguiente imagen (Figura 4.1):

19
20 Desarrollo

Figura 4.1: Montaje final de la celda robotizada.

4.1.2 Diseño de la pinza

Una de las partes más importantes para realizar tareas de pick and place es el diseño del
actuador final del robot. En este caso la herramienta que se ha diseñado es una pinza de la
marca ”Schunk” actuada neumáticamente, cuyo modelo realizado mediante Solid Works se
puede observar en la Figura 4.2

Figura 4.2: Diseño de la pinza en Solid Works.


4.1. Aplicación cambrillones 21

Para la pinza escogida de desplazamiento paralelo, se tuvieron que diseñar unos dedos
apropiados para la aplicación, teniendo en cuenta el movimiento a realizar en el eje de cierre
y la anchura de los cambrillones. Los planos para el diseño de estos dedos se puede apreciar
en la Figura 4.3. Además, el grosor de estos dedos se debe a que en el cierre de la pinza, si el
desplazamiento fuese elevado, el cambrillón se podría mover en el caso de tocar con uno de los
dos dedos antes que con el otro y causaría una imprecisión en el agarre para colocarlo en el
molde correspondiente. Por ello, se realizaron de manera que el desplazamiento puede variar
en el rango de 20.8-4.8mm siendo el primero la pieza completamente abierta, y el segundo en
posición máxima de cerrado. Se diseñó con la finalidad de que cualquier tipo de cambrillón
pudiera ser agarrado, siendo los más finos de un ancho de 9mm, y los más grandes de 17mm,
por lo que todos entran en el rango. Ambas posiciones explicadas se pueden ver en la Figura
4.4

Figura 4.3: Diseño de los dedos de la pinza.

Figura 4.4: Recorrido de cierre de la pinza.


22 Desarrollo

Por último, el montaje de la pinza diseñada sobre el robot, se puede observar en la Figura
4.5

Figura 4.5: Montaje final de la pinza.

4.1.3 Calibración Gocator


La calibración es uno de los elementos más importantes que lleva incorporado el sensor,
puesto que ajusta el sistema de coordenadas en relación con las del sensor, dando resultado
a las coordenadas del sistema para localizar la pieza. Además, la utiliza para calcular auto-
máticamente las transformaciones y rotaciones que se aplican a los datos de escaneo de las
piezas como se muestra en la Figura 4.6.

Figura 4.6: Transformaciones en la calibración de Gocator.


4.1. Aplicación cambrillones 23

Es necesaria una buena calibración para compensar las imprecisiones de montaje del sensor
en relación con la superficie y para establecer un plano de referencia para la altura, es decir,
para el eje Z. Y cuando se trabaja en modo encoder, también sirve para determinar la posición
de offset a lo largo del eje Y.

Entre todos los métodos proporcionados por el software de Gocator, el idóneo por su sen-
cillez puesto que no requiere de ningún ajuste extra es el Flat Surface, cuya calibración se
realiza con la misma cinta transportadora. Este método es efectivo siempre y cuando la cinta
se encuentre en un plano, ya que si la superficie es curva, la precisión del sensor será inexacta.
De este modo se realizan las transformaciones en 3 grados de libertad, el desplazamiento de
X, Z y el ángulo de Y.

Sin embargo, para hacer uso de este modo, es necesario que el láser este en el eje perpen-
dicular al de movimiento. En caso contrario, la imagen de la nube de puntos saldrá como se
muestra en la Figura 4.7, y el método a utilizar será la calibración con una barra (la misma
que se explicará en el apartado 4.2.1.2) en movimiento.

Figura 4.7: Error por el ángulo del eje Z en la calibración.

4.1.4 Algoritmo de detección


Toda la programación para la adquisición de características se ha realizado a través de la
Interfaz Web que proporciona el software de Gocator, y que para acceder los únicos requisitos
son que la Gocator esté encendida y que el ordenador se encuentre en la misma red que el
sensor. La programación en la Web se realiza mediante diagramas de bloques para búsqueda
de las distintas características que ya ofrece el sistema o bien programando scripts en lenguaje
C si se requiere algo que no esté creado. Además, cada uno de estos bloques tienen para poder
escoger distintos filtros, valores o métodos, según el que se requiera, y las características de
24 Desarrollo

salida del programa que se quieran utilizar para no transmitir al robot información innece-
saria que no se llegue a utilizar. El proceso de ejecución de los mismos se realiza de manera
secuencial.

A continuación, se van a explicar detalladamente las características necesarias de la pieza,


el por qué lo son y con qué herramientas se ha logrado su detección:

FORMA DE LOS EXTREMOS

Los cambrillones se caracterizan por su forma en los dos extremos con los que cuenta. En
uno de ellos, la forma de estas piezas es estrecha y acaba en una curva, mientras que en la
opuesta cuenta con dos pequeños salientes que pueden simular unas pequeñas patas.

La necesidad de extraer estas características es muy importante, puesto que el robot tiene
que ser capaz de colocar la pieza en el molde haciendo el grasping por cualquiera de los dos
extremos, según le indique el operario en la interfaz.

Se probó la posibilidad de hacer uso de la herramienta Pattern Matching, cuya finalidad es


guardar una característica específica de una pieza, y en las posteriores buscarla automática-
mente. Este método no logró buenos resultados debido a las pequeñas diferencias que hay en
las distintas piezas, puesto que hay cambrillones de distintas formas y acabados. Por lo que
habría que guardar la característica para cada uno de los tipos, lo que consumiría un gran
tiempo de búsqueda en las características al tener tantas herramientas entre las que hacer la
detección.

Finalmente, se ha realizado la detección del lado de las patas buscando un agujero circular
de un radio nominal de 3.5mm con una tolerancia de 1mm, ya que esta característica la tienen
todos los cambrillones, y aunque los radios sean similares con variaciones, entran dentro del
rango de tolerancia. Esta detección se puede apreciar en la Figura 4.1.4.

Figura 4.8: Detección del agujero del extremo.


4.1. Aplicación cambrillones 25

CURVATURA
La curvatura de las piezas es otro elemento esencial a detectar, ya que los cambrillones
pueden caer en la cinta de dos maneras distintas, de forma cóncava o convexa que tal y como
se muestra en la Figura 4.9, el robot solo cogerá como forma válida los cambrillones que
pasan de la primera forma, ignorando el resto, esperando a que vuelvan a pasar. Esto puede
ocurrir puesto que en la aplicación final habrá otra cinta colocada debajo que volverá a llevar
las piezas del calzado descartadas al inicio de la primera, y al caer por la diferencia de altura
de una cinta a la otra, el centro de masas favorecerá a colocar la pieza de la forma que nos
interesa.

Figura 4.9: Tipos de curvatura a detectar de los cambrillones.

La detección se realiza gracias a varias herramientas que se explican a continuación:

• Bounding Box Advanced. De esta herramienta nos interesa el ángulo de Z que


proporciona, además del centro de la pieza.

• Surface Section. Esta función nos sirve para seleccionar una sección de la pieza, que
vamos a anclar al centro del bounding box en orientación y al centro del mismo en
posición X e Y. Además, la podemos apreciar en la Figura 4.10.

• Profile Position. Finalmente, gracias a esta herramienta, combinándola con la an-


terior, se puede detectar el mínimo valor de Z en la sección obtenida. Si este valor es
26 Desarrollo

mayor que 2mm querrá decir que la pieza está colocada hacia abajo o con la curvatura
convexa, si dicho valor es menor, el robot se desplazará a cogerla. También se puede
observar la herramienta en la Figura 4.10.

Figura 4.10: Harramientas para detectar el tipo de curvatura.

ORIENTACIÓN

Para detectar la orientación de los cambrillones, se probó en primer lugar a coger el ángulo
en el eje Z que proporciona la herramienta Bounding Box Advanced, idea que no resultó muy
conveniente, puesto que no tiene en cuenta la forma geométrica del elemento, solo el giro
de la pieza como un objeto uniforme. Esto es un inconveniente puesto que se necesita saber
donde está cada parte del elemento para poder cogerlo de cualquiera de los dos extremos.

Así que gracias a la herramienta Feature Create, que permite crear características a partir
de puntos, líneas o planos ya creados, se pudo sacar la orientación de la pieza. Para realizarlo,
se indicó que creara la línea que va desde el centro del agujero detectado con la herramienta
Hole, pasando por el centro de la Bounding Box. A partir de esa línea ya se puede sacar el
ángulo de Z que forma con la horizontal. Este procedimiento se puede observar en la Figura
4.11.
4.1. Aplicación cambrillones 27

Figura 4.11: Procedimiento para sacar la orientación del cambrillón.

POSICIÓN

La posición es quizás lo más importante para dirigir al robot, pero las coordenadas como
tal, no se envían directamente desde Gocator, sino que se calculan desde el programa del
UR3e a través de Polyscope, que se explicará en el apartado 4.1.6.

Para poder calcular dichas coordanadas, es necesario transmitirle desde el sensor las si-
guientes características:

• Bounding Box. Es necesario transmitirle las coordenadas X e Y del punto central. Ade-
más, el robot también ha de recibir la longuitud de la pieza, y la anchura, proporcionados
por esta herramienta.

• Feature Create. De esta herramienta habrá que mandar el ángulo del eje Z que se calcula
para la orientación, ya explicado en el párrafo anterior.

4.1.5 Coordinación con Robot UR3e

La coordinación del sensor Gocator con el robot UR3e es igual que con el ordenador,
mediante Ethernet, es necesario tener ambos dispositivos en la misma red para poder comu-
nicarlos entre sí.

Muchas de las funcionalidades se han podido llevar a cabo gracias a la URCap que pro-
porciona Gocator para la programación de Universal Robots, ya que se pueden transferir las
características leídas por el sensor mediante funciones habilitadas para ello. Para realizar esa
comunicación en los datos, desde Gocator se cuenta con un apartado denominado Output,
donde se pueden seleccionar los datos específicos que usará el robot, y así evitar un mayor
tiempo de lectura de datos innecesarios. Dicha opción se puede observar en la Figura 4.12.
28 Desarrollo

Figura 4.12: Opción de salida de datos para comunicación Gocator-UR3e.

Otro aspecto importante para la integración de ambos sistemas es la configuración del


sistema de coordenadas, ya que Gocator está preparado para montarse sobre el robot y en
este caso se ha montado en una estructura sobre la cinta como se observa en la Figura 4.1.
Para poder coordinarlos, se creó un plano de referencia en el robot que estableció el punto
(0,0,0) (el punto 1 en la figura 4.13) sobre una esquina de la cinta transportadora. Una vez
establecido dicho punto, se realiza una translación entre el sistema de coordenadas del Robot
respecto del de Gocator, que se puede observar en la Figura 4.13.

Figura 4.13: Esquema de traslación para coordinar ambos sistemas.

De esta manera, las coordenadas que transmita Gocator, serán las que seguirá el robot
para realizar la tarea de pick and place.

4.1.6 Programación UR3e


Para programar el robot UR3e de forma que realizase la tarea de pick and place, ha sido
necesario conocer e investigar muchos elementos, como la programación en el entorno Polys-
4.1. Aplicación cambrillones 29

cope o el uso de funciones mediante el archivo URCap de Gocator, y que se van a tratar a lo
largo de este apartado.

Lo primero que se realizó fue el cálculo del TCP de la herramienta diseñada para el agarre.
Este se calculó colocando el centro de la herramienta en distintas orientaciones sobre una
pieza con un tornillo hacia arriba como punto de referencia. Además, gracias al sensor de
fuerza y par que lleva incorporado el robot al ser un serie ”e”, no fue necesario calcular el
peso de la propia herramienta.

En la pestaña de programación en Polyscope, se desarrolló un programa que realiza la tarea


y que consta de las siguientes instrucciones.

En primer lugar, en el ámbito que solo se ejecuta al principio del programa aunque es-
te esté en bucle, se añadió el comando de translación que se ha comentado previamente, la
pose de inicio en la que comienza el robot y la función Gocator Connect que enciende el sensor.

A continuación en el árbol del programa, comienzan las instrucciones que se repiten en bucle
hasta que deseamos parar la ejecución. Primero se activa el disparo del láser y la señal que le
corresponde junto a la cinta transportadora hasta que termina de escanear una pieza y han
transcurrido 400mm. Entonces la cinta se para, y mediante la función Gocator Receive, que se
añade tantas veces como distintos datos se deseen obtener identificándolos con sus respectivos
Identification (ID), se realizan los cálculos para mandar al robot a dicha posición. Los datos
requeridos son: Longitud, anchura y coordenadas del centro de la pieza de la Bounding Box, y
el ángulo extraído de la Feature Create que ya se ha explicado en otros apartados. Con estos
datos se pueden realizar los cálculos correspondientes a la siguiente imagen (Figura 4.14):

Figura 4.14: Cálculos para obtener las distintas posiciones de agarre.


30 Desarrollo

Donde (1) y (2) son las siguientes coordenadas:


( ( ) ( ) )
Length Length
(1) X + − 15 ∗ cos (α) , Y + − 15 ∗ sin (α) (4.1)
2 2
( ( ) ( ) )
Length Length
(2) X − − 15 ∗ cos (α) , Y − − 15 ∗ sin (α) (4.2)
2 2
Es necesario tener las dos posibilidades de agarre para el robot puesto que los cambrillones
se tienen que poder colocar en el molde agarrado desde cualquiera de los dos lados. Elegir
entre el agarre de un lado u otro depende de lo que introduzca el operario.

La creación de una pose para el robot en Polyscope se realiza mediante el comando


p[X,Y,Z,Roll, Pitch, Yaw]. De esta forma, con la posición X e Y calculada mediante la fór-
mula arriba expuesta, y siendo Roll y Pitch 0, solo hay que añadir en la Z un valor fijo que
se establezca a 100mm de la pieza para realizar una trayectoria en el espacio articular, y
sustituir Yaw por el ángulo que proporciona la Feature Create. A continuación, se realiza una
trayectoria lineal bajando en el eje de la Z para coger con más precisión el cambrillón.

Una vez el robot está trasladado a la posición con la orientación deseada, se manda la
señal para que la pinza se cierre mediante su actuador neumático, realiza otra trayectoria
articular hasta la posición final, guardada previamente de manera manual, ya que es una de
las ventajas de los robots colaborativos.

4.2 Aplicación VELAR 3D


VELAR es una aplicación ya existente de AyCN para medidas de piezas grandes mediante
técnicas de visión 2D, colocando una cámara en altura. En este proyecto, se ha realizado el
estudio de pasar dicha aplicación a un entorno de visión 3D en el que se puedan identificar
más características que en dos dimensiones no es posible.

Las medidas a conseguir para igualar la aplicación existente son los cuatro lados de la pieza,
denominados L1, L2, L3 y L4. Adicionalmente, gracias a las ventajas que ofrece Gocator, se
logra medir espesores, ángulos de chaflanes, y radios de redondeo en las piezas.

Para ello, puesto que las piezas tienen más dimensión de ancho, que el rango de un solo
láser, se ha conectado un sistema múltiple mediante dos Gocator conectadas a un Master,
colocando una de ellas como Gocator Main y otra como Buddy. Esto facilitará tener un mayor
rango, casi el doble, para poder medir los lados de las piezas.

4.2.1 Calibración Gocator Múltiple


La importancia del proceso de calibración ya se ha mencionado anteriormente en el apar-
tado 5.1.3. Sin embargo, las razones por las que es necesaria una buena calibración se ven
incrementadas en un sistema de Gocator múltiple, ya que ayuda a adaptarse a la rotación
intencional que a veces se lleva a cabo. También permite la fusión de los perfiles, y con ello de
4.2. Aplicación VELAR 3D 31

la nube de puntos, en estos sistemas multi Gocator. Si no se ha calibrado de manera correcta,


ni la pieza saldrá correcta, ni las medidas serán fiables.

Este proceso en los sistemas múltiples no se pueden llevar a cabo con la cinta como se ha
hecho para la anterior aplicación, por lo que se ha de utilizar una barra, y según la colocación
de las Gocator, ésta tendrá que tener unas características en concreto que se comentarán en
los siguientes subapartados. Sin embargo, para cualquiera de las colocaciones hay un elemento
común a tener en cuenta para que el sistema se calibre correctamente: El rango del láser no
ha de captar ninguno de los bordes de la barra. Tal y como se muestra en la Figura 4.15, la
totalidad del láser rojo, ha de estar contenido en dicha barra.

Figura 4.15: Proceso de calibración en Gocator múltiples.

4.2.1.1 Gocator inclinadas

Para la colocación de los sensores con cierto ángulo en el eje Y enfocando a la pieza para
captar características de los bordes, la calibración se ha de realizar con una barra como la
que se muestra en la Figura 4.16. De esta se han de conocer el diámetro, el ancho y el alto.

Otra característica con la que cuenta esta calibración es que al tener un único agujero,
ambos sensores deben estar captándolo, y solo se realizará, si el diámetro establecido coincide
con el leído por ambos.
32 Desarrollo

Figura 4.16: Calibración con Gocator inclinadas.

4.2.1.2 Gocator rectas

La Figura 4.15 indica la colocación de las mismas para la calibración. Además, en la Figura
4.17 se puede apreciar mejor como es la barra de calibración cuando los sensores están con la
configuración recta, que ha de tener dos agujeros en vez de uno como la anterior colocación.
Los datos que se necesitan de conocer de esta pieza son los mismo que para cuando están
inclinadas, añadiendo la distancia entre ambos agujeros. De esta manera, los sensores tendrán
que leer ambos únicamente un agujero cada uno, y en el tramo intermedio deberán coincidir
en algún punto.

Figura 4.17: Calibración con Gocator rectas.

Por último respecto a la calibración, añadir que puede ofrecer utilidades como obtener la
resolución del encoder conectado para el movimiento o la velocidad que lleva la cinta si se
calibra con la barra (cualquiera de los dos tipos) en movimiento.
4.2. Aplicación VELAR 3D 33

4.2.2 Algoritmo metrología

Para medir los lados de las piezas, cada una completamente diferente, se ha hecho uso
de distintas herramientas de la Web Interface, que se explicarán a continuación teniendo en
cuenta el orden de ejecución.

Cabe destacar primero, que Gocator para localizar características trabaja con regiones fijas
en cuanto a tamaño, pero que se pueden anclar a otras características para hacerlas dinámicas
y no tener que moverlas manualmente para cada pieza desde el entorno de programación. Esta
posibilidad ha aumentado mucho la variabilidad de tipos de piezas permitidas en la aplicación.

1. En primer lugar, se detecta mediante la herramienta Surface Position la posición «X


max», «X min», «Y max» e «Y min», que indicarán la posición de colocación de las
regiones para detectar las aristas y que además están ancladas al ángulo de Bouding
Box para girar con la pieza. Esto se encuentra en la Figura 4.18 (a).

2. A continuación, se detecta la arista con Surface Edge. Esta se hace de manera proyectada
para evitar captar puntos de los bordes de la pieza, y así se colocarán todos en la misma
línea, como se puede observar en la Figura 4.18 (b). Además, se quita un porcentaje
pequeño de Outliers, que son puntos que puede captar de las aristas adyacentes y que
puede hacer que la línea que sacamos a partir de los puntos de la arista se vea desviada.

3. Una vez realizado este proceso con las cuatro aristas de la pieza, se sacan las interseccio-
nes a partir de las líneas que unen los puntos de las aristas con la herramienta Feature
Intersect, como se puede apreciar en la Figura 4.18 (c). De este modo, se obtienen las
coordenadas de los cuatro puntos de la pieza.

4. En cuanto a los lados de las piezas, el último paso es sacar la dimensión con Surface
Dimension uniendo las intersecciones sacadas en el paso anterior. De esta forma, se
puede observar las medidas de los lados, como en la Figura 4.18 (d).
34 Desarrollo

Figura 4.18: Pasos del algoritmo para medir lados.

5. Para las piezas que cuentan con un redondeo en los laterales. Se realiza un corte de
sección, que se ancla de nuevo al ángulo de Bounding Box y al máximo o mínimo
punto del eje X, según el lado en el que se quiera detectar. Unida a esa herramienta, se
utiliza la llamada Profile Circle, para analizar el corte de la sección y sacar el radio de
curvatura de la pieza. Todo esto se muestra en la Figura 4.19

Figura 4.19: Detección de redondeos.

6. Por último, hay piezas que cuentan con chaflanes, que también se pueden detectar,
haciendo uso de un plano, colocado sobre dicha superficie. Así, Gocator nos proporciona
4.2. Aplicación VELAR 3D 35

el ángulo que tiene la pieza en esa sección. Este último paso también se puede apreciar
en la Figura 4.20

Figura 4.20: Detección de ángulo de chaflán.

4.2.3 Aplicación con GoHMI


Las SDK de Gocator, llamadas GoHMI, permiten crear interfaces para usuario con C♯ y
los Windows Forms de Visual Studio. Gracias ha estas herramientas se ha podido conectar
la Gocator directamente y programar dicha interfaz comunicando las medidas del sensor con
cualquier PC conectado en la misma red.

Esta actualización tan reciente, ha incorporado a las opciones que tenían anteriormente, la
posibilidad de añadir visualizadores tanto 2D como 3D, los botones de grabación de datos,
inicio de escaneo o la parada. Además, se ha añadido la posibilidad de utilizar desplegables
para la elección de las aplicaciones realizadas con la Web Interface.

Para realizar la interfaz simple que se ha creado y que se puede observar en la Figura 4.21,
se han utilizado los siguientes elementos con las funcionalidades que se van a explicar:

• En la primera columna, se encuentran tres botones imprescindibles: El botón «Start»,


cuya función es encender el láser de la Gocator para comenzar a escanear, el botón
«Stop», específico para terminar de grabar datos apagando el láser, y el botón «Reset»,
encargado de borrar todos los datos procesados anteriormente cuando se quiera empezar
de nuevo.

• En la parte superior izquierda del panel hay dos desplegables que se conectan directa-
mente con el sensor. En el primero de ellos se escoge que Gocator se va a utilizar en
el caso de que hayan varias de ellas en modos independientes, si están conectadas en
modo múltiple solo aparecerá la que se encuentre como sensor principal. En el segun-
do desplegable se encuentra el Job en el que va a funciona el programa, es decir, el
algoritmo que escogerá para sacar las medidas.
36 Desarrollo

• A su derecha, se encuentran cuatro etiquetas dinámicas, que muestran las longitudes


de los lados de las piezas, en verde si están dentro del límite de tolerancia y rojo en
caso contrario, cuando han pasado por el sensor.

• Por último, se encuentra una tabla que aporta información como la media de los valores
que ha medido el sistema, el mínimo y el máximo, la cantidad de piezas que han pasado,
y la desviación estándar en las medidas cuando ha escaneado más de una.

Figura 4.21: Interfaz de la aplicación creada mediante Visual Studio y GoHMI.


5 Resultados

5.1 Aplicación cambrillones


Para la aplicación de los cambrillones, se realizaron distintas pruebas para decidir el mejor
agarre de las piezas en los dos casos posibles.

En un primer lugar, se probó a coger la pieza desde el centro de la misma, lo cual aunque
fuera sencillo de detectar y programar no resultó conveniente puesto que el molde en el que
se tiene que colocar es el siguiente (Figura 5.1).

Figura 5.1: Molde donde colocar los cambrillones.

Debido a que el disco en el que van apoyados detrás de la rueda puede moverse hacia atrás
o hacia delante, en función de la curva que se le quiera dar a las piezas.

El resultado final fue el agarre de los extremos a unos 15mm del final del lado escogido, ya
que de esta forma, el robot tiene más margen para colocarla en la posición correspondiente
sin chocar con el molde, y lo puede realizar con mayor precisión.

En el siguiente enlace se puede ver un vídeo con el comportamiento final donde Gocator
extrae las características, posición y orientación, y lo transmite al robot, que va hacia la pieza
y la coloca en una caja en la posición final, puesto que no contábamos con el molde original
de la empresa de cambrillones. También se puede observar los dos tipos de agarre que puede
seleccionar el operador, desde las ”patas” hasta el principio del cambrillón.
Enlace al vídeo de la aplicación pick&place de cambrillones.

37
38 Resultados

5.2 Aplicación VELAR 3D

En la aplicación de metrología con Gocator múltiple, se hicieron numerosos experimentos


para comprobar la mejor configuración de los sensores (inlcinados o rectos) a la hora de extraer
características como redondeos, chaflanes, espesores y también por supuesto las medidas de
los lados, teniendo en cuenta que la toleracia en la que se trabaja es de ± 1 mm. Otro aspecto
que se busca es la velocidad a la que pueden pasar las piezas para una medida óptima, así que
se comprobará también el mejor modo de disparo del láser, que puede ser a modo velocidad
(disparando cada cierto tiempo sin tener en cuenta la pieza) o en modo encoder (donde el
disparo se realiza según los mm recorridos de la cinta). Para dicho encoder se calculó la reso-
lución, siendo este concepto el mínimo de mm que han de transcurrir entre disparos. Y por
último, se analizará la precisión y la repetibilidad de las medidas proporcionadas por el sensor.

Las piezas con las que se van a hacer las comparaciones, que tienen características como
redondeos o chaflanes, son las que se encuentran en la Figura 5.2, y sus medidas reales a
detectar por el sistema, en la posterior Tabla 5.1.

Figura 5.2: Piezas escogidas para la comparación.

Pieza 1 Pieza 2 Pieza 3


L1 (mm) 399 192 225
L2 (mm) 539 999.5 1001
L3 (mm) 395.5 191 183
L4 (mm) 540 999 999.5
Espesor (mm) 30 30 20
Radio redondeo (mm) No 15 No
Chafán (º) No No 15

Tabla 5.1: Medidas reales de las piezas escogidas para la comparación.


5.2. Aplicación VELAR 3D 39

5.2.1 Modo velocidad


El modo velocidad para el disparo del láser, consiste en realizar un disparo por cada tiempo
establecido, sin tener en cuenta la velocidad de la cinta, por ello para cada una, Gocator
proporciona una resolución distinta. Para comprobar las medidas proporcionadas en este
modo, se han comparado las velocidades 150, 100 y 50 mm/s, cuyas resoluciones para el
sensor son 0.9, 0.6 y 0.3 mm, respectivamente, lo que provoca errores muy elevados en las
medidas de hasta el doble de su resolución, lo cual se sale del rango de tolerancia con el que
contamos.

5.2.1.1 Gocator Inclinadas


La configuración de Gocator inclinadas, puede ser muy útil para detectar los bordes, es-
pesores y redondeos con más puntos, lo que conlleva mayor precisión en las medidas. A
continuación, se van a comprobar estas características y las medidas en las velocidades co-
mentadas anteriormente.

En la Figura 5.3 y 5.4 se puede observar que las muestras obtenidas con velocidad de 150
mm/s no son adecuadas, pero que para 100 y 50 mm/s se obtiene muchísima más precisión
de manera similar, por lo que no sería necesario bajar más la velocidad de la cinta para lograr
mejores resultados, puesto que se mantiene estable a partir de un cierto valor.

Figura 5.3: Medidas de los lados L1, L2, L3 y L4 para la pieza 1 en distintas velocidades y confi-
guración inclinadas.
40 Resultados

La diferencia entre las medidas a la mayor velocidad se pueden observar menos repetibles
en los lados L2 y L4. Esto es debido a que ese lado depende del eje Y, lo que conlleva a de-
pender del modo escogido. Los otros dos lados dependen para la repetibilidad de las medidas
del algoritmo planteado y de la calibración, por lo que se puede comprobar que tiene gran
porcentaje de acierto.

Además, la del espesor de la primera pieza se puede observar en la Figura 5.4. Donde se
puede comprobar que cuenta con bastante precisión y repetibilidad independientemente de la
velocidad establecida, ya que se realiza el cálculo de la medida obteniendo la distancia entre
la capa superior e inferior de la pieza.

Figura 5.4: Espesor medido para la pieza 1 con distintas velocidades y configuración inclinada.

La repetibilidad mencionada se busca para comprobar como de distintas salen las medidas
entre una muestra y otra. Además, otro parámetro imprescindible es la precisión, que indica
como de correcta es la medida y cuanto error puede tener. Ambos números cuanto más bajos
sean mejores resultados proporcionan, y sirve para comprobar la robustez y la eficacia de las
medidas y por lo tanto del sistema.

Esto se puede observar también en la Tabla 5.2, donde se encuentran los parámetros men-
cionados para cada lado y características en todas las velocidades de la experimentación.
Calculados de las siguientes fórmulas:
√∑
(x − x′ )2
Repetibilidad = (5.1)
(n − 1)

|x − xR |
P recision = (5.2)
n
5.2. Aplicación VELAR 3D 41

Donde x es cada medida de las muestras, x’ se refiere a la media de las medidas de la


muestra, xR a la medida real del lado de esa pieza y n al número total de muestras medidas.

Tabla 5.2: Medidas de precisión y repetibilidad para la pieza 1 con Gocator inclinadas.

En esta tabla se puede observar que la repetibilidad para la velocidad más alta es muy
elevada sobre todo en los lados que dependen de ese eje de movimiento (L2 y L4), y la preci-
sión saldría del rango. Sin embargo, para las otras dos velocidades comparadas, tienen valores
aceptados en la tolerancia de ambas cosas.

En cuanto a la pieza 2, que cuenta con un redondeo en los bordes largos, los gráficos de
las muestras y los valores estadísticos se pueden apreciar en la Figura 5.5, Figura 5.6 y Tabla
5.3, respectivamente.

Figura 5.5: Medidas de los lados L1, L2, L3 y L4 para la pieza 2 en distintas velocidades y confi-
guración inclinadas.
42 Resultados

Figura 5.6: Espesor y redondeo medido para la pieza 2 con distintas velocidades y configuración
inclinada.

Tabla 5.3: Medidas de precisión y repetibilidad para la pieza 2 con Gocator inclinadas.

De la misma forma que la pieza anterior, se observa que los lados que dependen del eje X
y de la calibración, tienen más repetibilidad que los del eje Y, y que para conseguir mayor
precisión hay que utilizar velocidades alrededor de 100 mm/s o inferiores. Además, las carac-
terísticas como el espesor o el redondeo de la pieza, lo capta con gran precisión y repitibilidad,
con errores de 0.1 mm respecto a las medidas deseadas.

Lo mismo ha ocurrido con la pieza 3, que se encuentra en las gráficas de la Figura 5.7, la
Figura 5.8 y la Tabla 5.4.

Figura 5.7: Espesor y chaflán medido para la pieza 3 con distintas velocidades y configuración
inclinada.
5.2. Aplicación VELAR 3D 43

Figura 5.8: Medidas de los lados L1, L2, L3 y L4 para la pieza 3 en distintas velocidades y confi-
guración inclinadas.

Tabla 5.4: Medidas de precisión y repetibilidad para la pieza 3 con Gocator inclinadas.

En esta pieza con chaflán, se tuvo que bajar el umbral de comienzo de detección por altu-
ra y establecerlo en el mínimo, puesto que en el lado inclinado, el trozo de pieza inferior a
dicho umbral se perdía. Una vez arreglada la cuestión, se obtuvieron resultados muy buenos
de medida, con gran repetibilidad y precisión ante las medidas reales, lo cual se considera
aceptable, siempre que baje de 0.4 mm de error.

Además, los resultados para la configuración de sensores inclinados, resultaron muy buenos,
con velocidades de 100 mm/s para la cinta, se obtienen buenos resultados y el tiempo de
escaneo es óptimo para poder automatizar el proceso de medida. Lo más importante para
cambiar el sistema a visión 3D era obtener buenas medidas en las características de chaflanes,
redondeos y espesores, lo que de momento se ha cumplido.
44 Resultados

5.2.1.2 Gocator Rectas

Otra opción es configurar las Gocator rectas, de manera perpendicular al plano, lo que
aportaría más facilidad de calibrar el sistema y colocarlo ante posibles desconfiguraciones por
golpes como puede pasar en la industria. Por lo que a lo largo de este subapartado se van a
comprobar las medidas de los lados y de las características de la pieza 1 y 2 para comprobar si
aporta los mismos resultados que con la configuración anterior y llegar a conclusiones claras
sobre el funcionamiento del sistema.

En la Figura 5.9 se puede observar como los lados L1 y L3 se comportan igual para las
mismas velocidades que antes, salvo que para velocidades altas tiene una mejor precisión,
aunque peor repetibilidad en algunos casos. Además, los lados L2 y L4 se comportan igual
que antes, porque como ya se ha repetido en numerosas ocasiones, dependen del modo velo-
cidad que se ha establecido ya que no tiene en cuenta la distancia medida por la cinta.

Sin embargo, en la Figura 5.10 y en la Tabla 5.5 se puede apreciar como el espesor lo
detecta dentro del rango pero con muy poca precisión y aún menos repetibilidad, teniendo
en el mejor de los casos una repetibilidad de 0.335 mm y una precisión de 0.387 mm, mucho
peor que con la anterior configuración, debido a que no capta puntos del borde de la misma
manera, y detecta un espesor más fino en muchos de los casos.

Figura 5.9: Medidas de los lados L1, L2, L3 y L4 para la pieza 1 en distintas velocidades y confi-
guración recta.
5.2. Aplicación VELAR 3D 45

Figura 5.10: Espesor medido para la pieza 1 con distintas velocidades y configuración recta.

Tabla 5.5: Medidas de precisión y repetibilidad para la pieza 1 con Gocator rectas.

Por último, para comprobar que los resultados obtenidos con la pieza 1 no es algo aislado,
se van a comprobar los mismos parámetros con la pieza 2 en la Figura 5.11, Figura 5.12 y en
la Tabla 5.6.

De nuevo, se puede apreciar que para velocidades altas lo capta mejor con esta configu-
ración, aunque obteniendo mejores resultados con las más bajas. Lo que no ha cambiado ha
sido la mala repetibilidad en el mejor de los casos de 0.38 mm en el espesor y 0.212 mm en el
redondeo de los bordes y precisiones de 0.381 mm y 0.366, respectivamente, llegando a salirse
de los límites de tolerancia algunas de las muestras tanto en el espesor como en el redondeo,
independientemente de la velocidad, ya que no es un factor que incluya en la extracción de
puntos laterales, sino que si el láser no capta los lados, la cámara no refleja los puntos en la
creación de la nube de puntos.
46 Resultados

Figura 5.11: Medidas de los lados L1, L2, L3 y L4 para la pieza 2 en distintas velocidades y confi-
guración recta.

Figura 5.12: Espesor y redondeo medido para la pieza 2 con distintas velocidades y configuración
recta.

Tabla 5.6: Medidas de precisión y repetibilidad para la pieza 2 con Gocator rectas.
5.2. Aplicación VELAR 3D 47

5.2.1.3 Comparación
Como se ha observado en los subapartados anteriores, los mejores resultados del modo
velocidad los ha proporcionado el sistema con la configuración de Gocator inclinadas, ya que
aunque para velocidades altas no es muy fiable, se pueden alcanzar hasta 100 mm/s entrando
en el rango de precisión y repetibilidad aceptados.

Es conveniente usar de esa manera el sistema porque aunque sea más fácil su movimiento
con pequeños golpes y algo más complicado coordinar ambos láseres para que coincidan en la
misma recta para volver a calibrar debido al incremento de los GDL en el sistema, los datos
obtenidos en la medida del espesor de las piezas y características como redondeos son mucho
más precisos. Si bien es cierto, que para chaflanes sería independiente la configuración, ya
que es algo que se encuentra en la capa superior de la pieza y con las Gocator rectas también
se realizaría correctamente, por lo que no se ha añadido en la experimentación. Además,
otra pequeña ventaja es el rango que se ha conseguido colocando los Gocator a las alturas
máximas en el montaje del sistema, es de 550 mm con los sensores rectos, y 555 mm cuando
están inclinados, lo que también aporta una pequeña ventaja de 5 mm para escanear piezas.

5.2.2 Modo encoder


En el modo encoder, el disparo del láser se realiza según la cantidad de milímetros recorri-
dos de la cinta. Para ello, se calculó la resolución del encoder utilizado que resultó ser 0.1369
y se montó sobre el eje de giro de la cinta para no perder pulsos como podría llegar a ocurrir
apoyado sobre la cinta. Esto quiere decir, que cada 0.1369 mm se lanzará un disparo, por lo
que el procesamiento es un poco más lento debido a la gran cantidad de nubes de puntos.

Como ya se ha comprobado que con la configuración de Gocator inclinadas, se obtiene más


precisión y repetibilidad, en este apartado se va a probar únicamente las medidas de la pieza
3 con dicha configuración, pero en modo encoder.

Se puede observaren la Figura 5.13, las medidas de los cuatro lados de la misma. En la Figura
5.14 la de las características de chaflán y espesor, y en la Tabla 5.7 los datos resumidos como
en los anteriores apartados.
48 Resultados

Figura 5.13: Medidas de los lados L1, L2, L3 y L4 para la pieza 3 en modo encoder con distintas
velocidades.

Figura 5.14: Espesor y chaflán medido para la pieza 3 en modo encoder con distintas velocidades.

Tabla 5.7: Medidas de precisión y repetibilidad para la pieza 3 en modo encoder.


5.2. Aplicación VELAR 3D 49

Como se puede apreciar, en este modo la velocidad es independiente, y los vaores de las
medidas son mucho más repetitivos y precisos. Logrando valores de repetibilidad de 0.055
mm y 0.11 mm de precisión en el mejor de los casos. Esto ya logra un sistema muy robusto
que aporta grandes avances en el sistema actual, y que permite automatizar el proceso sin
necesidad de poner restricciones de velocidad. Además, tal y como se esperaba, no ha creado
distorsión en las medidas de características que dependen en gran escala de la configuración
como ya se ha comentado anteriormente.

5.2.3 Vídeo demostrativo


En el siguiente enlace, se puede observar de esta aplicación la calibración con las distin-
tas configuraciones, el algoritmo implementado con la web interface, el montaje del sistema
completo, y el resultado en tiempo real de realizar una aplicación de interfaz de usuario con
GoHMI.

Enlace al vídeo de la aplicación realizada para VELAR 3D.


6 Conclusiones
Para concluir, se puede decir que se han cumplido todos los objetivos propuestos. El pri-
mero de ellos, desarrollar un sistema de visión 3D conectado a un robot colaborativo para
realizar una tarea de pick&place de los cambrillones. Otro de los objetivos cumplidos ha sido
realizar un estudio del sistema de Gocator múltiple para renovar aplicaciones ya existentes
que pueden ser mejoradas con visión 3D y aportar mucha más información que actualmente
se hace manualmente. Y esta aplicación se ha podido mejorar realizando una interfaz sencilla
e intuitiva que puede ayudar a los operarios a manejar fácilmente el sensor y visualizar las
medidas obtenidas de forma clara y concisa sin tener que aprender a usar la interfaz web que
proporciona el sistema.

Como motivaciones personales de este proyecto, he podido aprender mucho sobre visión
3D y sobre la programación de los robots colaborativos de la marca Universal Robots, lo cual
nunca antes había hecho y me ha resultado muy interesante. Pero sobre todo, gracias a la
empresa AyCN he podido conocer las necesidades reales de la robótica en la industria y el
gran potencial que tiene este ámbito para seguir creciendo y mejorando muchos procesos y
trabajos repetitivos y tediosos.

51
7 Trabajos Futuros
Detrás de todo este trabajo realizado hay muchas formas de seguir avanzando para me-
jorarlo. En la aplicación de pick&place, se podría mejorar el sistema, para detectar varios
cambrillones a la vez, y que todos los que fueran accesibles y válidos para que el robot los
cogiera en la misma parada de la cinta antes de reanudar la marcha, lo que haría que el
proceso fuera más óptimo.

Además, para la aplicación de metrología de piezas grandes, la interfaz realizada con GoH-
MI ha de completarse para tener las mismas funcionalidades que en la aplicación actual en
2D, donde ha de leerse un XML con parte parcial de la información y generar otro nuevo
a partir de las medidas obtenidas donde se especifica también el error entre la dimensión
deseada y la real. También se podría añadir un visualizador externo para ver la pieza dibuja-
da mediante alguna biblioteca de visión, o bien añadir algún botón que permita capturar la
imagen y subirla a la nube, para poder visualizarla posteriormente si es necesario y no perder
dicha información.

53
Bibliografía
Documentation and manual gohmi [Manual de software informático]. (2021). Descargado de
https://lmi3d.com/product-downloads

Federica Ferraguti, C. S. C. F. M. B., Andrea Pertosa. (2019). A methodology for comparative


analysis of collaborative robots for industry 4.0. Descargado de https://ieeexplore.ieee
.org/document/8714830

Ranveer S. Matharu, B. V. G. T. T., Wayne Sadler. (2019). Investigation in optimisation


of accuracy with non-contact systems by influencing variable processes. Descarga-
do de https://www.researchgate.net/publication/335981634_Investigation_in
_optimisation_of_accuracy_with_non-contact_systems_by_influencing_variable
_processes

UniversalRobots. (s.f.). Datasheet ur3e. Descargado de https://www.universal-robots


.com/media/1802780/ur3e-32528_ur_technical_details_.pdf

Universal robots e-series manual de usuario (Versión 5.0.0 ed.) [Manual de software in-
formático]. (2018). Descargado de https://www.universal-robots.com/download/
manuals-e-series/user/ur3e/510/user-manual-ur3e-e-series-sw-510-english
-international-en/

User manual gocator line profile sensors (6.1.20.8 ed.) [Manual de software informáti-
co]. (2021). Descargado de https://lmi3d.com/resource/gocator-3d-line-profile
-sensors-user-manual-version-6-0-x-xx-2/

Z.M.Bi, L. W. (2010). Advances in 3d data acquisition and processing for indus-


trial applications. Descargado de https://www.sciencedirect.com/science/
article/pii/S073658451000013X?casa_token=Gx498SuDtlEAAAAA:j1WyaEw6o43VB
-sycg0eOJ9UVuyekC48p_j744zPkK5gepxy4G4VVQ9q79VpNzrzZVpCMOpvcg

55
Lista de Acrónimos y Abreviaturas
2D 2 Dimensiones.
3D 3 Dimensiones.
AyCN Automática y Control Numérico.
CD Clearance Distance.
FOV Field of View.
GDL Grados de Libertad.
GoHMI Gocator Human-Machine Interaction.
GUI Graphical User Interface.
HMI Human-Machine Interaction.
ID Identification.
IP Internet Protocol.
MR Mesurement Range.
PC Personal computer.
RGB Red-Green-Blue.
SDK Software Development Kit.
TCP Punto Central de la Herramienta.
TOF Time of Flight.
UR Universal Robots.

57

También podría gustarte