Descripción del Equipo: Pumas@Home 2018
Institución: Laboratorio de Bio-Robótica, Facultad de Ingeniería, Universidad Nacional Autónoma de México (UNAM)
Participación: RoboCup@Home 2018 y ROCKIn — Open Platform League (OPL)
Integrantes del Equipo: Jesús Savage, Reynaldo Martell, Marco Negrete, Julio Cruz, Jesús Cruz, Hugo Estrada, José Cruz, Edgar Vázquez, Jaime Márquez, Edgar Silva, Manuel Pano, Luis Álvarez y Mauricio Matamoros.
1. Trayectoria y Antecedentes del Laboratorio
El Laboratorio de Bio-Robótica de la UNAM ha participado continuamente en RoboCup@Home desde Bremen 2006. Sus logros abarcan el 3.er lugar en Atlanta 2007, finales consecutivas en 2014 y 2015, así como el 4.° lugar mundial y el premio al Mejor Reconocimiento de Voz y Comprensión del Lenguaje Natural en Nagoya 2017.
2. Arquitectura de Software: ViRBot
El software de Justina opera bajo la arquitectura ViRBot (Virtual and Real Robot), integrando nodos de ROS en Linux y módulos de Windows a través del middleware propio Blackboard:
- Capa de Entradas (Inputs): Adquiere señales de sensores láser LiDAR, sonares, infrarrojos, cámaras Kinect RGB-D y micrófonos. El procesamiento digital de señales transforma los flujos sensoriales en creencias simbólicas del entorno.
- Capa de Gestión del Conocimiento: Mantiene mapas de ocupación mediante SLAM, estimación de localización con Filtro de Kalman y un sistema experto basado en reglas con CLIPS (NASA).
- Capa de Planeación: Valida las creencias sensoriales contra la base de conocimientos, evalúa situaciones y sintetiza secuencias de operaciones físicas en espacio de estados.
- Capa de Ejecución: Despliega máquinas de estados finitos que ejecutan procedimientos base preprogramados (seguimiento de personas, diálogo, navegación y manipulación).
3. Líneas de Investigación y Desarrollos Técnicos
A. Comprensión del Lenguaje Natural con Dependencias Conceptuales (CD)
Representación semántica estructurada basada en la teoría de Dependencias Conceptuales de Schank dentro de un sistema experto:
- Descompone comandos hablados en primitivas conceptuales de acción, principalmente ATRANS (transferencia de relaciones abstractas o posesión, ej. entregar) y PTRANS (transferencia de ubicación física, ej. ir).
- Extrae actor, acción, objeto, dirección y estado sin requerir estructuras gramaticales rígidas.
- Inserta hechos estructurados en la memoria de trabajo de CLIPS para generar planes de acción deterministas en el espacio de estados.
B. Detección Facial en Multitudes Mediante Unión de Imágenes (Stitching)
Canal de visión panorámica para resolver la prueba de conteo e identificación de multitudes en RoboCup@Home:
- Captura ráfagas de imágenes RGB con diferentes inclinaciones y giros de la cabeza mecatrónica.
- Detecta puntos de interés invariantes mediante SURF y realiza el emparejamiento de características con FLANN.
- Estima la matriz de homografía mediante RANSAC para corregir distorsiones de lente, diferencias de exposición y alineación entre tomas.
- Aplica clasificadores Haar Cascade sobre la imagen panorámica resultante para contabilizar personas de pie, sentadas o acostadas.
C. Localización de Fuentes Acústicas (Sound Source Localization - SSL)
Estimación de la dirección de llegada (DOA) en un rango angular de [0, 2π) mediante un arreglo triangular equilátero de micrófonos:
- Procesamiento de desfase de señales en tiempo real mediante un microcontrolador Texas Instruments TMS320F28377S con convertidores ADC duales de 12 bits muestreando hasta a 1.1 MSPS.
- Cálculo de la Densidad Espectral de Potencia Cruzada (CPSD) entre pares de micrófonos: G12(ω) = X1*(ω) X2(ω) = P(ω) e-jωτ.
- Integración del espectro cruzado conjunto para identificar el ángulo exacto donde se maximiza la señal del interlocutor.
4. Ficha Técnica: Robot Justina
| Base Móvil | Base omnidireccional con configuración de par diferencial y ruedas omnidireccionales (nuevo diseño) |
| Torso y Cabeza | Torso elevador de 1 GDL (tornillo sin fin y engranes); cabeza mecatrónica de 2 GDL (giro e inclinación) con servomotores Dynamixel |
| Manipuladores | Dos brazos antropomórficos de 7 GDL accionados por 10 servomotores Dynamixel cada uno |
| Sensores y Visión | LiDAR Hokuyo URG-04LX-UG01, sensor RGB-D Microsoft Kinect, cámara Logitech Pro C920 Full HD |
| Audio y Micrófonos | Micrófono direccional Røde NTG2, arreglo de cuatro micrófonos para localización acústica, altavoces duales |
| Software y Nodos | ROS Kinetic, middleware Blackboard, ROS Gmapping, navegación con A*, Haar Cascades, OpenPoses, síntesis con Loquendo, Microsoft Speech Recognition, CLIPS (NASA) |
| Arquitectura de Cómputo | Computadora a bordo con Ubuntu 16.04 LTS y máquina virtual Windows 7; microcontrolador TMS320F28377S dedicado para DSP de audio |