Vous êtes sur la page 1sur 62

SISTEMA DE CONTROL DE UN

BRAZO ROBTICO SEGUIDOR DE


OBJETOS

Trabajo de grado

Cristhian Daniel Molina Machado


C.C. 1110521013
Giancarlo Daravia Pea
C.C 1115074927

Universidad Tecnolgica de Pereira


Facultad de Tecnologas
Ingeniera Mecatronica
Pereira
12 de noviembre de 2013

SISTEMA DE CONTROL DE UN BRAZO ROBTICO SEGUIDOR DE


OBJETOS

Cristhian Daniel Molina Machado


C.C. 1110521013
Giancarlo Daravia Pea
C.C 1115074927

Trabajo de Grado para optar al titulo de

Ingeniero en Mecatronica

Dirigido por

Ing. Rodrigo Andres Franco Luna, M. Sc (c)

Universidad Tecnolgica de Pereira


Facultad de Tecnologas
Ingeniera Mecatronica
Pereira

12 de noviembre de 2013

 Hay una fuerza motriz ms poderosa que el vapor,


la electricidad y la energa atmica: la voluntad.
Albert Einstein

Muchos fracasos de la vida han sido de hombres


que no supieron darse cuenta, de lo cerca que
estaban del xito, cuando se rindieron.
Thomas Alva Edison

Agradecimientos
Dedicamos este proyecto a todos los que creyeron en nosotros, a toda la
gente que nos apoy, a nuestros amigos y familiares. Con todo nuestro cario y
nuestro amor para las personas que hicieron todo en la vida para que nosotros
pudiramos lograr nuestros sueos, por motivarnos y darnos la mano cuando
sentamos que el camino se terminaba, a ustedes por siempre nuestro corazn
y nuestro agradecimiento pap y mam, el apoyo recibido durante estos 5 aos
de estudios ha sido fundamental.

Un agradecimiento singular debemos al profesor Rodrigo Andres Franco Luna, como director de este proyecto, nos ha orientado, apoyado y corregido en
nuestra labor acadmica con un inters y una entrega que han sobrepasado con
mucho todas las expectativas que como alumnos depositamos en su persona.

Gincarlo y Daniel

ndice
1. Introduccin
1.1.

Denicin del problema

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . .

1.1.1.

Antecedentes

1.1.2.

Descripcin del problema

1.1.3.

Formulacin del problema . . . . . . . . . . . . . . . . . .

1.2.

Justicacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.

Objetivos

1.4.

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3.1.

Objetivo general

. . . . . . . . . . . . . . . . . . . . . . .

1.3.2.

Objetivos especcos

. . . . . . . . . . . . . . . . . . . .

4
4

Diseo metodolgico . . . . . . . . . . . . . . . . . . . . . . . . .

1.4.1.

Estructura de la unidad de anlisis . . . . . . . . . . . . .

1.4.2.

Criterio de validez

. . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5.

Conabilidad

1.6.

Esquema temtico

. . . . . . . . . . . . . . . . . . . . . . . . . .

1.7.

Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Procesamiento de imgenes

2.1.

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.

Espacios de color . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.1.

Modelos RGB . . . . . . . . . . . . . . . . . . . . . . . . .

2.2.2.

Modelo HSV O HSB . . . . . . . . . . . . . . . . . . . . .

2.2.3.

Modelo YCbCR

2.3.

2.4.

. . . . . . . . . . . . . . . . . . . . . . .

Sistema de procesamiento

. . . . . . . . . . . . . . . . . . . . . .

2.3.1.

Determinacin del modelo de color . . . . . . . . . . . . .

10

2.3.2.

Anlisis de las componentes de color . . . . . . . . . . . .

11

2.3.3.

Generacin del mapa binario

14

. . . . . . . . . . . . . . . .

Extraccin de caractersticas del objeto binario

. . . . . . . . . .

15

2.4.1.

Uso de BWLABEL . . . . . . . . . . . . . . . . . . . . . .

15

2.4.2.

Uso de REGIONPROPS . . . . . . . . . . . . . . . . . . .

16

3. Sistema fsico

17

3.1.

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2.

Planteamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

3.2.1.

Centro de masas

. . . . . . . . . . . . . . . . . . . . . . .

18

3.2.2.

Efectores

. . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.2.3.

Articulaciones . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.2.4.

Volumen de trabajo

20

3.3.

. . . . . . . . . . . . . . . . . . . . .

Estructura del brazo . . . . . . . . . . . . . . . . . . . . . . . . .

20

3.3.1.

24

Materiales . . . . . . . . . . . . . . . . . . . . . . . . . . .

4. Arquitectura del sistema de implementacin

27

4.1.

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

27

4.2.

Rotacin de un cuerpo rgido

. . . . . . . . . . . . . . . . . . . .

27

4.2.1.

Descripcin de una posicin . . . . . . . . . . . . . . . . .

28

4.2.2.

Descripcin de la orientacin

. . . . . . . . . . . . . . . .

29

. . . . . . . . . . . . . . . . . . . .

29

4.3.

Matriz de rotacin de Givens

4.4.

Cuaterniones

4.5.

Matriz de transformacin homogneas

. . . . . . . . . . . . . . .

31

4.6.

Modelos de Denavit-Hanterberg . . . . . . . . . . . . . . . . . . .

32

4.7.

Cinemtica

32

4.8.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

30

4.7.1.

Cinemtica directa . . . . . . . . . . . . . . . . . . . . . .

32

4.7.2.

Cinemtica inversa . . . . . . . . . . . . . . . . . . . . . .

33

Calibracin de cmaras

. . . . . . . . . . . . . . . . . . . . . . .

4.8.1.

Homografas

. . . . . . . . . . . . . . . . . . . . . . . . .

4.8.2.

Aplicacin correccin y distorsin proyectiva

4.8.3.

Mtodos de calibracin

37
37

. . . . . . .

38

. . . . . . . . . . . . . . . . . . .

39

5. Sistema de control y pruebas

41

5.1.

Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

41

5.2.

Sistema de control

41

5.3.

Pruebas

. . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.3.1.

Prueba de procesamiento de imgenes MatLab

5.3.2.

Pruebas del sistema fsico

45

. . . . . .

45

. . . . . . . . . . . . . . . . . .

46

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

47

5.4.

Conclusiones

5.5.

Trabajos futuros y aplicaciones

ii

. . . . . . . . . . . . . . . . . . .

52

ndice de guras
1.

Cronograma de actividades

2.

Modelo de generacin espacial RGB

. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .

3.

Modelo de generacin espacial HSV . . . . . . . . . . . . . . . . .

4.

Modelo de generacion YcbCr

5.

Interfaz grca de Imaqtool (Toolbox de adquisicin de imgenes)

11

6.

Segmentacion del objeto en la imagen (A=RGB B=YCbCR)

. .

12

7.

Segmentacin del objeto en RGB . . . . . . . . . . . . . . . . . .

13

8.

Segmentacin del objeto en YCbCR

14

9.

Mapa binario de los pixeles identicados usando el espacio YCbCr 15

10.

ngulos de rotacin en coordenadas

11.

Articulacin lineal

12.

Articulacin giratoria

13.

Comparacin de un brazo robtico con la de un brazo humano. .

21

14.

Base del brazo robtico. . . . . . . . . . . . . . . . . . . . . . . .

21

15.

Cintura del brazo robtico.

. . . . . . . . . . . . . . . . . . . . .

22

16.

Hombro del brazo robtico.

. . . . . . . . . . . . . . . . . . . . .

22

17.

Codo del brazo robtico.

. . . . . . . . . . . . . . . . . . . . . .

23

18.

Mueca brazo robtico.

. . . . . . . . . . . . . . . . . . . . . . .

23

19.

Brazo Robtico. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

20.

. Servomotor HITEC . . . . . . . . . . . . . . . . . . . . . . . . .

24

21.

Arduino UNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

25

22.

Cmara web Logitech HD 720pa

. . . . . . . . . . . . . . . . . .

26

23.

Representacin de un cuerpo rgido en los planos 2D y 3D . . . .

28

24.

Posicin y orientacin de un cuerpo rgido . . . . . . . . . . . . .

29

25.

Matrices de rotacin en los planos X, Y, Z . . . . . . . . . . . . .

30

26.

Conguracin de un plano 2D para la cinemtica inversa . . . . .

27.

Anlisis de la cinemtica inversa para

28.

Cambio de constantes para el anlisis de la cinemtica inversa . .

36

29.

Transformacin Proyectiva

39

30.

GUI para el control de servo motores.

31.

Prueba de adquisicin de datos

32.

Prueba calibracin de servo motores

33.

Sistema de implementacion

34.

Interfaz Pc, Arduino y brazo robtico

35.

Seguimiento y adquisicin de datos . . . . . . . . . . . . . . . . .

50

36.

Reconocimiento y seguimiento del objeto . . . . . . . . . . . . . .

51

37.

Objeto en seguimiento en MatLab

51

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

18

. . . . . . . . . . . . . . . . . . . . . . . . . .

19

. . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

20

34
35

47
48

. . . . . . . . . . . . . . . .

49

. . . . . . . . . . . . . . . . . . . . .

49

iii

. . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

50

Resumen
A lo largo del documento se trataran los aspectos necesarios para el desarrollo
del sistema del brazo robtico, se inicia con un capitulo introductorio, posteriormente se despliegan tres captulos que contienen informacin tcnica y terica
sobre el procesamiento de imgenes, sistema fsico del sistema y desarrollo del
sistema de control, y por ultimo un capitulo de resultados y funcionamiento del
sistema.
Se inicia con el capitulo introductorio del porque se escogi este sistema, la
justicacin, objetivos puntuales, la metodologa que se utilizo y cronograma,
en el capitulo siguiente se habla acerca del procesamiento digital de imgenes
donde en este se toma algunos aspectos sobre los modelos de color y se dene el
que se va a usar en el procesamiento, de igual manera se explica como se obtienen
las caractersticas de color del objeto y la extraccin de la posicin relativa de
el en la imagen: dicha informacin sera entregada en el sistema de control por
medio de una tarjeta de adquisicin (en este caso un arduino). Posteriormente
se tratar el tema del sistema fsico donde se habla de las propiedades del brazo
robtico, la rotacin de cuerpos rgidos, la cinemtica y seleccin de los modelos
de Denavit-Hanterberg, las matrices de rotacin o rotacin de Givens entre
otros.
Por otro lado en un capitulo se tratar lo que concierne al sistema de control,
cuya nalidad es obtener un modelo del sistema fsico y la aplicacin de una
tcnica de control para el seguimiento del objeto, el sistema de visin y segmentacin de la imagen para que el sistema fsico sea capas de seguir el objeto
y mantenerlo en el centro de la imagen, ya los resultados de dichas pruebas se
muestran en otro capitulo. Se espera que el documento sea del agrado del lector
y brinde herramientas tanto tcnicas como tericas para la aplicacin de conceptos aqu desarrollados y sentar una base para prximos desarrollos y posibles
extensiones de la funcin planteada en este proyecto.

1. Introduccin
Durante la historia de la robtica, investigadores han desarrollado una gran
variedad de robots, principalmente utilizados en cuestiones de tareas peligrosas,
montonas e imposibles para el ser humano. Los robots fueron diseados y
construidos desde hace varias dcadas con el objetivo de prestar servicios a los
seres humanos en tareas repetitivas; En la industria, los robots se emplean para
elaborar trabajos de pintura, soldadura, ensamble de piezas, etc. En el rea
espacial, como rescatadores de satlites, recoleccin de muestras, exploracin
de terrenos y para labores de mantenimiento de las estaciones espaciales, la
robtica forma parte de nuestra vida cotidiana. Muchas aplicaciones que hace
dcadas se consideraban imposibles de realizar son una realidad.
La robtica se ha encargado de optimizar diferentes tareas en el transcurso
del tiempo, buscando diferentes mtodos para solucionar problemas de cualquier
tipo, una de las soluciones para mejorar la eciencia y guiado de los sistemas
robticos, ha sido la implementacion de sistemas de visin, la visin puede ser
considerado un proceso que permite a una persona obtener una gran cantidad
de informacin del ambiente, la cual a la vez ayuda a esta a desenvolverse ya sea
en la navegacin o bien en la realizacin de tareas, el que este proceso con todos
sus problemas se intente resolver de forma automtica mediante computadoras,
formula una de las reas de investigacin y desarrollo de mayor inversin en
los ltimos aos. Visin de computador se dene como todo intento enfocado
al desarrollo de algoritmos que traten de lograr que una maquina simule hasta
cierto grado el proceso de visin biolgico.

