aprendizaje de programas teleo-reactivos para robótica móvil

53
Contenido Introducci ´ on Representa- ci´ on Aprendizaje de PTRs asicos Aprendizaje de PTRs jer ´ arquicos Experimentos Experimentos para navegaci ´ on Clasificaci´ on de ademanes Conclusiones Aprendizaje de Programas Teleo-Reactivos para Rob ´ otica M´ ovil Blanca A. Vargas Govea Asesor: Dr. Eduardo F. Morales Manzanares INAOE Octubre 28, 2009 (INAOE) Octubre 28, 2009 1 / 53

Upload: blanca-vargas-govea

Post on 04-Jul-2015

308 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de Programas Teleo-Reactivos

para Robotica Movil

Blanca A. Vargas Govea

Asesor: Dr. Eduardo F. Morales Manzanares

INAOE

Octubre 28, 2009

(INAOE) Octubre 28, 2009 1 / 53

Page 2: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Contenido

Contenido

1 Introduccion

2 Representacion

3 Aprendizaje de PTRs basicos

4 Aprendizaje de PTRs jerarquicos

5 Experimentos

Experimentos para navegacion

Clasificacion de ademanes

6 Conclusiones

(INAOE) Octubre 28, 2009 2 / 53

Page 3: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Introduccion

Motivacion

Robot, ve a la sala Creciente demanda de

robots de servicio

• Metodos para simplificar

la programacion.

• Ambientes dinamicos.

• Ambientes distintos:

casa, oficina,

laboratorio.

Un robot movil que aprenda a realizar tareas en ambientes

dinamicos.

(INAOE) Octubre 28, 2009 3 / 53

Page 4: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Introduccion

Problematica

(INAOE) Octubre 28, 2009 4 / 53

Page 5: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Introduccion

En esta tesis:

(INAOE) Octubre 28, 2009 5 / 53

Page 6: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Introduccion

Trabajo relacionado

(INAOE) Octubre 28, 2009 6 / 53

Page 7: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Representacion

Representacion

(INAOE) Octubre 28, 2009 7 / 53

Page 8: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Representacion

Representacion del ambiente 1/2

[Hernandez, 2005]

(INAOE) Octubre 28, 2009 8 / 53

Page 9: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Representacion

Representacion del ambiente 2/2

Distancia Angulo Atrib Tipo

2.18 -73 -1.41 izquierda

2.17 -47 0 esquina

3.46 -89.5 1.06 pared

Ventaja

Esta transformacion reduce de cientos de datos por estado

a unos pocos atributos significativos

Se agrega la posicion y orientacion del robot, informacion

de los sonares traseros y la meta. Se transforma en los

siguientes

Pares estado-accion:

[robot(X,Y,Θ),atras(n),meta(Xg,Yg),marca(Dist,Angulo,Atrib,Tipo),..,],Accion[robot(X,Y,Θ),atras(n),meta(Xg,Yg),marca(Dist,Angulo,Atrib,Tipo),..,],Accion

.

.(INAOE) Octubre 28, 2009 9 / 53

Page 10: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

Aprendizaje de PTRs basicos

(INAOE) Octubre 28, 2009 10 / 53

Page 11: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

Definicion de la tarea de navegacion

Meta

girar-izquierda

girar-derecha

orientarse

salir-de-t rampa

avanzar

obstácu lo d inámico

orientarse

Sub-tareas

• Deambular.

• Orientarse.

• Salir de

trampas.

• Seguir a un

objeto movil.

(INAOE) Octubre 28, 2009 11 / 53

Page 12: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

¿Como se aprendio?

Mediante clonacion, se

aprenden PTRs para que el

robot pueda realizar las

sub-tareas definidas.

(INAOE) Octubre 28, 2009 12 / 53

Page 13: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

Clonacion

Extraer conocimiento explıcito de habilidades de bajo nivel

(Michie,1992).

• Obtener ejemplos o trazas.

• Dar las trazas como entrada a

algoritmos de aprendizaje.

• Obtener modelos que al

ejecutarse produciran

comportamientos similares a

quien genero los modelos.

• Se les llama clones porque

reproducen la habilidad de

una persona o sistema.

(INAOE) Octubre 28, 2009 13 / 53

Page 14: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

Programas Teleo-Reactivos

Conjunto de clausulas que ejecutan contınuamente una

accion en el estado actual mientras sus condiciones son

satisfechas (Nilsson, 1994).

ptr1(Estado,Accion)←condicion meta(Estado).

ptr1(Estado,Accion)←condicion1(Estado,...),condicion2(Estado, ...),. . .

ptr1(Estado, PTR2 )←condicion1(Estado,...),condicion3(Estado, ...), . . .

. . .

Ventaja

Uso de acciones contınuas,

capaces de reaccionar en un

ambiente dinamico.

(INAOE) Octubre 28, 2009 14 / 53

Page 15: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

PTRs basicos

Sus acciones son

unicamente acciones

atomicas

PTRs jerarquicos

Sus acciones pueden

incluir otros PTRs

(INAOE) Octubre 28, 2009 15 / 53

Page 16: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

Aprendizaje de PTRs basicos

Objetivo: Producir un conjunto de predicados que

devuelvan una accion particular, capturando el

comportamiento deseado.

1 Dados: una traza (o trazas), un predicado objetivo y

posible conocimiento del dominio

2 Generar ejemplos negativos. Se realizo intercambiando

las acciones.

3 Aprender PTRs usando ALEPH (un sistema de ILP).

(INAOE) Octubre 28, 2009 16 / 53

Page 17: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

Conocimiento del dominio

(INAOE) Octubre 28, 2009 17 / 53

Page 18: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs basicos

Ejemplo: deambular

Entrada: trazas de deambular, el

predicado objetivo, el concepto

aprendido zona-frontal, zona-trasera y el

predicado para obtener la marca mas

cercana.

Salida:

deambular(Estado,avanzar)←zona-frontal(Estado,libre).

deambular(Estado,girar-izq)←zona-frontal(Estado,obstaculo),

obst-cercano(Estado,Marca,Dist,Ang),menor-igual(Ang,-1.51)).

deambular(Estado,girar-der)←zona-frontal(Estado,obstaculo).

Robot controlado por el PTR

para deambular

(INAOE) Octubre 28, 2009 18 / 53

Page 19: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Aprendizaje de PTRs jerarquicos

(INAOE) Octubre 28, 2009 19 / 53

Page 20: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Aprendizaje de gramaticas

FOSeq (First Order Sequence learning)

Entrada: un conjunto de secuencias de PTRs basicos

obtenidas al guiar al robot.

FOSeq:

1 Induce una gramatica para cada secuencia,

identificando elementos repetidos (n-gramas).

2 Evalua las secuencias con cada gramatica aprendida y

selecciona la gramatica mejor evaluada.

3 Aplica un proceso de generalizacion a la gramatica

mejor evaluada y las gramaticas que aportan elementos

nuevos.

Salida: Una gramatica que puede usarse como controlador

(PTR jerarquico) o como clasificador.

(INAOE) Octubre 28, 2009 20 / 53

Page 21: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Induccion

• El algoritmo busca los n-gramas (e.g., sub-secuencias

de n-elementos) que aparezcan al menos dos veces en

la secuencia.

• Los n-gramas candidatos son buscados de forma

incremental por su longitud.

• El n-grama con mayor frecuencia es seleccionado,

generando una nueva regla para la gramatica y

reemplazando con un sımbolo no-terminal todas las

ocurrencias del n-grama que aparecen en la secuencia

original.

(INAOE) Octubre 28, 2009 21 / 53

Page 22: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Induccion: ejemplo

S→ a b c b c b c b a b c b d b e b c

b c (5)

Agrega: R1→ b c

S1 → a R1 R1 R1 b a R1 b d b e R1Eliminando elementos repetidos:S1 → a R1 b a R1 b d b e R1

R1 b (2)a R1 (2)a R1 b (2)

Agrega: R2→ a R1 b

S2 → R2 R2 d b e R1Eliminando elementos repetidos:S2 → R2 d b e R1

S2 → R2 d b e R1R1→ b c

R2→ a R1 b

d b e

b ca b

b c

R2 R1

R1

(INAOE) Octubre 28, 2009 22 / 53

Page 23: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Induccion: con predicados

Cuando los elementos de la secuencia son predicados, la

gramatica inducida es una Gramatica de Clausula Definida

(GCD). Las GCDs:

• Son una extension de las gramaticas libres de contexto,

• pueden tener argumentos y

• son expresadas y ejecutadas en Prolog.

La entrada es una secuencia de PTRs basicos como la

siguiente:

Entrada

pred1(Estado1,accion1), pred2(Estado2,accion1), pred1(Estado3,accion2), . . .

(INAOE) Octubre 28, 2009 23 / 53

Page 24: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Evaluacion

• Cada gramatica aprendida se usa para analizar

sintacticamente todas las secuencias del conjunto

proporcionado por el usuario.

• Por cada secuencia analizada, la gramatica recibe una

evaluacion, calculada por la funcion:

eval(Gi) =

n∑

j=1

cj

cj + fj(1)

donde cj y fj representan el numero de elementos que

la gramatica es capaz o incapaz de aceptar,

respectivamente.

• La gramatica mejor evaluada es seleccionada.

(INAOE) Octubre 28, 2009 24 / 53

Page 25: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Generalizacion

La idea principal es obtener una nueva gramatica que

mejore la cobertura de gramatica mejor evaluada.

1 Seleccionar la gramatica que proporciona el mayor

numero de elementos nuevos o unificaciones diferentes

de predicados.

2 Calcular el lgg (generalizacion menos general) entre las

reglas de ambas gramaticas.

3 Aceptar la nueva regla si mejora la cobertura original, si

no, descartarla.

4 Terminar el proceso hasta alcanzar un umbral de

cobertura o hasta que no hay mejora.

(INAOE) Octubre 28, 2009 25 / 53

Page 26: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Ejemplo lgg

c1 = pred(Estado,accion1)←cond1(Estado,accion1),cond2(Estado,accion2).

c2 = pred(Estado,Accion)←cond1(Estado,accion1),cond2(Estado,accion3).

Calculando el lgg(c1,c2), la clausula es:

pred(Estado,Accion)←cond1(Estado,accion1),cond2(Estado,Accion).

donde las constantes accion2 y accion3 del predicado

cond2 son reemplazadas por la variable Accion.

(INAOE) Octubre 28, 2009 26 / 53

Page 27: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

De gramatica a programa

R1→ orientar(Estado1,Accion),deambular(Estado2,accion1)

R2→ orientar(Estado1,accion2),deambular(Estado2,Accion)

R3→ orientar(Estado1,accion3),deambular(Estado2,Accion)

(R1) pred-nuevo1(Estado1,accion1)→ orientarse(Estado1,Accion),deambular(Estado2,accion1)

(R2) pred-nuevo2(Estado1,Accion) → orientar(Estado1,accion2),deambular(Estado2,Accion)

(R3) pred-nuevo3(Estado1,Accion) → orientar(Estado1,accion3),deambular(Estado2,Accion)

Cada regla puede interpretarse como una sub-tarea

(INAOE) Octubre 28, 2009 27 / 53

Page 28: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Aprendizaje de PTRs jerarquicos

Ejemplo en navegacion: PTR para ir a un

punto (deambular + orientarse)

Entrada: secuencias de los PTRs basicos deambular y

orientar.

orientar(Estado,girar-izq),deambular(Estado,girar-izq), deambular(Estado,girar-der),deambular(Estado,avanzar),orientar(Estado,girar-izq),deambular(Estado,avanzar),. . .

. . .

Salida:

ir-a(Estado,nil)←en-meta(Estado).

ir-a(Estado,Accion)←orientar(Estado,ninguna),deambular(Estado,Accion).

ir-a(Estado,Accion)←deambular(Estado,avanzar),orientar(Estado,Accion).

ir-a(Estado,Accion)←deambular(Estado,Accion).

(INAOE) Octubre 28, 2009 28 / 53

Page 29: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos

Experimentos

(INAOE) Octubre 28, 2009 29 / 53

Page 30: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Plataforma de simulacion

Se utilizo el software para control de robots Player/Stage.

• Diferentes escenarios: 10 mapas

diferentes a los de entrenamiento.

• Obstaculos fijos y moviles de

diversas formas y tamanos.

• Limitaciones del sensor laser: 50 cm

sobre el piso de forma paralela, se

evito el vidrio.

• Precision:

p =e

e + f× 100 (2)

donde e es el numero de tareas o sub-tareas

realizadas exitosamente y f es el numero de tareas

o sub-tareas que fallaron.

(INAOE) Octubre 28, 2009 30 / 53

Page 31: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Mapas

Mapas de entrenamiento

Ventaja

Los PTRs aprendidos pueden

usarse en ambientes distintos

al de entrenamiento

Mapas de prueba

(INAOE) Octubre 28, 2009 31 / 53

Page 32: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

PTRs aprendidos

PTR basico E+ y E− Conoc-dom Acciones

deambular 979 zona-frontal* avanzarorientar 2982 zona-trasera* girar-dersalir-de-trampa 952 menor-igual girar-izqseguir 619 mayor-igual detener

obst-mas-cercano retrocederobtener-anguloszona-orienta*config-paredes*lado-pared*zona-seguir*rango-distancia*obtener-vals

(*) significa que el concepto fue aprendido

PTR jerarquico No. de secuencias

deambular + orientar (ir a un punto) 12deambular + orientar + salir de trampa 16seguir + deambular 10seguir + deambular + salir de trampa 14

PTRs jerarquicos aprendidos y numero de trazas

(INAOE) Octubre 28, 2009 32 / 53

Page 33: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Ejemplos: PTRs basicos

Deambular

Orientar

M e t a M e t a M e t a M e t a

Salir de trampa

Seguir a un objeto movil

(INAOE) Octubre 28, 2009 33 / 53

Page 34: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Ejemplos: PTRs jerarquicos

Ir a un punto

Visitando distintos lugares

(INAOE) Octubre 28, 2009 34 / 53

Page 35: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Simulacion: Precision de PTRs

PTR Pruebas Precision

Deambular 30 86.67 %

Orientar 30 100.00 %

Salir de trampa 30 80.00 %

Seguir 40 97.50 %

PTR Pruebas Precision

deambular + orientar 30 86.67 %

(ir a un punto)

deambular + orientar + 30 93.33 %

salir de trampa

seguir + deambular 40 90.00 %

seguir + deambular + 40 100.00 %

salir de trampa

visitar 5 lugares* 30 96.67 %

(INAOE) Octubre 28, 2009 35 / 53

Page 36: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Modulo de navegacion para Markovito

Robot PeopleBot de ActivMedia equipado con un anillo de

16 sonares en la parte inferior y sistema de vision estereo.

• Navegar hacia distintos

lugares.

• Seguir a una persona.

• Encontrar un objeto.

• Entregar

mensajes/objetos.

(INAOE) Octubre 28, 2009 36 / 53

Page 37: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Navegar hacia distintos lugares

Visitando distintos lugares

(INAOE) Octubre 28, 2009 37 / 53

Page 38: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Seguir a una persona

El PTR de seguimiento se adapto para seguir a una persona. Esto se hizo

reemplazando el proceso de identificacion de marcas utilizando un sensor laser

por un proceso de identificacion de marcas visuales (Sanchez-Texis, 2008).

(INAOE) Octubre 28, 2009 38 / 53

Page 39: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Markovito: Precision de PTRs

Pruebas Intervenciones Precision

Ir a un punto 120 20 85.00 %

Seguir a 20 3 90.00 %

una persona

(INAOE) Octubre 28, 2009 39 / 53

Page 40: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Comparacion deliberativo/PTRs

