Comportamientos reactivos



Descargar 23,77 Kb.
Fecha de conversión10.04.2017
Tamaño23,77 Kb.
  • (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
  • 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 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.
  • 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 )
  • 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
  • Comportamiento
  • Estímulo
  • Respuesta
  • Ir al objetivo
  • Detectar objetivo
  • Evitar objeto
  • Detectar objeto
  • Seguir pasillo
  • Detectar pasillo
  • Parar
  • Encontrar objetivo
  • Coordinació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)
  • )
  • 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 s
  • C
  • 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.
  • 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 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).
  • Una 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.
  • 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.
  • Coordinació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.
  • 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
  • Percepción
  • Coordinación basada en prioridad
  • Respuesta
  • Ejemplo: Método subsumption based (Brooks, 1986)
  • Coordinación competitiva (1)
  • Comportamiento 1
  • Comportamiento 2
  • Comportamiento 3
  • Percepción
  • Respuesta
  • 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
  • Percepción
  • Respuesta
  • 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)
  • Coordinación cooperativa (2)
  • Comportamiento 1
  • Comportamiento 2
  • Comportamiento 3
  • Percepción
  • Respuesta
  • Red Neuronal
  • . .
  • . .
  • . .
  • Rn
  • R


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal