Você está na página 1de 8

Replicacin del movimiento del brazo humano

sobre un brazo robot PA-10




Santiago T. Puente Mndez
Pablo Gil Vzquez
Lucas Martn Poggi
Grupo de Automtica, Robtica y Visin Artificial.
Departamento de Fsica, Ingeniera de Sistemas y Teora de la Seal,
Universidad de Alicante, Espaa
email: Santiago.Puente@ua.es, pgil@dfists.ua.es, rugbier@hotmail.com


Resumen

La idea bsica del artculo es la de explicar el
problema derivado de la interaccin entre el humano
y la mquina. Los movimientos son capturados por
una webcam en tiempo real. La captura del
movimiento se realiza mediante una interfaz de
usuario. Una vez reconocido el brazo, se procede a
la captura de los movimientos, que son interpretados
por un controlador y enviados a un brazo robot
Mitsubishi PA10.

Palabras Clave: Brazo robot, visin artificial,
captura de movimiento.



1 INTRODUCCIN

El control de sistemas ha desempeado un papel vital
en el avance de la ingeniera a principios del siglo
XX. En la actualidad se ha convertido en una parte
fundamental del proceso industrial y de fabricacin.
La flexibilidad y capacidad de maniobrabilidad de
los sistemas son dos de los objetivos a conseguir en
su diseo. Sin embargo, no siempre es posible
potenciar estas caractersticas, lo cual implica una
fuerte implicacin de usuario en el sistema.

La interaccin entre humano y computadora es un
campo de investigacin que est en continua
evolucin. El desarrollo a lo largo los aos de los
sistemas de control ha permitido que la interaccin
Humano-Robot haya evolucionado hacia lo que se
conoce como tele-operacin. En los comienzos, el
control se realizaba casi de manera manual y con una
fuerte implicacin de la parte humana. No obstante,
en la actualidad, la tecnologa permite una
interaccin ms natural basndose en el
reconocimiento de los gestos.

El uso de gestos manuales ofrece una alternativa a los
interfaces entre humano y mquina tradicionales,
permitiendo que la comunicacin tenga lugar de un
modo mucho ms intuitivo. Existen diversas maneras
de obtener los gestos, como pueden los trajes de
captacin de movimientos, rplicas de brazos,
sistemas de visin, etc. En este artculo se hablar del
sistema de visin artificial para poder obtener los
gestos. Este sistema ofrece como ventajas la facilidad
y naturalidad a la hora de interactuar con el sistema
de control. A pesar de esto, un sistema de visin
artificial posee cierta falta de precisin respecto a
otros sistemas de captura.

Para la implementacin de una interfaz gestual,
necesitaremos hardware como sensores capaces de
captar la informacin relativa a la realizacin de los
gestos, y el desarrollo de un sistema software: todo lo
relativo a tratamiento de la informacin captada y
diseo de aplicaciones. Dado el carcter visual de los
gestos que queremos captar, es indispensable contar
con un sistema de captura de imgenes.

En este artculo se explica el desarrollo de un sistema
de control mediante visin artificial que captura los
gestos realizados por un brazo humano, los procesa y
los enva al sistema de control de un brazo robot
Mitsubishi PA-10.

El principal fin de este proyecto es el de contribuir al
desarrollo de un interfaz que, partiendo de capturas
de vdeo con una cmara web, identifique los
distintos gestos de un brazo permitiendo as el
control de un brazo robot.

Para ello se plantean distintas lneas de accin, cuya
integracin dar como resultado un sistema de
deteccin y control en tiempo real:
- Seleccin, tratamiento previo y
normalizacin de las caractersticas que
describirn el brazo, con el fin de diferenciar
las distintas posiciones.
- Deteccin de patrones de movimiento
presentes en los gestos. Valindose de las
distintas tcnicas de correspondencia entre
curvas se discriminar entre los patrones de
movimiento.
- Finalmente, una vez extradas las
caractersticas del movimiento, se pasan los
datos por un sistema de control, el cual
enviar la orden al brazo robot.



2 DESCRIPCIN DEL SISTEMA

2.1 DESCRIPCIN DEL PROBLEMA

Como ya se ha descrito anteriormente, el proyecto se
basa en la replicacin del movimiento del brazo
humano en un robot Mitsubishi PA-10 a travs de
una webcam.

El primer problema que se plantea a la hora de
abordar el problema es el reconocimiento visual del
brazo por parte del sistema de control. Una vez
reconocido el brazo humano en las imgenes que se
obtienen, el siguiente problema que se plantea es la
identificacin de los distintos gestos que se pueden
realizar con el brazo. Estos gestos involucran los
movimientos de las distintas articulaciones del brazo
dentro de un espacio en tres dimensiones, por tanto,
un nuevo objetivo que surge es el de la identificacin
de las distintas articulaciones y sus respectivos
movimientos dentro del espacio. En el proyecto se ha
optado por hacer uso de la librera OpenCV. OpenCV
(Open source Computer Vision library) es una
librera desarrollada por Intel, utilizada para abordar
problemas en el rea de la visin por computador.
Est especialmente diseada para tratamiento de
imgenes, captura y visualizacin de imgenes en
reas como interfaz hombre-mquina, robtica,
monitorizacin, biomtrica y seguridad.

Finalmente, una vez capturados los movimientos, se
procede a realizar el diseo de un sencillo
controlador que permita replicar los distintos
movimientos en el robot.

2.2 VISIN ARTIFICIAL

2.1.1 Captura de imgenes

El primero de los apartados a analizar dentro del
sistema es la captura de imgenes. Actualmente la
tecnologa ha proporcionado distintos tipos de
cmaras, como pueden ser las cmaras de rango, que
adems de obtener las imgenes, nos dan
informacin sobre la profundidad de los elementos
del entorno donde se toman capturas. En este
proyecto se ha optado por obtener las imgenes de
una webcam tradicional. La ventaja del uso de este
tipo de cmaras es la facilidad de uso de la aplicacin
en distintos medios, as como la tele-operacin a
travs de las redes de comunicacin. Sin embrago, la
dificultad derivada es la obtencin de las
caractersticas de profundidad, as como de la calidad
de las capturas.


Figura 1: Ejemplo de una captura con una webcam

Se tienen que tener en cuenta los factores de
iluminacin para cada una de las cmaras que se
pueden utilizar, as como el detalle de las capturas y
la distancia del individuo respecto al lente de la
cmara.


2.1.2 Identificacin del brazo

El siguiente paso es la identificacin del brazo dentro
de una captura. En este proceso existen diversos
mtodos de identificacin. Se puede optar por una
identificacin automtica de los brazos a partir de de
la deteccin del rostro de un individuo [1]. Otro
mtodo a utilizar es el reconocimiento del brazo
mediante la segmentacin del color de la piel, para
as discretizar el espacio de trabajo e identificar los
brazos [2]. La ventaja de aplicar estos mtodos es la
falta de intervencin por parte del usuario a la hora
de detectar la estructura del brazo. Sin embargo, este
tipo de procesamiento automtico suele poseer cierta
imprecisin en la deteccin, sobre todo si se trata de
varias secuencias de imgenes. Puesto que el objetivo
es replicar los movimientos en el brazo robot, un
fallo en la estimacin del brazo puede alterar las
caractersticas extradas que se envan al sistema de
control, alterando los resultados o, incluso, poniendo
en riesgo la integridad estructural y mecnica del
brazo robot. Adems, suele conllevar una carga
adicional de clculo computacional que podra ser
contraproducente en el procesamiento en tiempo real
de las imgenes.

La opcin elegida para este proyecto ha sido una
pequea interfaz en la que se definen un conjunto de
puntos que indicarn la estructura del brazo. Dichos
puntos sern definidos por el usuario. Esto tiene
como ventaja la precisin para cada modelo de brazo
utilizado, adems de la eliminacin de clculo
computacional extra en la aplicacin.


Figura 2: Reconocimiento del brazo

Como se puede observar en la figura, se definen 5
puntos fundamentales sobre la imagen. De estos 5
puntos, 3 representan las articulaciones de las cuales
se extraern los movimientos. Los 2 puntos restantes
representan los puntos medios de cada segmento
entre pares de articulaciones. Estos puntos medios
permitirn estimar con mayor precisin las
caractersticas de los gestos.

2.1.3 Flujo ptico

Una vez definido la estructura del brazo, necesitamos
mantener dicha estructura a lo largo de la secuencia
de imgenes. Es decir, necesitamos que la estructura
del brazo definida por el usuario sea capaz de
mantener una cierta coherencia con cada una de las
imgenes de la secuencia. Para poder estudiar la
evolucin temporal del brazo que es capturado por la
cmara se recurrir a las tcnicas basadas en
gradiente, ms concretamente al flujo optico.

Las tcnicas basadas en gradiente tratan de calcular
la velocidad a partir de las derivadas espacio
temporales de la intensidad de una imagen. Se basan
en suposiciones sobre la forma en que cambia la
intensidad de la imagen segn las coordenadas y con
respecto al tiempo. Tiene la ventaja de que genera un
campo vectorial muy denso (idealmente un vector
por pxel) que resulta muy til en algunas
aplicaciones.

El flujo ptico puede ser definido como el
movimiento aparente de los puntos de la imagen que
se produce cuando la cmara se mueve en relacin
con los objetos que se enfocan. Las aplicaciones del
clculo de velocidades son muy variadas. Ayudan en
la segmentacin de imgenes, reconociendo objetos
diferentes debido a sus distintas velocidades. As
mismo, es posible el seguimiento de objetos en
movimiento.

Suponiendo que la iluminacin es constante, un
punto de la imagen conserva su intensidad al
moverse. Extendiendo esta suposicin a todos los
puntos de la imagen, se deduce una ecuacin que
indique la componente, en direccin normal a los
contornos, de la velocidad.
Sea I(x,y,t) la intensidad del punto (x,y) de la imagen
en el instante de tiempo t. Sean u(x,y) y v(x,y) las
componentes en x e y del flujo ptico en ese punto.
Despus de un pequeo intervalo de tiempo dt, este
punto estar en (x+u dt, y+v dt), conservando su
intensidad. Por tanto

( ) ( ) t y x I t t t v y t u , , , , x I = + + + o o o (1)

Considerando que la intensidad vara suavemente en
casi toda la imagen:

( ) ( ) t y x I
t
I
t
y
I
y
x
I
x t y , , , , x I = + + +
o
o
o
o
o
o
o
o
o
(2)

Cancelando I(x,y,t), dividiendo por dt y tomando el
lmite cuando dt tiende a cero:

0 = + +
t
I
y
I
t
y
x
I
t
x
o
o
o
o
o
o
o
o
o
o
(3)

La ecuacin (3) no es ms que la expansin de:

0 =
t
I
o
o
(4)

Si aplicamos las siguientes equivalencias:

t
I
T
I
y
I
Y
I
x
I
X
I
t
y
v
t
x
u
o
o
o
o
o
o
o
o
o
o
= = = = = , , , ,
(5)

Obtenemos la ecuacin de contencin del flujo
ptico:

0 = + +
T
I v
Y
I u
X
I
(6)

Esta ecuacin es la base de las tcnicas diferenciales
del clculo del flujo ptico. Identifica una lnea,
perpendicular al gradiente de la intensidad del punto
dado, sobre la cual estar su velocidad.

Para el clculo del flujo ptico entre dos imgenes
para un cierto conjunto de puntos se utilizar el
algoritmo de Lucas & Kanade. Es un algoritmo
basado en mnimos cuadrados que consiste en
minimizar, en cada pequeo entorno de vecindad
de la imagen, la siguiente funcin:

( ) ( ) ( )

O e

+ V
x
T
y x I V y x I x W
2
2
, ,
(7)

donde W(x) es una funcin de ventana que da mayor
influencia a los valores en el centro de la vecindad
que a los de la periferia. La solucin de esta ecuacin
viene dada por:

b W A V A W A
T T 2 2
=
r
(8)

en la cual se tiene, en el caso de n puntos en el
entorno las siguientes matrices

| |
| |
| |
T
n T T
T
n
T
n
x I x I b
x W x W diag W
x I x I A
) ( ),..., (
) ( ),..., (
) ( ),..., (
1
1
1
=
=
V V =
(9)

quedando

| | A W A A W A v u V
T T 2
1
2
) , ( =

r
(10)

Esta ecuacin se puede resolver cuando A W A
T 2
no
sea singular siendo

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

=


x I x W x I x I x W
x I x I x W x I x W
A W A
y x y
y x x T
2 2 2
2 2 2
2
(11)

Este algoritmo aporta respecto al de Horn la
capacidad de discernir entre los puntos de velocidad
bidimensional y aquellos que slo ofrecen velocidad
normal al contorno. Para ello, se impone un umbral a
los valores de A W A
T 2
, que dependen de las
magnitudes de los gradientes espaciales y de sus
orientaciones, y son una buena indicacin de la
calidad de la medida de velocidad de cada punto.

La librera OpenCV proporciona la implementacin
del algoritmo de Lucas y Kanade el seguimiento por
flujo ptico en forma de pirmide. El seguimiento es
realizado slo sobre un conjunto determinado de
puntos del video, los cuales tienen la caracterstica de
ser singulares en la imagen.


Figura 3: Seguimiento del brazo en una secuencia






2.3 OBTENCIN DE LAS
CARACTERSTICAS

2.3.1 ngulos

Con el seguimiento del brazo solucionado, se
proceden a obtener las caractersticas de la imagen.
Puesto que el objetivo del proyecto es replicar los
movimientos en un brazo robot, hemos de encontrar
una relacin entre el brazo humano y el robot. Esta
relacin son los ngulos de las articulaciones. El
siguiente paso es realizar una relacin entre las
articulaciones del brazo con las del robot.



Figura 4: Sistema de coordenadas del brazo humano

En el proyecto nos centraremos en los planos Z e Y
de la articulacin del hombro, as como en los planos
Z e Y de la articulacin del codo.


Figura 5: Estructura del brazo en el espacio

Los ngulos que se pueden obtener a partir de un
espacio de dos dimensiones son los que se forman
con el plano Y de cada una de las articulaciones.
Estos ngulos resultan bastante intuitivos a la hora de
calcularlos.



Figura 6: ngulos sobre el plano Y de ambas
articulaciones

Sin embargo, a la hora de calcular los ngulos del
plano Z, no resulta tan intuitivo como con el plano Y.
Este problema es consecuencia de la incapacidad que
tiene la webcam de proporcionar informacin sobre
la profundidad. Es por tanto que deben desarrollarse
ciertos mecanismos para poder detectar esta situacin
y actuar en consecuencia.


Figura 7: ngulos sobre el plano Z de ambas
articulaciones

Para poder determinar el ngulo que forman las
estructuras del brazo en dos movimientos en tiempos
distintos, haremos uso de la proyeccin de la
estructura del segundo movimiento sobre el primero.


Figura 8: Proyeccin del segundo movimiento sobre
el primero

l
l
ar
'
= cos o
(12)

2.3.2 Profundidad

Una vez determinado el ngulo, surge un problema y
es el de saber el sentido del movimiento en el plano
Z. Esto se debe que el movimiento del brazo en el
plano Z hacia adelante y hacia atrs es muy similar,
llevando a confusin al algoritmo. Para poder
solucionarlo, se ha utilizado un enfoque similar al
que se aplica en el EyeToy de la PlayStation de Sony.
Bsicamente este planteamiento se centra en el
extremo del brazo humano, la mueca, y realiza una
segmentacin del color de la piel. De esta manera,
podemos obtener el nmero de pixeles de los que
consta la mueca. Si el movimiento del brazo se
realiza hacia adelante, el nmero de pixeles
aumentar ya que aumenta la superficie de mueca
respecto al punto de captura de la cmara. Si el
movimiento se realiza hacia atrs, el nmero de
pixeles se reduce, alejndose la mueca del lente de
la cmara.


Figura 9: Movimiento del brazo hacia atrs


Figura 10: Movimiento del brazo hacia adelante

No obstante, si hacemos caso solamente de este
mecanismo, no podremos saber que articulaciones se
estn moviendo sobre el plano Z, ya que solo
estamos atendiendo al extremo del brazo. Para
solucionarlo, hacemos uso del los puntos medios de
cada segmento. En caso de que uno de los segmentos
se mueva sobre el plano Z, el punto medio tiende a
acercarse a uno de los extremos del segmento debido
a las proyecciones pticas. Con estos datos podremos
determinar que articulaciones se estn moviendo.










3 CONTROLADOR

3.1 ROBOT MITSUBISHI PA-10

En el proyecto haremos uso del brazo robot
Mitsubishi PA-10. Este brazo posee 7 grados de
libertad asignados a 7 articulaciones rotacionales
repartidas de la siguiente manera: dos para el
hombro, dos para el codo y tres para la mueca.

Es posible controlar el PA-10 por velocidades o por
posiciones. En el primer caso, se usa un vector que
contiene la velocidad a la que cada una de las
articulaciones debe girar. En el segundo caso, el
vector contiene el Angulo que debe posicionarse cada
una de las articulaciones.


Figura 11: Mitsubishi PA10

La base del proyecto es la de replicar los
movimientos del brazo en el robot. Sin embrago, los
movimientos del brazo humano no suelen ser
constantes en velocidad, por lo que para una mayor
precisin en el movimiento es recomendable aplicar
el control por velocidades. ste permite modificar la
velocidad a la que giran los motores de cada una de
las articulaciones en un breve intervalo de tiempo,
razn por la cual los efectos de aceleracin y
desaceleracin son visibles.

3.2 CONTROLADOR

Entre la capa de visin artificial y el sistema de
control del robot se encuentra el controlador del
sistema, que se encargar de obtener la posicin del
brazo humano, compararla con la posicin actual del
robot y obtener la cantidad de movimiento que debe
enviarse al brazo robot.
Haremos uso de un controlador proporcional. Es un
tipo de controlador basado en la retroalimentacin
que determina la reaccin del sistema respecto del
error actual.


Figura 12: Sistema de control


La parte proporcional consiste en el producto entre el
error obtenido y una constante proporcional.

( ) t e K P
P
SAL
=
(13)

La nica limitacin que existe en este tipo de
controladores a la hora de asignar un valor a la
contante es que la respuesta que proporciona el
controlador no debe tener una sobre oscilacin
superior al 30%.

3.3 ASIGNACION DE ARTICULACIONES

El Mitsubishi PA-10 posee 7 articulaciones, nmero
suficiente para poder recrear la mayora de los
movimientos de un brazo humano.


Figura 13: Articulaciones del Mitsubishi PA10

El siguiente paso es la asignacin de los movimientos
del brazo humano a los del brazo robot. Para esto,
asignaremos a cada articulacin del brazo humano
con su homloga en el brazo robot. La relacin entre
articulacin se refleja de la siguiente manera:
- El movimiento del hombro en el eje Y se
replica en la articulacin S1 del robot.
- El movimiento del hombro en el eje Z se
replica en la articulacin S2 del robot.
- El movimiento del codo en el eje Y se
replica en la articulacin E1 del robot.
- El movimiento del codo en el eje Z se
replica en la articulacin S3 del robot.

A pesar de que el robot tiene ms articulaciones,
stas no se utilizarn en el desarrollo del proyecto
debido principalmente a la complicacin de la
captura del movimiento (p.e: los movimientos de la
mueca).

4 RESULTADOS

A la fecha en la que se ha realizado este artculo, el
sistema no ha podido ser testado en el robot. Sin
embargo, a lo largo del desarrollo del sistema, si se
ha podido testear el apartado de captura de
movimiento y posterior anlisis de las caractersticas.
Se ha podido apreciar que se obtienen caractersticas
con un grado elevado de similitud al movimiento
real.


Figura 14: Evolucin de la longitud de los segmentos
correspondientes al hombro

En cuanto a los movimientos en profundidad, se ha
conseguido un margen de error en el movimiento
entre un 30% y un 40% segn la secuencia de
imgenes que se utilice.


Figura 15: Evolucin de la longitud de los segmentos
correspondientes al codo







Figura 16: Evolucin de la cantidad de pixeles que
representan la mueca

En la figura 14 se puede apreciar como varan las
longitudes del hombro y sus dos segmentos a lo
largo de un movimiento del brazo totalmente
extendido hacia adelante y hacia atrs. La figura 16
muestra la evolucin de la cantidad de pixeles que
posee la mano a lo largo del mismo movimiento del
brazo. Se puede apreciar un aumento de la cantidad
conforme la mano se acerca al lente de la cmara, y
una disminucin conforme se aleja de la misma.
Haciendo uso de los datos proporcionados por las dos
graficas, podemos determinar el sentido del
movimiento, adems de que articulacin en particular
se est utilizando. La figura 15 proporciona los datos
de los segmentos del codo para el mismo
movimiento.

5 CONCLUSIONES

Este artculo explica un sistema de interaccin
usuario-robot basado en la deteccin de gestos a
travs de un sistema de captura de imgenes. Se
muestra el desarrollo de un sistema en tiempo real
que captura el movimiento del brazo y lo enva al
sistema de control del brazo robot. Esta solucin
permite la replicacin de movimiento son la
necesidad de ningn tipo de hardware de captura. Sin
embargo, a pesar de la facilidad y la sencillez del
hardware de captura, es necesario disponer de un
entorno bien iluminado y claro para poder disponer
de una captura fiable y estable del movimiento.

Las futuras ampliaciones que pueden realizarse sobre
este trabajo son:
- Control de dos brazos robot. El sistema
permite la replicacin de movimientos sobre
dos brazos robot.
- Integrar un controlador PID. Se puede
sustituir el controlador P por uno ms
preciso como es el control PID.
- Capturar el movimiento de las articulaciones
de la mueca.
- Capturar el movimiento de apertura de la
mano para poder controlar una garra que se
puede colocar en el extremo del brazo robot.


Referencias

[1] I. R. Khan, H. Miyamoto, T. Morie, M.
Shimazu, and Y. Kuriya A Prototype System
for Secure Human-Machine Interaction Based
on Face and Gesture Recognition. Kyushu
Institute of Technology, Kitakyushu, Japan

[2] Joachim Schmidt
AUTOMATIC INITIALIZATION FOR BODY
TRACKING. Bielefeld University.

[3] Navneet Dalal and Bill Triggs
Histograms of Oriented Gradients for Human
Detection

[4] Zhilan Hu, Maolin Chen, Rufeng Chu,
Hwasup Lim
HUMAN ARM ESTIMATION USING
CONVEX FEATURES IN DEPTH IMAGES

[5] David Moore. A real-world system for human
motion detection and tracking

[6] Matheen Siddiqui and Gerard Medioni.
Efficient Upper Body Pose Estimation from a
Single Image or a Sequence

[7] Samuele Salti, Oliver Schreer, Luigi Di Stefano.
Real-time 3D Arm Pose Estimation from
Monocular Video for Enhanced HCI.

[8] Matheen Siddiqui, and Gerard Medioni.
Robust Real-Time Upper Body Limb Detection
and Tracking

[9] Tom Forrer
Arm and body gesture recognition

[10] Benjamin Sapp, Alexander Toshev, and Ben
Taskar. Cascaded Models for Articulated Pose
Estimation

[11] Matheen Siddiqui
HUMAN POSE ESTIMATION FROM A
SINGLE VIEW POINT

Você também pode gostar