• No se han encontrado resultados

Desarrollo de una Metodología para la Integración de Sistemas Robot-Visión-Edición Única

N/A
N/A
Protected

Academic year: 2017

Share "Desarrollo de una Metodología para la Integración de Sistemas Robot-Visión-Edición Única"

Copied!
138
0
0

Texto completo

(1)

Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey

Monterrey, Nuevo León a

Lic. Arturo Azuara Flores:

Director de Asesoría Legal del Sistema

", en los sucesivo LA OBRA, en virtud de lo cual autorizo a el Instituto Tecnológico y de Estudios Superiores de Monterrey (EL INSTITUTO) para que efectúe la divulgación, publicación, comunicación pública, distribución y reproducción, así como la digitalización de la misma, con fines académicos o propios al objeto de EL INSTITUTO.

El Instituto se compromete a respetar en todo momento mi autoría y a otorgarme el crédito correspondiente en todas las actividades mencionadas anteriormente de la obra.

De la misma manera, desligo de toda responsabilidad a EL INSTITUTO por cualquier violación a los derechos de autor y propiedad intelectual que cometa el suscrito frente a terceros.

Nombre y Firma AUTOR (A)

de 200

(2)

Desarrollo de una Metodología para la Integración de Sistemas

Robot-Visión-Edición Única

Title Desarrollo de una Metodología para la Integración de Sistemas Robot-Visión-Edición Única

Authors Pedro Espinoza Pérez Affiliation ITESM-Campus Monterrey Issue Date 2006-09-01

Item type Tesis

Rights Open Access

Downloaded 19-Jan-2017 10:34:10

(3)

INSTITUTO TECNOL ´OGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY

CAMPUS MONTERREY

DIVISI ´ON DE INGENIER´IA Y ARQUITECTURA

PROGRAMA DE GRADUADOS EN INGENIER´IA

Desarrollo de una metodolog´ıa para la integraci´

on de

Sistemas Robot-Visi´

on.

T E S I S

PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO ACAD´EMICO DE:

MAESTRO EN CIENCIAS ESPECIALIDAD EN AUTOMATIZACI ´ON

POR:

PEDRO ESPINOSA P´EREZ

(4)

c

(5)

Desarrollo de una metodolog´ıa para la integraci´

on

de Sistemas Robot-Visi´

on.

por

Ing. Pedro Espinosa P´

erez

Tesis

Presentada al Programa de Graduados en Ingenier´ıa y Arquitectura como requisito parcial para obtener el grado acad´emico de

Maestro en Ciencias

especialidad en

Automatizaci´

on

Instituto Tecnol´

ogico y de Estudios Superiores de Monterrey

Campus Monterrey

(6)

Instituto Tecnol´

ogico y de Estudios Superiores de

Monterrey

Campus Monterrey

Divisi´

on de Ingenier´ıa y Arquitectura

Programa de Graduados en Ingenier´ıa

Los miembros del comit´e de tesis recomendamos que el presente proyecto de tesis presentado por el Pedro Espinosa P´erez sea aceptado como requisito parcial para

obtener el grado acad´emico de:

Maestro en Ciencias

Especialidad en Automatizaci´on

Comit´

e de tesis:

Dr. Jos´e de Jes´us Rodr´ıguez Ortiz

Co-Asesor de la tesis

Ing. Ricardo Jim´enez Gonz´alez

Co-Asesor de la tesis

Dr. David Apolinar Guerra Zubiaga

Sinodal

Aprobado:

Dr. Francisco Angel Bello

Director del Programa de Graduados

(7)
(8)

Reconocimientos

Quiero agradecer a mis asesores el Dr. J.J. Rodr´ıguez y el Ing. Ricardo Jim´enez por el tiempo invertido en este trabajo de tesis.

Muchas gracias a los asistentes del laboratorio de mecatr´onica por apoyarme en todo lo que ocupe; el Ing. Luis Carlos F´elix, la Ing. Miriam Betsab´e, el Ing. Pedro Ju´arez y al Ing. Rodrigo Vargas por su valiosa asesor´ıa en las dudas sobre programaci´on.

Pedro Espinosa P´

erez

(9)

Desarrollo de una metodolog´ıa para la integraci´

on

de Sistemas Robot-Visi´

on.

Resumen

Esta tesis consiste en el desarrollo de una metodolog´ıa para la integraci´on de dos sistemas que estan conformados por un robot y un sistema de visi´on. El primero, es un sistema de ensamble, en el cual el robot realiza el trabajo principal y es auxiliado por el sistema de visi´on para realizar su tarea. El segundo, es un sistema de inspecci´on, en el cual el sistema de visi´on realiza la tarea principal y es auxiliado por un robot para realizar identificaciones e inspecciones en 2D y 3D. Uno de los sistemas a integrar, el sistema de ensamble (sistema FROVIS), se dise˜n´o e implement´o en la tesis de la Ing. Raquel Cuevas [Cue04], mientras que el segundo sistema a integrar, el sistema de inspecci´on, esta en desarrollo en la tesis del Ing. Francisco Ch´avez [Ch´a].

Antes de iniciar la integraci´on se adecu´o el sistema FROVIS, para que operara con el robot Motoman UP6, y el sistema de visi´on Simatic VS-725. El trabajo de integraci´on realizado, consiste en el dise˜no e implementaci´on de: un protocolo de co-municaci´on, una metodolog´ıa computacional, la configuraci´on del Sistema Integrador desarrollado, as´ı como una interfaz gr´afica con el usuario.

(10)

´Indice general

Reconocimientos V

Resumen VI

´Indice de cuadros X

´Indice de figuras XI

Cap´ıtulo 1. Introducci´on 1

1.1. Introducci´on . . . 1

1.2. Definici´on del Problema . . . 2

1.3. Meta . . . 4

1.4. Objetivos . . . 4

1.5. Alcance . . . 5

1.6. Estructura de la tesis . . . 6

Cap´ıtulo 2. Sistemas robot y visi´on 7 2.1. Marco Te´orico . . . 7

2.1.1. Caracter´ısticas de los robots industriales . . . 7

2.1.2. Cinem´atica del robot . . . 8

2.1.3. Sistema de visi´on . . . 11

2.2. Ejemplos de sistemas robot-visi´on . . . 18

2.2.1. “Machine Vision stremlines robotic Handling of Engine Parts” . 18 2.2.2. “Robot, Vision System Unloads Gears” . . . 19

2.2.3. “Vision enable robotics” . . . 20

2.3. FROVIS: “A Flexible Robot Vision System” (Robot apoyado por visi´on) 21 2.3.1. Protocolo de Comunicaci´on . . . 23

2.4. “FROVIS for 3D identification and inspection” (Visi´on apoyada por robot) 23 Cap´ıtulo 3. Recursos de integraci´on 25 3.1. Software para la integraci´on . . . 25

(11)

3.1.2. Spectation . . . 27

3.1.3. SIMATIC WinCC . . . 33

Cap´ıtulo 4. Desarrollo de la Metodolog´ıa de Integraci´on 39 4.1. Sistema de integraci´on . . . 39

4.2. Protocolo de comunicaci´on . . . 40

4.2.1. Secuencia de acciones . . . 41

4.2.2. Estructura de los mensajes . . . 43

4.3. L´ogica de Ejecuci´on . . . 47

4.4. Configuraci´on del Sistema Integrador . . . 49

4.4.1. Informaci´on de los sistemas FROVIS y FROVIS-II . . . 50

4.4.2. Par´ametros generales del Sistema Integrador . . . 51

4.4.3. Secuencia de ejecuci´on de los sistemas FROVIS y FROVIS-II . . 52

4.5. Almacenamiento de Resultados . . . 53

4.6. Desarrollo de la interfaz gr´afica . . . 55

4.7. Consideraciones para realizar la integraci´on . . . 62

4.7.1. Caracter´ısticas que deben tener los sistemas a integrar . . . 63

4.7.2. Adecuaci´on de los sistemas a integrar . . . 63

4.8. Modificaci´on de FROVIS . . . 64

4.8.1. Comunicaci´on FROVIS con Motoman . . . 64

4.8.2. Implementaci´on del protocolo de comunicaci´on . . . 65

Cap´ıtulo 5. Caso de estudio: robot auxiliado por visi´on y visi´on auxiliada por robot 67 5.1. Descripci´on del caso de estudio . . . 67

5.1.1. Descripci´on . . . 67

5.1.2. Proceso de operaci´on . . . 68

5.1.3. Secuencia de ejecuci´on . . . 69

5.1.4. Interfaz gr´afica . . . 70

5.2. Configuraci´on del Sistema Integrador . . . 72

5.2.1. Secuencia de acciones . . . 72

5.2.2. Mensajes del protocolo de comunicaci´on . . . 73

5.2.3. Selecci´on de los sistemas a ejecutar . . . 76

5.2.4. Configuraci´on de la comunicaci´on con los sistemas de ensamble e inspecci´on . . . 77

5.2.5. Ejecuci´on del Sistema . . . 78

5.2.6. Almacenamiento de datos . . . 78

(12)

Cap´ıtulo 6. Conclusiones y Trabajos Futuros 83

6.1. Conclusiones . . . 83

6.2. Trabajos futuros . . . 84

Ap´endice A. Funciones de Comunicaci´on con el Robot Motoman 85 A.1. Para obtener el estatus . . . 85

A.2. Para el control del sistema . . . 86

