human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · human upper limbs...

28
Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro Acurio Maldonado [email protected] Pontificia Universidad Católica del Ecuador Sede Ambato 16, 17 y 18 de octubre 2019. Ibarra-Ecuador

Upload: others

Post on 23-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Human upper limbs movements imitation in a humanoid robot using a natural user

interface

Santiago Alejandro Acurio [email protected]

Pontificia Universidad Católica del Ecuador Sede Ambato

16, 17 y 18 de octubre 2019. Ibarra-Ecuador

Page 2: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Agenda

• Introducción

• Desarrollo

• Resultados y discusión

• Conclusiones y trabajo futuro

Page 3: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Introducción

• La robótica ha tenido un impacto relevante en las actividades humanas (Tsarouchi, Makris, & Chryssolouris, 2016) (Koppula & Saxena, 2016) (Mercader Uguina, 2017) .

• La manipulación de robot humanoides tiene varias aplicaciones (Liu, Xi, Song, Um, & Cho, 2013) (Gutierrez Cáceres, Pardo Beainy, Sosa Quintero, & Jiménez López, 2017) (Jimenez Moreno, 2015) .

• No existen puntos de referencia en PUCE –Ambato, para establecer una base de trabajo experimental.

• El objetivo de este trabajo es manipular las extremidades superiores de un robot humanoide en correspondencia con el movimiento de un usuario(Liu, Xi, Song, Um, & Cho, 2013), capturados por una interfaz natural (Kaushik & Jain, 2014) (Hurtado-Chavez, Nástar-Guacales, & Vivas-Albán, 2015).

Page 4: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Introducción• Se utiliza un dispositivo Kinect (Damle, Gujar, Joshi, & Nagre, 2015)

(Martínez, y otros, 2016) (Cubides Franco, 2017) (Rodríguez Pérez, 2015), que permite reconocer la estructura corporal de un usuario de forma que su representación en puntos forma un esqueleto. Esta distribución corporal permite determinar los movimientos humanos, basado en los puntos y vectores que forman las extremidades superiores(Medina Lee & Capacho Valbuena, 2015) (Rakita, Mutlu, & Gleicher, 2017). Tölgyessy, Dekan, & Hubinský (2018).

• El resultado de la aplicación es un movimiento similar entre el usuario y el humanoide con uno o los dos brazos, una base de conocimiento de análisis cinemático inverso (Curci & Gini, 2015) que permita en trabajos mayor movimiento en un robot imitador.

Page 5: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Desarrollo – Esquema de funcionamiento

Un usuario interactúa con el dispositivo Kinect,

este se comunica con el computador vía USB,

se procesa la información de los movimientos

detectados y las posiciones angulares son

enviadas vía RS-232 (US Patente nº

US6738855B1, 2004) al robot HUNO, el cual

imita los movimientos humanos.

Para la detección del usuario, se utiliza el SDK de Kinect (Rahman, 2017), que

proporciona un conjunto de métodos para la determinar las coordenadas de las

articulaciones del cuerpo humano Para la comunicación serial con el humanoide se

utiliza la librería RoboBuilderLib que proporciona métodos de control de los grados de

libertada del robot HUNO.

Page 6: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Desarrollo - Procedimiento

Conexión: RoboBuilder, Kinect-Inicio

Obtener puerto COM

Postura Inicial RoboBuilder

Cálculo de magnitud de vectores de brazos del usuario

Obtención de coordenadas 3D de articulaciones con Kinect

Cálculo de ángulos de los vectores

Conversión de valores angulares a valores de servomotores

Ángulos entre

rango máx/min

FIN RS232

No

Si

Page 7: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Desarrollo – Ángulos y articulacionesSe utiliza la funcionalidad Skeleton Stream del SDK de Kinect

(Pullen, Ogbesor, & Seffens, 2015), que combina las cámaras

RGB y de profundidad (Komang, Surya, & Ratna, 2016) para

determinar los veinte puntos de referencia y 19 huesos que

conforman una estructura corporal humana simplificada formando

un modelo para el análisis (Na, Choi, Kim, & Kim, 2019)

Page 8: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Desarrollo – Análisis Cinemático

𝐴. 𝐵. = 𝐴𝑥 . 𝐵𝑥 + 𝐴𝑦 . 𝐵𝑦 + 𝐴𝑧. 𝐵𝑧)

V1

V2

𝑉1 = 𝐴𝑥

2+ 𝐴𝑦

2+ 𝐴𝑧

2𝑉2 = 𝐵𝑥

2+ 𝐵𝑦

2+ 𝐵𝑧

2

Acod = cos−1 𝐴 ⋅ 𝐵

𝑉1 ∗ 𝑉2

𝐴𝐻𝑜𝑚𝑏𝑟𝑜𝐼𝑧𝑞𝑋𝑌 = cos−1 𝐴𝑥

𝑉1

𝐴𝐻𝑜𝑚𝑏𝑟𝑜𝑍 = cos−1𝐴𝑧

𝑉1

Ángulos posicionales:

Producto Escalar entre dos vectores:

Módulo de los vectores:

Page 9: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Desarrollo – posiciones de motoresID

Motor

Nombre del

Motor

ValoresFórmula de conversiónMáximo Rango

10 Hombro izquierdo Z

270° 0.89 LSZP = Vmáx − ángulo ∗ valor + 10°

11 Hombro izquierdo

XY

- - Si el ángulo > 0

LSXP = 128° – ángulo

Caso contrario

LSXP = 128° + ángulo

12 Codo izquierdo Si el ángulo es mayor que 90°180° 0.944

443LEP = 125° − ((Vmáx − ángulo) ∗ valor)

Caso contrario0.444443

LEP = ángulo ∗ valor

Page 10: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Desarrollo – posiciones de motores

ID Motor

Nombre del

Motor

ValoresFórmula de conversiónMáximo Rango

13 Hombro derecho Z 270° 0.89 RSZP = ángulo ∗ valor + 10°

14 Hombro derecho XY

- 0.855555

Si ángulo > 0

RSXP = 128° + (ángulo ∗ valor)

Caso contrario

RSXP = 128° − (ángulo ∗ valor)

15 Codo derecho 180° 0.84444443

REP

= Vmáx − ángulo ∗ valor + 128°

Page 11: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Desarrollo- Software

• Una solución de Visual Studio con una aplicación de C# basada en NetFramework4.5, agrega una referencia a la librería RobobuilderLib.dll, que permite la selección de un puerto de comunicación COM a través de un objeto PCremote() y la transferencia de las posiciones calculadas al robot humanoide a través de un objeto wckMotion(). La función PlayPose() del objeto wckMotion permite transferir hacia el robot humanoide los valores de las posiciones ya calculadas. La aplicación además integra extensiones de Microsoft.Kinect y de Microsoft.Kinect.Toolkit, que proveen un contenedor SkeletonPainter3D, que logra la captura de los datos referenciales de las posiciones de las articulaciones con los cuales se procede a los cálculos angulares de la cinemática inversa. Este procedimiento se actualiza con cada movimiento del usuario, de forma que el robot humanoide replica los mismos.

Page 12: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Resultados y discusión

De la experimentación realizada con el prototipo se logra determinar que los

movimientos de hiperextensión y flexión (en 225 grados); así como los de

rotación en abducción (en 180 grados) (Vargas, Abad, Baena, Guadarrama, &

Valdiviezo, 2015) en cada uno de los hombros de las extremidades superiores

son cubiertos en su totalidad.

Las limitaciones que presenta la plataforma RoboBuilder en cuanto al uso de

valores enteros positivos para las posiciones de los servomotores no permite

mantener una exactitud en la representación de los movimientos.

Page 13: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro
Page 14: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro
Page 15: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro
Page 16: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro
Page 17: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro
Page 18: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro
Page 19: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Resultados y discusión

Posición

Servo 10

Ángulo

corporal

Posición

Servo 11

Ángulo

corporal

Posición

Servo 12

Ángulo

corporal

73 145° 70 171° 76 -58°

98 142° 99 126° 85 -26°

138 158° 102 199° 97 -29°

Page 20: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Resultados y discusión

Posición

Servo 13

Ángulo

corporal

Posición

Servo 14

Ángulo

corporal

Posición

