Selección y clasificación de piezas mediante visión de ...

79
Universidad de La Salle Universidad de La Salle Ciencia Unisalle Ciencia Unisalle Ingeniería en Automatización Facultad de Ingeniería 4-11-2016 Selección y clasificación de piezas mediante visión de máquina Selección y clasificación de piezas mediante visión de máquina utilizando un robot industrial utilizando un robot industrial Laura Julieth Patiño Arévalo Universidad de La Salle, Bogotá Wilson Alonso Hernández Martínez Universidad de La Salle, Bogotá Follow this and additional works at: https://ciencia.lasalle.edu.co/ing_automatizacion Part of the Robotics Commons Citación recomendada Citación recomendada Patiño Arévalo, L. J., & Hernández Martínez, W. A. (2016). Selección y clasificación de piezas mediante visión de máquina utilizando un robot industrial. Retrieved from https://ciencia.lasalle.edu.co/ ing_automatizacion/112 This Trabajo de grado - Pregrado is brought to you for free and open access by the Facultad de Ingeniería at Ciencia Unisalle. It has been accepted for inclusion in Ingeniería en Automatización by an authorized administrator of Ciencia Unisalle. For more information, please contact [email protected].

Transcript of Selección y clasificación de piezas mediante visión de ...

Page 1: Selección y clasificación de piezas mediante visión de ...

Universidad de La Salle Universidad de La Salle

Ciencia Unisalle Ciencia Unisalle

Ingeniería en Automatización Facultad de Ingeniería

4-11-2016

Selección y clasificación de piezas mediante visión de máquina Selección y clasificación de piezas mediante visión de máquina

utilizando un robot industrial utilizando un robot industrial

Laura Julieth Patiño Arévalo Universidad de La Salle, Bogotá

Wilson Alonso Hernández Martínez Universidad de La Salle, Bogotá

Follow this and additional works at: https://ciencia.lasalle.edu.co/ing_automatizacion

Part of the Robotics Commons

Citación recomendada Citación recomendada Patiño Arévalo, L. J., & Hernández Martínez, W. A. (2016). Selección y clasificación de piezas mediante visión de máquina utilizando un robot industrial. Retrieved from https://ciencia.lasalle.edu.co/ing_automatizacion/112

This Trabajo de grado - Pregrado is brought to you for free and open access by the Facultad de Ingeniería at Ciencia Unisalle. It has been accepted for inclusion in Ingeniería en Automatización by an authorized administrator of Ciencia Unisalle. For more information, please contact [email protected].

Page 2: Selección y clasificación de piezas mediante visión de ...

SELECCION Y CLASIFICACION DE PIEZAS MEDIANTE VISION DEMAQUINA UTILIZANDO UN ROBOT INDUSTRIAL

Presentado por:

Laura Julieth Patino Arevalo

Wilson Alonso Hernandez Martınez

Ingenierıa en Automatizacion

UNIVERSIDAD DE LA SALLE

11 de abril de 2016

Bogota DC.

Page 3: Selección y clasificación de piezas mediante visión de ...

SELECCION Y CLASIFICACION DE PIEZAS MEDIANTE VISION DEMAQUINA UTILIZANDO UN ROBOT INDUSTRIAL

Presentado por:

Laura Julieth Patino Arevalo

Wilson Alonso Hernandez Martınez

Trabajo de grado para optar el tıtulo de

Ingeniero en Automatizacion

Dirigido por:

Ph.D.Jorge Eliecer Rangel Dıaz

Ingenierıa en Automatizacion

UNIVERSIDAD DE LA SALLE

11 de abril de 2016

Bogota DC.

Page 4: Selección y clasificación de piezas mediante visión de ...

Nota de aceptacion:

Firma del Director.

Firma del Jurado.

Firma del Jurado.

Bogota D.C 11 de abril de 2016

Page 5: Selección y clasificación de piezas mediante visión de ...

Dedicatoria

Queremos dedicar el presente trabajo de grado a nuestras madres, quienes nos apoya-

ron incondicionalmente e inculcaron en nosotros el estudio como un pilar fundamental del

desarrollo personal.

Todo este trabajo ha sido posible gracias a ellas.

Page 6: Selección y clasificación de piezas mediante visión de ...

Agradecimientos

Queremos agradecer a la Pontificia Universidad Javeriana, en especial al Centro Tecnologi-

co de Automatizacion Industrial (CTAI) en Bogota, Colombia por permitirnos realizar el desa-

rrollo de la tesis en sus instalaciones y disponer los equipos, personal e intelecto para el

exito del presente trabajo de grado.

Quiero agradecer a mi tıa Catalina Guyaguler por ayudarme en todos estos anos, respetar

mis elecciones y mostrarme las prioridades de la vida, gracias a ella he podido tener

innumerables experiencias, expandir mis horizontes y continuar con mis estudios.

A mis abuelos Pedro y Gloria quienes contribuyeron a mi desarrollo profesional y personal,

ayudaron y apoyaron en mis estudios.

Laura Julieth Patino Arevalo

Page 7: Selección y clasificación de piezas mediante visión de ...

CONTENIDO

1. INTRODUCCION 11

2. MARCO DE REFERENCIA 142.1. TECNICAS INDUSTRIALES PICK AND PLACE Y BIN PICKING . . . . . . . 152.2. SISTEMAS AUTOMATICOS CON VISION DE MAQUINA . . . . . . . . . . . 162.3. ACTUALIDAD Y TENDENCIA DE LA AUTOMATIZACION . . . . . . . . . . . 252.4. MATERIALES UTILIZADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3. DESCRIPCION DE SISTEMA IMPLEMENTADO 283.1. ESTRUCTURA DE VISION DE MAQUINA . . . . . . . . . . . . . . . . . . . . 28

3.1.1. SENSOR HOKUYO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.1.2. SENSOR KINECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.1.2.1. SENSOR DE PROFUNDIDAD DEL KINECT . . . . . . . . . 303.1.2.2. SENSOR DE PROFUNDIDAD DEL KINECT . . . . . . . . . 31

3.1.3. PRUEBAS REALIZADAS A LOS SENSORES . . . . . . . . . . . . . 313.2. ESTRUCTURA DEL ROBOT . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2.1. EFECTOR FINAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.3. CONTROLADOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.4. ALGORITMOS DE PROGRAMACION . . . . . . . . . . . . . . . . . . . . . . 36

3.4.1. ALGORITMO VISION DE MAQUINA . . . . . . . . . . . . . . . . . . . 383.4.2. ALGORITMO COMUNICACION . . . . . . . . . . . . . . . . . . . . . 403.4.3. ALGORITMO JOB MAIN . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.5. DISTRIBUCION DE PLANTA . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4. IMPLEMENTACION Y PROGRAMACION 474.1. IMPLEMENTACION DEL SISTEMA DE VISION DE MAQUINA . . . . . . . . 47

4.1.1. ADQUISICION Y PROCESAMIENTO IMAGEN RGB . . . . . . . . . . 474.2. PROCESAMIENTO DE LA IMAGEN DE PROFUNDIDAD DEL SENSOR KI-

NECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.3. PRUEBAS Y ANALISIS PROCESAMIENTO DE IMAGENES . . . . . . . . . 534.4. PRUEBAS PROCESAMIENTO DE LA IMAGEN DE PROFUNDIDAD . . . . . 56

4.4.1. AJUSTES DEL PROCESAMIENTO DE LA IMAGEN DE PROFUNDI-DAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4.5. INTERFAZ DE LA APLICACION DE VISION DE MAQUINA . . . . . . . . . . 594.6. COMUNICACION ENTRE MATLAB R© Y EL CONTROLADOR . . . . . . . . . 614.7. PROGRAMACION DEL ROBOT SDA10F . . . . . . . . . . . . . . . . . . . . 64

5. PRUEBAS Y ANALISIS DE LA INTEGRACION DE LAS APLICACIONES 67

Conclusiones 74

BIBLIOGRAFIA 76

4

Page 8: Selección y clasificación de piezas mediante visión de ...

LISTA DE FIGURAS

Figura 1.Taxonomıa de los metodos de adquisicion activos . . . . . . . . . . 14Figura 2. Relacion del ojo humano con una camara . . . . . . . . . . . . . . 17Figura 3. Funcionamiento del sensor CCD . . . . . . . . . . . . . . . . . . . . 19Figura 4. Funcionamiento del sensor CMOS . . . . . . . . . . . . . . . . . . . 20Figura 5. Tiempo de vuelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Figura 6. Suministro mundial de Robots industriales . . . . . . . . . . . . . . 25Figura 7. Suministro de Robots Industriales en los mercados mas grande2009–2013 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Figura 8.Sistema implementado . . . . . . . . . . . . . . . . . . . . . . . . . 28Figura 9. Sensor Hokuyo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Figura 10. Sensor Kinect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Figura 11. Imagen de profundidad sensor Kinect . . . . . . . . . . . . . . . . 30Figura 12. Imagen de profundidad y datos del sensor Hokuyo . . . . . . . . . 31Figura 13. Pruebas sensor kinect . . . . . . . . . . . . . . . . . . . . . . . . . 32Figura 14. Robot SDA10F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33Figura 15. Area de trabajo Robot SDA10F . . . . . . . . . . . . . . . . . . . . 34Figura 16. Gripper de dos dedos del Robot SDA10F . . . . . . . . . . . . . . 35Figura 17. Gripper de tres dedos del Robot SDA10 . . . . . . . . . . . . . . . 35Figura 18.Trasferencia de informacion entre la aplicacion de Matlab R©, Moto-com SDK R© y el controlador FS100 . . . . . . . . . . . . . . . . . . . . . . . 37Figura 19.Diagrama de flujo de la aplicacion de procesamiento de imagenes 39Figura 20.Diagrama de flujo de la comunicacion de la aplicacion . . . . . . . 41Figura 21.Diagrama de flujo de realizacion de los Jobs . . . . . . . . . . . . . 42Figura 22. Distribucion de planta . . . . . . . . . . . . . . . . . . . . . . . . . 43Figura 23. Bandeja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44Figura 24. Limitaciones en el area de trabajo . . . . . . . . . . . . . . . . . . 44Figura 25. Cubos de interferencia . . . . . . . . . . . . . . . . . . . . . . . . . 45Figura 26. Ubicacion cubos de colision . . . . . . . . . . . . . . . . . . . . . . 46

Figura 27. Imagen en escala de grises . . . . . . . . . . . . . . . . . . . . . . 48Figura 28. Calculo de perımetro de objetos . . . . . . . . . . . . . . . . . . . 49Figura 29. Calculo de orientacion de objetos . . . . . . . . . . . . . . . . . . 49Figura 29. Etiquetado de elementos . . . . . . . . . . . . . . . . . . . . . . . 50Figura 30. Histogramas de la imagen para la deteccion de piezas de color azul 50Figura 31. Imagen de profundidad. . . . . . . . . . . . . . . . . . . . . . . . . 51Figura 32. Conversion de la imagen de profundidad a RGB. . . . . . . . . . . 52Figura 33. Ajuste de valor cero. . . . . . . . . . . . . . . . . . . . . . . . . . . 52Figura 34. Correccion de imagen de profundidad. . . . . . . . . . . . . . . . . 53Figura 35. Pruebas del algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . 53Figura 36. Diagrama de Pareto (Cantidad de piezas detectadas). . . . . . . . 54

5

Page 9: Selección y clasificación de piezas mediante visión de ...

Figura 37. Cantidad de objetos detectados por el algoritmo. . . . . . . . . . . 54Figura 38. Distancia de Pareto distancia de la pieza al sensor. . . . . . . . . 56Figura 39. Vecindad del pıxel para hallar la altura. . . . . . . . . . . . . . . . 57Figura 40. Diagrama de Pareto correccion de altura. . . . . . . . . . . . . . . 58Figura 41. Interfaz de usuario en Matlab R©. . . . . . . . . . . . . . . . . . . . 59Figura 42. Captura del sistema y recorte con la funcion de configuracion. . . 60Figura 43.Estructura de las funciones de Motocom SDK. . . . . . . . . . . . . 61Figura 44.Aplicacion de comunicacion desarrollada en Visual Studio. . . . . . 63Figura 45.Traslacion y rotacion de los brazos. . . . . . . . . . . . . . . . . . . 64Figura 46.Funcion Job Stack. . . . . . . . . . . . . . . . . . . . . . . . . . . . 65Figura 47.Variables de posicion del Robot. . . . . . . . . . . . . . . . . . . . . 66

Figura48.Tipos de piezas para pruebas . . . . . . . . . . . . . . . . . . . . . 67Figura 49.Pruebas finales ubicacion de las piezas . . . . . . . . . . . . . . . 67Figura 50.Pruebas Parafina Industrial. . . . . . . . . . . . . . . . . . . . . . . 68Figura 51.Pruebas piezas rectangulares de empack. . . . . . . . . . . . . . . 68Figura 52.Pruebas barras de empack tipo 1. . . . . . . . . . . . . . . . . . . . 69Figura 53.Pruebas barras de empack tipo 2. . . . . . . . . . . . . . . . . . . . 70Figura 54.Piezas de manera aleatoriamente sobre la bandeja. . . . . . . . . 71Figura 55.Errores de las pruebas. . . . . . . . . . . . . . . . . . . . . . . . . 71