A.3. Para la comunicaci´on . . . 89

Ap´endice B. Protocolo de Comunicaci´on 92 B.1. Mensajes . . . 92

B.1.1. Sistema Integrador→ sistemas de ensamble e inspecci´on . . . . 93

B.1.2. Sistema de ensamble e inspecci´on→ Sistema Integrador . . . . 99

B.1.3. Sistema de ensamble→ Sistema Integrador . . . 105

B.1.4. Sistema de inspecci´on→ Sistema Integrador . . . 106

Ap´endice C. Interfaz Gr´afica 109 C.1. Pantalla principal . . . 109

C.2. Ejecuci´on del Sistema . . . 111

C.3. Configuraci´on del Sistema . . . 112

C.4. Configuraci´on del Sistema 2 . . . 114

C.5. Consulta de Resultados . . . 116

C.6. Alarmas . . . 118

C.7. Acerca . . . 119

Ap´endice D. Instalaci´on del Sistema Integrador desarrollado en una

com-putadora personal 120

Bibliograf´ıa 122

(13)

´Indice de cuadros

2.1. Relaci´on entre cinem´atica directa e inversa. . . 9 2.2. Funciones gen´ericas de un robot y una c´amara en FROVIS. . . 22 4.1. Ejemplo de la estructura de los mensajes. Mensaje “IPASSFAL”. . . 44 4.2. Mensajes enviados del Sistema Integrador a los sistemas a integrar. . . 45 4.3. Mensajes enviados de los sistemas a integrar al Sistema Integrador. . . 47 4.4. Ejemplo del an´alisis de los mensajes recibidos en el socket. . . 49 4.5. Tabla “CONFIG-SYSTEMS” de la base de datos para almacenar la

con-figuraci´on de los sistemas FROVIS y FROVIS-II. . . 50 4.6. Tabla “PROGRAMS-SYSTEM-1” de la base de datos para almacenar

los programs del sistema FROVIS. . . 51 4.7. Tabla “PROGRAMS-SYSTEM-2” de la base de datos para almacenar

los programs del sistema FROVIS-II. . . 51 4.8. Tabla “GENERAL-INFO” de la base de datos para almacenar la

infor-maci´on general del Sistema Integrador. . . 52 4.9. Estructura para establecer la secuencia en que los sistemas se ejecutan. 53 4.10. Tabla “SEQUENCE-PROGRAMS” para guardar en la base de datos la

secuencia de ejecuci´on de los sistemas. . . 53 4.11. Tabla “RESULTS” para guardar en la base de datos los resultados de

ejecuci´on de los sistemas. . . 54 4.12. Ejemplo de valores almacenados en la tabla de resultados de la base de

datos. . . 55 4.13. Funciones de comunicaci´on FROVIS con su respectiva funci´on del

(14)

´Indice de figuras

2.1. Reflexi´on de la luz. . . 14

2.2. Medidas de la distancia hacia el objeto. . . 15

2.3. Modelo geom´etrico de c´amara pinhole. . . 15

2.4. Al eliminar los nidos, se increment´o la flexibilidad del sistema. . . 18

2.5. El robot descarga engranes colocados aleatoriamente. . . 19

2.6. “Teach pendant” de KUKA. . . 20

2.7. El sistema de visi´on identifica la cara del cubo. . . 21

2.8. Arquitectura de comunicaci´on de FROVIS. . . 22

2.9. Diagrama de secuencia, para configurar el sistema FROVIS. . . 24

3.1. Comunicaci´on entre una computadora y el controlador XRC. . . 26

3.2. Uso de los SoftSensor de calibraci´on para obtener la altura. . . 28

3.3. Uso de los SoftSensor “Find Circle” y “Segmented Find Circle”. . . 29

3.4. Uso del “ObjectFind SoftSensor”. . . 31

3.5. Par´ametros del “ObjectFind SoftSensor” para darle flexibilidad. . . 33

3.6. Ventana principal de WinCC. . . 36

3.7. Creaci´on de Tags en WinCC. . . 37

3.8. Creando una nueva ventana para el dise˜no del HMI. . . 37

3.9. Creaci´on de m´odulos de programaci´on en VBS. . . 38

4.1. Diagrama de la integraci´on. . . 40

4.2. Secuencia de comunicaci´on entre el Sistema Integrador y los sistemas FROVIS y FROVIS-II. . . 42

4.3. Secuencia de comunicaci´on entre el Sistema Integrador y los sistemas FROVIS y FROVIS-II, utilizando los mensajes del protocolo de comu-nicaci´on. . . 46

4.4. Diagrama de flujo con la l´ogica de ejecuci´on de los sistemas. . . 48

4.5. Pantalla Principal del Sistema Integrador. . . 56

4.6. Pantalla de Ejecuci´on del Sistema. . . 57

4.7. Pantalla de Configuraci´on del Sistema. . . 58

4.8. Segunda Pantalla de Configuraci´on del Sistema. . . 59

(15)

4.10. Pantalla de Alarmas. . . 61

4.11. Pantalla Acerca del Sistema. . . 62

4.12. Estructura de las clases de FROVIS para la implementaci´on del protocolo de comunicaci´on. . . 66

5.1. Foto de los contenedores utilizadas para el ensamble. . . 68

5.2. Foto de las figuras utilizadas para el ensamble, dentro de su contenedor correspondiente. . . 69

5.3. Imagen de como se ve el sistema durante su ejecuci´on. . . 71

5.4. Secuencia para establecer comunicaci´on entre los sistemas. . . 72

5.5. Secuencia de comunicaci´on entre el Sistema Integrador y FROVIS. . . . 74

5.6. Secuencias de comunicaci´on entre Sistema Integrador y FROVIS-II. . . 75

5.7. Configuraci´on de la secuencia uno. . . 76

5.8. Configuraci´on de la secuencia dos. . . 77

5.9. Configuraci´on de la comunicaci´on entre el Sistema Integrador y los sis-temas de ensamble y de inspecci´on. . . 78

5.10. Tabla con la informaci´on general del sistema. . . 79

5.11. Tabla con la configuraci´on de los sistemas. . . 79

5.12. Tabla con los programas del sistema de ensamble. . . 79

5.13. Tabla con la configuraci´on de la secuencia de ejecuci´on. . . 80

5.14. Tabla con los resultados de la ejecuci´on de los sistemas. . . 81

C.1. Pantalla principal. . . 110

C.2. Pantalla de ejecuci´on del Sistema. . . 111

C.3. Pantalla de Configuraci´on del Sistema. . . 113

C.4. Segunda pantalla de Configuraci´on del Sistema. . . 115

C.5. Pantalla de consulta de resultados. . . 117

C.6. Pantalla de alarmas. . . 118

(16)

Cap´ıtulo 1

Introducci´

on

1.1.

Introducci´

on

En la industria ha aumentado la necesidad de automatizar procesos e integrar tec-nolog´ıas nuevas con la finalidad de aumentar la velocidad y la calidad de la producci´on, esto para aumentar su diversidad de productos y disminuir sus costos. Para ello se han integrado robots de cuatro y seis ejes principalmente, y en algunas ocasiones, traba-jando en conjunto con sistemas de visi´on han aumentado algunas caracter´ısticas en las l´ıneas de producci´on, como la calidad, rapidez, identificaci´on e incluso la inspecci´on parcial de objetos para que el robot pueda realizar con ello tareas m´as espec´ıficas.

El problema que se ataca con este trabajo, consiste en que existen diferentes robots y c´amaras en el mercado, y no hay un est´andar que todos los fabricantes sigan que permita la f´acil integraci´on entre estas tecnolog´ıas. Se planea realizar una metodolog´ıa que incluya los aspectos mas importantes para lograr una integraci´on de diferentes sistemas robot y visi´on de manera mas est´andar. Algunos aspectos a considerar en la integraci´on son los siguientes:

Modelo f´ısico de la integraci´on del robot y la c´amara.

Secuencia de acciones y protocolos de comunicaci´on usados para la integraci´on l´ogica de un sistema con un robot gen´erico y una c´amara gen´erica.

Almacenar y tener disponible informaci´on actual del sistema. Capacidad para integrar sistemas adicionales.

M´etodo de calibraci´on para el sistema.

(17)

desarrollo la tesis de [Ch´a] en la cual el sistema de visi´on realiza la tarea principal, y este es apoyado por el robot. Estos sistemas estan separados y se requiere integrarlos para poderlos usar en un mismo sistema y aprovechar las caracter´ısticas de los dos, de manera que sea posible utilizar tanto el robot como el sistema de vis´on como la tec-nolog´ıa principal. El presente trabajo se enfoca a la integraci´on de las dos tectec-nolog´ıas y en caso de no ser posible, detectarlo a tiempo. La validaci´on de la metodolog´ıa se va a realizar con un robot Motoman UP6, con controlador XRC 2001 y una c´amara Simatic Vision Sensor VS-725.

En resumen los dos sistemas que se van a integrar son los siguientes: FROVIS [Cue04]

• Sistema de ensamble

• Robot auxiliado por sistema de visi´on

FROVIS-II (copia de FROVIS, para simular la inspecci´on) • Sistema de inspecci´on

• Sistema de visi´on auxiliado por robot

1.2.

Definici´

on del Problema

La problem´atica parte del supuesto que se tienen dos estaciones de manufactura; la primera estaci´on cuenta con un robot y un sistema de visi´on, los cuales trabajan en conjunto para ensamblar piezas, es decir, el robot se apoya del sistema de visi´on para saber cual es la posici´on y orientaci´on de las piezas, y despu´es ir a tomarlas y ensamblarlas. La segunda estaci´on cuenta de igual manera, de un robot y un sistema de visi´on, pero en este caso se realiza una inspecci´on, la cual consiste en que el robot toma la c´amara para ubicar el objeto, y enseguida el robot mueve la c´amara hacia el objeto y realiza inspecciones de diferentes ´angulos (3D).

Pero que pasa si queremos utilizar las dos estaciones en conjunto, ya sea para realizar ensamble e inspecci´on en una misma pieza, o para realizar ensambles a alguna pieza e inspecciones para otra, esto no es posible de manera autom´atica, ya que tendr´ıa que haber alguien en la l´ınea encargado de estar cambiando de sistema constantemente, lo cual es completamente ineficiente, adem´as de que hay mucho tiempo muerto.

(18)

ensambles e inspecciones a cualquier pieza (siempre y cuanto se cuente con el herramen-tal adecuado para esto), en el orden deseado. El sistema de inspecci´on no solo puede realizar inspecciones finales, sino tambi´en puede realizar inspecciones intermedias en el proceso. Algunos procesos que ser´ıa posible realizar una vez que se realiza la integraci´on y que no ser´ıan posible sin ella son los siguientes:

Ensamblar una pieza y verificar que la pieza ensamblada este dentro del rango de dimensiones establecido.

Verificar que una pieza cumpla con las dimenciones adecuadas antes de realizar el ensamble de la misma.

Identificar donde se encuentra la pieza que se desea ensamblar, donde la diferencia entre las piezas es m´ınima, y solo mediante un sistema de identificaci´on se puede distinguir.

Realizar ensambles de piezas que se alimentan mediante una banda transporta-dora, donde no se sabe cual es la pieza siguiente, una vez que se ensambla, inspec-cionar la pieza recien ensamblada con el programa de inspecci´on correspondiente a dicha pieza.

Al integrar las dos tecnolog´ıas, la incompatibilidad es uno de los problemas con los que se enfrenta, debido a la gran diversidad de robots y sistemas de visi´on que existen en el mercado. Para lograr la integraci´on, se necesita una computadora para comunicar estar dos tecnolog´ıas. Incluso una vez comunicados, nada garantiza, que pueda tener la flexibilidad deseada de poder combinar el uso de las dos tecnolog´ıas. Probablemente requiera de hardware y software adicional que permita la completa integraci´on de las dos tecnolog´ıas.

Otro problema es la flexibilidad que se le desea dar al sistema. Podemos definir flexibilidad, como la habilidad de procesar diferentes piezas sin un tiempo muy grande para el ajuste entre cada cambio de pieza. En nuestro caso definimos flexibilidad como la habilidad de integrar diferentes sistemas de robot y visi´on.

(19)

Para el caso de estudio se van a coordinar dos sistemas que utilizan los mismos recursos, en este caso un robot MotoMan UP6, con un controlador XRC 2001 y una c´amara Siemens VS725; el primer sistema es un ensamble (robot) apoyado por un sis-tema de visi´on, el segundo sissis-tema es una inspecci´on (sissis-tema de visi´on) apoyada por un robot. La coordinaci´on se va a lograr a trav´es de un Sistema Integrador, quien va a decidir que sistema se va a utilizar, esto mediante un protocolo de comunicaci´on e intercambio de informaci´on con cada sistema. El proceso consiste en el ensamble en el espacio, de tres figuras con una geometr´ıa f´acil de ensamblar y de reconocer por el sistema de visi´on. No se pretende lograr ensambles complejos, o identificaciones muy complicadas, realizadas por el robot o el sistema de visi´on, mas bien se desea comprobar que la metodolog´ıa que se haya establecido, sea realmente efectiva y flexible, y las dos tecnolog´ıas se encuentren integradas correctamente, siendo factible el hecho de contar con la posibilidad de tener el robot como la tecnolog´ıa principal, o el sistema de visi´on.

1.3.

Meta

La meta de este trabajo de tesis es desarrollar una metodolog´ıa para la inte-graci´on de sistemas que utilizan las tecnolog´ıas de rob´otica y sistemas de visi´on. Esta metodolog´ıa se aplica a un sistema de ensamble y un sistema de inspecci´on, en donde ambos utilizan la tecnolog´ıa de rob´otica y visi´on. Con esta metodolog´ıa se logra la integraci´on de rob´otica y visi´on en una computadora personal.

1.4.

Objetivos

El objetivo principal de esta Tesis es alcanzar la meta establecida en la secci´on 1.3, para lo cual se necesitan cumplir los siguientes objetivos particulares.

Dentro de la metodolog´ıa existen aspectos que deben de resolverse:

Desarrollar una metodolog´ıa computacional para llevar a cabo las dos tecnolog´ıas: robot auxiliado por la visi´on y visi´on auxiliada por el robot. Esta metodolog´ıa computacional debe permitir el uso del sistema de ensamble y/o inspecci´on seg´un se requiera.

(20)

Comunicaci´on entre los dos sistemas. Los protocolos de comunicaci´on no siempre son iguales, por lo que se va a requerir de un tercer sistema, que consiste en una computadora con hardware y/o software de comunicaci´on entre la computadora y el robot, y el sistema de visi´on.

Un formato o m´etodo para almacenar la configuraci´on del Sistema Integrador, as´ı como los resultados obtenidos mediante los sistemas de ensamble e inspecci´on. Dentro del desarrollo, se encuentra el dise˜no y programaci´on de una Interfaz Hom-bre M´aquina (HMI por sus siglas en ingl´es) donde se pueda monitorear y configurar el sistema. Las ventanas con las que cuenta este HMI son las siguientes:

Una ventana que contiene botones para iniciar o detener el sistema, de manera autom´atica o manual; dentro de esta ventana se encuentra un ´area para desplegar los resultados de cada ciclo del sistema.

Una ventana de configuraci´on, donde se pueda establecer los par´ametros de comu-nicaci´on, as´ı como el orden de ejecuci´on de los sistemas de ensamble e inspecci´on. Donde adem´as se pueda accesar las herramientas necesarias para realizar las con-figuraciones de los sistemas a integrar.

Una ventana donde se pueda accesar los registros de resultados obtenidos anteri-ormente.

1.5.

Alcance

(21)

1.6.

Estructura de la tesis

La tesis esta organizada como sigue. En el Cap´ıtulo 2 se describe brevemente la teor´ıa sobre los robots, como es la cinem´atica inversa y directa, y de los sistemas de visi´on, como puede ser la eliminaci´on de la distorci´on provocada por el lente. Tambi´en se mencionan algunos ejemplos de sistemas robot y visi´on.

En el Cap´ıtulo 3 se encuentra una descripci´on del software utilizado para la in-tegraci´on, principalmente de los componentes que fueron requeridos en cada caso. Por ejemplo, el software MotoCom fue necesario para el intercambio de informaci´on entre la computadora y el controlador XRC 2001 del robot Motoman UP6, por lo que se especifican las funciones de comunicaci´on utilizadas.

En el Cap´ıtulo 4 se encuentran los componentes en que esta dividido el proceso de integraci´on, as´ı como los pasos necesarios y una explicaci´on de como realizar la inte-graci´on de los sistemas robot y visi´on mencionados anteriormente. Tambi´en se describe el protocolo de comunicaci´on realizado para el intercambio de informaci´on entre los sistemas. Por ´ultimo se establece que informaci´on es necesaria guardar para monitorear el desempe˜no del sistema.

En el Cap´ıtulo 5 se muestra el caso de estudio, en donde se aplica el dise˜no pro-puesto en el cap´ıtulo anterior a la integraci´on de dos sistemas compro-puestos por un robot Motoman UP6, con controlador XRC 2001 y un sistema de visi´on Simatic Vision Sensor VS-725.

(22)

Cap´ıtulo 2

Sistemas robot y visi´

on

En este Cap´ıtulo se mencionan algunos aspectos importantes sobre los que estan basados los robots y los sistemas de visi´on. En la secci´on 2.2 se mencionan algunos ejemplos de sistemas de robot y visi´on que existen en la actualidad. En la secci´on 2.3 y 2.4 se describe el sistemas propuesto por [Cue04] y el sistema que se encuentra en desarrollo [Ch´a], estos sistemas son los que se integran a trav´es de la metodolog´ıa pro-puesta en este trabajo de tesis.

2.1.

Marco Te´

orico

En esta secci´on hay un resumen sobre la Cinem´atica del robot, que es la transfor-maci´on de posici´on del robot en coordenadas cartesianas, esta conversi´on es realizada autom´aticamente en la mayor´ıa de los controladores de los robots. Para la integraci´on de los sistemas de ensamble y de inspecci´on, mediante la metodolog´ıa propuesta en este trabajo, se considera que la Cinem´atica del robot es calculada por el controlador del robot; en caso contrario, el sistema de ensamble o de inspecci´on que se va a integrar es el que debe realizar las conversiones necesarias. El controlador del robot debe contar con algunas caracter´ısticas m´ınimas las cuales son descritas en la secci´on 2.1.1. Tambi´en se explican algunas herramientas de un sistema de visi´on que son indispensables para la identificaci´on e inspecci´on de objetos.

2.1.1.

Caracter´ısticas de los robots industriales

