reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC),...

39
1 INSTITUTO POLITÉCNICO NACIONAL UPIITA Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas Proyecto SIP: 20070263 “SISTEMA MECATRÓNICO DE PLANEACIÓN DE TRAYECTORIAS PARA ROBOT MANIPULADORES INDUSTRIALES POR MEDIO DE VISIÓN ARTIFICIAL” Director de Proyecto: Dr. Juan Alejandro Flores Campos. REPORTE FINAL 28 de Enero 2008 Resumen La globalización y la competividad forzan a las empresas manufactureras a aumentar su productividad reduciendo los tiempos de fabricación y aumentando la calidad de sus productos. Los Sistemas de Manufactura Flexible (SMF), juegan un papel importante para resolver este problema. En general, los sistemas (SMF) cuentan con una banda transportadora, una máquina de Control Numérico (CNC) y un robot manipulador. Este último se programa para realizar tareas en coordinación con los demás elementos del sistema, las tareas van desde tomar piezas de la banda transportadora y colocarlas en la

Transcript of reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC),...

Page 1: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

1  

INSTITUTO POLITÉCNICO NACIONAL UPIITA

Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas

Proyecto SIP: 20070263

“SISTEMA MECATRÓNICO DE PLANEACIÓN DE TRAYECTORIAS PARA ROBOT MANIPULADORES INDUSTRIALES POR MEDIO DE VISIÓN

ARTIFICIAL”

Director de Proyecto: Dr. Juan Alejandro Flores Campos.

REPORTE FINAL 28 de Enero 2008

Resumen La globalización y la competividad forzan a las empresas manufactureras a aumentar su productividad reduciendo los tiempos de fabricación y aumentando la calidad de sus productos. Los Sistemas de Manufactura Flexible (SMF), juegan un papel importante para resolver este problema. En general, los sistemas (SMF) cuentan con una banda transportadora, una máquina de Control Numérico (CNC) y un robot manipulador. Este último se programa para realizar tareas en coordinación con los demás elementos del sistema, las tareas van desde tomar piezas de la banda transportadora y colocarlas en la

Page 2: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

máquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles, etc. Por lo tanto, la propuesta de este proyecto de investigación se encuentra dentro del ámbito del problema de reducir los tiempos de programación de robot manipuladores, proponiendo una alternativa desde el enfoque mecatrónico, para programar (enseñarle) al robot manipulador a que imite las trayectorias descritas por los seres humanos en actividades de ensamble, empaquetamiento, manejo de materiales peligrosos, paletización y tareas de producción, entre otros. El sistema mecatrónico estará integrado a través de software, formando parte del hardware un sistema de visión que capturará las imágenes de las trayectorias descritas por las piezas u objetos que el trabajador genera cuando lleva a cabo una tarea determinada. La información visual obtenida será procesada con el fin de extraer la posición y velocidad del objeto sobre la trayectoria, para después codificarla en términos de variables generalizadas para que un prototipo de robot manipulador sea programado en forma automática. Por lo tanto, el problema a resolver se centra en diseñar y desarrollar un sistema de visión que capture y procese la información visual de las trayectorias generadas por el movimiento de los centroides y la orientación de objetos en un ambiente industrial. En el ámbito de la programación de robots manipuladores se desarrolló una alternativa utilizando visión artificial de tal forma que un brazo manipulador imite trayectorias simples generadas por los humanos, por ejemplo, en tareas de ensamble, empaquetamiento, manejo de materiales y tareas similares. Se implementó un sistema de visión para obtener la planeación de trayectorias de un sistema dinámico con el objetivo de recrear lo más aproximado la trayectoria observada. Para lograr lo anterior, se diseñó y construyó un sistema mecatrónico de planificación de trayectorias para robots manipuladores, mismo que consta de un prototipo de un brazo manipulador de tres grados de libertad planar (tipo RRR1), el cual está conectado a una computadora por medio de microcontroladores a través del puerto serial y un sistema de visión, basado en la integración de Visual C++ 6.0 soportado en la plataforma Windows®

XP. Este sistema es capaz de observar, procesar y recrear el recorrido de la trayectoria bidimensional de un objeto. La trayectoria es definida por el usuario al desplazar manualmente una pieza geométrica sobre un plano ortogonal al eje óptico de la cámara del sistema de visión. Para que la trayectoria pueda generarse y la cámara realice la captura, el usuario debe portar un guante cuyo color y textura sea parecida al fondo y tendrá que sostener la pieza a mover de manera que su mano no obstruya el campo visual (no se considera la oclusión en el desarrollo del prototipo). Para recrear la trayectoria lo mejor posible y debido a limitaciones físicas de la cámara, se recomienda restringir la velocidad del objeto a valores pequeños (aproximadamente 32.5 mm/seg como velocidad máxima) en el proceso de construcción del prototipo.

                                                       1 RRR, tres articulaciones rotacionales 

Page 3: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

3  

Introducción En tiempos recientes se ha llevado a cabo la automatización de diferentes tipos de procesos industriales a consecuencia del avance en los sistemas de cómputo y al surgimiento de nuevas tecnologías como la visión por computadora. Esto trae como beneficio la reducción del tiempo y costos en la producción. Actualmente la mayoría de los sistemas de visión por computadora que se emplean se encuentran instalados en las plantas manufactureras para efectuar tareas de control de calidad en los productos, esto se puede llevar a cabo mediante algoritmos de conteo y detección de patrones, los cuales son configurados de acuerdo a las necesidades de cada proceso; esto requiere mucha inversión en tiempo. Por otra parte existen tareas en líneas de producción automatizadas donde un conjunto de robots elaboran un producto en etapas. Una de las tareas más comunes es la operación de recoger y colocar, la cual consiste en llevar al robot desde la posición inicial hasta la posición de sujeción, recoger el objeto y llevarlo hasta la posición final. Algunos lenguajes de programación para robot, son el lenguaje AL (desarrollado por la Universidad de Stanford) para el robot PDP-11 y el lenguaje AML (desarrollado por IBM) para el robot IBM RS-1. [1] Estos robots deben ser previamente programados con rutinas específicas que se ejecutaran repetidamente. Sin embargo, si se deseara construir una celda de manufactura flexible donde los robots tuvieran la capacidad de hacer diversas trayectorias o realizar diferentes procesos, surge la necesidad de diseñar un programa con la nueva rutina y reprogramar el robot. Como alternativa a los lenguajes de programación de alto nivel, existen otros tres métodos que son: reconocimiento de palabras separadas, enseñanza y repetición y programación fuera de línea. En este trabajo se utilizó un sistema de programación fuera de línea. Un sistema de programación fuera de línea se define como un lenguaje de programación que se ha extendido lo suficiente, para que el desarrollo de programas del robot pueda llevarse a cabo sin necesidad de tener acceso al mismo robot. Planteamiento del problema Las horas hombre que son invertidas en la realización de operaciones sencillas se convierten en costos para las empresas, los cuales pueden invertirse en mejoras de tecnología con la que se optimizarían sus procesos de producción. Se propuso automatizar el proceso a través de la imitación de los movimientos necesarios para realizar operaciones sencillas, como ensambles, por medio de un sistema mecatrónico. Se implementó un sistema de control basado en visión artificial como una alternativa para la planeación de trayectorias de robots manipuladores. El sistema propuesto no realiza las tareas en tiempo real. Los pasos a seguir en el proceso son:

1. Realiza la captura del video. 2. El tratamiento de las imágenes capturadas. 3. Recreación de la trayectoria.

Page 4: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Justificación La mayoría de los procesos de manufactura que se siguen en una línea de producción se repiten muchas veces al día, causando que los empleados que están a cargo de los mismos presenten cansancio y hastío. Por esa razón, se desarrollo este sistema mecatrónico de aprendizaje utilizando visión artificial para la planeación de las trayectorias involucradas en dichas tareas de manufactura. Para realizar operaciones autónomas de ensamble en líneas de producción, se requieren altos niveles de exactitud y velocidad de operación. Aunque, los sistemas de visión tienen una exactitud limitada ofrecen mayor flexibilidad para la planeación y programación de las trayectorias de los manipuladores. Los manipuladores utilizados en líneas de producción son destinados para una operación específica, sin embargo, si se desea realizar otro tipo de proceso, es necesario que los robots sean reprogramados según las necesidades de cada proceso. Dichos procedimientos de reprogramación requieren una considerable inversión en instrumentación, personal técnico y tiempo. Entonces con el método propuesto se pretende:

Implementar, si así se desea, la trayectoria más corta y sencilla en una tarea de ensamble. Esto debido a que el comportamiento humano gracias a la experiencia laboral, adquirida en tareas de repetición es capaz de intuir las trayectorias más simples.

Aumentar la velocidad en los procesos de manufactura, ensamble y programación de movimiento del robot, pues comúnmente las trayectorias son grabadas punto a punto con ayuda de un “teach-pendant” o por medio de un lenguaje de programación.

Hacer más flexibles las líneas de producción logrando que los manipuladores puedan realizar diferentes tareas que involucren trayectorias simples.

Minimizar el tiempo de reprogramación del robot al obtener la trayectoria deseada por medio de información visual provista por una cámara.

Establecer una alternativa en la programación de los procesos del robot.

Objetivos Diseñar y construir un sistema mecatrónico de planeación de trayectorias por medio de visión artificial para programar automáticamente un robot manipulador con la trayectoria descrita por un usuario cuando éste realiza una tarea en un ambiente industrial, esta solución se plantea como una alternativa a la programación de planeación de trayectorias para robots manipuladores industriales. Para cumplir el objetivo general, se plantean los siguientes objetivos particulares:

Page 5: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

5  

1) Diseñar e implementar una interfaz gráfica para la adquisición, procesamiento de video y control de movimiento de un prototipo de robot manipulador de 3 GDL2 planar, tipo 3R.

2) Desarrollar la programación para enviar los datos que rigen el control de los actuadores del brazo.

3) Diseñar un brazo manipulador de 3 GDL planar, tipo 3R. 4) Implementar un sistema de control de movimiento para el brazo manipulador,

basado en el controlador de precisión de movimiento C.I. LM629 de la compañía National Semiconductor.

5) Obtener el modelo de la cinemática inversa del brazo manipulador, así como el modelo dinámico del robot como auxiliar en la simulación y base para la dinámica del prototipo.

6) Construir un brazo manipulador de 3 GDL planar. 7) Integrar el prototipo de robot manipulador con el sistema de visión, el programa de

control y obtener resultados experimentales. 8) Desarrollo e implementación de la electrónica necesaria para la generación y control

del movimiento del manipulador. 9) Implementación de los algoritmos de adquisición de video y procesamiento de

imágenes en el software a utilizar. 10) Diseñar e implementar una interfaz gráfica para la adquisición, procesamiento de

video y control de movimiento de un prototipo de robot manipulador de 3 GDL planar, tipo 3R.

11) Ensamble mecánico del manipulador. 12) Integración y puesta en marcha del sistema completo, realización de pruebas de

funcionamiento y de ser necesarias, posibles correcciones o mejoras al sistema. 13) El desarrollo de un manual de operación del sistema.

Estado del arte La visión artificial es una técnica basada en la adquisición de imágenes, generalmente en dos dimensiones, para su posterior procesamiento, con el fin de extraer y medir determinadas propiedades de la imagen adquirida. Se trata de una tecnología que combina las computadoras con cámaras de video para adquirir, analizar e interpretar imágenes de una forma equivalente a la inspección visual humana. Actualmente se aplica en diversos procesos científicos y militares, extendiéndose su uso, además, en un amplio rango de sectores industriales para la automatización de tareas anteriormente reservadas para la inspección visual humana. Este incremento de utilización a nivel industrial es porque se trata de una tecnología útil en labores de inspección o supervisión, siendo cuantitativamente más objetiva y consistente que la inspección humana. Un segundo aspecto de esta técnica es la automatización derivada de esta inspección y la posibilidad de actuar sobre el proceso de fabricación modificando parámetros de la máquina de producción. En el sector industrial, el uso de la visión artificial se ha enfocado principalmente al control de calidad, es decir, a la inspección de imágenes.                                                        2 Grado de libertad, o DOF por sus siglas en inglés (Degree of Freedom) 

Page 6: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

El uso de la visión artificial junto con robots, tiene una larga historia y actualmente los sistemas de visión se encuentran más disponibles ya que están completamente integrados con los sistemas de programación de los robots. Tradicionalmente el sensado visual y la manipulación son combinadas en un lazo abierto, conocido como “look then move”, es decir, “mira entonces muévete”. La exactitud de este tipo de sistemas, depende de la exactitud del sensor visual y del control del manipulador. Para aumentar la exactitud de los subsistemas se puede usar un control por retroalimentación visual. Este tipo de control se ha aplicado a algunos procesos industriales, pero la investigación acerca de la combinación de la visión artificial con el control no se ha detenido [1-8].

Métodos y Materiales A continuación, se presenta la metodología y los materiales utilizados para resolver el problema plantedo (ver figura 1).

Cámara digital 

Procesamiento digital de imágenes 

Controlador de movimiento de 

precisión articular 

Etapa de potencia

Motores con encoder 

incremental 

Brazo Manipulador de 3 

GDL planar 

Usuario que genere la trayectoria  

Comunicación serial  Protocolo RS‐232 

Comunicación USB

Máquina de Visión 

Microcontroladores

Programa de Cinemática Inversa 

Transformación espacio visual a 

espacio operacional 

Figura 1‐ Diagrama general del sistema propuesto

Page 7: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

7  

Sistema de visión Dispositivo de captura Se propuso el uso de la cámara Logitech Quickcam Pro 3000®. La captura de video se realizó utilizando el software “Logitech Quickcam® SDK 1.0 – Microsoft® MFC Programmer’s Guide”, que es de distribución gratuita. Dicho software se utilizó en conjunto con Microsoft® Visual C++ 6.0. Este dispositivo tiene la función de capturar un video y posteriormente obtener una secuencia de imágenes, las cuales son utilizadas para determinar la trayectoria que el objeto describe desde la posición inicial hasta la posición final, enviando la información de las imágenes a la computadora, con el siguiente procedimiento:

Grabación de video. Aislar fotogramas a determinados intervalos de tiempo determinados por la

velocidad de captura de la cámara (30 cuadros por segundo). Realizar el tratamiento de cada fotograma para obtener los patrones característicos

de la imagen. Realizar el tratamiento de cada cuadro para obtener patrones característicos de la

imagen, este paso incluye: reducción de datos de la imagen (binarización), segmentación (fijación umbral y detección de bordes)3 y extracción de características (coordenadas del centroide y ángulo de orientación del objeto).

Modelo de cámara El modelo de cámara más sencillo en su arquitectura es el de pin-hole, el cual es uno de los modelos más generales. Este modelo de cámara supone que para todo punto que impacte en el sensor el rayo de luz que sale rebotado del cuerpo y llega a la cámara, atraviesa un único punto independientemente del punto de origen y del punto de impacto en el sensor; es decir, la información 3D del mundo se proyecta en el plano de la imagen a través del centro óptico situado a una distancia igual a la distancia focal del plano de imagen como se aprecia en la figura 2.

                                                       3 Fijación de umbral: técnica de conversión binaria en  la que cada pixel es convertida en un valor binario, blanco o negro.  Detección de borde: considera el cambio de intensidad que se produce en los pixeles en el contorno o bordes de un objeto. 

Page 8: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Figura 2-Modelo de cámara Pin-Hole

El centro óptico es la línea perpendicular al plano de la imagen. Descripción del sistema de visión Para trabajar con la información visual proporcionada por la cámara, es necesario entender aspectos de la geometría y de las relaciones que existen entre los espacios de trabajo. De manera general existen dos espacios de trabajo:

Espacio operacional: Se refiere al espacio físico o coordenadas del mundo donde el usuario y el manipulador realizarán las operaciones de movimiento del objeto.

Espacio imagen: Se refiere a la proyección del espacio operacional o físico en el

plano de la cámara. En este espacio, están implicados todos los parámetros intrínsecos (distancia focal, factores de escala, punto principal y coeficiente de distorsión) del sistema. Dada su sencillez, el modelo de pin-hole es el utilizado en la mayoría de las aplicaciones de visión artificial; sin embargo, una de las desventajas del modelo es que no es capaz de describir las características de los sistemas ópticos reales: el desenfoque, la profundidad de campo, la distorsión y el tiempo de exposición, además de que por un agujero infinitesimal no puede pasar la cantidad de luz necesaria para excitar al elemento sensor; por ello es necesaria la utilización de lentes. Lo anterior, implica que se utilizará un modelo pin-hole con la compensación a las distorsiones provocadas por la lente. Parámetros Intrínsecos Son todos los parámetros que describen la geometría y óptica del conjunto cámara y sensor de adquisición de imágenes, éstos afectan el proceso que un rayo luminoso sigue desde que alcanza la lente del objetivo hasta que impresiona en el elemento sensor.

Distancia focal: Se define como la distancia que separa el centro óptico del plano de la imagen.

Factores de escala: Relacionan las coordenadas del plano de la imagen, con las coordenadas en píxeles del espacio imagen.

Page 9: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

9  

Punto principal: Es el punto de intersección entre el eje óptico de la cámara y el plano de la imagen.

Coeficiente de distorsión: La distorsión geométrica afecta los puntos en el plano imagen; como resultado de una serie de imperfecciones en la fabricación y el montaje de las lentes que forman el sistema óptico.

Parámetros extrínsecos Son aquellos que definen la posición y orientación de la cámara, respecto a un sistema de coordenadas conocido. Sistemas de coordenadas Para establecer la relación que existe entre los espacios utilizados (imagen y operacional), se fijaran 4 sistemas coordenados como se muestran en la figura 3:

Coordenadas del mundo (espacio físico denotado por w): (xw, yw, zw) Coordenadas de la cámara: (xc, yc, zc) Coordenadas centrales de la imagen: ( xu, yu) Coordenadas laterales de la imagen: (xf, yf)