6

Page 10: Selección y clasificación de piezas mediante visión de ...

LISTA DE TABLAS

Tabla 1. Especificaciones del Controlador . . . . . . . . . . . . . . . . . . . . 36

Tabla 1. Datos de la cantidad de piezas detectadas por el algoritmo . . . . . 55Tabla 2. Datos de altura de las piezas . . . . . . . . . . . . . . . . . . . . . . 57Tabla 3. Correccion altura objetos . . . . . . . . . . . . . . . . . . . . . . . . . 58

7

Page 11: Selección y clasificación de piezas mediante visión de ...

GLOSARIOBIN PICKING”. Extraccion de una pieza de un contenedor, el cual contiene piezas en orden

aleatorio.

CAMARA EN MANO. El sensor (camara) esta fijo en algun lugar de la escena. Donde la

posicion del sensor es independiente de la posicion del manipulador.

CAMARA EN MANO. El sensor (camara) esta montado en el efector final del robot. De tal

manera que cuando el robot se desplaza simultaneamente lo hace el sensor.

CLASIFICACION. Accion de ordenar por clases.

FALSO COLOR. Tecnica que permiten asociar a un rango de gris dado un color especıfico

que tiene el unico proposito de hacer mas visibles las areas correspondientes.

HSV. El modelo HSB (o HSV, como se prefiera) deriva del espacio RGB y representa los

colores combinando tres valores: el tono en sı (H), la saturacion o cantidad de color (S) y el

brillo del mismo (B). Estos valores suelen representarse en un diagrama circular .

INTERFAZ GRAFICA. Son los elementos graficos que ayudan a comunicar al usuario con

un sistema.

JOB. Hace referencia a las aplicaciones realizadas en el controlador FS100.

JOB STACK. Denominacion de la funcion para hacer llamados de subrutinas, en los contro-

ladores Yaskawa.

SELECCION. Accion de elegir o escoger.

STACK LEVEL. Hace referencia a los subprogramas utilizados en la programacion de los

controladores Yaskawa.

LOOK AND MOVE. Metodo para la seleccion y clasificacion de un objeto que consiste en

determinar un objetivo e ir por el.

VISION DE MAQUINA. Sistemas que permiten la identificacion de caracterısticas visuales

de piezas, partes y productos para control de calidad y seleccion. Identifican texturas y

colores, verifican morfologıa, realizan mediciones de distancia y leen codigos y caracteres.

TOF. Metodo activo que se usa para aplicaciones de largo alcance (10-100m), precision

baja, resolucion limitada, y una gran cantidad de complejidad de calculos.

Page 12: Selección y clasificación de piezas mediante visión de ...

MANIPULACION ALEATORIA . Accion de sujetar un elemento de un conjunto de objetos

que se encuentran de forma casual.

9

Page 13: Selección y clasificación de piezas mediante visión de ...

RESUMEN

Los robots industriales, disenados para realizar operaciones de forma rapida, precisa y re-

petidamente tienen una larga tradicion en la industria manufacturera, debido a que operan

en ambientes relativamente estaticos y en grandes cantidades, sin embargo el uso de es-

tos en procesos de seleccion y clasificacion conlleva la vision de maquina, la cual aporta

a la tarea la informacion necesaria al procesar una imagen y dar los datos correctos para

posterior realizacion de la tarea.

El presente trabajo de grado contiene la implementacion de un sistema de vision de maqui-

na para la seleccion y clasificacion de piezas por forma y tamano mediante el uso de un

robot industrial. En primer lugar se pauta definir el sensor del sistema de seleccion y clasifi-

cacion para las coordenadas de la posicion de las piezas e identificar la forma y el tamano

de estas mediante un algoritmo por medio de vision de maquina. Este algoritmo permitira

determinar la orientacion y la posicion de las piezas mediante el reconocimiento de su cen-

tro de masa para finalmente establecer las instrucciones de la orientacion y de la posicion

de las piezas para su sujecion con un robot, en este caso se usa un robot de dos brazos

de la companıa Yaskawa referencia SDA10F, el cual cuenta con 15 grados de libertad y el

sensor Kinect para la adquisicion y procesamiento de imagenes. Para el exito de la tarea

se hizo necesaria una serie de logros, empezando por la adecuacion del robot dentro del

centro integrado de manufactura (CIM) ubicado en el centro tecnologico de automatizacion

industrial de la Pontificia Universidad Javeriana y ubicacion del sensor para dar una vista

superior del contenedor de las piezas, el software seleccionado para la realizacion de la

vision de maquina fue Matlab R© con el cual se adquirieron las coordenadas y orientacion

de las piezas a clasificar, parametrizandolas a traves de instrucciones propias del software

y estableciendo comunicacion con Visual Studio que a su vez realiza comunicacion con el

controlador del robot (FS100)mediante el protocolo TCP IP, donde Visual Studio escribe so-

bre el controlador y se ejecuta un trabajo.

Palabras clave: Clasificacion, Robot industrial, Seleccion, Vision de maquina

Page 14: Selección y clasificación de piezas mediante visión de ...

1 INTRODUCCION

En la industria Colombiana, el sector industrial manufacturo es el tercero mas importante del

paıs al representar el 13,3 % del valor agregado nacional y 12,0 % del PIB en el 2012 (DANE,

2013). Sin embargo, Colombia presenta problemas estructurales como los sobre costos de

transporte, la carencia de la infraestructura adecuada, los sobre costos laborales que aun

persisten en 46 %-5 % del salario, luego de la implementacion de la Ley 1607 de 2012; y

sobre costos de energıa y gas, parcialmente reducidos en la Ley 1430 de 2010.(Clavijo,

Vera y Fandino , 2014)

Para desarrollar la industria se debe tener en cuenta algunos de los pasos que se deben

dar en polıtica educativa para crear las bases necesarias para adquirir las competencias

que la Organizacion para la Cooperacion (OCDE) y el Desarrollo Economico, define co-

mo indispensables para la modernizacion de la industria, o el enorme atraso en ciencia y

tecnologıa.

Dentro de la industria manufacturera, en las lıneas de produccion se mezclan las piezas

y se hace necesaria una separacion y clasificacion en etapas intermedias o finales de la

lınea de produccion, en esta area la tarea se realiza manualmente donde se identifica y

selecciona la pieza pasandola a un contenedor, este puesto de trabajo repetitivo desarrolla

enfermedades como la fatiga visual generada por la concentracion en la tarea que provoca

un pestaneo del empleado menos frecuente, lo que produce dolor de cabeza y malestar; el

dolor de espalda tambien puede generarse en este sector ya que si se presenta una mala

posicion se afectara el estado de la espalda y el sındrome del tunel Carpiano causado por la

flexion reiterada de la muneca, que produce perdida de fuerza en las manos.(Garcıa , 2011)

El ministerio de trabajo expide el decreto 1417 donde se presenta una tabla de enfermeda-

des laborales, segun la seccion uno (1) en el ıtem cinco (5) el factor de riesgo ocupacional de

posiciones forzadas y movimientos repetitivos de miembros superiores o combinacion de las

anteriores con alta demanda de tareas manuales o con herramientas de vibracion en indus-

trias, se pueden desarrollar enfermedades como en sındrome del tunel Carpiano, sındrome

de pronador redondo, sındrome del canal de Guyon, entre otras mononeuropatıas de miem-

bros superiores, artrosis, sındrome cervicobraquial, Dorsalgia, Cervicalgia, Enfermedad de

Quervain, Lesiones de hombro, Tendinitis y lesiones de hombro no especificadas.(trabajo ,

2014)

11

Page 15: Selección y clasificación de piezas mediante visión de ...

El uso de informacion visual a traves de los anos ha tomado gran importancia al aportar

a procesos de clasificacion, calidad, eficacia y flexibilidad debido a que suministra informa-

cion geometrica y dinamica del entorno donde se encuentra el robot, dicha informacion es

posible sin contacto fısico y puede contener varias caracterısticas a procesar, comunmente

dando a conocer la posicion y orientacion de los objetos presentes en la escena donde se

efectua la tarea. La utilizacion del sistema de vision se conoce como control servo visual en

donde se capturan y procesan imagenes por medio de un sistema compuesto de camara e

iluminacion, se analizan e interpretan por medio de una computadora con software para dar

una retroalimentacion en un tiempo adecuado y permitiendo en cada ciclo la actualizacion

de la informacion de la tarea dando nuevas posiciones destino hasta completar la tarea.

Para mantener la competencia global, la industria manufacturera debe enfocarse sobre la

flexibilidad. Para producir piezas de una forma rapida y eficiente. La mayor parte de la opera-

ciones son usualmente realizas por robots en produccion en lınea. Cuestiones sin solventar

aun es la habilidad de los robots manipuladores para desempenarse en ambientes no es-

tructurados donde tampoco la forma de la posicion del objeto es predecible. Sistemas de

vision 2D y 3D son considerados esenciales en la ayuda de estos contextos, “Bin Picking” es

una forma rapida y eficiente de organizar contenedores donde los objetos estan en desor-

den. Requiere la identificacion del objeto para estimar la orientacion y localizacion espacial

en el contenedor. Las principales caracterısticas de un sistema “Bin Picking” son: (i) adquisi-

cion de la escena a traves de vision, (ii) segmentacion de la escena separacion de diferentes

objetos) y (iii) reconocimiento y posicion de los objetos segmentados. Actualmente la seg-

mentacion y el reconocimiento son basados en tecnicas 2D. Ideal para elementos donde su

tercera dimension es insignificante.(Giovanna y col. , 2014)

El primer paso en el proceso de la aplicacion de seleccion y clasificacion es el reconoci-

miento del objeto o pieza a recolectar, para esto es necesaria la informacion precisa en tres

dimensiones de este objeto a traves de un sensor con el cual se obtienen los parametros

morfologicamente cada pieza, la seleccion del sensor debe ser enfatizada en el entorno de

trabajo, altura y calidad de captura de imagenes pues esta sera el campo de vision donde

se realizara la tarea. Una vez determinada la pieza, el robot debera alcanzarla con unas

coordenadas especificas adquiridas en el procesamiento de la imagen, esta tarea debe rea-

lizarse sin colisiones con el entorno de trabajo o con el resto de piezas, para lo cual se debe

calcular la trayectoria y orientacion adecuada.

Por ultimo el robot a traves de su controlador se posicionara para la recoleccion de la pieza

y la clasificara en un lugar determinado segun parametros previamente analizados dando

12

Page 16: Selección y clasificación de piezas mediante visión de ...

por terminada la tarea de seleccion y clasificacion donde el sistema debe ser capaz de

determinar la posicion y orientacion de las piezas colocadas aleatoriamente para realizar el

agarre de forma segura e identificar el tipo de pieza que clasificara.

13

Page 17: Selección y clasificación de piezas mediante visión de ...

2 MARCO DE REFERENCIA

“En general, la automatizacion de cualquier proceso industrial incluye la actuacion mecani-

ca sobre el producto y/o elementos de la planta de produccion y la medida y la regulacion

de ciertas variables del proceso, todo ello a traves de un conjunto de equipos y dispositi-

vos mecanicos, electricos y/o electronicos.(Sin y Gamiz Caro , 2014) En este capitulo se

describen las tecnicas industriales de manipulacion de objetos con robots, al igual que los

sistemas de vision de maquina, la actualidad y tendencia de la automatizacion y por ultimo

los materiales que se utilizaron para la verificacion de este trabajo de grado.

Existen dos metodos para la deteccion de objetos de manera activa. Los cuales se clasifican

de contacto y sin contacto en la Fig.1 se muestra la taxonomıa de adquisicion de forma. En

el metodo de contacto el sensor de deteccion es intrusivo y hace contacto con el objeto

a identificar, mientras que los de sin contacto funcionan de manera general mediante la

proyeccion de las ondas de energıa sobre un objeto. (Curless , 1997)

FIGURA 1: Taxonomıa de los metodos de adquisicion activos

Fuente. http://www.compsci.hunter.cuny.edu

14

Page 18: Selección y clasificación de piezas mediante visión de ...

En la seccion 2.2 se hace una descripcion de algunos metodos opticos para la deteccion de

objetos, debido a que este metodo fue implementado en este proyecto.

2.1. TECNICAS INDUSTRIALES PICK AND PLACE Y BIN

PICKING

Los robots manipuladores industriales llevan anos siendo utilizados en un conjunto de apli-

caciones que se consideran como solidas. algunas de las mas conocidas son; la manipu-

lacion, la atencion de maquinas, la soldadura, la aplicacion de materiales, el mecanizado y

ensamblaje de productos.En el ambito de automatizacion de planta, la robotica y manipula-

cion industrial han adquirido un papel determinante, ya que estos son elementos esenciales

en los sistemas flexibles para la fabricacion automatizada.(Sin y Gamiz Caro , 2014)

Dentro de las aplicaciones de manipulacion la mas conocida se denomina Pick & Place, la

cual como su nombre lo indica determina la posicion de un objeto en un plano y hace su

posterior recoleccion, usualmente este tipo de aplicacion se implementa en una banda de

transporte, colocando una camara sobre esta que captura y procesa la imagen para dar con

la identificacion y posicion en X y Y. Como la banda se mueve a velocidad constante, el

robot sera programado para recoger las piezas en un tiempo determinado y dar por termi-

nada la tarea. Este tipo de sistema se caracteriza por ser efectivo y rapido pero depende

de la capacidad de procesamiento del software, la calidad de la imagen y la velocidad a

la cual sea capaz el robot de funcionar, sin embargo para su correcto funcionamiento, es

necesario asegurar que las piezas que se van a recolectar no se encuentren solapadas, es

decir una encima de otras puesto que el sistema empieza a perder efectividad, por lo tanto

es preferible que estas se encuentren a una distancia adecuada una de otra para que el

sistema sera efectivo.

La evolucion del Pick & Place es conocida como bin picking o “recoleccion” ofrece un grado

de complejidad mayor a la anterior, esta es un sistema de identificacion de objetos mediante

un sistema VGR, determinacion de posicion en 3D seguido de la seleccion y recoleccion de

piezas apiladas aleatoriamente en un contenedor para finalmente trasladarlas hasta el lugar

destino mediante un sistema robotizado. En primer lugar el sistema de reconocimiento debe

tener informacion precisa en las tres dimensiones puesto que el contexto apilado requiere

reconocer las piezas en diferentes posiciones y orientaciones, para esto hay que realizar

15

Page 19: Selección y clasificación de piezas mediante visión de ...

una caracterizacion morfologica de las piezas a seleccionar. Luego de ser definidas, el sis-

tema tiene que determinar el campo de vision donde se encuentra esta pieza, en este caso

el contenedor donde se encuentran los objetos amontonados. Conocida la morfologıa del

objeto y el entorno donde se encuentra, el siguiente paso hace referencia al el reconoci-

miento y seleccion de objetos situados en el contenedor. Mediante un complejo algoritmo

se determina el mejor candidato reconocido. Se denomina mejor candidato a la pieza que

se encuentra en la posicion optima, para que el robot la pueda agarrar. Esto presupone que

debe ser la pieza que se encuentra en una posicion alcanzable, sin problemas de colision,

que no este aprisionada por otras piezas y que sea ademas la mejor entre las candidatas

preseleccionadas.

2.2. SISTEMAS AUTOMATICOS CON VISION DE MAQUINA

En la actualidad el auge y desarrollo se encuentra en los sistema de vision de maquina, la

cual trata de simular el proceso del sentido de la vision de los seres vivos, segun el cual

un objeto es captado mediante los receptores de la retina y es transformado en impulsos

nerviosos que son procesados por el cerebro (Porras y cruz , 2012). El ojo se asemeja a una

camara fotografica dotada de un excelente sistema compuesto de lentes, la pupila del ojo es

el orificio a traves del cual penetra la luz y el iris, un diafragma ajustable; pero el ajuste del

ojo, entre la luz solar y la oscuridad casi completa, se realiza fundamentalmente por cambios

de sensibilidad de la retina (de 1.000.000 a 1). Por su parte las camaras tienen su interior

pintado de negro; con el ojo sucede lo mismo, para reducir el problema ocasionado por la

dispersion de la luz reflejada; la mayorıa de las camaras disponen en su parte trasera de una

pelıcula plana aunque otras de menor costo sostienen la pelıcula sobre una superficie curva

para compensar la curvatura de campo de la imagen de su sencilla lente, por su parte el

ojo tambien presenta un fondo curvo. En una camara fotografica se desplaza un lente hacia

dentro y hacia fuera para enfocar la imagen de los objetos situados a diferentes distancias.

El ojo altera la potencia de su sistema de lentes por medio de musculos que cambian la

lente del cristalino. (Foundation , 1984) En la Fig. 2 se puede observar la semejanza que

existe entre el ojo humano y una camara.

16

Page 20: Selección y clasificación de piezas mediante visión de ...

FIGURA 2: Relacion del ojo humano con una camara

Fuente. http://mind42.com/public/

Por lo tanto, estos sistemas consisten en incorporar un sensor a un entorno dinamico para

obtener informacion visual para controlar un proceso, este aporta flexibilidad y adquiere da-

tos en tiempos cortos que facilitan tareas como la calidad de un producto. Es allı donde en

la industria la vision por computadora utiliza las imagenes capturadas por las camaras y las

procesa mediante un conjunto de algoritmos disenados para extraer la informacion relevante

(Emanuele y Alesandro , 1998), esta informacion es usada en la inspeccion de elementos

presentes en la escena para mejorar un producto o cumplir con estandares propuestos

dependiendo la industria. La informacion que se adquiere en el procesamiento puede ser

espectral, espacial y temporal; la informacion espectral incluye frecuencia (color) e inten-

sidad (tonos de gris), la informacion espacial se refiere a aspectos como forma y posicion

(una, dos y tres dimensiones) y la informacion temporal comprende aspectos estaciona-

rios (presencia y/o ausencia) y dependientes del tiempo (eventos, movimientos, procesos).

(Malpartida , 2003) Para lograr que la imagen tenga la informacion adecuada para realizar el

proceso es necesario un tratamiento de imagenes a traves de tecnicas propias del software

a utilizar.

17

Page 21: Selección y clasificación de piezas mediante visión de ...

Esta tecnica no solo es usada en sistemas de calidad si no que gracias a su flexibilidad

puede ser usada en diversos campos dependiendo su tarea, segun (Herrera y Palomino ,

2008) existen siete aplicaciones basicas para la vision de maquina las cuales se nombran a

continuacion.

La medicion o calibracion. Se refiere a la correlacion cuantitativa con los datos del

diseno, asegurando que las mediciones cumplan con las especificaciones del diseno.

Por ejemplo, el comprobar que un cable tenga el espesor recomendado.

La deteccion de falla. Es un analisis cualitativo que involucra la deteccion de defectos

o artefactos no deseados, con forma desconocida en una posicion desconocida. Por

ejemplo, encontrar defectos en la pintura de un auto nuevo, o agujeros en hojas de

papel.

La verificacion. Es el chequeo cualitativo de que una operacion de ensamblaje ha sido

llevada a cabo correctamente. Por ejemplo, que no falte ninguna tecla en un teclado, o

que no falten componentes en un circuito impreso.

El reconocimiento. Involucra la identificacion de un objeto con base en descriptores

asociados con el objeto. Por ejemplo, la clasificacion de cıtricos (limones, naranjas,

mandarinas, etc.) por color y tamano.

La identificacion. Es el proceso de identificar un objeto por el uso de sımbolos en el

mismo. Por ejemplo, el codigo de barras, o codigos de perforaciones empleados para

distinguir hule de espuma de asientos automotrices.

El analisis de localizacion. Es la evaluacion de la posicion de un objeto. Por ejemplo,

determinar la posicion donde debe insertarse un circuito integrado.

Guıa. Es proporcionar adaptativamente informacion posicional de retroalimentacion

para dirigir una actividad. El ejemplo tıpico es el uso de un Sistema de Vision para

guiar un brazo Robotico mientras suelda o manipula partes. Otro ejemplo serıa la

navegacion en vehıculos autonomos.

Al implementar la vision se debe dar primordial importancia a la adecuada seleccion del

sensor, existen diferentes arquitecturas de sensores empleados en los dispositivos de cap-

tura. Basicamente, hay dos modelos: lineales o de barrido y sensores de area. (Santillan

, 2008). Los sensores lineales son una lınea de foto diodos que se van desplazando para

18

Page 22: Selección y clasificación de piezas mediante visión de ...

leer la imagen, este tipo de tecnologıa se emplea unicamente en escaneres y en algunos

respaldos digitales. Esta arquitectura permite la utilizacion de sensores de 1x1024, 1x2048,

1x4096, e incluso 1x6000 pıxeles, lo que la hace muy adecuada para trabajar con altas

resoluciones. En segundo lugar estan los sensores de area. Estos alcanzan resoluciones

habituales de 1024x1024. Son este tipo de sensores los que emplean todas las camaras

digitales, tanto las reflex como las compactas.(Santillan , 2008)

En la actualidad a nivel de protocolo de comunicacion las camaras mas utilizadas en los

sistemas de vision artificial son Gigabit Ethernet (que cumplen con el estandar Gige Vision),

USB2, USB3, Cameralink, Cameralink HS, Coaxpress y Firewire. Algunas de estas inter-

faces de conexion de camaras de vision son muy recientes, como las USB3 y Coaxpress,

pero la tendencia actual de los fabricantes de camaras de vision artificial, es la utilizacion del

interfaz USB3, en lugar de otras interfaces como el Cameralink, que requiere la utilizacion

de un frame grabber cameralink.(Infaimon , 2015)

Las camaras de video han tenido una rapida evolucion en los ultimos anos, desde las pri-

meras camaras de vıdeo que iban equipadas con tubos Vidicon hasta las mas modernas

camaras provistas de sensores Charge Coupled Devide (CCD) y CMOS que se incorpo-

ran en los sistemas de vision artificial en la actualidad (Infaimon , 2015). Por una parte los

sensores CCD son capaces de leer una serie de valores de carga de un array uno a uno y

convertirlos en senales digitales como se muestra en la Fig. 3.

FIGURA 3: Funcionamiento del sensor CCD

Fuente. http://dgpfotografia.com

(Perez , 2015) explica que este esta compuesto por fotodiodos, los cuales reciben la luz,

la convierten a una carga de electrones que es almacenada en el propio pixel, esta carga

es transferida una a una, fila a fila a los registros de desplazamiento vertical y cada fila es

despues transmitida al registro de desplazamiento horizontal. Pixel a pixel el amplificador

19

Page 23: Selección y clasificación de piezas mediante visión de ...

de salida convierte esa carga de electrones en una senal de voltaje analogico que despues

sera convertida a una senal digital por el conversor analogico-digital (A/D).

Por otra parte el semiconductor complementario de oxido metalico o complementary metal-

oxide-semiconductor (CMOS), dentro de cada pixel o fotodiodo contiene la electronica que

convierte esa carga de electrones que se crea cuando incide luz sobre el sensor en una

senal de voltaje analogico, el cual sera despues convertido por uno o varios conversores

A/D en una senal digital. (Fig.4)

FIGURA 4: Funcionamiento del sensor CMOS

Fuente. http://dgpfotografia.com

Para una aplicacion de vision artificial, las camaras requieren una serie de caracterısticas

20

Page 24: Selección y clasificación de piezas mediante visión de ...

especiales, como poseer control del tiempo y las senales, de la velocidad de obturacion, de

la sensibilidad y de otros factores fundamentales a la hora de integrarlas en un sistema de

vision artificial tanto en aplicaciones cientıficas como industriales. En la actualidad podemos

encontrar diversas configuraciones de ellas como se lista a continuacion.

Camaras Matriciales

Camaras Lineales

Camaras Alta Velocidad

Camaras 3D

Camaras Inteligentes

Camaras Infrarrojas / Camaras Termicas

Sistemas espectrales y sistemas Multiespectrales

Todas ellas funcionan con distintos principios y segun la aplicacion que se desee realizar

debe ser estudiada y escogida de la mejor manera, se busca que en el sistema no se

sobredimensione la funcionalidad o que por otra parte la camara no sea lo suficientemente

funcional por una mala eleccion.

Por otra parte el sistema de iluminacion en la escena ayudara o afectara el aplicacion de

vision, el ambiente en el que este implementado puede generar efectos que afecten la toma

de la imagen como por ejemplo la reflexion de la luz en las piezas que imposibilitarıa el

reconocimiento y finalmente aparecerıa como una mancha en la imagen, en consecuencia

se debe analizar el tipo de objeto que se va a iluminar, tanto el material como la forma

para escoger el mejor sistema de iluminacion y ası se resolvera la aplicacion de manera

mas facil. Si para solventar una aplicacion es necesario utilizar muchos filtros de software,

significa que la iluminacion que se esta aplicando no es lo suficientemente buena, pues una

iluminacion adecuada permitira emplear menos filtros en la imagen y por tanto aumentar la

velocidad de proceso en esa aplicacion. (Infaimon , 2015).Para realizar tareas de inspeccion,

medicion, clasificacion, monitorizacion y control de aplicaciones industriales la mejor forma

de realizar la correcta iluminacion es poner el objeto de estudio en el ambiente de trabajo

y someterlo a tipos de iluminacion, ya sea por fibra optica, fluorescente, laser o por led,

(((Sistema de vision artificial para el control de calidad en piezas cromadas))) esto dara la

optimizacion del sistema para que la camara pueda capturar una imagen.

21

Page 25: Selección y clasificación de piezas mediante visión de ...

En la actualidad, los sistemas de vision artificial y la robotica establecen un nexo de union

en aplicaciones industriales de todo tipo, este hecho ha dado lugar a que se popularicen

los sistemas denominados Vision Guided Robotics (VGR) de Robotica Guiada por Vision.

Estos sistemas proporcionan un mayor grado de libertad a la robotica, pasando de tener

que trabajar en entornos predefinidos, a poder hacerlo en entornos de mayor versatilidad.

Cuando un robot trabaja sin un sistema de vision asociado, el entorno de trabajo debe

ser fijo, el robot debe acceder siempre a una posicion predeterminada, lo obliga a utilizar

sistemas de posicionamiento muy precisos de los objetos a manipular, para que el robot se

dirija exactamente hacia donde debe ir.

Los sistemas roboticos asistidos por vision (VGR), son flexibles, debido a que los sistemas

de vision permiten determinar con precision la posicion de cualquier objeto en el area de

trabajo, pudiendo definir cada uno de los puntos en un espacio 3D y dirigiendo al robot

hasta el punto preciso donde debe efectuar la operacion. Este tipo de sistemas de guiado,

no solo sirven para entornos de manipulacion (handling) de la industria robotica, sino que

se pueden emplear en aplicaciones de soldadura, pintado, remachado, montaje, paletizado

y despaletizado y tambien en sistemas de manipulacion de objetos o piezas y aumenta las

posibilidades de instalacion de nuevos robots en cualquier tipo de proceso productivo.

Los sistemas de vision empleados para la identificacion y determinacion de la posicion son

multiples, pasando por sistemas mono camara que permiten el reconocimiento y posicion

en un plano 2D, hasta sistemas estereo, triangulacion laser, y tiempo de vuelo, que facilitan

un reconocimiento en tres dimensiones y determinan la posicion precisa en el espacio.

(Infaimon , 2015)

Para los sistemas que implementan la vision de maquina existen tres tipologıas de distribu-

cion espacial entre la camara y el robot, la primera tipologıa es camara en mano, contempla

un sistema visual montado en el efector final del robot, como caracterıstica adicional en esta

configuracion la camara se mueve solidaria al movimiento del efector final. En consecuencia

existe una relacion constate entre el sistema de coordenadas de la camara y coordenadas

del robot. La segunda tipologıa es camara fija, en esta se tiene la camara fija en algun

punto del espacio de trabajo de forma que observa la escena. De manera que la posicion

de la camara es independiente del brazo robot. La tercera tipologıa es hıbrida la cual es la

combinacion de la tipologıa camara en mano y camara fija.

Aplicaciones de robotica como Bin-Picking, localizacion, y la reconstruccion 3D. Hasta hace

poco, se hacıa principalmente usando imagenes en 2D porque las camaras son rentables

y permiten la adquisicion rapida de imagenes. El problema principal es que coincida las

22

Page 26: Selección y clasificación de piezas mediante visión de ...

caracterısticas 2D con sus caracterısticas 3D correspondientes al modelo. Esto se convierte

en un reto debido a los cambios en la iluminacion, la rotacion, la escala y los cambios

de punto de vista parciales en el espacio de la imagen. Por otra parte, algunas vistas del

objeto pueden conducir teoricamente a poses ambiguas. En contraste a imagenes 2D, los

datos 3D son en gran medida invariantes a lo geometrico y a cambios fotometricos descritos

anteriormente. El principal desafıo es resolver el problema de correspondencia en presencia

del ruido del sensor, las oclusiones y desorden. El tamano, la distribucion de las normales

de superficie y lımites de un objeto son fundamentales en registrar los datos del sensor con

el modelo.

Hay tres categorıas principales para proporcionar exploraciones 3D, los cuales son: la vision

estereo, “time of flight” (TOF) y la luz estructurada.

Vision estereo: este metodo pasivo es de bajo costo, pero la precision depende de

las caracterısticas y texturas del objeto escaneado. En procesos de inspeccion en los

cuales se aplica la vision estereo, generalmente se usan dos camaras mas, tambien

es posible usar una camara tomando vistas en posiciones relativas diferentes de la

camara respecto de la superficie a medir. El problema principal de la vision estereo

consiste en determinar los puntos en las imagenes adquiridas desde los diferentes

puntos de vista que corresponden a un punto en la escena 3D. Luego de la obtencion

de puntos correspondientes entre las diferentes vistas se puede realizar el calculo de

la profundidad a partir de la geometrıa de la escena. (Jaramillo, Prieto y Boulanger ,

2007)

TOF: Este metodo activo se usa para aplicaciones de largo alcance (10-100m), preci-

sion baja, resolucion limitada, y una gran cantidad de complejidad de calculos. Puede

escanear toda la escena en una fraccion de segundo y adquirir hasta 50 imagenes

por segundo. Este metodo puede medir directamente la distancia de cada pıxel y el

mapa de profundidad es siempre complejo con un tiempo de latencia muy bajo. Es-

tos sistemas cuentan con un emisor de senal, un receptor y un medidor del tiempo

entre la emision y la recepcion de la senal (Fig. 5). Como emisor de senal se usan

ondas sonoras, principalmente ultrasonido, y senales luminosas, entre las cuales se

encuentra la luz laser. En este ultimo caso se habla de radares laser o detectores

laser de tiempo de vuelo. Existen tres tipos de sensores de rango basados en tiempo

de vuelo.(Jaramillo, Prieto y Boulanger , 2007)

23

Page 27: Selección y clasificación de piezas mediante visión de ...

FIGURA 5: Tiempo de vuelo

Fuente.http://www.scielo.org.co/

Luz estructurada: este metodo activo se basa en la proyeccion de un patron de luz so-

bre el objeto a ser escaneado, de tal manera que la forma en que el patron se deforma

cuando las superficies en huelga permite a los sistemas de vision (una o mas cama-

ras) calcular la informacion de profundidad y la superficie de los objetos.(Squizzato ,

2012)

Existen multiples mecanismos de vision que pueden utilizarse en sistema de Bin Picking, y

todos ellos pueden ser igual de validos para identificar objetos apilados en un contenedor.

(Infaimon , 2015) ha desarrollado un sistema basado en vision estereo, que incorpora dos

camaras en la cabeza del robot. Esto permite hacer un mapa muy preciso de todos los

objetos apilados y determinar con gran exactitud donde se encuentra el mejor candidato

a ser recolectado. Una ventaja de este tipo de configuracion es la identificacion de piezas

estructuradas de alta complejidad puesto que pueden ser reconocidas dentro de la pila

donde se encuentran el cual tiene un cabezal estereo que permite hacer esta identificacion

de forma mas rapida y segura.

Otro tipo de elementos especialmente indicados para esta tecnologıa estereo son las cajas

o paquetes que incluyan textura, como impresion de marca, o de cualquier otro elemento.

En este caso, un sistema basado en estereo vision es muy util en procesos de paletizado

y despaletizado. Aunque pueda parecer que un sistema de bin picking no es necesario en

procesos de despaletizado, en principio el contenedor esta situado en una posicion cono-

cida y los componentes del contenedor estan ordenados, con extremada frecuencia estos

componentes se desordenan y caen unos encima de otros, por lo que pasan a ser una pila

desordenada y aquı es donde el sistema de bin picking muestra su eficacia.

24

Page 28: Selección y clasificación de piezas mediante visión de ...

Los sistemas de Robotica Guiada por Vision (VGR) estan siendo utilizados cada vez con

mas frecuencia en los entornos de fabricacion robotizada. De hecho el aumento de ventas

a nivel mundial de los robots para tareas de handling, es uno de los mas importantes dentro

de la robotica, especıficamente debido a los sistemas VGR.

2.3. ACTUALIDAD Y TENDENCIA DE LA AUTOMATIZACION

Segun (Oyarzun , 2014) la federacion Internacional de Robotica IFR (de sus siglas en ingles

International Federation of Robotics) dio a conocer las estadısticas mundiales de venta de

los robots industriales, anunciando un nuevo record: 179.000 robots industriales fueron ven-

didos el ano 2013 superando en un 12 % las ventas del 2012 como se muestra en la Fig. 6.

FIGURA 6: Suministro mundial de Robots industriales

Fuente. FR Statistical Department

A demas del incremento de la venta, los paıses apuntan a la integracion de estos robots

dentro de sus procesos industriales, en USA todo el movimiento sobre impulsar y consolidar

la manufactura nacional ha sido reflejado en las ventas internacionales, 6 % respecto del

ano anterior. Entre el 2008 y el 2013 situa su tasa de crecimiento anual en un 12 %. Corea

del Sur y Alemania continuan en el ranking con 21.000 y 18.000 unidades respectivamente,

aumentando un 10 % y un 4 % sus mercados. Esto impulsado principalmente por la industria

25

Page 29: Selección y clasificación de piezas mediante visión de ...

automotriz.(Oyarzun , 2014) En la Fig. 7 se da a conocer la integracion de robots en los

procesos industriales a lo largo de cuatro anos hasta el 2013.

FIGURA 7: Suministro de Robots Industriales en los mercados mas grande 2009–2013

Fuente.IFR Statistical Department

Actualmente los sistemas de vision integrados son sistemas de vision artificial que difieren

relativamente de las camaras inteligentes, en que el sensor y la memoria de la camara se

situa en un cabezal remoto de muy reducido tamano y el procesador, las entradas/salidas

y la conexion con el resto del entorno industrial se situan en un elemento de dimensio-

nes reducidas, que puede colocarse junto a otros elementos de automatizacion. Una de las

ventajas de un sistema de vision artificial de este tipo, que presenta esta tecnologıa con res-

pecto a las camaras inteligentes tradicionales es que, con un solo elemento de proceso, se

pueden conectar varios cabezales de vision remotos, reduciendo el costo en aplicaciones

de vision donde se requieran varias tomas de la misma pieza. Tanto las camaras inteligen-

tes, como los sistemas de vision artificial integrados, pueden incluir sensores CCD/CMOS

de muy alta definicion, tanto en monocromo como en color. Ambos sistemas incluyen po-

tentes programas, que permiten resolver la mayorıa de aplicaciones de vision artificial sin

necesidad de saber programar, y solo utilizando interfaces graficas de usuario de facil con-

figuracion. (Infaimon , 2015)

26

Page 30: Selección y clasificación de piezas mediante visión de ...

2.4. MATERIALES UTILIZADOS

Para la verificacion de la aplicacion se utilizaron piezas de empack y parafina industrial a

continuacion se describira cada uno de estos materiales.

Empack: Este material es un Polietileno, resiste al impacto abrasion y corte por friccion.

Soporta temperaturas hasta de 80◦C. Es un material de facil mecanizado, dielectrico

tiene un bajo coeficiente de friccion, es resistente al desgaste. Es un material auto

lubricado de facil limpieza y resistente al desgaste, choques y excelente resistencia

quımica. (MetalplasticSA , 2015)

Parafina Industrial: Es un material que se obtienen a partir del petroleo. Estan constitui-

das por una mezcla de hidrocarburos de alto peso molecular, principalmente alcanos

saturados. Son insolubles en agua o alcohol, solubles en la mayorıa de los disolventes

organicos y miscibles con ceras y grasas cuando se calienta.(Cepsa , 2015)

27

Page 31: Selección y clasificación de piezas mediante visión de ...

3 DESCRIPCION DE SISTEMAIMPLEMENTADO

Esta seccion describe los diferentes elementos que forman parte de la aplicacion implemen-

tada. en la Fig.8 se muestran las tres partes principales de la aplicacion. Las cuales son: la

estructura de vision de maquina, la estructura del robot y el controlador. A continuacion se

detallara cada una de estas, a demas de la secuencia de programacion.

FIGURA 8: Sistema implementado

Fuente. Autores.

3.1. ESTRUCTURA DE VISION DE MAQUINA

Para la estructura de Vision de maquina se selecciono el sensor Kinect. El Centro Tec-

nologico de Automatizacion Industrial (CTAI) de la Pontificia Universidad Javeriana cuenta

con una gran variedad de camaras (camaras de alta velocidad, camaras multi-espectrales

entre otras) y dos sensores para identificar la profundidad a la cual se encuentran los ob-

jetos. Estos sensores son: sensor Hokuyo, y sensor kinect, a los cuales se les realizaron

28

Page 32: Selección y clasificación de piezas mediante visión de ...

pruebas para seleccionar cual se adecuaba a la aplicacion. A continuacion se explica las

caracterısticas tecnicas de cada uno.

3.1.1. SENSOR HOKUYO

El sensor Hokuyo URG-04LX-UG01 es perfecto para aplicaciones de robotica, se utiliza para

escaneo de terrenos, planeacion de trayectorias y deteccion de obstaculos, entre otras. Sus

principales caracterısticas se encuentra que tiene un peso aproximado de 160 g, cobertura

de 240 grados, un alcance de 5600 mm y una precision de mas o menos 30mm. Ver Fig.9.

FIGURA 9: Sensor Hokuyo

Fuente.https : //www.hokuyo− aut.jp/02sensor/07scanner/urg04lxug01.html

3.1.2. SENSOR KINECT

El sensor Kinect del Xbox 360 cuenta con un sensor de profundidad, una camara RGB y un

array de microfonos. A continuacion se describen las principales caracterısticas del sensor

de profundidad y la camara RGB. Ver Fig.10.

29

Page 33: Selección y clasificación de piezas mediante visión de ...

FIGURA 10: Sensor Kinect

Fuente.