(23)

Controladores

Los controladores de los robots son el cerebro del robot, en ellos se realizan to-dos los c´alculos necesarios, para que el robot se mueva a una determinada posici´on y velocidad. Algunas de las caracter´ısticas de un controlador debe tener son las siguientes:

En controlador debe poder comunicarse con una computadora personal, las in-terfases de comunicaci´on m´as comunes son serial y ethernet. De estas dos, es deseable que la comunicaci´on sea ethernet, esto por dos razones: la velocidad de env´ıo de in-formaci´on es mayor, y si se desea realizar la comunicaci´on inal´ambrica, es mas sencillo con comunicaci´on ethernet. Dentro de la comunicaci´on, la computadora debe contar con la capacidad de ejecutar m´ınimo ciertas instrucciones en el controlador, las cuales se pueden resumir en las siguientes acciones que el controlador debe poder realizar a trav´es de la computadora.

Seleccionar el programa que se desea ejecutar. Iniciar la ejecuci´on de un programa.

Detener la ejecuci´on de un programa.

Escribir el valor de una variable, la cual pueda almacenar la coordenada de una posici´on del robot.

Obtener el estado del robot

El controlador debe contar con la capacidad de almacenar diferentes programas, de esta forma se cuenta con la habilidad de poder seleccionar el programa correspondiente a la tarea que se desea que el robot realice. Un controlador que puede almacenar un solo programa, no cuenta con las caracter´ısticas necesarias para poder ser integrado, pues carece de flexibilidad. Al crear un programa, se debe contar con la opci´on de colocar una variable como una posici´on a la que el robot va a posicionarse, esta variable debe poder almacenar una coordenada de una posici´on del robot.

2.1.2.

Cinem´

atica del robot

(24)

cinem´atica del robot, el primero de ellos se conoce como elproblema cinem´atico directo, y consiste en determinar cual es la posici´on y orientaci´on del extremo final del robot, con respecto a un sistema de coordenadas que se toma como referencia, conocidos los valores de las articulaciones y los par´ametros geom´etricos de los elementos del robot, el segundo denominado problema cinem´atico inverso resuelve la configuraci´on que debe adoptar el robot para alcanzar una posici´on y orientaci´on del extremo conocidas.

Valor de las Cinem´atica directa→ Posici´on y coordenadas orientaci´on del

articulares extremo del robot (q1, q2,· · ·, qn) ←Cinem´atica inversa (x, y, z, α, β, γ)

q1 = f1(x, y, z, α, β, γ) x= fx(q1, q2,· · ·, qn)

q2 = f2(x, y, z, α, β, γ) y= fy(q1, q2,· · ·, qn)

. z = fz(q1, q2,· · ·, qn)

. α= fα(q1, q2,· · ·, qn)

. β = fβ(q1, q2,· · ·, qn)

qn= fn(x, y, z, α, β, γ) γ = fγ(q1, q2,· · ·, qn)

Cuadro 2.1: Relaci´on entre cinem´atica directa e inversa.

Cinem´atica Directa

Existen diversas formas de obtener el modelo cinem´atico directo [BPBA97], aqu´ı se describe el m´etodo mediante matrices de transformaci´on homog´enea. Las caracter´ısticas de este m´etodo son:

A cada eslab´on se le asocia un sistema de referencia solidario.

Es posible representar las traslaciones y rotaciones relativas entre los distintos eslabones.

La matriz i−1A

i representa la posici´on y orientaci´on relativa entre los sistemas

asociados a dos eslabones consecutivos del robot.

Representaci´on total o parcial de la cadena cinem´atica del robot se define en la Ecuaci´on 2.1.

0

A3 =0A11A22A3 T =0

A6 =0A11A22A33A44A55A6

(25)

Existen m´etodos sistem´aticos para situar los sistemas de coordenadas asociados a cada eslab´on y obtener la cadena cin´ematica del robot.

Cinem´atica Inversa

El objetivo del problema cinem´atico inverso consiste en encontrar los valores que deben adoptar las coordenadas articulares del robot q = [q1, q2,· · ·, qn]T para que su

extremo se posicione y oriente seg´un una determinada localizaci´on espacial.[BPBA97]

As´ı como es posible abordar el problema cinem´atico directo de una manera sis-tem´atica a partir de la utilizaci´on de matrices de transformaci´on homog´eneas, e in-dependientemente de la configuraci´on del robot, no ocurre lo mismo con el problema cinem´atico inverso, siendo el procedimiento de obtenci´on de las ecuaciones fuertemente dependiente de la configuraci´on del robot.

Se han desarrollado algunos procedimientos gen´ericos susceptibles de ser progra-mados, de modo que una computadora pueda, a partir del conocimiento de la cinem´atica del robot obtener la n-upla de valores articulares que posicionan y orientan su extremo. El inconveniente de estos procedimientos es que se trata de m´etodos num´ericos itera-tivos, cuya velocidad de convergencia e incluso su convergencia en si no esta siempre garantizada.

A la hora de resolver el problema cinem´atico inverso es mucho m´as adecuado encontrar una soluci´on cerrada. Esto es, encontrar una relaci´on matem´atica explicita de la forma de la Ecuaci´on 2.2.

qk = fk(x, y, α, β, γ)

k = 1. . .n (Grados de libertad) (2.2) Este tipo de soluci´on presenta, entre otras, las siguientes ventajas:

1. En muchas aplicaciones, el problema cinem´atico inverso ha de resolverse en tiempo real (por ejemplo, en el seguimiento de una determinada trayectoria). Una soluci´on de tipo iterativo no garantiza tener la soluci´on en el momento adecuado.

2. Al contrario de lo que ocurr´ıa en el problema cinem´atico directo, con cierta fre-cuencia la soluci´on del problema cinem´atico inverso no es ´unica; existiendo di-ferentes n-uplas [q1,· · ·, qn]T que posicionan y orientan el extremo del robot de

(26)

No obstante, a pesar de las dificultades comentadas, la mayor parte de los robots poseen cinem´aticas relativamente simples que facilitan en cierta medida la resoluci´on de su problema cinem´atico inverso.

2.1.3.

Sistema de visi´

on

La mayor´ıa de los robots industriales que hay instalados actualmente en los pro-cesos productivos, est´an pr´acticamente incomunicados con el entorno que les rodea. La necesidad de tener programadas las acciones a efectuar, restringe el ambiente de trabajo a unas condiciones estrictas, al igual que a las pinzas o los materiales que se han de manipular.[dCEeI]

Cuando las producciones no son grandes, esa ordenaci´on del mundo exterior se hace muy costosa y es preciso disponer de robots, que sean capaces de operar en situa-ciones que permitan cierta flexibilidad en los elementos.

Existen multitud de sensores capaces de informar de algunas caracter´ısticas del ambiente que envuelve al robot, pero la m´as completa y la que confiere la m´axima adaptabilidad a la m´aquina, es la visi´on.

La importancia de la visi´on, esta confirmada por la gran cantidad de empresas e investigadores que se dedican a mejorar esta t´ecnica. Sin embargo, todav´ıa no se ha implantado la visi´on en los robots comerciales, dadas las dificultades que existen y que pueden redimirse en las siguientes:

1. Los sistemas de visi´on superan, en muchos casos, el coste del sistema de robot industrial.

2. Exigen extensos desarrollos de software, que potencian el n´ucleo central de In-teligencia Artificial preciso para que el robot actu´e de acuerdo con la informaci´on del mundo exterior.

3. Se necesitan potentes computadoras para procesar una gran cantidad de infor-maci´on en poco tiempo. En rob´otica, las im´agenes hay que procesarlas en tiempo real.

(27)

5. En el an´alisis de la imagen, adem´as de la informaci´on directa, hay que procesar otras fuentes de datos, tan complejos como los procedentes de la experiencia memorizada, el contexto general y los objetivos perseguidos.

Las aplicaciones m´as interesantes de visi´on, dentro de la Rob´otica, son el re-conocimiento y clasificaci´on de objetos, el ensamblado, la soldadura, la sincronizaci´on con otros dispositivos en movimiento y el guiado de robots m´oviles.

Un sistema de visi´on artificial consta de las siguientes partes:

1. C´amara, encargada de captar la imagen y transmitirla en forma de se˜nales el´ectri-cas, siguiendo unas normas de exploraci´on.

2. Interfaz, de adaptaci´on de las se˜nales el´ectricas producidas por la c´amara a un computador.

3. Paquetes de software, para el proceso de la informaci´on por el computador, que permita analizar las escenas y generar los comandos de gobierno del robot, de forma aut´onoma y en tiempo real (Inteligencia Artificial).

En la confecci´on del software, pueden distinguirse tres fases consecutivas:

1. Selecci´on, de la informaci´on ´util e indispensable, puesto que es casi imposible, tener en cuenta toda la informaci´on que proporciona la c´amara.

2. Interpretaci´on, de la escena en forma conveniente para la aplicaci´on en curso. 3. C´alculo y generaci´on, de las ordenes de control a los elementos motrices del

ma-nipulador, seg´un los resultados de la fase anterior.

Reconocimiento e inspecci´on

En la industria con el paso del tiempo se han tratado de implementar sistemas de visi´on ya que desde un punto de vista cercano a estos sistemas para la producci´on industrial, tenemos diferentes y muy importantes aplicaciones de campo [Fre89], como lo son:

Localizaci´on de objetos, principalmente para darle visi´on al robot.