1.1. Denicin del problema


1.1.1. Antecedentes
El origen del procesamiento digital de imgenes puede ser rastreado hasta
principios de la dcada de los sesenta. Fue en este tiempo cuando la NASA daba
seguimiento al programa de ciencia lunar, en un intento de caracterizar la supercie de la luna para apoyar el posterior programa Apolo. Una vez tomadas
las grabaciones de la supercie lunar, y tras varios intentos fallidos de enviarlas
a la Tierra, el proyecto Ranger 7 logr enviar dichas grabaciones a la tierra y,
una vez aqu, fueron convertidas de su forma analgica a digital. Una vez hecho
esto, fue necesario evaluar las imgenes y eliminar distorsiones geomtricas y de
respuesta. Este proceso dio inicio al empleo de computadoras para procesamiento de imgenes. Al principio, este procesamiento se llev a cabo nicamente en
aplicaciones astronmicas.
El decrecimiento en los precios y accesibilidad de sistemas digitales para obtencin y manejo de imgenes conlleva capacidades de procesamiento mejores;
aunado a esto, la revolucin de las micro computadoras convirti el procesamiento digital de imgenes en parte de la vida cotidiana. A pesar de que el
programa espacial dio inicio a la investigacin y desarrollo de procesamiento

de imgenes, las aplicaciones no se restringen a ello. En la actualidad, el procesamiento digital de imgenes tiene un extenso campo de aplicacin, como:
imgenes espaciales, biomdicas, radiografas industriales, foto-reconocimiento
de imgenes, televisin, visin infrarroja, radar con visin perifrica y varias
formas multa-espectrales como mapeo de escenas u objetos en formato bidimensional.

1.1.2. Descripcin del problema


As como lo nombrado anteriormente, nos enfrentamos a un mundo el cual
tiende a optimizar muchos procesos y un sistema robtico sin la funcin de
visin puede operar correctamente aunque con ciertos inconvenientes. Para ello,
necesitan de un conocimiento total de su espacio de trabajo o de los objetos
a manipular. Si alguna de estas caractersticas varia, el robot no es capaz de
trabajar correctamente y es necesario la intervencin del hombre para corregir
los errores de posicin o fallas de operacin, por ejemplo, algunas aplicaciones
en robots industriales para solucionar dicho problema, realizan una serie de
secuencias de posicin pre-enseadas a partir de la geometra de la zona de
trabajo y la localizacin de los objetos esto comnmente se lleva a cabo en
robots ensambladores o en funciones de pick-and-place.[1]
En cambio, la visin en sistemas robticos les aporta una mayor exibilidad
operacional, proporcionando una respuesta automatizada sobre objetos y ambientes variables, logrando as trabajos mas ecientes e inteligentes. Con esto,
ciertas aplicaciones como transporte de objetos (en procesos de manofactura y
automatizacin), ensamblado a precisin o robots en la medicina, entre otros,
requieren de robots con visin debido 2a la importancia de las tareas que realizan.

1.1.3. Formulacin del problema


Es posible desarrollar e implementar un sistema capas de seguir objetos en
un brazo robtico de N grados de libertad?

1.2. Justicacin
De los antecedentes y la descripcin se pueden sintetizar bsicamente dos
aspectos principales del problema:
- Reconocer la problemtica y determinar de una manera clara los puntos a
seguir a travs del Visual-Servoing

- Implementar algoritmos capaces de solucionar dicha problemtica.

1 Es

el tema de investigacin sobre el estudio de visin de robots, comnmente se le conoce

en ingles como Visual Servoing o  Vision-based Robot Control. Este mtodo se reere
principalmente a la utilizacin de informacin extrada del sistema de visin para el control
de movimiento del robot. [2]

De lo anterior podemos deducir que el hombre en su constante ingenio y


motivacin por generar nuevas formas de avances y conocimientos, siempre busca
maneras de destacarse, creando sistemas y medios que mejoren su calidad de
vida, en el rea de Robtica se encuentran grandes investigaciones relacionadas
con esto, en este proyecto se dar un primer paso a la interaccin hombremquina partiendo del punto de reconocimiento de objetos y con la capacidad
de seguirlos, con este proyecto tambin se busca incrementar dicho conocimiento
en esta lnea de investigacin, en un futuro su benecio es aportar diferentes
alternativas de solucin para problemas especcos que involucran la integracin
de las reas de Electrnica, Mecnica y Computacin desde un punto de la
robtica.

1.3. Objetivos
1.3.1. Objetivo general

Implementar el sistema de control de un brazo robtico que sea capaz de

reconocer objetos en movimiento y seguir su trayectoria.

1.3.2. Objetivos especcos


1. Determinar tcnicas de segmentacin e identicacin de caractersticas en
imgenes.
2. Implementar un sistema de control basado en el modelo de servo control
visual Eye-in-Hand
3. Realizar pruebas de validacin basadas en la identicacin y seguimiento
del objeto de prueba.
4. Aplicar los modelos de Denavit-Hanterberg, matrices homogneas, modelos de rotacin de Givens y cuaterniones.
5. Implementar el modelo de calibracin de cmara de Zhang.

1.4. Diseo metodolgico


1.4.1. Estructura de la unidad de anlisis
El presente proyecto se articula mediante un enfoque metodolgico de tipo
terico y experimental, conjugando el trabajo con el grupo de investigacin
Instrumentacin y control (Universidad Tecnolgica de Pereira), para disear
un sistema con la capacidad de reconocer y seguir imgenes en movimiento.
1. REVISIN BIBLIOGRFICA
Actividades.

Bsqueda de textos, artculos, proyectos de grado, revistas y artculos anes


sobre el tema.

Seleccionar y organizar la informacin relevante y que contribuya a la

solucin de la problemtica.

2. ESTRUCTURA
Actividades.

Determinar qu elementos componen la estructura del brazo robtico

3. SELECCIN SISTEMA DE POTENCIA


Actividades.

Calculo de potencia requerida para el movimiento del brazo


Buscar los posibles proveedores de motores elctricos de alto torque
Seleccionar el ms adecuado segn las necesidades

4. SELECCIN SISTEMA DE ALIMENTACIN Y CONTROL


Actividades.

Buscar un sistema de control para la operacin del brazo es decir tarjetas

de desarrollo.

Desarrollar e implementar el algoritmo del sistema de procesamiento digital


de imgenes.
5. VERIFICACIN DE LOS SISTEMAS
Actividades.

Prueba de funcionamiento de la estructura mecnica


Prueba de funcionamiento del sistema de tratamiento digital de imgenes
Prueba del sistema de seguimiento de objetos

1.4.2. Criterio de validez


Posterior a la concatenacin del sistema de identicacin de patrones y los
actuadores, se realizaran pruebas de funcionamiento iniciales que permitan la
sintonizacin y correcto funcionamiento del sistema de seguimiento en condiciones controladas.
La identicacin del objeto es competencia neta del procesamiento de imgenes y los resultados estarn fuertemente atados a su robustez, por ende para la
vericacin del sistema se realizaran las pruebas en ambientes controlados donde se espera una eciencia superior la 50 %, los cuales sern medidos a partir
de los elementos mostrados al sistema con una caracterstica especica, la cual
tambin sera identicada por este, y comprada con la cantidad que el sistema
sea capaz de identicar y seguir, a consideracin del diseo e implementacion,
es un criterio suciente para la validacin del funcionamiento del prototipo.

1.5. Conabilidad
La conabilidad esta basada en la relacin estrecha entre los componentes
tericos y las practicas que comprenden el diseo de este sistema, estos han
sido vericados terica y prcticamente a lo largo de la formacin en el rea de
ingeniera Mecatronica en dichos campos.

Por lo tanto, estos conceptos usados en dicho desarrollo sern una vez mas
vericados y documentados a lo largo de la experiencia de la implementacion
del sistema de control para el seguimiento de objetos.

1.6. Esquema temtico


El esquema temtico estar compuesto por lo estipulado en la base normativa
de presentacin de trabajos de grado y capitulado con cuatro puntos crticos de
la implementacion del sistema, los cuales son:

Implementar los modelos de rotacin necesarios para el seguimiento del

objeto a travs del brazo robtico

Algoritmos de identicacin y extraccin de caractersticas para referencias


de seguimiento

Concatenacin del sistema fsico, el sistema de control y los algoritmos de

identicacin
Cada capitulo contendr informacin detallada de la experiencia del diseo,
eciencia y conabilidad debido a pruebas y conclusiones del sistema nal.

1.7. Cronograma
1. Determinar tcnicas de segmentacin e identicacin de caractersticas en
imgenes.
2. Aplicar los modelos de Denavit-Hanterberg, matrices homogneas, modelos de rotacin de Givens y cuaterniones.
3. Implementar el modelo de calibracin de cmara de Zhang.
4. Implementar un sistema de control basado en el modelo de servo control
visual Eye-in-Hand
5. Realizar pruebas de validacin basadas en la identicacin y seguimiento
del objeto de prueba.

Figura 1: Cronograma de actividades

2. Procesamiento de imgenes
2.1. Introduccin
Al mundo de hoy lo rodean una gran variedad de imgenes con formas y colores llenas de informacin, y en la mayora de los casos hasta incitan sensaciones
que invitan a los sentidos a explorar nuevas experiencias con la tecnologa.
El auge de los ordenadores en las ltimas dcadas a abierto la puerta para
que la informacin se globalice y se d total acceso a todo aquel que lo desee,
adems ha permitido que cada persona en la intimidad de su hogar o desde su
sitio de trabajo haga uso de estas nuevas herramientas y las incorpore a su vida
diaria.
Que podra llamar ms la atencin que un juego de imgenes multicolores de
impecable calidad?, realmente pocos acontecimientos lo superaran; si se tiene
en cuenta que la mayora de los gustos del ser humano entra por los ojos, se
podra decir que es aqu donde el procesamiento de imgenes juega un papel muy
importante en la demanda de nuevos mtodos de tratamiento y mejoramiento
de imgenes.
En la actualidad, la mayora de los hogares cuentan con la presencia de
ordenadores, estn arraigados en la vida diaria hasta el punto de ser el centro
de entretenimiento, estudio y hasta de trabajo, pero cuantas personas se han
preguntado qu sucede dentro de estas fenomenales herramientas que permite
disfrutar de una cantidad de imgenes al mando de un usuario?, la verdad
podran ser muy pocas y eso es lo que hace que el procesamiento y la generacin
de imgenes sean transparentes para la mayora de los usuarios nales.
Lo que se busca con el procesamiento de imgenes es realizar mejoras en
las caractersticas de brillo y contraste, permitiendo realizar tambin realce de
bordes y ecualizacin, o simplemente la extraccin de caractersticas con el uso
de algoritmos, por medio de los que se busca suprimir aspectos innecesarios o
realizar otros ms relevantes, justo como los ltros.
Cada proceso que se quiera realizar a una imagen es un mundo completamente distinto, es decir, tiene su propio campo de estudio y una amplia aplicacin,
se pueden identicar tres procesos bsicos:

1. Caractersticas de Seal: Tratando una imagen como seal se pueden


extraer caractersticas basadas nicamente en los datos numricos que representa el color de cada pixel, la la o la columna de una imagen se comporta como
una cadena de datos igual que una seal, por tanto se puede aplicar cualquier
algoritmo que se desee, estando entre los ms comunes la derivacin, la aplicacin de la transformada de Fourier; o analogas espaciales como mscaras de
ltrado en frecuencia, mscaras estadsticas, entre otras; pero especialmente con

la ecualizacin y el realce se busca una mejora sustancial en las caractersticas


de color en una imagen.

2. Caractersticas de Forma: En esta parte se extraen caractersticas que


se basan nicamente en la comparacin e identicacin de formas de cualquier
tipo, comnmente se encuentran comparaciones con modelos de guras geomtricas como crculos, tringulos, cuadrados, etc.

3. Caractersticas de Color: En esta parte se extraen caractersticas que


se basan en el color de un objeto, por tanto el procesamiento est ligado estrictamente al manejo de los modelos de color. Debido a que el desarrollo del
prototipo se basa en la identicacin de caractersticas de color, este tema se
ampliara a continuacin.