https://channel9.msdn.com/Series/KinectSDKQuickstarts/Understanding-Kinect-Hardware

3.1.2.1. SENSOR DE PROFUNDIDAD DEL KINECT

El sensor de profundidad del kinect funciona a partir de un proyector de luz infrarroja el cual

proyecta una matriz de rayos de luz sobre los objetos, los rayos rebotan y son capturados

por un sensor de luz infrarroja. En la Fig.11 se muestra una imagen obtenida con la camara

infrarroja del sensor kinect.

FIGURA 11: Imagen de profundidad sensor Kinect

Fuente. Autores

El sensor de profundidad captura 30 cuadros por segundo con una resolucion de 640x480

pıxeles, es capaz de detectar profundidades en un rango de distancia al sensor desde los

0,7 m hasta los 6.0 m. Este sensor tiene un campo angular de 60 grados en el sentido

horizontal y 43 grados en el sentido vertical.

30

Page 34: Selección y clasificación de piezas mediante visión de ...

3.1.2.2. SENSOR DE PROFUNDIDAD DEL KINECT

El sensor RGB es una camara de vıdeo de 3 colores que se puede utilizar en dos confi-

guraciones o modos diferentes. El primer modo captura imagenes con una resolucion de

640 pıxeles de ancho por 480 pıxeles de alto y puede llegar a capturar hasta 30 frames

por segundo. La segunda configuracion obtiene imagenes de alta resolucion, 1280 x 1024

pıxeles, con una velocidad de captura maxima de 15 imagenes por segundo.

3.1.3. PRUEBAS REALIZADAS A LOS SENSORES

Se realizo el siguiente procedimiento para observar las caracterısticas de cada sensor, se

ubicaron los sensores de tal manera que detectaran objetos y obtener la informacion de

salida de cada uno. En la Fig.12 se observa la informacion detectada por el sensor Hokuyo.

FIGURA 12: Imagen de profundidad y datos del sensor Hokuyo

Fuente. Autores

31

Page 35: Selección y clasificación de piezas mediante visión de ...

En la Fig.13 se puede observar la imagen que se obtuvo con el sensor kinect.

FIGURA 13: Pruebas sensor kinect

Fuente: Autores

De la Fig.12 se observa que el rango de cobertura es 0-240 grados en sentido vertical, pero

de manera horizontal su cobertura es de 0 grados. Tambien se muestra el vector de datos

obtenidos con el sensor, donde el step corresponde a la lectura realizada de grado en grado

y el range es la distancia a la cual se encuentra el objeto, esta medida se encuentra en

mm. Por otra parte de la Fig.13, se analiza que el sensor kinect tiene una cobertura en el

eje horizontal y vertical de manera simultanea, la informacion recibida por este sensor se

convierte en una imagen de formato RGB, como se puede observar, los objetos tienen una

variedad de colores entre mas lejos esten del sensor adquieren un color rojo y a medida

que se acercan al sensor adquieren un color azul.

Los dos sensores presentan la ventaja de ser leıdos por software como Labview R©, Matlab R©,

entre otros. Pero una de las desventajas que presenta el sensor Hokuyo es el precio en

comparacion con el sensor kinect, el Hokuyo tiene un precio aproximado de 2000 dolares

mientras que el kinect puede costar unos 100 dolares.

Se selecciono el sensor kinect porque es capaz de captar informacion en sentido horizontal

y vertical de manera simultanea. A demas presenta la ventaja de tener una camara RGB

incluida, la cual se uso para detectar la posicion en X, Y y la orientacion.

32

Page 36: Selección y clasificación de piezas mediante visión de ...

3.2. ESTRUCTURA DEL ROBOT

El robot SDA10F es usado para una amplia variedad de operaciones, tales como montaje,

la transferencia de piezas, carga y descarga, embalaje y otras tareas de manipulacion. Los

dos brazos del robot pueden sincronizarse para trabajar juntos o bien trabajar de manera

simultanea en tareas independientes. Fig.14

FIGURA 14: Robot SDA10F

Fuente. MOTOMAN-SDA10D/SDA10F INSTRUCTIONS

Cada brazo tiene 7 ejes y un eje para la rotacion en la base. La capacidad de carga es de 10

kg por brazo. Para la programacion cada brazo recibe una denominacion dada por Yaskawa,

brazo 1 (R1) y brazo 2 (R2).Tiene una repetibilidad de 0,1 mm. En la Fig.15 se muestra el

area de trabajo del robot.

33

Page 37: Selección y clasificación de piezas mediante visión de ...

FIGURA 15: Area de trabajo Robot SDA10F

Fuente. MOTOMAN-SDA10D/SDA10F INSTRUCTIONS

El alcance maximo en el eje horizontal es de 1970 mm y el eje vertical 1440 mm.

3.2.1. EFECTOR FINAL

El robot cuenta con un efector final diferente en cada brazo. Estos son un gripper de dos de-

dos y un gripper de tres dedos marca Robotiq. A continuacion se describen sus principales

caracterısticas.

34

Page 38: Selección y clasificación de piezas mediante visión de ...

El gripper de dos dedos tiene rango de apertura de 0-85 mm, una fuerza desde 5 N hasta

220 N, puede cargar un peso aproximado de 5 Kg, velocidad de apertura y cierre a una

velocidad mınima 20mm/s hasta una maxima velocidad 150mm/s, tiene una repetivilidad en

posicion de 0,05 mm y su peso es de 0,85 Kg. ver Fig.16

FIGURA 16: Gripper de dos del Robot SDA10F

Fuente. http://robotiq.com/products/industrial-robot-gripper/

El gripper de tres dedos tiene un rango de apertura de 0-155 mm, una fuerza desde los

15 N hasta 60 N, puede cargar un peso aproximado de 10 Kg, velocidad de apertura y

cierre a una velocidad mınima 22mm/s hasta una maxima velocidad 110mm/s, tiene una

repetivilidad en posicion de 0,05 mm y su peso es de 2,3 Kg. ver Fig.17

FIGURA 17: Gripper de tres dedos del Robot SDA10

Fuente. http://robotiq.com/products/industrial-robot-hand

3.3. CONTROLADOR

El robot cuenta con el controlador FS100 el cual ha sido desarrollado especialmente para

las aplicaciones de picking, embalaje y para las demas aplicaciones de manipulacion. El

35

Page 39: Selección y clasificación de piezas mediante visión de ...

concepto de controlador abierto es que “permite a los usuarios acceder a la interfaz y a los

movimientos del robot de manera externa a traves de un PC o un PLC y tambien desarrollar

aplicaciones propias” esto se puede realizar con MotoSync R©, MotoPlus R© o MotoCom R©.

Las principales caracterısticas se observan en la Tabla 1.

TABLA 1: Especificaciones del Controlador.

Controlador FS100

Dimensiones 470 mm * 200 * mm 420 mm

Peso 20 kg

Sistema de enfriamiento Directo

Alimentacion 220 VAC

Trasformador Externo 480 VAC

Entradas y salidas digitales 16 entradas, 16 salidas

Sistema de posicionamiento Encoder

Capacidad de memoria 10,000 pasos

Lenguaje de programacion Inform III O MotoPlus SDK (Lenguaje C)

Comunicacion Ethernet

Multitarea Si

Fuente: http://www.motoman.com/datasheets/SDA10F

Este trabajo se desarrollo con la programacion de fabrica del controlador para el robot, en el

cual se envıa la posicion a la cual se desee llegar y el controlador se encarga de posicionar

al robot en dicha posicion.

3.4. ALGORITMOS DE PROGRAMACION

La aplicacion de vision de maquina se desarrollo en Matlab R©, y la comunicacion entre esta

aplicacion y el controlador se realizo con MotoCom SDK R©.

Motocom SDK R© es un kit de desarrollo de software de comunicacion con el robot. Moto-

com SDK R© proporciona un ambiente de desarrollo en C++ o C#, ofrece la posibilidad de

36

Page 40: Selección y clasificación de piezas mediante visión de ...

crear aplicaciones personalizadas que se comunican con los robots Motoman R©. Esta he-

rramienta se puede utilizar para controlar un robot y sus datos a traves de una conexion de

comunicacion serial o Ethernet.

La trasferencia de informacion se muestra en la Fig.18.

FIGURA 18: Trasferencia de informacion entre la aplicacion de Matlab R©, Motocom SDK R© yel controlador FS100

Fuente. Autores

En la Fig.18 se aprecian tres etapas de programacion las cuales son:

Programacion algoritmo vision de maquina.(Matlab R©)

Programacion algoritmo comunicacion.(Motocom SDK R©)

Programacion Job main. (Controlador FS100)

37

Page 41: Selección y clasificación de piezas mediante visión de ...

3.4.1. ALGORITMO VISION DE MAQUINA

El algoritmo de vision de maquina tiene una etapa de configuracion anterior a la toma de

imagenes, en la cual se adquieren datos de usuario a traves de la interfaz (Esta etapa solo

se realiza una vez, al empezarla aplicacion). Estos datos son necesarios para el corte de

la imagen que se va a capturar y procesar, al adquirirlos se parametriza el sistema con el

tamano de imagen y posiciones en X y Y. Se toma la imagen con los parametros dados

y se realiza el procesamiento en donde cuenta el numero de piezas, el tipo de pieza,las

coordenadas y orientacion de la pieza a sujetar. Esta informacion es visualizada en la in-

terfaz, enviada en archivo .txt y leıda por visual Studio para posterior comunicacion con el

controlador del robot, a su vez este envıa un archivo que indica si se puede volver a iniciar

el procesamiento puesto que ha terminado el robot y se encuentra en la posicion Home de

usuario. Ver Fig.19.

38

Page 42: Selección y clasificación de piezas mediante visión de ...

FIGURA 19: Diagrama de flujo de la aplicacion de procesamiento de imagenes

Fuente. Autores

39

Page 43: Selección y clasificación de piezas mediante visión de ...

3.4.2. ALGORITMO COMUNICACION

El sistema de comunicacion se basa en envıo y lectura de datos desde Matlab a Visual

Studio a traves de archivo de lectura y escritura en .txt, este proceso es cıclico y finaliza

hasta que el usuario ası lo desee. Estos archivos llevan informacion del tipo de pieza ,las

coordenadas y la orientacion de esta o bits de finalizacion o ejecucion de la tarea para dar

nuevo comienzo a la siguiente pieza, este ultimo es enviado por Visual Studio a partir de la

senal del controlador del robot. ver Fig.20.

40

Page 44: Selección y clasificación de piezas mediante visión de ...

FIGURA 20: Diagrama de flujo de la comunicacion de la aplicacion

Fuente. Autores

3.4.3. ALGORITMO JOB MAIN

Este algoritmo se basa en Jobs programados para cada tipo de pieza, pasa por una serie

de condicionales donde se evalua si el tipo de pieza es Lamina empaq tipo1, tapa empaq

41

Page 45: Selección y clasificación de piezas mediante visión de ...

tipo 1, tapa empaq tipo 2 o bloque empaq tipo 2. En caso de ser exclusivamente el bloque

de empaq tipo 2 el robot 2 a realizara la tarea por las dimenciones de su gripper. Ver Fig.21

FIGURA 21: Diagrama de flujo de realizacion de los Jobs

Fuente. Autores

42

Page 46: Selección y clasificación de piezas mediante visión de ...

3.5. DISTRIBUCION DE PLANTA

En esta seccion se describe el entorno en el cual se encuentra el Robot SDA10F al igual

que las limitaciones en el espacio de trabajo.

Este robot esta ubicado en el Centro Tecnologico de Automatizacion Industrial (CTAI) de la

Pontificia Universidad Javeriana. Se encuentra dentro del Centro integrado de Manufactura

(CIM), especıficamente en el centro de la banda transportadora. El sensor kinect se coloco

en la parte superior apuntando hacia la banda de tal manera que se pueda captar los objetos

que esten ubicados sobre esta. Ver Fig.22.

FIGURA 22: Distribucion de planta

Fuente. Autores

La banda transportadora tiene 4 estaciones de trabajo, una de las estaciones se ubico

frente al robot, de tal manera que en trabajos futuros la bandeja este sobre la banda y

cuando esta llegue a la estacion se desarrolle algun tipo de aplicacion o tarea con el robot.

43

Page 47: Selección y clasificación de piezas mediante visión de ...

La configuracion del sistema de vision de maquina utilizada fue camara a mano, esto con

la intencion que los brazos no tuvieran ningun tipo de dispositivo que obstruya aplicaciones

diferentes a la desarrollada en este trabajo de grado. Fig.19.

Las piezas que se tienen que clasificar estaran sobre una bandeja. ver Fig.23.

FIGURA 23: Bandeja

Fuente. Autores

Los brazos del robot presentan una limitacion en el area de trabajo de la bandeja debido a

que algunos puntos son inaccesibles, como se muestra en la Fig.24.

FIGURA 24: Limitaciones en el area de trabajo

Fuente. Autores

44

Page 48: Selección y clasificación de piezas mediante visión de ...

Para esta aplicacion y por optimizacion de recorridos de los brazos del robot cada uno se