(28)

A partir de esto, muchas mas aplicaciones se pueden realizar en el campo de la inspecci´on y medici´on, reconocimiento de objetos, y la rob´otica; las razones para esto son varias:

1. Los sistemas de visi´on para inspecci´on generalmente est´an personalizados y opti-mizados para una tarea espec´ıfica que es programada por el proveedor, que es un especialista en sistemas de visi´on.

2. En contraste a esto, los sistemas de visi´on con robots est´an designados para ser usados en sistemas flexibles de manufactura y por ello tienen que ser flexibles tambi´en.

3. Las aplicaciones del robot con visi´on frecuentemente necesitan sistemas de mejor precisi´on y confiabilidad en las peores condiciones del medio que en tareas de inspecci´on.

4. En muchos casos, las restricciones econ´omicas no son tan fuertes en aplicaciones de inspecci´on como las restricciones de los robots.

5. La inversi´on necesaria es muchas veces menor para sistemas de inspecci´on de prop´osito particular que para un sistemas de visi´on para robots.

6. En general el desempe˜no de los sistemas de visi´on disponibles para robots, que son en muchos casos sistemas de visi´on binarios, es muy bajo para muchas apli-caciones.

En general este tipo de sistemas debe satisfacer m´as o menos cuatro principales y contradictorios requerimientos:

1. Bajo o muy bajo error de reconocimiento y proporciones rechazadas. 2. Altas reservas de desempe˜no.

3. Una muy poderosa y confiable interfaz de usuario. 4. Bajo costo del sistema.

Considerar flexible al sistema en este contexto significa que:

(29)

Intensidad luminosa

En los sistemas de im´agenes los diferentes puntos del objeto tendr´an diferentes valores de intensidad en la imagen, dependiendo de la cantidad de radiaci´on incidente, de como est´an iluminados, como reflejan la luz, como la luz reflejada es recopilada por un sistema de lentes y como responde el sensor a la luz que recibe. La Figura 2.1 muestra el fen´omeno b´asico de reflexi´on. La intensidad de la imagen I es proporcional a la radiaci´on del escenario, la cual depende de: (1) La cantidad de luz que cae sobre la superficie. (2) La fracci´on de la luz incidente que es reflejada y (3) La geometr´ıa de la reflexi´on de la luz, esto es, la direcci´on desde donde es vista as´ı como la direcci´on desde donde es iluminado. Matem´aticamente la intensidad de la luz sobre la imagen puede escribirse mediante la Ecuaci´on 2.3.

I =gJifrCS+b (2.3)

DondeJi es la radiaci´on de incidencia, f

r es la funci´on de reflexi´on bidireccional, C es

la recolecci´on del lente, S es la respuesta del sensor, g es la ganancia del sensor y b es el desplazamiento del sensor.

Figura 2.1: Reflexi´on de la luz.

M´etodo para medir la distancia del objeto

(30)

D=d tanθ1

(tanθ2−tanθ1)

(2.4) Donde d es la distancia que recorri´o la c´amara, θ1 y θ2 son los ´angulos antes y despu´es del movimiento y D es la distancia del objeto (Figura 2.2).

Figura 2.2: Medidas de la distancia hacia el objeto.

La c´amara Pinhole

El modelo b´asico de la c´amara pinhole se utiliza para la modelaci´on geom´etrica de un sistema de visi´on [WM],[Mer04]. Un esquema de este modelo se presenta en la Figura 2.3. El modelo consiste en un centro ´optico C, en donde convergen todos los rayos de la proyecci´on, y un plano de la imagenRen el cual la imagen es proyectada. El plano de imagen est´a ubicado a una distancia focal f del centro ´optico y perpendicular al eje ´optico Z.

Figura 2.3: Modelo geom´etrico de c´amara pinhole.

(31)

m= (C, M)∩R (2.5) Suponiendo que las coordenadas (inhomog´eneas) de los puntosM ymson (X, Y, Z)T y (x, y)T respectivamente, se puede encontrar una relaci´on entre ellas aplicando el teo-rema de Thales, descrito en la Ecuaci´on 2.6.

Zx =f X

Zy =f y

(2.6) o bien en coordenadas homog´eneas, como se muestra en la Ecuaci´on 2.7.

Z     x y 1    =     f X f Y Z    =    

f 0 0 0 0 f 0 0 0 0 1 0

          X Y Z 1       (2.7)

que puede ser escrita en forma matricial como la Ecuaci´on 2.8.

λm = PM (2.8)

siendo M = [XY Z1]T y m = [xy1]T las coordenadas homog´eneas de M y m res-pectivamente, y P la matriz de 3x4 denominada matriz de proyecci´on perspectiva de la c´amara. El factorλes un factor de escala para mantener la igualdad y es igual a Z. Se observa que la ecuaci´on no lineal de la proyecci´on en coordenadas inhomog´eneas se con-vierte en una ecuaci´on lineal en coordenadas homog´eneas, lo cual constituye una de las principales ventajas del uso de las coordenadas homog´eneas en la geometr´ıa proyectiva.

Distorsi´on del lente de la c´amara

Un problema con el modelo de la c´amara pinhole es que asume una relaci´on per-fecta entre el plano del mundo real y el plano de la imagen. En la pr´actica, los lentes simples sufren de ciertas aberraciones; hay 5 principales aberraciones: esf´erica, coma, astigmatismo, presenta curvatura y distorsi´on; las cuales nublan la imagen en cada pun-to del objepun-to. La dispun-torsi´on juega un papel diferente y cambia la forma de la imagen por completo. Este efecto se debe a que diferentes ´areas del lente tienen una peque˜na diferencia focal del lente. Dichas aberraciones son monocrom´aticas, esto es, son inde-pendientes de la respuesta del lente a varias longitudes de onda [Mer04].

(32)

m =     1

λ 0 0

0 1

λ 0

0 0 1

 

[Rt] M (2.9)

Donde λ es una funci´on polinomial der2 =x2

+y2

, que es λ= 1 +k1r2+k2r4+ · · ·+knr

2n. Donde k

1,· · ·, kn son los coeficientes de la distorsi´on radial. Normalmente

es suficiente con n = 2. Tambi´en es posible considerar los coeficientes de distorsi´on tangencial p1 y p2. As´ı, para un punto sin distorsi´on (u, v), la posici´on de distorsi´on (ud, vd) esta dada por la Ecuaci´on 2.10.

ud=u+ (u−cx)

h r2

(k1+r2k2) + 2yp1+p2

r2 x + 2x

i

vd=v+ (v−cx)

h r2

(k1+r2k2) + 2yp2+p1

r2

y + 2y

i (2.10)

Donde x= u−cx

f x , y y= v−cy

f y .

Homograf´ıa

Homograf´ıa es una relaci´on de transformaci´on entre 2 sistemas de coordenadas [Zha99],[Mer04]. La matriz de homograf´ıa H se representa mediante la Ecuaci´on 2.11.

H =

  

h11 h12 h13

h21 h22 h23

h31 h32 h33

 

 (2.11)

Asumiendo Z = 0 en el sistema coordenado del mundo, y de acuerdo al modelo de la c´amara pinhole tenemos:

    u v 1    =A

h

r1 r2 r3 t

i       X Y 0 1      

=Ah r1 r2 t

i     X Y 1    

Donde ri representa la columna i de la matriz de rotaci´on R. Tambi´en, un punto

modelo M y su imagen m est´a relacionada por la homograf´ıa H de acuerdo a:

m = HM donde H =Ah r1 r2 t

i

(33)

2.2.

Ejemplos de sistemas robot-visi´

on

2.2.1.

“Machine Vision stremlines robotic Handling of Engine

Parts”

En Ganton Technologies, que se localiza en Sturtevant, Wisc., E.U.A.; implemen-taron un sistema que consiste en una c´amara fija localizada encima de una banda trans-portadora, que contiene piezas colocadas aleatoriamente que van a ser maquinadas en una m´aquina CNC vertical y un robot que toma las piezas de la banda, con la posici´on y orientaci´on proporcionada por la c´amara, y las coloca en la m´aquina CNC.[Lub99]

Figura 2.4: Al eliminar los nidos, se increment´o la flexibilidad del sistema.

Esto se realiz´o porque se buscaba tener mas flexibilidad en el sistema, original-mente se contaba con una celda con 12 nidos, con lo cual el robot tomaba las piezas en puntos pre-programados, esto requeria demasiada programaci´on del robot, y se ten´ıan que crear nuevos nidos cada vez que se introducian piezas nuevas, adem´as hab´ıan mu-chos problemas mec´anicos.

Con este nuevo sistema no es necesario el uso de nidos, y se reduce la programaci´on requerida del robot. Este sistema incluso puede diferenciar diferentes tipos de piezas y decirle al robot con que herramienta tomarla. Para esto se realiza un entrenamiento que consiste en colocar las piezas debajo del ´area de visi´on de la c´amara, y seleccionar en la imagen donde se requiere que el robot tome la pieza.

(34)

2.2.2.

“Robot, Vision System Unloads Gears”

La compa˜n´ıa manufacturera Len Industries, quer´ıa reducir costos de operaci´on e incrementar la producci´on, esto colocando un robot para que descargar´a engranes colocados aleatoriamente en contenedores. Como parte del proceso el robot tambi´en tiene que remover el pl´astico que separa cada capa de engranes, y lograr un ciclo de 4.5 segundos por parte, incluyendo la capa de pl´astico que remueve.[Ano05]

Figura 2.5: El robot descarga engranes colocados aleatoriamente.

El sistema de visi´on esta conectado directamente al servidor en el controlador del robot, v´ıa Ethernet. Los par´ametros clave usados en esta aplicaci´on son el tama˜no y contraste, estas caracter´ısticas fueron utilizadas para lograr el objetivo, y saber si una parte se encontr´o o no.

El contraste fue requerido cuando el sistema de visi´on confund´ıa las marcas de aceite en forma de engrane con los verdaderos engranes. Una marca de aceite marcaba un valor de 44, contra un valor de 95 de los verdaderos, de esta forma se logr´o que no confundiera las marcas de aceite.

Debido a que hab´ıa una capa de pl´astico transparente que separaba los engranes, el sistema de visi´on ve´ıa a trav´es del pl´astico y confund´ıa los engranes debajo del pl´astico con los que estaba descargando. Para resolver esto se utiliz´o el par´ametro del tama˜no, el engrane tiene que ser al menos 95 % del tama˜no de la pieza que se utiliz´o para entrenar el sistema.

(35)

colocados en una m´aquina CNC, y colocarlos al rev´es puede da˜nar la herramienta.

2.2.3.

“Vision enable robotics”

KUKA Automation + Robotics y DVT Corporation, hicieron equipo para desa-rrollar lo que llaman “vision-enable robotics” (visi´on-habilitada en robot) en el cual la c´amara esta fuertemente integrada al sistema de control del robot.[Con05]

[image:35.612.235.405.330.511.2]

La integraci´on del hardware se basa en que las c´amaras inteligentes DVT Legend 500 series, cuentan con conectividad por ethernet, y puede ser configurada mediante un navegador de internet, y se conecta directamente con el controlador KR C2, el con-trolador est´andar de un amplio rango de robots. Esto permite que las im´agenes de la c´amara puedan ser mostradas en el “teach pendant” del robot, y habilita al usuario poder programar el robot y la c´amara con un solo “teach pendant”. Figura 2.6

Figura 2.6: “Teach pendant” de KUKA.

La fuerte integraci´on significa que las coorfenadas del robot pueden ser calibradas f´acilmente, y la c´amara pueda guiar adecuadamente los movimientos del robot.

En una demostraci´on hecha en febrero del 2005, el robot ensambl´o tres im´agenes hechas de 24 cubos, cada cubo tiene en tres de sus caras una parte de cada una de las tres imagenes, en las otras tres caras tiene un c´odigo de barras que le indica la imagen en la cara opuesta, y como debe tomar dicho cubo. Figura 2.7

(36)

Figura 2.7: El sistema de visi´on identifica la cara del cubo.

los componentes interiores de veh´ıculos. Las c´amaras inspeccionan que esten en buena calidad y luego obtienen la posici´on y orientaci´on de los componentes para que el robot los tome y los ensamble correctamente.

El “teach pendant” permite cambiar entre programar el robot o controlar la c´amara. Para programar una inspecci´on, se necesita adquirir una imagen y ajustar los par´ametros de inspecci´on y tolerancias para un producto en particular. El operador especifica el n´umero de c´amaras el tipo de c´amara y su direcci´on IP. La calibraci´on tambi´en se realiza con el “teach pendant”, y los datos que se necesita que la c´amara le envie al robot son especificados. Variables boleanas como TRIGGERCAMERA y DATAREADY proporcionan al programador la habilidad de utilizar los datos de la visi´on de la forma mas adecuada.

2.3.

FROVIS: “A Flexible Robot Vision System”

(Robot apoyado por visi´

on)

(37)

quien las transforma en desplazamientos lineares y angulares mediante la cinem´atica del robot. Conexiones, sincronizaci´on de eventos, e intercambio de informaci´on son mane-jados por un M´odulo Controlador programado en una computadora.

Para lograr la sincronizaci´on, el sistema de visi´on y el controlador del robot actuan como servidores y su trabajo es estar esperando una conexi´on, mientras el trabajo de la computadora es establecer la conexi´on con los dos servidores. Esta arquitectura se muestra en la Figura 2.8.

Figura 2.8: Arquitectura de comunicaci´on de FROVIS.

La arquitectura del sistema se cre´o para que se pudiera integrar cualquier robot o cualquier sistema de visi´on, para esto se crearon clases virtuales gen´ericas, las cuales a su ves tienen clases espec´ıficas del robot y la c´amara a utilizar. El Cuadro 2.2 contiene las funciones gen´ericas de FROVIS.

Robot Gen´erico C´amara Gen´erica Connect Connect Go Home Acquire Image

Run Program Get Position and Orientation Update Position Get Height

Move Disconnect Grab

Disconnect

(38)

2.3.1.

Protocolo de Comunicaci´

on

La funcionalidad de FROVIS es respaldada por un protocolo de comunicaci´on que consiste principalmente de intercambio de “strings” con longitud definida entre el M´odulo Controlador y el sistema de visi´on. El protocolo de comunicaci´on no aplica al enlace entre la computadora y el controlador del robot, porque los controladores tienen su propio protocolo de comunicaci´on, y no puede ser cambiado.

Los protocolos de FROVIS enuncian que el primer llamado para la conexi´on entre el M´odulo Controlador y la c´amara es iniciada al enviar un mensaje “START” como string, quien es recibido por el software del sistema de visi´on. El mensaje debe ser con-testado, enviando un mensaje “OK” seguido de ocho espacios, debido a que la respuesta del M´odulo Controlador debe ser de diez bytes. Siguiendo esta estrategia, peticiones del M´odulo Controlador hacia el sistema de visi´on, son enviados como 5 bytes de longitud y pueden corresponder al “start”, “insp1”, “insp2”, o “insp3” de los procesos en l´ınea, y “calib” o “carac” para los procesos de calibraci´on fuera de l´ınea. La informaci´on obteni-da de posici´on y orientaci´on por el sistema de visi´on y enviaobteni-da al M´odulo Controlador debe consistir en dos bytes en su encabezado y sus correspondientes 8 bytes de longitud en el valor.

2.4.

“FROVIS for 3D identification and inspection”

(Visi´

on apoyada por robot)

El segundo sistema [Ch´a] que se integra realiza lo opuesto al mencionado ante-riormente, el sistema de visi´on realiza la tarea principal y es ayudado por el robot. El objetivo es mover la c´amara con el robot, para que esta tenga movilidad y pueda realizar identificaciones e inspecciones no solo en 2 dimensiones, sino tambi´en en 3 di-mensiones, con esto se busca tener mas flexibilidad en el sistema de visi´on.

(39)
[image:39.612.175.463.132.641.2]
(40)

Cap´ıtulo 3

Recursos de integraci´

on

Para la integraci´on propuesta en el Cap´ıtulo 4 se utilizaron algunos paquetes com-putacionales; los cuales, para una mayor comprensi´on de la integraci´on, se describen en este Cap´ıtulo. Tambi´en se incluye una breve explicaci´on de los componentes utilizados de cada paquete.

3.1.

Software para la integraci´

on

A continuaci´on se presentan las tecnolog´ıas utilizadas en la realizaci´on de la in-tegraci´on de los dos sistemas robot-visi´on. El software de comunicaci´on con el Contro-lador XRC para el robot Motoman UP6; el software para la programaci´on del sistema de visi´on Simatic VS-725; y el software para la programaci´on del sistema de integraci´on de los sistemas de ensamble e inspecci´on.

3.1.1.

MotoCom SDK

El robot utilizado para esta integraci´on fue un robot Motoman UP6, con contro-lador XRC, por lo cual, para su comunicaci´on con una computadora personal, requiere del software MotoCom SDK [Mot02], el cual contiene unas librerias creadas por Mo-toman. MotoCom SDK se utiliza para la transmisi´on de datos entre una computadora y un controlador industrial XRC, as´ı como realizar el control de este ´ultimo a trav´es de la computadora.

En la Figura 3.1 se muesra un dibujo de la conexi´on entre una computadora y el controlador XRC. La comunicaci´on puede ser v´ıa serial o ethernet, en este caso fue por ethernet, ya que es un medio de comunicaci´on m´as r´apido y esta disponible.

(41)

Figura 3.1: Comunicaci´on entre una computadora y el controlador XRC.

Los puertos utilizados para la comunicaci´on son del 10000 al 10008, por lo que estos puertos deben estar libres y ser exclusivos para la comunicaci´on entre la computadora y el controlador XRC.

Dos controladores XRC no pueden accesar el mismo archivo de una computadora. Dos computadoras no pueden estar conectadas simultaneamente al mismo con-trolador XRC

Funciones utilizadas

De acuerdo a [Mot02], el software MotoCom SDK tiene diferentes tipos de fun-ciones para el control del robot, que se dividen en dos grupos: leer el estatus y control del sistema. Tambi´en estan las funciones para establecer la comunicaci´on con el robot, aunque no se mencionan como tal. Las funciones que se utilizan en este trabajo se describen a detalle en el Ap´endice A. A continuaci´on se muestra un resumen de estas funciones y una breve descripci´on de lo que realizan.

BscGetStatus Obtiene la informaci´on del estatus del robot, algunas de los valores obtenidos son: si esta operando o no, modo de operaci´on, ciclo de operaci´on, servos encendidos, etc.

BscHoldOff Establece el hold-off. Se ´utiliza para mandarle al robot la instrucci´on de quitar la pausa en la ejecuci´on del programa que este realizando.

BscHoldOn Establece el hold-on. Se ´utiliza para mandarle al robot la instrucci´on de poner en pausa la ejecuci´on del programa que este realizando.

BscPutVarData Establece los valores de una variable. Le env´ıa al controlador los valores de una variable definida.

(42)

BscSelectJob Selecciona un programa. Selecciona un programa a ser ejecutado pos-teriormente.

BscServoOff Apaga la fuente de energ´ıa de los servos.

BscServoOn Enciende la fuente de energ´ıa de los servos.

BscClose Libera el manejador de comunicaci´on.

BscConnect Conecta una l´ınea de comunicaci´on.

BscDisConnect Desconecta una l´ınea de comunicaci´on.

BscOpen Obtiene un manejador de comunicaci´on.

BscSetEther Establece los par´ametros de comunicaci´on por ethernet.

BscSetCondBSC Establece un reloj de control para la comunicaci´on.

En [Mot02] se encuentra m´as informaci´on y una explicaci´on m´as detallada sobre las librerias MotoCom SDK.

3.1.2.

Spectation

La programaci´on del sistema de visi´on Simatic VS-725 de Siemens se realiza a trav´es del software Spectation [SIE03b]. Este software cuenta con una interfaz gr´afica en donde se realiza el dise˜no del producto, donde el producto puede ser una identifi-caci´on o inspecci´on. Pueden existir tantos productos como se requiera. Cada producto esta conformado por diferentes “SoftSensors”, que son los que realizan el an´alisis sobre la imagen.

“SoftSensors” utilizados

(43)

“Measurement SoftSensors”

Los “Measurement SoftSensors” son utilizados para la medici´on de las partes que son inspeccionadas. Esta madici´on se realiza en pixeles, al menos que un factor de es-cala sea creada y calibrada (en “Math Tools” ´o Herramientas Matem´aticas, se crea el factor de escala). Hay dos tipos de SoftSensor de Medici´on: los que se basan en l´ınea y los que se basan en ´area.

Hay cuatro mediciones principales que los SoftSensor puede realizar: desfazamiento de una l´ınea, medida de calibraci´on, ajuste de l´ınea y c´alculo de un radio. El SoftSensor que mide el desfazamiento de una l´ınea trabaja como el SoftSensor de desplazamiento. Mide la distancia del origen del SoftSensor al pixel donde la caracter´ıstica es encontra-da. La medici´on la hace en pixeles a diferencia del SoftSensor de desplazamiento que es en porcentaje.

Ls medici´on de calibraci´on puede ser realizada usando SoftSensor de l´ınea o de ´area. En ambos casos el SoftSensor puede medir de adentro hacia afuera o de afuera hacia adentro.

Figura 3.2: Uso de los SoftSensor de calibraci´on para obtener la altura.

El SoftSensor para el ajuste de l´ınea es un SoftSensor que mide por ´area. Funciona de la misma manera que una SoftSensor de calibraci´on de ´area, pero mide solo en una direcci´on. Consiste de muchas l´ıneas de medici´on. Cada linea de medici´on intersecta el borde de la parte a ser inspeccionada y determina el punto de intersecci´on.

(44)

Circle”. Tienen la misma funcionalidad; la diferencia es en su aplicaci´on. Find Circle debe ser usado cuando el c´ırculo que va a ser medido es un c´ırculo completo. El de segmento es usado cuando no es un c´ırculo completo. En la Figura 3.3 se muestra un ejemplo de la utilizaci´on de estos SoftSensors.

Figura 3.3: Uso de los SoftSensor “Find Circle” y “Segmented Find Circle”.

Herramientas Matem´aticas

Las herramientas matem´aticas ofrecen una variedad de SoftSensors. A diferencia de otras herramientas, cuando se unan los SoftSensor de herramientas matem´aticas, no se requiere ning´un dibujo adicional. Utiliza referencias hacia otras herramientas usadas en el objeto. Hay tres tipos de SoftSensor Matem´aticos. El primero realiza c´alculos b´asicos basados en la salida de otros SoftSensors.

El segundo tipo es el de factor de escala. En casos en donde la distancia en pixeles no es suficiente, el usuario puede crear un factor de escala para convertir los pixeles en unidades. Hay dos maneras de ejecutar el factor de escala: est´atico y din´amico. El m´etodo de escala est´atico ejecuta el factor de escala una vez y lo usa para imagenes subsecuentes. El m´etodo din´amico requiere que un objeto con un tama˜no conocido per-manezca enfrente del sistema de visi´on mientras la imagen es inspeccionada. El tama˜no de este objeto en pixeles es calculado en cada inspecci´on.

(45)

a las coordenadas definidas por el usuario. Esto es, cualquier ubicaci´on en la imagen tendr´a las coordenadas originales y la opci´on de reportar en las funciones definidas por el usuario. La principal aplicaci´on de esta herramienta, es la interfase con un robot. Las coordenadas pixel necesitan ser transformadas hacia coordenadas robot antes de tranferir los datos.

Este tipo de SoftSensor es muy ´util para aplicaciones en donde el robot va a tomar una pieza, en la que no conoce su posici´on y/o orientaci´on. A continuaci´on se encuentran los pasos propuestos en [SIE03b] para programar un SoftSensor de transformaci´on de coordenadas.

Seleccionar puntos espec´ıficos (m´ınimo 5 para transformaci´on simple de coorde-nadas, y mas de 10 si se va a corregir la distorci´on del lente) para los cuales se conoce la coordenada del robot.

Crear un SoftSensor que genere un punto como su salida para cada uno de los puntos para obtener la coordenada en pixeles de ellos.

Crear un SoftSensor de sistema de coordenadas y use los SoftSensor creados en el paso anterior como puntos de calibraci´on. Para agregar el punto de calibraci´on uno por uno, el usuario necesita especificar la coordenada de robot del punto. Al presionar el b´oton de actualizaci´on de las coodenadas, las coordenadas del pixel ser´an agregadas autom´aticamente.

Crear un SoftSensor para buscar la parte a ser inspeccionada.

Crear un nuevo SoftSensor de transformaci´on de coordenada para transformar el SoftSensor que busca la parte basado en c´alculos hechos por el sistema de coordenadas calibrado previamente. Este SoftSensor debe obtener la posici´on de la parte usando coordenadas del robot.

“ObjectFind SoftSensor”

“ObjectFind SoftSensor” usa algoritmos avanzados para aprender las caracter´ısti-cas de un objeto y encontrar las ocurrencias de dicho objeto en las imagenes subse-cuentes. [SIE03c]

(46)

contenidas en el modelo para determinar la presencia del objeto aprendido. Hay dos tipos de ObjectFind SoftSensor: de ´area simple y de ´area doble. El de ´area simple debe ser dibujado alrededor del objeto y cuando el SoftSensor aprende las caracter´ısticas de este, puede ser extendido para cubrir el ´area donde el objeto pudiera encontrarse como se observa en la Figura 3.4. El de ´area doble determina dos ´areas; el ´area interior es para aprender el objeto y debe ser dibujado justo sobre los bordes del objeto. El ´area exterior indica donde va a ser buscado el objeto. Ambos sensores desempe˜nan el mismo trabajo, pero el SoftSensor de ´area doble es preferido en casos en donde el objeto que cambia de posici´on sobre toda el ´area necesita necesita volver a aprenderse usando la se˜nal de reaprendizaje. Para lograr esto, el nuevo objeto a ser aprendido debe estar colocado en el rect´angulo interior.

Figura 3.4: Uso del “ObjectFind SoftSensor”.

(47)

a variar, el objeto va a parecer que varia en el tama˜no. Para estos casos, el SoftSensor ofrece un par´ametro de tolerancia de escalamiento el cual el usuario puede seleccionar para indentificar objetos cuando estos son proporcionalmente mayores o menores que el modelo aprendido.

Otro par´ametro importante que tiene el ObjectFind SoftSensor es la flexibilidad. El usuario puede ajustar el SoftSensor para darle menor o mayor flexibilidad. El Soft-Sensor debe tener menos flexibilidad cuano el objeto a ser localizado no varia en tama˜no ni geometr´ıa. Si las partes son defectuosas o estan encimadas, el SoftSensor debe recono-cer la presencia del objeto cuando muchas caracter´ısticas del modelo aprendido esten presentes en el ´area. Esta opci´on hace el SoftSensor menos susceptible al ruido. Para el caso contrario, cuando el objeto tiene a encimarse o cuando cambia su geometr´ıa, el SoftSensor debe ser hecho mas flexible. Esto permitir´a al SoftSensor encontrar objetos donde solo hay algunas caracter´ısticas del objeto aprendido. el usuario debe mantener en mente que entre mas flexible es el SoftSensor, se vuelve m´as susceptible al ruido. Los par´ametros que le permiten al SoftSensor ser mas flexible son (Figura 3.5):

“Scale Tolerance”: permite al SoftSensor encontrar objetos menores o mayores. “Object Matching Parameters”: indica el m´ınimo porcentaje de caracter´ısticas y per´ımetro que deben coincidir con el modelo aprendido, para que el objeto sea reconocido como tal.

“Feature Matching Parameters”: disminuir esto permite alguna deformaci´on en la parte que se va a analizar, y a´un lo concidera como que coincidi´o.

