You are on page 1of 6

Memorias del XVIII Congreso Mexicano de Robótica 2016

Universidad Autónoma de Sinaloa y Asociación Mexicana de Robótica e Industria AC


XVIII COMRob 2016, ISBN: En trámite
9 – 11 de Noviembre, 2016, Mazatlán, Sinaloa, México

XVIIICOMRob2016/ID–000

MANIPULACIÓN DEL NOVINT FALCON CON KINECT

Jorge Gudiño Lau Yvonne Gutiérrez Fernández


Facultad de Ingeniería Electromecánica Facultad de Ingeniería Electromecánica
Universidad de Colima Universidad de Colima
Manzanillo, Colima, 28868 Manzanillo, Colima, 28868
Email: jglau@ucol.com Email: yvogtz@gmail.com

Edgar Fabián Osorio Alcalá Miguel A. Durán Fonseca


Facultad de Ingeniería Electromecánica Facultad de Ingeniería Electromecánica
Universidad de Colima Universidad de Colima
Manzanillo, Colima, 28868 Manzanillo, Colima, 28868
Email: eddmotto@gmail.com Email: mduran@ucol.com

RESUMEN robots. Actualmente existen varios controles para manipular


Este trabajo presenta la aplicación de un sistema de dispositivos hápticos (Novint Falcon), en este trabajo se
visión a través de una cámara para videojuegos llamada controla el dispositivo por medio de la visón empleando el
Project Natal o Kinect de Microsoft, con el objetivo de Kinect.
manipular un robot paralelo tipo delta Novint Falcon. El En años recientes, las investigaciones abordan los
dispositivo de imagen Kinect detecta el punto de problemas más comunes, como es la interacción entre el ser
coordenadas de desplazamiento de la mano derecha de una humano y los robots manipuladores durante la navegación
persona, estos movimientos son transformados en conjunta; el seguimiento de una persona por parte de un
coordenadas cartesianas con la ayuda de librerías y robot, así como la posibilidad de intercambiar sus roles de
programación en Simulink de Matlab. Estas coordenadas son guía-seguidor. Además, los dispositivos hápticos como
enviadas al dispositivo háptico Novint para ser manipuladas Phantom Omni y Novint Falcon, se están empleando
por un controlador proporcional derivativo (PD). En los actualmente para aplicaciones tanto médicas, rehabilitación,
resultados experimentales, se realiza la comparación de dos diagnóstico, enseñanza, entre otras.
controladores, un controlador PD contra un PD con
compensador de gravedad (PD+G), lo que permite ver el
desempeño de los dos controladoras. VISIÓN ARTIFICIAL
La visión es la actividad dominante del cerebro
INTRODUCCIÓN humano. La información visual constituye la mayoría de los
La visión artificial es de vital importancia cuando se 109 bits por segundo de información que se estima que recibe
trata de detectar objetos en entornos no estructurados. El uso del sistema sensorial. La visión artificial tiene el ambicioso
de esa información puede tratar secuencias de videos para la objetivo de conseguir emular la compleja capacidad humana
detección de objetos o individuos en escenas móviles, hasta para reconocer e interpretar cualquier escena que sea su
la detección para el seguimiento, conocido como tracking, o naturaleza.
bien, la detección de objetos para la manipulación mediante

Copyright © 2016 by AMRob


Las aplicaciones potenciales de la visión artificial - Microsoft Visual Studio 2010 Express Edition
abarcan un amplio rango de campos, que aumentará con la (VC++)
mejora en el rendimiento de los sistemas construidos. Entre - Microsoft Windows SDK for Windows 7 with
las aplicaciones actuales podemos destacar: .NET Framework 4.
- Sistemas de procesamiento digital de imágenes, - Kinect for Windows SDK v1.8
para restauración y mejora. - Microsoft Visual Studio 2010 Service Pack 1
- Reconocimiento óptico de caracteres (OCR- Optical - Microsoft Visual C++ 2010 Service Pack 1
Character Recognition). Compiler Update for the Windows SDK 7.1
- Procesamiento automatizado de huellas dactilares.
- Navegación de robots en entornos controlados.
- Procesamiento de imágenes aéreas o de satélite. Novint Falcon
- Sistemas de inspección de circuitos impresos. El Novint Falcon es un robot delta y además es un
- Calibrado y clasificación de la producción en tipo de dispositivo háptico que permite la interacción con un
función del color, textura y tamaño (por ejemplo, en ambiente virtual generado por una computadora. Este
producciones agrícolas). dispositivo háptico tiene una velocidad de muestreo de
- Máquinas de visión industriales, para ensamblaje e 0.5Khz, esto permite al usuario tener mayor estímulo
inspección de la producción. [1] kinestésico en el momento de interactuar con el mundo
virtual[3]. Debido a las característica mencionadas, este
DESCRIPCIÓN DEL EQUIPO EXPERIMENTAL dispositivo también es usado para videojuegos [4] [5]. El
Novint Falcon es un dispositivo háptico que solo tiene 3
Microsoft Kinect
grados de libertad, permiten traslación en los tres ejes de
Kinect es un dispositivo que permite realizar un
coordenadas, pero no tiene rotaciones. Está diseñado
seguimiento al cuerpo humano y reconoce gestos,
mecánicamente, de tal manera que su espacio de trabajo es el
movimientos y comandos de voz a través de la interface
suficiente para navegar en un ambiente virtual, como se
Natural del Usuario. Kinect fue desarrollado por la empresa
observa en la Figura 2.
Microsoft en la línea de investigación de nuevas tecnologías
de Xbox para una nueva consola de juegos. [2]
La mecatrónica ha determinado que varios sensores
de salida de video del Kinect tienen una velocidad de
fotogramas de aproximadamente 9 Hz a 30Hz dependiendo
de la resolución. El flujo de video RGB predeterminado
utiliza resolución VGA de 8 bits por componente de color
(640x480 pixeles) con un filtro de color Bayer, pero el
hardware es capaz de hasta 1280x1024. [2]
Para el trabajo experimental se utiliza el Kinect 1.0
por su mayor gama de compatibilidad con el SDK y con las
librerías de Matlab.
El Kinect cuenta con una cámara RGB, un sensor de FIGURA 2. DISPOSITIVO NOVINT FALCON. [6]
profundidad infrarrojo CMOS, un micrófono de múltiples
matrices, una luz LED, un acelerómetro de tres ejes, un El efector final de Novint Falcon corresponde a un
servomotor con movilidad en el eje vertical y en el espacial mango que el usuario puede sujetar con su mano, lo que le
con un procesador especializado Prime Sensor que capta el permite sentir textura, forma, peso, las dimensiones y la
entorno en tres dimensiones, tal como se muestra en la dinámica total y parcial de los objetos virtuales.
Figura 1. [2] Algunas de las especificaciones técnicas de este
dispositvo, como que cuenta con 3D Touch Workspace de 4”
SENSORES DE PROFUNDIDAD 3D
x 4” x 4”, la fuerza máxima es de 2 lb (aproximadamente 8.9
N), tiene una resolución de posición > 400 dpi, sus
CÁMARA RGB
dimensión es de 9” x 9” x 9”. [6]

Librería NID para Matlab


La librería NID que su acrónimo en inglés significa
Natural Interface Device es un conjunto de bloques
desarrollados con S-Function en código M de Matlab para la
simulación de estados discretos en Simulink. Esta librería
MICRÓFONOS INCLINACIÓN MOTORIZADA permite la interacción entre la interfaz de Simulink y la
FIGURA 1. HARDWARE KINECT.
interfaz natural del usuario (NUI) de Microsoft Kinect a
través del reconocimiento del cuerpo, sus movimientos y
Software Requerido: gestos. [2]

Copyright © 2016 by AMRob


DESARROLLO EXPERIMENTAL
El equipo experimental consiste en un Kinect, una
computadora y un dispositivo háptico Novint Falcon. El
primer paso consiste en configurar el Kinect desde las
librerías de Simulink de Matlab. Se tomaron las lecturas del
Kinect y se comprobaron las coordenadas que emite el
dispositivo de visión con las librerías propias del Kinect.
Es muy importante conocer el espacio de trabajo de
cada dispositivo tanto de visión Kinect como del robot delta,
ya que el Kinect puede leer distancias en metros y el Novint
Falcon recibe coordenadas en milímetros. Para ello se realiza FIGURA 4. MODELO DEL CONTROLADOR.
una matriz de transformación para limitar el espacio de
trabajo del Kinect y enviar al espacio de trabajo de Novint CONTROLADOR PD
Falcon para no dañarlo, por lo tanto, se definieron medidas Se utiliza un control PD (Acción de control
límites que pueda obtener el Kinect. proporcional mas derivativa), la cual genera una señal que es
En la Figura 3 se aprecia una función embebida de resultado de la combinación de la acción proporcional y la
Matlab, la cual define únicamente la obtención de acción derivativa conjuntamente.
coordenadas XYZ de la mano derecha, posteriormente, con Se realiza otro subsistema en el modelo principal
la finalidad de proteger el robot delta, se somete a una (Figura 4), llamado Controlador y Planta el cual recibe las
saturación en cada eje de coordenadas: -0.6m a 0.6m para X coordenadas deseadas, dadas por el Kinect y se obtiene las
y Y respectivamente y 0.8m a 1.8m para Z. Éste último se coordenadas reales en las que se desplaza el Novint.
determinó, para que el Kinect detecte una silueta humana a En las funciones de Matlab del controlador y planta,
partir de los 0.8m, lo que permite determinar el área de como se muestra en la Figura 5, se encuentra el controlador
trabajo de la personal. PD, ya que está descrito por la ec. (2).

τ = kp e + kd ė (2)

donde kp y kd son constantes o ganancias, e es el error y ė


es la derivada del error.

FIGURA 3. SUBSISTEMA KINECT.

Los límites del Novint se definen de -40mm a 40mm


para X y Y, -30mm a 30mm en Z. Estas medidas son
convertidas por medio de una función de Matlab, en donde
se manejó como interpolación lineal, como se muestra en la
ecuación (1):
𝑦1 − 𝑦0
𝑦 = 𝑦0 + (𝑥 − 𝑥0 ) (1)
𝑥1 − 𝑥0
FIGURA 5. SUBSISTEMA CONTROLADOR Y PLANTA.

Se sustituyen los valores correspondientes para cada


Por lo que, en la función de Matlab, las entradas son
eje de coordenadas y se sustituyen en la ecuación (1), para
la posición deseada en coordenadas cartesianas y la real, la
programar ésta en la función correspondiente a cada eje de
cual hace una retroalimentación, y las salidas son el error y
coordenadas.
la salida del controlador. Se definen las ganancias kp y kd y
La Figura 4, muestra el modelo final donde se aprecia
el subsistema del Kinect y el del Controlador así como la se obtiene el error, definido en la ecuación (3) donde xd es la
planta. posición deseada y x es la posición real, y la derivada del
error, descrito en la ecuación (4) donde exact , es el error de
la posición actual, exant , es el error en la posición anterior,
t act y t ant son el tiempo actual y el anterior respectivamente.

Copyright © 2016 by AMRob


𝑒 = 𝑥𝑑 − 𝑥 (3)
𝑒𝑥𝑎𝑐𝑡 − 𝑒𝑥𝑎𝑛𝑡
𝑒̇ = (4)
𝑡𝑎𝑐𝑡 − 𝑡𝑎𝑛𝑡

Para incluir el vector gravedad se obtiene el modelo


matemático del robot delta, así como la cinemática directa e
inversa del Novint Falcon, ya que es una técnica que permite
determinar el movimiento de una cadena de articulaciones
para lograr que un actuador final se ubique en una posición
deseada.

En este trabajo se utiliza el método geométrico para


obtener la cinemática directa e inversa, por lo que se incluye
en una nueva función de Matlab como se muestra en la
Figura 6. La ecuaciones (5, 6 y 7), describen los ángulos de
cada uno de los actuadores, donde hay que tener en cuenta
que en la función entran son las coordenadas en XYZ, las
longitudes de los eslabones son a y b y se obtiene el ángulo
que va a girar el actuador del robot. FIGURA 6. SUBSISTEMA CONTROLADOR Y PLANTA CON
COMPENSADOR DE GRAVEDAD.
𝑦
𝜃3 = arccos � � (5)
𝑏 donde:
1
𝑣𝑔 = 𝑔 𝑎 � 𝑚𝑎 + 𝑚𝑏 � 𝑐𝑜𝑠𝜃 (14)
𝜃1 = 2arctan (𝑑3 ) (6) 2