encarga de una seccion de la bandeja. El brazo 2 tendra el area de trabajo desde el origen

de coordenadas (Ver Fig.22) hasta el centro de la bandeja. Y el brazo 1 desde el centro

hasta el final de esta.

Por otra parte, una limitacion de la la aplicacion es el libre movimiento del robot debido de

que su area de trabajo se encuentra obstruida por maquinas y equipos. Para evitar cualquier

colision se hizo uso de los cubos de interferencia los cuales son funciones especiales de

Yaskawa para evitar que el TCP del robot ingrese en una area en especifico. Ver Fig.25.

FIGURA 25: Cubos de interferencia

Fuente. MOTOMAN-SDA10D/SDA10F INSTRUCTIONS

Las areas de interes donde se adecuaron estos cubos de colision son cuatro; areas la-

terales inferiores, area posterior inferior, superior y por ultimo bajo los carros de la banda

transportadora. Los cubos de colision se pueden observar en la Fig.26.

45

Page 49: Selección y clasificación de piezas mediante visión de ...

FIGURA 26: Ubicacion cubos de coalicion

Fuente. Autores

La segunda forma de evitar posibles colisiones se encuentra dentro del algoritmo que se

encarga de mover el robot para tomar el objeto ya identificado. En este algoritmo se reduce

el margen de desplazamientos que tendra el robot Yaskawa.

46

Page 50: Selección y clasificación de piezas mediante visión de ...

4 IMPLEMENTACION Y PROGRAMACION

En este capıtulo se describe la implementacion del sistema de vision de maquina y la comu-

nicacion con el controlador. Tambien se puntualiza sobre las pruebas realizadas de manera

independiente a cada estructura de la aplicacion y sus correspondientes correcciones.

4.1. IMPLEMENTACION DEL SISTEMA DE VISION DE MAQUI-

NA

Para identificar la forma, tamano, orientacion y la posicion en X y Y de los objetos, se utilizo

la imagen RGB adquirida con el sensor Kinect, la posicion en Z o profundidad a la cual se

encontraban los objetos, se utilizo el sensor de profundidad del Kinect. El procesamiento

de imagenes se desarrollo con el software Matlab R©, para esto se dividio el trabajo en dos

etapas. La primera etapa consistio en la adquisicion y procesamiento de la imagen RGB y

la segunda etapa fue la adquisicion y procesamiento de la imagen de profundidad.

4.1.1. ADQUISICION Y PROCESAMIENTO IMAGEN RGB

En esta etapa fue necesario convertir la imagen adquirida a escala de grises, para luego

hacer la umbralizacion, la cual consiste en que cada pıxel toma un valor de cero (negro) o

uno (blanco) y se representan en Matlab R©, por una matriz bidimensional con datos logicos.

Este proceso se realizo con la funcion graythresh de Matlab R©, el cual devuelve el valor del

umbral de manera automatica con el metodo de Otsul entre valores comprendidos de cero

y uno. En la Fig.27 se muestra la imagen en escala de grises.

47

Page 51: Selección y clasificación de piezas mediante visión de ...

FIGURA 27: Imagen en escala de grises

Fuente. Autores

Luego se etiqueto la cantidad de elementos presentes en la imagen, esto se realizo para ob-

tener las caracterısticas individuales de cada uno de los elementos como el area, perımetro,

la posicion y orientacion. Para esto se utilizo la funcion regionprops de Matlab R©.

La herramienta regionprops realiza la extraccion de propiedades de la imagen de acuer-

do con los criterios que se desee adquirir, esto se realiza con una funcion mediante unos

parametros. Para que la funcion se pueda ejecutar necesita saber en que region de la ima-

gen se realizara el procesamiento de la informacion, esto se logra encerrando el sector de

interes en la imagen y luego se le coloca una etiqueta (posicion donde esta la region de in-

teres). Para este proceso es necesario tener una imagen previamente binarizada y delimitar

el area de los elementos que se van a procesar, es decir, tener la medida de los objetos

promedio para poder descartar posibles objetos no deseados dentro del procesamiento, de-

bido a que el etiquetado de elementos se realiza para los dos tipos de objetos, los deseados

e indeseados. Esto con el fin de realizar un barrido de la imagen eliminando las areas no

deseadas y poder iniciar el procesamiento correcto de la imagen. Dentro de la herramienta

existen diversos comandos para adquirir datos de la imagen, en este proyecto se utilizaron

tres parametros, los cuales se explican a continuacion.

El primer parametro es el “area”, donde se devuelve un escalar que especifica el numero

real de pıxeles de la region de interes, es decir dentro de cada caja etiquetada, estos datos

fueron utilizados para eliminar los objetos no deseados y realizar la clasificacion de cada

elemento dentro de un rango especıfico dependiendo la posicion del mismo, al tener este

valor se adiciono el segundo parametro el cual es el “perımetro” para dar mas exactitud, este

devuelve un escalar que especifica la distancia alrededor de la frontera de la region, region-

props calcula el perımetro mediante el calculo de la distancia entre cada par adyacente de

pıxeles alrededor de la frontera de la region como se muestra en la Fig.28.

48

Page 52: Selección y clasificación de piezas mediante visión de ...

FIGURA 28: Calculo de perımetro de objetos

Fuente. http://www.mathworks.com

El tercer parametro es la “orientacion” de cada objeto para realizar la correcta sujecion de

este, la instruccion “orientacion” devuelve un escalar que especifica el angulo entre el eje

XY del eje mayor de la elipse. El valor esta en grados, que van desde -90 a 90 grados. En la

Fig.29 se ilustra los ejes y la orientacion de la elipse; el lado izquierdo de la fig. muestra una

region de la imagen y su correspondiente elipse y el lado derecho muestra la misma elipse

con las lıneas azules representan los ejes, los puntos rojos son los focos y la orientacion es

el angulo formado por la lınea de puntos horizontal y el eje mayor.

FIGURA 29: Calculo de orientacion de objetos

Fuente. http://www.mathworks.com

En la Fig.29 se muestra la implementacion de esta funcion con la obtencion del centro de

cada elemento. El resto de informacion que genera esta funcion se utilizo para clasificar

el tipo de elemento encontrado y para enviar al robot la orientacion y posicion de cada

elemento.

49

Page 53: Selección y clasificación de piezas mediante visión de ...

FIGURA 29: Etiquetado de elementos

Fuente. Autores

Luego de los resultados obtenidos, se detecto que el algoritmo tenıa inconsistencias para

detectar las piezas de parafina industrial de color azul. Esto se debio a que la tonalidad

del color de la parafina industrial la cual no generaba contraste con el color del fondo de la

bandeja. Esto se evidencia en el histograma de la imagen Fig.30.

FIGURA 30: Histograma de la imagen para la deteccion de piezas de color azul

Fuente. Autores

Para solucionar este inconveniente se procedio a incluir dentro del algoritmo una conversion

de la imagen RGB a HSV. Con la imagen ya en formato HSV se procedio a trabajar con el

50

Page 54: Selección y clasificación de piezas mediante visión de ...

canal V detectando el margen del umbral del color de la parafina industrial. Luego se genero

una funcion la cual devolvio una matriz donde solo se extraıa la informacion de las piezas

de parafina industrial.

4.2. PROCESAMIENTO DE LA IMAGEN DE PROFUNDIDAD

DEL SENSOR KINECT

En esta etapa se procedio a adquirir la imagen de profundidad a la cual se encontraban los

objetos, esta imagen se encuentra en formato que por defecto es de tamano 640x480. No

existio la necesidad de incluir un procesamiento o un tratamiento de la imagen debido a que

cada pıxel contiene un valor, el cual indica la distancia a la cual se encuentra el objeto del

sensor kinect, este valor esta en mm. Ver Fig.31.

FIGURA 31: Imagen de profundidad

Fuente. Autores

Como se observa en la Fig.31 es difıcil detectar los objetos porque la imagen esta en escala

de grises en las zonas demarcadas con color azul se encuentra algun objeto, por tal mo-

tivo se aplico la tecnicas falso color para una mayor comprension visual de la informacion

obtenida, se procedio a convertir la imagen a formato RGB. Como se muestra en la Fig.32

51

Page 55: Selección y clasificación de piezas mediante visión de ...

FIGURA 32: Conversion de la imagen de profundidad a RGB

Fuente. Autores.

Mostrando en esta imagen en color rojo los objetos mas lejanos y en un azul claro los objetos

mas cercanos que el sensor kinect puede detectar. Como se evidencia en esta imagen hay

sectores de color blanco, esto se debe a que el sensor no es capaz de interpretar la distancia

a la cual se encuentra el objeto en ciertos pıxeles, lo cual significa que en esa posicion el

objeto puede generar un brillo o tener algun filo, lo cual genera que los rayos infrarrojos sean

absorbidos o dispersados.

Para solucionar este inconveniente se utilizo el algoritmo de Karl Stanford, el cual se utiliza

para normalizar aquellos pıxeles donde su valor es cero. El metodo consiste en obtener los

valores alrededor del pıxel que contiene el valor cero y obtener la media estadıstica y con

esta ajustar el valor del pıxel. El metodo implementado se observa en la Fig.33

FIGURA 33: Ajuste de valor cero

Fuente. http://www.codeproject.com/Articles/317974/KinectDepthSmoothing

52

Page 56: Selección y clasificación de piezas mediante visión de ...

Luego de aplicar el algoritmo en la imagen de profundidad se obtuvo una imagen que no

contiene pıxeles con informacion cero que equivale a informacion imposible de calcular. Esta

implementacion se muestra en la Fig.34

FIGURA 34: Correccion de imagen de profundidad

Fuente. Autores

4.3. PRUEBAS Y ANALISIS PROCESAMIENTO DE IMAGE-

NES

Para validar el algoritmo de procesamiento de imagenes se realizaron 40 muestras, colo-

cando dentro de la bandeja 10 patrones cilındricos los cuales se utilizan para calibracion de

las estaciones de vision artificial. los patrones se colocaron de manera aleatoria como se

muestra en la Fig.35. Estas pruebas se realizaron con el objetivo de medir la cantidad de

piezas que detectaba el sistema, y de esta forma observar los posibles errores que podıan

ocurrir en el proceso de identificacion de la pieza.

FIGURA 35: Pruebas del algoritmo

Fuente. Autores.

53

Page 57: Selección y clasificación de piezas mediante visión de ...

El la Fig.36 se muestra el diagrama de Pareto, el cual muestra la cantidad de piezas que

fueron detectadas por el algoritmo.

FIGURA 36: Diagrama de Pareto (Cantidad de piezas detectadas)

Fuente. Autores.

Este diagrama permite identificar los resultados obtenidos de una forma ordenada y sacar

conclusiones al respecto. En el se evidencia que hay un error en la deteccion de objetos

teniendo en cuenta que cada imagen contenıa 10 piezas. Como se observa, el error obteni-

do por esta medicion se encuentra por encima del valor real y corresponde a sombras que

se generan por saturacion de luz o falta de la misma en sectores de la bandeja como se

aprecia en la Fig. 35. Sin embargo, estos objetos extra corresponden a un objeto real, lo

que permite asegurar que en ese punto se encuentra una de las piezas. Ver Fig.37

FIGURA 37: Cantidad de objetos detectados por el algoritmo

Fuente. Autores

54

Page 58: Selección y clasificación de piezas mediante visión de ...

En la tabla 1 se muestran los estadısticos obtenidos a partir de la toma de datos. De estos

datos, se puede concluir que el 55 % de las mediciones tuvo un valor igual a la cantidad

teorica, un 32 % de las mediciones obtuvo un valor de una pieza mas a la cantidad teorica

y el 13 % se detecto dos piezas mas a la cantidad teorica. Tambien se puede determinar

que el algoritmo detecto una cantidad mayor de piezas a la teorica debido a una falla en

la iluminacion o en las caracterısticas fısicas de las piezas, esto se puede evidenciar al

observar las medidas de distribucion de la variable en el valor obtenido en el coeficiente de

asimetrıa, el cual dio 0.84, este al ser positivo demuestra una inclinacion de los datos hacia

el costado izquierdo de la media. Otro indicador para observar la distribucion de los datos

obtenidos es la curtosis, la cual con un valor de -0,52 demuestra que la distribucion posee

una forma platicurtica lo que implica que los datos no se concentran en un unico punto y

tienden a tener mayor dispersion, este valor se puede deber a la asimetrıa de la distribucion

ya que al no ser una distribucion normal, los datos no se concentraban en la media.

TABLA 1: Datos de la cantidad de piezas detectadas por el algoritmo.

Cantidad de objetosMedia 10.575

Error tıpico 0.1125Mediana 10

Moda 10Desviacion estandar 0.7120

Varianza de la muestra 0.5070Curtosis -0.5178

Coeficiente de asimetrıa 0.8435Rango 2Mınimo 10Maximo 12Suma 423

Cuenta 40

Fuente: Autores.

Dentro de los puntos mas importantes en el procesamiento de imagenes se encuentra la

robustez del algoritmo, este se puede medir al tener en cuenta la mediana y la moda, la que

al ser de igual valor teorico se puede decir que el algoritmo presenta una gran robustez.

