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
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]
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.
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)
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
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.