Arquitecturas Basadas en el Comportamiento Introducción a la Robótica Inteligente Álvaro Gutiérrez 4 de marzo de 2016 [email protected] www.robolabo.etsit.upm.es N Índice 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N Un poco de historia I I 40’s: Turing y von Newman 50’s: Walter y Minsky I I I 60’s: Problemas del Cognitivismo I I I I I Problema del marco Anclaje del símbolo Homúnculo 70’s: Conexionistas 80’s: Basados en el comportamiento I N Walter -> Tortugas, Reactivos Minsky -> Cognitivista, los programas Brooks Arq. Basadas en el Comportamiento N I Descomposicón modular en comportamientos I Inspiración de animales e insectos I Sistemas distribuidos de módulos autónomos o semi-autónomos I Tradicionalmente asociado a sistemas reactivos (Subsunción) I También se diseñan sistemas no puramente reactivos Arq. Basadas en Comportamientos IDENTIFICAR OBJETOS SENSORES EXPLORAR NAVEGAR EVITA OBSTACULOS N ACTUADORES Arq. Basadas en Comportamientos Dibujo de Fitz Patrick (1996) N 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N Rodney. A. Brooks I Profesor e investigador en Standford y en el MIT I Director del laboratorio de IA del MIT En los 80’s Brooks se hizo preguntas con respecto a la IA clásica y la inteligencia en general. I I Como tantos otros ingenieros y filósofos anteriormente. I Su paternidad: Arquitectura Subsunción I Su meta: Desarrollar criaturas artificiales capaces de habitar en el mundo real y no en un mundo simplificado/simulado I Actualmente es empresario (IRobot ) N Algunas Preguntas I ¿Qué es la inteligencia? N Algunas Preguntas I ¿Qué es la inteligencia? I ¿Es una mosca inteligente? N Algunas Preguntas I ¿Qué es la inteligencia? I ¿Es una mosca inteligente? I ¿Es esta mosca más inteligente que algunas de nuestras máquinas inteligentes? N Algunas Preguntas I ¿Qué es la inteligencia? I ¿Es una mosca inteligente? I ¿Es esta mosca más inteligente que algunas de nuestras máquinas inteligentes? I Por ejemplo ... N Más preguntas I No es muy probable que esta mosca: I Cree descripciones 3D de los objetos que sobrevuela I Razone con respecto a los humanos que la rodean intentando matarla. Sobre todo sobre sus deseos, objetivos,... I Realice un estudio sobre cual es el mejor sitio para depositar los huevos I Construya una teoría física sobre como aterrizar en una mesa N Algunas Respuestas I I Es más probable que esta mosca: I Tenga conexiones directas entre sensores y actuadores I Tenga comportamientos pre-establecidos/ aprendidos I Tenga herramientas simples de navegación I Funcione prácticamente como una máquina determinista Aún así, esta mosca es más eficiente en su movimiento en el mundo real que cualquiera de los intentos en Inteligencia Artificial N Visón de Brooks sobre la Inteligencia I La Inteligencia Humana es muy difícil de implementar actualmente I No es el único tipo de inteligencia I El “divide y conquistarás” ha hecho que la IA se dedique a problemas irrelevantes I Hay que seguir el camino lógico, de la “evolución” I Empezar con “inteligencias”(comportamientos) más sencillas I Después de un éxito, ir hacia “inteligencias”(comportamientos) más complejas N Requisitos de un robot I Varios objetivos: I I I Varios sensores: I I I Solapados Ruidosos Robustez: I I I Normalmente compitiendo entre ellos. Ej. Evitar obstáculos vs. ir hacia la luz Si algún sensor falla, el robot debe seguir realizando su tarea Si el mundo cambia, el robot debe seguir realizando su tarea Escalabilidad: I Cuanto más sensores y capacidades, comportamientos más complejos. N Subsunción - Niveles de competencia I Niveles de competencia: I I I I Define los comportamientos deseados: Evitar Obstáculos, Explorar, traer comida,... Cada nivel se puede implementar independientemente Permite una gran escalabilidad Compuestos de varios módulos NIVEL 3 NIVEL 2 NIVEL 1 SENSORES NIVEL 0 N ACTUADORES Subsunción - Módulos I Módulos: Son Máquinas de Estados Finitos Aumentadas RESET INHIBIDOR R MODULO DE COMPORTAMIENTO ENTRADAS S SUPRESOR N I SALIDAS Arquitectura Subsunción - Módulos MODULO − MEF AUMENTADA R MAQUINA DE ESTADOS FINITOS R R N Subsunción - Módulos I Los aspectos más importantes son: I Las salidas son funciones sencillas de las entradas y variables locales I Las entradas/salidas se pueden inhibir/suprimir I Los módulos de los niveles de competencia superiores pueden inhibir a los inferiores I Los niveles de competencia inferiores siguen funcionando como si no existieran los niveles superiores N Subsunción - Inhibición ENTRADA ENTRADA ENTRADA ENTRADA EVITAR OBSTACULOS ir hacia adelante INHIBIDOR (tiempo) BUSCAR COMIDA EVITAR OBSTACULOS BUSCAR COMIDA N ir hacia adelante MOTORES SIN INHIBICION ir hacia adelante INHIBIDOR (tiempo) MOTORES CON INHIBICION VERDADERO Subsunción - Supresión ENTRADA ENTRADA ENTRADA ENTRADA EVITAR OBSTACULOS ir hacia adelante SUPRESOR (tiempo) BUSCAR COMIDA EVITAR OBSTACULOS BUSCAR COMIDA N ir hacia adelante MOTORES SIN SUPRESION ir hacia adelante SUPRESOR (tiempo) parar motores MOTORES CON SUPRESION parar motores 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N Ejemplo 1 - Nivel 0 A Robust Layered Control System For a Mobile Robot (R. A. Brooks 1986) N Ejemplo 1 - Nivel 0 y 1 N Ejemplo 1 - Nivel 0, 1 y 2 N Ejemplo 2 - Genghis I Robot de 6 patas I Caminar I 57 AFSMs A Robot that Walks; Emergent Behaviors from a Carefully Evolved Network (R. A. Brooks 1989) N Ejemplo 2 - Genghis I Mantenerse de pie N Ejemplo 2 - Genghis I Caminar en terreno plano N Ejemplo 2 - Genghis I Caminar en terreno accidentado (Detección de choque) N Ejemplo 2 - Genghis I Caminar en terreno accidentado (Detección de obstáculos) N Ejemplo 2 - Genghis I Búsqueda de objetivos N 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N Ejemplos IRSIM Lo vemos en el código!! N Ejemplo 1 - IRSIM NAVIGATE PROX AVOID S MOTORS subsumptionlightcontroller, paramFileSubsumptionLight N Ejemplo 2 - IRSIM NAVIGATE BATT LIGHT LOAD BATT PROX AVOID S S MOTORS subsumptionlightcontroller, paramFileSubsumptionLight N Ejemplo 3 - IRSIM LIGHT LIGHT GRIPPER NAVIGATE I FORAGE BATT LIGHT LOAD BATT PROX AVOID S S S MOTORS subsumptiongarbagecontroller, paramFileSubsumptionGarbage N 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N Ronald C. Arkin I Profesor e investigador en Georgia Institute of Technology I Director del Mobile Robot Laboratory (Georgia Tech) I Su paternidad: Esquemas Motores I Su meta: Permitir coordinación de comportamientos inspirados en la biología N Esquemas Motores N 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N Ejemplo 1 - Navegar Motor Schema Based Navigation For a Mobile Robot (R. C. Arkin 1987) N Ejemplo 1 - Evitar Obstáculo N Ejemplo 1 - Objetivo N Ejemplo 1 - Ruido N Ejemplo 1 - Motor Schema N 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N Ejemplos IRSIM Lo vemos en el código!! N Ejemplo 1 - IRSIM NAVIGATE PROX AVOID Σ MOTORS motorSchemas1controller, motorSchemas1Param N Ejemplo 2 - IRSIM NAVIGATE BATT LIGHT LOAD BATT PROX AVOID Σ MOTORS motorSchemas1controller, motorSchemas1Param N Ejemplo 3 - IRSIM LIGHT LIGHT GRIPPER NAVIGATE I FORAGE Σ BATT LIGHT LOAD BATT PROX AVOID MOTORS motorSchemas2controller, motorSchemas2Param N 1 Introducción 2 Arquitectura Subsunción Ejemplos Brooks Ejemplos IRSIM 3 Esquemas Motores Ejemplo Arkin Ejemplos IRSIM 4 Conclusiones N Conclusiones I Técnicas de diseño ingenieriles sobre principios cognitivos I División en niveles de competencias I Cada nivel recibe información sensorial del mundo y actúa sobre el mismo I Cada capa es completamente autónoma I Criticada por su poca relación con el diseño de sistemas inteligentes Sin embargo: I I I I I Realiza una descomposición funcional: No pregunta como procesar información sensorial sino como acoplarla a los actuadores Está ligada al concepto de corporeizado Es distribuida Combina el diseño de robots con principios evolutivos N Problemas I Las prioridades deben ser evaluadas en el momento de diseño I Necesita que los comportamientos estén bien definidos I Subsunción: Los comportamientos no se pueden combinar, sólo inhibir/suprimir I Esquemas Motores: Los comportamientos si se pueden combinar. I Se maximiza el número de niveles de competencia I Rígida en tiempo de ejecución N Críticas I ¿Es posible implementar comportamientos complejos? I ¿Es una evolución? I ¿Capacidad de aprendizaje? I ¿Serán necesarias representaciones? N Referencias I R. Pfeifer and C. Scheier. Understanding Intelligence. The MIT Press, Cambridge, MA. (2001) I R. A. Brooks. A Robust Layer Control System For A Mobile Robot. IEEE Journal of Robotics and Automation, RA-2(1), pp. 14-13. (1986) I R. A. Brooks. A Robot that Walks; Emergent Behaviors from a Carefully Evolved Network. Neural Computation, 1(2), pp. 253-262, (1989) I R. C. Arkin. Behavior-Based Robotics. The MIT Press, Cambridge, MA (1998) N Gracias GRACIAS!! N Gracias GRACIAS!! N