100
1 Información Importante La Universidad Santo Tomás, informa que el(los) autor(es) ha(n) autorizado a usuarios internos y externos de la institución a consultar el contenido de este documento a través del Catálogo en línea de la Biblioteca y el Repositorio Institucional en la página Web de la Biblioteca, así como en las redes de información del país y del exterior con las cuales tenga convenio la Universidad. Se permite la consulta a los usuarios interesados en el contenido de este documento, para todos los usos que tengan finalidad académica, nunca para usos comerciales, siempre y cuando mediante la correspondiente cita bibliográfica se le dé crédito al trabajo de grado y a su autor. De conformidad con lo establecido en el Artículo 30 de la Ley 23 de 1982 y el artículo 11 de la Decisión Andina 351 de 1993, la Universidad Santo Tomás informa que “los derechos morales sobre documento son propiedad de los autores, los cuales son irrenunciables, imprescriptibles, inembargables e inalienables.” Bibliotecas Bucaramanga Universidad Santo Tomás

Bibliotecas Bucaramanga Universidad Santo Tomás

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Bibliotecas Bucaramanga Universidad Santo Tomás

1

Información Importante

La Universidad Santo Tomás, informa que el(los) autor(es) ha(n) autorizado a usuarios

internos y externos de la institución a consultar el contenido de este documento a través del

Catálogo en línea de la Biblioteca y el Repositorio Institucional en la página Web de la

Biblioteca, así como en las redes de información del país y del exterior con las cuales tenga

convenio la Universidad.

Se permite la consulta a los usuarios interesados en el contenido de este documento, para

todos los usos que tengan finalidad académica, nunca para usos comerciales, siempre y

cuando mediante la correspondiente cita bibliográfica se le dé crédito al trabajo de grado y

a su autor.

De conformidad con lo establecido en el Artículo 30 de la Ley 23 de 1982 y el artículo 11 de

la Decisión Andina 351 de 1993, la Universidad Santo Tomás informa que “los derechos

morales sobre documento son propiedad de los autores, los cuales son irrenunciables,

imprescriptibles, inembargables e inalienables.”

Bibliotecas Bucaramanga Universidad Santo Tomás

Page 2: Bibliotecas Bucaramanga Universidad Santo Tomás

2

CONTROL DE UN BRAZO ROBÓTICO INDUSTRIAL BASADO EN PROCESAMIENTO DE IMÁGENES PARA LA MANIPULACIÓN DE PIEZAS

MARIO ANDRÉS DURÁN GÓMEZ NÉSTOR DANILO ARENAS ARDILA

UNIVERSIDAD SANTO TOMÁS DIVISIÓN DE INGENIERÍAS Y ARQUITECTURA

FACULTAD DE INGENIERÍA MECATRÓNICA BUCARAMANGA

2016

Page 3: Bibliotecas Bucaramanga Universidad Santo Tomás

3

CONTROL DE UN BRAZO ROBÓTICO INDUSTRIAL BASADO EN PROCESAMIENTO DE IMÁGENES PARA LA MANIPULACIÓN DE PIEZAS

MARIO ANDRÉS DURAN GÓMEZ NÉSTOR DANILO ARENAS ARDILA

Proyecto presentado como requisito con el fin de optar el título de Ingeniero Mecatrónico.

Director Edwin Alonso González Querubín, M.Sc.

Ingeníero Mecatrónico

UNIVERSIDAD SANTO TOMÁS DIVISIÓN DE INGENIERÍAS Y ARQUITECTURA

FACULTAD DE INGENIERÍA MECATRÓNICA BUCARAMANGA

2016

Page 4: Bibliotecas Bucaramanga Universidad Santo Tomás

4

CONTENIDO Pág.

LISTA DE FIGURAS ................................................................................................ 7

LISTA DE TABLAS .................................................................................................. 9

GLOSARIO ............................................................................................................ 10

RESUMEN ............................................................................................................. 12

1. CONTROL DE UN BRAZO ROBÓTICO INDUSTRIAL BASADO EN

PROCESAMIENTO DE IMÁGENES PARA LA MANIPULACIÓN DE PIEZAS ...... 15

1.1 FORMULACIÓN DEL PROBLEMA .......................................................... 15

1.2 JUSTIFICACIÓN ........................................................................................... 16

1.3 OBJETIVOS ............................................................................................... 17

1.3.1 Objetivo general ..................................................................................... 17

1.3.2 Objetivos específicos .............................................................................. 17

2 MARCO DE REFERENCIA................................................................................. 18

2.1 ESTADO DEL ARTE .................................................................................... 18

2.2 MARCO TEÓRICO ....................................................................................... 22

2.2.2 Técnicas para tratamiento de imágenes ................................................. 22

2.2.3 Calibración de la cámara ........................................................................ 26

3. METODOLOGÍA ................................................................................................ 27

4. ROBOT INDUSTRIAL ABB IRB-120 .................................................................. 29

4.1 CINEMÁTICA DIRECTA ............................................................................... 29

4.1.1 Parámetros Denavit-Hartenberg ............................................................. 30

4.2 CINEMÁTICA INVERSA ............................................................................... 34

4.3 POSICIONAMIENTO DE LOS OBJETOS .................................................... 42

4.4 CALIBRACIÓN ............................................................................................. 44

4.4.1 Calibración eje 1 (coincide con la rotación nombrada 𝑸𝟏) ..................... 45

4.4.2 Calibración eje 2 (coincide con la rotación nombrada 𝑸𝟐) ..................... 46

Page 5: Bibliotecas Bucaramanga Universidad Santo Tomás

5

4.4.3 Calibración eje 3 (coincide con la rotación nombrada 𝑸𝟑) ..................... 46

4.4.4 Calibración eje 4 (coincide con la rotación nombrada 𝑸𝟒) ..................... 46

4.4.5 Calibración eje 5 y 6 utilizando la herramienta de calibración (coincide

con la rotación nombrada 𝑸𝟓 y 𝑸𝟔 respectivamente) ..................................... 47

4.5 ÁREA DE TRABAJO ........................................................................................ 47

5. TRATAMIENTO DE IMÁGENES ....................................................................... 49

5.1 IDENTIFICACIÓN DE FIGURAS .................................................................. 51

5.2 DESCRIPCIÓN DE TRATAMIENTO DE IMÁGENES .................................. 52

6. SISTEMA COMPLETO ...................................................................................... 55

6.1 BRAZO ROBÓTICO ..................................................................................... 55

6.2 SISTEMA DE VISIÓN ................................................................................... 56

6.2.1 Calibración de la cámara ........................................................................ 56

6.3 PINZA ELECTRO-NEUMÁTICA ................................................................... 57

6.3.1 Circuito implementado ............................................................................ 58

6.4 FLEXPENDANT............................................................................................ 60

6.5 CONTROLADOR IRC5 ................................................................................. 61

7. LÓGICA DEL SISTEMA ..................................................................................... 63

8. INTERFAZ GRÁFICA ........................................................................................ 67

9. PRUEBAS Y RESULTADOS ............................................................................. 69

9.1 RESTRICCIÓN DE OBJETOS ..................................................................... 69

9.2 MANIPULACIÓN DE OBJETOS ................................................................... 73

9.3. SIMULACIÓN .............................................................................................. 75

9.4. IDENTIFICACIÓN DE FORMAS .................................................................. 78

10. CONCLUSIONES Y TRABAJOS FUTUROS ................................................... 87

Page 6: Bibliotecas Bucaramanga Universidad Santo Tomás

6

10.1 CONCLUSIONES ....................................................................................... 87

10.2 TRABAJOS FUTUROS .............................................................................. 88

BIBLIOGRAFÍA ...................................................................................................... 89

ANEXOS ................................................................................................................ 93

Page 7: Bibliotecas Bucaramanga Universidad Santo Tomás

7

LISTA DE FIGURAS

Pág.

Figura 1. Ilustración con métodos de procesamiento de imágenes ....................... 22

Figura 2. Imagen con balance de grises ................................................................ 22

Figura 3. Método de segmentación ........................................................................ 23

Figura 4. Método de detección de bordes .............................................................. 24

Figura 5. Método de crecimiento de regiones ........................................................ 24

Figura 6 Formato RGB ........................................................................................... 25

Figura 7. Método de erosión .................................................................................. 25

Figura 8. Método de dilatación ............................................................................... 26

Figura 9. Diseño metodológico .............................................................................. 28

Figura 10. Robot industrial ABB IRB-120 ............................................................... 29

Figura 11. Sistema de referencia robot ABB .......................................................... 32

Figura 12. Punto de muñeca .................................................................................. 35

Figura 13. Árbol de posibilidades brazo robótico ................................................... 41

Figura 14. Posicionamiento de coordenadas ......................................................... 43

Figura 15 Conversión de píxeles a sistema cegesimal .......................................... 44

Figura 16. Pines de configuración .......................................................................... 45

Figura 17. Área de trabajo robot ABB IRB 120 ...................................................... 48

Figura 18. Objetos con forma primitiva .................................................................. 49

Figura 19. (a): figura Original, (b): figura después del procesamiento ................... 50

Figura 20. Selección de objetos por área .............................................................. 51

Figura 21. Diagrama de flujo Identificación de formas ........................................... 52

Figura 22. Brazo Industrial ABB ............................................................................. 55

Figura 23. Cámara WEB ........................................................................................ 56

Figura 24. Superficie plana (método complanar) ................................................... 57

Figura 25. Gripper neumático ................................................................................ 58

Figura 26. Mosfet IRF 540 ..................................................................................... 59

Figura 27. Diodo Rectificador................................................................................. 59

Figura 28. Circuito implementado .......................................................................... 60

Figura 29. Flexpendant .......................................................................................... 61

Figura 30. Controlador IRC5 .................................................................................. 62

Figura 31. Punto inicial .......................................................................................... 63

Figura 32. Posición por encima del objeto ............................................................. 64

Figura 33. Punto home con objeto ......................................................................... 65

Figura 34. Posición de los objetos trasladados ...................................................... 66

Figura 35. Interfaz de simulación Robot ABB ........................................................ 67

Figura 36. Prueba 2 ............................................................................................... 70

Figura 37 Prueba 3 ................................................................................................ 71

Figura 38. Prueba 4 ............................................................................................... 72

Figura 39. Prueba 5 ............................................................................................... 72

Page 8: Bibliotecas Bucaramanga Universidad Santo Tomás

8

Figura 40. Diagrama Flujo Flexpendant ................................................................. 74

Figura 41. Distribución zona de trabajo ................................................................. 75

Figura 42. Modelo CAD Robot ABB ....................................................................... 77

Figura 43. Modelo del robot ABB en Simulink ....................................................... 77

Figura 44. Bloque manipulador .............................................................................. 78

Figura 45. Bloque para cada articulación ............................................................... 78

Figura 46. Detección de formas ............................................................................. 79

Figura 47. Figuras Grandes y pequeñas ................................................................ 79

Figura 48. Cuadrado grande y pequeño ................................................................ 80

Figura 49. Triángulos con diferente tamaño .......................................................... 80

Figura 50. Luz remota apagada ............................................................................. 81

Figura 51. Luz incidente sobre área trabajo ........................................................... 81

Figura 52. Triángulos con diferente acomodación ................................................. 82

Figura 53. Figura no primitiva ................................................................................ 82

Figura 54. Prueba de Repetitividad ........................................................................ 83

Figura 55. Prueba con luz ambiente ...................................................................... 84

Figura 56. Prueba con diferentes condiciones de luminosidad .............................. 85

Page 9: Bibliotecas Bucaramanga Universidad Santo Tomás

9

LISTA DE TABLAS

Pág.

Tabla 1. Parámetros Denavit-Hartenberg .............................................................. 31

Tabla 2. Tabla de resultados ................................................................................. 83

Tabla 3. Resultados Prueba Luz ambiente ............................................................ 85

Tabla 4. Resultados Prueba con diferentes condiciones ambientales ................... 86

Page 10: Bibliotecas Bucaramanga Universidad Santo Tomás

10

GLOSARIO

Imagen: Según la definición de Esqueda [1], la imagen es un arreglo bidimensional de píxeles, cada uno de ellos con diferente tonalidad e intensidad luminosa (escala de gris). Resolución: Es la cantidad de pixeles que definen la imagen [2]. Píxel: Elemento básico de una imagen digital [1].

Tratamiento de imágenes: Es el procedimiento que se le realiza a cualquier

imagen digital por medio de una computadora digital [3].

Robot: Según la definición que se le ha otorgado mundialmente se conoce como:

“Manipulador multifuncional reprogramable, capaz de mover materiales, piezas,

herramientas o dispositivos especiales, a través de movimientos variables

programados, para el desempeño de tareas diversas” [4].

Grado de libertad (GDL): Se define como el número de parámetros independientes

que se requieren para definir de manera única su posición en el espacio en cualquier

instante de tiempo [5].

Brazo robótico: Se define como el conjunto de elementos electromecánicos que

propician el movimiento de un elemento terminal (Gripper o herramienta) [6].

Controlador IRC5: Es un dispositivo electrónico industrial, capaz de controlar las

señales que en él están disponibles, tales como, señales de dispositivos de entrada,

dispositivos de salida, cualquier tipo de comunicación que el dispositivo soporte,

entre otros. Es el dispositivo que tiene el mando sobre el proceso en el cual se esté

actuando, y encargado de examinar las señales y acciones de dicho proceso [7].

Matlab: Es un sistema de programación y cálculo basado en la manipulación de

matrices. El nombre mismo del sistema o paquete de cómputo proviene de la

abreviación Matriz Laboratory o laboratorio de matrices [8].

Lenguaje de programación RAPID: Es un software de programación propio de la

industria de ABB, los cuales se especializan en la construcción y programación de

robots industriales, este lenguaje se puede manejar bajo el entorno de Robot-Studio

y el Flexpendant, los cuales son software y dispositivo propio de la empresa [7].

Articulación Rotacional: Una articulación revoluta o rotacional, también conocida

como “par giratorio”, “bisagra” o “articulación de clavija”, permite que dos eslabones

pareados giren, uno respecto al otro, alrededor del eje de la articulación [9].

Page 11: Bibliotecas Bucaramanga Universidad Santo Tomás

11

Articulación planar: Esta articulación posee tres grados de libertad, la cual permite

dos traslados a lo largo de dos ejes independientes del plano de contacto y una

rotación alrededor del eje perpendicular del plano [9].

Articulación cilíndrica: Esta articulación permite la rotación alrededor del eje de

la articulación y el traslado independiente a lo largo de ella [9].

Articulación esférica: Este tipo de articulación permite que uno de los eslabones

pareados gire libremente en todas las orientaciones posibles respecto al otro

alrededor del centro de una esfera. No permite el traslado relativo [9].

Articulación de tornillo: Permite que dos eslabones unidos giren alrededor del eje

de la articulación y se trasladen, al mismo tiempo, a lo largo de él. Sin embargo, el

traslado no es independiente, sino que se relaciona con la rotación por el paso del

tornillo [9].

Articulación prismática: “articulación prismática” o “par cinemático prismático”

permite que dos eslabones arreglados en pares se deslicen, uno respecto al otro, a

lo largo de su eje [9].

Page 12: Bibliotecas Bucaramanga Universidad Santo Tomás

12

RESUMEN

El presente libro presenta un método con un algoritmo de tratamiento de imágenes,

el cual resuelve el problema del posicionamiento y traslado de objetos de forma

primitiva en su área transversal, apoyado en la realización de un algoritmo de

tratamiento de imágenes, esto con el fin de obtener características de los objetos

que se encuentran dentro de la imagen.

El algoritmo se basa en la comparación de dos imágenes, las cuales son capturadas

por una cámara web, una vez se realiza dicha comparación, se procede a obtener

las características propias de cada objeto, de las cuales se resaltan: el centroide de

cada objeto, el área, entre otras. Una vez se realiza este proceso se aplica el

algoritmo de Denavit Hartenberg para así obtener un modelo de la cinemática

directa del robot, posteriormente se realiza el procedimiento del desacoplo

cinemático del mismo, con el de que, a partir de la posición de cada uno de los

objetos, se obtienen el valor de cada articulación del robot industrial ABB, IRB-120.

Esto con el fin de posicionar cada objeto y trasladarlo hacia otra área.

También se realiza el reconocimiento de la forma de cada una de los objetos, las

figuras admitidas son: círculos, cuadrados y triángulos.

Todos los valores articulares y la forma de cada objeto, se presentarán en una

interfaz de usuario, la cual se realizó bajo el software de programación Matlab

Page 13: Bibliotecas Bucaramanga Universidad Santo Tomás