Tambien se obtiene que la desviacion estandar es del 0.712, esto quiere decir que cuando

se ejecuto el algoritmo el valor de la medida obtenida puede ser igual al valor real mas o

menos 0.712. Como el algoritmo deteccion de objetos arroja como dato de salida valores

enteros y no flotantes, el valor final fue igual al valor real mas o menos uno.

55

Page 59: Selección y clasificación de piezas mediante visión de ...

4.4. PRUEBAS PROCESAMIENTO DE LA IMAGEN DE PRO-

FUNDIDAD

La prueba que se realizo para evaluar la obtencion de la altura de las piezas que detectaba

el algoritmo, para observar la viabilidad y las correcciones que eran necesarias realizar. Se

colocaron dentro de la bandeja 2 piezas, los cuales tenıan la misma altura. Se tomaron 40

muestras, las cuales se organizaron sobre la bandeja de manera aleatoria. En la Fig.38 el

diagrama de barras muestra la altura de los objetos que detecto el algoritmo.

FIGURA 38: Distancia de Pareto distancia de la pieza al sensor

Fuente. Autores

De este diagrama se puede observar que hay una gran dispersion en los datos obtenidos,

esto implica que es necesario realizar una correccion en el algoritmo. En la Tabla. 2 se

observa de manera detallada los datos encontrados.

De la Tabla.2 se observan los estadısticos que describen esta distribucion. A partir de esta,

se observa que la desviacion estandar es 27.25 mm lo cual es un valor muy alto y podrıa

provocar que el robot se estrellara. Tambien existe una diferencia de 88mm entre el valor

mınimo y maximo. Esta diferencia tan significativa se debio a que solo se tomo el pıxel del

centro para hallar la altura. Tambien el valor de la media tiene una diferencia respecto al

valor teorico 29.5 mm y la moda de 70 mm.

56

Page 60: Selección y clasificación de piezas mediante visión de ...

TABLA 2: Altura de las piezas.

Altura de los objetosMedia 990.55

Error tıpico 4.3093Mediana 993.5

Moda 959Desviacion estandar 27.2546

Varianza de la muestra 742.8179Curtosis -1.132716

Coeficiente de asimetrıa 0.1722Rango 88.5Mınimo 951Maximo 1039Suma 39622

Cuenta 40

Fuente: Autores.

4.4.1. AJUSTES DEL PROCESAMIENTO DE LA IMAGEN DE PROFUN-

DIDAD

Para solucionar las fallas del sensor de profundidad se realizo un algoritmo que toma la

vecindad del pıxel que es el centro del objeto. El tamano fue de 25 pıxeles a los cuales se

les obtuvo el promedio. Esta solucion se muestra en la Fig.39.

FIGURA 39: Vecindad del pıxel para hallar la altura

Fuente. Autores

A continuacion se muestran los resultados que se obtuvieron luego de realizar los cambios

ya mencionados. La prueba fue la misma, colocar dos objetos a la misma altura sobre la

bandeja y obtener esta medida. En la Fig.40 se observa el diagrama de barras que muestra

la altura de los objetos que detecto el algoritmo junto con el diagrama de Pareto que muestra

su acumulado.

57

Page 61: Selección y clasificación de piezas mediante visión de ...

FIGURA 40: Diagrama de Pareto correccion de altura

Fuente. Autores

En este diagrama de barras se puede observar que no hay una gran dispersion en los datos

obtenidos. Otra de las mejoras del algoritmo se evidencia en la desviacion estandar la cual

paso de 27.25 mm a 5.74 mm. Lo cual se muestra en la Tabla.3

TABLA 3: Correccion altura objetos.

Altura de los objetos

Media 1011.4675

Error tıpico 0.907641

Mediana 1012.6

Moda 1004

Desviacion estandar 5.7404

Varianza de la muestra 32.9525

Curtosis -1.058006

Coeficiente de asimetrıa 0.1085

Rango 20.5

Mınimo 1002.7

Maximo 1023.2

Suma 40458.7

Cuenta 40

Fuente: Autores.

58

Page 62: Selección y clasificación de piezas mediante visión de ...

Tambien se puede observar que el valor mınimo es 1002.7mm y el valor maximo es 1023.2mm

existiendo una diferencia de 20.5mm, esto quiere decir que se disminuyo en 60mm la dife-

rencia que existıa, ademas la media respecto al valor teorico tiene una diferencia de 9 mm,

y la moda una diferencia de 16 mm. Esto no es un dato concluyente para la aplicacion la

cual necesita de una gran precision, pero debido a las caracterısticas tecnicas del sensor

es una medicion aceptable.

4.5. INTERFAZ DE LA APLICACION DE VISION DE MAQUI-

NA

La interfaz grafica es el sistema de visualizacion que permite la comunicacion entre el usua-

rio y el robot, por medio de las funciones del programa se ponen a disposicion del usuario

dandole facilidad en el control del proceso. Matlab R© proporciona la programacion a traves

de Graphical User Interface con la cual se realizo el presente proyecto. Para la configuracion,

adquisicion y visualizacion del proceso se utilizo Matlab R©. Ver Fig.41.

FIGURA 41: Interfaz de usuario en Matlab R©

Fuente. Autores

59

Page 63: Selección y clasificación de piezas mediante visión de ...

Esta interfaz esta formada por las siguientes opciones.

Configuracion: Esta opcion se fundamenta en un sistema flexible y de facil entendi-

miento para el usuario que realice la supervision del proceso, para el procesamiento

de las imagenes es necesario realizar una configuracion previa, del tamano de la ima-

gen en donde se toma una imagen de prueba y se realiza una configuracion a traves

de la funcion Banner, la cual al tener la imagen, corta progresivamente hasta obtener

una imagen del tamano de la bandeja como se muestra en la Fig.42. Cada Banner

tiene una funcion diferente en donde los cuatro forman el corte en las coordenadas X

y Y al igual que el posicionamiento en las mismas, para finalmente obtener el espacio

de trabajo deseado como se muestra en la Fig.42 (b).

FIGURA 42: Captura del sistema y recorte con la funcion de configuracion

Fuente. Autores

Procesamiento: Esta opcion tiene dos alternativas, la primera es manual en donde

al obtener la imagen con el corte deseado se debe accionar el boton captura que

realizara la toma de la imagen con las coordenadas anteriormente configuradas y

posteriormente el accionamiento del boton procesamiento, el cual realiza el inicio del

procesamiento de la imagen. La segunda opcion es automatico, en donde el programa

realiza secuencialmente la toma y procesamiento de la imagen.

Visualizacion y estado: Esta opcion permite que el usuario pueda observar el proceso,

se tiene la posibilidad de observar la imagen original y la imagen cuando se a efec-

tuado el procesamiento, tambien de visualizar la profundidad de los objetos en una

imagen. La opcion de “status” indica cual brazo del robot realizara la tarea de selec-

cion y clasificacion, a demas indica el final del procesamiento para dar por terminada

la tarea de vision de maquina enviando las coordenadas y la orden de realizacion de

60

Page 64: Selección y clasificación de piezas mediante visión de ...

la tarea final. Por otra parte, el vıdeo se realiza con el fin de supervision de la tarea,

el robot tiene un area de trabajo delimitada con una franja amarilla, que indica que

mientras el robot se encuentre operando, el personal debe permanecer fuera de esta

lınea, esto con el fin de evitar accidentes, por esto, el vıdeo es importante a la hora de

supervision de la tarea continuamente mientras se encuentre funcionando.

Data. Esta opcion esta configurada para indicar la cantidad de piezas presentes en

la imagen y reconocer el tipo de pieza. De manera informativa en la aplicacion del

proceso, se visualiza el tipo de objeto detectado por el algoritmo, a sı mismo son

necesarios datos de posicion y orientacion de cada pieza, por lo cual se hace una

opcion “Data”, para enviar posteriormente esta informacion a la aplicacion desarrollada

en Visual Studio. Al enviar los datos adquiridos se finaliza el proceso de vision de

maquina.

4.6. COMUNICACION ENTRE MATLAB R© Y EL CONTRO-

LADOR

En esta seccion describe la aplicacion puente entre Matlab R© y el controlador del robot junto

con la programacion y descripcion de los parametros que se usaron del controlador.

para realizar esta comunicacion se uso Motocom R© SDK el cual es un paquete de librerıas

las cuales estan desarrolladas en C++ y en C# que permiten establecer comunicacion entre

un software de desarrollo y el controlador FS100. La aplicacion permite abrir el puerto de

comunicacion Ethernet del controlador y el PC, obtener el status del robot, leer y escribir las

variables que soporta el controlador FS100. La estructura de las funciones se muestra en la

Fig.43.

FIGURA 43: Estructura de las funciones de Motocom SDK

Fuente. Autores

61

Page 65: Selección y clasificación de piezas mediante visión de ...

La estructura de la funcion esta definida por los siguientes datos que son obligatorios:

MotoCom32. Hace referencia al paquete que contiene las funciones que admite los

controladores Yaskawa.

Nombre de la funcion. Hace referencia a la funcion que se desea llamar.

ComHandle. Hacer referencia al grupo de conexion del robot, los controladores Yas-

kawa admiten mas de un robot para controlar. Esta informacion esta contenida en la

primera posicion del vector.

Vector. El vector cambia de tamano dependiendo de la funcion a la cual se haga refe-

rencia. A continuacion se muestran algunos ejemplos de las funciones utilizadas en la

aplicacion.

• MotoCom32.BscGetStatus (comHandle, out d1, out d2).

• MotoCom32.BscSelectMode (comHandle, 1).

• MotoCom32.BscPutVarDataEx (comHandle, varType, index, out value[0], ref by-

teArray[0], axisNum).

La aplicacion de la interfaz de comunicacion se muestra en la Fig.44.

62

Page 66: Selección y clasificación de piezas mediante visión de ...

FIGURA 44: Aplicacion de comunicacion desarrollada en Visual Studio

Fuente. Autores

Esta aplicacion cuenta con una serie de opciones que se clasificaron segun la funcion que

realizan.

Las funciones de comunicacion como su nombre lo indica se encargan de establecer

comunicacion entre el PC y el controlador. En esta parte se encuentra el Boton Set

Comunications en el cual se ingresa la direccion IP del controlador y se establece el

tipo de comunicacion ya sea directa o a traves de un servidor.

La opcion de Robot Status se encarga de leer en que estado se encuentra el robot por

ejemplo; si los servos estan encendidos, o si esta en modo Start.

La opcion Variable de control se encarga de leer o escribir las variables que soporta

el controlador FS100.

La opcion de position variable se encarga de leer o escribir las variables de posicion

del robot, estas variables contienen la orientacion y posicion de cada brazo en el punto

de control de la herramienta (TCP) respecto al origen.

El boton Automatic se encarga de leer la variable de posicion del robot, escribirla en

el controlador y espera la confirmacion de realizacion del Job.

63

Page 67: Selección y clasificación de piezas mediante visión de ...

Con estas opciones habilitas se realizaron pruebas para comprobar que la comunicacion se

halla establecido. Por esta razon, se dejo un cuadro de opciones donde se pueden escribir

las diferentes variables del controlador. Esto para garantizar que el robot no va a colisionar,

la prueba definitiva para observar si se establecio comunicacion fue la activacion de los

servos de manera remota.

La trasferencia de datos de Matlab R© y MotoCom SDK R© se realiza mediante un archivo de

texto, este archivo es de lectura y escritura para las dos aplicaciones. En este archivo de

texto se escriben las variables que funcionan como banderas o status para la activacion de

las dos aplicaciones.

4.7. PROGRAMACION DEL ROBOT SDA10F

Para la programacion del robot fue necesario realizar una traslacion del origen de coorde-

nadas, para esto se uso la opcion que ofrece Yaskawa la cual permite crear el origen de

coordenadas donde el usuario lo desee siempre y cuando sea un punto de accesible del

robot. Esta funcion lo que realiza es una matriz de trasformacion homogenea para ubicar el

nuevo punto de origen respecto a la coordenada base del origen del robot. En la Fig.45 se

muestra la traslacion y la rotacion del origen del sistema de coordenadas que se utilizo para

esta aplicacion.

FIGURA 45: Traslacion y rotacion de los brazos

Fuente. Autores

64

Page 68: Selección y clasificación de piezas mediante visión de ...

La programacion se realizo con la funcion Job Stack, el cual permite realizar el llamado de

subprogramas, utilizando la combinacion de instrucciones “CALL” y “JUMP”. En la Fig.45 se

muestra la estructura de la funcion Job Stack. Esta funcion tiene como lımite el llamado de

doce Stack Level. En la Fig.46 se muestra el flujo de informacion de la funcion Job Stack.

FIGURA 46: Funcion Job Stack

Fuente. Yaskawa Electric Corporation manual HW0448584

La programacion de los Job Stack se realizo de tal manera que un Job Main adquiriera las

variables de posicion enviadas desde el Motocom SDK R©. La estructura de la variable de

posicion se muestra en la Fig.47

65

Page 69: Selección y clasificación de piezas mediante visión de ...

FIGURA 47: Variables de posicion del Robot

Fuente. Autores