Se realizaron tres tipos de pruebas de navegacion con el fin

de observar las ventajas y desventajas de tres enfoques:

• Con la polıtica optima obtenida con iteracion de valor

(DELIB).

• Con PTRs.

• Con una polıtica que combina DELIB con PTRs.

(INAOE) Octubre 28, 2009 40 / 53

Page 41: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Comparacion deliberativo/PTRs

(a) DELIB (b) PTR (c) a + b

Ventaja DELIB: Las trayectorias generadas por este enfoque son las optimas.

Desventaja DELIB: debe conocer el ambiente.

(a) DELIB (b) PTR (c) a + b

Ventaja PTRs: El robot puede reaccionar ante obstaculos inesperados y llegar a lameta aunque no lo haga con una trayectoria optima. No necesita conocer elambiente.

Desventaja PTRs: puede recorrer mayor distancia.

(INAOE) Octubre 28, 2009 41 / 53

Page 42: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Experimentos para navegacion

Experimentos

(INAOE) Octubre 28, 2009 42 / 53

Page 43: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Clasificacion de ademanes

Ejemplo: gramaticas de ademanes

Objetivo: aprender una gramatica para cada ademan (9)

enfocandonos en el reconocimiento de ademanes

realizados por una persona.

(a) (b) (c) (d) (e)

(f) (g) (h) (i) (j)

(a) posicion inicial y final, (b) atencion, (c) acercar, (d) izquierda, (e) derecha, (f)

detener, (g) girar-hacia-la-derecha, (h) girar-hacia-la-izquierda, (i) saludar, (j)

apuntar [Aviles,2006]

(INAOE) Octubre 28, 2009 43 / 53

Page 44: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Clasificacion de ademanes

Representacion 1/2

Cada secuencia es un vector formado por conjuntos de

siete atributos que describen al ademan. Un ejemplo de una

secuencia es la siguiente:

(+ +−− T F F),(++−+ T F F),(++ +0 T F F),(+ + ++T F F)...

Atributos de movimiento

• ∆area

• ∆x

• ∆y

Pueden tomar los valores

{+,−,0}: incremento,

decremento o ninguno.

Atributos de postura

• Forma : horizontal(−),

vertical(+), inclinada (0).

• Arriba (de la cabeza).

• Derecha (de la cabeza).

• Torso (sobre el torso).

(INAOE) Octubre 28, 2009 44 / 53

Page 45: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Clasificacion de ademanes

Representacion 2/2

Las secuencias son transformadas a una representacion de

primer orden reemplazando sus atributos con un predicado.

hmov(Estado,derecha), vmov(Estado,subiendo),

tamano(Estado,inc), forma(Estado,vertical),

derecha(Estado,si), en rostro(Estado,no),. . .

(INAOE) Octubre 28, 2009 45 / 53

Page 46: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Clasificacion de ademanes

Entrenamiento y prueba

• Conjuntos de entrenamiento: De 50 secuencias por

ademan se seleccionaron aleatoriamente 20

secuencias. Las secuencias restantes forman el

conjunto de prueba.

• Conjuntos de prueba: dos sub-conjuntos seleccionando

aleatoriamente 2 y 10 secuencias para cada uno.

• Ejemplos negativos: 1 secuencia aleatoria de cada

ademan.

• Se aprendio una gramatica para cada ademan,

obteniendo 9 gramaticas.

• Se mostro cada secuencia del conjunto de pruebas a

las gramaticas. La gramatica que obtuviera la mejor

evaluacion corresponde al ademan mostrado.

• Se repitio el proceso 10 veces para cada sub-conjunto.

(INAOE) Octubre 28, 2009 46 / 53

Page 47: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Clasificacion de ademanes

Comparacion con HMMs

Precision global

2 secuencias 10 secuencias

FOSeq HMMs FOSeq HMMs

95.17 % 94.85 % 97.34 % 97.56 %

(INAOE) Octubre 28, 2009 47 / 53

Page 48: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Clasificacion de ademanes

Matriz de confusion para 10 secuencias