13

INTRODUCCIÓN

El desarrollo tecnológico presentado en los últimos años ha permitido que tanto el sector industrial como el académico impulsen el desarrollo de proyectos de investigación, los cuales han permitido solucionar los problemas presentados en estas áreas de una forma innovadora, tal como lo es la Visión Artificial. Incursionar en esta línea de investigación permite otorgar una solución a un problema que se refleja sobre todo en el sector automotriz, mediante la emulación de un sistema complejo del cuerpo humano, el sistema de visión, y que con la ayuda de este se tenga un posicionamiento de una extremidad humana, en este caso de un brazo; apoyados en el uso de la robótica y de la inteligencia artificial.

Para solucionar lo anteriormente mencionado, se desea obtener las características de una imagen, en la cual habrá objetos ubicados aleatoriamente, de esta manera realizar el posicionamiento de una pinza electro neumática sobre ellos, la cual está anclada a un brazo industrial ABB de referencia IRB-120, para de esta manera trasladar a cada uno de ellos a un área, la cual se pude observar como parte de otro proceso, en el cual no interviene ni el sistema de visión, ni mucho menos el brazo robótico. La realización de este sistema es complejo, ya que, para simular una acción, en la cual se ve involucrado el ojo humano, se deben poseer muchas más variables en cuenta de las que se tienen en la realización del proyecto; por tal motivo se plantea una alternativa que permite llevar a cabo la emulación de este sistema.

Cabe resaltar que en la Universidad Santo Tomás no se había realizado un proyecto

de este tipo, debido a que no se usaba el brazo robótico y se contaba con poca

información al respecto del dispositivo.

Por tal motivo el desarrollo de este proyecto permite que la Facultad de Ingeniería Mecatrónica cuente con una herramienta netamente industrial para la realización de prácticas en la materia de robótica, y así mismo se puedan obtener muchos beneficios en el ámbito académico, dado a que los estudiantes tendrán una idea más completa acerca de los procesos industriales en los cuales se cuenta con la utilización de este tipo de automatización, promoviendo así el uso de todos los recursos con los cuales cuenta la universidad.

Page 14: Bibliotecas Bucaramanga Universidad Santo Tomás

14

A continuación, se presenta un breve resumen de cada una de las secciones de la cual consta el libro, en total son diez secciones, de las cuales la primera de ellas describe la formulación del problema y los objetivos que se plasmaron para la realización del proyecto. En la sección dos, se enuncia el estado del arte y todos los conceptos que se deben tener en cuenta. La tercera parte habla de la metodología, del procedimiento, de cómo se planteó la resolución del proyecto. En la cuarta sección se mencionan los temas relacionados al brazo industrial ABB, como lo son: la cinemática directa, la cinemática inversa y la calibración que se debe realizar al brazo robótico para que este tenga la mayor precisión posible. En la quinta sección se habla acerca del método que se aplicó para realizar el tratamiento de las imágenes. En la sexta sección, se describen los elementos utilizados de todo el sistema, como lo son: el sistema de visión utilizado, la pinza electro neumática, el Flexpendant y el controlador IRC5. En la séptima sección, se describe la trayectoria y los movimientos que el brazo robótico realiza para hacer el traslado de las piezas. En la octava sección, se describe acerca de la interfaz gráfica, de los elementos que esta posee y demás. La novena sección se realizan las pruebas pertinentes de cómo se deben posicionar los objetos dentro del campo de visión de la cámara. Por último, la décima sección en la cual se describen las conclusiones y los posibles trabajos futuros que el proyecto puede tener.

Page 15: Bibliotecas Bucaramanga Universidad Santo Tomás

15

1. CONTROL DE UN BRAZO ROBÓTICO INDUSTRIAL BASADO EN

PROCESAMIENTO DE IMÁGENES PARA LA MANIPULACIÓN DE PIEZAS

1.1 FORMULACIÓN DEL PROBLEMA

Para dar solución al problema planteado, el cual es el posicionamiento de objetos

por medio de un brazo robótico implementando técnicas de tratamiento de

imágenes, se estudiaron varias alternativas para realizar dicho tratamiento, ya que

como es de conocimiento, existen varios métodos o técnicas que realizan dicho

tratamiento, pero ¿cuál de los métodos utilizados en el tratamiento de imágenes es

el más óptimo para el posicionamiento de objetos mediante el uso de un brazo

robótico?

Es allí donde se investigan cada uno de ellos, para conocer qué posibilidades brinda

cada técnica, cuál o cuáles son sus ventajas en su implementación y cuál de ellos

es el que consumiría menos recursos a nivel de computo. A partir de este análisis,

se obtiene el método, que se implementa para el proyecto, para así, dar solución a

este tema. Además, también se investigó la manera de que el brazo robótico

alcanzara cada objeto puesto sobre el área de trabajo, y también se realizó la

investigación de la transferencia de los datos al controlador con el cual cuenta el

brazo robótico.

A continuación, se enuncian algunos de los trabajos realizados por la comunidad

científica, los cuales nos brindaron conocimiento acerca las técnicas y también

acerca de la implementación de los algoritmos realizados.

Se conoce que, en la actualidad, las empresas competitivas con expectativas de

estabilidad y crecimiento no pueden permanecer estáticas. De acuerdo con Sáez

Vacas [10], ni siquiera las organizaciones más flexibles pueden descuidarse, pues

los clientes son cada vez más exigentes, demandan mayor calidad y eficacia en los

productos. Además, enfatizan en la importancia que deben darle las empresas al

entorno y la continuidad en el desarrollo de su capacidad de adaptación, para lograr

una ventaja superior a la de sus competidores.

Se han desarrollado varias técnicas para mejorar la calidad de los productos como:

El estudio y simplificación del trabajo, Análisis de Pareto [11], el método justo a

tiempo, entre otros. Sin embargo, las organizaciones tienen presente el deseo de

estar a la vanguardia, mediante la vigilancia a los crecientes desarrollos

tecnológicos e innovadores. Por su parte, la Comisión Económica para América

Latina y el Caribe (CEPAL), en uno de sus artículos plantea e incentiva la

tecnificación de los procesos para mejorar el producto [12].

Page 16: Bibliotecas Bucaramanga Universidad Santo Tomás

16

1.2 JUSTIFICACIÓN

El desarrollo de este proyecto, surge como una necesidad de dar uso a una

herramienta muy potente en el ámbito industrial, con la cual cuenta la facultad de

Ingeniería Mecatrónica de la Universidad Santo Tomás, como lo es el brazo robótico

industrial de marca ABB de referencia IRB-120. Este es un elemento de vital

importancia en los procesos de tecnificación, o en los procesos automatizados, ya

que además de brindar seguridad a la persona que lo opera, este elemento puede

realizar tareas repetitivas que requieren de mucha precisión y que opera altas y

bajas velocidades, cualidades con las que el humano cuenta, pero no con la misma

eficacia que lo haría un robot.

Además de la implementación de esta herramienta, se quiso incursionar en el

campo del visón artificial, y de esta manera unir estos dos elementos como uno solo,

también para dar a conocer la importancia que tienen los Ingenieros, de cómo

aplicar todos los conceptos teóricos impartidos a lo largo de su carrera universitaria,

y de cómo estos pueden dar solución a problemas del campo investigativo y también

del campo industrial, ya que sobre este tema de la visión artificial, se tienen varias

teorías o metodologías para diferentes situaciones. Por su parte en la robótica, la

utilización de una herramienta verdadera que existe en cualquier empresa que

posea un proceso automatizado.

Page 17: Bibliotecas Bucaramanga Universidad Santo Tomás

17

1.3 OBJETIVOS

1.3.1 Objetivo general

Diseñar una interfaz para el manejo de un brazo robótico industrial mediante técnicas de tratamiento de imágenes para la manipulación de piezas en su espacio de trabajo.

1.3.2 Objetivos específicos

Diseñar un algoritmo capaz de identificar objetos primitivos tales como prismas y cilindros, mediante técnicas basadas en el tratamiento de imágenes, para conocer las coordenadas del objeto dentro del área de trabajo

Diseñar un algoritmo capaz de calcular las coordenadas articulares del brazo ABB, aplicando el método de cinemática inversa, para que logre manipular el objeto.

Diseñar una interfaz gráfica mediante la implementación de un algoritmo de identificación de objetos y el algoritmo encargado de la cinemática inversa para mostrar y transferir las variables articulares del brazo robótico ABB IRB 120.

Page 18: Bibliotecas Bucaramanga Universidad Santo Tomás

18

2 MARCO DE REFERENCIA

2.1 ESTADO DEL ARTE

Los sensores son la forma de comunicación de las máquinas con el entorno, gracias

a ellos permiten adquirir variables como temperatura, proximidades, colores, entre

otros, variables que brindan a la máquina una idea de lo que sucede a su alrededor.

Sin embargo, con los grandes avances tecnológicos que se han evidenciado en los

últimos años, los sensores ya no son suficientes, pues cada vez es mayor la

exigencia de tener un conocimiento más amplio del entorno; razón por la cual se ha

hecho necesario contar con una vista artificial para obtener la mayor información

posible del entorno, de esta forma se pretende tomar decisiones más acertadas. A

partir de una revisión en bases de datos como Academic Search Complete,

ScienceDirect, Scopus, Google Académico, IEEE, la red de Revistas Científicas de

América Latina y el Caribe (Redalyc), entre otros, se presenta a continuación la

información actual más relevante de los estudios e investigaciones referentes a la

relación entre lectura y tratamiento de imágenes y brazos robóticos.

En el 2014, Alberto Rodríguez Bermejo [14] en su artículo “Desarrollo y

programación de un brazo antropomórfico”, el autor evidencia que se ha llevado la

habilidad cognitiva a un siguiente nivel, esto mediante el uso e implementación de

un Kinect con cámara de formato RGB, dicha cámara puede determinar el vector

posición de un objeto con respecto a un punto de referencia el cual es denominado

punto de origen. Esta aplicación es un gran avance en cuanto al reconocimiento del

entorno se refiere, ya que determina la profundidad a la que se encuentran los

objetos, es decir, es posible ver el mundo en 3-D.

El artículo “Interacción entre webcam y brazo robot para el posicionamiento del

efector final” de Joaquín Macanás Valera [15], en el cual el autor trabajó un proyecto

con un Kinect y una cámara RGBW. Se evidencia que se mejoró notoriamente las

condiciones de iluminación del entorno, este proceso se realizó debido a una

propiedad que posee este tipo de cámaras, las cuales pueden manipular el brillo

existente en la imagen (gracias al componente W del RGBW que hace referencia a

White), además utilizando diferentes métodos a los usados en el proyecto

anteriormente descrito.

Una aplicación enfocada a las personas invidentes, se describe en el artículo

“Sistema de identificación de objetos mediante RFID para un robot personal” escrito

por Corrales et al [16], donde se busca que las personas con discapacidad visual

de la tercera edad, o personas que no saben leer, sean capaces de reconocer

diferentes objetos que se presentan en su entorno.

Page 19: Bibliotecas Bucaramanga Universidad Santo Tomás

19

Además, una terminal robótica personal, la cual esté en capacidad de prestar

asistencia personal mediante un sistema de radiofrecuencia. Este sistema lee la

información del producto, accede a la nube y es capaz de transferir toda la

información disponible al usuario. Un ejemplo presentado, es el caso de los

medicamentos, el sistema dispone del nombre del medicamento, posología, modo

de empleo, indicaciones, utilidad y la fecha de caducidad, datos con los cuales se

orienta al usuario en la toma adecuada de la medicina, sin embargo, se debe

mencionar que en este proyecto no se utiliza un sistema de visión, sino que tiene

otro sistema capaz de identificar las características mencionadas anteriormente.

Por otra parte, en el campo de la robótica, también se han desarrollado estudios

donde se implementen técnicas de imitación, las cuales son útiles al juntarlas con

la inteligencia artificial, esta combinación da la posibilidad de aprender de las

acciones humanas tan sólo con la observación del movimiento. En el artículo

“Reconstrucción 3D-2D de gestos usando información de vídeo monocular aplicada

a un brazo robótico” desarrollado por Sandra Nope et al [17], se enfatiza en la

importancia que tiene implementar esta clase de técnicas por imitación en los

diferentes procesos productivos y actividades cotidianas de las personas, todo en

búsqueda de la mejora de la calidad de vida humana.

En el proyecto “Sistema de visión artificial para el reconocimiento y manipulación de

objetos utilizando un brazo robot” realizado por Eddie Sobrado Malartida y et al.

Tafur Sotelo [18] en el año 2011, los autores desarrollan un sistema el cual se puede

reconocer información de productos para su ubicación en un lugar indicado. La

aplicación fue realizada con medicamentos que debían ser ubicados correctamente

en su lugar designado dentro de un estante. Por medio del reconocimiento del

producto y a través del código de barras, la cámara estaba en capacidad de acceder

a la base de datos, ubicar la posición del medicamento en el estante y llevarlo al

lugar por medio del brazo robótico.

Otros estudios que complementan la utilización de la lectura y tratamiento de

imágenes con los brazos robóticos se describen a continuación. En el artículo

escrito por Gutiérrez Corbacho [19] en asociación de los departamentos de

Ingeniería Electrónica e Ingeniería Automática Industrial, el autor desarrolló una

interfaz por medio del software matemático MATLAB, para la comunicación con un

brazo robótico ABB IRB 120, utilizando un socket de comunicación, el cual se

encargará de enviar y procesar los datos que se envían al robot.

Para la realización del proyecto de grado, el Ingeniero José Ángel Castilla [20]

desarrolló un “protocolo de comunicación trabajador-robot mediante imágenes”. El

cual controla el robot mediante dibujos realizados en una mesa de trabajo. También

hace referencia a la comunicación entre un robot y una cámara web, utilizando el

tratamiento de imágenes, este procedimiento trata de cómo el robot hace la

Page 20: Bibliotecas Bucaramanga Universidad Santo Tomás

20

selección entre tres tipos de herramientas. Según unos parámetros previamente

definidos. Una vez escogida la herramienta, se verifica si se necesita realizar una

trayectoria de tipo continua o discontinua. Cabe rescatar en este artículo la elección

del software utilizado en la realización del proyecto, ya que estos se adaptan bien a

las necesidades del usuario, resaltando aspectos como la comunicación entre el

software “RobotStudio” y “Matlab” y los diferentes tipos de tratamiento de imágenes

para la identificación de los parámetros.

En el 2014, los autores del artículo: “Hybrid Eye-to-hand and Eye-in-hand visual

servo system for parallel robot conveyor object tracking and fetching” [21]. El autor

emplea una cámara de baja resolución para detectar objetos que entran en el campo

de visión de un robot paralelo, y de esta manera calcular la velocidad, una vez se

logra lo anteriormente mencionado, entra en funcionamiento una cámara de alta

resolución, ya que con ella es posible obtener la posición del objeto con gran

precisión. Según el artículo, se observa que, en los resultados obtenidos, la

eficiencia de este sistema es bastante alta, reduciendo tiempos en el procesamiento

y calculando de forma precisa y exacta la posición de los objetos que el brazo

paralelo debe manipular, además, establecieron un algoritmo mediante el cual el

brazo podía seleccionar la prioridad de los objetos. Las cámaras miden las

distancias en píxeles, por lo cual es necesario calibrar la cámara, en el 2011,

Buitrago Salazar Germán y Ramos Sandoval Olga en su artículo: “Sistema de servo

control visual empleando redes neuronales y filtros en el dominio de CIELAB.”

Exponen un método diferente en el cual se explica el uso de redes neuronales de

tipo feed-forward, y además del uso de filtros en los datos adquiridos por el Kinect,

para determinar la posición de los objetos; al final se observa que este método arroja

mejores resultados que algoritmos expuestos en dicho artículo [22].

Un método similar fue plasmado en el artículo: “Adaptive 2D visual servoýng using

variable structure neural networks”, del presente año, donde los autores: Hassen

Mekki y Khaled Kaaniche, calibran la cámara en 2-D y utilizan una red neuronal para

estimar la profundidad ya que este valor no es constante puesto que el robot en el

que se implementa el sistema servo visual es un robot móvil, también

implementaron una red neuronal variable (puede aumentar el número de neuronas

o disminuirlas durante el control del sistema), para así mejorar el procesamiento del

sistema de acuerdo a las necesidades del proceso [23].

En el artículo: “Research of visual servo control system for space intelligent robot”

de Liang Changchun et al, escrito en el año 2015 aunque es un proyecto diseñado

para la servo visualización en el espacio exterior y manipuladores robóticos