Figura 3-Relación entre los ejes coordenados

A continuación se presentan los cálculos necesarios para las transformaciones del espacio operacional al espacio de la cámara, los cuales están basados en [9]. Para trasladar un punto de coordenadas (xw, yw, zw) a un nuevo emplazamiento, empleando desplazamientos (xw0, yw0, zw0). La traslación se realiza empleando las siguientes ecuaciones:

0

0

0

***

w w w

w w w

w w w

x x xy y yz z z

= += += + (1a)

Page 10: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Donde ( )*, *, *w w wx y z son las coordenadas del nuevo punto. La ecuación anterior se puede escribir como se observa en la ecuación (1b):

0

0

0

* 1 0 0* 0 1 0* 0 0 1

1

ww

ww

ww

xx x

yy y

zz z

⎡ ⎤⎡ ⎤ ⎡ ⎤ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

⎣ ⎦ (1b)

Y la notación se puede simplificar con matrices cuadradas como en la ecuación (2):

*0

*0

*0

1 0 00 1 00 0 10 0 0 1 11

w ww

w ww

w ww

x xxy yyz zz

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎣ ⎦ ⎣ ⎦⎣ ⎦ ó v* = Av (2)

Con esta notación, la matriz empleada para la traslación es la ecuación (3):

0

0

0

1 0 00 1 00 0 10 0 0 1

w

w

w

xyz

⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

T

(3) Las transformaciones empleadas para la rotación tridimensional constan de rotaciones sobre un eje de coordenadas para girar un punto alrededor de otro punto arbitrario del espacio. Se requieren 3 transformaciones: la primera traslada el punto arbitrario hasta el origen, la segunda realiza la rotación y la tercera traslada este punto de nuevo a su posición original. La rotación de un punto un ángulo θ alrededor del eje de coordenadas z se logra empleando la transformación:

cos sin 0 0sin cos 0 0

( , )0 0 1 00 0 0 1

z

θ θθ θ

θ

⎡ ⎤⎢ ⎥−⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

R

(4) La rotación de un punto sobre el eje x con un ángulo α se realiza empleando la transformación:

1 0 0 00 cos cos 0

( , )0 sin sin 00 0 0 1

xα α

αα α

⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥−⎢ ⎥⎣ ⎦

R

(5) La rotación de un punto un ángulo β alrededor del eje y se consigue mediante la transformación:

Page 11: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

11  

cos 0 sin 00 1 0 0

( , )sin 0 cos 0

0 0 0 1

y

β β

ββ β

−⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

R

(6) La cámara está montada en el eje coordenado (xc, yc, zc) la relación entre este sistema y el del espacio o sistema coordenado del mundo puede representarse con la siguiente ecuación matricial:

11 12 13

21 22 23

31 32 33

1 0 0 0 1 1

c x w

c y w

c z w

x r r r t xy r r r t yz r r r t z

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (7)

En forma general:

0 11 1

c w

c w

c w

x xy yz z

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎡ ⎤⎢ ⎥ ⎢ ⎥= =⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

R tr

(8) Donde R es la matriz de rotación total y t es el vector que representa la traslación. Para nuestro estudio, la matriz de rotación R , se compone de una rotación del eje wz en 180º y otra con respecto al eje wx en 180º. Esto se puede representar por: ( ,180º ) ( ,180º )θ α=R R R (9) Lo que da como resultado la ecuación (10).

1 0 00 1 00 0 1

⎡ ⎤⎢ ⎥= −⎢ ⎥⎢ ⎥−⎣ ⎦

R (10)

Las dimensiones del área de trabajo serán denotadas por b (ancho) y por h (alto). El eje óptico de la cámara estará alineado con el punto medio del área de trabajo (30x40cm). Lo anterior se muestra en la figura 4.

Page 12: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Figura 4-Dimensiones del área de trabajo

Finalmente, la transformación puede representarse con la siguiente ecuación matricial:

1 0 0 200 1 0 150 0 1

c w

c w

c w

x xy yz z z

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥= − +⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

(11)

Donde z es la distancia del área de trabajo al sistema coordenado de la cámara. Calibración La calibración de la cámara ayudó a encontrar la distancia z óptima para colocar la cámara

sobre el eje óptico, la dimensión del plano imagen son de pixeles y las dimensiones

del plano de trabajo son de mm. Para pasar un punto P del sistema de referencia de la cámara ( , ,c c cx y z ) al sistema de referencia de la imagen de manera ideal (sin distorsiones) ( ,u ux y ) se usó la proyección de perspectiva para el modelo de cámara pin-hole.

Page 13: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

13  

cu

c

cu

c

xx fz

yy fz

⎛ ⎞= ⎜ ⎟

⎝ ⎠⎛ ⎞

= ⎜ ⎟⎝ ⎠ (12)

Donde el parámetro a ser calibrado es la distancia focal real de la cámara f. La relación que existe entre las coordenadas ideales de la imagen ( ,u ux y ) y las mismas con distorsión ( ,d dx y ) es:

21

21

(1 )

(1 )u d

u d

x x k r

y y k r

= +

= + (13) Donde 2 2

d dr X Y= + . El parámetro a ser calibrado son los coeficientes de distorsión 1k . El proceso de calibración está basado en la toolbox (caja de herramientas) de Matlab® 7.0 para calibración de cámaras. Esta caja de herramientas está basada en el algoritmo de Tsai de datos coplanares [10]. El método utiliza un elemento externo de calibración, el cual debe consistir en un tablero compuesto por cuadros blancos y negros los cuales deben ser de medidas conocidas. A este tablero se le deben tomar fotografías; entre mayor sea el número que se analicen, el error de aproximación será menor. Para los fines del prototipo se tomaron 24 fotografías. Después de realizar el proceso, los resultados obtenidos son:

Distancia focal: 394.63970414.62340

fc ⎡ ⎤= ⎢ ⎥⎣ ⎦

Pixeles

Punto principal: es el punto en la imagen en donde la deformación debida a la

lente es cero. 169.4729181.64398

cc⎡ ⎤

= ⎢ ⎥⎣ ⎦

Pixeles

Coeficiente α : define el ángulo entre el eje x y el eje y de los cuadros del tablero (90°).

0α = Coeficientes de distorsión:

0.774450.396980.11174

0.000480.00000

kc

⎡ ⎤⎢ ⎥−⎢ ⎥⎢ ⎥= −⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

Pixeles

Page 14: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Con ayuda de estos parámetros podemos describir el espacio operacional (coordenadas del mundo real) en el espacio imagen y conocer la distancia entre el plano de trabajo y la cámara. Debido al modelo de proyección, si la distancia es menor a 60 cm., todas las coordenadas del espacio físico que se requieren no se proyectan en el plano imagen. Por lo anterior, se propuso una distancia mínima para la colocación de la cámara de 60 cm. Es necesario conocer los puntos extremos del área de trabajo en el espacio imagen. Se requiere realizar las transformaciones, tomando en cuenta las distorsiones debidas a la lente. Sea P un punto en el espacio operacional con coordenadas ( ), ,w w wx y z . Se necesita expresarlo en términos del sistema de referencia de la cámara ( ), ,c c cx y z .

11 12 13

21 22 23

31 32 33

c w

c w

c w

x r r r xy r r r yz r r r z

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ (14)

Sea nx la proyección de imagen normalizada4 .

c

cn

c

c

xz x

y yz

⎡ ⎤⎢ ⎥ ⎡ ⎤

= =⎢ ⎥ ⎢ ⎥⎣ ⎦⎢ ⎥

⎢ ⎥⎣ ⎦

x

(15) Sea 2 2 2r x y= + . Incluyendo la distorsión debida a la lente, las coordenadas normalizadas del punto dx se definen como:

( )2 4 6(1)1 (1) (2) (5)

(2)d

d nd

xx kc r kc r kc r x dx

x⎡ ⎤

= = + + + +⎢ ⎥⎣ ⎦ (16)

Donde dx es la distorsión tangencial5:

2 2

2 2

2 (3) (4)( 2 )(3)( 2 ) 2 (4)kc kc r x

dxkc r y kc xy⎡ ⎤+ +

= ⎢ ⎥+ +⎣ ⎦ (17)

                                                       4 Normalizar un vector es dejarlo con módulo uno. 5 La distorsión  tangencial es debida a  la descentralización o el centro  imperfecto de  las lentes y otros defectos de manufactura. 

Page 15: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

15  

Una vez que la distorsión es tomada en cuenta las coordenadas finales en píxeles ( ,f fx y ) de la proyección de P en el plano imagen es:

(1)( (1) (2)) (1)

(2) (2) (2)f d d

f d

x fc x x cc

y fc x cc

α= + +

= + (18)

Así es posible conocer la correspondencia de los puntos extremos del plano operacional con el plano imagen como se observa en la Tabla 1. Tabla 1-Relación entre espacio imagen y el espacio operacional

(0, 0) (244,1) (40, 0) (95,1) (40, 30) (100,116) (0, 30) (239,116)

Brazo manipulador  Para llevar a cabo la realización del prototipo propuesto, fue necesario desarrollar el manipulador con todos los requerimientos necesarios para que la tarea se realice. A continuación, se describe de forma detallada todos los parámetros a considerar para el diseño del manipulador: Número de grados de libertad Fueron necesarios 3 grados de libertad rotacionales, de los cuales dos se usaron para determinar la posición de la herramienta y el tercero determinó su orientación. La razón por la cual son suficiente esta cantidad de grados es porque dentro del espacio de trabajo no se llevarán acabo movimientos que requieran un espacio 3D debido a que las tareas que el brazo puede realizar, tienen que ser dentro de un plano bidimensional ( ),w wx y . Espacio de trabajo El espacio de trabajo del manipulador es dentro de un área de 400x300 mm. Dentro de este espacio el manipulador debe recrear la trayectoria observada. Velocidad La velocidad que se propone que el brazo alcance es la misma con la que el operador realice la tarea, sin embargo, se aclara que deberá ser una velocidad de valor pequeño (32.5 mm/seg como máxima).

Page 16: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Análisis estático El control de una articulación depende del conocimiento de las fuerzas que están actuando sobre ella y de sus inercias (las masas de las articulaciones y de los enlaces del manipulador), a continuación se analizan estas cuestiones. Para conocer los pares de torsión necesarios en cada una de las articulaciones, se realiza el siguiente análisis: Las longitudes de cada eslabón son:

1 2 3316 , 260 , 120L mm L mm L mm= = =

Equilibrando las fuerzas en cada uno de los eslabones se tiene:

1 2

2 3

3

000

− =− =

− =

f ff ff F

(19)

Es decir: 1 2 3 0+ + − =f f f F (20) Los pares de torsión son los productos vectoriales de las fuerzas y de los vectores de enlace r.

1 2 3 1

2 3 2

3 3

T T TT TT

= + + ×= + ×= ×

r Fr F

r F (21)

Se puede establecer:

1 1 2 3( )T = + + ×r r r F (22)

Si ( , )x yf f=F , para el análisis del manipulador la ecuación (22) se puede escribir como:

cos cos( ) cos( ) , sin sin( ) sin( ) ( , )1 1 1 2 1 2 3 1 2 3 1 1 2 1 2 3 1 2 3

T l l l l l l f fx y

θ θ θ θ θ θ θ θ θ θ θ θ= + + + + + + + + + + ×⎡ ⎤ ⎡ ⎤⎣ ⎦ ⎣ ⎦

cos( ) cos( ) , sin( ) sin( ) ( , )2 1 2 3 1 2 3 2 1 2 3 1 2 32T l l l l f f

x yθ θ θ θ θ θ θ θ θ θ= + + + + + + + + ×⎡ ⎤ ⎡ ⎤

⎣ ⎦ ⎣ ⎦ cos( ), sin( ) ( , )

3 1 2 3 3 1 2 33T l l f fx y

θ θ θ θ θ θ= + + + + ×⎡ ⎤⎣ ⎦

Una vez que se obtuvieron las ecuaciones que describen el análisis para los pares de torsión se realiza el producto cruz. Considerando que para los propósitos de este proyecto la fuerza que se va aplicar es únicamente en el eje “y” (debido al efecto de aceleración de la gravedad en la pieza que el manipulador trasladará), las ecuaciones finales quedan de la siguiente forma:

Page 17: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

17  

( )( )

[ ]

1 1 1 2 1 2 3

2 1 2 1 2 3

3 1 2 3

0.320cosθ +0.260cos θ +θ +0.120cos(θ +θ +θ )

0.260cos θ +θ +0.120cos(θ +θ +θ )

0.120cos(θ +θ +θ )

y

y

y

T f

T f

T f

= ⎡ ⎤⎣ ⎦= ⎡ ⎤⎣ ⎦=

El valor de cada momento se puede obtener conociendo los tres angulas de articulación (El valor de los ángulos de articulación estará definido por la cinemática inversa) y sustituyendo la componente fy de F. Donde fy esta dada por el peso de la pieza a mover. Es conveniente tomar en cuenta que el valor del momento es variante debido al valor de los ángulos de articulación por lo que el análisis anterior fue realizado tomando el caso extremo en el que el brazo manipulador esta a su máxima extensión. Los productos vectoriales de los vectores de enlace y las fuerzas nos proporcionan los pares de torsión debidas a la gravedad en cada una de las articulaciones, por lo que se tendrá:

3 3 3 3 1 2 33

[ cos( )]2 2g

m g m lT θ θ θ− × + += =

r g

3 3 1 2 32

2 3 2 1 2cos( )cos( )

2 2gm lmT g m l θ θ θθ θ + +⎡ ⎤⎛ ⎞= + + +⎜ ⎟⎢ ⎥⎝ ⎠⎣ ⎦

1 21 2 3 1 1 3 2 1 2 3 3 1 2 3cos( ) cos( ) cos( )

2 2gm mT g m m l m l m lθ θ θ θ θ θ⎡ ⎤⎛ ⎞ ⎛ ⎞= + + + + + + + +⎜ ⎟ ⎜ ⎟⎢ ⎥⎝ ⎠ ⎝ ⎠⎣ ⎦

Si el manipulador está actuando bajo las cargas de la gravedad, entonces estos pares de torsión se deben añadir a los de la articulación para proporcionar el par necesario para mover el manipulador. Configuración Cinemática La configuración que se propuso para el desarrollo del prototipo es un manipulador articulado. Esta configuración nos proporcionó un mínimo de intrusión de la estructura del manipulador en el espacio de trabajo. Donde 1 2 3316 , 260 , 120l mm l mm l mm= = = Cinemática Directa La cinemática directa es el problema geométrico estático de calcular la posición y orientación del efector final del manipulador. Para que se puedan llevar a cabo estos cálculos es necesario conocer el valor de los ángulos articulares. Tanto la posición como la orientación calculados del sistema coordenado del efector final son relativos al sistema coordenado de la base del manipulador. Método analítico Una manera de obtener la cinemática directa es por medio de la obtención de los parámetros de Denavit-Hartenberg y seguir el algoritmo para conocer la matriz de

Page 18: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

transformación homogénea final. Los parámetros de Denavit-Hartenberg son utilizados para obtener las matrices de transformación entre cada uno de los eslabones. En la Tabla 2 se muestran estos parámetros.

Tabla 2-Parámetros de Denavit-Hartenberg para un manipulador 3R θ a α d

1θ 1l 0 0

2θ 2l 0 0

3θ 3l 0 0 Las matrices de transformación son obtenidas mediante la aplicación de la ecuación (23), la cual depende exclusivamente de las características constructivas del robot. Se obtendrá una matriz de transformación por cada eslabón.

1

cos cos sin sin sin cossin cos cos sin cos sin

0 sin cos0 0 0 1

i i i i i i i

i i i i i i iii

i i i

aa

d

θ α θ α θ θθ α θ α θ θ

α α−

−⎡ ⎤⎢ ⎥−⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

T

(23)

Las matrices de transformación entre cada uno de los eslabones se enumeran en las ecuaciones (24), (25) y (26). La matriz de transformación desde la base hasta el final del eslabón 3 esta dada por la ecuación (27).

1 1 1 1

1 1 1 110

cos sin 0 cossin cos 0 sin

0 0 1 00 0 0 1

ll

θ θ θθ θ θ

−⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

T

(24) 2 2 2 2

2 2 2 221

cos sin 0 cossin cos 0 sin

0 0 1 00 0 0 1

ll

θ θ θθ θ θ

−⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

T

(25)

3 3 3 3

3 3 3 332

cos sin 0 cossin cos 0 sin

0 0 1 00 0 0 1

ll

θ θ θθ θ θ

−⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

T

(26)

Page 19: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

19  

( ) ( ) ( ) ( )( ) ( ) ( ) ( )

1 2 3 1 2 3 3 1 2 3 2 1 2 1 1

3 1 2 3 1 2 3 1 2 3 3 1 2 3 2 1 2 1 10 0 1 2

cos sin 0 cos cos cossin cos 0 sin sin sin

0 0 1 00 0 0 1

l l ll l l

θ θ θ θ θ θ θ θ θ θ θ θθ θ θ θ θ θ θ θ θ θ θ θ

⎡ + + − + + + + + + + ⎤⎢ ⎥+ + + + + + + + +⎢ ⎥= =⎢ ⎥⎢ ⎥⎣ ⎦

T T T T

(27) De donde las posiciones del efector final están representadas por:

3 1 2 3 2 1 2 1 1

3 1 2 3 2 1 2 1 1

cos( ) cos( ) cossin( ) sin( ) sin

0

x

y

z

p l l lp l l l

p

θ θ θ θ θ θθ θ θ θ θ θ

= + + + + += + + + + +

=

Cinemática Inversa El problema de la cinemática inversa radica en encontrar los ángulos de articulación requeridos para colocar la herramienta en una posición asignada [11]. A continuación se presenta la solución de este problema para el manipulador.

Figura 5- Asignación de sistemas coordenados para la solución de la cinemática

inversa Considerando que es un manipulador planar con la siguiente matriz:

( ) ( ) ( ) ( )( ) ( ) ( ) ( )

1 2 3 1 2 3 3 1 2 3 2 1 2 1 1

3 1 2 3 1 2 3 1 2 3 3 1 2 3 2 1 2 1 10 0 1 2

cos sin 0 cos cos cossin cos 0 sin sin sin

0 0 1 00 0 0 1

l l ll l l

θ θ θ θ θ θ θ θ θ θ θ θθ θ θ θ θ θ θ θ θ θ θ θ

⎡ + + − + + + + + + + ⎤⎢ ⎥+ + + + + + + + +⎢ ⎥= =⎢ ⎥⎢ ⎥⎣ ⎦

T T T T

(28) Una vez que ya se han realizado las transformaciones necesarias, de forma tal que el punto del destino sea una especificación del sistema de coordenadas de la muñeca relativa al sistema de coordenadas de la base, debido a la configuración del manipulador planar, puede

Page 20: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

lograrse la especificación de los puntos de destino, especificando tres números: x , y y ψ , en donde ψ es la orientación del eslabón tres en el plano. El análisis matemático que se desarrolla más adelante nos proporciona los ángulos de articulación hasta la muñeca del brazo, lo cual no es óptimo debido a que la posición que se requiere es la necesitada hasta el efector final. Una solución propuesta para compensar este problema es hacer la siguiente consideración:

3 3( , ) ( , ) (120cos ,120 )x y x y senψ ψ= − (29) Donde: ( , )x y Son los puntos de destino de entrada para la cinemática inversa.

3 3( , )x y Son los puntos de destino del efector final.

3 3( cos , )l l senψ ψ Es la compensación que depende de la orientación del efector final.

3l Es la distancia que existe desde la muñeca hasta el centro de la herramienta. El dato de la orientación siempre será conocido. Este dato es calculado desde la adquisición de la imagen, una vez que se ha realizado el algoritmo de segmentación. Método analítico En vez de proporcionar una 3

0T general como especificación de un destino, se supondrá una transformación con la siguiente estructura:

30

00

0 0 1 00 0 0 1

c s xs c yψ ψψ ψ

−⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦

T

(30) Todos los destinos alcanzables deben encontrarse en el subespacio implicado por la estructura de la ecuación (28). Al igualar (28) y (29) llegamos a un conjunto de cuatro ecuaciones no lineales que deben resolverse para 1 2 3, yθ θ θ :

( )( )

1 2 3 1 2 3

1 2 3 1 2 3

1 1 2 1 2

1 1 2 1 2

cos

sin

c c

s sx l c l cy l s l s

ψ θ θ θ

ψ θ θ θ+ +

+ +

+

+

= = + +

= = + +

= += +

Si elevamos al cuadrado las ecuaciones (33) y (34) y las sumamos, obtendremos:

2 2 2 21 2 1 2 22x y l l l l c+ = + + (35)

(31) (32) (33) (34) 

Page 21: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

21  

Resolviendo (35) para 2c , se obtiene:

2 2 2 21 2

21 22

x y l lcl l

+ − −=

(36) Para que pueda existir una solución, el lado derecho de (36) debe tener un valor entre -1 y 1. Físicamente, si esta restricción no se satisface, entonces el punto de destino está demasiado lejos como para que el manipulador lo alcance. Suponiendo que el destino esta en el espacio de trabajo, se define una expresión para 2s de la siguiente manera:

22 21s c= ± −

(37) Por último, se calcula 2θ con la rutina de arco tangente de dos argumentos:

2 2 2tan 2( , )A s cθ = (38) Esta opción de signos en la ecuación (37) corresponde a la solución múltiple en la que se puede elegir la solución de “codo hacia arriba” o de “codo hacia abajo”. Para determinar 2θ se ha usado uno de los métodos recurrentes para resolver el tipo de relaciones cinemáticas que surgen con más frecuencia: determinar tanto el seno como el coseno del ángulo de articulación deseado y luego aplicar la función arco tangente de dos argumentos. Esto asegura que se encontrarán todas las soluciones y que el ángulo resuelto se ubique en el cuadrante apropiado. Después de encontrar 2θ , se pueden resolver las ecuaciones (33) y (34) para 1θ . Escribiendo (33) y (34) de la siguiente forma:

1 1 2 1

1 1 2 1

x k c k sy k s k c= −= +

En donde:

1 1 2 2

2 2 2

k l l ck l s= +=

Para resolver una ecuación de esta forma se realiza un cambio de variables. En realidad se está cambiando la forma en la que se escriben las constantes 1k y 2k .

2 21 2r k k= +

y

2 1tan 2( , )A k kγ =

Entonces 1

2

cosk rk rsen

γγ

==

Las ecuaciones (39) y (40) pueden ahora escribirse así:

            (42)   

(43)  

(44) (45) 

(39) (40) 

 (41)

Page 22: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

1 1

1 1

cos cos

cos cos

x sen senr

y sen senr

γ θ γ θ

γ θ γ θ

= −

= + (46)

Por lo tanto

1

1

cos( )

( )

xrysenr

γ θ

γ θ

+ =

+ = (47)

Usando el arreglo de 2 argumentos, tenemos:

1 tan 2 , tan 2( , )y xA A y xr r

γ θ ⎛ ⎞+ = =⎜ ⎟⎝ ⎠ (48)

Y por lo tanto 1 2 1tan 2( , ) tan 2( , )A y x A k kθ = − (49)

Cuando se elige un signo en la solución de 2θ descrita anteriormente, se provoca un cambio de signo en 2k , lo cual afecta a 1θ . Las sustituciones (42) y (43) utilizadas constituyen un método de solución de una forma que aparece frecuentemente en cinemática: la de las ecuaciones (33) y (34). Hay que observar que si x = y = 0, entonces la ecuación (49) se vuelve indefinida y, en este caso, el valor 1θ es arbitrario. Finalmente de las ecuaciones (31) y (32) podemos resolver para la suma de 1θ a 3θ :

1 2 3 tan 2( , )A s cθ θ θ ψ ψ ψ+ + = = (50)

De este resultado, se puede despejar 3θ , ya que se conocen los dos primeros ángulos. Comprobación de la cinemática inversa. Se quiere determinar los ángulos de articulación adecuados para llevar la herramienta a la posición (410,380) que son las coordenadas (x3, y3) para llegar a esta posición se tienen los siguientes datos:

1 2 3316 , 260 , 120 , 30l mm l mm l mm φ= = = = °

Primero se debe de llevar a cabo la compensación:

( , ) (410,380) (120cos30,120 30)( , ) (306.07,320)x y senx y

= −=

Page 23: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

23  

Análisis dinámico del robot La dinámica del robot esta representada mediante la ecuación (51).

( ) ( ) ( ),+ + =M q q V q q q G q τ&& & & (51)

En la ecuación (51), la matriz ℜ es la matriz de inercia, incluye los efectos debidos a las masas e inercias. La matriz , ℜ es la matriz centrifuga y de Coriolis. El vector ℜ es el vector de fuerzas o pares gravitacionales y τ ℜ es el vector de fuerzas externas, siendo generalmente los pares y fuerzas aplicadas por los accionadores en las articulaciones. Para efectos de un análisis más sencillo, la ecuación anterior se puede representar por la ecuación (52).

( ) ( ),+ =M q q N q q τ&& & (52) donde:

( ) ( ) ( ), ,= +N q q V q q G q& & (53) Tomando en cuenta los parámetros calculados y las matrices de transformación obtenidas anteriormente, se calcula el Jacobiano a continuación. El Jacobiano completo ℜ es un auxiliar en el modelo cinemático directo, el cual incluye las relaciones necesarias para calcular las velocidades y aceleraciones de cada una de las articulaciones del robot. Para una configuración de 3 articulaciones tipo rotacionales el Jacobiano es definido por la ecuación (54).

( ) ( ) ( )0 1 1 2 20 0 0 0 1 0 0 0 2 0 0

20 0 2

ˆ ˆ ˆ

ˆ ˆ ˆi

i

n n nv

ω

⎡ ⎤× − × − × −⎡ ⎤⎢ ⎥= =⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦ ⎣ ⎦

10 1

J k P P R k P P R k P PJ

J k R k R k (54) donde:

[ ]ˆ 0 0 1i =k 0 Vector posición visto desde la base del robot hasta el extremo del eslabón i i≡P 0 Matriz de rotación vista desde la base hasta el extremo del eslabón i i≡R

Para obtener el modelo matemático del robot fue necesario definir la inercia, energía cinética y potencial de cada eslabón y el lagrangiano del sistema.

Inercia de los eslabones Las matrices de inercia de cada eslabón están definidas de manera general por la ecuación (55)

Page 24: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

11

22

33

0 00 00 0

i

i i

i

II

I

⎡ ⎤⎢ ⎥= ⎢ ⎥⎢ ⎥⎣ ⎦

I

(55)

