Title: Sin t
1Introducción a la robótica basada en
comportamientos
(parte 3)
Departamento de Computación Facultad de Ciencias
Exactas y Naturales Universidad de Buenos Aires
2Comportamientos 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.
3Sistemas 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.
4- Métodos de diseño de comportamientos
- guiados por la etología
- guiados por la actividad asociada a una
situación - guiados experimentalmente
- aprendizaje
5Guiados por la etología
Ejemplo sistema de navegación del sapo basado
mediante polos de atracción y repulsión,
implementado mediante campos potenciales (Arbib y
House, 1987)
Obtener, a partir de la etología, las bases del
comportamiento
Extraer modelo
Importar el modelo al robot
Modificar/adaptar el modelo
Realizar los experimentos adecuados
Obtener nueva evidencia biológica
Evaluar resultados
Listo
6Guiados por la actividad asociada a una situación
Evaluar la interacción del robot con el entorno
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-p
ared (Agre y Chapman).
Particionar el espacio considerando diferentes
situaciones
Crear respuestas a las situaciones
Importar las asociaciones al robot
Corregir, ampliar, agregar asociaciones
Realizar los experimentos adecuados
Evaluar resultados
Listo
7Un 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).
8Guiados experimentalmente
Ejemplo el Genghis fue construido según esta
metodología. Tanto comportamientos como sensores
fueron incorporados incrementalmente (Brooks).
Construir un sistema mínimo
Llevar a cabo experiencias con el robot
Adicionar nuevos comportamientos y/o corregir los
existentes
Evaluar los resultados
Listo
9Genghis (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.
Brooks, Rodney A., A Robot That Walks Emergent
Behaviors from a Carefully Evolved Network
10- 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.
11(Video de genghis 1)
(Video de genghis 2)
12Aprendizaje
El robot interactua 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.
13Clasificació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)
14Caminar (ejemplos andar, doblar, correr)
Manipulación (ejemplos alcanzar)
Tomar y maniobrar (ejemplos agarrar, envolver )
15- Métodos para expresar comportamientos
- Diagramas de estímulo respuesta
- Notación funcional
- Aceptador de cantidad finita de estados.
16Diagramas de estímulo respuesta
Comportamiento
Estímulo
Respuesta
Ir al objetivo
Detectar objetivo
Evitar objeto
Detectar objeto
Respuesta
Coordinación
Seguir pasillo
Detectar pasillo
Parar
Encontrar objetivo
17Notació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-detec
tado),
esquivar-obstáculos(obstáculo-detectado),
mantener-el-centro-del-hall(dete
ctar-paredes-del-hall),
esquivar-obstáculo-móvil(detectar-trayectoria-om)
)
18Aceptador de 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.
19Estímulo s que condiciona el comportamiento
C
C
no s
Estímulo s que condiciona el comportamiento
20Otro-estímulo
en-objetivo
en-objetivo
objetivo-detectado
Listo
ir-hacia-el-objetivo
Listo-para-empezar
objetivo-detectado
objetivo-detectado
detectar-paredes-del-hall
obstáculo-detectado
obstáculo-detectado
Esquivar-obstáculo
detectar-paredes-del-hall
Mantener-en-hall
obstáculo-detectado
Respuesta Coordinar-comportamientos(
ir-hacia-el-objetivo(objetivo-detec
tado),
esquivar-obstáculos(obstáculo-detectado),
mantener-el-centro-del-hall(dete
ctar-paredes-del-hall),
esquivar-obstáculo-móvil(detectar-trayectoria-om)
)
21Representació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-gtR
22Codificació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.
23En 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.
24En 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.
25Estas restricciones están resumidas en el término
no-holonomicidad.
Un robot holonómico puede ser tratado como un
punto sin masa capaz de moverse en cualquier
dirección en forma instantánea.
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.
26Habida 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.
27Codificació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.
28Mapeo de estímulo-respuesta
r ?(s) donde ? S?R, s (p,?) y r
(x,y,z,?,?,?).
Ejemplo (0,0,0,0,0,0) si ? lt ? ?
(p,?) Alguna-Función en otro caso es
una representación clásica de ? para el
comportamiento de evitamiento de obstáculos.
29- 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.
30Gapps, 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) Alcanz
ar 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)))
31Otro 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)
32Ejemplo (defbehavior ejemplo inputs
(registro1 registro 2) outputs
(puerto1) processes ((whenever (recibido
registro1) (setf puerto1 registro1)) (whenev
er (recibido registro2) (setf puerto1
registro2 registro2)) )
33Mapear a un conjunto infinito de valores permite
tener un espacio continuo de respuestas.
Básicamente, esto es logrado haciendo que el
maping quede definido por alguna función a los
reales. Esto es 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).
34Una manera de obtneter 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.
35Punto repulsor
36Punto atractor
37Adición vectorial
38Trayectoria siguiendo el campo resultado de la
adición
39Campo de deformación de zona (Zapata, 1991)
40Adición de atractor con deformación de
zonas. Trayectoria resultante.
41Coordinación de múltiples comportamientos
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
S?R.
42De 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.
43Coordinación competitiva (1)
Comportamiento 1
Percepción
Comportamiento 2
Respuesta
Comportamiento 3
Ejemplo Método subsumption based (Brooks, 1986)
Coordinación basada en prioridad
44Coordinación competitiva (2)
Comportamiento 1
Percepción
Comportamiento 2
Respuesta
Comportamiento 3
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.)
45Coordinación cooperativa (1)
Comportamiento 1
?
Percepción
Comportamiento 2
Respuesta
Comportamiento 3
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)
46Coordinación cooperativa (2)
Comportamiento 1
Percepción
Comportamiento 2
Red Neuronal
Respuesta
Comportamiento 3
Rn
. .
R
. .
. .