introducción a la robótica basada en comportamientos
Post on 15-Jan-2016
44 Views
Preview:
DESCRIPTION
TRANSCRIPT
Introducción a la robótica basada en comportamientos
(parte 3)
Departamento de Computación
Facultad de Ciencias Exactas y Naturales
Universidad de Buenos Aires
Comportamientos reactivos
Un comportamiento reactivo es, simplemente, la reacción a un estímulo (Arkin, basado en el concepto expresado por la psicología del comportamiento )
Comentarios:
1. ¿Qué es lo que se entiende por estímulo?
2. ¿Qué es lo que se entiende por reacción?
3. Si el estímulo desaparece, debería desaparecer la respuesta (pues estamos hablando de reacción), luego lo que tenemos es un reflejo que, a priori, sería bastante menos que nuestra idea de comportamiento.
Podríamos adaptar el concepto de comportamiento reactivo como el conjunto de pares estímulo-reacción que conducen a que un robot dotado de dicho conjunto de pares describa el mismo comportamiento observado.
Sistemas reactivos
Un sistema reactivo acopla percepción a acción sin el uso de representaciones abstractas o historia temporal.
Un sistema reactivo debería tener las siguientes propiedades:
•Los comportamientos son los bloques básicos con que se construye un robot (desde el punto de vista lógico).
•La representación abstracta del conocimiento (extraído o adquirida a priori) debería ser evitada. La construcción de una representación del mundo (aunque sea parcial) consume tiempo (pérdida de reacción) y está sujeta a errores.
•Los modelos de comportamiento animal no deberían introducir restricciones sino que debería aportar una base sobre la cual se pueden definir comportamientos.
•Los comportamientos dentro de un sistema reactivo deberían poder ser re-usados sin ser modificados.
Métodos de diseño de comportamientos
• guiados por la etología
• guiados por la actividad asociada a una situación
• guiados experimentalmente
• aprendizaje
Guiados por la etología
Obtener, a partir de la etología, las bases del
comportamiento
Extraer modelo
Importar el modelo al robot
Realizar los experimentos
adecuados
Evaluar resultados
Modificar/adaptar el
modelo
Obtener nueva evidencia biológica
Listo
Ejemplo: sistema de navegación del sapo basado mediante polos de atracción y repulsión, implementado mediante campos potenciales (Arbib y House, 1987)
Guiados por la actividad asociada a una situación
Evaluar la interacción del robot con el entorno
Particionar el espacio considerando diferentes
situaciones
Crear respuestas a las situaciones
Importar las asociaciones al robot
Realizar los experimentos adecuados
Evaluar resultados
Listo
Corregir, ampliar, agregar asociaciones
Ejemplo: Pengi debe navegar en un mundo con obstáculos cumpliendo diferentes tareas. Una situación podría ser: estoy-sobre-un-borde-de-la-pared (Agre y Chapman).
Un caso extremo de los métodos guiados por la actividad asociada a una situación son los Planes universales.
En estos, para cada posible situación percibida por el robot existe una respuesta asociada (mas allá que el número de posibles respuestas sea finito o infinito, o el cardinal de situaciones posibles sea finito o infinito).
Guiados experimentalmente
Construir un sistema mínimo
Llevar a cabo experiencias con el
robot
Evaluar los resultados
Listo
Adicionar nuevos comportamientos y/o corregir los existentes
Ejemplo: el Genghis fue construido según esta metodología. Tanto comportamientos como sensores fueron incorporados incrementalmente (Brooks).
Brooks, Rodney A., A Robot That Walks; Emergent Behaviors from a Carefully Evolved Network
Genghis (hexápodo)
Comportamientos originales:
pararse y caminar (problemas con terrenos no regulares donde el robot perdía el equilibrio)
Se le agregó sensores (sensores de fuerza sobre las patas) que permitieran mantener una posición estable respecto del terreno.
Se le agregó más sensores (de contacto en forma de bigotes) para detectar obstáculos en la dirección de la caminata.
Se le agregó, también, sensores de inclinación para evitar situaciones donde el robot volcaba.
Para que siguiera a las personas se le agregó sensores térmicos (infrarojos) para que una vez que detectará a una persona, la siguiera.
Lista de comportamientos resultantes (en orden de incorporación):
•Pararse
•Caminar
•Forzar el balanceo
•Elevar pata (para abordar un obstáculo)
•Detectar obstáculos
•Estabilizarse
•Seguir un cuerpo caliente (animal o persona). Es suprimido ante la ausencia de calor.
•Dirigirse al cuerpo caliente.
(Video de genghis 1)
(Video de genghis 2)
Aprendizaje
El robot interactúa con el entorno aprendiendo las asociaciones estímulo-respuesta.
Puede ser:
Supervisado cuantitativo (se debe garantizar que durante la exploración el robot experimente una adecuada base de ejemplos con una respuesta conocida para poder generalizar).
Supervisado cualitativo, como por ejemplo, el aprendizaje por refuerzo donde el robot dispone de una medida de su desempeño en realizar el comportamiento objetivo la cual debe incrementar a lo largo del tiempo.
Clasificación general de comportamientos (Arkin)
De exploración o que preservan la dirección (ejemplos: caminar sin rumbo fijo, seguir una dirección)
Ir a un objetivo (ejemplos: ir a un objetivo puntual o área)
Evitar un área (ejemplos: evitar un obstáculo fijo o móvil, esquivar un obstáculo fijo o móvil )
Seguir caminos (ejemplos: seguir una ruta, navegar en un hall, seguir una línea)
Conservar una postura (ejemplos: balancearse, estabilizarse)
Caminar (ejemplos: andar, doblar, correr)
Manipulación (ejemplos: alcanzar)
Tomar y maniobrar (ejemplos: agarrar, envolver )
Métodos para expresar comportamientos
• Diagramas de estímulo respuesta
• Notación funcional
• Aceptador de cantidad finita de estados.
Diagramas de estímulo respuesta
ComportamientoEstímulo Respuesta
Ir al objetivoDetectar objetivo
Evitar objetoDetectar objeto
Seguir pasilloDetectar pasillo
PararEncontrar objetivo
Co
ord
inac
ión
Respuesta
Notación funcional
Cada comportamiento se nota como una función cuyo dominio es el conjunto de estados o situaciones posibles y cuya imagen es el conjunto de posibles acciones
r = C(s)
donde r es la respuesta, s es el estímulo y C es la función (mapeo) del comportamiento.
Respuesta = Coordinar-comportamientos( ir-hacia-el-objetivo(objetivo-detectado), esquivar-obstáculos(obstáculo-detectado), mantener-el-centro-del-hall(detectar-paredes-del-hall), esquivar-obstáculo-móvil(detectar-trayectoria-om) )
Aceptador con cantidad finita de estados (Finite State Acceptor FSA).
Este tipo de especificación es útil cuando se debe tratar con varios comportamientos los cuales podrían tener algún tipo de orden (pero, claramente no restringido a casos de secuencialidad)
Se especifican usando una 4-upla (Q, ,q0, F)
donde
Q representa los posibles estados (comportamientos),
la función de transición especificando un tipo de estímulo,
q0 es el estado (o comportamiento) inicial, y
F es el conjunto de estados (o comportamientos) finales.
Estímulo s que condiciona el comportamiento
no sC
Estímulo s que condiciona el comportamiento
C’
Respuesta = Coordinar-comportamientos( ir-hacia-el-objetivo(objetivo-detectado), esquivar-obstáculos(obstáculo-detectado), mantener-el-centro-del-hall(detectar-paredes-del-hall), esquivar-obstáculo-móvil(detectar-trayectoria-om) )
objetivo-detectado
ir-hacia-el-objetivo
Otro-estímulo
Listo-para-empezar
obstáculo-detectado
Esquivar-obstáculo
obstáculo-detectado Mantener-
en-hall
detectar-paredes-del-hall
detectar-paredes-del-hall
objetivo-detectado
objetivo-detectado
en-objetivo
en-objetivo
obstáculo-detectado
Listo
Representación de estímulos, acciones y mapeos (behavioral encoding)
Un comportamiento puede ser expresado con una 3-upla (S,R, )
donde
S denota el dominio de de todos los estímulos sujetos a interpretación
R denota el rango de las posibles respuestas
denota el mapeo :S->R
Codificación de las respuestas
La robótica basada en comportamientos requiere un robot con cuerpo interactuando en su entorno.
La existencia de un cuerpo con masa sometido a las leyes de la física y restringido por su interacción con el entorno implica que no necesariamente toda respuesta puede ser traducida (grounded) como tal.
En primer término existen restricciones que tienen que ver con el concepto de locomoción del robot. Por ejemplo, un robot con patas podrá desplazarse en su entorno restringido por el largo de sus patas, el ángulo (o desplazamiento) de sus articulaciones y la cantidad de uniones (juntas) que lo articulan.
El conjunto de restricciones de esta naturaleza (posición, velocidad y aceleración) están caracterizadas por el modelo cinemático del robot. En este tipo de modelos no importan las fuerzas que generan o intervienen en la producción del movimiento.
En segundo término existen restricciones que tienen que ver, precisamente, con las fuerzas que generan y condicionan el movimiento. Por ejemplo, rozamiento estático, dinámico, efecto
Coriolis, gravedad, torque aplicado a las juntas rotacionales, etc.
El conjunto de restricciones de esta naturaleza (masa y fuerza) están caracterizadas por el modelo dinámico del robot.
Estas restricciones están resumidas en el término no-holonomicidad.
Por ejemplo, un robot con 2 ruedas es no-holonómico ya que no puede moverse hacia la izquierda o la derecha. Siempre lo hace hacia delante en la dirección definida por la velocidad de sus ruedas.
Un robot holonómico puede ser tratado como un punto sin masa capaz de moverse en cualquier dirección en forma instantánea.
Habida cuenta de estas consideraciones, las respuestas de un robot podrían ser caracterizadas por
(x,y,z,,,)
donde
x,y,z especifican la posición del robot en el espacio cartesiano, y
,, son la orientación dada por el giro (roll), cabeceo (pitch) y paneo (yaw) en el espacio.
Ejemplo, en el Khepera, sólo tiene sentido especificar x,y, .
Las restricciones con que una respuesta es traducida en un robot físico concreto, en general, están incluidas en el mismo comportamiento.
Codificación de los estímulos
Un estímulo es representado por una dupla
(p,)
donde p indica la clase de estímulo y la magnitud.
Usualmente, cada clase p diferencia el tipo de sensor asociado a un estímulo y tiene asociado un parámetro de umbral notado .
Un estímulo cuya magnitud no supera el umbral no generará un respuesta motora, aunque si podría producir un efecto interno del robot.
Mapeo de estímulo-respuesta
r = (s)
donde : SR, s = (p,) y r = (x,y,z,,,).
Ejemplo:
(0,0,0,0,0,0) si <
(p,) =
Alguna-Función en otro caso
es una representación clásica de para el comportamiento de evitamiento de obstáculos.
Un mapeo puede tener una imagen formada por
•el valor nulo
•un conjunto finito de valores
•un conjunto infinito de valores
Mapear al valor nulo puede ser de útilidad para anular el efecto de ciertos sensores. Por ejemplo: (p, ) = 0 si p es la clase correspondiente al sensor de temperatura.
Mapear a un conjunto finito de valores tiene asociado el uso de reglas
IF ... THEN
donde el consecuente asocia una de las respuestas posibles dentro del conjunto finito.
Gapps, introducido por Bonasso, es un lenguaje que permite expresar mapeos mediante la combinación de reglas del tipo antecedente - consecuente.
Un aspecto interesante de Gapps es esta especificación puede ser obtenida a partir de declarar el comportamiento objetivo usando 3 posibles clases de objetivos (goal-state):
Alcanzar un comportamiento (achieve)
Mantener un comportamiento (maintain)
Llevar a cabo un comportamiento (do)
Ejemplo (en Bonasso 1992, para un UWV)(defgoalr (ach wander)
(if (not (at-wander-angle)) (ach turn to wander angle) (ach wander set point)))
Otro ejemplo para la especificación de comportamientos es el “Behavior Language” creado por Brooks y Connel (The Behavior Language; User's Guide, 1992)
Este es un lenguaje cuya sintaxis es muy parecida al LISP el cual es compilado sobre pequeños microcontroladores (i.e. Motorola 6811, Hitachi 6301).
Un comportamiento es implementado por una AFSM y definido
mediante un conjunto de reglas
Sintaxis:
(whenever (condición &rest cuerpo))
(defmachine nombre declaraciones reglas)
(defbehavior nombre &key entradas salidas declaraciones procesos)
Ejemplo:
(defbehavior ejemplo
:inputs (registro1 registro 2)
:outputs (puerto1)
:processes ((whenever (recibido registro1)
(setf puerto1 registro1))
(whenever (recibido registro2)
(setf puerto1 registro2 + registro2)) )
Mapear a un conjunto infinito de valores permite tener un espacio continuo de respuestas. Básicamente, esto es logrado haciendo que el mapeo quede definido por alguna función a los reales.
Esto puede ser logrado basado en la técnica de campos potenciales.
En campos potenciales, uno o la adición de dos o más campos (i.e. f : R2 R2) son usados para definir trayectorias de un punto a otro (i.e. en R2). Esta técnica fue introducida por Khatib, 1985.
Si bien esta técnica fue pensada para la planificación de trayectorias, puede ser usada, por parte del robot, en forma reactiva calculando el vector (o los vectores y luego adicionando vectorialmente) de campo para la posición actual del robot (Latombe 1991).
Una manera de obtener la magnitud del campo es siguiendo
magnitud 1 / distancia2
para objetos repulsores, y
magnitud = cte
para atractores.
La dirección puede ser calculada siguiendo la ortogonal al perímetro del objeto (para objetos puntuales, se considera una circunferencia de radio mínimo).
El sentido dependerá si el objeto es atractor o repulsor.
Punto repulsor
Punto atractor
Adición vectorial
Trayectoria siguiendo el campo resultado de la adición
Campo de deformación de zona (Zapata, 1991)
Adición de atractor con deformación de zonas.
Trayectoria resultante.
1. ¿Qué es un comportamiento complejo?
Según Brooks la complejidad de un comportamiento suele ser una medida subjetiva del observador. Él opina que la complejidad del comportamiento surge de la interacción con un entorno complejo.
Comportamientos “simples” y “complejos”
2. Nosotros vamos a considerar a un comportamiento como lo veníamos haciendo: un conjunto de pares estímulo-reacción.
Intuitivamente, el segundo comportamiento es mas complejo.
Ejemplo 1: supongamos un comportamiento definido asi:
para todo estímulo la reacción es la misma
Ejemplo 2: ahora supongamos este otro:
para el estimulo E1 la reacción es A1
para el estimulo E2 la reacción es A2
..
para el estimulo Ek la reacción es Ak
Un criterio para describir complejidad de los comportamientos
como lo hemos definido podría ser la complejidad de Kolmogorov.
La complejidad de Kolmogorov es una medida de la longitud mínima de programa que requiero para producir una salida en una MT.
Podríamos considerar un comportamiento mas complejo que otro de acuerdo al esfuerzo mínimo que se debe realizar para poder describirlo en una codificación standard (podría ser máquina de Turing o algún otro tipo deformalismo).
Una idea de complejidad también podría ser cual es el costo de identificar las percepciones (percept) que activan cada reacción.
3. Mas allá de como definamos complejidad, hay un hecho de la realidad que tiene que ver con el esfuerzo de dotar a un robot de un determinado comportamiento.
Una idea clave para llevar adelante esto es pensar al problema como comportamientos mas simples (que requieran menos esfuerzo sintetizarlos) y luego ver como ellos interactuan.
4. Hay dos criterios (o heurísticas) para tener en cuenta:
a) Si un comportamiento "simple", dado un conjunto de comportamientos que consituyen nuestra división en comportamientos simples resuelve la mayor parte del problema, quizás nuestro sistema no es robusto.
b) Si la coordinación de los comportamientos nos representa un esfuerzo mayor que pensar en como resolver el problema con un solo comportamiento, quizás no está bien pensada la división en comportamietnos simples.
Coordinación de múltiples comportamientos
SBGC *
donde C es la función de coordinación,
C : Rn 6 (R es el espacio de respuestas para
n comportamientos, y son los reales),
G es una matriz diagonal de ganancias de nxn,
B: SR.
5. Las arquitecturas de comportamientos abordan el problema de la coordinación de comportamientos simples.
De acuerdo a cómo C( ) resuelva la coordinación, esta puede ser
competitiva
cooperativa
híbrida
La coordinación competitiva elige una de las respuestas posibles, mientras que la cooperativa toma en cuenta todas las respuestas (i.e. adición, adición pesada, o algún otro criterio).
La coordinación híbrida comprende un mix de ambas.
Comportamiento 1
Comportamiento 2
Comportamiento 3
Pe
rce
pci
ón
Coordinación basada en prioridad
Re
spu
est
a
Ejemplo: Método subsumption based (Brooks, 1986)
Coordinación competitiva (1)
Brooks propone una arquitectura que denomina Subsumption donde distingue dos elementos
i. niveles de competencia
ii. capas de control
Cada nivel de competencia representa una capacidad aislada pero que tienen en cuenta capacidades de mas bajo nivel para llevarse a cabo.
Cada capa de control tiene en cuenta las interrelaciones entre los niveles de competencia.
Los comportamientos mas simples son representados mediante módulos y los módulos se pueden conectar entre si mediante hilos (o cables).
Estos hilos conducen información (mensajes) en forma asincrónica y
sin ningún protocolo de reconocimiento.
Estos mensajes pueden producir inhibición o supresión y en ambos casos durante un intervalo de tiempo.
También pueden producir señales de reset que básicamente llevan a cada modulo a una situación de comienzo (estado nil en los automatas aumentados que usa Brooks para cada módulo).
En general, una supresión es sobre una entrada del módulo y la inhibición es sobre una salida del módulo.
6. Sin embargo, Brooks para nada es ortodoxo en el uso de su arquitectura.
Por ejemplo, puede haber supresiones sobre la salida (Connel y Brooks en el robot que recolecta latas), puede haber inhibiciones o supresiones sin un tiempo asociado.
Además Brooks también propone arquitecturas sobre las cuales se pueden aplicar aprendizaje para, por ejemplo, establecer cuales son los perpects adecuados para cada módulo, lo cual contradice un poco su postura que nivel de competencia alcanzado, nivel de competencia congelado y el mejoramiento debe producirse a partir de nuevos módulos o capas de control.
7. Incluso, dentro de la arquitectura de subsumption puede haber módulo cuyas entrada o salidas no esten conectadas al mundo. En su caso mas extremo, Mataric (tesista de Brooks) propone arquitectura de redes de comportamientos donde se puede observar la estructuración de algún tipo de plan cuando en realidad la postura de Brooks está basada en comportamientos reactivos.
Comportamiento 1
Comportamiento 2
Comportamiento 3
Pe
rce
pci
ón
Re
spu
est
a
Ejemplos:
Método de action-selection (Maes, 1990)
Por votación (Rosenblatt y Payton, 1995)
(La respuesta de cada comportamiento es una de un conjunto finito de posibles respuestas. La más votada gana.)
Coordinación competitiva (2)
Coordinación cooperativa (1)
Comportamiento 1
Comportamiento 2
Comportamiento 3
Pe
rce
pci
ón
Re
spu
est
a
R= (GiRi)
Ejemplos: Campos potenciales. Al campo del repulsor le corresponde evitamiento-de- obstáculos, al del atractor le corresponde ir-al-objetivo, al de deformación le corresponde esquivar-obstáculos, etc
Conjuntos Difusos (Saffiotti, Konolige y Ruspini, 1995)
8. Otra alternativa es Motor Schema.
Arkin considera que los comportamietnos puede cooperar entre sí mejor que buscar inhibirse tanto sea en la entrada como en la salida.
Así aparecen los esquemas de percepción y los esquemas de acción.
En los esquemas de percepción, varios sensores pueden participar en la formación de un percept de modo que no necesariamente uno sobresale sobre los demás.
En los esquemas de acción sucede algo similar, por ejemplo comportamientos definidos de acuerdo a distintos campos potenciales.
Coordinación cooperativa (2)
Comportamiento 1
Comportamiento 2
Comportamiento 3
Pe
rce
pci
ón
Re
spu
est
a
Red Neuronal
. .. .. .Rn R
9. Finalmente hay otra forma de abordar el problema.
En los métodos anteriores primaba el criterio de reaccionar ante estímulos donde no era necesario un modelo del mundo.
La ventaja de tener un modelo del mundo es que se puede "razonar" teniéndolo en cuenta de modo que se puede producir un plan (una solución en un espacio de estados).
El problema es tener, mantener actualizado o directamente construir un modelo del mundo.
Por un lado, el mundo puede ser cambiante de modo que el modelo del mundo podría que tener que ser constantemente re-construido o actualizado.
Por otro, es obtener una percepción que permita construir un modelo lo mas completo posible.
La tercer desventaja es el tiempo de procesamiento que esto pueda requerir.
10. Modelos híbrídos.
Planning + comportamientos reactivos.
top related