Boletín No. 85
1o. de julio de 2021
VISIÓN ARTIFICIAL PARA ROBOTS HUMANOIDES CON ENFOQUE A LA LIGA DE COMPETENCIA ROBOCUPSOCCER
Dra. Yesenia Eleonor González Navarro
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
M. en C. Alvaro Anzueto Ríos
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
M. en C. Paola Nayeli Cortez Herrera
Esta dirección de correo electrónico está siendo protegida contra los robots de spam. Necesita tener JavaScript habilitado para poder verlo.
Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas-IPN
Resumen
En este documento se describen tres trabajos de tesis de las carreras de Ingeniería Biónica e Ingeniería Telemática de la UPIITA-IPN, que resuelven distintos problemas relacionados a la liga de competencia RoboCup, en la categoría de Robots Humanoides, donde dos equipos de robots juegan al futbol soccer dentro de una cancha a escala. Los trabajos aquí presentados abordan el reconocimiento de objetos de interés usando distintas técnicas de visión artificial, incluidas las Redes Neuronales Convolucionales (CNN por sus siglas en inglés), la generación de trayectorias dentro de un área y la generación de estrategias de juego.
Palabras Clave: RoboCup, robots humanoides, reconocimiento de objetos, generación de trayectorias, generación de estrategias de juego.
1. Introducción
De acuerdo con su página oficial, RoboCup es una iniciativa científica internacional con el objetivo de promover el estado del arte de los robots inteligentes. Cuando se estableció en 1997, la misión original era formar un equipo de robots capaces de ganar contra los campeones de la Copa del Mundo de fútbol humano para 2050 [1]. Este tipo de eventos brinda la oportunidad de que grupos de investigación de diferentes partes del mundo puedan reunirse e intercambiar conocimientos y a su vez motivarse, dado el ambiente de convivencia y competencia que se genera. Actualmente, RoboCup comprende las Ligas: RoboCupSoccer, RobocupRescue, RoboCup@Home, RoboCupIndustrial y RoboCupJunior. Cada una de estas ligas cuentan con diferentes categorías y subcategorías.
Respecto a la liga RoboCupSoccer, una de sus categorías es la de Robots Humanoides, con las subcategorías: Plataforma estándar, Tamaño Mediano, Tamaño Pequeño y Simulación. Cada categoría cuenta con un reglamento, que define el tipo de robot a usar, posición y tipo de sensores, dimensiones, ambiente de juego, reglas del juego, etc.
La disciplina de Visión Artificial juega un papel preponderante en este tipo de competencias, donde se desea que los robots “jueguen” futbol soccer de manera autónoma y de forma semejante al humano. Es necesario entonces que cada robot sea capaz de moverse dentro del área de juego, que reconozca objetos de interés tales como otros robots, pelota, portería y que ejecute acciones dependiendo de las situaciones que perciba. Para poder realizar estas tareas son necesarios el desarrollo e implementación de diferentes algoritmos.
Este trabajo describe tres trabajos de tesis de las carreras de Ingeniería Biónica e Ingeniería Telemática de la UPIITA, uno de ellos aborda el reconocimiento de robots humanoides en ambientes semicontrolados, el segundo trabajo genera trayectorias de desplazamiento para un robot humanoide dentro de un área de trabajo con y sin obstáculos y el tercer trabajo propone la generación de estrategias de juego para un robot humanoide a partir del reconocimiento y localización de objetos de interés. Todos estos trabajos forman parte de un proyecto de investigación SIP (Secretaría de Investigación y Posgrado) del Instituto Politécnico Nacional.
2. Reconocimiento de robots humanoides [2]
En este trabajo realizado por el alumno Oscar Herrera Figueroa, de la carrera de Ingeniería Telemática, se realiza el reconocimiento de imágenes basado en visión estereoscópica [3], tomando como base las reglas de la liga RoboCupSoccer categoría Humanoid KidSize de RoboCup. El objetivo fue el de implementar en un sistema embebido un algoritmo de reconocimiento de robot humanoide, que determina la distancia entre el robot detectado y la cámara y evalúa, basándose en un distintivo seleccionado si el robot detectado pertenece o no al mismo equipo. El sistema debe operar en un ambiente semiestructurado. La Figura 1 muestra el diagrama a bloques del sistema propuesto.
Figura 1. Diagrama a bloques general del sistema de reconocimiento de robots humanoides. |
Las distintas etapas del sistema se describen a continuación:
Etapa 1: Dado que un robot está en un entorno físico (3 dimensiones), se propuso usar la técnica de visión estereoscópica, la cual permite obtener un mapa de profundidad teniendo como entrada imágenes en 2 dimensiones. El mapa de profundidad contiene las distancias aproximadas de todos los objetos que estén dentro de la toma por las cámaras. Para esto, se utilizó el módulo RealSense de Intel [4].
Etapa 2: Una vez obtenidas las distancias hacia los objetos se fija una distancia de referencia, se procede a generar una imagen que omita todo lo que se encuentre en una distancia mayor a la establecida dejando visible solo lo que se encuentre en el área de interés (esto es posible por las características de la cámara utilizada).
Etapa 3: Para el reconocimiento de los robots se utilizó una red neuronal convolucional (CNN) con arquitectura YOLO v4 (You Only Look Once) [5] que toma la imagen sin fondo y localiza los robots que aparecen en la misma. La eliminación del fondo ayuda a evitar detección de robots que se encuentren fuera del área de juego o de objetos con similitudes a estos.
Etapa 4: Al tener marcados los humanoides de la escena, se procede a la clasificación de estos. Para esto se ponen marcas de color rojo o azul en partes estratégicas de los robots (brazos, piernas). La elección de los colores y posiciones de las marcas está basada en el reglamento oficial del concurso RoboCup 2019 [6]. Utilizando estas marcas, el algoritmo ignora todo lo que tenga color rojo y azul que no esté dentro de las marcas de los robots conocidos. De esta forma se hace un filtrado de colores en el cual solo permite el paso de los colores mencionados. Con esto, se etiqueta todo robot que tenga color rojo como contrincante y compañero a quien porte el color azul (o viceversa). La Figura 2 muestra la imagen resultante, donde el sistema ha sido capaz de reconocer únicamente a los robots dentro de la escena y ha podido identificar si se trata de un robot del mismo equipo o del equipo contrario, dependiendo del color de las etiquetas detectadas. También es posible apreciar la eliminación de información de fondo, aprovechando las características que provee la cámara utilizada.
Figura 2. Imagen procesada por el sistema de reconocimiento de robots humanoides. |
3. Modelado de trayectorias de un robot humanoide [7]
Este trabajo fue desarrollado por Patricia Yellianne Alonso Rojas y Saúl Reyna Juárez, alumnos de Ingeniería Telemática. Su trabajo consistió en desarrollar un sistema que, a partir de la adquisición y procesamiento de imágenes, genere comandos de desplazamiento y evasión de obstáculos (trayectorias) para aplicarse en un robot humanoide. Estas trayectorias son generadas una vez que se ha realizado una tarea de reconocimiento de objetos de interés en el entorno y el cálculo de distancia de la cámara hacia esos objetos. La Figura 3 muestra el diagrama a bloques del sistema propuesto.
Figura 3. Diagrama a bloques general del sistema de desplazamiento y generación de trayectorias para un robot humanoide. |
El trabajo consiste en un sistema compuesto por tres módulos: visión, procesamiento y control. En el módulo de visión se adquieren imágenes mediante el uso de una cámara estereoscópica, que son tratadas para el reconocimiento del entorno por el módulo de procesamiento, integrado por un sistema embebido al que se incorporan algoritmos de visión artificial y de trazos de trayectoria; finalmente, el módulo de control se constituye de un robot humanoide DARwIn-OP 1, con el que cuenta la Asociación de Robótica de la Unidad Profesional Interdisciplinaria en Ingeniería y Tecnologías Avanzadas (UPIITA) del Instituto Politécnico Nacional (IPN), que realiza la locomoción definida por el módulo precedente.
La cámara utilizada en este proyecto fue el módulo RealSense de Intel [4]. Para la tarea de reconocimiento de objetos de interés (portería, balón) se utilizó la red neuronal convolucional (CNN) con arquitectura YOLO v4 y el algoritmo de trazado de trayectorias fue el A* [8]. El sistema se implementó en el entorno de simulación Webots [9] usando el modelo de robot humanoide DARwIn-OP 2 para la validación de los algoritmos. La Figura 4.a muestra uno de los escenarios utilizados, con la presencia de un área de trabajo, obstáculos a esquivar, balón, portería y portero. La Figura 4.b muestra el tipo de resultados que arroja el algoritmo A* (interpretado en 2 dimensiones para mejor visualización). Los puntos en color negro representan las coordenadas a donde el robot debe seguir la ruta trazada.
Figura 4. (a) Escenario de pruebas. (b) Ejemplo de trayectoria trazada por el algoritmo A*. |
4. Algoritmo de autolocalización para el movimiento estratégico de robots humanoides [10]
Este trabajo fue desarrollado por los alumnos Moisés Omar León Pineda e Iván Giovanni Valdespin García, de la carrera de Ingeniería Biónica. El trabajo consistió en desarrollar un algoritmo que puede ser implementado en uno o más robots humanoides para posicionarse dentro de un área determinada, mediante la identificación de objetos de interés como la portería, otros robots y balón, así como la distancia del robot hacia ellos. El algoritmo, al detectar la presencia de un robot es capaz de identificar si pertenece al mismo equipo o es del equipo contrario, esto mediante la detección de algunas características. Se aborda el caso en que el robot detectado sea del mismo equipo (amigo), ambos con la tarea de ir por el balón (se asume que cada robot del equipo contará con el sistema propuesto), por lo que cada robot amigo podrá determinar quién de ellos se encuentra más cercano al objetivo (balón) y este tomará la decisión de ir hacia ese objetivo, evitando con esto colisiones entre robots amigos, y, posteriormente, dirigirse hacia el área de portería. La segunda premisa resuelta, es el caso hipotético en donde el robot detectado pertenece a un equipo distinto (enemigo), en donde ambos intentarán llegar antes que el otro al objetivo (balón). La Figura 5 muestra una imagen resultante, donde el sistema realiza el reconocimiento de los objetos de interés y la distancia de la cámara hacia cada uno de los objetos.
Figura 5. Imagen procesada por el sistema de autolocalización y generación de trayectorias. |
5.Conclusiones
Los tres trabajos presentados fueron implementados usando el lenguaje de programación Python y las librerías Tensorflow y Keras, para entrenar las redes neuronales convolucionales usadas. Los 3 sistemas fueron implementados en sistemas embebidos, haciendo uso de un dispositivo RealSense de Intel y de una microcomputadora NUC de Intel.
Lograr implementar un equipo de robots humanoides que jueguen al futbol implica integrar conocimientos de robótica, visión artificial, teoría de control, algoritmos de aprendizaje de máquina, entre otros. Los resultados obtenidos hasta ahora son un primer acercamiento para resolver la problemática planteada y son producto de haber conformado un grupo de trabajo interdisciplinario aprovechando los perfiles de las y los profesores, alumnas y alumnos participantes de esta institución.
- Robocup Federation official website (18 de abril, 2021). Recuperado de https://www.robocup.org
- Herrera Figueroa O. (2021). Sistema de detección de robots humanoides en ambientes semiestructurados basado en visión estereoscópica.Tesis de licenciatura, UPIITA-IPN. https://www.lipsum.com/feed/html
- Pajares Martinsanz G. (2008). Visión por computador. Imágenes digitales y aplicaciones (2ª. Edición). Editorial RAMA. https://www.lipsum.com/feed/html
- Intel RealSense Depth Camera D415 (18 de abril, 2021). Recuperado de https://www.intelrealsense.com/depth-camera-d415/
- Alexey Bochkovskiy, Chien-Yao Wang, Hong-Yuan Mark Liao (2020). YOLOv4: Optimal Speed and Accuracy of Object Detection, arXiv:2004.10934Thu, 23 Apr 2020 02:10:02 UTC
- s.a. (20 de abril, 2021). [6] RoboCup Humanoide League.Recuperado de https://humanoid.robocup.org/wp-content/uploads/RCHL-2019-Rules-final.pdf
- Alonso Rojas P., Reyna Juárez S. (2021). ). Modelado de trayectorias de un robot humanoide mediante visión artificial. Tesis de licenciatura, UPIITA-IPN.
- Zeng, W. & Church, R. (2009). Finding shortest paths on real road networks: The case for A*International Journal of Geographical Information Science. 23. 531-543. 10.1080/13658810801949850.
- Cyberbotics (20 de abril, 2021). Recuperado de https://cyberbotics.com/
- León Pineda O., Valdespin García I. (2021). Algoritmo de auto localización para el movimiento estratégico de robots humanoides.Tesis de licenciatura, UPIITA-IPN.
Agradecimientos
Se extiende un agradecimiento a la Secretaría de Investigación y Posgrado del IPN por el apoyo recibido para el desarrollo de este proyecto.
Referencias