remotos, se expone otro método también utilizado para determinar las longitudes

que hay entre el objeto y el punto de origen del sistema, mediante el uso de dos o

más cámaras en 2-D, de esta manera determinar la profundidad del objeto y mejorar

Page 21: Bibliotecas Bucaramanga Universidad Santo Tomás

21

la precisión de las longitudes calculadas, los resultados obtenidos del proyecto

exponen la gran fiabilidad de este método incluso en tiempo real [24].

Existen diferentes formas para calibrar la cámara y de esta forma asegurar una

correcta medición en unidades longitudinales, pero también existen diferentes

maneras para no hacer uso de dicha calibración, como la expuesta en el artículo:

“Visual Servo Regulation of Wheeled Mobile Robots With an Uncalibrated Onboard

Camera” del año 2015 cuyos autores: Baoquan Li et al, exponen métodos de control

para un robot móvil, mediante el cual determinan la posición del objeto respecto al

robot, sin necesidad de hacer uso de longitudes, por lo tanto sin necesidad de

calibrar la cámara y las pruebas se realizaron sin calibrar la cámara bajo ningún

método [25].

Finalmente se muestran dos artículos más, los cuales demuestran la gran precisión

y fiabilidad a la cual se pueden llevar estos sistemas, el primero es: “A Multi-

Sensorial Hybrid Control for Robotic Manipulation in Human-Robot Workspaces.”

Este artículo fue publicado en el 2011 por: Pomares Jorge et al, en el cual se expone

como mediante el procesamiento de imágenes en tiempo real un robot es capaz de

reconocer el entorno y moverse libremente en él, incluso existiendo Humanos

presentes en su zona de trabajo sin llegar a causar ningún daño a dichos seres [26].

El segundo artículo publicado el 2014 por Liu Kun, et al, llamado: “A robust visual

servo control system for narrow seam double head welding robot.” Demuestran que

mediante el tratamiento de imágenes es posible calcular la trayectoria de un cordón

de soldadura cuyo ancho es de 0,2 milímetros de forma precisa, generando

resultados satisfactorios, tal cual como se muestra en los resultados presentados

en dicho artículo [27].

Un último artículo publicado por Jun Lu, Jinghao Song y Yong Liu en el 2013 titulado

“High-precision servo control of robot arm based on vision and PSD” expone también

el método de auto calibración de la cámara, basado en el método de cónica

absoluta, con esto se logra obtener la matriz de valores intrínsecos. La efectividad

de utilizar este método en este tipo de sistemas se puede observar en las pruebas

realizadas utilizando un brazo robótico ABB IRB1600 [28].

Page 22: Bibliotecas Bucaramanga Universidad Santo Tomás

22

2.2 MARCO TEÓRICO

2.2.1 Procesamiento de imágenes. Según la definición de Esqueda [1], el

procesamiento busca mejorar la calidad de las imágenes digitales, eliminando

alteraciones que puedan dañarla o distorsionarla, esto se realiza con el fin de extraer

características específicas de la imagen. Ver Figura 1.

Fuente: Oka. Trussell. The angle ortodontis.

2.2.2 Técnicas para tratamiento de imágenes

2.2.2.1 Balance de grises. Es el método utilizado para convertir una imagen en

formato RGB, a una imagen dentro del rango de colores denominados cromáticos

definidos así por Albert Munsell [29]. Ver Figura 2.

Fuente: HAYA. Equilibrio de grises

Figura 1. Ilustración con métodos de procesamiento de imágenes

Figura 2. Imagen con balance de grises

Page 23: Bibliotecas Bucaramanga Universidad Santo Tomás

23

2.2.2.2 Segmentación. Según la definición de La Serna [29], la segmentación es

un método que divide una imagen en subconjuntos, uno de los criterios de selección

es que los píxeles tengan un mismo valor. Ver Figura 3.

Fuente: HIDALGO. FLORES. LÓPEZ MARTÍNEZ. Diseño de un sistema de

reconocimiento de placas utilizando MATLAB. Pág. 10

2.2.2.3 Detección de bordes. La detección de bordes, es un método en el cual

resalta de una imagen a blanco y negro los objetos que dentro de ella aparecen,

mostrando los límites de los objetos con una tonalidad blanca, la cual se define

como borde, el resto de la imagen se muestra de tonalidad color negro. Ver Figura

4.

Figura 3. Método de segmentación

Page 24: Bibliotecas Bucaramanga Universidad Santo Tomás

24

Fuente: PROCESADO DE IMÁGENES A COLOR. Transformamos la imagen RGB

a HSI

2.2.2.3 Método de crecimiento de regiones. El método de crecimiento es un

proceso en el cual se agrupan píxeles denominados “píxeles vecinos” ya que

presentan características similares entre ellos, estos conjuntos son denominados

puntos semilla, la cual posteriormente se hará crecer, de manera que al crecer la

semilla [29], lo hará también el grupo asociado a ella. Ver Figura 5.

Figura 5. Método de crecimiento de regiones

Fuente: LAMUS. NIETO. HERNANDEZ. Detección semiautomática de contornos

en imágenes de ecocardiografía modo M

Figura 4. Método de detección de bordes

Page 25: Bibliotecas Bucaramanga Universidad Santo Tomás

25

2.2.2.5 Formato RGB. El formato RGB [1], se basa en la combinación de tres

matrices, a las cuales se les denomina: tonalidad color rojo, tonalidad color verde y

tonalidad color azul. Ver figura 6.

Fuente: Blanco y negro. Un inciso sobre el RGB. Métodos basados en luminosidad

2.2.2.6 Método de erosión. El método de erosión morfológica se basa en el

agrupamiento de píxeles vecinos, para posteriormente realizar un método de

reducción a dichos grupos [30]. Ver Figura 7.

Fuente: RIBERO. SAINZ-COSTA. HERRERA. CONESA. Optimización evolutiva

de un método de discriminación visual entre mono y dicotiledóneas

Figura 6 Formato RGB

Figura 7. Método de erosión

Page 26: Bibliotecas Bucaramanga Universidad Santo Tomás

26

2.2.2.7 Método de dilatación. El método de dilatación morfológica, consiste en el

agrupamiento de píxeles vecinos, para posteriormente realizar un método de

aumento de dichos grupos [30]. Ver Figura 8.

Figura 8. Método de dilatación

Fuente: RIBERO. SAINZ-COSTA.HERRERA. CONESA. Optimización evolutiva de

un método de discriminación visual entre mono y dicotiledóneas

2.2.3 Calibración de la cámara

Para la calibración de la cámara se tuvieron en cuenta tantos los parámetros

intrínsecos como extrínsecos del medio donde estará el dispositivo. En los

parámetros extrínsecos, los cuales definen la orientación y posición de la cámara

respecto a un sistema de coordenadas [31], se posiciona el dispositivo de manera

que el lente quede paralelo a la superficie de la mesa, la cámara estará situada a

una altura de 115.78 cm de la mesa y desplazado a 12.5cm del robot industrial. Los

parámetros intrínsecos los cuales definen la geometría de la cámara, se encuentra

que el dispositivo puede trabajar bajo el entorno de Windows o cualquier sistema

operativo, con cualquier procesador y se debe contar con un puerto USB2.0.

Page 27: Bibliotecas Bucaramanga Universidad Santo Tomás

27

3. METODOLOGÍA

Para la realización del proyecto, se presenta un esquema que se muestra en la

Figura 9.

La metodología que se presenta, se desarrolla a lo largo del documento,

separándolo en tres grandes grupos los cuales son: la robótica, en la cual se realiza

el desacoplo cinemático del brazo industrial ABB IRB-120, otra sección importante,

la cual trata acerca del proceso en el tratamiento de imágenes, donde primeramente

se estudian los diferentes métodos para realizar el tratamiento de imágenes, y

posteriormente se escoge el método que mejor se adapte a las necesidades que se

quieren. Por último, el diseño de la interfaz gráfica, en donde se presentarán los

valores articulares, el reconocimiento de formas y las imágenes del tratamiento de

las mismas, aquí el usuario puede interactuar de manera directa con el brazo

robótico por medio de dicha interfaz. Por último, se hará la transferencia de los

valores articulares al controlador del brazo industrial ABB.

La primera parte de la metodología se desarrolló de manera secuencial ya que cada

sección se trabajó de manera independiente, hasta que cada una de ellas se une

con la implementación de todos los algoritmos, esto debido a que se necesitan de

los valores de las posiciones de los objetos dentro del área de trabajo para

posteriormente calcular los valores de cada una de las articulaciones del robot.

Page 28: Bibliotecas Bucaramanga Universidad Santo Tomás

28

Fuente: Autores

Figura 9. Diseño metodológico

Implementación del algoritmo de

tratamiento de imágenes, Denavit-

Hartenberg y Cinemática inversa

Obtención de parámetros de

Denavit- Hartenberg

Obtención de la cinemática inversa

del robot

Diseño del algoritmo Denavit-

Hartenberg

Diseño del algoritmo de la

cinemática inversa

Posicionamiento de la cámara con

respecto a la base del robot

Posicionamiento del objeto con

respecto al robot

Diseño del algoritmo para el

tratamiento de imágenes

Escogencia de la cámara para el

tratamiento de imágenes

Captura de las imágenes a

comparar

Convertir la imagen a blanco y

negro

Calcular las propiedades de los

objetos dentro de la imagen

Buscar objetos con un rango de

área

Eliminar objetos que no estén

dentro del rango de área

Obtención de la posición de cada

uno de los objetos (valor en píxel)

Conversión de valor en píxel a

longitud

Diseño de la interfaz grafica

Pruebas finales

Elaboración de la documentación

final

Page 29: Bibliotecas Bucaramanga Universidad Santo Tomás

29

4. ROBOT INDUSTRIAL ABB IRB-120

El robot ABB, perteneciente a los robots industriales de tipo antropomórfico, que se

muestra en la Figura 10, posee 6 articulaciones de tipo rotacional, es uno de los

más pequeños en el mercado para muchas aplicaciones, pesa solamente 25 Kg y

puede manipular hasta 3 Kg (4 kg para la muñeca en posición vertical), con un área

de trabajo de 580 mm2 por la cual el robot puede moverse de manera libre. Su

relación coste-efectividad, le permite ser una opción segura para conseguir altas

producciones con una baja inversión [20].

Fuente: ABB INDUSTRIAL ROBOTS

4.1 CINEMÁTICA DIRECTA

La cinemática directa permite determinar la posición y la orientación del efector final

con respecto a la base del robot, partiendo de las dimensiones de cada uno de los

eslabones del brazo robótico y el valor de las articulaciones del mismo. Conociendo

estos parámetros de coordenadas y aplicando el algoritmo de Denavit-Hartenberg,

el cual consiste en conocer la ubicación de cada uno de los sistemas articulares

ubicados en cada una de las articulaciones, con respecto a la articulación anterior,

y así conocer todo como se referencia el sistema completo. De esta manera, es

Figura 10. Robot industrial ABB IRB-120

Page 30: Bibliotecas Bucaramanga Universidad Santo Tomás

30

posible conocer el punto donde estará ubicado el efector final y la orientación del

mismo con respecto a la base del robot.

4.1.1 Parámetros Denavit-Hartenberg

A continuación, se presentarán los pasos requeridos para obtener la cinemática

directa por medio de este algoritmo [9], los cuales son:

Suponga que el eje i denota el eje de la articulación que conecta el eslabón

𝑖 − 1 al vínculo 𝑖

Un sistema de coordenas 𝑋, 𝑌, 𝑍 se adjunta al extremo del eslabón 𝑖 − 1, no

al eslabón 𝑖, para 𝑖 =,… 𝑛 + 1

Elija el eje 𝑍 a lo largo del eje de la articulación 𝑖, cuyo sentido positivo puede

tomarse hacia cualquier dirección del eje.

Ubique el origen 𝑂 en la intersección del eje 𝑍 con la perpendicular común a

𝑍𝑖−1 y 𝑍𝑖. también localice 𝑂𝑖 sobre Z con la perpendicular común a 𝑍𝑖 y 𝑍𝑖 +

1

Elija el eje 𝑋𝑖 a lo largo de la perpendicular común a los ejes 𝑍𝑖 − 1 y 𝑍𝑖 con

la dirección del primero al último.

Elija el eje 𝑌𝑖 para que se complete con un sistema de referencia derecho

o Para el sistema 1 que se une a la base fija, es decir, el eslabón 0, solo

se especifica el sentido de los ejes 𝑍𝑖. Entonces 𝑂1 y 𝑋1 pueden

elegirse en forma arbitraria.

o Para el ultimo sistema 𝑛 + 1. Por ende, el sistema 𝑛 + 1 puede elegirse

en forma arbitraria.

o Cuando dos ejes consecutivos son paralelos, la perpendicular común

entre ellos no se define de manera única.

o Cuando se cruzan dos ejes consecutivos, el sentido 𝑋𝑖 es arbitrario

o Cuando la articulación i es prismática, solo se determina el sentido del

eje 𝑍𝑖 mientras que la ubicación de 𝑂𝑖 es arbitraria.

En la Tabla 1 se presentan los valores de los parámetros de Denavit-Hartenberg,

donde 𝜃𝑖 representa la rotación en la coordenada 𝑧, 𝑏𝑖 es la traslación que se debe

realizar en la coordenada 𝑧, 𝛼𝑖 representa la traslación en la coordenada x, y ∝𝑖

representa la rotación que se realiza en la coordenada x, todo con el fin de que el

sistema anterior coincida con el siguiente sistema. Los valores de 𝑄𝑛 son los valores

de la rotación de cada una las articulaciones del robot, los valores de 𝐿𝑛 son las

Page 31: Bibliotecas Bucaramanga Universidad Santo Tomás

31

medidas de cada uno de los eslabones del robot, en la Figura 11 se presentan cada

uno de los valores anteriormente mencionados.

Tabla 1. Parámetros Denavit-Hartenberg

Fuente: Autores

ARTICULACIONES 𝜽𝒊 𝒃𝒊 𝜶𝒊 ∝𝒊

1 𝑄1 + 90° 𝐿1 0 90°

2 𝑄2 + 90° 0 𝐿2 0

3 𝑄3 0 𝐿3 90°

4 𝑄4 𝐿4 0 -90°

5 𝑄5 0 0 90°

6 𝑄6 𝐿5 0 0

Page 32: Bibliotecas Bucaramanga Universidad Santo Tomás

32

Fuente: Adaptado de http://new.abb.com/products/robotics/industrial-robots/irb-

120/irb-120-cad

Figura 11. Sistema de referencia robot ABB

𝑌2

𝑍2

𝑋0 𝑌0

𝑍0 𝑄1

𝑄2 𝑋1

𝑌1

𝑍1

𝑋2

𝑄3

𝑌3

𝑋3

𝑍3

𝑄4

𝑍5

𝑄6

𝑌6 𝑄5

𝑋6

𝑍6

𝑋5

𝑌5

𝑋4

𝑌4

𝑍4

𝐿1

𝐿2

𝐿3

𝐿4 𝐿5

Page 33: Bibliotecas Bucaramanga Universidad Santo Tomás

33

Con los valores de la Tabla 1 se pueden realizar las matrices de transformación de

cada una de las articulaciones, con las cuales se realiza la cinemática directa del

robot, las cuales se representan con las ecuaciones (1), (2), (3), (4), (5) y (6). Cada

una de estas matrices representa el posicionamiento del sistema analizado con

respecto al anterior, en ellas se muestran los valores en que se debe trasladar y

rotar cada uno de ellos para que ambos sistemas coincidan. En cada una de ellas

se representa de manera general, el valor que se debe adquirir, los valores de los

ángulos y de las distancias de las articulaciones.

𝐴01 =

[ 𝐶𝑜𝑠𝑄1+90 0 𝑆𝑖𝑛𝑄1+90 0

𝑆𝑖𝑛𝑄1+90

00

0 −𝐶𝑜𝑠𝑄1+90 0

1 0 𝐿1

0 0 1 ]

(1)

𝐴12 =

[ 𝐶𝑜𝑠𝑄2+90 −𝑆𝑖𝑛𝑄2+90 0 𝐿2 ∗ 𝐶𝑜𝑠𝑄2+90

𝑆𝑖𝑛𝑄2+90

00

𝐶𝑜𝑠𝑄2+90 0 𝐿2 ∗ 𝑆𝑖𝑛𝑄2+90

0 1 00 0 1 ]

(2)

