introducción a la robótica basada en comportamientos (parte 3) departamento de computación...

58
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

Upload: eutropio-orona

Post on 23-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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

Page 2: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 3: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 4: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Métodos de diseño de comportamientos

• guiados por la etología

• guiados por la actividad asociada a una situación

• guiados experimentalmente

• aprendizaje

Page 5: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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)

Page 6: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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).

Page 7: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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).

Page 8: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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).

Page 9: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 10: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 11: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

(Video de genghis 1)

(Video de genghis 2)

Page 12: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 13: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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)

Page 14: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Caminar (ejemplos: andar, doblar, correr)

Manipulación (ejemplos: alcanzar)

Tomar y maniobrar (ejemplos: agarrar, envolver )

Page 15: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Métodos para expresar comportamientos

• Diagramas de estímulo respuesta

• Notación funcional

• Aceptador de cantidad finita de estados.

Page 16: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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

Page 17: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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) )

Page 18: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 19: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Estímulo s que condiciona el comportamiento

no sC

Estímulo s que condiciona el comportamiento

C’

Page 20: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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

Page 21: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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

Page 22: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 23: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 24: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 25: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 26: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 27: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 28: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 29: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 30: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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)))

Page 31: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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)

Page 32: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Ejemplo:

(defbehavior ejemplo

:inputs (registro1 registro 2)

:outputs (puerto1)

:processes ((whenever (recibido registro1)

(setf puerto1 registro1))

(whenever (recibido registro2)

(setf puerto1 registro2 + registro2)) )

Page 33: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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).

Page 34: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 35: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Punto repulsor

Page 36: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Punto atractor

Page 37: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Adición vectorial

Page 38: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Trayectoria siguiendo el campo resultado de la adición

Page 39: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Campo de deformación de zona (Zapata, 1991)

Page 40: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Adición de atractor con deformación de zonas.

Trayectoria resultante.

Page 41: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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”

Page 42: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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 

Page 43: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 44: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 45: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 46: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 47: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 48: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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)

Page 49: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 50: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 51: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 52: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 53: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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)

Page 54: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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)

Page 55: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 56: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

Coordinación cooperativa (2)

Comportamiento 1

Comportamiento 2

Comportamiento 3

Pe

rce

pci

ón

Re

spu

est

a

Red Neuronal

. .. .. .Rn R

Page 57: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

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.

Page 58: Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos

10. Modelos híbrídos.

Planning + comportamientos reactivos.