Servo 15

Ángulo

corporal

146 151° 133 153° 146 -6°

159 138° 145 201° 157 -20°

188 151° 169 168° 160 -48°

Page 21: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Conclusiones

• La aplicación de las cámaras RGB y de profundidad del Kinect de Xbox, así como el uso de los métodos expuestos en el Kinect SDK, permiten a través de las clases Skeleton la representación y captura efectiva de los movimientos corporales de las extremidades superiores de un usuario.

• La librería dinámica RoboBuilderLib resulta de utilidad para la transmisión de los datos de las posiciones de los servomotores desde el computador hacia el humanoide. Se utiliza el puerto de comunicación DB9 sin embargo es de fácil transformación a USB con adaptadores.

• Los principios matemáticos utilizados para la determinación de los ángulos corporales no tienen dependencia de la plataforma robótica, de forma que los datos presentados, pueden ser aplicados en cualquier robot de tipo humanoide.

Page 22: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Conclusiones

• La aplicación de un procedimiento para la determinación de las posiciones de los servomotores de la plataforma robótica resultó eficiente en cuanto los movimientos de las extremidades superiores puesto que permite determinar con exactitud los ángulos en tres dimensiones de cada uno de los puntos de las extremidades superiores.

• El movimiento de las extremidades inferiores de un robot humanoide presenta mayores complicaciones relacionadas con el equilibrio del robot, por lo que sería recomendable el uso de plataformas robóticas educativas con acelerómetros o giroscopios para logar cálculos del centro de gravedad.

Page 23: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Trabajos futuros

• Mediciones de rangos de error de exactitud de los movimientos corporales permiten determinar mayor exactitud en los movimientos.

• Modificaciones de la estructura interna de los servomotores de la plataforma robótica de RoboBuilder con la finalidad de obtener valores de rango menores que permitan mayor exactitud de los movimientos.

Page 24: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Trabajos futuros

• Adaptaciones de la base de conocimientos en nuevas plataformas robóticas educativas (RoboNova) para validar la base de conocimiento obtenidos con la cinemática inversa.

• Integración de los movimientos de las extremidades inferiores de forma que se puedan imitar movimientos manteniendo el equilibrio.

Page 25: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Referencias• Cubides Franco, A. (2017). Diseño e implementación de un sistema de interacción entre robots E-pucks dirigidos por un usuario y objetos virtuales. Bachelor's

thesis, Universidad Autónoma de Occidente.

• Curci, M., & Gini, G. (2015, 12 18). POLITESI archivio digitale delle tesi di laurea e di dottorato. Retrieved from Tesi di laurea specialistica/magistrale: http://hdl.handle.net/10589/115941

• Damle, R., Gujar, A., Joshi, A., & Nagre, K. (2015). Human Body Skeleton Detection and Tracking. International Journal of Technical Research and Applications, 222-225.

• Flacco, F. (2017). Real-Time Computation of Distance to Dynamic Obstacles with Multiple Depth Sensors. IEEE Robotics and Automation Letters, 56-63.

• Goldman, S. (2004). US Patent No. US6738855B1.

• Gutierrez Cáceres, E., Pardo Beainy, C., Sosa Quintero, L., & Jiménez López, F. (2017). ROBOT DIBUJANTE CONTROLADO MEDIANTE EL SENSOR KINECT. Revista Colombiana de Tecnología de Avanzada.

• Hurtado-Chavez, J., Nástar-Guacales, A., & Vivas-Albán, O. (2015). Sistema de captura de gestos con KINECT para la manipulación de robots quirúrgicos virtuales. ITECKNE, 12(1), 17-24.

• Jimenez Moreno, R. (2015). Tracking Humano mediante kinect para control de robots. Clepsidra, 107-112.

• Kaushik, M., & Jain, R. (2014). Gesture Based Interaction NUI: An Overview. International Journal of Engineering Trends and Technology (IJETT), 9(12), 633-636.

• Komang, M., Surya, M., & Ratna, A. (2016). Human activity recognition using skeleton data and support vector machine. Paper presented at the Journal of Physics: Conference Series. doi:doi:10.1088/1742-6596/1192/1/012044

• Koppula, H., & Saxena, A. (2016). Anticipating Human Activities Using Object Affordances for Reactive Robotic Response. IEEE Transactions on Pattern Analysis and Machine Intelligence, 14-19.

• Liu, H., Xi, Y., Song, W., Um, K., & Cho, K. (2013). Gesture-Based NUI Application for Real-Time Path Modification. IEEE 11th International Conference on Dependable, Autonomic and Secure Computing, Chengdu, doi: 10.1109/DASC.2013.104, 446-449.

• Martínez, C., Badillo, I., Pimentel, J., Pérez, E., Acevedo, F., & Rosales, L. (2016). Sistema de Navegación Reactiva Difusa para Giros Suaves de Plataformas Móviles Empleando el Kinect. Revista Electrónica de Computación, Informática, Biomédica y Electrónica.

Page 26: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

Referencias• Medina Lee, J., & Capacho Valbuena, L. (2015). Control de un robot humanoide utilizando Motion Retargeting. Journal of Research of the University of Quindio, 27(2), 23-28.

• Mercader Uguina, J. (2017). El impacto de la robótica y el futuro del trabajo. Revista de la Facultad de Derecho de México, 67(269), 149-174.

• Museros Romero, P. (2017). Mecánica : Estática y cálculo vectorial. Valencia: Editorial de la Universidad Politécnica de Valencia.

• Na, H., Choi, J., Kim, H., & Kim, T. (2019). Development of a human metabolic rate prediction model based on the use of kinect-camera generated visual data-driven approaches. Building and Environment. doi:10.1016/j.buildenv.2019.106216

• Pullen, P., Ogbesor, A., & Seffens, W. (2015). Kinect acquisition of skeleton body positions during yoga and tai chi for exergame development. Medicine & Science in Sports & Exercise.

• Rahman, M. (2017). Beginning Microsoft Kinect for Windows SDK 2.0: Motion and Depth Sensing for Natural User Interfaces. Montreal: Apress.

• Rakita, D., Mutlu, B., & Gleicher, M. (2017). A Motion Retargeting Method for Effective Mimicry-based Teleoperation of Robot Arms. Proceedings of the 2017 ACM/IEEE International Conference on Human-Robot Interaction, (pp. 361-370). Vienna.

• Rodríguez Pérez, M. (2015). Desarrollo de un sistema para la teleoperación de un robot manipulador cilíndrico mediante reconocimiento de gestos a través del sensor Kinect. Universidad Politécnica de Valencia, Valencia.

• Su, B., Wu, H., Sheng, M., & Shen, C. (2019). Accurate hierarchical human actions recognition from kinect skeleton data. IEEE Access. doi:10.1109/ACCESS.2019.2911705

• Tölgyessy, M., Dekan, M., & Hubinský, P. (2018). Human-Robot Interaction Using Pointing Gestures. Proceedings of the 2nd International Symposium on Computer Science and Intelligent Control. Estocolmo.

• Tsarouchi, P., Makris, S., & Chryssolouris, G. (2016). Human–robot interaction review and challenges on task planning and programming. International Journal of Computer Integrated Manufacturing, 916-931.

• Vargas, G., Abad, Á., Baena, N., Guadarrama, J., & Valdiviezo, I. (2015). Control de Señales EMG para el Movimiento de un Brazo Robótico de Tres Grados de Libertad. Cultura Científica y Tecnológica.

• Villicaña González, C., Orvañanos Guerrero, M. T., & Rodríguez Figueroa, E. (2018). Brazo Robótico Controlado por Medio de Visión Computacional utilizando un Kinect. Tecnológico Nacional de México.

• Vongchumyen, C., Bamrung, C., Kamintra, W., & Watcharapupong, A. (2018). Teleoperation of Humanoid Robot by Motion Capturing Using KINECT. International Conference on Engineering, Applied Sciences, and Technology (pp. 1-4). IEEE.

Page 27: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro

GraciasSantiago Acurio Maldonado

[email protected]

PUCE - Ambato

Page 28: Human upper limbs movements imitation in a humanoid robot … · 2019-10-30 · Human upper limbs movements imitation in a humanoid robot using a natural user interface Santiago Alejandro