𝜃2 = arccos (𝐾) (7) En la cual, la gravedad se considera como g=9.8m/s2,


las masas son 600g en ma y 300g en mb y las distancia de
donde K está dada por las ecuaciones (8-12) : 0.25mm en a y b. Además, estas variables son definidas
como globales junto con el error anterior, ya que, si no
𝑥 2 + 𝑦 2 + 𝑧 2 − 𝑎2 − 𝑏 2 (8) definieran como variables iniciales, el robot se sale de
𝐾= control ya que no tiene un valor del error anterior cuando
2 𝑎 𝑏 𝑠𝑒𝑛(𝜃3 ) inicia.
y 𝑑3 está dado de la siguiente manera:
RESULTADOS EXPERIMENTALES
Para validar que el Kinect y el robot delta funcionan
𝑑0 = 𝑎 + (𝑏 𝑠𝑒𝑛(𝜃3 ) 𝑐𝑜𝑠(𝜃2 ) − 𝑠𝑒𝑛(𝜃1 )) (9) correctamente, se utilizan dos controladores un control PD y
un control PD+G. Se sintonizan las ganancias kp y kd para
𝑑1 = 𝑎 + (𝑏 𝑠𝑒𝑛(𝜃3 ) 𝑐𝑜𝑠(𝜃2 ) + 𝑠𝑒𝑛(𝜃1 )) (10) que el error de posición angular tienda a cero cuando el
tiempo tienda a infinito.
𝑑2 = 𝑥 + 𝑦 + 𝑧 − (𝑏 cos (𝜃3 )) (11)
En la Figura 7 se muestra el modelo corriendo, con la
persona que realiza la trayectoria con su mano derecha.
𝑑0 + �𝑑0 2 + 𝑑1 2 − 𝑑2 2
𝑑3 = (12)
𝑑1 + 𝑑2

En la Figura 6 se encuentra un bloque llamado


Inversa, en este se calcula la cinemática inversa del robot
delta (Novint), quedando como entrada las coordenadas
reales del dispositivo háptico y como salida ángulos de la
configuración mecánica del mismo.

Solamente se agrega a la ecuación del controlador el


compensador de gravedad.
FIGURA 7. MONITOREO DE COORDENADAS DESEADAS.
𝜏 = 𝑘𝑝 𝑒 + 𝑘𝑑 𝑒̇ + 𝒗𝒈
(13)

Copyright © 2016 by AMRob


Resultados sin compensador de gravedad cuales oscilan en promedio entre 15 y -15mm de error en las
Los resultados mostrados en la Figura 8 corresponden coordenadas X y Y, excepto en Z que llegó a tener un error
al controlador sin compensador de gravedad para el eje de de 25mm.
coordenadas en X con respecto al tiempo, donde se observa
que el robot tuvo un retraso de tiempo en la trayectoria dada
por el usuario. Cabe mencionar que, el usuario debía
moverse despacio para que el robot pueda alcanzar a
seguirlo.

FIGURA 11. ERROR EN X (AZUL). ERROR EN Y (VERDE). ERROR


EN Z (ROJO).

Resultados con compensador de gravedad


Los resultados experimentales son mostrados en las
FIGURA 8. RESULTADO DE X (VERDE) VS. X DESEADA (AZUL). Figuras 12, 13 y 14, corresponden al controlador con
compensador de gravedad. En la Figura 11 se muestra el
En la Figura 9 corresponden al eje de coordenadas seguimiento en la coordenada X, en la Figura 12 el
en Y con respecto al tiempo. seguimiento de la trayectoria en la coordenada Y, y en la
Figura 13 el seguimiento de la trayectoria en Z, en las tres
figuras se observa el efecto del vector de gravedad en el
controlador ya que las tres tienen un mejor seguimiento.
Cabe mencionar que el usuario hace movimientos
más rápido sin que el robot no se salga de control.

TABLA 1. GANANCIAS DEL CONTROLADOR PD.


KP KD
X 0.11 0.00013
Y 0.13 0.0001
Z 0.23 0.00013
FIGURA 9. RESULTADO DE Y (VERDE) VS. Y DESEADA (AZUL).

En la Figura 10 se observa que el eje de


coordenadas en Z tiene mayor error debido a los efectos de
gravedad.

FIGURA 12. RESULTADO CON COMPENSADOR DE X (VERDE) VS.


X DESEADA (AZUL).

Para comprobar que el controlador con la dinámica


del robot tiene mejor desempeño, se muestra en la Figura 14
FIGURA 10. RESULTADO DE Z (VERDE) VS. Z DESEADA (AZUL). los errores de cada eje con respecto al tiempo, como se
puede observar los errores oscilan en promedio entre 10 y -
Con estos resultados mostrados en las Figuras 8, 9 y 10mm de error.
10, se grafican los errores de cada eje con respecto al tiempo
y se observa en la Figura 11 que los errores con grandes, los

Copyright © 2016 by AMRob


FIGURA 16. DIAGRAMA DE BLOQUES.

FIGURA 13. RESULTADO CON COMPENSADOR DE Y (VERDE) VS. CONCLUSIONES


Y DESEADA (AZUL). En este trabajo de investigación se tuvieron buenos
resultados experimentales. Se presentó una aplicación de un
sistema de visión a través de una cámara para videojuegos
Kinect utilizando las librerías de Simulink/Matlab.
Se controló un robot delta Novint Falcon con un
control PD y PD+G, introduciendo como trayectoria deseada
la que proporciona el usuario a través del Kinect. Los
resultados experimentales son buenos, como se puede
observar de las gráficas de los errores, que el controlador con
compensador de gravedad tiene un mejor desempeño, ya que
ayuda al robot delta a seguir la trayectoria dada por el
FIGURA 14. RESULTADO CON COMPENSADOR DE Z (VERDE) VS. usuario, además da una pronta respuesta.
Z DESEADA (AZUL). Se espera continuar trabajando en esta área para
realizar teleoperación con robot manipuladores industriales.

REFERENCIAS

[1] G. G. Mateos, «Interpretación de dibujos de líneas


mediante comparación de grafos.».
[2] J. E. C. Terán, «Desarrollo de una aplicación remota
de interacción entre el profesor y la PC para agilitar el
proceso enseñanza aprendizaje en las aulas de la
Universidad Tecnológica Equinoccial,» Quito,
Ecuador, 2014.
[3] J. Gudiño Lau, D. Vélez Díaz, F. Chávez Montejano,
FIGURA 15. ERROR CON COMPENSADOR DE GRAVEDAD EN X M. Durán Fonseca, S. Charre Ibarra y O. Díaz Parra,
(AZUL). ERROR EN Y (VERDE). ERROR EN Z (ROJO). «Las TIC aplicadas a un dispositivo háptico Novint
Falcon,» XIKUA Boletín Científico de la Escuela
En la Tabla 2 se muestran las ganancias para el
Superior de Tlahuelilpan, vol. 4, nº 8, 2016.
controlador con compensador de gravedad, en donde se
[4] V. Torres Cosío, E. J. Vázquez Alejandre y E. Cossio
observa que las ganancias proporcionales son un poco
Franco, «Accesibilidad de los materiales educativos a
mayores que sin compensador de gravedad.
través de la percepción háptica,» 13 Febrero 2014. [En
TABLA 2. GANANCIAS DEL CONTROLADOR PD. línea]. Available: http://www.nosolousabilidad.com/
KP KD articulos/percepcion_haptica.htm.
X 0.18 0.00013 [5] B. Yuan, «Towards Generalized Accessibility of
Y 0.18 0.000105 Video Games,» 2009.
Z 0.33 0.00013 [6] Novint, «Novint,» Novint Technolgies Inc., 2012. [En
línea]. Available: http://www.novint.com/index.php/
Finalmente, el diagrama de bloque empleado para novintxio/41.
experimento se muestra en la figura 16. [7] M. W. Spong, Robot modeling and control, Wiley,
2005.
[8] K. S. Fu, Robótica: control, detección, visón e
inteligencia, McGraw-Hill, 1988.

Copyright © 2016 by AMRob

You might also like