“Polyline Matching Parameters”: determina como el poligono que sigue el con-torno de un nobjeto es dibujado, as´ı como el per´ımetro m´ınimo que la carac-ter´ıstica de un objeto debe tener para evitar ser descartado.

“Scripts”

(48)

Figura 3.5: Par´ametros del “ObjectFind SoftSensor” para darle flexibilidad.

Inspecciones de cada producto solo pueden controlar sus propios SoftSensors. Los SoftSensor solo pueden referenciar otros SoftSensor para posiciones de referencia y otras tareas menores. Diferentes inspecciones no pueden comunicarse una con la otra, esto es, una cierta inspecci´on es realizada y cuando termina, todos los datos usados en la inspecci´on desaparecen del sistema. Los scripts pueden ser vistos como una excepci´on a la regla. Los script pueden accesar datos que otros SoftSensor no, e incluso pueden realizar comunicaciones entre productos, esto es posible al compartir la misma memoria de sistema.

Existen dos tipos de script: “background” (de fondo) y “foreground” (de primer plano). La diferencia b´asica entre ellos es que el script de fondo es independiente de las inspecciones y se ejecuta a nivel del sistema, en donde se ejecuta en cada inspecci´on y existe a nivel del producto. Mientras que el script de primer plano es particular de una inspecci´on y se ejecuta cuando se realiza la inspecci´on a la que pertenece.

3.1.3.

SIMATIC WinCC

(49)

hombre y la m´aquina. El control sobre el proceso en s´ı lo tiene el aut´omata programable (PLC). Es decir, por un lado hay una comunicaci´on entre WinCC y el operador, y por otro lado entre WinCC y los PLC’s.[SIE03a]

Con WinCC se visualiza el proceso y se programa la interfaz gr´afica de usuario para el operador.

WinCC permite que el operador observe el proceso, para lo cual el proceso es visualizado gr´aficamente en la pantalla. En cuanto cambia un estado en el proceso se actualiza la visualizaci´on.

WinCC permite que el operador meneje el proceso; as´ı, desde la interfaz gr´afica de usuario ´el puede predeterminar un valor de consigna, abrir una v´alvula, etc. Cuando se presenta alg´un estado cr´ıtico en el proceso se activa autom´aticamente una alarma; as´ı se rebasa un valor l´ımite predeterminado, por ejemplo, aparece un aviso en la pantalla.

Los avisos y los valores de proceso se pueden imprimir y archivar en formato electr´onico. El usuario documenta as´ı la evoluci´on del proceso y puede acceder posteriormente a los datos de producci´on del pasado.

El usuario puede integrar WincCC de modo ´optimo en soluciones de automati-zaci´on y en soluciones IT (Information Technology):

En su calidad de componente del concepto TIA de Siemens (Totally Integrated Automation), WinCC opera con aut´omatas programables de la serie de produc-tos SIMATIC con un grado de coordinaci´on y cooperaci´on especialmente eficaz. Tambi´en est´an soportados los sistemas de automatizaci´on de otros fabricantes. Por medio de interfaces estandarizadas se intercambian los datos de WinCC con otras soluciones IT, por ejemplo con aplicaciones de los niveles MES y ERP, o con programas tales como Microsoft Excel.

Aplicando las interfaces de programaci´on de WinCC se pueden interconectar los propios programas para controlar el proceso y para seguir procesando los datos. WinCC puede ser adoptado de modo ´optimo a los requisitos de cada proceso. Se soporta un gran n´umero de configuraciones, desde un sistema monopuesto hasta los sistemas redundantes distribuidos que tienen varios servidores, pasando por sistemas cliente-servidor.

(50)

WinCC es un sistema HMI apto para utilizarlo con Internet, pudiendo implemen-tar soluciones de cliente basados en la Web y soluciones de tipo “thin client”.

Orden para realizar los trabajos de configuraci´on

En WinCC, unas etapas de configuraci´on determinadas se basan en otras etapas de configuraci´on; es decir, para poder realizar unos trabajos se tiene que haber realizado antes otros trabajos determinados.

A continuaci´on se muestra una propuesta de secuencia que podr´a servir al usuario como orientaci´on para configurar los proyectos:

1. Desarrollar la estructura y el diagrama de flujo del sistema a programar.

2. Definir todas las variables globales a utilizar, las “Tags” sirven para este prop´osito. 3. Crear la interfaz gr´afica, aunque no tenga ninguna funcionalidad, ligando a las

Tags ya definidas cuando sea necesario.

4. Al programar, empezar por las secuencias de comunicaci´on entre los sistemas, y probarlos.

5. Desarrollar las rutinas particulares y generales.

6. Programar las actualizaciones del HMI que se ralizan por medio de Tags o rutinas y las acciones y eventos del HMI.

Descripci´on general del ambiente WinCC

En la Figura 3.6 se muestra la ventana principal del software WinCC; en esta ventana se encuentran todos los componentes que conforman un proyecto creado en este ambiente. Los componentes b´asicos, y que se requieren para cualquier proyecto son: las “Tags”, que no son mas que las variables del sistema, las cuales pueden cam-biar su valor de acuerdo a como haya sido programado; las ventanas del proyecto, las cuales contienen toda la HMI del sistema; y el c´odigo del proyecto, el cual se separa en m´odulos y cada m´odulo puede ser programado en C o en VBS.

(51)

Figura 3.6: Ventana principal de WinCC.

que va a contener. Una vez creado, es posible cambiar el tipo de dato o el nombre del tag.

Para dise˜nar el HMI, el primer paso es crear una ventana, en donde se va a colocar los objetos que van a conformarlo. Para esto se da click derecho en “Graphics Design-er” (Figura 3.6) y se selecciona “New picture”. Entonces aparecer´a un archivo llamado “NewPdl0.pdl” como se muestra en la Figura 3.8. Para empezar a editar el HMI, se da doble click al archivo, y se abre el ambiente para hacerlo.

(52)

Figura 3.7: Creaci´on de Tags en WinCC.

(53)
[image:53.612.138.501.262.523.2]
(54)

Cap´ıtulo 4

Desarrollo de la Metodolog´ıa de Integraci´

on

En este Cap´ıtulo se plantea la metodolog´ıa para integrar los sistemas robot y visi´on, la cual se va desarrollando a lo largo del Cap´ıtulo en las diferentes secciones de este. La integraci´on se realiza utilizando el software descrito en el Cap´ıtulo 3, as´ı co-mo el sistema FROVIS [Cue04] descrito en el Cap´ıtulo 2, tomando en consideraci´on el hardware necesario para dicha integraci´on. La integraci´on puede realizarse con software diferente al ya mencionado, siempre y cuando cuente con la funcionalidad para realizar lo descrito en el Cap´ıtulo 4 y Cap´ıtulo 5.

4.1.

Sistema de integraci´

on

La integraci´on parte del hecho que se tiene un robot y un sistema de visi´on, y son utilizados por dos sistemas distintos, en tiempos distintos, y se desea que trabajen en conjunto y no en forma separada. O bien si se desea agregar uno o mas sistemas que utilicen estos mismos recursos (robot y sistema de visi´on), de igual forma trabajando en equipo con los dem´as sistemas existentes. Para coordinar la utilizaci´on del robot y el sistema de visi´on, mediante dichos sistemas se crea un sistema que va a tener una jerarqu´ıa mayor, ya que los sistemas a integrar van a ser parte de ´el, a dicho sistema de ahora en adelante lo llamaremos “Sistema Integrador”. En la Figura 4.1 se muestra un diagrama donde se puede observar lo anterior.

(55)
[image:55.612.196.447.140.359.2]

sistema de visi´on realiza la tarea principal y es apoyado por el robot, se va a utilizar una copia de FROVIS, la cual llamaremos FROVIS-II.

Figura 4.1: Diagrama de la integraci´on.

El Sistema Integrador es quien va a decidir cuando y c´omo FROVIS va a utilizar el robot y el sistema de visi´on, o cuando los va a utilizar FROVIS-II. Dentro de las deci-siones que toma el Sistema Integrador se encuentran las siguientes: decide que sistema es el siguiente en la utilizaci´on del robot y el sistema de visi´on; le indica al sistema cual es el programa que va a ejecutar; de acuerdo a la informaci´on obtenida de los sistemas, ejecuta la acci´on correspondiente. El Sistema Integrador se va a desarrollar en el paquete computacional “SIMATIC WinCC K6.0.3.0”.

4.2.

Protocolo de comunicaci´

on

Figure

Figura 2.6: “Teach pendant” de KUKA.
Figura 2.9: Diagrama de secuencia, para configurar el sistema FROVIS.
Figura 3.9: Creaci´on de m´odulos de programaci´on en VBS.
Figura 4.1: Diagrama de la integraci´on.
+7

Referencias

Documento similar

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

You may wish to take a note of your Organisation ID, which, in addition to the organisation name, can be used to search for an organisation you will need to affiliate with when you

Where possible, the EU IG and more specifically the data fields and associated business rules present in Chapter 2 –Data elements for the electronic submission of information

The 'On-boarding of users to Substance, Product, Organisation and Referentials (SPOR) data services' document must be considered the reference guidance, as this document includes the

In medicinal products containing more than one manufactured item (e.g., contraceptive having different strengths and fixed dose combination as part of the same medicinal

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

Products Management Services (PMS) - Implementation of International Organization for Standardization (ISO) standards for the identification of medicinal products (IDMP) in

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)