𝐴23 = [

𝐶𝑜𝑠𝑄3 0 𝑆𝑖𝑛𝑄3 𝐿3 ∗ 𝐶𝑜𝑠𝑄3

𝑆𝑖𝑛𝑄3

00

0 −𝐶𝑜𝑠𝑄3 𝐿3 ∗ 𝑆𝑖𝑛𝑄3

1 0 00 0 1

]

(3)

𝐴34 =

[ 𝐶𝑜𝑠𝑄4 0 −𝑆𝑖𝑛𝑄4 0

𝑆𝑖𝑛𝑄4

00

0 𝐶𝑜𝑠𝑄4 0

−1 0 𝐿4

0 0 1 ]

(4)

𝐴45 = [

𝐶𝑜𝑠𝑄5 0 𝑆𝑖𝑛𝑄4 0

𝑆𝑖𝑛𝑄5

00

−0 −𝐶𝑜𝑠𝑄4 01 0 00 0 1

]

(5)

Page 34: Bibliotecas Bucaramanga Universidad Santo Tomás

34

𝐴56 =

[ 𝐶𝑜𝑠𝑄6 −𝑆𝑖𝑛𝑄6 0 0

𝑆𝑖𝑛𝑄6

00

𝐶𝑜𝑠𝑄6 0 0

0 1 𝐿5

0 0 1 ]

(6)

Una vez establecidas cada una de las matrices, se procede a realizar la

multiplicación de cada una de ellas como se muestra en la ecuación (7), y esto da

como resultado la posición del sistema 𝐴56 con respecto al 𝐴01

𝑻 = 𝐴01. 𝐴12. 𝐴23. 𝐴34. 𝐴45. 𝐴56 (7)

4.2 CINEMÁTICA INVERSA

Las ecuaciones (1), (2), (3), (4), (5), y (6) son una representación de la ubicación

rotacional y traslacional del sistema actual con el sistema inmediatamente anterior.

Al realizar la multiplicación de estas matrices se obtiene la matriz de transformación

de todo el sistema, de esta última matriz se puede obtener los valores en posición

de las coordenadas x, y, z, para así poder realizar la cinemática inversa, con la cual

el proyecto se rige, ya que a partir de los valores en sus coordenadas cartesianas

se pueden obtener los valores de cada una de las articulaciones del brazo robótico.

Debido a que se debe despejar los valores articulares del resultado de la

multiplicación de las matrices de transformación, se reemplazan los valores que son

constantes, para facilitar los cálculos, dichos reemplazos se pueden observar en las

ecuaciones (8) y (9).

Page 35: Bibliotecas Bucaramanga Universidad Santo Tomás

35

Fuente: Adaptado de http://new.abb.com/products/robotics/industrial-robots/irb-

120/irb-120-cad

Para culminar el cálculo de la cinemática inversa, se debe realizar el proceso de

conocer cuál es el punto de muñeca que el brazo robótico posee, este es un punto

en el cual se conocerá el valor de las últimas tres articulaciones para alcanzar el

punto establecido. Ver Figura 12. Este proceso consiste en obtener 3 vectores, en

Figura 12. Punto de muñeca

𝑌2

𝑍2

𝑋0 𝑌0

𝑍0 𝑄1

𝑄2 𝑋1

𝑌1

𝑍1

𝑋2

𝑄3

𝑌3

𝑋3

𝑍3

𝑄4

𝑍5

𝑄6

𝑌6 𝑄5

𝑋6

𝑍6

𝑋5

𝑌5 𝑋4

𝑌4

𝑍4

𝐿1

𝐿2

𝐿3

𝐿4 𝐿5

𝑃ℎ

𝑃𝑚

𝑃𝑑

Page 36: Bibliotecas Bucaramanga Universidad Santo Tomás

36

el punto 𝑃𝑚 se realiza de nuevo el algoritmo de Denavit-Hartenberg para conocer la

nueva matriz de transformación de sistema tres 𝐴23𝐴𝑢𝑥.

En este caso el punto 𝑃_𝑚 donde se cortan las tres últimas articulaciones, está justo

sobre el origen 5O del sistema 5S y cuyo vector asociado al sistema

0S de la base

del robot es:

Tmzmymx PPP 50m OOP

Las coordenadas de

hP , vector conocido que indica la posición que se desea para

el extremo del robot:

Thzhyhx PPP 60h OOP

En la Figura 12 se observa que la magnitud del vector 65d OOP que va desde la

muñeca hasta el extremo del robot es 𝐿5 su dirección es la misma que la del

conocido vector unitario Thzhyhx a a a h6 aZ ; por lo tanto:

Thzhyhx5 aaaL 65d OOP

A partir de los vectores hP y dP , se puede obtener

mP mediante una suma de lazo

vectorial:

hz5hz

hy5hy

hx5hx

hz

hy

hx

5

hz

hy

hx

mz

my

mx

aLP

aLP

aLP

a

a

a

L

P

P

P

P

P

P

m

dhm

hdm

P

PPP

0PPP

𝐴23𝐴𝑢𝑥. 𝜽𝒊 𝒃𝒊 𝜶𝒊 ∝𝒊

𝑄3 − 𝐴𝑡𝑎𝑛(𝐿4

𝐿3) 0 √𝐿42 + 𝐿32 0

Page 37: Bibliotecas Bucaramanga Universidad Santo Tomás

37

Las ecuaciones (10), (11) y (12) representan los valores (x, y, z) respectivamente

de forma general para cualquier valor que adquieran cada una de las variables. A

su vez 𝑄𝑖 representa el valor que la articulación. Dichas ecuaciones se pueden

tomar de las posiciones de la matriz de transformación T ecuación (7), las cuales se

distribuyen: para la posición X se toma la posición (1,4) “(fila, columna)”, la

coordenada en Y será la posición (2,4), y la coordenada Z se obtiene de la posición

(3,4).

𝑅 = √(𝐿3)2 + (𝐿4)2

(8)

ℎ = atan (𝐿4

𝐿3⁄ ) − 𝑄3 (9)

𝑃𝑚𝑥 = 𝐿2. 𝑆𝑖𝑛𝑄1. 𝑆𝑖𝑛𝑄2. +𝐶𝑜𝑠ℎ. 𝑆𝑖𝑛𝑄1. 𝑆𝑖𝑛𝑄2. 𝑅 − 𝑆𝑖𝑛ℎ. 𝐶𝑜𝑠𝑄2. 𝑆𝑖𝑛𝑄1. 𝑅 (10)

𝑃𝑚𝑦 = 𝑆𝑖𝑛ℎ. 𝐶𝑜𝑠𝑄1. 𝐶𝑜𝑠𝑄2. 𝑅 − 𝐶𝑜𝑠ℎ. 𝐶𝑜𝑠𝑄1. 𝑆𝑖𝑛𝑄2. 𝑅 − 𝐿2. 𝐶𝑜𝑠𝑄1. 𝑆𝑖𝑛𝑄2 (11)

𝑃𝑚𝑧 = 𝐿1 + 𝐿2. 𝐶𝑜𝑠𝑄2 + 𝐶𝑜𝑠ℎ. 𝐶𝑜𝑠𝑄2. 𝑅 + 𝑆𝑖𝑛ℎ. 𝑆𝑖𝑛𝑄2. 𝑅 (12)

Para obtener el valor de las tres primeras articulaciones se deben elevar al cuadrado

las ecuaciones (10), (11) y (12), luego de esto sumarlas, posteriormente se despeja

y se obtiene la ecuación (13).

Como se observa en la ecuación (9) se encuentra el término de 𝑄3, este es el valor

que se debe hallar, por eso se despeja el valor en la ecuación (15) a partir del

resultado en (14).

𝐶𝑜𝑠ℎ =𝑃𝑚𝑥2 + 𝑃𝑚𝑦2 + (𝑃𝑚𝑧 − 𝐿1)

2 − 𝐿22 − 𝐿3

2 − 𝐿42

2. 𝐿2. 𝑅

(13)

𝑄3 = atan (𝐿4

𝐿3⁄ ) − 𝐶𝑜𝑠ℎ (14)

𝑎 = 𝑆𝑖𝑛ℎ. 𝑅 (15)

𝑏 = 𝐶𝑜𝑠ℎ. 𝑅 + 𝐿2 (16)

Page 38: Bibliotecas Bucaramanga Universidad Santo Tomás

38

Para obtener el valor de 𝑄1 se factoriza de (10) y (11) el 𝐶𝑜𝑠𝑄1 y 𝑆𝑖𝑛𝑄1, se observa

que tienen el mismo factor común, por este hecho se puede obtener el valor de la

articulación 𝑄1, hecho previamente la operación 𝑎𝑡𝑎𝑛2. Donde el principio de esta

operación es ubicar la coordenada 𝑥 y después la 𝑦 de la siguiente manera:

𝑎𝑡𝑎𝑛2(𝑥, 𝑦).

𝐶𝑜𝑠𝑄1 = −𝑃𝑚𝑦

𝐿2. 𝑆𝑖𝑛𝑄2 − 𝑅. 𝑆𝑖𝑛 ( atan(

𝐿4𝐿3

)−𝑄3−𝑄2)

(17)

𝑆𝑖𝑛𝑄1 =𝑃𝑚𝑥

𝐿2. 𝑆𝑖𝑛𝑄2 − 𝑅. 𝑆𝑖𝑛atan(

𝐿4𝐿3

)−𝑄3−𝑄2

(18)

Por último, para obtener el valor de 𝑄2 las ecuaciones (19) y (20) son el resultado

de la factorización de las ecuaciones (10) y (11) respectivamente, y a partir de ellas

se obtiene el valor de la articulación, el resultado se muestra en las ecuaciones (21)

y (22). Para ver resolución ver Anexo A.

𝑎 =𝐿2

𝑅1+

𝐶𝑜𝑠𝑄3

𝑅2+

𝐿4. 𝑆𝑖𝑛𝑄3

𝐿3. 𝑆𝑖𝑛𝑄2

(19)

𝑏 =𝑆𝑖𝑛𝑄3

𝑅2−

𝐿4. 𝐶𝑜𝑠𝑄3

𝑅2. 𝐿3

(20)

𝐶𝑜𝑠𝑄2 =(𝑃𝑚𝑧 − 𝐿1). 𝑆𝑖𝑛𝑄1. 𝑎 + 𝑏. 𝑃𝑚𝑥

𝑆𝑖𝑛𝑄1. 𝑅1(𝑏2 + 𝑎2)

(21)

𝑆𝑖𝑛𝑄2 =𝑃𝑚𝑥 − 𝐶𝑜𝑠𝑄2. 𝑏. 𝑆𝑖𝑛𝑄1. 𝑅1

𝑆𝑖𝑛𝑄1. 𝑅1. 𝑎

(22)

Una vez conocidos los valores de las tres primeras articulaciones ( 𝑄1, 𝑄2 y 𝑄3), se

procede a calcular el valor de las últimas tres articulaciones ( 𝑄4, 𝑄5 y 𝑄6). Para ello

se retoman los valores de la matriz 𝑇 ecuación (7).

Donde sólo se tomarán los valores de la submatriz de orientación de cada una de

las matrices de transformación.

Page 39: Bibliotecas Bucaramanga Universidad Santo Tomás

39

𝑄ℎ𝑆𝑖𝑚𝑏 = 6

0Q = 6

5

5

4

4

3

3

2

2

1

1

0QQQQQQ

De igual manera se extraen los valores de matriz objetivo 𝑇

hzhzhz

hyhyhy

hxhxhx

aon

aon

aon

hObjQ

Dada la equivalencia entre las matrices 𝑄ℎ𝑆𝑖𝑚 y 𝑄ℎ𝑂𝑏𝑗 se realiza su igualación:

hObjhSim QQ

hObjQQQQQQQ 6

5

5

4

4

3

3

2

2

1

1

0

(23)

Puesto que 2

1

1

0 , QQ y 3

2Q son matrices conocidas (dependen de 𝑄1 , 𝑄2 y𝑄3), la

ecuación (23) se reestructura haciendo:

3

2

2

1

1

0

3

0QQQQ Y 6

5

5

4

4

3

6

3QQQQ

hObjQQQ1

3

0

6

3 (24)

Ahora nombrando como t el resultado de la parte derecha de la ecuación (24):

333231

232221

1312111

3

0

ttt

ttt

ttt

hObjQQt

(25)

Resolviendo la parte izquierda de la ecuación (24) y e igualando a la parte izquierda se obtiene lo siguiente

[

𝐶𝑜𝑠𝑞4. 𝐶𝑜𝑠𝑞5. 𝐶𝑜𝑠𝑞6 − 𝑆𝑖𝑛𝑞4. 𝑆𝑖𝑛𝑞6 −𝐶𝑜𝑠𝑞6. 𝑆𝑖𝑛𝑄4 − 𝐶𝑜𝑠𝑄4. 𝐶𝑜𝑠𝑄5. 𝑆𝑖𝑛𝑄6 𝐶𝑜𝑠𝑄4. 𝑆𝑖𝑛𝑄5

𝐶𝑜𝑠𝑄4. 𝐶𝑜𝑠𝑄6 + 𝐶𝑜𝑠𝑄5. 𝐶𝑜𝑠𝑄6. 𝑆𝑖𝑛𝑄4

−𝐶𝑜𝑠𝑄6. 𝑆𝑖𝑛𝑄5

𝐶𝑜𝑠𝑄4. 𝐶𝑜𝑠𝑄6 − 𝐶𝑜𝑠𝑄5. 𝑆𝑖𝑛𝑄4. 𝑆𝑖𝑛𝑄6 𝑆𝑖𝑛𝑄4. 𝑆𝑖𝑛𝑄5

𝑆𝑖𝑛𝑄5. 𝑆𝑖𝑛𝑄6 𝐶𝑜𝑠𝑄5

]

= [𝑡11 𝑡12 𝑡31

𝑡21

𝑡31

𝑡22 𝑡32

𝑡23 𝑡33

]

(26)

Page 40: Bibliotecas Bucaramanga Universidad Santo Tomás

40

Para hallar el valor de 𝑄5 se toman las posiciones de 𝑡31 y 𝑡32 de la ecuación (26), elevándolas al cuadrado y sumando los dos resultados se obtiene:

𝑆𝑖𝑛𝑄𝑠 = ±√𝑡312 + 𝑡32

2 (27)

Se puede observar que la otra componente de 𝑞5 se encuentra en la posición 𝑡33 de la ecuación (26), se llega a la solución para esta articulación de esta manera:

𝑄5𝐼 = 𝑎𝑡𝑎𝑛 2(+√𝑡312 + 𝑡32

2 , 𝑡33) (28)

𝑄5𝐼𝐼 = 𝑎𝑡𝑎𝑛 2(−√𝑡312 + 𝑡32

2 , 𝑡33) (29)

Para hallar el valor de 𝑄4 se toma las posiciones 𝑡23 y 𝑡13 de la ecuación (26) y se despeja la variable, después se realiza el procedimiento de expresar las ecuaciones

(30) y (31) dentro de la función 𝑎𝑡𝑎𝑛2 (32)

𝑆𝑖𝑛𝑄4 =𝑡23

𝑆𝑖𝑛𝑄5

(30)

𝐶𝑜𝑠𝑄4 =𝑡13

𝑆𝑖𝑛𝑄5

(31)

𝑄4 = 𝑎𝑡𝑎𝑛2(𝑡23

𝑆𝑖𝑛𝑄5,

𝑡13

𝑆𝑖𝑛𝑄5)

(32)

Para hallar el valor de 𝑄6 se toman las posiciones 𝑡32 y 𝑡31 de la ecuación (26), se llega a la solución de esta articulación de la siguiente manera: (35)

𝑆𝑖𝑛𝑄6 =𝑡32

𝑆𝑖𝑛𝑄5

(33)

𝐶𝑜𝑠6 =−𝑡31

𝑆𝑖𝑛𝑄5

(34)

𝑄6 = 𝑎𝑡𝑎𝑛2(𝑡32

𝑆𝑖𝑛𝑄5,−𝑡31

𝑆𝑖𝑛𝑄5)

(35)

A partir de los valores de cada una de las articulaciones los cuales son presentadas

como 𝑄𝑖, se realiza un de árbol de posibilidades, Ver Figura 13 , en el cual se

muestran todas las posibles soluciones o posiciones que el robot puede optar por

alcanzar dicho punto, cabe aclarar que cada una de las ocho posibilidades es

diferente a las otras, además aclarar que no siempre el robot podrá alcanzar tal

punto, esto debido a que el mismo robot posee ciertas restricciones que le impide

Page 41: Bibliotecas Bucaramanga Universidad Santo Tomás

41

optar, una de ellas es la colisión consigo mismo que el robot tiene implícita, y la otra

