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