2.2. Espacios de color


Los espacios de color son modelos de representacin donde cada uno consta
de tres componentes que a su vez, contienen informacin en valores numricos
y dependiendo de dichos valores se conforma un color en especial, el cual es
asignado a un pixel. Entre los espacios ms comunes se encuentran: RGB, HSV,
YCbCr.

2.2.1. Modelos RGB


Este Modelo de color es el ms comn y sencillo de asimilar, La componente
R almacena la informacin de la intensidad de Rojo, la componente G contiene la
informacin de la intensidad de verde y la componente B contiene la informacin
de la intensidad de Azul, entendindose un Valor de (0) como la ausencia de
dicha componente y (255) como la presencia pura de dicha componente, en la
gura 2 se muestra el modelo de generacin espacial RGB.[3]

Figura 2: Modelo de generacin espacial RGB

2.2.2. Modelo HSV O HSB


Este Espacio es un modelo no lineal de generacin de color y consta de
tres componentes, H (del ingls Hue, Matiz) el cual contiene la informacin
del color, S (Del Ingls Saturation - Saturacin) contiene informacin de la
intensidad de color y V B (Del Ingls Value or Brightness - Valor o Brillo), es

la componente que contiene la informacin sobre el intensidad del brillo, en la


gura 3 se muestra el modelo de generacin espacial HSV.

Figura 3: Modelo de generacin espacial HSV

2.2.3. Modelo YCbCR


Este espacio de color es ampliamente usando en vdeo digital. La informacin
de la luminancia (Iluminacin de la imagen) est contenida en la componente
Y, y la informacin de las crominancias (Colores presentes en la imagen) es
almacenada en las dos componentes restantes. La componente Cb representa la
diferencia entre el color azul y un valor de referencia, y de la misma manera,
la componente Cr representa la diferencia entre el color rojo y un valor de
referencia, en la gura 4 se muestra el modelo de generacin espacial YCbCr.

Figura 4: Modelo de generacion YcbCr

Obsrvese que el modelo YCbCr nace de la rotacin del cubo RGB haciendo
coincidir sobre el eje Y la esquina donde se construye el color negro en el punto
de referencia, y la esquina donde se construye el color blanco con el valor mximo
de la componente de luminancia.

2.3. Sistema de procesamiento


En un aparte anterior se coment a cerca del auge de los sistemas de cmputo
y de las capacidades que estos poseen para generar imgenes de alta calidad e
increble realismo, por tanto, se podra decir que los ordenadores en la mayora

de los casos son sub-utilizados y para la mayora de usuarios es transparente


la gran capacidad computacional, por tanto es posible armar que da a da el
mundo convive de manera inconsciente con el procesamiento de imgenes. Los
dispositivos que realizan dichos procesos deben tener gran capacidad para que
la percepcin del ser humano no se vea afectada, y es aqu donde se introduce el
trmino Tiempo Real, el cual est relacionado con la capacidad de percepcin
del sistema de visin humano.
Tentativamente, cualquier plataforma de programacin podra ser usada para desarrollar un sistema de procesamiento de imgenes, pero se debe de tener
en cuenta un aspecto tcnico muy especial, la adquisicin de imgenes; esta requiere de una cmara compatible con la plataforma de programacin, o al menos
una interfaz que permita realizar dicha accin, por tanto este aspecto es el ms
complejo en el desarrollo de un proyecto en este campo y quiz la razn por la
que se usa un tipo de plataforma ms que otra.
Ya que el propsito de este proyecto es desarrollar un prototipo, entonces se
requiere que el procesamiento se realice de manera tal que se logre la aplicacin,
y que a la vez se maneje una componente pedaggica, con el n de que pueda ser
entendido y posteriormente extendido a nuevos alcances, por esa razn, para el
procesamiento se utilizar la herramienta de clculo MatLab.

MatLab cuenta con un Toolbox (Caja de herramientas) especializado en


adquisicin de imgenes con el nombre de Imaqtool, con l se puede determinar
los sistemas de adquisicin reconocidos y funcionales, es decir, se reconocen
los dispositivos con los que se puede realizar adquisicin de imgenes y permite
elaborar una conguracin bsica y sencilla, por ejemplo; congurar la resolucin
y el modelo de color de adquisicin de la cmara.
MatLab trabaja con tres modelos de color nativos desde el dispositivo de
adquisicin (o cmara), y son: GrayScale (Escala de grises), RGB (Red - Green
- Blue) y YCbCr (Luminancia Y, Crominancias Cb - Cr ); al utilizar uno de
los modelos nativos no se invierte carga computacional en conversin de modelo
de color, por tanto se ahorra tiempo de procesamiento. Lo anterior restringe la
aplicacin al uso de uno de los dos modelos de color restantes. En la gura 5 se
muestra el entorno grco del Imaqtool donde se puede observar algunos de sus
controles de conguracin.

2.3.1. Determinacin del modelo de color


Para el desarrollo del prototipo es necesaria la identicacin de las caractersticas de color de un objeto (Para el caso de este proyecto se considerarn
las caractersticas de color de un baln de ftbol), y el espacio de color juega
un papel muy importante en la segmentacin, por tanto, es imprescindible determinar el modelo de color a usar en el desarrollo, por lo cual se realizar una

2 MatLab

es un software herramienta de clculo propiedad de The MathWorks

10

Figura 5: Interfaz grca de Imaqtool (Toolbox de adquisicin de imgenes)

comparacin de los dos modelos nativos con los que se adquieren imgenes, y
para ello se implement un procedimiento para el anlisis de imgenes basado
en el estudio de las componentes de color, con los resultados se podr determinar el modelo ms adecuado para el procesamiento y que adems facilite la
identicacin y segmentacin del objeto.

2.3.2. Anlisis de las componentes de color


A la parte inicial del proceso de anlisis se denomina Captura de la imagen
y segmentacin, en esta parte se requiere una imagen donde se encuentre el objeto a identicar, posteriormente se realiza un recorte de la imagen donde solo
se contengan pixeles con las caractersticas de color que se desea segmentar, en
la gura 6 se puede observar que sobre la imagen se realiza el recorte del mismo
elemento en ambos modelos de color, a estos recortes se les extraer la informacin de las caractersticas de color en ambos espacios, y dicha informacin ser

analizada en el siguiente paso.

El siguiente paso del anlisis se denomina Separacin de componentes y


anlisis estadstico.

3 Se

debe tener en cuenta que se est realizando la comparacin de dos modelos, por tanto

la imagen 6A contiene informacin coherente para el modelo de color RGB, y la 6B contiene


informacin coherente para el modelo YCbCr. La visualizacin de imgenes en MatLab est
por defecto en la representacin RBG, debido a eso la imagen 6B se aprecia con colores de
tonalidades extraas, pero se logra identicar que se reere a la misma imagen.

11

A-

Figura 6: Segmentacion del objeto en la imagen (A=RGB B=YCbCR)

Al tener el segmento de imagen que contiene el objeto recortado como se


muestra en la gura 6, cada recorte se separa en tres variables, pues cada una de
ellas contiene la informacin de una de las componentes del segmento recortado
en su respectivo modelo, para el caso del espacio RGB, una variable contiene la
informacin de la intensidad de rojo y a si mismo con las componentes G y B
que contienen la informacin de la intensidades de verde y azul respectivamente,
y para el caso del espacio YCbCr, una variable contiene la informacin de la
luminancia Y, y otras dos contiene la informacin de las crominancias Cb y Cr.
A cada una de las variables por separado se le aplica un anlisis estadstico
de los valores encontrados en el segmento, cuyo resultado es el promedio, y
posteriormente se realiza el clculo de la desviacin estndar, generando as un
rango de valores donde se puede inferir que contiene las caractersticas de color
del objeto, los siguientes rangos fueron emitidos por el anlisis estadstico para
el modelo RGB realizado a la imagen de la gura 6A.

Rango R [169,3670] [233,4691] [297,5973] > Rango [110,2456]


Rango G [13,8709] [133,4211] [245,1233] > Rango [236,2324]
Rango B [5,3455] [74,9329] [145,3233] > Rango [144,6489]

Cotejando los rangos se puede observar que la dispersin de los datos es muy
grande, por tanto fcilmente se pueden cometer errores de identicacin, cabe

aclarar que los datos en una imagen son del tipo UINT8 , por lo que los datos
que puede contener una componente estn en el rango de 0 a 255.
Para el caso del modelo de color YCbCr, (Cuyos rangos obtenidos por el
anlisis estadstico se muestra a continuacin), la componente Y que corresponde
a la luminancia (Informacin sobre la luz) tiene una dispersin grande por tanto
no brinda informacin relevante para la identicacin del objeto, por otro lado,

4 Unsigned

integer 8 bits - Entero sin signo de 8 bits

12

se puede observar que la dispersin de los rangos de las crominancias son ms


pequeos, lo que advierte que podran ser ms selectivos.

Rango Y [53,2233] [132,6704] [234,1404] >Rango [222,8901]


Rango Cb [54,8767] [80,1347] [105,6497] )>Rango [40,5720]
Rango Cr [169,8283] [156,2782] [206,6787] >Rango [16,8790]

A este punto del anlisis de los modelos de color ya se puede presumir que el
modelo YCbCr brinda ms facilidades en la segmentacin del objeto por medio
de las caractersticas de color, el paso a seguir es probar en la propia imagen si
los rangos emitidos por el anlisis estadstico a la imagen de la gura 6B son
vlidos para la identicacin.
La prueba nombrada anteriormente se denomina Respuesta del anlisis estadstico del segmento. Se buscan dentro de la imagen inicial los pixeles que
cumplan con la informacin obtenida por el estudio estadstico del segmento,
es aqu donde se observa la identicacin del objeto por sus caractersticas de
color.

Figura 7: Segmentacin del objeto en RGB

Usando los rangos que fueron resultado del anlisis estadstico en el modelo
de color RGB a la imagen original (gura 7), se puede observar que los rangos
permiten que se segmente el objeto, pero a la vez tambin reconoce un tramo
de piel, debido a la dispersin puede incurrir en errores de identicacin y por
tanto no realizar la segmentacin de manera satisfactoria del objeto.
Realizando la misma accin sobre la imagen en el espacio de color YCbCr,
se obtiene una segmentacin mucho ms eciente que la que se observ con el
espacio de color RGB (Vase la gura 7B), razn por la cual se selecciona el
modelo de color YCbCr para realizar la identicacin del objeto en el desarrollo
del prototipo.

13

Para observa de una manera ms completa la capacidad de seleccin de cada


espacio de color se puede analizar, entre ms intenso sea el color rojo es ms
alto el valor y entre ms intenso sea el color azul indica un valor bajo, es decir,
255 da un rojo intenso y 0 en azul intenso.

-B

AFigura 8: Segmentacin del objeto en YCbCR

Al realizar un anlisis detenido de los mapas de intensidad, se observa que el


objeto no resalta de manera satisfactoria en dos de las componentes del modelo
RGB, atando esto a los rangos obtenidos con el anlisis estadstico, en la que
corresponde al color Rojo presenta valores altos en un segmento del objeto lo
cual sugiere que la dispersin obtenida del anlisis de esta componente es menor
que en las otras dos.
Realizando el mismo anlisis a las componentes del modelo YCbCr, se observa que el objeto resalta mucho mejor que en el modelo RGB, la componente
Y no contiene informacin relevante, pero las componentes de las crominancias
brindan datos sucientes para realizar la identicacin de las caractersticas de
color, esto sugiere que la dispersin de las crominancias son mucho ms pequeas en comparacin con el rango de la componente Y (luminancia), por tanto
se puede basar el algoritmo de identicacin en estas dos componente para segmentar el objeto.

2.3.3. Generacin del mapa binario


Al recorrer la imagen pixel por pixel y comparar los valores con los rangos
denidos para el espacio YCbCr, se genera un mapa binario en el que se marca
cada pixel que contiene la caracterstica de color, con la realizacin de dicha
accin se obtiene la imagen binaria mostrada en la gura 9A.[4]

14

Figura 9: Mapa binario de los pixeles identicados usando el espacio YCbCr

Al objeto blanco mostrado en la gura 9A se le denomina objeto binario, y


es a este al que se le extraen algunas caractersticas, como tamao y rea, pero
lo ms importante es la identicacin del centro del objeto, esta caracterstica
es la piedra angular del algoritmo de identicacin, pues con ella se obtienen los
datos de la posicin relativa del objeto en la imagen y pueden ser entregados al
sistema de control.

2.4. Extraccin de caractersticas del objeto binario


Para la extraccin de caractersticas nombradas en el aparte anterior, se
requiere del uso de algunas funciones de MatLab especializadas para el procesamiento de imgenes, pues con ellas se facilitar la obtencin de la posicin
relativa del objeto en la imagen, las funciones usadas en el desarrollo del prototipo se nombran a continuacin.

2.4.1. Uso de BWLABEL


La funcin BWLABEL

5 es una funcin de MatLab contenida en el Toolbox

de procesamiento de imgenes a la que se le ingresa una imagen binaria, esta


funcin entrega una matriz del mismo tamao de la imagen inicial, pero en ella se
encuentran marcados los objetos binarios detectados (pixeles blancos conectados
con un rea determinada) con nmeros, y el segundo dato que entrega la funcin
es la cantidad de elementos encontrado en la imagen binaria.
Con esta funcin se identican todos los objetos presentes en una imagen,
y entindase en este segmento del documento como objeto binario a la nube de
puntos blancos conectados, tal y como se muestra en la gura 9A, en la que se
encuentra un solo objeto.

5 Para

mayor informacin sobre esta funcin y algunos ejemplos del uso remtase al software

de The MathWorks MatLab y teclee en el WorkSpace (Espacio de trabajo) el siguiente cdigo:


help bwlabel

15

2.4.2. Uso de REGIONPROPS


La funcin REGIONPROPS

6 es una funcin de MatLab contenida en el

Toolbox de procesamiento de imgenes a la cual se le ingresa una imagen con


todos los objetos identicados, por tanto se usa generalmente despus de aplicar
la funcin BWLABEL.
Esta funcin permite extraer diversa informacin de los objetos presentes en
una imagen, para el caso del desarrollo se usa la caracterstica llamada Centroid
con la que se extrae la posicin del centro del objeto, dicho dato es entregado
de forma numrica, por tanto permite realizar cualquier accin que se requiera
con dicha informacin.
En la gura 9B se muestra con un asterisco de color rojo la posicin central
del objeto, dicha informacin se us para denir la posicin de la palabra objeto
cerca del centro de la nube de puntos blancos; en el proyecto la posicin central
del objeto se entregar al sistema de control a n de mantener al objeto siempre
enfocado en el centro de la imagen.[10]

6 Para

mayor informacin sobre las caractersticas que se pueden extraer con la funcin

REGIONPROPS, sese el comando help en el WorkSpace de MatLab.

16

3. Sistema fsico
3.1. Introduccin
Un brazo manipulador o brazo robtico se puede denir como el conjunto
de elementos electromecnicos que propician el movimiento de un elemento terminal (gripper o herramienta). La constitucin fsica de la mayor parte de estos
manipuladores guarda cierta similitud con la anatoma de las extremidades superiores del cuerpo humano, por lo que, en ocasiones, para hacer referencia a
los distintos elementos que componen al robot, se usan trminos como: cintura,
hombro, brazo, codo, mueca, etc.
Una especicacin general de un brazo robtico comprende: sus grados de
libertad, su conguracin y su cinemtica directa e inversa. Estas especicaciones son dadas desde el diseo propio de cada robot y su aplicacin. Los brazos
manipuladores estn diseados de modo que se puedan programar para llevar
a cabo un conjunto de tareas, el programa puede consistir en ejecutar tales tareas especicas de manera repetitiva durante largos periodos de operacin. Esto
requiere alto nivel de precisin, el cual puede lograse si se dispone de un conocimiento exacto de conguracin fsica del robot y de la posicin y orientacin
que el efector nal adquiere cuando los actuadores del robot posicionan a cada
una de las articulaciones.
Para abordar el tema de una manera adecuada se tiene que tener en cuenta
los siguientes tpicos:

1. Cinemtica:

Es la parte de la fsica que estudia el movimiento de los

cuerpos, en Robtica el estudio cinemtico se centra en obtener la relacin entre


la posicin y orientacin del movimiento que el robot realice.

2. Grados de libertad:

Se dene como la cantidad de movimientos que

puede realizar un robot, con respecto a un motor el cual es el que nos dice el
estado cinemtico de dicho robot. El robot est compuesto de varios cuerpos y
estos se unen unos con otros. El nmero de grados de libertad coincide con el
nmero de ecuaciones necesarias para describir el movimiento.

3.2. Planteamiento
Un brazo robtico es un tipo de brazo mecnico, normalmente programable,
con funciones parecidas a las de un brazo humano; este puede ser la suma total
del mecanismo o puede ser parte de un robot ms complejo.las partes de estos
manipuladores o brazos son inter-conectadas a travs de articulaciones que permiten, tanto un movimiento rotacional (tales como los de un robot articulado),
como un movimiento translacional o desplazamiento lineal.
La funcin que debe realizar el sistema mecnico para el desarrollo del prototipo es, en primera medida sostener la cmara y permitir la realizacin de
cuatro movimientos, por tanto es un sistema con cuatro grados de libertad.

17

Tomando como referencia el sistema de coordenadas, el primer movimiento


se realiza sobre el plano

X0 Y0 Z0

en direccin del vector

Z0 ,

Donde se genera la

rotacin horizontal de la base, el siguiente movimiento del hombro (Ver gura


10). Sobre el Eje

Z1

se genera la rotacin vertical de inclinacin y elevacin, el

siguiente movimiento del codo sobre el Eje


igual al Eje

Z1 ,

Z2

se genera una rotacin vertical

El siguiente movimiento generado sobre el Eje

nalizando el siguiente movimiento de rotacin axial del Eje

Z5

Z3

PITCH y

ROLL, el mo-

7 alrededor del eje vertical en este caso la base

vimiento de rotacin intrnseca


se denomina YAW.[5]

Figura 10: ngulos de rotacin en coordenadas

3.2.1. Centro de masas


El centro de masas de un sistema discreto o continuo es el punto geomtrico
que dinmicamente se comporta como si en l estuviera aplicada la resultante
de las fuerzas externas al sistema De manera anloga, se puede decir que el
sistema formado por toda la masa concentrada en el centro de masas es un
sistema equivalente al original. La ubicacin del centro de masa es un aspecto
muy importante del planeamiento del sistema brazo robtico, pues si se logra
hacer concordar el centro de masa del objeto con el origen de coordenadas
mientras el sistema realiza un movimiento, se minimizan los efectos de torques
adversos debidos al desplazamiento del centro de masa.
La inercia es un concepto asociado a la masa de un objeto, por tanto, se
podra decir que la inercia en un sistema rotacional es anloga a la masa de
un objeto en un sistema traslacional; por tanto la inercia indica la resistencia
del objeto a cambiar su estado de equilibrio, ya sea de reposo o de movimiento
rotacional, por lo tanto dicha inercia debe ser tenida en cuenta al momento de
modelar el sistema y obtener su funcin de transferencia. Lo que se busca con
la ubicacin del centro de las masas es tratar es de minimizar el esfuerzo de los

7 Es

el movimiento de cambio de orientacin de un cuerpo o un sistema de referencia de

forma que una lnea (llamada eje de rotacin) o un punto permanece jo.

18

motores en la retencin para as facilitar el movimiento en cualquier posicin en


la que se encuentra la cmara de lmacin.

3.2.2. Efectores
Los efectores son las herramientas o mecanismos que le permiten al robot
interactuar y realizar funciones con su entorno. La interconexin del robot con
su efector nal es un aspecto importante de la ingeniera del mismo, ya que
debe realizar algunos funciones, tales como proporcionar un soporte fsico al
efector durante el ciclo de trabajo, la energa para que efector pueda funcionar,
la seales para poder controlar el efector tambin se proporcionan a travs
de la interconexin, y algunas veces tambin las seales de realimentacin se
transmiten por medio de esta interconexin.

3.2.3. Articulaciones
Las articulaciones permiten que se puedan realizar movimientos de robot.
Para conectar las diversas articulaciones que se puede tener un robot, se utilizan
elementos rgidos llamados uniones. En un brazo robtico, las articulaciones
estn diseadas para permitir que el efector nal pueda llegar a una posicin
deseada dentro de los limites de tamao del robot y de los movimientos de las
articulaciones. Bsicamente, existen dos tipos de articulaciones, las lineales y
las rotatorias.

- Articulacin Lineal: Las articulaciones lineales implican un movimiento


deslizante o de las uniones de conexin, algunas veces se hace referencia a la
articulacin lineal como articulacin prismtica.

Figura 11: Articulacin lineal

- Articulacin giratoria:

En las articulaciones giratorias se pueden dis-

tinguir tres tipos. Al primer tipo se le denomina rotacional, en este tipo de


articulacin el eje de rotacin es perpendicular a los ejes de las dos uniones. El
segundo tipo de articulacin giratoria implica un movimiento de torsin entre
las uniones de entrada y salida. El eje de rotacin de la articulacin giratoria es
una articulacin de revolucin en a que la unin de entrada es paralela al eje de
rotacin y la salida es la perpendicular a dicho eje.

19

Figura 12: Articulacin giratoria

3.2.4. Volumen de trabajo


El espacio dentro del cual se mueve el efector nal; esta determinado por
la conguracin del robot[6], el numero de grados de libertad, el tamao de las
articulaciones y la forma como se combinan estas. Este espacio de trabajo se
puede dividir en dos espacios claramente diferenciales:
-Espacio alcanzable, o volumen que puede ser alcanzado por el efector nal
por lo menos una orientacin
-Espacio de manipulacin con destreza, volumen dentro del cual el efector
nal puede adoptar todas las orientaciones posibles.
Un volumen de trabajo con destreza requiere que el robot cuenten por lo
menos con seis grado de libertad, tres grados para posicionar el efector nal
en un punto determinado del espacio y tres grados para obtener la orientacin
adecuada(en este caso se utilizara solo un grado de libertad para obtener dicha
orientacin y los tres para el movimiento del efector nal).

3.3. Estructura del brazo


Los elementos que conforman el brazo robtico para formar su funcionamiento conformado por servo-motores, estructura mecnica y un sistema de control
que permite el movimiento de rotaciones de sus propias articulaciones que la
estructuran y forman un movimiento en los Ejes X,Y y Z, deduciendo as el
movimiento similar al de un Brazo Humano.

20

Figura 13: Comparacin de un brazo robtico con la de un brazo humano.

Se deseo disear el brazo robtico en un software de diseo SolidWorks para


la explicacin de su estructura que la conforma.

-Base:

La base del brazo robtico permite el equilibrio y el sostenimiento

de toda la estructura mecnica que conforma los movimientos rotatorios. Como


se puede observar (ver Figura 14) la base est estructurada con dos supercies
circulares lo cual estn apoyadas por una serie de columnas, en su centro posee
un servo-motor HITEC que permite una rotacin.

Figura 14: Base del brazo robtico.

- Cintura:

La cintura es una supercie circular que esta unida al Eje del

servo-motor de la Base, esta genera una rotacin Horizontal sobre el eje Z0.

21

Figura 15: Cintura del brazo robtico.

- Hombro:

Esta es una de las articulaciones del brazo robtico ms im-

portantes por lo que este genera un mayor torque para poder desplazar casi la
mayora de la estructura del brazo, esta articulacin genera una rotacin de desplazamiento de profundidad en el eje Z1, dado as es un movimiento importante
para el seguimiento de un objeto cuando se aleja o se acerca el elemento.

Figura 16: Hombro del brazo robtico.

- Codo:

Esta articulacin esta unida con un Servo-Motor que Permite la

rotacin de Elevacin, inclinacin en el eje Z2 y posee una estructura que permite


el sostenimiento de la cmara.

22

Figura 17: Codo del brazo robtico.

- Mueca: Esta articulacin unida con un Servo-motor genera una rotacin


vertical de inclinacin y elevacin en el Eje Z3, igual a la articulacin del codo,
permitiendo un movimiento para la cmara.

Figura 18: Mueca brazo robtico.

A continuacin se mostrara el brazo completamente diseado en SolidWorks


con su estructura mecnica, los servomotores incluidos y su respectiva tarjeta
de adquisicin de datos para la manipulacin del brazo.

23

Figura 19: Brazo Robtico.

3.3.1. Materiales
En la seccin anterior se habla sobre la estructura fsica del brazo robtico
y una explicacin sencilla de cada una de sus articulaciones, aqu describiremos que componentes se necesitan para lograr el movimiento del brazo y el
seguimiento de objetos.

- Actuadores: Un actuador es un dispositivo capaz de transformar energa


hidrulica, neumtica o elctrica en la activacin de un proceso con la nalidad
de generar un efecto sobre un proceso automatizado. Este recibe la orden de
un regulador o controlador y en funcin a ella genera la orden para activar un
elemento nal de control como, por ejemplo, una vlvula.

Figura 20: . Servomotor HITEC

24

Para este proyecto se implementaron servomotores HITEC lo cual estos nos


proporciona una buena precisin, posicin y velocidad para el manejo del brazo
robtico.

- Tarjeta de adquisicin de datos: El Arduino Uno es una placa electrnica basada en el microprocesador Atmega328. Cuenta con 14 entradas digitales
pin / salida (de las cuales 6 se puede utilizar como salidas PWM y para este
proyecto solo utilizaremos 4 salidas PWM), 6 entradas analgicas, un 16 MHz
resonador cermico, una conexin USB, un conector de alimentacin, una cabecera ICSP, y un botn de reinicio.

Figura 21: Arduino UNO

El Arduino Uno puede ser alimentado a travs de la conexin USB o con


una Fuente de alimentacin externa. La fuente de alimentacin se selecciona
automticamente. La tarjeta puede funcionar con un suministro externo de 6 a
20 voltios. Si se proporcionan menos de 7V, sin embargo, el pin de 5V puede
suministrar menos de cinco voltios y la junta puede ser inestable. Para este
proyecto la alimentacin de esta placa electrnica se har por medio USB.
La plataforma Arduino se programa mediante el uso de un lenguaje propio
basado en el popular lenguaje de programacin de alto nivel Processing. Sin
embargo, es posible utilizar otros lenguajes de programacin y aplicaciones populares en Arduino. Para este proyecto aplicamos el lenguaje de programacin
en C y C++.

25

El Arduino Uno tiene una Polyfuse reseteable que protege a los puertos
USB del ordenador de cortocircuitos y sobre-tensiones. Aunque la mayora de
los ordenadores proporcionan su propia proteccin interna, el fusible proporciona una capa adicional de proteccin. Si se aplica ms de 500 mA al puerto
USB, el fusible se romper automticamente la conexin hasta que se elimina
el cortocircuito o una sobrecarga.

- Cmara: Una cmara web o cmara de red es una pequea cmara digital
conectada a una computadora la cual puede capturar imgenes y transmitirlas
a travs de Internet, ya sea a una pgina web o a otra u otras computadoras de
forma privada. Las cmaras web necesitan una computadora para transmitir las
imgenes. Sin embargo, existen otras cmaras autnomas que tan slo necesitan
un punto de acceso a la red informtica, bien sea ethernet o inalmbrico. Para
diferenciarlas las cmaras web se las denomina cmaras de red. Para el proyecto
se utilizo una cmara web Logitech HD 720p. (Ver gura 22). Tiene una resolucin de vdeo HD de 1280x720 Pixeles, lo cual nos garantiza una excelente
nitidez en el vdeo, captura fotos con una resolucin de 3.0 mega pixeles, posee
un sistema de seguimiento facial y deteccin por movimiento.

Figura 22: Cmara web Logitech HD 720pa

26

4. Arquitectura del sistema de implementacin


4.1. Introduccin
El posicionamiento del extremo nal del robot en el espacio tridimensional
requiere de 6 coordenadas: 3 para la posicin cartesiana y 3 para coordenadas
para la orientacin de la herramienta del trabajo. A la relacin que existe entre las coordenadas articulares del robot con las coordenadas cartesianas y la
orientacin de la herramienta de trabajo colocada en el efector nal del brazo
se denomina la cinemtica directa.[7]
Como parte de la representacin matemtica de la cinemtica directa de
robots manipuladores se encuentra el uso de transformaciones homogneas para
representar orientacin y translacin para el trabajo de dicho brazo, con respecto
al sistema de referencia jo ubicado generalmente en la base del robot.
En este capitulo se mostrara los parmetros necesarios para implementar
el movimiento del brazo robtico al seguimiento de objetos, partiendo de una
serie de conceptos fsicos y matemticos para lograr dicha implementacion y se
hablara de los tpicos necesarios para la calibracin de cmaras.

4.2. Rotacin de un cuerpo rgido


El cuerpo rgido es un caso especial de un sistema de partculas. Es un
cuerpo ideal en el cual las partculas que lo componen no modican su posicin
relativa entre ellas, cualquiera sea la fuerza o torque a la que est sometido. Es
decir, ninguna fuerza y/o torque que  acte sobre el slido rgido ser capaz
de modicar la distancia que guarda cada una de las partculas que componen
al slido con todas las dems. Esta es su caracterstica distintiva.
Un brazo manipulador puede modelarse como un sistema articulado de cuerpos rgidos. La localizacin de cada cuerpo rgido, ligado al manipulador o dentro
de su entorno de trabajo, se describe completamente por su posicin y orientacin en el espacio. Para representar la relacin espacial entre los cuerpos que
componen un manipulador y los objetos con que ste interacta se denen operadores matemticos de posicin y orientacin.
Se conoce que podemos representar una posicin en el espacio empleando un
sistema de coordenadas, siendo comunes el cartesiano y el polar (vase gura
23).

27

Figura 23: Representacin de un cuerpo rgido en los planos 2D y 3D

4.2.1. Descripcin de una posicin


Una vez denido un sistema de coordenadas inercial de referencia se localiza
cualquier punto respecto de este por medio de un vector de posicin de dimensin

3x1.

Los componentes numricos de estos vectores indican la proyeccin del

vector a lo largo de los ejes principales del sistema de referencia


La posicin puede ser representada por las coordenadas de un punto arbitrario en el espacio. Asumiendo un sistema de coordenadas de referencia
un punto arbitrario

O0

OXY Z

jado a un cuerpo rgido, como se muestra en la Figura

24. Entonces la posicin de dicho punto respecto del sistema de coordenadas de


referencia est dada por el vector columna.


X0
P = Y0
Z0

28

Figura 24: Posicin y orientacin de un cuerpo rgido

4.2.2. Descripcin de la orientacin


Para describir la orientacin de un cuerpo en el espacio se asignar un sistema
de coordenadas ligado al cuerpo y luego se describir la relacin entre dicho
sistema de coordenadas y el sistema de coordenadas de referencia.
Una manera de describir el sistema de coordenadas ligado al cuerpo, es escribiendo los vectores unitarios de sus ejes principales en trminos del sistema de
coordenadas de referencia. En otras palabras, proyectando cada vector unitario
del sistema de coordenadas ligado al cuerpo sobre cada uno de los ejes principales del sistema de referencia, resultando en un vector unitario de dimensin
3x1 para cada eje del sistema de coordenadas ligado al cuerpo. De manera conveniente se pueden apilar juntos los tres vectores unitarios resultantes como las
columnas de una matriz de dimensin 3x3.

4.3. Matriz de rotacin de Givens


De lo anterior se sabe que un cuerpo puede representarse en una posicin en el
espacio en un sistema de planos coordenados y dicha representacin matemtica
se denomina matriz de rotacin porque describe la relacin de orientacin entre
un sistema de coordenadas relativo a otro (en este caso de referencia), la rotacin
es el movimiento en que uno de los puntos se considera jo. S se considera
jo un punto, el nico movimiento posible es aquel en el que cada uno de los
otros puntos se mueve en la supercie de una esfera cuyo radio es la distancia
del punto mvil al punto jo[13]. Si se consideran dos puntos jos, el nico
movimiento posible es aquel en que todos los puntos con excepcin de aquellos

29

que se encuentran sobre la lnea que une los dos puntos jos, conocida como eje,
se mueven en circunferencias alrededor de ste.
Suponiendo dos sistemas de coordenadas de orgenes coincidentes, OUVW
y OXYZ, y asumiendo que el sistema OUVW se mueve rotacionalmente con
respecto al sistema de referencia OXYZ. Se dene una matriz de rotacin como un operador que expresa la diferencia de orientacin entre el sistema de
coordenadas en movimiento (OUVW) y el sistema de referencia jo (OXYZ).
Por simplicidad ilustrativa, suponga la presencia de un cuerpo slido ligado por
uno de sus vrtices al sistema OUVW en movimiento es decir, se mueve con el
(Figura 23).
Representando cualquier punto del cuerpo como un vector, p, respecto del
sistema OUVW, se dene entonces la matriz de rotacin como aquella que opera
sobre p y transforma sus coordenadas expresadas en el sistema de coordenadas
rotado OUVW en el sistema de coordenadas de referencia OXYZ. Nos interesa
encontrar una matriz que transforme las coordenadas de un punto cualquiera p,
ligado a un sistema de coordenadas en movimiento OUVW, a las coordenadas
expresadas con respecto al sistema de coordenadas de OXYZ, despus de que
el sistema de coordenadas OUVW ha sido girado, aplicando estos teoremas
obtenemos las siguientes matrices para cada plano (Figura 25).

Figura 25: Matrices de rotacin en los planos X, Y, Z

4.4. Cuaterniones
Los cuaterniones son una extensin de los nmeros reales, similar a la de
los nmeros complejos; Mientras que los nmeros complejos son una extensin
de los reales por la adicin de la unidad imaginaria [ i ], tal que

i2 = 1,

los cuaterniones son una extensin generada de manera anloga aadiendo las
unidades imaginarias: i, j, k a los nmeros reales tal que

i2 = j 2 = k 2 = 1.

La importancia de los cuaterniones reside en que a travs de ellos se pueden


representar rotaciones en tres dimensiones de manera sencilla ya que estos poseen un propiedad algebraica muy bien estructura como lo son: la suma, resta,

30

multiplicacin, y divisin. Al realizar rotacin con cuaterniones pueden adoptarse dos perspectivas distintas, una considerando jos los ejes del marco de
referencia y otra considerando jo el punto a rotar[11]. Ya que la matemtica
de los cuaterniones es un poco extensa mostraremos la matriz de rotacin para
los cuaterniones en la ecuacin de abajo, as mismo se tendr en cuenta la implementacion de este matriz para hacer la respectiva translacion y rotacin del
brazo robtico.

sen(/2)sen(/2)sen(/2)
cos(/2)sen(/2)sen(/2)

sen(/2)cos(/2)sen(/2)
sen(/2)sen(/2)cos(/2)

cos(/2)cos(/2)cos(/2)+
sen(/2)cos(/2)cos(/2)
q=
cos(/2)sen(/2)cos(/2)+
cos(/2)cos(/2)sen(/2)

4.5. Matriz de transformacin homogneas


Una matriz homognea sirve para transformar un vector expresado en coordenadas homogneas con respecto a un sistema O'UVW, a su expresin en las
coordenadas del sistema de referencia OXYZ. Tambin se puede utilizar para
rotar y girar un vector referido a un sistema de referencia jo. En general sirve
para expresar la orientacin y posicin de un sistema de referencia O'UVW con
respecto a otro jo OXYZ. La matriz T de transformacin se suele escribir de
la forma:


R3X3
T =
F1X3

P3X1
W1X1

 
=

Rotacion
T ranslaci
on
P erspectiva
Escalado

f1X3 que representa una transformacin perspecW1x1 que representa un escalado global es la unidad:

En robtica la submatriz
tiva es nula; y la submatriz


R3x3
T =
0

P 3x1
1

 
Rotacion
=
0

T ranslaci
on
1

Que representa la orientacin y posicin de un sistema OUVW rotado y


trasladado con respecto al sistema de referencia OXYZ.
Se ha mencionado que una matriz de transformacin homognea sirve, entre
otras cosas, para representar el giro y la traslacin realizados sobre un sistema
de referencia. Esta utilidad cobra aun ms importancia cuando se componen las
matrices homogneas para describir diversos giros y traslaciones consecutivos
sobre un sistema de referencia determinado. De esta forma una transformacin
compleja podr descomponerse en la aplicacin consecutiva de transformaciones
simples (giros bsicos y traslaciones).[8] Se debe tener en cuenta:

Si el sistema jo OXYZ y el sistema transformado O'UVW son coinciden-

tes, la matriz homognea de transformacin ser la matriz 4x4 Identidad.

Si el sistema O'UVW se obtiene mediante rotaciones y traslaciones deni-

das con respecto al sistema jo OXYZ, la matriz homognea que representa cada

31

transformacin se deber pre-multiplicar sobre las matrices de transformacin


previas.

Si el sistema O'UVW se obtiene mediante rotaciones y traslaciones de-

nidas con respecto al sistema mvil, la matriz homognea que representa cada
transformacin se deber pos-multiplicar sobre las matrices de transformacin
previas.

4.6. Modelos de Denavit-Hanterberg


El modelo de Denavit-Hanterberg es una herramienta ampliamente conocida
en el rea de ingeniera, ya que ofrece un procedimiento sencillo para obtener el
modelo cinemtico directo cuya estructura queda en trminos de transformaciones homogneas. En la metodologa Denavit-Hanterberg primero se describir
la convencin para asignar los sistemas de referencia cartesianos asociados a las
articulaciones del robot. La cinemtica directa del robot proporciona las coordenadas cartesianas del extremo nal del robot relativo a un sistema de referencia
cartesiano jo[8]. Existen varios parmetros fundamentales para representar el
modelo de las rotacin y translacion gracias a estos modelos algunos de ellos
son:
1. Numerar cada articulacin comenzando por 1 (la correspondiente al primer
grado de libertad) y acabando en N.
2. Establecer el sistema de referencia cartesiano jo OXYZ cuyo origen es
colocado sobre el sistema de referencia en la base del robot y denir sus ngulos
entre los ejes.
3. Localizar el eje de cada articulacin. Si sta es rotativa, el eje ser su
propio eje de giro. Si es prismtica, ser el eje a lo largo del cual se produce el
desplazamiento.
4. Reglas para la denicin de los sistemas de coordenadas en base a los
cuales se construirn las matrices de transformacin homogneas (rotacin y
translacin).

4.7. Cinemtica
4.7.1. Cinemtica directa
Cinemtica es la parte de la fsica que estudia el movimiento de sistemas
mecnicos, sin tomar en cuenta las fuerzas que se originan dicho movimiento,
al estudio de la cinemtica de sistemas Mecatronicos y robots manipuladores
se le denomina cinemtica directa, se reere al estudio analtico del movimiento del robot con respecto a un sistema de referencia cartesiano jo

(X0 ,Y0 , Z0 )

relacionado la dependencia que existe entre las coordenadas articulares o generalizadas

li ),

qRn ,

y los parmetros geomtricos (longitudes del i-simo eslabn

con coordenadas cartesianas[x, y, z]

la cinemtica directa nos permite co-

nocer la posicin del efector nal en el espacio a partir de los valores de sus
coordenadas articulares.

32

Cinemtica directa es una funcin vectorial

FR (li , q)

que relaciona las coor-

denadas cartesianas articulares y propiedades geomtricas del sistema mecnicoli


con las coordenadas cartesianas

[x, y, z] R

del robot y la orientacin

de la herramienta colocada en el extremo nal. es decir

FR R R

[] R

tal que:


X
Y

Z
= FR (li q)

donde N indica el numero de grados de libertad y la dimensin del vector


de coordenadas articulares q, m es la dimensin conjunta de las coordenadas
cartesianas y la orientacin de la herramienta de trabajo, de manera general el
posicionamiento del extremo nal del robot en el espacio tridimensional (pose)
requiere de 6 coordenadas (m = 6): 3 coordenadas para la posicin cartesiana y
3 coordenadas para la orientacin del efector nal[12]. El empleo de la cinemtica directa resulta de utilidad en la planicacin de trayectorias y en el control
cartesiano. El papel fundamental de la cinemtica directa, es computar la posicin y orientacin del extremo nal de robot manipulador como una funcin de
variables articulares, tambin nos permite conocer la posicin del efector nal
en el espacio a partir de los valores de sus coordenadas articulares. mediante el
mtodo de Denavit-Hanterberg se obtiene la cinemtica directa del brazo.

4.7.2. Cinemtica inversa


La cinemtica inversa determina las coordenadas articulares en funcin de
la posicin nal del robot. El problema cinemtico inverso consiste en encontrar
los valores que debe adoptar las coordenadas articulares del robot para que
su extremo se posicione y oriente segn una determinada localizacin espacial,
existen mas de una solucin, se puede despejar de la matriz de transformacin
homognea o se puede obtener usando trigonometra lo adecuado es encontrar
una solucin cerrada, es decir encontrar una relacin matemtica explcita de la
forma:

qk = fk (X, Y, Z, , , )

donde k = 1...n (Grados de libertad)

El problema de la cinemtica inversa consiste en hallar los valores que se deben asignar a las variables articulares para posicionar el efector nal del robot de
modo que su matriz coincida con una matriz de transformacin homognea que
determina un sistema de coordenadas arbitrariamente ubicado en el espacio. El
proceso de hallar los valores de las variables articulares se convierte en resolver
el sistema de ecuacin de la matriz dada, para el efecto existen varias tcnicas algunos son mtodos geomtricos, otras se resuelven a travs de mtodos
numricos y tcnicas computaciones iterativas, mostraremos la representacin

33

que utilizamos en esta implementacion, observemos la gura 26 donde tenemos


dos articulaciones unidas por eslabones en posiciones distintas arriba y abajo,
analicemos su movimiento en el plano 2D[14].

Figura 26: Conguracin de un plano 2D para la cinemtica inversa

Las ecuaciones de cinemtica directa:

x = l1 cos1 + l2 cos(1 + 2 )
y = l1 sen1 + l2 sen(1 + 2 )
Para la cinemtica inversa:
2

x + y = l1 cos 1 + l2 cos (1 + 2 ) + 2l1 l2 cos1 cos(1 + 2 ) + l1 sen 1 +


2
2
l2 sen (1 + 2 ) + 2l1 l2 sen1 sen(1 + 2 )
2

x + y = l1 + l2 + 2l1 l2 [cos1 cos(1 + 2 ) + sen1 sen(1 + 2 )]


Utilizaremos las siguientes igualdades:

sen(x y) = senxcosy cosxseny


cos(x y) = cosxcosy senxseny
Por la tanto:
2

x +y =
l1 + l2 + 2l1 l2 [cos1 (cos1 cos2 sensen2 ) + sen1 (sen1 cos2 + cos1 sen2 )]
2

x + y = l1 + l2 + 2l1 l2 [cos2 1 cos2 + sen 2 cos2 ]


2

x + y = l1 + l2 + 2l1 l2 cos2
Y
2

cos2 =

x2 +y l1 l2
2l1 l2

34

A partir de aqu podemos obtener el angulo utilizado directamente en la


funcin coseno, pero esta funcin es muy imprecisa para ngulos pequeos,
la manera adecuada de evitar esta imprecisin es convertir hasta donde mas
podamos la funcin arco tangente.
2

cos 2 + sen 2 = 1
p
sen2 = 1 cos2 2
nalmente obtenemos:

p
2
2 = arctan(senq
2 cos2 ) = arctan( 1 cos 2 cos2 ) =
2

arctan(
Para resolver

1(

x2 +y 2 l1 l2 2 x2 +y l1 l2
)
2l1 l2
2l1 l2

reescribimos las ecuaciones no lineales mediante un cambio

de variables de la siguiente manera:

Figura 27: Anlisis de la cinemtica inversa para

x = l1 cos1 + l2 cos(1 + 2 )
y = l1 sen1 + l2 sen(1 + 2 )
x = k1 cos1 k2 sen1
y = k1 sen1 + k2 cos1
Donde:

k1 = l1 + l2 cos2 ; K2 = l2 sen2
35

A continuacin cambiamos la forma de escribir las constantes

k1 , k2 como

muestra la siguiente gura:

Figura 28: Cambio de constantes para el anlisis de la cinemtica inversa

r=

k1 + k2

= arctan(k2 k1 )
k1 = rcos
k2 = rsen
Insertamos las transformacin anteriores de X e Y y obtenemos:

x = rcoscos1 rsensen1
y = rcossen1 + rsencos1
Donde:

x
r

= coscos1 sencos1

y
r

= cossen1 + sencos1
x
r

= cos( + 1 )

y
r

= sen( + 1 )

Finalizamos aplicando la funcin arco tangente:

36

lo

+ 1 arctan( yr ) = arctan(y, x)
1 = arctan(y, x) arctan(k2 , k1 )
Donde:

k1 = l1 + l2 cos2
k2 = l2 sen2
De esta forma podemos seleccionar de manera adecuada el movimiento de
cada uno de las articulaciones del brazo y tener una mayor efectividad en la
rotacin de los ngulos.

4.8. Calibracin de cmaras


4.8.1. Homografas
Homografas es un concepto en la ciencia matemtica de la geometra. Una
homografa es una transformacin invertible de un espacio proyectivo a s mismo
que asigna lneas rectas a rectas. Los sinnimos son colineacin, transformacin
proyectiva y proyectividad, aunque "colineacin" tambin se utiliza en general.
Formalmente, las transformaciones proyectivas son transformaciones de un
espacio proyectivo. Ellos forman un grupo, el grupo lineal proyectiva. En el caso
de plano euclidiano, que describe los cambios en una proyeccin en perspectiva cuando el punto de vista de los cambios de observacin. Transformaciones
proyectivas no conservan tamaos o ngulos pero conservan la incidencia y la
cruz-razn: dos propiedades que son importantes en la geometra proyectiva. En
el caso de la lnea proyectiva compleja, tambin llamada esfera de Riemann, las
homografas se llaman transformaciones de Mbius. Para ms espacios descriptivos generales de diferentes dimensiones o sobre diferentes campos - "colineacin" es una nocin ms general, que incluye tanto las homografas y colineacin
automorfas, as como combinaciones de stos.[15]
Una estructura algebraica es homognea cuando representa entidades geomtricas en el mundo real mediante la relacin de sus elementos. La proyectividad,
es una transformacin lineal invertible tal que la colinealidad de los puntos se
preserva, a esta proyectividad se le conoce tambin como transformacin proyectiva planar. Esta transformacin est representada por una matriz H de 3x3
y es homognea, pues al multiplicarla por cualquier 6 = 0 representa la misma
transformacin, y de manera general tiene 8 DOF1 y es mas conocida con el
nombre de homografa. El conjunto de todas las matrices no singulares de 3x3
junto con el operador  multiplicacin matricial gorman el grupo llamado GL(3)
(General Linear), y aun que se sabe que todo grupo de GL(3) se puede usar como una homografa, si 2 o ms matrices que se relaciones solo con un escalar
son la misma clase equivalente, por tanto se forma un nuevo grupo que incluye

37

todas esas equivalencias y es llamado PL(3) (Proyective linear). Hacas abajo, el


grupo PL(3) presenta otras subdivisiones basadas en la jerarqua de transformaciones, de manera general se denir una transformacin homognea en el sub
grupo PL(3) sin tocar tpicos relacionados con los subgrupos de las jerarquas
de transformaciones. Un punto (x; y) totalmente planar transformado por una
homografa H, se convierte en un punto (x0; y0) con distorsin proyectiva, y de
manera general se modela como a continuacin:

0
x
x1
h!1
y 0 = x2 = h12
1
x3
h13

h21
h22
h23


h31
x
h32 y
h33
1

Para x' y y' se obtiene:

x0 =

x01
x03

h11 x+h12 y+h13


h31 x+h32 y+h33

y0 =

x02
x03

h21 x+h22 y+h23


h31 x+h32 y+h33

De donde se puede extraer un sistema cuadrado considerando que

h33 =

que permita calcular de manera deterministica una matriz homognea que

cumpla con las transformaciones.

4.8.2. Aplicacin correccin y distorsin proyectiva


En un nivel elemental la geometra es el estudio de puntos y lneas, y sus
relaciones. A lo largo de la historia la geometra ha sido concebida inicialmente
como una disciplina netamente geomtrica, en la que las lneas y puntos se estudian sin considerar un sistema de coordenadas. Posteriormente, mediante la
introduccin de un sistema de coordenadas cartesiano se logra sacar las ecuaciones algebraicas a la geometra. De esta manera, las entidades geomtricas
pueden ser descritas como coordenadas y entidades algebraicas. Por medio de
las relaciones algebraicas se obtiene una representacin matemtica apropiada
para implementar algoritmos y programar mtodos computacionales. Mediante
estas transformaciones es posible modelar la distorsin geomtrica que le ocurre
a un plano que es visto por una cmara perspectiva. Con estas transformaciones
algunas propiedades se conservan como la colinealidad (lneas rectas son vistas
como lneas rectas) mientras que otras propiedades no (las lneas paralelas por
lo general no son vistas como lneas paralelas).[16]

38

Figura 29: Transformacin Proyectiva

Como podemos observar en la gura 29 lo que se trata es llevar la proyeccin


de un plano desde una vista origen a otra, es decir tomar algunas caractersticas
de las dos imgenes y reconstruirlas en un plano distinto. Esto lo podemos
lograr con la matriz transformacin que previamente se haba analizado en la
subseccin anterior, con el concepto de que las lneas paralelas se interceptan
en el innito, se logra implementar un mtodo que remueve la distorsin afn
transformando la lnea de desvanecimiento en la lnea al innito recuperando
las lneas paralelas y obteniendo una imagen nal de la geometra del plano de
las dos imgenes iniciales.

4.8.3. Mtodos de calibracin


Despus de hablar de los tpicos esenciales para la extraccin de caractersticas de las imgenes para realizar respectivos anlisis para la implementacion, nos
encontramos con unos mtodos muy puntuales para poder realizar la calibracin
de cmaras para este caso vamos a resaltar el mtodo de Zhang y una conguracin que nos permitan hacer un control adecuado para el reconocimiento de
los objetos que se van a seguir con el brazo robtico.
El proceso de calibracin de cmara consiste en encontrar los parmetros
intrnsecos y extrinsecos de la cmara, es decir, los parmetros asociados a la
cmara como sensor (Intrnsecos) y los parmetros del modelo de calibracin
(Extrinseco)[17]. El modelo general de la transformacin de un punto espacial
al plano de una imagen es:

x = P x0
Donde:

P = k[R|t] = kR[I |-C']

K = 0
0

39

u0
v0
1

de igual manera R que representa una rotacin, por tanto es un matriz


ortogonal y

una rotacin, para mas detalle los parmetros dentro de la matriz

son:
-

: Es la distancia focal en x.
: Es la distancia focal en y .
: Se conoce como el Skew, y es una medida de la deformacin
v0 , u0 : Son el centro ptico de la cmara o punto principal.

del pixel.

El mtodo de Zhang plantea una solucin al problema de la estimacin de


la matriz de calibracin de cmara, hacindolo mucho mas exible. Zhang plantea un patrn planar, lo cual elimina la necesidad directa de una coordenada

simplicando el modelo a simplemente un conjunto de estimaciones de homografas que relaciona el patrn planar con el plano de la imagen, y posteriormente
extrae del juego de homografas una primera aproximacin de la matriz de calibracin

k,

para mas detalle ver en [18]. El mtodo de Zhang es mucho mas

verstil pues no requiere de la comparacin con un patrn con correspondencias


en 3 dimensiones, lo cual simplica dar sentido fsico a los datos obtenidos por
la optimizacin.
La calibracin de cmara, es necesaria para poder extraer informacin mtrica a partir de imgenes en 2D del mundo 3D . El proceso de calibracin de
cmara abre la posibilidad de realizar aplicaciones efectivas en visin, tal como el reconocimiento, seguimiento y reconstruccin 3D , los cuales se basan
en el conocimiento de la calibracin y pose de la cmara. En el caso especco de los manipuladores articulados con al menos seis grados de libertad, una
de las conguraciones ms populares es la llamada cmara brazo, conocida como  Eye-in-Hand en la literatura en inglesa, que se obtiene cuando la cmara
est ubicada en el efector nal, es decir, en el ltimo eslabn de la cadena
articulada[9], dicha conguracin es la que se utilizara en este sistema para el
seguimiento de objetos, como se muestra en la gura 18.

40

5. Sistema de control y pruebas


5.1. Introduccin
El ser humano desde que tiene conciencia ha interactuado con su entorno
para lograr que todo lo que lo rodea, incluyendo la naturaleza se comporte de
manera deseada, o simplemente generar condiciones ideales de vida; por tanto se
podra decir que este convive da a da con el control, el cual es un concepto tan
comn en la vida diaria que incluso pasa desapercibido para muchos. Se podra
denir el control como la accin de llevar condiciones aleatorias o naturales
a otras condiciones deseadas o de referencia, es decir, lograr que el entorno o
algn fenmeno se comporte de manera ms predecible o deseable. Un concepto
asociado ntimamente al control es la instrumentacin, la cual consta de tcnicas
con las que se obtiene la percepcin de un tipo de energa y posteriormente se
convierte en otro tipo de energa, adems de permitir detectar y cuanticar dicha
accin fsica que puede ser necesaria para algn proceso. Partiendo de esto, se
podra decir que el ser humano es el sistema de instrumentacin y control por
excelencia, utilizando los rganos de los sentidos para darle al cerebro datos
sobre las variables a su alrededor, por ejemplo por medio de la piel se puede
percibir presin y temperatura, con el gusto se puede percibir salinidad, acidez,
entre otras; con el odo se perciben seales sonoras, con el olfato se perciben los
olores; y la vista es el rgano de percepcin con el que se regula la mayora de
los movimientos, por tanto permiten la interaccin directa con el entorno.
A medida que se avanzo en el documento se mostraron los elementos tericos, como los aspectos tcnicos de cada unidad y de cada uno de estos se resume
un objetivo importante, el desarrollo del sistema de seguimiento para el brazo
robtico, la idea del sistema se basa en un desarrollo modular, lo que signica
que cada sistema contiene un objetivo en particular a efectuar, y es tarea de este captulo, evidencia dichos comportamiento, conrmando el comportamiento
deseado y el papel desempeado en el desarrollo. Realizar un diseo con concepto modular de un sistema permite minimizar la probabilidad de error en el
desarrollo, facilitando en gran medida la revisin y la correccin de los mismos
en el caso de presentarse, este modelo de diseo permite desde un punto de vista
tcnico la simplicacin de la documentacin del material asociado al desarrollo.

5.2. Sistema de control


La aplicacin del control requiere, en primera medida conocer el modelo del
sistema a controlar, pues a partir de este se modela una nueva dinmica, en
un aspecto mas general, por medio del control se trata de llevar un sistema a
un comportamiento deseado. La identicacin parametrica es una herramienta
atractiva para determinar los parmetros dinmicos de robots manipuladores, el
modelo dinmico de robots manipuladores posee propiedades que permiten generar varios esquemas de regresin lineal como los siguientes: modelo dinmico
se le denomina as debido a que emplea la estructura del modelo para expresarlo

41

como un regresor lineal vectorial, sin embargo, este modelo requiere medir la
aceleracin articular lo que representa una desventaja practica. La estimacin
de velocidad puede realizarse mediante tcnicas de ltrado lo que da origen al
modelo de regresin dinmico ltrado. Por otro lado existen esquemas de regresin escalares como los modelos de energa, potencia y potencia ltrada; estos
modelos permiten identicar los mismos parmetros de los esquemas vectoriales
dinmico y dinmico ltrado.
La estimacin de parmetros es el mtodo con el que se obtiene la funcin
de transferencia de una planta nicamente realizando la medida de la entrada
y la salida de esta, y conociendo el orden aproximado del sistema, este mtodo
se puede realizar de dos maneras, uno denominado fuera de lnea y consta de
tomar un nmero determinado de muestras y posteriormente calcular la funcin
de transferencia, y el ms usado es la estimacin en lnea con la cual se calculan
constantemente los parmetros de la planta y es generalmente implementado en
el control adaptativo, y como su nombre lo indica, se adapta a variaciones de la
planta estimando constantemente el modelo de esta. Este se denomina algoritmo
de proyeccin, y buscando mejorar la eciencia de la identicacin del mismo se
apoya en una funcin de minimizacin de error, para el caso, mnimos cuadrados.
Este mtodo se usa para estimar funciones de transferencia, y para el caso que
se requiera estimar un modelo de estados se recomienda usar estimadores de
Kalman.
Para poder utilizar el mtodo de mnimos cuadrados se requiere que el modelo matemtico del sistema a identicar pueda ser expresado como un regresor
lineal en los parmetros desconocidos. La tcnica de mnimos cuadrados permite obtener el valor numrico de los parmetros del sistema sin la necesidad de
desarmar el sistema del brazo. Se requieren de contar con las mediciones u observaciones de las posiciones y velocidades articulares, as como la seal del par
aplicado para que el sistema pueda moverse en su espacio de trabajo. Para este
caso particular del brazo seguidor de objetos optamos por aplicar el mtodo de
mnimos cuadrados y despus concatenar los resultados con el sistema de visin
para el seguimiento de objetos.
De particular relevancia para los esquemas de identicacin parametrica
y control adaptable es expresar el modelo dinmico no lineal del brazo como el producto de una matriz de regresin compuesta de funciones no lineales(dependientes de la posicin, velocidad y aceleracin articular) y en un vector
de parmetros constantes dependiente de masas, momentos de inercias, distancias a centros de masa y coecientes de friccin. El mtodo de mnimos cuadrados, es una tcnica particularmente simple, en un esquema estndar aproxima
la solucin de sistemas sobre determinados, es decir, cuando hay mas variables
incgnitas que ecuaciones. Mnimos cuadrados minimiza la suma de cuadrados de los errores; un error es la diferencia entre un valor observado y el valor
proporcionado por el modelo matemtico del brazo[19].

42

Linealidad de los parmetros del brazo robtico, consideramos el modelo


matemtico que esta expresado como un regresor lineal de la siguiente forma:

y(k) = (k)T
Donde

y(k) es un vector de mediciones (entradas y salidas) del sistema, (k)

es la matriz de regresin compuesta por observaciones de funciones conocidas


y el vector de parmetros desconocidos esta expresado por

el modelo que se

presenta a continuacin el algoritmo de mnimos cuadrados para el caso vectorial:

(k) = (k 1)+P

(k-1)(k)[I

+ (k 1) P (k 1)(k)] e(k)

P (k) = P (k 1) P (k 1)(k)[I + (k) P (k 1)(k)] (k)T P (k 1)


T

e(k) = y(k) (k) (K 1)


Donde
tiva,

e(k)

P (k)

es la matriz de covarianza, la cual es una matriz denida posi-

es el error de prediccin,

(k)

es el vector de parmetros estimados;

es el vector de parmetros reales.


El algoritmo de mnimos cuadrados para el caso escalar tiene la siguiente
forma:

(k) = (k 1) +

P (k 1)(k)e(k)
1 + (k 1)T P (k 1)(k)

P (k) = P (k 1) +

P (k 1)(k)(k) P (k 1)
1 + (k 1)T P (k 1)(k)

e(k) = y(k) 1 + (k) (k 1)


El algoritmo de mnimos cuadrados puede identicar los parmetros de cualquier modelo matemtico lineal, no lineal, dinmico, esttico, continuo o discreto, la estructura matemtica del modelo debe cumplir con la condicin de
linealidad en los parmetros, es decir que se pueda expresado como un regresor
lineal manteniendo la estructura de una matriz de observaciones o mediciones
y un vector de parmetros.
El modelo dinmico del brazo robtico en conguracin cartesiana esta formado por la matriz de centros de masas, gravitacional y fenmeno de friccin:


1
1
2 = 0
3
0

0
2
0

0
0
d1
4
0 d02 + 0
3
d03
0

0
5
0


0
d1
7
0 d2 + 0
6
d3
0
43

0
8
0


0
d1
10
0 d2 + 0
9
d3
0

Donde:

1 = m1 + m2 + m3
2 = m1 + m2
3 = m3
4 = b1
5 = b2
6 = b3
7 = f c1
8 = f c2
9 = f c3
10 = g(m1 + m2 + m3)
El modelo de regresin para el robot tiene la siguiente estructura:


1
11
2 = 21
3
31

12
22
32

13
23
33

14
24
34

15
25
35

16
26
36

17
27
37

18
28
38

19
29
39

1
2

3

4

110
5

210
6

310
7

8

9
10

Donde los componentes del vector de regresin estn dados por:

44

11= d01
12 = 0
13 = 0
14 = d1
15 = 0
16 = 0
17 = d1
18 = 0
19 = 0
110 = 1

21 = 0
2 = d01
23 = 0
24 = 0
25 = d2
26 = 0
27 = 0
28 = d2
29 = 0
210 = 0

31 = 0
32 = 0
33 = d03
34 = 0
35 = 0
36 = d3
37 = 0
38 = 0
39 = d3
310 = 0

En el modelo dinmico del brazo no se ha considera la friccin esttica,


que particularmente es muy pequea para los servomotores. Se nota que dicho

modelo dinmico no tiene el fenmeno de fuerzas centrpetas , esto se debe a


que en esta conguracin solo tiene articulaciones lineales o prismticas.

5.3. Pruebas
5.3.1. Prueba de procesamiento de imgenes MatLab
En este espacio se mostraran concretamente los resultados del proceso de
identicacin del objeto. El procesamiento de imgenes requiere de un sistema
de alta capacidad computacional, para el desarrollo del prototipo se trabajar
con MatLab, lo cual nos brinda la facilidad para la realizacin de los algoritmos,
entendimiento de los procesos y escalabilidad de las funciones. La identicacin
de objetos se basa en las caractersticas de color, por tanto es relevante el modelo
de color a usar en el proceso, MatLab permite realizar la captura desde un
dispositivo de visin en tres tipos de modelos de color distintos, a estos modelos
se les conoce con el nombre de modelos nativos de adquisicin, y la razn por
la que se tienen en cuenta es porque por medio de estos se minimiza la carga
computacional del sistema de procesamiento.
El objeto binario obtenido con el procesamiento de imgenes, es quiz la
piedra angular del desarrollo del algoritmo, pues al ser este un elemento de
pendiente del objeto dentro de la imagen, se le pueden extraer caractersticas
entre ellas, la posicin relativa del objeto en la cmara. Como se observa en la
gura 9, se puede usar dicha informacin para realizar cualquier accin deseada,
para el caso, esta seal es la que se encarga de cerrar el lazo de control y permite
realizar la correccin de la posicin del sistema y ubicar el objeto deseado.
Al completar todo el proceso la informacin que sale del sistema de procesamiento de imgenes es entregada al sistema de control por medio de una tarjeta

8 Fuerza

centrpeta es toda fuerza o componente de fuerza dirigida hacia el centro de cur-

vatura de la trayectoria de una partcula. As, en el caso del movimiento circular uniforme,
la fuerza centrpeta est dirigida hacia el centro de la trayectoria circular y es necesaria para
producir el cambio de direccin de la velocidad de la partcula.

45

de adquisicin de datos lo cual se utilizara el Arduino, estas salidas son conectadas al dispositivo que se encargar de calcular las seales de control para los
servo-motores del elemento mecnico.

5.3.2. Pruebas del sistema fsico


Como se describi durante el proyecto del captulo del sistema fsico, la
idea principal del sistema es que permita la rotacin del dispositivo de visin,
por tanto debe ejecutar cuatro tipos de movimientos, el primero en sentido del

Z0 (o rotacin axial), y los 3


Z3 permiten el movimiento de

Z1 ,

ngulo

movimientos restantes de los ngulos

Z2

Inclinacin y elevacin. Con la unin de

dichos movimientos se le da la capacidad al sistema mecnico de moverse con


cuatro grados de libertad, lo cual permite realizar un seguimiento del objeto.
Los Servo-motores que se encargan de la rotacin del sistema de visin debern
ser controlados para permitir que el sistema siga los patrones especicados.
Como sabemos los servomotores se controlan por modulacin de ancho de
pulso (PWM), el cual consiste en generar una onda cuadrada en la que se vara
el tiempo del pulso para lograr el movimiento del servo segn se desee, pero
manteniendo el mismo periodo, se observ que era necesario este proceso de
acondicionamiento de los datos, para reducir algunos errores de posicin de los
servomotores. El primer paso, fue caracterizar los servomotores debido a errores
de posicin angular y al rango de operacin que presentaban. Con la ayuda del
sistema de visin, se logr observar los errores en los servomotores, por tanto se
decidi tratar de mejorarlos en base al acondicionamiento de los datos. La prueba
con el sistema de visin consisti en montar un GUI en MatLab (Interfaz grca
del usuario) como se muestra en la gura sobre cada servo, para ir observando su
posicin real despus de enviarle una posicin angular deseada, de esta manera
apreciamos que los servos no son totalmente lineales y no tienen un rango total
de operacin de 0 a 180.

46

Figura 30: GUI para el control de servo motores.

5.4. Conclusiones
En el procesamiento de imgenes se evidencia la importancia que puede
desempear este en la instrumentacin de sistemas fsicos, concluyendo as que
el procesamiento de imgenes se puede considerar como un es el conjunto de
tcnicas que se aplican a las imgenes digitales con el objetivo de facilitar la
bsqueda de informacin y obteniendo una ventaja de su fcil implementacin.
La teora de control es un campo de la ingeniera, pues por medio de este
se puede lograr que los sistemas funcionen de manera predecible y deseable del
comportamiento de sistemas dinmicos.
Al aplicar la calibracin de la cmara en el proyecto se consiguen estimar
los parmetros intrnsecos y extrnsecos de la misma los cuales son necesarios
para realizar la reconstruccin 3D del entorno y situar la cmara en el mismo.
Existen diferentes tcnicas para la obtencin de los parmetros del modelo lineal
de la cmara. Las tcnicas basadas en el conocimiento del escenario tienen un
proceso de calibracin ms elaborado ya que es necesario confeccionar escenarios con medidas ms o menos exactas de los puntos de inters para realizar la
calibracin. La exactitud de estas medidas har que la estimacin de los parmetros de la cmara sea ms o menos ajustada. Por otro lado est el mtodo de
Zhang que permite realizar la calibracin de la cmara con un desconocimiento
total de la situacin de los puntos de inters en escenario. Sin embargo, con

47

este mtodo es necesario tomar un mayor nmero de imgenes del mismo y la


estimacin de los parmetros de la cmara es ms elaborada. La exactitud de
los resultados con este mtodo es menor.
El uso de las matrices Denavit-Hanterberg proporciona una metodologa
estndar para escribir las ecuaciones cinemticas de un manipulador. Esto es
til para los manipuladores ya que se utiliza una matriz para representar la
posicin y orientacin de un solo cuerpo con respecto a otro.
En general, el sistema de seguimiento que se implemento permite enlazar el
conocimiento asociado a diversas reas para lograr el desarrollo del prototipo
de un sistema de seguimiento de objetos, basado en procesamiento de imgenes
aplicado como herramienta para la toma de imgenes de elementos.

Figura 31: Prueba de adquisicin de datos

48

Figura 32: Prueba calibracin de servo motores

Figura 33: Sistema de implementacion

49

Figura 34: Interfaz Pc, Arduino y brazo robtico

Figura 35: Seguimiento y adquisicin de datos

50

Figura 36: Reconocimiento y seguimiento del objeto

Figura 37: Objeto en seguimiento en MatLab

51

5.5. Trabajos futuros y aplicaciones


A lo largo de este documento se ha tratado de manera sencilla y especica
los tpicos necesarios para la implementacion del seguimiento de objetos con un
brazo robtico, este proyecto ha estado enfocado a la parte de implementacion
de metodologas e investigacin en el campo de servo control visual, cinemtica y dinmica de robots manipuladores, esto con el n de tener una nueva
herramienta de desarrollo en aplicaciones en industrias emergentes.
Una de los sectores muy interesantes para incursionar es el campo de salud donde el servo control visual tomara un papel importante en los robots de
asistencia, estos pueden ayudar a las personas con discapacidad y las personas
mayores en la vida cotidiana adecuando cada uno de los parmetros existentes
para tareas especicas, esto con el n de mejorar la calidad de vida de ellos en
tareas rutinarias como comer, bsqueda de objetos en un cuarto, etc. Otra de
las aplicaciones seria la industria automotriz donde el ensamble de piezas en automviles lo realizan robots manipuladores, los cuales con el control adecuado e
implementacion de visin podra mejorar de una manera notable el rendimientos
de estos.
Existen muchos tipos mas de aplicaciones donde el servo control visual y los
brazos manipuladores jugaran un papel importante en mejorar el rendimiento
y calidad de un sin numero de tareas, la investigacin actual en el control de
robots se orienta fundamentalmente a la incorporacin de informacin sensorial
externa que, conjuntamente con la utilizacin de algoritmos de control, permiten
la realizacin de tareas en medios parcialmente estructurados. Esto posibilita
ampliar notablemente el campo de aplicacin de los sistemas robticos e incorporarlos a ambientes de trabajo naturales o cotidiano, donde la visin nos
provee una informacin bastante completa del medio de trabajo. El servo control
visual de sistemas robticos ha despertado mucho inters en estos ltimos aos
debido a la reduccin de costos de las cmaras de visin y de todo el sistema de
procesamiento asociado.

52

Referencias
[1]

Anup Kale, Zenon Chaczko, Imre Rudas. Parallel robot vision using genetic algorithm and object centroid. University of technology Sydney. 15
Broadway.

[2]

Kragic, D. Christensen, H. I. (2002) Survey on Visual Servoing for manipulation, Centre for Autonomus System, Numerical Analysis and Computer
Science. Citeseerx.

[3]

Woods R. Gonzlez R. and Eddis S. Digital image processing using MatLab.


New Jersey, second edition, 2003.

[4]

Pitas , I. , and A. N. Venetsanopoulos . 1992 . Order statistics in digital


image processing. Proceedings of the IEEE 80 : 1893  1921

[5]

Martnez A. Gloria M., Jquez O. Sonia A., Rivera M. Jos y Sandoval R.


Rafael. Diseo propio y Construccin de un Brazo Robtico de 5 GDL

[6]

Csar Rolando Batz Saquimux, Diseo y construccin de un brazo robtico,


Universidad de San Carlos de Guatemala, Facultad de ingenieras, escuela
de ingenieras en ciencia y sistema.

[7]

R. Kelly y V. Sanchez. Control de movimiento de robots manipuladores.


Prentice-Hall, Pearson. 2003

[8]

Mark W. Spong and Seth Hutchinson, M. Vidyasagar. Robot modeling


and control Jhon Wiley and Sons, Inc. 2006

[9]

German A. Holguin. Mauricio Holguin. Scientia et Technica Ao XVI, No


44, Abril de 2010. Universidad Tecnolgica de Pereira. ISSN 0122-1701

[10] Rodrigo A. Franco Luna.Diseo de un prototipo de un sistema de seguimiento de objetos identicados por medio del procesamiento digital de imgenes. Tesis de grado Ingenieria electronica. 2012
[11] KATZ , Victor J. A History of Mathematics: An Introduction , 2nd. Ed.,
pp. 682 686, Adisson Wessley Educational Publishers, Inc., USA, 1998
[12] G. Bastin, G. Campion, B. D'Andrea-Novel,  Structural properties and
classication of kinematic and dynamic models of wheeled mobile robots,
IEEE Transactions on Robotics and Automation, vol. 12, pp. 4762, 1996.
[13] F. Caccavale, P. Chiacchio,  Identication of dynamic parameters and feedforward control for a conventional industrial manipulator, Control Engineering Practice, vol. 2, pp, 1994
[14] G.F. Franklin, J.D. Powell, A. Emami-Naeini, Feedback Control of Dynamic Systems, 5th ed., Prentice-Hall, Lebanon, IN, 2005.

53

[15] O. Faugeras, Q.-T. Luong, and T. Papadopoulo. The Geometry of Multiple


Images: The Laws That Govern the Formation of Multiple Images of a Scene
and Some of Their Applications. The MIT Press, Cambridge MA, London,
2001.
[16] A.G. Bors and I. Pitas. Prediction and tracking of moving objects in image
sequences. IEEE Trans. Image Processing, 9(8):14411445, 2000.
[17] Rodrigo A. Franco Luna. Calibracin de cmara: Mtodo de Tsai y Mtodo de Zhang. Universidad Tecnolgica de pereira. Maestra de ingeniera
elctrica, linea automatica.
[18] Z. Zhang,  A exible new technique for camera calibration , IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):13301334,
2000.
[19] Karl J. Astrom ando Bjorn Wittenmark. computer controlled systems:
theory and desing. Third edition.Prentice hall Inc. 1997.

54

Vous aimerez peut-être aussi