es la restricción con el entorno que lo rodea.

En el siguiente esquema se representan los valores de cada una de las

articulaciones, formando todas las posibilidades mostradas.

Figura 13. Árbol de posibilidades brazo robótico

6 4 QQ

COMBINACIÓN 1 I

I3 I1 QQ

2Q

5Q

II 6 4 QQ

COMBINACIÓN 2

6 4 QQ

COMBINACIÓN 3 I

II3 I1 QQ

2Q

5Q

II 6 4 QQ

COMBINACIÓN 4

6 4 QQ

COMBINACIÓN 5 I

I3 II1 QQ

2Q

5Q

II 6

4QQ

COMBINACIÓN 6

6 4 QQ

COMBINACIÓN 7 I

II3 II1 QQ

2Q

5Q

II 6 4 QQ

COMBINACIÓN 8

Fuente: Autores

Page 42: Bibliotecas Bucaramanga Universidad Santo Tomás

42

4.3 POSICIONAMIENTO DE LOS OBJETOS

Para posicionar los objetos como lo muestra la cámara (posición en centímetros)

con respecto a la base del brazo robótico, se deben relacionar dichas posiciones,

un ejemplo claro es que no es lo mismo ver los objetos desde un punto del brazo

robótico que desde la cámara, por esto se realiza el posicionamiento de la siguiente

manera:

1000

75.115100

_010

_001

ypos

xpos

OTC

(36)

En la ecuación (36) se presenta la matriz de transformación de la posición del objeto

con respecto a la cámara, los valores de 𝑝𝑜𝑠_𝑥 y 𝑝𝑜𝑠_𝑦 son los valores que arroja el

tratamiento de imágenes, los cuales se traducen en la posición de cada uno de los

objetos, el valor de −115.75 es la altura que existe entre el objeto y la cámara. De

la misma manera se presenta en la ecuación (37) el posicionamiento de la cámara

con respecto al brazo robótico. Todos los valores anteriormente mostrados se

trabajaron en centímetros (cm).

La matriz que se encuentra tanto en la ecuación (36) como en la ecuación (37), se

debe a que se quiere que todos los sistemas coincidan, es decir, que el eje x del

objeto se alinie con el eje 𝒙 de la cámara, para el caso del eje 𝒚 y el eje 𝒛, se quiere

que se alinie para que los vectores unitarios queden en dirección contraria.

1000

100100

5.12010

2.50001

CTB

(37)

Una vez establecidas las matrices de transformación de la cámara y la de los

objetos, se multiplica 𝐶𝑇𝐵 𝑥 𝑂𝑇𝐶. Con esta operación se establece la posición de los

objetos posicionados con respecto al brazo robótico.

Para establecer los valores de las tres primeras filas y tres primeras columnas de

las matrices anteriormente presentadas, es necesario establecer y conocer los

Page 43: Bibliotecas Bucaramanga Universidad Santo Tomás

43

sistemas cartesianos de coordenadas que cada elemento tendrá, esto además de

establecer los valores dentro de la matriz, también para conocer la ubicación

espacial con la que cada uno de ellos cuenta, dichos sistemas son mostrados en la

Figura 14, en la cual se presentan los ejes asignados a los elementos con que se

desarrolla el proyecto, dichos elementos son: el sistema de visión, el o los objetos

que se ubicarán dentro del área de trabajo, la cual es la mesa y que se observa con

fondo negro en la Figura 14, y por último el robot industrial, los sistemas se denotan:

de color naranja se presenta el eje 𝒙, de color verde el eje 𝒚 y el eje 𝒛 de color azul.

Fuente: Autores

Figura 14. Posicionamiento de coordenadas

Page 44: Bibliotecas Bucaramanga Universidad Santo Tomás

44

Para conocer el ángulo de visión de la cámara, Ver Figura 15 se procede a realizar

este cálculo: el primer paso es conocer las medidas de la altura y la base, estos

valores son 115.75 y 102.4 respectivamente (valor en centímetros), luego efectúa

el cálculo por medio de la siguiente operación:

∅ = atan (51.2

115.7)= 23.6°

Este valor es solo el de la mitad de la cámara, por esto es debido multiplicar este

valor por dos y el resultado es 47.2°.

Fuente: Autores

4.4 CALIBRACIÓN

Para que la combinación de valores articulares arrojen como resultado la

coincidencia de la herramienta con el centroide del objeto es necesario realizar la

calibración de cada uno de los motores del robot industrial ABB, para ello se realizan

los siguientes pasos, para realizar dicha acción tomado del manual del robot

industrial [7].

En la Figura 16 se observan la localización de cada uno de los pines que posee el

robot industrial ABB de todos sus ejes 1-6.

Figura 15 Conversión de píxeles a sistema cegesimal

Page 45: Bibliotecas Bucaramanga Universidad Santo Tomás

45

Fuente: Autores

4.4.1 Calibración eje 1 (coincide con la rotación nombrada 𝑸𝟏)

Use los siguientes pasos para calibrar el eje 1 independientemente:

Encienda el controlador, presiones hidráulicas y neumáticas del robot

Remueva los amortiguadores de los pines de calibración

Libere los brakers

Rote el eje 1 manualmente hasta que el segundo pin de calibración haga

contacto con el otro

Escoja calibración fina del menú de calibración

Escoja calibración en el Flexpendant

Escoja eje 1 del Flexpendant y calibrar

Después de que la calibración ha sido hecha use el Flexpendant para llevar

al valor cero grados

Después de la sincronización marque en el eje 1

Figura 16. Pines de configuración

Page 46: Bibliotecas Bucaramanga Universidad Santo Tomás

46

4.4.2 Calibración eje 2 (coincide con la rotación nombrada 𝑸𝟐)

Use los siguientes pasos para calibrar el eje 2 independientemente:

Encienda el controlador, presiones hidráulicas y neumáticas del robot

Remueva los amortiguadores de los pines de calibración

Libere los brakers

Rote el eje 2 manualmente hasta que el segundo pin de calibración haga

contacto con el otro

Escoja calibración fina del menú de calibración

Escoja calibración en el Flexpendant

Después de que la calibración ha sido hecha use el Flexpendant para llevar

al valor cero grados

Después de la sincronización marque en el eje 2

4.4.3 Calibración eje 3 (coincide con la rotación nombrada 𝑸𝟑)

Use los siguientes pasos para calibrar el eje 3 independientemente:

Encienda el controlador, presiones hidráulicas y neumáticas del robot

Remueva los amortiguadores de los pines de calibración

Libere los brakers

Rote el eje 3 manualmente hasta que el segundo pin de calibración haga

contacto con el otro

Escoja calibración fina del menú de calibración

Escoja calibración en el Flexpendant

Después de que la calibración ha sido hecha use el Flexpendant para llevar

al valor cero grados

Después de la sincronización marque en el eje 3

4.4.4 Calibración eje 4 (coincide con la rotación nombrada 𝑸𝟒)

Use los siguientes pasos para calibrar el eje 4 independientemente:

Encienda el controlador, presiones hidráulicas y neumáticas del robot

Remueva los amortiguadores de los pines de calibración

Libere los brakers

Page 47: Bibliotecas Bucaramanga Universidad Santo Tomás

47

Rote el eje 4 manualmente hasta que el segundo pin de calibración haga

contacto con el otro

Escoja calibración fina del menú de calibración

Escoja calibración en el Flexpendant

Después de que la calibración ha sido hecha use el Flexpendant para llevar

al valor cero grados

Después de la sincronización marque en el eje 4

4.4.5 Calibración eje 5 y 6 utilizando la herramienta de calibración (coincide

con la rotación nombrada 𝑸𝟓 y 𝑸𝟔 respectivamente)

Use los siguientes pasos para calibrar los ejes 5 y 6 independientemente:

Encienda el controlador, presiones hidráulicas y neumáticas del robot

Ajuste la herramienta de calibración en la muñeca al lado del tornillo

Libere los brakers

Rote el eje 5 y 6 manualmente hasta que el pin de calibración de la muñeca

haga contacto con el otro

Escoja calibración fina del menú de calibración

Escoja calibración en el Flexpendant

Después de que la calibración ha sido hecha use el Flexpendant para llevar

al valor cero grados

Después de la sincronización marque en el eje 5 y 6

4.5 ÁREA DE TRABAJO

El área de trabajo es definida como: El espacio de trabajo de un robot está definido

como el grupo de puntos que pueden ser alcanzados por su efector-final [33].

Esta área es de vital importancia tanto, ya que nos da el espacio en el cual el robot

puede realizar sus respectivos movimientos sin que se ocasione una colisión con el

mismo.

Para hallar dicha área se deben tener en cuenta las restricciones que el robot posee

en cada una de sus articulaciones, es decir el valor en grados del movimiento

Page 48: Bibliotecas Bucaramanga Universidad Santo Tomás

48

permitido por cada una de sus articulaciones, y así uniendo todos estos valores se

obtiene el espacio o área de trabajo.

El área de trabajo también dará un entendimiento del alcance que posee el efector

final del brazo robótico.

Fuente: Adaptado de

https://library.e.abb.com/public/3bd625bab3c7cae1c1257a0800495fac/ROB0149E

N_D_LR

Figura 17. Área de trabajo robot ABB IRB 120

Page 49: Bibliotecas Bucaramanga Universidad Santo Tomás

49

5. TRATAMIENTO DE IMÁGENES

El brazo robótico se encuentra en una mesa de trabajo diseñada para él, dicha mesa

tiene como propiedad un color gris brillante, también el sitio donde se encuentra el

brazo tiene mucha luminosidad, situación que no servía para tomar una buena foto

de los objetos, ya que al posicionarlos sobre la mesa y tomar su foto, la imagen con

la cual queda después del procesamiento, era la sombra producida por el objeto,

mas no con la posición propia de él, por este motivo fue necesario forrar la mesa

con un material que no generará brillo, este debe ser un material oscuro, una vez

solucionado lo anteriormente mencionado, se procedió a posicionar los objetos de

cualquier color sobre la mesa de trabajo.

Los objetos que se manipularán son figuras que poseen un área transversal de

formas primitivas como lo son cuadrados, círculos y triángulos, ver Figura 18, como

se puede notar ellos pueden tener cualquier color. Esta condición se establece en

el algoritmo de procesamiento de imágenes, ya que al realizar dicho procesamiento

se discrimina el color de los objetos.

Figura 18. Objetos con forma primitiva

Fuente: Autores

En síntesis, el algoritmo de procesamiento de imágenes, toma una foto del área de

trabajo (sin objetos), una vez tomada dicha foto, esta queda almacenada y no es

Page 50: Bibliotecas Bucaramanga Universidad Santo Tomás

50

necesario tomar otra foto sin objetos, luego se toma de nuevo otra foto de la misma

área (con Objetos), esto con el fin de comparar las dos fotos previamente

adquiridas, con el propósito de obtener la diferencia entre ellas, la cual es cada uno

de los objetos. Luego de esto la imagen pasa por un proceso de cambio de color a

una imagen a blanco y negro por medio del comando asignado en Matlab, donde

se le calcula el umbral, se binariza, se erosiona y posteriormente se dilata, estos

dos últimos pasos ser realizan para corregir imperfecciones que pudiesen aparecer

dentro del objeto. Ver Figura 19(b)

Dentro del procesamiento también se realiza un proceso de selección de áreas

(Figura 19Figura 20), ya que en ocasiones se presentan pequeños espacios en

blanco que no se deben tener en cuenta, estas imperfecciones aparecen

propiamente por el proceso del cambio de imagen de color a blanco y negro, por

este motivo se escogen los objetos cuya área supere un valor establecido dentro

del algoritmo y ellos se enmarcan para conocer su posición, luego se realiza un

proceso de rellenado de las zonas donde aparecían las imperfecciones. La imagen

final se puede observar en la Figura 20.

Fuente: Autores

(a) (b)

Figura 19. (a): figura Original, (b): figura después del procesamiento

Page 51: Bibliotecas Bucaramanga Universidad Santo Tomás

51

Fuente: Autores

5.1 IDENTIFICACIÓN DE FIGURAS

Para realizar la identificación de todas las figuras que aparecen en el área de

trabajo, el algoritmo implementa un proceso de correlación entre ellas, es decir, se

crea una base de datos donde se almacenan las figuras que se quieren identificar,

en este caso las figuras son: círculos, cuadrados y triángulos.

Cuando se toma la foto se seleccionan todos los objetos que en ella aparecen, y se

hace la correlación del objeto con cada uno de los que se encuentran almacenados

dentro de la base de datos, al realizar este proceso me retorna un dato llamado

valor de correlación (ver Anexo C), el valor que se encuentre más cercano a uno “1”

será el dato, o en este caso la figura que más se parezca.

En la Figura 21 se muestra la metodología que se implementa para la realización

del algoritmo de identificación de formas.

Figura 20. Selección de objetos por área

Page 52: Bibliotecas Bucaramanga Universidad Santo Tomás

52

Fuente: Autores

5.2 DESCRIPCIÓN DE TRATAMIENTO DE IMÁGENES

A continuación, se hará una descripción de cada uno de los pasos que se utilizaron

para el tratamiento de imágenes y la identificación de formas.

Figura 21. Diagrama de flujo Identificación de formas

Page 53: Bibliotecas Bucaramanga Universidad Santo Tomás

53

La mesa de trabajo fue forrada en fondo negro, esto se realizó debido a que la mesa

tenía una cubierta brillante y afectaba el reconocimiento de la posición de las figuras,

también para evitar sombras inoportunas causadas por los objetos.

En primera estancia, se procede a tomar una imagen del área de trabajo totalmente

limpia, es decir, sin la presencia de ningún objeto. Luego de este proceso, la imagen

es recortada, para que en la interfaz de usuario solo se muestre únicamente el área

de trabajo, la cual está comprendida únicamente por el espacio de la mesa. Luego

de tomar la primera foto se almacena para después ser comparada con imágenes

futuras, y de esa manera detectar las diferencias entre la imagen muestra y la

imagen futura, dichas diferencias serán tomadas como los objetos dentro del área

de trabajo.

Una vez almacenada la imagen muestra, se procede a adquirir la imagen futura bajo

las mismas condiciones de iluminación, y luego también será recortada bajo las

mismas condiciones de la imagen muestra. A dicha imagen, se le resta la imagen

muestra, esto con el fin de obtener una nueva imagen donde únicamente serán

mostrados los objetos, el orden de la resta es importante, ya que es válido resaltar

que hasta este momento las imágenes se encuentran en formato RGB (El color

negro del cual esta forrada la mesa es representado con (0,0,0) en el formato RGB)

por lo tanto, si la imagen se resta en el orden inverso, se obtendrán valores

negativos en la nueva imagen generada, y la imagen perderá la información, que en

este caso son los objetos.

Una vez se tiene la imagen con los objetos dentro de ella, se realiza un proceso de

cambio a escala de grises, con el fin de reducir la cantidad de las matrices que

representan una imagen con estas características, y también para que no se elimine

ningún componente del formato RGB. Luego de este procedimiento, se procede a

calcular el umbral de dicha imagen de acuerdo a el método Otsu, el cual se encarga

de calcular la varianza de luminosidad de todos los pixeles de la imagen y obtener

el valor promedio de dicha varianza, este valor se conoce como el umbral de una

imagen.

Con dicho umbral, se procede a determinar la imagen en blanco y negro, cada píxel

por debajo del valor del umbral toma un valor de cero y cada pixel mayor que el

umbral adquiere un valor de uno, dando, así como resultado una imagen a blanco y

negro donde los píxeles con valor cero forman el color negro y los pixeles con valor

uno, forman el color blanco.

Para evitar errores en la imagen, se estableció una condición de área, la cual

determina que todos los objetos con un área menor a un valor establecido no se

tendrán en cuenta, por su parte el usuario puede visualizar cuales objetos no

cumplen esta condición, ya que se encierran en un rectángulo rojo, mientras los que

sí lo cumplan, estarán de color verde.

Page 54: Bibliotecas Bucaramanga Universidad Santo Tomás

54

Se observó que algunos de los objetos tenían pixeles negros dentro de su forma, y

estas alteraciones cambiaban las propiedades de cada figura, por ello, se procede

a dilatar y erosionar la imagen. Una vez aplicado estos métodos los pixeles negros

dentro de los objetos desaparecen y los bordes mejoraron dando figuras más

definidas.

Por último, los objetos detectados son enumerados siguiendo un patrón: de

izquierda a derecha y de arriba hacia abajo, es decir, el primer objeto encontrado

en este orden, será identificado como el número uno, el segundo con el número dos

y así sucesivamente.

Finalmente, para cada objeto, se identifica su centroide, dicho valor es convertido

posteriormente a una medida de longitud en el sistema cegesimal o científico, para

así, determinar la cinemática inversa del robot.

Cuando la termina por todo este proceso, se sigue a identificar qué forma es, por

ello se generó una base de datos (imágenes), la cual cuenta con figuras primitivas

en diferentes orientaciones y previamente identificadas. Para determinar su forma,

se delimita cada uno de los objetos, esto se realiza tomando el límite superior, que

es donde aparece el primer pixel blanco de cada objeto, hasta el límite inferior del

mismo, posteriormente se procede a realizar el mismo proceso, pero esta vez de

manera lateral, de izquierda a derecha.

Con la figura correctamente delimitada, se ajusta a un tamaño de treinta por treinta

(30x30) pixeles, con el fin de que las imágenes recortadas coincidan con las

imágenes dentro de la base de datos, también para que sin importar el tamaño que

el objeto posea originalmente, sea comparado con las figuras dentro de la base de

datos, esta comparación, se realiza aplicando un método de correlación entre

imágenes (valor comprendido entre cero y uno, donde uno determina que son

iguales y cero que son completamente diferentes).

Cuando se termina este proceso, el algoritmo busca la posición del valor más alto

de correlación, ya que, dentro de la base de datos, se encuentra ordenada de la

siguiente manera: triángulos-circulo-cuadrados, y como ya se mencionó

anteriormente, estas figuras son conocidas, entonces la posición con el valor más

alto indica que es allí donde más se identifica la figura comparada, con la imagen

de la base de datos.

Page 55: Bibliotecas Bucaramanga Universidad Santo Tomás

55

6. SISTEMA COMPLETO

El sistema completo consta de elementos por separado, donde cada uno de ellos

cumple una función específica y diferente a lo largo de la realización del proyecto,

a continuación, se realiza una breve descripción de los elementos, y la función que

ellos realizan.

6.1 BRAZO ROBÓTICO

El Robot utilizado para la manipulación de los objetos, es un robot altamente

compacto en sus dimensiones y en su peso, es el Robot IRB 120. Ver Figura 22, de

la empresa ABB. Es un robot antropomórfico con 6 grados de libertad, con un ángulo

de movimiento en cada una de ellas de un valor aproximado a los 135° de libertad.

Fuente: Autores

Figura 22. Brazo Industrial ABB

Page 56: Bibliotecas Bucaramanga Universidad Santo Tomás

56

6.2 SISTEMA DE VISIÓN

El sistema de visión que se utilizó para el procesamiento de imágenes, es una

cámara web, de marca HP, Figura 23 según la cual cuenta con una resolución

máxima de 640x480 Píxeles, con un grado de captura de más de 90° desde su lente,

además cuenta con un soporte, el cual se puede adaptar a cualquier superficie de

agarre.

Se selecciona este dispositivo de visión ya que es compatible con el programa en

el cual se realiza el algoritmo de reconocimiento, además porque tiene una

resolución aceptable dentro de los parámetros y por último se adapta de buena

manera al acople del sistema, ya que cuenta con un agarre para la mayoría de

superficies.

Fuente: Autores

6.2.1 Calibración de la cámara

Para la calibración de la cámara se tuvieron en cuenta tantos los parámetros

intrínsecos como extrínsecos del medio donde estará el dispositivo. En los

parámetros extrínsecos, los cuales definen la orientación y posición de la cámara

respecto a un sistema de coordenadas [31], se posiciona el dispositivo de manera

que el lente quede paralelo a la superficie de la mesa, la cámara estará situada a

una altura de 115.78 cm de la mesa y desplazado a 12.5cm del robot industrial. Los

parámetros intrínsecos los cuales definen la geometría de la cámara, se encuentra

que el dispositivo puede trabajar bajo el entorno de Windows o cualquier sistema

operativo, con cualquier procesador y se debe contar con un puerto USB2.0.

Figura 23. Cámara WEB

Page 57: Bibliotecas Bucaramanga Universidad Santo Tomás

57

También se opta por el modelo matemático, mostrando la posición de la cámara con

respecto a un objeto, como una matriz de transformación. Ecuación (36), donde se

evidencia la rotación y traslación del sistema mencionado, con el proceso de

calibración fotogramétrica [32]. Para la conversión de píxeles a sistema métrico, se

realizó un proceso de conversión manual, se sabía que una coordenada tenía 640

píxeles, de modo que se tomó la medida de dicha coordenada, y posteriormente se

convirtió a medida métrica. Ver figura 24.

Fuente: J. Hoyos. J. Cardona. Técnicas de calibración de cámaras para visión

estéreo y reconstrucción

6.3 PINZA ELECTRO-NEUMÁTICA

La pinza utilizada para el traslado y agarre de los objetos, es un Gripper de pinzas

paralelas, la cual puede manipular objetos de forma trasversal cuadrada o circular,

la pinza es de referencia HGP-16-A-B de la marca Festo. Ver Figura 25. Su

activación es realizada por una señal eléctrica, la cual activa una bobina, de esta

manera, se permite el paso del flujo de aire haciendo que la pinza se abra.

Figura 24. Superficie plana (método complanar)

Page 58: Bibliotecas Bucaramanga Universidad Santo Tomás

58

Fuente: Autores

6.3.1 Circuito implementado

Debido a permisos de la empresa ABB, instaladores y accesos con que la

universidad no cuenta en su controlador IRC5, fue necesario implementar un circuito

electrónico, el cual envía una señal eléctrica, que va dirigida hacia el efector, el cual

se encuentra en la última articulación del robot industrial, dicho efector, es una pinza

electroneumática, la cual es activada por medio de una bobina, es allí donde la señal

del controlador debe ser dirigida, a la activación de la misma.

La salida del controlador procede del puerto de “entradas y salidas (I/O)”, el pin de

salida identificado como “D0_01” en el Flexpendant se conectó de forma directa con

la bobina para la activación de la electro válvula 5/2 de activación eléctrica y retorno

por muelle, se observó que dicha válvula no conmutaba, con ayuda de un multímetro

Fluke, se comprobó que efectivamente se realizaba un cambio de 22,3 voltios a la

salida de dicho pin, posteriormente se conectó la bobina para la activación de la

válvula en paralelo con una fuente Festo, en este caso la válvula realizaba la acción

de conmutar, por lo que se tomó medida del valor de la corriente, la cual es

necesaria para activar dicha bobina, en este medición, el valor de corriente fue 0.03

A, con lo mencionado anteriormente, es posible llegar a la conclusión de que la

corriente que entrega cada pin del puerto de entradas y salidas es menor a 3 mA.

Debido a dichas pruebas, se decidió utilizar un transistor Mosfet, ya que la principal

característica de este transistor es su activación por tensión, la cual se realiza

cuando existe un valor de voltaje entre los pines Gate y Source, permitiendo de esta

manera el paso de corriente entre los pines Drain y Source. Ver Figura 26

Figura 25. Gripper neumático

Page 59: Bibliotecas Bucaramanga Universidad Santo Tomás

59

Fuente: VISHAY SILICONIX.

Otro elemento implementado en el circuito, fue un diodo, Figura 27, que se ubica en

paralelo a la señal de la electroválvula, la función de este elemento es que la

corriente fluya en un sólo sentido, esto con el fin de que no se presenten

inconvenientes en la activación del controlador.

Fuente: VISHAY SILICONIX

En la Figura 28, se muestra un esquema del circuito que se implementó para realizar

la acción de la pinza, con los elementos utilizados que se mencionaron

anteriormente. En la Figura 28, el elemento demarcado con el número (1), simboliza

el Mosfet anteriormente mencionado en su forma esquemática, el (2) es el símbolo

de la electro válvula y el (3) representa el diodo previamente mencionado. Al

implementarse este circuito se evidencia la acción de agarre de la pinza

electroneumática, esto gracias a que la activación la realiza el dispositivo Mosfet,

Figura 26. Mosfet IRF 540

Figura 27. Diodo Rectificador

Page 60: Bibliotecas Bucaramanga Universidad Santo Tomás

60

permitiendo que la corriente del circuito fluya en dirección hacia la bobina de la

electroválvula.

Fuente: Autores

6.4 FLEXPENDANT

Es un dispositivo de la empresa ABB, ver Figura 29, el cual se encarga de la

comunicación y de toda la interfaz gráfica que se deba tener con el controlador del

robot industrial, en él se puede controlar el movimiento del robot, se puede realizar

la calibración de las articulaciones, entre otras funciones más.

El dispositivo anteriormente mencionado posee un lenguaje de programación el cual

se conoce como RAPID.

Figura 28. Circuito implementado

Page 61: Bibliotecas Bucaramanga Universidad Santo Tomás

61

Fuente: ABB INDUSTRIAL ROBOTS

6.5 CONTROLADOR IRC5

Es el dispositivo con el cual se controla el brazo industrial, en el panel frontal, se

presentan múltiples entradas, entre las cuales se destacan, algunos puertos de

comunicación, paro de emergencia, un break de los motores, activación del sistema,

puerto de entradas y salidas entre otros más. Ver Figura 30.

Figura 29. Flexpendant

Page 62: Bibliotecas Bucaramanga Universidad Santo Tomás

62

Fuente: ABB INDUSTRIAL ROBOTS

Figura 30. Controlador IRC5

Page 63: Bibliotecas Bucaramanga Universidad Santo Tomás

63

7. LÓGICA DEL SISTEMA

La lógica del sistema se compone en la metodología o los pasos que se siguen para

que el robot industrial realice la tarea que se quiere, en este caso la tarea específica

que realiza es la de la manipulación de cada uno de los objetos dentro del área de

trabajo.

La metodología es la siguiente, el robot siempre se posicionará en un punto fijo

llamado “home” en la cual esta posición y no interfiere en nada la toma de las

imágenes, ver Figura 31, una vez realizado el algoritmo de tratamiento de imágenes

y el del desacoplo robótico, se mostrará en la interfaz gráfica, la posición angular

para cada articulación del robot para cada uno de los objetos posicionados dentro

del área de trabajo, luego estos valores deben ingresarse en el programa del

traslado de los objetos. En el programa, se habilitará una línea de código en el cual

el usuario ingresa cada valor de los ángulos de las articulaciones.

La siguiente acción del robot es dirigirse hacia la posición del objeto, este punto se

ubicará unos cuantos centímetros por arriba del mismo, esto con el fin que no se

presenten colisiones con el objeto ni con la pinza. Ver Figura 31.

Fuente: Autores

Figura 31. Punto inicial

Page 64: Bibliotecas Bucaramanga Universidad Santo Tomás

64

Justo cuando se llegue a dicha posición, la pinza neumática será activada, de modo

que cuando se alcance el punto indicado, la pinza se encuentre abierta, luego de un

tiempo se desactivará la pinza, de esta manera, ella estará cerrada, y logrará tomar

el objeto.

Luego el robot se dirigirá hacia el otro lado de la mesa, pero primero pasará de

nuevo por el punto “home”, de tal manera que se asegure que el robot no hará un

movimiento en el cual pueda causar alguna colisión. Ver Figura 32.

Concluido este movimiento el robot industrial se dirigirá hacia el lado opuesto de la

mesa de donde se ubicaron los objetos en un principio, en este lugar el robot

posicionará los objetos, esta es una rutina que previamente se ha programado en

el Flexpendant, de manera que este proceso siempre será el mismo. Ver Figura 33.

Por último, posicionarse nuevamente en el punto “home”, donde es la posición inicial

del robot, y allí esperará el siguiente movimiento que deberá realizar.

Fuente: Autores

Figura 32. Posición por encima del objeto

Page 65: Bibliotecas Bucaramanga Universidad Santo Tomás

65

El código será programado en el lenguaje propio de la empresa ABB, el cual es

llamado “RAPID”, sólo se tendrá la posibilidad de cambiar el código en el

Flexpendant, en la línea de código donde se indexa el valor de las articulaciones

para la toma del objeto, de resto las demás posiciones, puntos y acciones, estarán

previamente programadas.

Fuente: Autores

Figura 33. Punto home con objeto

Page 66: Bibliotecas Bucaramanga Universidad Santo Tomás

66

Fuente: Autores

Figura 34. Posición de los objetos trasladados

Page 67: Bibliotecas Bucaramanga Universidad Santo Tomás

67

8. INTERFAZ GRÁFICA

La interfaz gráfica fue desarrollada bajo la aplicación que Matlab tiene disponible

para realizar este tipo de comunicación entre el usuario y el algoritmo. Ver Figura

35.

La interfaz de usuario mostrada, se divide en cuatro secciones, una de ellas es el

panel de control (recuadro 1), en el cual un botón captura la imagen de muestra y la

almacena para posteriormente realizar el algoritmo, el otro botón captura de nuevo

otra imagen, pero esta vez con los objetos ubicados.

En el panel de botones cuenta con dos de ellos, en los cuales uno inicializa la

cámara web y realiza la captura de la imagen de muestra, el otro botón se encarga

de calcular todos los parámetros que se necesitan para que el brazo robótico

alcance el punto deseado y la identificación de figuras. También dentro del mismo

panel se visualizan la cantidad de objetos que se encuentran en el área de trabajo.

Fuente: Autores

Figura 35. Interfaz de simulación Robot ABB

Page 68: Bibliotecas Bucaramanga Universidad Santo Tomás

68

En el panel de identificación de objetos (recuadro 2), se muestra el resultado de la

identificación de forma de los objetos, entre los cuales se encuentran, círculo,

triángulo y cuadrado.

Los valores de las articulaciones para cada uno de los objetos se encuentran

asociado en la “Uitable” en la cual se mostrarán los valores articulares que el robot

deberá adquirir para llegar a un objeto en específico (recuadro 3).

Por último, se mostrará el proceso de la imagen, allí también se mostrarán los

cambios que se le realizan a esta imagen a través del algoritmo (recuadro 4).

Page 69: Bibliotecas Bucaramanga Universidad Santo Tomás

69

9. PRUEBAS Y RESULTADOS

A continuación, se realizaron unas algunas pruebas para comprobar las

restricciones que el algoritmo presenta, sobre todo en la acomodación de los

objetos, esto ya de por sí está implícito debido a que por el procesamiento estas

restricciones son casi inevitables. En las siguientes figuras se muestra la foto

original (color) y la imagen como se presenta al usuario después de realizar el

respectivo tratamiento de imágenes.

9.1 RESTRICCIÓN DE OBJETOS

En la Figura 35(a), es presentado el posicionamiento de los objetos de forma que

generen un eje central diagonal, adicionalmente se tiene 2 tipos de separación entre

los objetos, el primer tipo cuenta con una separación de (3-4cm) entre cada uno de

los objetos, para el segundo tipo los elementos se encuentran contiguos.

Es posible observar en la Figura 35(b) el resultado del algoritmo de identificación,

donde los marcos verdes representan los objetos identificados. El algoritmo no

identifica la presencia de 3 objetos, sólo identifica uno de ellos. Esto debido a que

por programación se establece una discriminación de área de los objetos.

En la prueba 2 presentada en la Figura 36, se observa que los elementos tienen la

misma forma que la prueba anterior, con la diferencia que todos poseen una

separación con respecto al otro. En este caso al algoritmo identifica los 6 objetos

por separado, esto se debe a la distancia que existe entre ellos.

Page 70: Bibliotecas Bucaramanga Universidad Santo Tomás

70

Figura 34. Prueba 1

(a) (b)

Fuente: Autores

(a) (b)

Fuente: Autores

Figura 36. Prueba 2

Page 71: Bibliotecas Bucaramanga Universidad Santo Tomás

71

En la Figura 37, se muestra los resultados de la prueba 3, en esta ocasión existe un grupo de objetos en los cuales se encuentran sobre otro, una vez realizado el tratamiento a la imagen, no se logra identificar la sobre posición de los objetos, el algoritmo sólo identifica 4 objetos de los 6 que se posicionaron en un principio (cuadros verdes), mientras que un objeto, el algoritmo lo muestra dentro de un cuadro rojo, el cual será eliminado posteriormente por programación, dejando ese espacio con color negro como el fondo de la imagen.

Esto debido a que la cámara sólo toma las imágenes sobre un plano (2D), otra razón es que el tratamiento se realiza con una imagen a blanco y negro, por ello no se identifica que existen dos objetos sobre otros.

Figura 37 Prueba 3

(a) (b) Fuente: Autores

En la prueba 4 que se muestra en la Figura 38Figura 38, se observa que la acomodación de los objetos es de forma vertical, se tienen dos grupos de elementos, donde uno de ellos se encuentran los objetos separados, mientras que en el otro se encuentran juntos.