La variable de posicion contienen la informacion de la pocion en X, Y, Z. Ademas de la

orientacion Rx, Ry, Rz y Re. Tambien tiene en cuenta el tipo de efector final, debido a

que cada brezo del robot puede tener un efector final con caracterısticas dimensionales

diferentes.

66

Page 70: Selección y clasificación de piezas mediante visión de ...

5 PRUEBAS Y ANALISIS DE LA INTEGRACIONDE LAS APLICACIONES

Como ejercicio de verificacion de la aplicacion de Matlab y de comunicacion con el contro-

lador se realizo una serie de pruebas, las cuales consistieron en ubicar sobre una bandeja

4 piezas de diferente material y dimensiones, las cuales se muestran en la Fig.48.

FIGURA 48: Tipos de piezas para pruebas

Fuente. Autores

De izquierda a derecha se encuentra una pieza rectangular de parafina industrial, una rec-

tangular de empack y dos barras cilındricas del mismo material.

Para la primera prueba se ubico sobre la bandeja uno de cada material y se iba incremen-

tado de manera gradual hasta colocar la cantidad total de piezas. Las cuales corresponden

a 3 bloques de parafina industrial, 10 piezas barra cilındrica tipo 1, 7 piezas barra cilındrica

tipo 2, 3 piezas rectangulares de empaq. Ver Fig.49.

FIGURA 49: Pruebas finales ubicacion de las piezas

Fuente. Autores

67

Page 71: Selección y clasificación de piezas mediante visión de ...

En la Fig.50 se muestra los resultados obtenidos para la piezas de parafina industrial.

FIGURA 50: Pruebas Parafina Industrial

Fuente. Autores

De la Fig.50, se puede examinar que en la prueba 1 el sistema selecciono y clasifico de

manera satisfactoria un 88 % de las piezas que se colocaron sobre la bandeja, en la prueba

1 el sistema no identifico ninguna pieza por eso aparecen solo tres barras en la Fig.50. en

la prueba 2 el sistema tuvo un 100 % de efectividad y en la prueba 3 el sistema tuvo una

efectividad del 38 % , esta ultima prueba esta en el porcentaje mas bajo debido a que se

presento un brillo por la luz que se refleja en las piezas.

En la Fig.51 se muestra los resultados obtenidos para la piezas rectangulares de empack.

FIGURA 51: Pruebas piezas rectangulares de empack

Fuente. Autores

68

Page 72: Selección y clasificación de piezas mediante visión de ...

De la Fig.51 se considera que en las 3 pruebas el sistema selecciono y clasifico de manera

satisfactoria un 100 % de las piezas que se colocaron sobre la bandeja.

En la Fig.52 se muestran los resultados obtenidos para barras de empack tipo 1.

FIGURA 52: Pruebas barras de empack tipo 1

Fuente. Autores

De la Fig.50, se observa que en la prueba 1 el sistema selecciono y clasifico de manera

satisfactoria un 89 % de las piezas que se colocaron sobre la bandeja en esta prueba el

sistema no identifico ninguna pieza en una de las muestras, en la prueba 2 el sistema tuvo

un 75 % de efectividad y en la prueba 3 el sistema tuvo una efectividad del 92 %.

En la Fig.53 se muestran los resultados obtenidos para barras de empack tipo 2.

69

Page 73: Selección y clasificación de piezas mediante visión de ...

FIGURA 53: Pruebas barras de empack tipo 2.

Fuente. Autores

De la Fig.53, se observa que en la prueba 1 el sistema selecciono y clasifico de manera

satisfactoria un 92 % de las piezas que se colocaron sobre la bandeja, en la prueba 2 el

sistema tuvo un 100 % de efectividad y en la prueba 3 el sistema tuvo una efectividad del

92 %.

Del total de las pruebas aplicadas al sistema para la deteccion de la parafina, el sistema

selecciono y clasifico el 75 % de la piezas colocadas sobre la bandeja. De las piezas rec-

tangulares de empack el sistema es 100 % segun las pruebas realizadas. Para las piezas

cilındricas tipo 1 el sistema tiene una efectividad de 85 % y para las piezas cilındricas tipo 2

la efectividad es del 94 %.

El sistema no es el 100 % efectivo debido a que las piezas dependiendo la ubicacion ge-

neran brillo, otro inconveniente se presenta cuando la profundidad detectada por el sensor

kinect no es la esperada debido a que el robot se ubica sobre la pieza pero no alcanza a

llegar, porque la coordenada enviada en Z no es la correcta.

La segunda prueba correspondio a colocar sobre la bandeja de manera aleatoria y de forma

mezclada las piezas de manera progresiva, como se muestra en la Fig.54.

70

Page 74: Selección y clasificación de piezas mediante visión de ...

FIGURA 54: Piezas de manera aleatoriamente sobre la bandeja

Fuente. Autores

En la prueba numero 1 el sistema cumplio con un 88 % de satisfaccion de seleccion y

clasificacion, en la prueba numero dos con un 81 %, en la numero tres 80 %, en la cuatro con

un 83 % y la ultima prueba fue con 85 % de satisfaccion. Los resultados de estas pruebas

se muestran en la Fig.55.

FIGURA 55: Errores de las pruebas

Fuente. Autores

71

Page 75: Selección y clasificación de piezas mediante visión de ...

La Fig.55 corresponde a la dispersion del error de las pruebas realizadas. Se empezo con

3 piezas hasta llegar a un maximo 20 de piezas. El comportamiento ideal del sistema com-

prenderıa que en la Fig.55 todos los valores estuvieran en uno. Se muestra que el dato que

esta mas disperso del valor uno es en la prueba cinco con un error del 50 %, el error es alto

pero la cantidad de piezas que tenıa que clasificar eran 4. En este orden le siguen la prueba

tres y cuatro donde el sistema presento un error del 40 % donde se tenıan que clasificar

8, 13 y 19 piezas pero solo cumplio el 60 % da la tarea. Los demas datos muestran una

dispersion que va desde el 0 % hasta el 35 %.

72

Page 76: Selección y clasificación de piezas mediante visión de ...

CONCLUSIONES

Para esta aplicacion se selecciono el sensor kinect, el cual presenta la ventaja de que su

sensor de profundidad puede detectar objetos de manera simultanea en el eje horizontal

y vertical mientras que el sensor Hokuyo, solo detecta objetos de manera horizontal. Las

pruebas al sensor de profundidad kinect dan como resultado una variacion en la medida de

4.3 mm, luego de aplicar un algoritmo de correccion este valor disminuyo en un 79 %.

A la hora de la sujecion de las piezas, la parametrizacion cumple un papel fundamental

puesto que dependiendo la geometrıa y tamano de la pieza se condiciona el uso de los

gripper, en este caso el bloque de parafina tipo 2 se condiciona al robot 2 con el gripper

de tres dedos. Igualmente se divide el area de trabajo con el menor gasto de energıa, esto

quiere decir que por proximidad del robot a la pieza, este desarrollara la tarea segun la

posicion de estas dentro del contenedor.

Por otra parte, el color base para el procesamiento de imagenes es primordial para el re-

conocimiento de piezas, estas pueden contrastar con la bandeja y convertirse en piezas no

existentes en la imagen, para ello se implemento la bandeja de un color oscuro para con-

trastar con las piezas, esto ayudo al reconocimiento aunque se presento dificultad con las

piezas de parafina ya que es azul oscura, para ello se uso el formato de imagen “hsv” cual

el cual se identifica el umbral de contrate de la pieza de parafina industrial y el fondo de la

bandeja.

Ahora bien, la aplicacion de vision de maquina realizada para la deteccion de objetos pre-

senta un 57 % de precision, en un 35 % la aplicacion reconocera un objeto mas de la canti-

dad teorica y el 8 % dos objetos o mas, esto se debe en gran medida a la iluminacion ya que

esta no se puede controlar y en ocasiones se generan sombras las cuales el algoritmo las

reconoce como un objeto. Para la correcion de este porcentaje de error es necesaria una

adecuacion en el area de trabajo en la iluminacion, esta no fue posible realizarla puesto que

el espacio de trabajo es limitado.

La aplicacion es capaz de reconocer en 100 % la orientacion y posicion de los objetos

identificados esto incluye el porcentaje donde por la iluminacion la aplicacion reconoce una

cantidad mayor de objetos a la teorica pero con el algoritmo implementado, el sistema no

presenta error con estos objetos indeseados y los excluye del procesamiento de imagenes.

73

Page 77: Selección y clasificación de piezas mediante visión de ...

En el 90 % de las pruebas realizadas, la aplicacion fue capaz de seleccionar y clasificar los

objetos ubicados sobre la bandeja y el 10 % restante representa inconvenientes debido a

que los objetos no se encuentran separados entre sı, con una distancia donde por el tamano

de los Gripper no colisionara con los otros objetos.

Para trabajo futuro es necesario implementar un sensor capaz de reconocer las piezas

apiladas, este sensor tiene un costo por encima de los 2000 dolares, por lo cual para este

trabajo no fue posible el uso de este. En ambientes industriales es necesario un espacio

disenado exclusivamente para la vision de maquina, con la iluminacion y espacio adecuado

dentro de un proceso, esto optimizara el sistema y dara un tratamiento de imagenes limpio

y preciso para la tarea.

74

Page 78: Selección y clasificación de piezas mediante visión de ...

Bibliografıa

Baeza, Victor Vargas. ((Sistema de vision artificial para el control de calidad en piezas cro-

madas)). Instituto Politecnico Nacional.

Cepsa (, 2015). URL: http://www.cepsa.com/cepsa/Que_ofrecemos/Bases_y_

Parafinas/Usos_de_la_parafina/.

Clavijo, Sergio, Alejandro Vera y Alejandro Fandino (, 2014). ((Dinamica industrial reciente

y perspectivas)). En: URL: http://anif.co/sites/default/files/uploads/

Ene27-14.pdf.

Curless, Brian Lee (, 1997). ((New methods for surface reconstruction from range images)).

Stanford.

Emanuele, Trucco y Verri Alesandro (, 1998). Introductory Techniques for 3-D Computer

Vision. Prentice Hall, pag. 68.

Foundation, Nuffield (, 1984). Fısica basica Nuffield. editorial reverte, S.A.

Garcıa, Juan Felipe Pinzon (, 2011). ((Enfermedades mas frecuentes en el trabajo)). En: URL:

http://www.elempleo.com/colombia/investigacion_laboral/enfermedades-

mnes-frecuentes-en-eltrabajo-/7502189.

Giovanna, S y col. (, 2014). ((A 3D pattern matching method for “Bin picking” applications)).

En: Optics and Lasers in Engineering 54, pags. 222-231. URL: http://dx.doi.org/

10.1016/j.optlaseng.2013.07.014.

Herrera, Jose Villanueva y Sergio Cordova Palomino (, 2008). ((Sistema de vision artificial)).

En: 33F.

Infaimon, vision artificial (, 2015). URL: http://blog.infaimon.com.

Jaramillo, AndrAEleA¡zar, Flavio Prieto y Pierre Boulanger (, 2007). ((InspecciAde piezas 3D:

revisiAde la literatura)). es. En: IngenierAa e InvestigaciA 27, pags. 118 -126. ISSN: 0120-

5609. URL: http://www.scielo.org.co/scielo.php?script=sci_arttext&

pid=S0120-56092007000300013&nrm=iso.

Malpartida, Eddie Angel Sobrado (, 2003). ((Sistema de vision artificial para el reconocimien-

to y manipulacion de objetos utilizando un brazo robot)).

MetalplasticSA (, 2015). URL: http://www.metalplasticsas.com/PlasticosIngenieriaEmpack.

html.

Oyarzun, Juan Pablo (, 2014). ((Robots industriales: el record continua)). En:

Perez, David Garcia (, 2015). En: URL: http://dgpfotografia.com/2015/06/24/

evolucion-de-los-sensores-digitales-en-fotografia-de-ccd-a-cmos/.

75

Page 79: Selección y clasificación de piezas mediante visión de ...

Porras, Jose y Miguel de la cruz (, 2012). ((Clasification system based on computer vision)).

En: CE 1002 Taller de Electronica IV.

Santillan, Elias Garcıa (, 2008). ((Deteccion y clasificacion de objetos dentro de un salon de

clases empleando tecnicas de procesamiento digital de imagenes)).

Sin, Sebastian Tornil y Juan Angel Gamiz Caro (, 2014). ((La robotica industrial en el ambi-

to de la automatizacion global: estado actual y tendencias)). En: URL: http://www.

tecnicaindustrial.es/TIFrontal/a- 5832- La- robotica- industrial-

ambito-automatizacion-global--actual-tendencias.aspx.

Squizzato, Stefano (, 2012). ((Robot “Bin picking”: 3D poses retrieval based on Point Cloud

Library [Magistrali biennali])). URL: http://tesi.cab.unipd.it/42217/.

trabajo, Ministerio de (, 2014). ((Tabla de enfermedades laborales)). En: URL: http://www.

mintrabajo.gov.co/normatividad-agosto-decretos-2014/3708-decreto-

1477-del-5-de-agosto-de-2014.html.

76