Las matrices de inercia anteriores son diagonales, esto denota que fueron calculadas con referencia a un eje que pasa por el centro de masa. Por lo anterior, es necesario aplicarles una rotación (para hacer coincidir el marco de referencia fijo de la inercia con el del eslabón en movimiento rotacional) y posteriormente una traslación (para hacer referencia al marco de referencia móvil de la inercia con respecto a la base). Dichos cálculos son mostrados en las ecuaciones (56) y (57) respectivamente.

0 0i i T

i i=I R I R (56)

( )0 0 0 0

nT n n ni i i xy x ybase

m P Pδ⎡ ⎤= + −⎣ ⎦I I P P (57)

donde:

Masa del eslabón nm n≡ 10xy

x yx y

δ=⎧

= ⎨ ≠⎩

Energía Cinética  La energía cinética de cada eslabón esta definida por la ecuación (58).

rot trasT T T= + (58) donde:

Energía cinética rotacional totalrotT ≡ Energía cinética traslacional totaltrasT ≡

Las energías rotacional y traslacional están definidas por las ecuaciones (59) y (60) respectivamente.

1

12

nT

rot i i ibasei

T=

= ∑ ω I ω (59)

1 1 1

12 j j

n i i

tras i v j v ji j j

T m J q J q= = =

⎛ ⎞ ⎛ ⎞= ⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠∑ ∑ ∑& &

(60) Donde:

1j

i

i jj

J qω=

=∑ω &

Page 25: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

25  

Energía Potencial La energía debida a la aceleración de gravedad. Esta definida en la ecuación (61)

0

1

ni

tot ii

U m=

= ∑ gP (61)

Lagrangiano El lagrangiano esta definido como la diferencia entre la energía cinética y la energía potencial del robot. Ver ecuación (62).

tot tot= −L T U (62)

Desarrollo del modelo del robot Para poder obtener el modelo dinámico del robot, se desarrollan las ecuaciones de movimiento de Lagrange como lo indica la ecuación (63).

i

i i

ddt q q⎛ ⎞∂ ∂

− =⎜ ⎟∂ ∂⎝ ⎠

L L τ& (63)

La aplicación de la ecuación anterior da por resultado tantas ecuaciones como grados de libertad, es decir n ecuaciones diferenciales de segundo orden, donde iτ son las fuerzas y pares ejercidos externamente en la articulación i , así como fuerzas no conservativas. Los resultados de las ecuaciones anteriores, se pueden agrupar en la forma de la ecuación (51), que es el modelo dinámico del robot.

Propiedades físicas del robot El manipulador tiene las siguientes propiedades físicas: Espacio de trabajo

1

2

3

0.2200.2570.240

m kgm kgm kg

===

1

2

3

0 23 3

4 43 3

4 4

πθ

π πθ

π πθ

≤ ≤

− ≤ ≤

− ≤ ≤

Las matrices de inercia calculadas en el eje de simetría, el cual pasa por el centro de masa, son:

4

21

2

0.114705 10 0 00 0.347150 10 00 0 0.304256 10

×

= ×

×

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

I

(64) 5

22

3

0.764699 10 0 00 0.103273 10 00 0 0.901575 10

×

= ×

×

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

I

(65)

Page 26: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

5

53

5

0.188820 10 0 00 0.281953 10 00 0 0.562500 10

×

= ×

×

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

I

(66) El bloque “Robot Dinamic”, contiene la información acerca de la dinámica del robot. Este bloque proporciona las aceleraciones de los eslabones y luego son integradas dos veces para obtener las velocidades y posiciones. Los bloques integradores de las posiciones son limitados según las restricciones de movimiento mostradas en el espacio de trabajo. El resultado obtenido del bloque “Robot Dinamic” es:

( )1 1 1( ) ( ) ( ) ( )− − −= − − +q M q V q,q M q G q M q τ&& & , Para el diagrama mostrado es:

( )1 1( ) ( )− −= − +q M q N q,q M q τ&& & (67)

Construcción de la planta con control tipo PID La ley que rige el control PID propuesto es:

( )[ ] ( )= + +dτ M q q u N q,q&& & (68) Donde la compensación es:

∫p d iu = k e + k e + k e& (69)

Implementándolo en el sistema queda:

( )-1− − − =∫d p i de k e k e k e M q τ&& & (70)

Donde los errores son:

e =e =e =

d

d

d

q qq qq q

−−−

&& && &&

& & &

(71) Se proponen las matrices de las ganancias derivativas, proporcionales e integrales del control, respectivamente.

11

22

33

0 0 0.9 0 00 0 0 2 00 0 0 0 3.5

d

d

d

kk

k

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

dk

11

22

33

0 0 0.7 0 00 0 0 1.3 00 0 0 0 1

p

p

p

kk

k

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦

pk

Page 27: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

27  

11

22

33

0 0 0.1 0 00 0 0 0.7 00 0 0 0 0.5

i

i

i

kk

k

⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦

ik

Proponiendo la siguiente matriz de posiciones, velocidades y aceleraciones para seguir:

2

0.5 0.5 00.006 0.012 0.012sin 1 cos sin

tt t

t t t

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥+ −⎣ ⎦

Descripción del prototipo del manipulador. Las partes principales que componen el manipulador se muestran en la figura siguiente. Con el mecanismo se buscó generar trayectorias lo mas similares posibles a las generadas por el usuario; para lo que se necesitaron mecanismos de transmisión de movimiento y elementos de sujeción.

Figura 6- Vistas del manipulador planar 3 GDL

Actuadores Los actuadores del sistema son 4 motores de corriente directa con arreglo de engranes para aumentar el torque generado. Dos de estos motores tienen un rango de voltaje de entrada de 0V a 24V, los otros dos cubren un rango de 0V a 12V.

Page 28: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Sensores Los sensores que utiliza el sistema se listan a continuación:

• 1 Cámara digital • 3 Encoders ópticos de cuadratura incremental (HEDS 5640 A06)

Mecanismos de transmisión El mecanismo encargado de transmitir el movimiento de los motores hacia el manipulador es el denominado sinfín-corona. Este mecanismo permite la transmisión de movimiento en una sola dirección, es decir, del motor hacia los eslabones que componen el manipulador evitando la reversibilidad del engranaje [13]. El paso diametral 22 que se eligió, permitió tener una corona de un diámetro tal (45mm) que ajusta a las dimensiones de los demás elementos constitutivos y además esta considerado como un paso diametral estándar de paso fino [14]. Los materiales con los que se elaboró el par sinfín-corona son: acero SAE1018 y bronce aleación tipo C. La elección de las dimensiones de estos elementos, se realizó tomando en cuenta los pesos que soportarían. Para el eslabón correspondiente al antebrazo, el peso a soportar es el del gripper (102 gr), para el eslabón correspondiente al brazo, el peso es el del antebrazo y gripper (405 gr). Tomando en cuenta las consideraciones mencionadas, las dimensiones elegidas arrojan un factor de seguridad 16.6 y una deformación máxima de 0.00643mm, para el brazo. Para el antebrazo, el factor de seguridad es 22.9 y la deformación máxima es de 0.00432mm. Sujeción entre eslabones. Para analizar los esfuerzos a los que estará sometido el manipulador, el comportamiento de los eslabones se puede aproximar a una viga. Con este procedimiento se pueden conocer los momentos flexionantes que sufre el eslabón correspondiente al brazo. Los valores obtenidos son:

16.854.75

w NM Nm==

Para la elección del material de los pernos se desarrolló lo siguiente: Debido a la simetría del brazo el momento y la carga se puede dividir en dos partes iguales. Así, para el análisis se usaron los siguientes valores:

1 8.4252.375

w NM Nm

==

El peso ( 1w ) será repartido entre los cuatro elementos de sujeción. Se analizará el caso donde la resultante de las fuerzas es mayor.

Page 29: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

29  

' 2.1W N=

2.3750.125

19

Fr

Fr

NmFm

F N

ττ

=

=

=

= El esfuerzo máximo permisible al corte en el latón es 43ksi . Ensamblaje del gripper Subensamble 1

Figura 1-Sumensamble 1, gripper

Descripción general para el tratamiento de video y generación de la trayectoria.  El algoritmo desarrollado para el tratamiento del video y la obtención de la trayectoria es descrito a continuación:

• Se genera la instrucción para iniciar la grabación del video. • En cuanto recibe una indicación por parte del usuario detiene la grabación. • Lee el valor del umbral dado por el usuario. • Se inicia con el tratamiento del video.

El esfuerzo cortante está definido como 

FVA

=  

Lo que da como resultado 

2.665 0.386V MPa Ks= =

Page 30: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

• Obtiene las características del video como: tamaño de imagen, profundidad de bits por pixel, tasa de muestreo, etc.

• Se segmenta el video en imágenes.

Para cada imagen:

Se realiza el tratamiento necesario para convertirla en escala de grises con la siguiente formula que convierte las aportaciones de luminosidad de azul, verde y rojo en una luminosidad de grises:

Gris=

Se aplica un filtro pasabajas para suavizar la imagen eliminando ruido, utilizando la mascara de filtro que se muestra a continuación [9]:

Se realiza la binarización de acuerdo al nivel de umbral. Se detectan los bordes para definir la pieza a mover. Se encuentra el centroide de la pieza. Se calcula el ángulo orientación de la pieza. Se obtienen los ángulos de cada articulación por medio de la cinemática

inversa de acuerdo a los valores de posición y orientación obtenidos. Se guardan las posiciones angulares para cada cuadro en un vector auxiliar.

• Se escriben los archivos con extensión .txt como auxiliares para la comprobación

de la cinemática en el software SolidWorks. • Se escriben los archivos .art para el proceso de recreación de trayectoria con el

algoritmo de control en conjunto con el manipulador.

Descripcion general para la recreacion de la trayectoria  Para lograr que el brazo reproduzca la trayectoria fue necesario implementar un algoritmo para llevarlo a un sistema coordenado de origen; todas las posiciones posteriores, estarán referenciadas a esta posición6. El algoritmo desarrollado para esta acción identifica el valor de grados que se desea mover cada una de las articulaciones para alcanzar la posición de origen. Siempre que se inicie el sistema es necesario poner en esta posición al manipulador, para las trayectorias siguientes se puede omitir este paso. Posteriormente, se puede alcanzar la posición de inicio (home).

                                                       6 En la posición de origen, todas las articulaciones se encuentran a 0° 

Page 31: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

31  

A partir de esta posición puede iniciar la recreación de la trayectoria. La cual comienza moviendo el manipulador a las coordenadas del primer cuadro del video, una vez posicionado en este punto se comienza con la recreación de los cuadros subsecuentes.

Electrónica de control

Tarjetas de control  El control de motores se realizó con ayuda de la PC por medio de una tarjeta de control en la cual se encuentran elementos de control como son microcontroladores (AVR ATMEGA8L-8PI) y controladores de 32 bits de precisión de motores (LM629). En la figura 8 se muestra la estructura general de la tarjeta de control de posición, velocidad y aceleración.

Figura 8-Diagrama a bloques de la tarjeta de control

El microcontrolador ATMEGA8L envía datos a los microcontroladores LM629 por medio del puerto C y envía señales de control por medio del puerto A. Los datos consisten en comandos, parámetros para el control de filtro PID y parámetros de trayectoria (posición, velocidad y aceleración). Las señales de control consisten en la selección del chip (LM629), en la habilitación de su escritura/lectura, principalmente. Ambos microcontroladores LM629 deben recibir una señal de reloj (en la tarjeta se empleó un cristal resonador de 4MHz ), además de recibir la señal de un encoder óptico incremental, el cual debe de estar acoplado al eje del motor, esta señal constituye la retroalimentación del control PID (en el diagrama están indicados por medio de E1 y E2 ). Finalmente, los microcontroladores LM629 envían dos señales para el control del motor, las cuales llegan al puente H L298N (etapa de potencia) y de este puente H a los motores.

Page 32: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Controlador de movimiento de precisión articular (LM629)  El controlador de movimiento LM629, está dedicado al uso de una gran variedad de motores de corriente directa, provee una señal de retroalimentación de posición de cuadratura incremental además de entregar una señal PWM. Se utilizó la programación del microcontrolador ATMEGA8-8PI.

Tabla 2-Rutinas del microcontrolador ATMEGA8 No. Rutina

Nombre de rutina Descripción

1 Inicializa PID digital Verifica la detección de los chips LM629.

2 Carga parámetros de filtro

Carga las constantes KP, KI, KD e IL.

3 Carga valor de aceleración

Carga la aceleración dada en rev/seg2

4 Carga valor de velocidad

Carga la velocidad dada en rev/seg

5 Carga valor de posición Carga la posición dado en rev 6 Inicializa Trayectoria Ejecuta el movimiento del

motor indicado. 7 Ejecuta Stop Detiene al motor indicado, se

puede seleccionar tres tipos de paro: Suave, Abrupto y Normal.

8 Ejecuta Interrupción Externa INT0

Verifica si el chip 0 LM629 envió alguna petición de interrupción.

9 Ejecuta Interrupción Externa INT1

Verifica si el chip 1 LM629 envió alguna petición de interrupción.

Integración del sistema La unificación del brazo manipulador y las partes físicas del sistema de visión resultan en la configuración mostrada en la figura 9.

1. Cámara digital: Dispositivo de captura, graba el video con dimensiones 320X240 pixeles; relación 4:3.

2. Área de trabajo (Espacio operacional o coordenadas del mundo): Sobre esta área se realizaran las trayectorias y se grabaran para después ser repetidas sobre la misma área. Es negra (forrada de papel negro mate), para que el guante; también negro, se confunda fácilmente en el video grabado y facilite el tratamiento de imagen. Sus dimensiones son 40 X 30cm, guarda una relación 4:3 (igual que la del video).

Page 33: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

33  

3. Soporte de cámara: Su longitud es 32.6 cm, esto permite que el eje óptico de la cámara este alineado con el centro del área de trabajo. Representa coordenadas del mundo.

Figura 9-Configuración final vista frontal

  Principio de operación del sistema integrado  Para empezar el principio de operación el usuario deberá portar un guante negro, tomar la pieza de forma que no obstruya la visión de la pieza para la cámara y ejecutar el programa RoboVision4, el cual presenta una ventana como la que se muestra en la figura 10. A continuación se describen los pasos para el uso del sistema: La pieza que el manipulador mueve, es como la mostrada en la figura 10, la cual es de color blanco y tiene una línea auxiliar vertical que la divide por la mitad. La línea ayuda a encontrar las características del bloque, como son, centroide y el ángulo de orientación, ambos en cada cuadro. Sus dimensiones son: 66X38X40mm, y tiene un peso de 120gr.

Figura 10-Interfaz para el usuario

Page 34: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

1. La persona encargada de generar la trayectoria a recrear debe estar preparada en el área de trabajo7.

2. Se especifica el nombre del video en la casilla “Nombre del archivo de video”. 3. Se da click en el botón “Iniciar Grabación”, en ese momento se realiza la trayectoria

a recrear. Para terminar la grabación dar click en el botón “Detener Grabación”. 4. Dar click en el botón “Segmentar Video”8, en caso de requerir alguno de los

archivos de imagen en color, escala de grises y/o blanco y negro activar la(s) casilla(s) correspondiente(s). Abrir el subdirectorio “Work” que se encuentra en el directorio “RoboVision4”, en esa ubicación se encontrarán los archivos provenientes de la segmentación de la imagen.

5. Dar click en el botón “Tratamiento” para que se lleve acabo la obtención de los ángulos de articulación. Se debe activar la casilla “Generar archivo de trayectoria” para obtener los archivos .txt, que sirven en la simulación de SolidWorks, y los archivos .art, que son necesarios para recrear la trayectoria con el prototipo. Abrir el subdirectorio “Work” que se encuentra en el directorio “RoboVision4”, en esa ubicación se encontrarán las imágenes provenientes del video y del tratamiento de imagen. Para considerar si el valor del umbral fue el adecuado, revisar las características de la imagen (bordes y centroide), de no ser así deberá definir otro valor de umbral9 y volver a segmentar el video.

Figura 11-Ejemplo de imágenes con un valor óptimo de umbral acorde a la iluminación.

 

Figura 12-Ejemplo de imágenes con un valor erróneo de umbral acorde a la iluminación.

 6. A continuación se debe seguir con el movimiento del manipulador, para lo cual se

debe ubicar el recuadro “Comunicación con el Robot”. 7. Colocar las articulaciones en la posición origen. Esto se puede realiza de dos

formas, la primera es definiendo una coordenada especifica en el recuadro “Mover a coordenadas”, una vez definidas estas coordenadas presionar el botón “Ir a…”. La

                                                       7 Si ya se tiene el video comenzar en el paso 2 y saltar el paso 3. 8 Este paso es opcional. 9 El valor de umbral por default es de 120, puede variar según las condiciones de luz. 

Page 35: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

35  

segunda opción es dando valores angulares en los recuadros de “Motor 1”, “Motor 2”, “Motor 3”, y definiendo la orientación de giro con los botones “+” ó “-” esto para dar pasos con incrementos.

8. Una vez que se allá llegado a la posición origen se debe guardar la misma, esto ocurre presionando el botón “Articulaciones en 0”.

9. En este punto se le proporciona la pieza a mover al gripper, con el botón “Gripper” se controla la apertura o cierre del mismo.

10. Mover el manipulador a la posición de home con “Mover a Home”. 11. Empezar la trayectoria con el botón “Mover a Posición Inicial”, una vez hecho la

anterior presionar el botón “Iniciar Trayectoria”. 12. Repetir los pasos del 1 al 11 si de desea una nueva trayectoria.

