La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

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

Presentaciones similares


Presentación del tema: "Introducción a la robótica basada en comportamientos (parte 3) Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos."— Transcripción de la presentación:

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 Aires

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

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

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

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

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

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

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

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

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)

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

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

14 Caminar (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.

16 Diagramas de estímulo respuesta Comportamiento EstímuloRespuesta Ir al objetivo Detectar objetivo Evitar objeto Detectar objeto Seguir pasillo Detectar pasillo Parar Encontrar objetivo Coordinación Respuesta

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

18 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, ,q 0, F) donde Q representa los posibles estados (comportamientos),  la función de transición especificando un tipo de estímulo, q 0 es el estado (o comportamiento) inicial, y F es el conjunto de estados (o comportamientos) finales.

19 Estímulo s que condiciona el comportamiento no s C Estímulo s que condiciona el comportamiento C’

20 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 objetivo- detectado en-objetivo obstáculo- detectado Listo

21 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

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

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

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

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

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

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

28 Mapeo de estímulo-respuesta r =  (s) donde  : S  R, s = (p, ) y r = (x,y,z, , ,  ). Ejemplo: (0,0,0,0,0,0) si <   (p, ) = Alguna-Funciónen 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.

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

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

32 Ejemplo: (defbehavior ejemplo :inputs (registro1 registro 2) :outputs (puerto1) :processes ((whenever (recibido registro1) (setf puerto1 registro1)) (whenever (recibido registro2) (setf puerto1 registro2 + registro2)) )

33 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 : R 2  R 2 ) son usados para definir trayectorias de un punto a otro (i.e. en R 2). 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).

34 Una manera de obtener la magnitud del campo es siguiendo magnitud  1 / distancia 2 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.

35 Punto repulsor

36 Punto atractor

37 Adición vectorial

38 Trayectoria siguiendo el campo resultado de la adición

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

40 Adición de atractor con deformación de zonas. Trayectoria resultante.

41 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”

42 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

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

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

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

46 Coordinación de múltiples comportamientos donde C es la función de coordinación, C : R n  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. 5. Las arquitecturas de comportamientos abordan el problema de la coordinación de comportamientos simples.

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

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

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

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

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

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

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

54 Coordinación cooperativa (1) Comportamiento 1 Comportamiento 2 Comportamiento 3 Percepción Respuesta  R=  (G i R i ) 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)

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

56 Coordinación cooperativa (2) Comportamiento 1 Comportamiento 2 Comportamiento 3 Percepción Respuesta Red Neuronal. RnRn R

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

58 10. Modelos híbrídos. Planning + comportamientos reactivos.


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

Presentaciones similares


Anuncios Google