L. Enrique Sucar M. López Robótica Inteligente Los robots del futuro: Robots de Servicio
Robots de servicio Guías – un robot me sirve de guía en un museo, me explica las exibiciones,... Ayudantes – un robot corta el pasto, aspira la casa, vigila cuando no estoy, ayuda a personas discapacitadas,... Rescate – un grupo de robots localiza a los sobrevivientes en un terremoto,... Exploración – un grupo de robots explora un volcán, un arrecife, marte,
De robots industriales a... Tarea repetitiva Ambiente conocido y controlado No hay interacción con personas Poca flexibilidad Poca movilidad
... a robots de servicio Ambientes desconocidos Ambientes dinámicos Necesidad de movilidad Interacción con personas Ambientes exteriores Necesidad de flexibilidad
Retos Explorar y modelar el ambiente Navegar en ambientes desonocidos y dinámicos Localizarse en el ambiente Reconocer y manipular objetos Comunicación remota Interacción natural con personas
Contenido Telecontrol de robots Construcción de mapas, navegación y localización Comunicación mediante ademanes Algunos retos futuros Reporte y Presentación final
Laboratorios Virtuales Un laboratorio virtual permite realizar experimentos sin contar con un laboratorio “físico”: –Simulación –Telecontrol Aplicaciones: –Educación y entrenamiento –Investigación y cooperación –Experimentación a distancia
Laboratorio Virtual Telecontrol + Telemetría Simulador Lab. Real
Telecontrol Programación y observación remota del equipo Programación: –lenguaje de alto nivel –comandos gráficos interactivos Observación: –retroalimentación (imágenes, video y audio) –medidores virtuales gráficos o textuales
Laboratorio Virtual de Robótica Experimentación con robots móviles –programación –planeación de trayectorias –construcción de mapas –localización Laboratorios: –Telecontrol –Simulación
Telecontrol
El laboratorio virtual mediante telecontrol permite hacer experimentos a distancia con un robot móvil a través de Internet El laboratorio incluye: –Un módulo de programación –Un módulo de observación –Un módulo de seguridad –Servidor e interfaz al cliente
Configuración Red local Internet
Robot Móvil
Sensores: cámara y sonar
Arquitectura de Telecontrol
Elementos del Laboratorio Remoto Servidor de páginas Web –Conexión con el robot móvil –Conexión con el sistema de video para observación –Conexión con el cliente Sistema de visualización del experimento –Vista del robot y su ambiente mediante video Sistema de programación –Ambiente para edición y envio de comandos
Módulo de Programación
Basado en un lenguaje de diez instrucciones: –avanza –alto –desplaza_derecha –desplaza_izquierda –gira_derecha –gira_izquierda –gira_torreta_derecha –gira_torreta_izquierda –inicio, fin
Módulo de Navegación Interpreta los valores obtenidos en el Módulo de Programación y los traduce a instrucciones ejecutables en el robot Envia las instrucciones para su ejecución en el robot Al terminar la secuencia se inicializa el robot (alinean las ruedas y la torreta) para ejecutar una nueva secuencia
Módulo de Seguridad Vigila la integridad del robot Se toman continuamente lecturas de los sonares Se establece una zona de seguridad en torno del robot El modulo de Seguridad es independiente del modulo de navegación y puede detener las acciones que realiza el módulo de navegación
Arquitectura Robot Seguridad Navegación Observación
Arquitectura Jerárquica
Módulo de Visualización Captura de video para visualización remota del experimento. Dos cámaras: –Vista externa del robot y su ambiente –Vista interna desde el robot Compresión de imágenes (JPEG) Envio al cliente en forma continua a través del servidor
Ejemplo de Programación
Telecontrol Encargado:
Construcción de Mapas
El problema de construir un mapa Mapa
Mapa de Rejilla Probabilístico Cada celda tiene asociada una probabilidad de estar ocupada
Enfoque: Construcción de mapas
Construcción de mapas Sonares láser mapa " ¿Cómo combinar las lecturas de los sensores? " ¿Hacia dónde mover el robot? " ¿Cómo corregir los errores odométricos?
Componente de Fusión sensorial Idea: Una celda es considerada ocupada si es detectada al menos por un sensor P(O) = P(O sonar ORO láser ORO odómetro ) *
Componente de Exploración Idea: Mover el robot hacia la celda inexplorada más cercana " Manteniendo una distancia prudente a los obstáculos (si es posible) " Evitando cambios de orientación (si es posible) Posibles movimientos: Mov = {m 0,... m i,..., m 7 } m i =(dx, dy)
El costo por avanzar incluye: " Distancia entre celdas " Costo de la celda destino de acuerdo a su tipo Celdas ocupadas Celdas de advertencia Celdas de viaje Celdas lejanas Espacio de viaje
Componente de Seguimiento de la ubicación Idea:Para pequeños desplazamientos del robot, la vista láser del robot y una vista láser calculada a partir del mapa son similares Vista del mapa Vista del láser después del movimiento
Utilizando correlación entre vistas Estimación de orientation ( : Correlación polar entre la vista láser y la vista del mapa. Estimación desplazamiento (x,y): Búsqueda en una vecindad alrededor de la posición dada por el odómetro.
Fusión sensorial: simulación Ambiente simulado Mapa
Fusión Sensorial: robot real
Dibujo ideal de una casa Mapa construido
Construyendo un mapa Videos
Navegación
" Uso de la misma técnica de programación dinámica. " Sólo la celda meta tiene al inicio V(x,y)=0. " Preprocesamiento del espacio de viaje para formar un mapa de caminos (roadmap). Roadmap
Construcción del roadmap Espacio de viajeRoadmap parcialRoadmap
Navegación Para considerar la incertidumbre en la posición del robot " Se hace crecer el roadmap. Para conectar las celdas iniciales y finales " Se utilizan círculos. V(x,y) (pixel oscuros denotan valores altos) G I
Localización Global
Localización de Markov Idea: Calcular una distribución de probabilidad Bel(q) para la ubicación del robot sobre todas las ubicaciones posibles q ( )
Localización de Markov : paso de sensado
Localización de Markov: paso de movimiento
Correlación polar: mapa – vista actual Mapa global Vista del mapa, m(q) Vista sensada, s
Agrupando las celdas del roadmap " Se utiliza un método de Componentes Principales para encontrar características invariantes a rotación de una vista. " Se utiliza Autoclass [Cheeseman and Stutz, 1996] para agrupar las celdas del roadmap
Grupos encontrados por Autoclass
Generación de hipótesis 1. Calcular 1 and de la vista sensada. 2. Con 1 y , usar Autoclass para predecir la clase (o clases) más probable. 3. Para todas las celdas en la clase predicha, aplicar el paso de sensado de la LM y alinear el robot considerando la ubicación más probable.
Un ejemplo
El enfoque propuesto: Etapa de eliminación de hipótesis " Considera movimientos de la ubicación más probable q hacia celdas del roadmap delgado " Agrupar hipótesis. Los mejores movimientos eliminan al menos un grupo de hipótesis (se usa nuevamente Autoclass para obtener los grupos).
Criterio de predicción por salida del roadmap Movimiento útilMovimiento no útil
Matriz de similaridad Utilizando correlación entre vistas láser
Generación de hipótesis: Agrupación de celdas del roadmap Roadmap 4 clases
Localización: matriz de similaridad
Proceso de localización global
Localizando al robot Video
Comunicación mediante ademanes
Ademanes Útiles para la comunicación humano-robot Comunicar información geométrica –Ve para allá –Toma ese objeto –Qué es eso? Complemento a la voz –Para! –Ven!
Ademanes
Ven Atención Derecha Izquierda Alto
Reconocomiento de ademanes Extracción de características Modelado Reconocimiento Images FE Features R M Gestures
Extracción de características Detección de piel Segmentación de la cara y manos Seguimiento de la mano Parámetros de movimiento
Detección de Piel
Segmentación Búsqueda radial Agrupamiento de pixels de piel
Seguimiento Localiza cara y mano Seguimiento de la mano
Parámetros –Cambio en X ( X) –Cambio en Y ( Y) –Cambio en área ( A) –Cambio en razón de lados ( R) Valores: (+, 0, -) X1,Y,1 X2,Y2 A1 A2
Reconocimiento Basado en modelos ocultos de Markov (HMM) Un modelo por ademán: –3 estados: gestos “simples” –5 estados: gestos “complejos”
Resultados preliminares Los modelos son entrenados con diferentes secuencias y probados con otras Reconocimientos correctos: –ven75.3 % –atención70.7% –alto65.8 % –derecha100 % –izquierda100 % –Promedio:82%
Ejemplos de comandos
Retos futuros Integración de comandos mediante ademanes con el sistema de telecontrol Añadir un ayudante (tutor inteligente) al laboratorio virtual Extender el lenguaje de ademanes y mejorar el reconocimientob
Retos futuros Combinar reconocimieno de voz y ademanes para interacción con robot Planeación a un nivel más alto, incluyendo “semántica” al mapa Integrar navegación y comunicación Aplicación a un robot de servicio (guía en la universidad o un museo)
Reporte Introducción Diseño mecánico (comunicaciones) Diseño sensorial (visión) Algoritmos de control Programación (estrategias, arquitectura) Pruebas y Resultados Conclusiones Referencias
Presentación Presentar en 10 minutos los aspectos más relevantes de su proyecto (en equipo) Demostración de su robot realizando su tarea (5 min. – máximo 3 intentos) Entregar: –Reporte impreso –CD con reporte, presentación, programas (fotos y videos) –ES REQUISITO ENTREGAR LO ANTERIOR PARA PODER HACER SU PRESENTACIÓN FINAL