Al igual que la prueba anterior el algoritmo hace caso omiso de algunos objetos, y

sólo identifica 4 de ellos, esto debido a que el algoritmo no determina la presencia

de los 3 objetos que se encuentran juntos.

Page 72: Bibliotecas Bucaramanga Universidad Santo Tomás

72

Figura 38. Prueba 4

(a) (b)

Fuente: Autores

Figura 39. Prueba 5

(a) (b)

Fuente: Autores

Page 73: Bibliotecas Bucaramanga Universidad Santo Tomás

73

En la Figura 38Figura 39 se presenta la prueba 5, allí el algoritmo identifica todos

los objetos, ya que no se cumple ninguna de las restricciones que se han presentado

a lo largo de las pruebas realizadas.

9.2 MANIPULACIÓN DE OBJETOS

En la Figura 40 se mostrará un diagrama de flujo en el cual se explica la metodología

que se sigue para realizar el programa del brazo robótico que manipulará los objetos

A continuación, se explicará el proceso que se realizó para la manipulación de los

objetos. El primer paso es la ejecución de la interfaz gráfica, con la cual se realiza

el procesamiento de imágenes, y posteriormente la cinemática inversa del brazo

robótico.

Una vez finalizado este algoritmo, en la interfaz gráfica, se mostrarán los valores

para cada una de las articulaciones del robot industrial que este debe adquirir para

alcanzar el objeto analizado. Cuando estos valores se muestran, se procede a

indexarlos en el algoritmo el cual se programó en el Flexpendant, en la línea de

código habilitada para dichos valores, luego se ejecuta dicho programa y el robot se

posicionará en el objeto, de esta manera, se realizará el traslado del objeto hacia la

otra parte de la mesa.

En la Figura 41 se aprecia la distribución de la zona de trabajo que posee el robot

industrial, se pueden identificar dos zonas, una de ellas es en la que se encuentran

los objetos distribuidos, allí los objetos serán puestos de manera aleatoria, es decir,

sin ningún orden ni acomodación especifica. Una vez ejecutado el algoritmo, e

indexados los valores articulares en el Flexpendant, el robot deberá ir en busca de

cada uno de los objetos puestos sobre esta zona, en algunas ocasiones y debido a

las restricciones mecánicas y del entorno, el robot no podrá alcanzar dicha posición,

en este caso, mostrará un mensaje en el cual dirá, que no es posible llegar a tal

punto.

Page 74: Bibliotecas Bucaramanga Universidad Santo Tomás

74

Fuente: Autores

.

Figura 40. Diagrama Flujo Flexpendant

Page 75: Bibliotecas Bucaramanga Universidad Santo Tomás

75

Fuente: Autores

Una vez alcanzado el objeto, el robot lo tomará, y lo llevará hacia la otra zona, aquí

los objetos serán posicionados de manera que se puede poner en un caso

netamente industrial, donde esta etapa sería la de distribución de los objetos, donde

se conectaría con otra parte del proceso.

9.3. SIMULACIÓN

Para la comprobación de que el robot industrial realice el movimiento como es

debido, es decir, que se dirija a la posición que se requiere sin que sufra ningún tipo

de colisión con el entorno o con el mismo, se realiza una simulación de dicho

movimiento bajo el software de programación Matlab, también ayudado por el

software de simulación CAD SolidWorks, con el debido Plug instalado llamado

Simmechanics, este complemento tiene como función importar el archivo CAD al

software de programación Matlab.

Se deben realizar los siguientes pasos para la ejecución de la simulación, para ello

se mostrarán y se explicarán a continuación:

Dibujar o descargar el archivo del robot industrial ABB de referencia IRB-120

en SolidWorks, además se deben tener en cuenta todas las restricciones de

tipo mecánicas como físicas. Ver Figura 42.

Figura 41. Distribución zona de trabajo

Page 76: Bibliotecas Bucaramanga Universidad Santo Tomás

76

Una vez terminado el diseño del robot, se instala el complemento para Matlab

llamado Simmechanics, esto con el fin de importar todo el diseño que se

realizó en SolidWorks, de esta manera se obtendrá un modelo de sistema de

bloques en el software Simulink tal como se muestra en la Figura 43

Una vez importado se obtiene el modelo en Simulink más conocido diagrama

de bloques, el cual es una representación del robot, en él se muestran sus

grados de libertad, sus medidas entre otros.

Para la manipulación en el diseño del robot, es necesario agregar algunos

bloques dispuestos para la realización de dicha tarea, en este caso sólo se

implementarán bloques llamados “Joint”. Ver Figura 44.

El bloque anteriormente mencionado requiere de tres parámetros, uno de

ellos es la posición, otro es la velocidad y por último se necesita de la

aceleración propia de cada articulación. En este caso la posición se ingresó

mediante un bloque de valor constante, pero debido a que la simulación del

movimiento era casi imperceptible, se implementó un bloque integrador, y de

esta manera el movimiento se podía observar en la simulación. Los valores

de los bloques de aceleración y velocidad se asumen como valores

constantes. Ver Figura 45.

Para cada una de las articulaciones se realiza el mismo proceso descrito

anteriormente.

Una vez finalizado el modelo del robot industrial, se ingresan los valores de

cada una de las articulaciones, los cuales se muestran como los valores de

𝑄𝑖.

Paso siguiente es comprobar cada movimiento de las articulaciones del

robot.

Una vez comprobado el funcionamiento de la simulación, se procede a

enlazar los programas que se tienen en Matlab, los cuales son: el código de

la interfaz gráfica con el de la simulación de simulink, así se podrán realizar

las dos acciones, el posicionamiento del robot industrial en físico, y el del

robot simulado.

Page 77: Bibliotecas Bucaramanga Universidad Santo Tomás

77

Fuente: Modificado de https://grabcad.com/library/robo-abb-irb-120

Fuente: Autores

Figura 43. Modelo del robot ABB en Simulink

Figura 42. Modelo CAD Robot ABB

Page 78: Bibliotecas Bucaramanga Universidad Santo Tomás

78

Fuente: Autores

Fuente: Autores

9.4. IDENTIFICACIÓN DE FORMAS

En el siguiente apartado, se realizaron diferentes pruebas en las que se muestra el

algoritmo como realiza la identificación de las figuras.

En la Figura 46 se muestra la primera prueba, en la cual se toma una foto con todas

las figuras primitivas (círculo, cuadrado y triángulo). Se puede observar el resultado

en la Figura 46(c) que verdaderamente se muestran estas tres figuras en la tabla de

identificación de objetos.

Figura 44. Bloque manipulador

Figura 45. Bloque para cada articulación

Page 79: Bibliotecas Bucaramanga Universidad Santo Tomás

79

Fuente: Autores

En la Figura 47, se muestra la segunda prueba, la cual consiste en la identificación de objetos con diferentes áreas o diferentes tamaños. Se puede observar que el algoritmo es indiferente a esta condición, ya que se muestran las figuras del tamaño que se requieren, como figuras aún más grandes a este tamaño.

En la Figura 48 se realizó una prueba parecida a la anterior, la diferencia es que esta se realizó solamente con cuadrados, de esta manera se puede observar que el algoritmo nuevamente identifica los objetos que en la imagen aparecen.

Fuente: Autores

Figura 46. Detección de formas

Figura 47. Figuras Grandes y pequeñas

Page 80: Bibliotecas Bucaramanga Universidad Santo Tomás

80

Fuente: Autores

En la Figura 49 se realiza el tratamiento a figuras triangulares de diferentes

tamaños, entre los cuales se encuentran algunos más grandes que otros, sólo que

para esta prueba se califican tres de ellos, los demás no aplican ya que son

triángulos de área menor a la que se establece en el algoritmo.

Fuente: Autores

Figura 48. Cuadrado grande y pequeño

Figura 49. Triángulos con diferente tamaño

Page 81: Bibliotecas Bucaramanga Universidad Santo Tomás

81

En la Figura 50 se muestra la prueba con una de las luces apagadas, esta vez fue

la luz que se encuentra más alejada del área del trabajo, se puede observar que

esta luz no es muy relevante para la realización del tratamiento de imágenes, y

además se realiza la identificación de objetos de manera correcta.

Fuente: Autores

En la Figura 51 se realizó la prueba anterior, sólo que esta vez se apagó la luz que

recae sobre el área de trabajo, se puede notar con esta prueba que algunos de los

objetos no se reconocen, ya que el umbral (límite entre blanco y negro) establece

estos objetos como parte de la mesa.

Fuente: Autores

Figura 47 Luz incidente sobre el área de trabajo

Figura 50. Luz remota apagada

Figura 51. Luz incidente sobre área trabajo

Page 82: Bibliotecas Bucaramanga Universidad Santo Tomás

82

En la Figura 52 se realiza una prueba en la cual se posicionan dos triángulos con

diferente acomodación (orientación diferente), como se observa en la identificación

de objetos, muestra el resultado que verdaderamente son figuras en forma de

triángulo.

Fuente: Autores

En la Figura 53 se muestra la última prueba, en ella se observa que aparece un

objeto que no es de forma primitiva (forma de estrella), en la identificación este

objeto lo denota como un cuadrado, esto debido a que en la base de datos no se

tienen figuras de este tipo, y también porque la correlación muestra un valor más

próximo a un cuadrado que por cualquier otra figura.

Fuente: Autores

Figura 52. Triángulos con diferente acomodación

Figura 53. Figura no primitiva

Page 83: Bibliotecas Bucaramanga Universidad Santo Tomás

83

En la siguiente Figura 54 se muestra la prueba de diez tomas de la misma imagen,

con el fin de conocer la efectividad del algoritmo ante un proceso repetitivo. Se

observa en la Tabla 2, que se obtiene una efectividad promedio de acierto del 90%,

ya que en algunas de las pruebas el algoritmo no reconoce algunas de sus figuras

de manera correcta. Esto se debe a que cuando el algoritmo realiza la búsqueda de

figuras en la base de datos, el valor de correlación es más próximo a otra figura que

de la verdaderamente deber ser.

Fuente: Autores

Tabla 2. Tabla de resultados

Fuente: Autores

Figura 54. Prueba de Repetitividad

Page 84: Bibliotecas Bucaramanga Universidad Santo Tomás

84

Para la realización de la siguiente prueba, Ver Figura 55, se toman las fotos con la

luz ambiente, es decir se abren las cortinas que tiene el sitio donde se localiza el

robot y además se apaga la luz artificial, en este caso se puede observar en la Tabla

3, que la efectividad promedio acierto baja un poco con respecto a la anterior prueba

(83.33%), esto se debe a que la condición de la luz ambiental, genera una

luminosidad sobre la mesa de trabajo, de manera que los colores de algunos objetos

se pueden combinar con dicha luz, y la cámara lo tomará como si el objeto fuera

parte de la mesa.

Fuente: Autores

Figura 55. Prueba con luz ambiente

Page 85: Bibliotecas Bucaramanga Universidad Santo Tomás

85

Tabla 3. Resultados Prueba Luz ambiente

Fuente: Autores

En esta prueba que se realizó. Ver Figura 56, se observa una efectividad muy baja

de reconocimiento de formas y de posicionamiento del robot sobre el objeto, ver

Tabla 4, ya que las condiciones de las dos fotos no fueron las mismas se obtienen

estos resultados, se puede notar que el algoritmo identifica formas de más que no

debería reconocer y esto se evidencia en el cuadro de identificación de los objetos,

donde en las figuras que debería reconocer, las cuales son tres, en este caso

reconoce seis. Además, también por razones obvias, se emite un mensaje de que

el robot no alcanza el objeto, en promedio son tres de los objetos a los cuales no

puede llegar.

Fuente: Autores

Figura 56. Prueba con diferentes condiciones de luminosidad

Page 86: Bibliotecas Bucaramanga Universidad Santo Tomás

86

Tabla 4. Resultados Prueba con diferentes condiciones ambientales

Fuente: Autores

Page 87: Bibliotecas Bucaramanga Universidad Santo Tomás

87

10. CONCLUSIONES Y TRABAJOS FUTUROS

10.1 CONCLUSIONES

Con la realización del proyecto se evidencia la diferencia que existe entre un sistema

del cuerpo humano, con los diferentes elementos que se utilizan para lograr su

misma función. Se nota que existen muchas diferencias, debido a que el sistema

del cuerpo humano contempla más variables del entorno por sí sólo, mientras en el

sistema emulado, sólo se tienen en cuenta la que se programen.

La cinemática inversa permitió asignar los valores de las articulares del brazo

robótico, para que este mismo logre manipular el objeto dentro de la mesa de

trabajo.

El algoritmo de tratamiento de imágenes otorga muchas ventajas porque el

procedimiento se puede realizar con cualquier tipo forma, ya sea que tenga un área

transversal como un triángulo, círculo, cuadrado entre otras figuras primarias.

La interfaz gráfica otorga un entorno más llamativo con el cual el usuario puede

conocer todas las variables que dentro de él se muestran, y lograr un fácil

entendimiento de las mismas.

El uso del software de programación Matlab permitió la implementación de todos los

algoritmos que se tenían cada uno de ellos por separado, además dentro del mismo

software se complementó con una interfaz usuario - brazo robótico.

Para cualquier posición, el algoritmo se ejecuta de la manera en que se programó, ya sea que, si el objeto se encuentra dentro del área de trabajo, aquí se muestran los valores de las articulaciones, y si el objeto se encuentra fuera del área del trabajo permitida, el algoritmo mostrará un mensaje que anuncia que el robot no puede llegar al objeto, o también si el objeto está dentro del área de trabajo, pero para llegar a él, el robot presentaría una colisión con el entorno o consigo mismo.

En algunas ocasiones el reconocimiento de los objetos no se realiza de la mejor manera, debido a que las condiciones del entorno cambian al tomar alguna de las fotografías, y es por esto que se muestran objetos extraños en la imagen final.

En la identificación de formas el algoritmo reconoce los objetos sin importar su ubicación o su orientación de los cuales se encuentren dentro del área de trabajo.

Page 88: Bibliotecas Bucaramanga Universidad Santo Tomás

88

10.2 TRABAJOS FUTUROS

Con la implementación de la cámara, se pretende realizar el control del mismo brazo

robótico pero esta vez con un sistema de banda transportadora, donde en ella exista

una constante circulación de objetos, la cámara debe ser capaz de tener las nuevas

variables en cuenta (velocidad y distancia), para que así pueda obtener los valores

articulares del brazo robótico en un punto donde se establecerá que el brazo

trasladara los objetos que pasan por la banda transportadora.

Realizar la comunicación entre los programas de Matlab y RobotStudio para que de

esta manera el robot opere completamente autónomo.

Page 89: Bibliotecas Bucaramanga Universidad Santo Tomás

89

BIBLIOGRAFÍA

[1] J. Esqueda, Fundamentos de procesamiento de imágenes, México, 2005

[2] Wainschender. Rubén, Massa. José, Tristán. Paula. Procesamiento digital

de imágenes

[3] R. Gonzales, R. Woods S. Eddins. Digital Image Processing using Matlab

[4] C. Urdiles, Introducción a la robótica, España.

[5] R. Norton, Diseño de maquinaria, Mexico: Mc Grawn Hill.

[6] S. J. Gloria Martinez, «Diseño propio y construccion de un grazo robótico de

5GDL,» Revista de Igenieria eléctrica, electrónica y computación, vol. 4, p.

7, 2008.

[7] Manual del operador RobotStudio, a2. ABB, Suecia, 2008.

[8] R. Zuñiga, Introducción al uso de matlab, Madrid, 2010.

[9] S. Kumar, Introducción a la robótica, Mexico: Mc Grawn Hill, 2010.

[10] S. Vaca, «Innovación Tecnológica de las empresas,» Madrid, 2010.

[11] Diagrama de Pareto. Disponible en: https://calidadgestion.wordpress.com/2012/09/11/mejora_continua-

diagrama_de_pareto/

[12] UN.CEPAL. Desarrollo productivo en economías abiertas. Disponible en: http://www.cepal.org/es/publicaciones/13057-desarrollo-productivo-economias-abiertas

[13] Universia. Humanos VS robots. Disponible en: http://noticias.universia.es/empleo/noticia/2014/12/15/1116945/humanos-vs-robots-

depara-futuro.html

[14] A. R. Bermejo, «Desarrollo y programación de un brazo robótico para su

uso en centro de tratamiento de residuos,» Barcelona. España, 2013

[15] J. M. Valera, « Interacción entre Webcam y brazo Robot para el

posicionamiento del efector final,» Cartagena. Colombia, 2015.

[16] R. r. M. s. Ana Corrales, «Sistema de Identificación de Objetos Mediante

RFID para un robot personal,» Madrid, 2009.

[17] H. L. E. C. Sandra Nope, «Recontrucción 3D-2D de gestos usando

información de video monocular aplicada a un brazo robótico,» Antioquia.

Colombia, 2010

Page 90: Bibliotecas Bucaramanga Universidad Santo Tomás

90

[18] E.A.Sobrado. Sistema de visión artificial para el reconocimiento y manipulación de objetos utilizando un brazo robot.Peru.2003

[19] A. G. Corbacho, «Desarrollo de una interfaz para el control del robot IRB

120 desde Matlab,» Alcala, 2014.

[20] J. A. C. Berduque, «Protocolo de comunicación trabajador-robot mediante

imágenes,» Cataluña, 2015.

[21] Ren C.Luo,Shis-Che Chou,Xin-Yi Yang. Hybrid Eye-to-hand and Eye-in-

hand visual servo system for parallel robot conveyor object tracking and

fetching.Taiwan.

[22] G.Salazar, O.Ramos. Sistema de servocontrol visual empleando redes

neuronales y filtros en el dominio CIELAB.Colombia.2015

[23] H.Mekki,K.Kaaniche. Adaptative 2D visual servoýng using variable

structure.Tunes.2016

[24] L.Changchun, Z. Xiaodong, P.Dong, L.Xin. Resech of visual servo control

system for space intelligent robot. China. 2015.

[25] L.Baoquan, f.Yongchun, X. Zhang. Visual servo regulation of wheeled

mobile robots with an uncalibrated onboard camera.China.2015.

[26] J.Pomares, I.Perea, G.García, C.A.Jara, J.A.Corrales, F.Torres. A multi-

sensorial hybrid control for robotic manipulation in human-robot

workspace.España.2015.

[27] H.Chen, K.Liu, G. Xing, H.Sun, W.Lin. A robust visual servo control system

for narrow seam double head welding robot. China. 2014.

[28] J. Lu, J. Song, Y. Liu. High-precision servo control of robot arm based on

vision and PSD.China.2013

[29] A. Munsell, A color notation, New York, 1919

[30] N. L. serna, Técnicas De segmentación en procesamiento de imágenes,

México, 2011.

[31] Aguilar. Gustavo. Procesamiento de imágenes utilizando filtros

morfológicos.

[32] J. G. Hoyos.Técnicas de Calibración de Cámaras para visión estereo y reconstrucción, Tratamiento de señales, imágenes y visión artificial, p. 6, 2010.

[33] Yi Cao, Ke Lu, Xiujuan Li and Yi Zang (2011). Accurate Numerical Methods for Computing 2D and 3D Robot Workspace [Journal] // International Journal

Page 91: Bibliotecas Bucaramanga Universidad Santo Tomás

91

of Advanced Robotic Systems : INTECH, August 2011. – 6 : Vol. VIII – pp. 1-13

[34] D.A.Pizarro, Comparación de técnicas de calibración de cámaras digitales.Colombia 2005

[35] P. C. Y. O. C. U. Jorge Ramón Lucena, «Cirugia Robótica.Una visión

Histórica,» Venezuela, 2008. [36] PEÑA, M., et al. Visión Para Robots En Tareas De Ensamble. En:

Proceedings, of the Second National Congress on Mecathronics.2003 [37] F. S. Mata, «El procesamiento de imágenes de TLC como una nueva rama

para la identificación de sustancias,» Cuba, 2008. [38] FOGEL, Harry S. Miller. Cirugía robótica en México. Los sistemas

inteligentes, perspectivas actuales ya futuro en el ámbito mundial. En: REVISTA MEXICANA DE CIRUGÍA ENDOSCÓPICA. Vol. 4, no. 1, p. 45-50.

[38] «Desarrollo y programación de un brazo antropomórfico». [39] ABB, «Smart,» Manufacturing engineer, p. 6, 2007. [40] ABB, «SMART». [41] T. Buzan, Make the Most of your Mind, New York: Fireside Book, 2005, p.

162. [42] J. F. M. C. R. M. Carlos Prieto, «Sistema de Visión Artificial para el Control

de Movimiento de un Asistente Robótico Médico,» Buenos Aires. Argentina, 2010.

[43] V. P. F. Eudaldo, Microcontroladores : fundamentos y aplicaciones con pic, México : AlfaOmega, 2007.

[44] F. C. A. S. HUTCHINSON, «Visual servo control part I: Basic Approaches,» IEEE Robotics & Automation Magazine, 2006

[45] F. C. A. S. HUTCHINSON, «Visual servo control Part II: Advanced Approaches,» IEEE Robotics & Automation Magazine, 2007.

[46] A. K. Jain, Fundamental of Digital Image Processing, New Jersey: Collen Bosnan, 1989.

[47] I. L.-J. J. C. K. O. M Peña, «Visión para Robots en tareas de ensamblaje,» 2015.

[48] E. A. S. Malpartida, «Sistema de Visión Artificial para el Reconocimiento y Manipulación de Objetos Utilizando un Brazo Robot,» Lima. Perú, 2003.

[49] T. A. I. News, «Meet YUMI, ABB's newcolaborative robot,» Technology And Industry News, p. 1, 2012.

[50] S.-C. C. X.-Y. Y. Ren C. Luo, «Hybrid Eye-to-Hand and Eye--in-hand Visual Servo System for Parallel Robot Conveyor Object Tracking and Fetching,» IEEE Xplore, p. 6, 2014.

[51] C. A. Reyes, Microcontroladores PIC, Quito, 2006. [52] D. F. Z. C. H. L. a. G. M. Sihao Deng, «Robot-Assisted Thermal Spraying,»

Tokio, Japon, 2012 [53] C. Tavernier, Microcontroladores pic, Madrid: Paraninfo, 1997. [54] J. Massa, Procesamiento Digital de imágenes, 2011.

Page 92: Bibliotecas Bucaramanga Universidad Santo Tomás

92

[55] A. Company, « RAPID manual del operador,» Suecia, 2007. [56] C.Ricolfe. Caracterización y optimización del proceso de calibrado de

cámaras basado en plantilla bidimensional.España.2006 .

Page 93: Bibliotecas Bucaramanga Universidad Santo Tomás

93

ANEXOS

Anexo A: Resolución ecuación articulación 2

𝑅1 = √𝐿32 + 𝐿4

2

𝑅2 = √𝐿42

𝐿32 + 1

𝑃𝑚𝑥

𝑆𝑖𝑛𝑄1. 𝑅1=

𝐿2. 𝑆𝑖𝑛𝑄2

𝑅1+

𝐶𝑜𝑠𝑄3. 𝑆𝑖𝑛𝑄2

𝑅2+

𝐿4. 𝑆𝑖𝑛𝑄2. 𝑆𝑖𝑛𝑄3

𝐿3. 𝑅2+

𝐶𝑜𝑠𝑄2. 𝑆𝑖𝑛𝑄3

𝑅2

−𝐿4. 𝐶𝑜𝑠𝑄2. 𝐶𝑜𝑠𝑄3

𝐿3. 𝑅2

𝑃𝑚𝑥 − 𝐿1

𝑅1= −

𝑆𝑖𝑛𝑄2. 𝑆𝑖𝑛𝑄3

𝑅1+

𝐿4. 𝐶𝑜𝑠𝑄3. 𝑆𝑖𝑛𝑄2

𝐿3. 𝑅2+

𝐿2. 𝐶𝑜𝑠𝑄2

𝑅1+

𝐶𝑜𝑠𝑄2. 𝐶𝑜𝑠𝑄3

𝑅1

+𝐿4. 𝐶𝑜𝑠𝑄2. 𝑆𝑖𝑛𝑄3

𝐿3. 𝑅2

Se factorizan el 𝐶𝑜𝑠𝑄2 y el 𝑆𝑖𝑛𝑄2 de las dos ecuaciones, de manera que se obtengan

términos constantes de ellas.

𝑃𝑚𝑥

𝑅1= 𝑆𝑖𝑛𝑄2 (

𝐿2

𝑅1+

𝐶𝑜𝑠𝑄3

𝑅2+

𝐿4. 𝑆𝑖𝑛𝑄3

𝐿3. 𝑅2) + 𝐶𝑜𝑠𝑄2 (

𝑆𝑖𝑛𝑄3

𝑅2−

𝐿4. 𝐶𝑜𝑠𝑄3

𝐿3. 𝑅2)

𝑃𝑚𝑧 − 𝐿1

𝑅1= −𝑆𝑖𝑛𝑄2 (

𝑆𝑖𝑛𝑄3

𝑅2−

𝐿4. 𝐶𝑜𝑠𝑄3

𝐿3. 𝑅2) + 𝐶𝑜𝑠𝑄2 (

𝐿2

𝑅1+

𝐶𝑜𝑠𝑄3

𝑅2+

𝐿4. 𝑆𝑖𝑛𝑄3

𝐿3. 𝑅2)

Se reemplazan los valores dentro de los paréntesis por constantes de la siguiente

manera:

𝑃𝑚𝑥

𝑅1= 𝑆𝑖𝑛𝑄2(𝑎) + 𝐶𝑜𝑠𝑄2(𝑏)

(1a)

Page 94: Bibliotecas Bucaramanga Universidad Santo Tomás

94

𝑃𝑚𝑧 − 𝐿1

𝑅1= −𝑆𝑖𝑛𝑄2(𝑏) + 𝐶𝑜𝑠𝑄2(𝑎)

(2a)

Se despeja una variable de una ecuación para posteriormente reemplazarla en la

otra ecuación. En este caso se despejó 𝑆𝑖𝑛𝑄2 de la ecuación (1a), y quedó de la

siguiente manera:

𝑆𝑖𝑛𝑄2 =𝑃𝑚𝑥 − 𝐶𝑜𝑠𝑄2. 𝑏. 𝑆𝑖𝑛𝑄1. 𝑅1

𝑆𝑖𝑛𝑄1. 𝑅1. 𝑎

(3a)

Reemplazándolo (3ª) en la ecuación (2a) y despejando 𝐶𝑜𝑠𝑄2:

𝑃𝑚𝑧 − 𝐿1

𝑅1=

−𝑏. (𝑃𝑚𝑥

𝑆𝑖𝑛𝑄1. 𝑅1. 𝑎− 𝐶𝑜𝑠𝑄2. 𝑏)

𝑎+ 𝐶𝑜𝑠𝑄2. 𝑎

𝑃𝑚𝑧 − 𝐿1

𝑅1=

−𝑏. 𝑃𝑚𝑥

𝑆𝑖𝑛𝑄1. 𝑅1. 𝑎+

𝐶𝑜𝑠𝑄2. 𝑏2

𝑎+ 𝐶𝑜𝑠𝑄2. 𝑎

𝐶𝑜𝑠𝑄2 (𝑏2

𝑎+ 𝑎) =

𝑃𝑚𝑧 − 𝐿1

𝑅1+

𝑏. 𝑃𝑚𝑥

𝑆𝑖𝑛𝑄1.𝑅1. 𝑎

𝐶𝑜𝑠𝑄2 =

𝑃𝑚𝑧 − 𝐿1

𝑅1+

𝑏. 𝑃𝑚𝑥𝑆𝑖𝑛𝑄1. 𝑅1. 𝑎

𝑎2 + 𝑏2

𝑎

𝐶𝑜𝑠𝑄2 =(𝑃𝑚𝑧 − 𝐿1). 𝑆𝑖𝑛𝑄1. 𝑎 + 𝑏. 𝑃𝑚𝑥

𝑆𝑖𝑛𝑄1. 𝑅1(𝑏2 + 𝑎2)

Page 95: Bibliotecas Bucaramanga Universidad Santo Tomás

95

Anexo B: Manual de operación e inclusión de variables al Flexpendant

En este anexo se mostrará y explicará la metodología que se debe seguir para

incluir los valores de cada una de las articulaciones al programa que se realizó en

el programa del Flexpendant.

En la pantalla principal del Flexpendant, se encontrarán diferentes funciones que el

dispositivo posee, dentro de ellas se encuentra Datos de programa, es allí donde se

introducen los diferentes valores que se necesitan para la realización del programa.

Fuente: Autores

Una vez seleccionado esta función aparecerán diferentes parámetros con los que

el robot opera, en este caso se seleccionará la opción jointtarget, la cual permite dar

valores de tipo articular.

Page 96: Bibliotecas Bucaramanga Universidad Santo Tomás

96

Fuente: Autores

Cuando se selecciona esta opción, aparecen los datos del programa, los cuales son

los puntos programados dentro de la trayectoria que el robot hará. En este caso se

selecciona la opción “p1”, este punto es el valor que se muestra en la interfaz gráfica

de cada uno de los objetos.

Page 97: Bibliotecas Bucaramanga Universidad Santo Tomás

97

Fuente: Autores

Cuando se selecciona el punto anteriormente mencionado, aparecerá en la pantalla

la opción de introducir un valor a cada una de las articulaciones del robot industrial,

para este caso el nombre que recibe la articulación 1 se llama “rax_1” y así para sus

seis articulaciones.

Page 98: Bibliotecas Bucaramanga Universidad Santo Tomás

98

Anexo C: Fórmula utilizada para hallar el coeficiente de correlación

𝑟 =∑ ∑𝑛 𝑚 (𝐴𝑚𝑛 − �̅�)(𝐵𝑚𝑛 − �̅�)

√(∑ ∑𝑛 𝑚 (𝐴𝑚𝑛 − �̅�)2)(∑ ∑𝑛 𝑚 (𝐵𝑚𝑛 − �̅�)2)

Donde:

𝐴

= 𝐼𝑛𝑡𝑒𝑛𝑠𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑝𝑖𝑥𝑒𝑙 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑎 𝑙𝑎 𝑝𝑜𝑠𝑖𝑐𝑖𝑜𝑛 𝑚, 𝑛 𝑑𝑒 𝑙𝑎 𝑖𝑚á𝑔𝑒𝑛 𝑑𝑒𝑙 𝑜𝑏𝑗𝑒𝑡𝑜 𝑝𝑟𝑜𝑐𝑒𝑠𝑎𝑑𝑜 𝑑𝑒𝑛𝑡𝑟𝑜 𝑑𝑒𝑙 𝑒𝑠𝑝𝑎𝑐𝑖𝑜 𝑑𝑒 𝑡𝑟𝑎𝑏𝑎𝑗𝑜

𝐵

= 𝐼𝑛𝑡𝑒𝑛𝑠𝑖𝑑𝑎𝑑 𝑑𝑒𝑙 𝑝𝑖𝑥𝑒𝑙 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑖𝑒𝑛𝑡𝑒 𝑎 𝑙𝑎 𝑝𝑜𝑠𝑖𝑐𝑖ó𝑛 𝑚, 𝑛 𝑑𝑒 𝑙𝑎𝑠 𝑖𝑚á𝑔𝑒𝑛𝑒𝑠 𝑑𝑒𝑛𝑡𝑟𝑜 𝑑𝑒 𝑙𝑎 𝑏𝑎𝑠𝑒 𝑑𝑒 𝑑𝑎𝑡𝑜𝑠

�̅� = Valor medio de la matriz A

�̅� = Valor medio de la matriz 𝐵

𝑚 = 𝑃𝑜𝑠𝑖𝑐𝑖ó𝑛 𝑠𝑜𝑏𝑟𝑒 𝑒𝑙 𝑒𝑗𝑒 ℎ𝑜𝑟𝑖𝑧𝑜𝑛𝑡𝑎𝑙 𝑑𝑒𝑛𝑡𝑟𝑜 𝑑𝑒 𝑙𝑎 𝑖𝑚𝑎𝑔𝑒𝑛

𝑛 = 𝑃𝑜𝑠𝑖𝑐𝑖ó𝑛 𝑠𝑜𝑏𝑟𝑒 𝑒𝑙 𝑒𝑗𝑒 𝑣𝑒𝑟𝑡𝑖𝑐𝑎𝑙 𝑑𝑒𝑛𝑡𝑟𝑜 𝑑𝑒 𝑙𝑎 𝑖𝑚𝑎𝑔𝑒𝑛

Fuente: MathWorks

Page 99: Bibliotecas Bucaramanga Universidad Santo Tomás

99

Anexo D: Diagrama de fujo programa Matlab

Fuente: Autores

Page 100: Bibliotecas Bucaramanga Universidad Santo Tomás

100

Anexo E: Algoritmo procesamiento de imágenes

Fuente: Autores