Resultados Descripción de las metas y actividades del proyecto. Diseño y desarrollo de algortimos de visión: (100%) 1. Se diseñó e implementó una interfaz gráfica para la adquisición, procesamiento de imágenes y control de movimiento de un prototipo de robot manipulador de 3 GDL planar. a) Se desarrollo del software de obtención de imagen y del software de cinemática inversa. a1. Se im´lementó en código computacional la separación de sus capas RGB. a2. Se obtuvo una capa en escala de grises, con una profundidad de 8 bits. Diseño y desarrollo del sistema de comunicación bidireccional a través de la PC: (100%) 2. Se desarrolló la programación para enviar los datos para controlar los actuadores del brazo. Diseño y construcción de prototipo: (100%) 3. Se diseñó y construyó el prototipo de un brazo manipulador de 3 GDL planar. b) Se construyó y desarrolló la física del robot manipulador. b1. Se realizaron y elaboraron los planos de cada una de las piezas con las dimensiones adecuadas. b2. Se realizaron los cálculos referentes al diseño de elementos de máquinas. b3. Se simularon los movimientos que realizará el manipulador con ayuda de un software de análisis computacional, Visual Nastran® 4D y Matlab® 7.0.

Page 36: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Diseño del sistema de control de movimiento: (100%) 4. Se implementó un sistema de control de movimiento para el brazo manipulador, basado en el controlador de precisión de movimiento, LM629 de la compañía National Semiconductor. c) Se desarrolló el análisis de la etapa de potencia de los actuadores. Análisis cinemático y dinámico del robot: (100%) 5. Se desarrolló la cinemática inversa del brazo manipulador, así como el modelo dinámico del robot como auxiliar en la simulación y base para la dinámica del prototipo. 5.1 Se calculó cada uno de los pares torsores que se generaron en cada articulación. 5.2 Se determinó la potencia necesaria de cada motor para mover las articulaciones. 5.3 Se acopló la etapa de control y potencia a los actuadores. Integración del sistema mecatrónico: (100%) 6. Se integró el prototipo de robot manipulador con el sistema de visión a través de software de control y se obtuvieron los resultados experimentales de la comparación con otros métodos convencionales de programación. d) Se integró el prototipo y las simulaciones. e) Se realizaron las primeras pruebas y correcciones del sistema integrado. f) Se realizaron mejoras y depuración de errores del sistema. g) Se entregó el prototipo, los manuales, la documentación y la memoria técnica y de cálculo.

Conclusiones  De los objetivos propuestos se cumplieron los siguientes:

• Se diseño e implemento una interfaz grafica para la adquisición de video, procesamiento de imagen y control de movimiento de un prototipo de robot manipulador de 3 GDL planar tipo 3R.

• Se desarrollo la programación para enviar los datos que rigen el control de los actuadores del brazo.

• Se diseño y construyo un brazo manipulador de 3 GDL planar, tipo 3R. • Se implemento un sistema de control de movimiento para el brazo de manipulador

basado en el controlador de precisión de movimiento LM629 de la compañía National Semiconductor.

Page 37: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

37  

• Se obtuvo el modelo de la cinemática inversa del brazo manipulador así como, el modelo dinámico del robot como auxiliar en la simulación y base para la dinámica del prototipo.

• Se realizaron pruebas experimentales.

El objetivo que no se cumplió en su totalidad fue el siguiente:

• Integrar el prototipo de robot manipulador con el sistema de visión y el programa de control.

La integración del sistema se realizó adecuadamente con la interfaz de control gráfico con el usuario, la etapa de visión artificial, la cinemática inversa y el manipulador. Sin embargo la etapa de control no funciona adecuadamente, ya que, el manipulador recrea la trayectoria usando el modo posición del LM629, en el cual el perfil de velocidad es cero al iniciar y terminar cada movimiento, lo cual da como consecuencia que el movimiento del brazo sea pausado al recrear la trayectoria. Gracias a las pruebas realizadas se deduce que el problema se encuentra en la programación del microcontrolador que rige el control. Por otro lado para el desarrollo del proyecto se hicieron otras actividades no contempladas dentro de los objetivos iniciales; estos son: modelado del prototipo y simulación del movimiento en los softwares de diseño Solidworks® 2006 y MSC Visual Nastran® 4D 2004, la interfaz de movimiento del manipulador para alcanzar coordenadas específicas dentro del área de trabajo y un control angular incremental para el movimiento de cada articulación además de la creación de los archivos de imagen de la segmentación del video. Finalmente, se considera que el trabajo realizado sirve como base para el desarrollo de otros proyectos que involucren manipuladores con más grados de libertad y/o la recreación de trayectorias en tiempo real.

Impacto: sector productivo y educativo El beneficio en el sector productivo está enfocado en la industria manufacturera. En los procesos y operaciones de máquinado automática de piezas, embalaje, empaquetamineto y paletización. En la industria don de la automatización es una alternativa para mejorar la productividad. En el ámbito educativo el beneficio es la obtención: 1.- Prototipo mecatrónico de planeación de trayectorias. Sistema de control y sistema de visión. Manuales, planos, memoria de cálculo, etc. 2.-Software de control que integra los sistemas de visión con el controlador del robot manipulador.

Page 38: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

Bibliografía 1. Titulo: Robótica Industrial (primera edición), Autor: Mikell P. Groover, Mitchel Weiss, Roger N. Nagel y Nicholas G. Odrey, Editorial: Mc Graw Hill Interamericana de México, ISBN: 84-7615-302-3, Año publicación: México, 1990, Paginas: 595 2. Titulo: ROBOTICA: Control, detección, visión e inteligencia (primera edición), Autor: K. S. Fu, R. C. González, C. S. G. Lee, Editorial: McGraw Hill, ISBN: 84-7615-214-0, Año publicación: México, 1994, Paginas: 599 3. Titulo: Digital image processing (segunda edición), Autor: Rafael C. Gonzalez, Richard E. Woods, Editorial: Prentice Hall, ISBN: 020-1600-781, Año publicación: Estados Unidos, 2002., Paginas: 716 4. Titulo: Robótica (tercera edición), Autor: John J. Craig, Editorial: Pretince Hall, México, ISBN: 97-0260-7728, Año de publicación: México, 2006, Paginas: 408 5. Titulo: Marks, Manual del ingeniero mecánico (novena edición), Autor: Baumeister III, Theodore, Editorial: Mc. Graw Hill, ISBN: 970-10-0661-5 Año de publicación: México, 1996, Paginas: 2500 6. Titulo: Diseño de elementos de maquinas (cuarta edición), Autor: Robert L. Mott, Editorial: Prentice Hall, ISBN: 970-260-8120, Año de publicación: México, 2004, Paginas: 994 7. Titulo: A Tutorial on Visual Servo Control, Autor: Seth Hutchinson, ,reg Hager, Peter Corke, Año de publicación: Mayo 14, 1996 8. Titulo: TSAI Calibration Algorithm, Autor: Tsai R., Año de publicación: Abril, 2005

Cibergrafía www.citeseer.com

Referencias [1] K. S. Fu, R. C. González, C. S. G. Lee, ROBOTICA: Control, detección, visión e inteligencia (primera edición), editorial McGraw Hill, ISBN: 84-7615-214-0, año publicación: México, 1994, pp. 467, 468,472. [2] Rajeev Alur, A. Das, J. Esposito, R. Fierro, G. Grudic, Y. Hur, V. Kumar, I. Lee, J. Ostrowski, G. Pappas, B. Southall, J. Spletzer, C. J. Taylor, A Framework and Architecture for Multirobot Coordination, 2000. [3] Peter K. Allen, Aleksandar Timcenko, Billibon Yoshimi, Paul Michelman, Automated Tracking and grasping of a Moving Object with a Robotic Hand-Eye System, 1991.

Page 39: reporte SIP 2007 1 - sappi.ipn.mxsappi.ipn.mx/cgpi/archivos_anexo/20070263_4843.pdfmáquina (CNC), volverlas a colocar sobre la banda después de ser máquinadas, realizar ensambles,

39  

[4] Robert Fuelep Biro, Gary McMurray, Harvey Lipkin, Modular Visual Servo Tracking for Industrial Robots,1997. [5] Yoshihito Koga, On Computing Multi-Arm Manipulation Trajectories, 1995. [6] James Davis, Mubarak Shah, Recognizing Hand Gestures, 1994. [7] Sing Bing Kang, Robot Instruction by Human Demonstration, 1994. [8] Precision Assembly Michael Ling Chen, Visually, Guided Coordination for Distributed, 1999. [9] Rafael C. Gonzalez, Richard E. Woods, Digital image processing (segunda edición), editorial Prentice Hall, ISBN: 020-1600-781, año publicación: Estados Unidos, 2002, pp 120,314-324. [10] PDF. TSAI Calibration Algorithm, April 20, 2005 [11] John J. Craig, Robótica (tercera edición), editorial Pretince Hall, México, ISBN: 97-0260-7728, año de publicación: México, 2006, pp 109-113. [12] K. Ogata, Ingenieria de Control Moderna (tercera edición), editorial Prentice Hall, ISBN:970-17-0048-1, año de publicación: México,1997, pp . [13] Baumeister III, Theodore, Marks, Manual del ingeniero mecánico (novena edición), editorial Mc. Graw Hill, ISBN: 970-10-0661-5, año de publicación: México, 1996, pp [14] Robert L. Mott, Diseño de elementos de maquinas (cuarta edición), editorial Prentice Hall, ISBN: 970-260-8120, año de publicación: México, 2004.