Inteligencia Artificial Robótica Prof. Wílmer Pereira
Paradigmas en Robótica Filosofías y/o técnicas que caracterizan el enfoque para resolver problemas Manipuladores Telepresencia vs Autónomo Jerárquico Reactivo Normalmente sin técnicas de inteligencia artificial Híbrido
Paradigma Jerárquico Sense Plan Act Las sensaciones se reúnen en un modelo global de planificación que actúa después por introspección Es necesaria la suposición de mundo cerrado CWA (Closed World Assumption). El mundo es sólo lo explícito Inconvenientes no considera el aceptado esquema estímulo/respuesta
Paradigma Reactivo Plan Sense Act Fuerte tendencia biológica que acopla sense-act con comportamientos predeterminados (Plan omnipresente) Basado en el paradigma Estímulo-Respuesta de los psicólogos de Harvard inspirados en B. F. Skinner Inconvenientes obviar el plan es una situación en ocasiones extrema
Paradigma Híbrido Plan Sense Act Primero planifica y luego es reactivo El planner está presente en todos los sensing pero sólo actúa en ciertas condiciones Inconvenientes muy dependiente de la aplicación
Robótica con manipuladores Automatización industrial en tareas repetitivas que no requiere sensores pues los algoritmos normalmente son determinísticos No es solución a largo plazo Se usa en trabajos riesgosos y tediosos En casos de haber cambios, deben ser reprogramados
Telepresencia con arquitecturas cliente/servidor Control de robot a distancia a través de una red cableada o inalámbrica No siempre hay visión cuando el enlace no ofrece alto ancho de banda Puede haber fatiga cognitiva si se utiliza realidad virtual (costoso) Retardo de conexión (2,5 min a la Luna y 140 min hasta Marte) Un operador por robot Usos: Tareas estructuradas y no repetitivas Ambientes riesgosos para el hombre Útil cuando el retardo es bajo Normalmente requiere de visión artificial Común en control semi-autónomo
Ejm1: Telepresencia vía Red Construcción de aplicaciones que interactuen con un robot a partir de un componente Jini Servicios (Robots) Localizador de Servicios (JINI) Clientes (Mapas) Robot Legomindstorm navegando en un ambiente desconocido con obstáculos (montado sobre una estación SUN Ultra) Mapa de navegación se visualiza en un computador remoto El operador humano controla los movimientos del robot con ayuda del mapa, usando los efectores (motores y dispositivos de rotación) gracias a los sensores (sólo contacto) El robot es un servicio de red compartido (controlado con un enlace infrarrojo), accedido remotamente (programa Java+Jini) 6 th World Multiconference on Systemics, Cybernetics and Informatics (SCI 2002), Orlando, USA, 14-18 Julio 2002.
Ejm1: Arquitectura de software Servidor de Búsqueda Canal Inalámbrico Mapa_Stub Servidor MapaServer Mapa Mapa_Stub Solicitud Respuesta Operador Discovery Mapa_Stub Usuario Notificaciones remotas Discovery Mapa_Stub
Ejm1: Conclusiones de la telepresencia Facilidad de programación de la aplicación distribuida, con un sencillo manejo de la exclusión mutua (gracias a los monitores de Java) sobre los recursos asociados al robot La telepresencia genera problemas insondable para la construcción de mapas Múltiples limitaciones asociadas a los sensores de contacto produjeron problemas de posicionamiento, es decir, desorientación del robot.
Paradigma jerárquico Funcionamiento introspectivo organizado por capas generalmente con conocimiento a priori El más antiguo paradigma donde STRIPS es el más conocido representante Arquitecturas más conocidas: Control Jerárquico Anidado (NHC) Sistema de Control en Tiempo Real (RCS) Control jerárquico anidado Planificación de misión: Fija plan de acción conociendo el objetivo Navegación: Genera el camino Piloto: Adecua la acción propuesta por la navegación Controlador: Ejecuta acciones
Control jerárquico anidado Sensing Planning Planificación de misión Navegación Conocimiento a priori Piloto Act Controlador S S S E E E Al recibir información de sensores se reestructura navegación y piloto más no la misión
Ejm2: Navegación con imágenes Programación de un Robot Autónomo modelo con Procesamiento Digital de Imágenes Movimientos en un espacio con señalización que indica directivas de desplazamiento (derecha, izquierda, adelante o atrás) Robot Legomindstorm y una cámara vision command para la entrada de información y dos motores para salida o efectores del sistema Programación en VisualBasic con un ActiveX (spirit.ocx) y librerías de la empresa (Logitech) para reconocimiento de patrones (letras). Limitacione s Procesamiento de imágenes en el computador (bajadas por el puerto USB cableado) lo cual impide plena autonomía El robot no es capaz de encontrar los letreros pues no maneja profundidad en las imágenes
Desventajas del paradigma jerárquico Planificación permanente No maneja explícitamente la incertidumbre Normalmente usan PROLOG o algún lenguaje funcional como LISP. Sin embargo ninguno de ellos manejan de manera natural el tiempo real (programación orientada a eventos). Problema de representación (frame problem). Debe adecuarse la representación a cada problema lo cual se considera más un arte que una ciencia
Etología y robótica Adecuación de la etología a la robótica, imitando mecanismo de comportamiento animal Los insectos a pesar de tener un cerebro muy pequeño muestran comportamiento inteligente bajo los esquemas de estímulo-respuesta Comportamiento: Correspondencia entre los sensores y los patrones de acción para lograr una tarea Reflexivo: Estímulo-respuesta sin cognición Reactivo: Estímulo-respuesta con aprendizaje Consciente: Deliberado y con razonamiento Reflexivo (etología) = Reactivo (robótica) Reflexivo: Reflejo: Directo Gravado: Respuesta con orientación Patrón de acción fija: Continuo, más allá del estímulo
Adquisición del comportamiento Innato: al alimentarse, el pico rojo de las aves: pichón y madre Secuencia innata: avispas aparean, macho construye nido, hembra deja huevos Innato con memoria: abeja ubica colmena haciendo inicialmente viajes cortos desde distintos ángulos Aprendido: la caza en los leones El estímulo puede ser interno (hambre) o externo (dolor que causa objeto) o abstracto (altruismo) Los estímulos son disparadores de comportamientos Ante la concurrencia de estímulos debe haber Equilibrio Dominancia Cancelación Los mecanismos de percepción son la manera de captar los estímulos del medio ambiente (abejas que identifican flores por coloración UV)
Teoría del esquema Estructuración de la percepción y la acción, inspirado en un modelo orientado a objetos Un esquema es una clase con dos tipos de métodos: Esquemas perceptuales (percepción) Esquemas motores (acción) Visión (esquema perceptual) para conducir (esquema motor) Rana Computatrix Mosca Comer Ir a mosca Esquema perceptual (estímulo disparador : movimiento) Comportamiento Esquema motor Problema: Qué sucede si hay dos moscas? Problema: Y un depredador? Solución: Reconocer una mosca de otra aunque es difícil Solución: Inhibir comer si objeto grande y activar huir de depredador
Problemas de los enfoque inspirados en biología Qué hace el robot ante una situación crítica? Cómo aprende? Cuándo requiere representación del conocimiento explícita? Conflictos con la concurrencia difíciles de resolver El animal tiene la evolución y no así el robot El robot no se adecua a eventos inesperados
Diseño de robots en el paradigma reactivo Diseño vertical con estructuración por capas Arquitecturas: Subsumption: Subordinación de capas Potential Fields: Campos detectados por sensores independientes que determinan el comportamiento del robot Comportamiento emergente que no tiene manera de ser explicado
Características del paradigma reactivo Función de transferencia de sensores a efectores No se requieren estructuras de datos (no hay frame problem) Más rápido y puede ser montado directamente en hardware No maneja memoria pero si persistencia Egocentrismo del robot Interacción de estímulo conduce a comportamientos emergentes Sencillo de modularizar Funciona bien en tiempo real
Subordinación (subsumption) Basado en comportamientos por capas, sin control central Conflictos lo ganan las capas superiores Minimiza estado interno para no diverger de la realidad??? Problemas: Arquitectura ad hoc dependiente de la aplicación Si una tarea debe cambiar de nivel implica reestructuración de la aplicación
Campos potenciales Cada sensor contiene una magnitud y dirección que se suman El robot se visualiza como partícula en un campo de fuerzas Tipo de campos: Uniforme, Perpendicular, Atractor, Tangencial y Repulsor Las coordenadas no son absolutas y no hay memoria ded posiciones precedentes Ningún comportamiento subordina a otro La concurrencia es implícita Problemas: Cómo fijar las magnitudes? Pueden anularse campos lo que implica inamovilidad del robot Múltiples sensores ven más obstáculos de los debidos
Ejm3: Autonomía en Navegación Sistema Autónomo de Desplazamiento en Robots con Reconocimiento de Patrones Geométricos Regulares Robot Legomindstorm navegando en un ambiente desconocido de calles e intersecciones Algoritmo de aprendizaje por reforzamiento Pruebas de comparación entre Q-Learning y Value Iteration para medir desempeño en diferentes circunstancias de navegación El robot es autónomo y recibe feedback del entorno (distancia hasta el objetivo desarrollado en JAVA International Conference on Informatics in Control, Automation and Robotics, Setúbal, Portugal, August 25-28, 2004.
Paradigma híbrido Aprovecha las ventajas del reactivo pero con planificación teniendo un estado global Planning Reactivo Permite optimizar pues al tener un estado global se puede escoger el mejor comportamiento Puede monitorear para asegurar que se tiende al objetivo Se desarrolla por capas donde las capas bajas son reactivas y las capas altas son deliberativas Las capas altas permiten coordinación de actividades sensoriales, planificación de caminos, construcción de mapas
Arquitecturas híbridas Cómo distinguir entre deliberativo y reactivo? Qué comportamientos emergen? Cómo estructurar el software? Componentes de la arquitectura híbrida Secuenciador: Manejador de recursos: Cartógrafo: Planificador de misión: Monitoreo de rendimiento: Cadena de activación de los comportamientos Sensores + efectores + librería de esquemas Crear, almacenar y mantener el mapa Construir la estrategia para llegar al objetivo Verificar progresos del robot Estilos de arquitectura Gerencial: Capas deliberativas con control jerárquico Jerarquía de estados: Reactivo + deliberativas con estados de tiempos Orientado a modelos: Centralizado específico a la aplicación
Arquitectura gerencial Estructura por capas organizadas por responsabilidades Capas altas más abstractas (ven resultados de las capas bajas) y capas bajas más reactivas (acuden a las capas altas ante fallas) Control homeoestático modifica la relación entre los comportamientos y mide el desempeño del robot. Requiere de los estímulos para adaptarse a los cambios AuRA (Autonomous Robot Architecture) Basado en la teoría de esquemas, orientada a objetos Cartógrafo Planificador Misión Navegador Piloto Capa Deliberativa Sensores s s s Manejador de esquemas motores E E E Σ Act Control Homeoestático Capa Reactiva
Arquitectura orientada a modelos Saphira Coordinación Coherencia Comunicación Sensor-efector (reactiva) Representación del mundo Interacción con humanos Manejo del tiempo (deliberativa) y otros robots Planificación ligera Búsqueda de personas Reconocimiento de objetos Construcción de superficie Capa deliberativa Espacio perceptual local (cartógrafo) Mantenimiento del mapa Planificación topológica Navegación Sensores Capa reactiva Comportamientos reactivos Lógica difusa Act
Ejm4: Aprendizaje en esquema depredador/presa Sistema Autónomo de Inteligencia Artificial para Orientar Intersección de Objetivo Móvil de Comportamiento Evasivo Aplicado a Robótica Interacción de dos robots donde uno es depredador y el otro presa. La presa tiene una técnica evasiva desconocida del depredador El depredador utiliza técnicas de Inteligencia Artificial para aprender y capturar la presa La entrada de datos la recibe el depredador desde una cámara situada sobre el espacio.
Observaciones del paradigma híbrido Modulares, estructurado por capas y orientado a objetos Lo mejor de la mezcla de reactivo y jerárquico Puede actuar en mundos abiertos aunque la planificación es sobre mundo cerrado Planifica caminos por tramos Construcción de mapas es muy conveniente. Separa deliberativo de reactivo facilita la concepción del software Navegación y planificación lento. Si la planificación es precalculada, se adapta mal a los cambios Reporte de fallas de capas bajas a altas. Control de capas altas a bajas
Integración de Paradigmas: Robótica Espacial La robótica espacial integra todos los paradigmas pues debe ser autónomo y también es posible la telepresencia Rovers recientes Spirit y Opportunity (Enero 2004) activos más del tiempo previsto IDEA = Agentes Inteligentes de Ejecución Instalable, futuros robots en el Centro Ames (NASA), en Silicon Valley. Capsula Huygens de la misión Cassini, que se posó en Titán (una de las lunas de Jupiter) Multiagentes
Navegación Robótica Cuál es su posición actual? Dónde ha estado? Hacia donde se dirige? Cómo llegar más eficientemente al objetivo? Navegación Topológica Desplazamiento bajo enfoque cualitativo usando marcas. Utiliza teoría de grafos para desplazamientos y es compatible con enfoque reactivo Navegación Métrica Desplazamiento bajo enfoque cuantitativo intentando optimizar. Compatible con enfoques jerárquicos
Navegación robótica Desplazamiento del robot para lograr posicionamiento en busca de un objetivo y/o construir un mapa de su entorno Errores posibles: Imprecisión de sensores (falsos positivos y negativos) Ruido del entorno (deslizamiento, roce, etc). Resolución de los sensores y efectores Calibración de la cinemática del movimiento Tipos de navegación: Descomposición en celdas (discretiza el espacio) Esqueletización (construye un grafo de puntos para navegar) Planificación con acote de errores (procesa errores de sensores y efectores) Desplazamiento por marcas (marcas en el entorno que orientan al robot) Decisiones de en línea (entorno desconocido asumiendo sensores precisos)
Descomposición en celdas Divide el espacio libre en celdas y construye un grafo de adyacencia. Así busca un camino entre la celda de comienzo y la celda objetivo Problemas: Las celdas rectangulares dejan cuñas que pueden impedir la adyacencia de celdas cuando el robot efectivamente si puede pasar Solucion... Celdas con la forma de los objetos
Esqueletización 1 Construir un grafo del espacio disponible considerando los puntos más prometedores. Esto disminuye la complejidad de búsqueda de caminos Grafos de Visibilidad Construir configuración que une todos los puntos críticos visibles Buscar el camino sólo entre las trayectorias trazadas
Esqueletización 2 Diagramas de Voronoi Cada punto tiene un valor asociado a la cercanía con el obstáculo. A este valor se le llamará altura. Se construye el gráfico de las alturas donde las crestas son equidistantes de los obstáculos Se buscan los caminos viajando por las crestas
Esqueletización 3 Mapa de camino Se construye un esqueleto con dos tipos de curvas: silueta (vía libre) y enlace (puentes). Las siluetas buscan por secciones considerando los bordes de los objetos. Los puentes se tienden entre puntos críticos. Se busca el camino por las siluetas conectandolos a través de los puentes. Las siluetas se pueden construir usando grafos de visibilidad o diagramas de Voronoi
Esqueletización 4 Planificación por acote de error: Tratar la imprecisión final de movimientos considerando la imprecisión de: sensores ambiente control del algoritmo Las secuencias de movimiento tienen comandos y una condición de fin
Esqueletización 5 Navegación por marcas: Usa las marcas para lograr orientación (código de barras) Cada marca tiene información que ayuda a conducir al objetivo (posiciona al robot) y así se visitan sólo una vez Navegación en línea: Guardan poca información del ambiente ya que de partida no disponen de información del espacio de desplazamientos La estrategia se planifica en función al problema a resolver Ejemplo: