UNIVERSIDAD POLITECNICA
DE TLAXCALA
Detección de Gestos para el Control de un Brazo
Robótico de 3GDL Usando Python y Firmata
INGENIERIA MECATRONICA
SISTEMAS DE VISION ARTIFICIAL
Eduardo Muñoz Muñoz
Emanuel Romero Velazquez
8° ”G”
1
Detección de Gestos para el Control de un
Brazo Robótico de 3GDL Usando Python y
Firmata
Eduardo Muñoz Muñoz, IEEE, y Emanuel Romero Velazquez, IEEE
(Universidad Politécnica de Tlaxcala,
[email protected])
2.1. Detección de Gestos Para la detección de gestos se
Resumen—Este trabajo presenta el desarrollo de un sistema de utiliza una cámara web en conjunto con la biblioteca OpenCV
control para un brazo robótico de tres grados de libertad (3GDL) y la mediapipe Hands de Google. Se implementa un algoritmo
basado en la detección de gestos manuales. El sistema emplea una de seguimiento de puntos clave en la mano, permitiendo
cámara para el reconocimiento de gestos, procesados con Python, identificar gestos específicos para cada grado de libertad del
y utiliza la biblioteca Firmata para la comunicación con una placa brazo.
Arduino, que controla los servomotores del brazo robótico. Se
2.2. Procesamiento de Comandos Los gestos detectados son
describen la arquitectura del sistema, los algoritmos empleados
para la detección de gestos y el control de los servos, así como los transformados en comandos para los servomotores. Cada
resultados experimentales obtenidos. gesto corresponde a un movimiento específico del brazo, y se
Abstract--This paper presents a system that detects primary implementa un mapeo de los valores obtenidos a ángulos
colors (Red, Green, and Blue) using a webcam and Python, and apropiados para los servos.
subsequently controls an Arduino-based system to activate LEDs
corresponding to the detected colors. The implementation
integrates OpenCV for color recognition and serial
communication with Arduino to trigger the appropriate LED.
This approach is useful for automation, interactive installations,
and educational purposes.
I. Introducción Img2-Dedo pulgar utilizado para mover el primer eslabón del robot.
E l control de robots mediante gestos manuales ofrece una
interfaz intuitiva para la manipulación remota de
dispositivos. En este trabajo, se desarrolla un sistema que
permite controlar un brazo robótico de 3GDL utilizando una
cámara web y algoritmos de visión por computadora
implementados en Python. La comunicación con el hardware
se realiza mediante la biblioteca Firmata, lo que permite una
buena interacción entre la computadora y la placa Arduino que
se utiliza para conectar los servos del brazo robótico.
II. Metodología Img3 -Dedo índice utilizado para mover el segundo eslabón
El sistema propuesto consta de tres módulos principales:
detección de gestos, procesamiento de comandos y actuación
del brazo robótico
Img4 -Dedo meñique usado para mover el tercer eslabón del robot.
Img1 -Robot 3GDL
2.3. Control del Brazo Robótico La comunicación con la
*
Revista Argentina de Trabajos Estudiantiles. Patrocinada por la IEEE. placa Arduino se realiza mediante Firmata, una biblioteca que
2
permite enviar comandos desde Python. Los valores III. IMPLEMENTACIÓN Y RESULTADOS
procesados son transmitidos a la placa para accionar los Se realizaron pruebas experimentales para evaluar la
servomotores en tiempo real. precisión y latencia del sistema. Los resultados muestran que el
reconocimiento de gestos alcanza una precisión del 90% en
condiciones de iluminación controladas. La respuesta del brazo
robótico es fluida en los eslavones 2 y 3, pero le costaba un
poco el detectar el primero.
Img7 -Detección y movimiento del primer eslabón “Pulgar” en 0 y 1
Img8 -Detección del segundo eslabón “índice” en 0 y 1
Img9 -Detección del eslabón numero tres “meñique” en 0 y 1
Img10 -Detecticion de dos o mas eslabones al mismo tiempo.
IV. RESULTADOS EXPERIMENTALES
El sistema se probó en diversas condiciones de iluminación
y detectó y activó con éxito los servos motores moviendo los
eslabones del robot.
Se observó que el programa batalla un poco para detectar el
pulgar en posición horizontal y funciona mejor cuando esta
verticalmente, también al mover los tres eslabones al mismo
Img 5y6 -Progradation en python tiempo el movimiento es muy brusco, así como logramos
3
observar que si se metía otra mano en el encuadre de la cámara
el robot se confundía y hacia movimientos bruscos.
V. CONCLUSIÓN Y TRABAJO FUTURO
Se ha desarrollado un sistema efectivo para el control de un
brazo robótico de 3GDL mediante gestos manuales. En
trabajos futuros se buscará mejorar la robustez del
reconocimiento en entornos con variaciones de iluminación y
extender la metodología a robots con mayor cantidad de grados
de libertad.
REFERENCIAS
[1] G. Bradski y A. Kaehler, "Learning OpenCV: Computer
Vision with the OpenCV Library", O'Reilly Media, 2008.
[2] A. Margolis, "Make an Arduino-Controlled Robot",
Maker Media, 2012.
[3] Documentación oficial de Arduino. [En línea].
Disponible en: https://www.arduino.cc
[1]