PrediccionC

lase

rea

l1 2 3 4 5 6 7 8 9 Total

1 99.33 0.67 3002 97.24 2.76 2903 100.00 2904 13.10 1.72 85.17 2905 100.00 3006 1.03 97.59 1.38 2907 2.07 96.55 1.38 2908 100.00 2909 100.00 290

Total 301 320 295 255 306 283 280 292 298 2630

1) atencion, 2) acercar, 3) izquierda, 4) apuntar, 5) derecha, 6) detenerse, 7) girar-hacia-la-izquierda, 8)

girar-hacia-la-derecha, 9) saludar. La ultima columna indica el numero total de secuencias de cada ademan.

El ultimo renglon indica el numero de secuencias clasificadas como la clase indicada en la columna.

Ademanes mejor clasificados: izquierda, derecha,

girar-hacia-la-derecha y saludar.

Ademan peor clasificado: apuntar, donde 13 % de los ejemplos

se clasificaron como acercar.

(INAOE) Octubre 28, 2009 48 / 53

Page 49: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Experimentos Clasificacion de ademanes

Ejemplo de gramaticas de ademanes

Acercar

S→ R5,tamano(dec),forma(vertical),R12,R10,R2,R7,R11,R13,vmov(bajando), . . .

R1→ en rostro(Estado,no),sobre torso(Estado,si)

R2→ forma(Estado,horizontal),derecha(Estado,no),R1

. . .

Apuntar

S→ R9,R4,R5,R4,tamano(inc),forma(vertical),R2,hmov(ninguno),. . .

R1→ en rostro(Estado,no),sobre torso(Estado,si)

R2→ derecha(Estado,no),R1. . .

(INAOE) Octubre 28, 2009 49 / 53

Page 50: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Conclusiones

Contribuciones de la tesis

• Representacion de alto nivel mediante una

transformacion de informacion de bajo nivel.

• Algoritmo para aprendizaje de conceptos y PTRs

basicos.

• Algoritmo para aprendizaje de gramaticas.

(INAOE) Octubre 28, 2009 50 / 53

Page 51: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Conclusiones

Conclusiones

• Una representacion relacional a partir de datos crudos

abre posibilidades de utilizar diferentes algoritmos de

aprendizaje al reducir el volumen de datos que los

sensores producen.

• Los PTRs aprendidos en un ambiente pueden ser

utilizados en nuevos ambientes con caracterısticas

similares.

• La clonacion facilita la programacion de un robot.

(INAOE) Octubre 28, 2009 51 / 53

Page 52: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Conclusiones

Conclusiones

• Las gramaticas aprendidas permiten expresar

sub-tareas en el caso de navegacion o sub-ademanes

en el caso de la clasificacion de ademanes.

• La representacion explıcita de las gramaticas permite

analizar similitudes y diferencias entre ademanes.

• La induccion de gramaticas se probo en el aprendizaje

de PTRs jerarquicos de navegacion y para generar

gramaticas de ademanes para clasificacion. En ambas

aplicaciones se obtuvieron buenos resultados.

(INAOE) Octubre 28, 2009 52 / 53

Page 53: Aprendizaje de Programas Teleo-Reactivos para Robótica Móvil

Contenido

Introduccion

Representa-cion

Aprendizajede PTRsbasicos

Aprendizajede PTRsjerarquicos

Experimentos

Experimentos para

navegacion

Clasificacion de

ademanes

Conclusiones

Conclusiones

Trabajo futuro

• Establecimiento de diferentes criterios de evaluacion de

comportamientos.

• Aprendizaje con retroalimentacion.

• Aprendizaje de PTRs para resolver situaciones de

conflicto.

• Aprendizaje de valores de velocidad.

• Ampliacion de la representacion del ambiente.

• Aprendizaje de jerarquıas con mas niveles.

• Creacion de nuevos predicados para estados

desconocidos.

• Mejora del algoritmo de generalizacion en el

aprendizaje de gramaticas.

(INAOE) Octubre 28, 2009 53 / 53