universidad de buenos aires facultad de ingeniería 2010 - trabajo profesional docente jorge...

Post on 03-Jan-2015

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Universidad de Buenos AiresUniversidad de Buenos AiresFacultad de IngenieríaFacultad de Ingeniería

2010 - Trabajo Profesional2010 - Trabajo Profesional

DocenteDocenteJorge Salvador IercaheJorge Salvador Iercahe

AlumnosAlumnosMilton BermanMilton BermanFernando TorresFernando TorresLeonardo YagiLeonardo Yagi

Framework de Sistemas Framework de Sistemas Autónomo de RobotsAutónomo de Robots

ObjetivoObjetivoAlcanceAlcanceProblemaProblemaSoluciónSolución

IntroducciónIntroducción

ObjetivoObjetivo

AlcanceAlcance

ProblemaProblema

SoluciónSolución

Conceptos básicosConceptos básicosCiclo de vidaCiclo de vidaIntercambio de operadoresIntercambio de operadoresMutaciónMutaciónPlanificaciónPlanificación

Sistemas Autónomos de Sistemas Autónomos de RobotsRobots

Conceptos básicosConceptos básicos

TeoríaTeoría AccionAccion SituacionSituacion P, K , UtilidadP, K , Utilidad

AmbienteAmbiente RobotRobot

Ciclos de vidaCiclos de vida

BornBorn

NewbieNewbie

TrainedTrained

MatureMature

Intercambio de Intercambio de operadoresoperadores

CooperaciónCooperación ColaboraciónColaboración

MutaciónMutación

DescripciónDescripción ImplementaciónImplementación Algoritmo??Algoritmo??

PlanificaciónPlanificación

Método SAR ReactivoMétodo SAR Reactivo Método SAR ClásicoMétodo SAR Clásico

Ponderador ClásicoPonderador Clásico

Método SAR RankingMétodo SAR Ranking ConclusiónConclusión

IntroducciónIntroducciónInteracciónInteracciónDiseñoDiseño

SAR en WebotsSAR en Webots

IntroducciónIntroducción

Kheppera Kheppera RobotsRobots

My-BotMy-Bot E-PuckE-Puck

PruebasPruebas

InteracciónInteracción

Plataforma WebotsSistema Ejecutor Sistema Sensor

Conversor de Lecturas

Subsistema de aprendizajeSistema Controlador de Planes en Ejecución

Subsistema PlanificadorSubsistema

ponderador deplanes

Conversor de Acciones

Acción

Acción

TeoríasPlanes

Plan

Confiable si/no

Teorías

Situacion

Situacion

DiseñoDiseño class Class Model

IAprendizaje

+ RegistrarTeoria() : void

IControlador

+ Controlar() : void

IIntercambio

+ Intercambiar() : void

IListaTeorias

IPlanificador

+ ObtenerPlan() : l ist<ITeoria*> *

IPonderador

+ Ponderar() : float

IRobot

+ EjecutarAccion() : void+ GetSituacionActual()

ISIA

+ Ejecutar() : void

IPersistente

ITeoria

IPersistente

ISituacion

IPersistente

IAccion

IntroducciónIntroducciónArquitecturaArquitecturaDiseñoDiseñoImplementaciónImplementación

Framework SAR Framework SAR

IntroducciónIntroducción

Aplicación WebAplicación Web JavaJava

ArquitecturaArquitectura

CapasCapas DominioDominio ServicioServicio Interfaz usuarioInterfaz usuario

MVCMVC ModeloModelo VistaVista ControladorControlador

DiseñoDiseño class domain

AbstractPersistenceObject

Accion

- speed0: Double- speed1: Double

AbstractPersistenceObject

ComponenteRobot

AbstractPersistenceObject

ConfiguracionCuerpoConocimiento

- configuracionIntercambio: ConfiguracionComparticionConocimientos- configuracionMutacion: ConfiguracionMutacion- configuracionPonderacion: ConfiguracionPonderacion- metodoComparacion: MetodoComparacion- metodoCreadorSAR: CreadorSAR- metodoUtil idad: MetodoUtil idad- configuracionEstadistica: ConfiguracionEstadistica

AbstractPersistenceObject

ConfiguracionComparticionConocimientos

- cuerpoConocimiento1: CuerpoConocimiento- cuerpoConocimiento2: CuerpoConocimiento

+ esValido(TipoAmbiente, TipoAmbiente) : boolean

ConfiguracionColaboracion

+ esValido(TipoAmbiente, TipoAmbiente) : boolean

ConfiguracionCooperacion

+ esValido(TipoAmbiente, TipoAmbiente) : boolean

AbstractPersistenceObject

ConfiguracionMutacion

- porcentajeUmbral: Double- umbralMaximo: Double

AbstractPersistenceObject

ConfiguracionPonderacion

- metodoPonderacion: MetodoPonderacion- umbral: Double

AbstractPersistenceObject

CuerpoConocimiento

- configuracion: ConfiguracionCuerpoConocimiento- descripcion: String- escenario: Ambiente- estadisticas: List<Estadistica>- fechaCreacion: Date- teorias: List<Teoria>- layer: LayerSAR

+ agregarEstadistica(Estadistica) : void

AbstractPersistenceObject

Ambiente

- nombre: String- obstaculos: Map<Obstaculo,Integer>- tipoEscenario: TipoAmbiente

AbstractPersistenceObject

SAR

- conocimientos: List<CuerpoConocimiento>- nombre: String- tipoRobot: TipoRobot- estado: EstadoSAR

Actuador Sensor

AbstractPersistenceObject

Situacion

- sensor0: Double- sensor1: Double- sensor2: Double- sensor3: Double- sensor4: Double- sensor5: Double- sensor6: Double- sensor7: Double

AbstractPersistenceObject

Teoria

- accion: Accion- k: Double- p: Double- situacionFinal: Situacion- situacionInicial: Situacion- uti l idad: Double

AbstractPersistenceObject

TipoRobot

- componentes: Map<ComponenteRobot,Integer>- descripcion: String- nombre: String

«enumerati...enums::

CreadorSAR

«enum» REACTIVO CLASICO RANKING

«enumeration»enums::MetodoPonderacion

«enum» CLASICO_CON_PONDERADOR CLASICO_SIN_PONDERADOR

«enumeration»enums::MetodoUtil idad

«enum» CLASICO COEFICIENTES

«enumeration»enums::TipoAmbiente

«enum» BORN_NEWBIE(BIO) NEWBIE_TRAINED(TBO) TRAINED_MATURE(WIO)

Mundo

- robots: List<Robot>- ambientes: List<Ambiente>

SensorProximidad

- rango: Double

«enumeratio...EstadoSAR

«enum» BORN NEWBIE TRAINED MATURE

AbstractPersistenceObject

Estadistica

- archivo: File- nombreArchivo: String~ renglones: List<EstadisticaRenglon>- descripcionParaGrafico: String

AbstractPersistenceObject

ConfiguracionEstadistica

- ciclo: Integer- intervaloTeoria: Integer

AbstractPersistenceObject

EstadisticaRenglon

- cantidadAzares: Integer- cantidadPlanes: Integer- cantidadPlanesConExito: Double- cantidadPlanesSinExito: Integer- cantidadSituaciones: Integer- cantidadTeorias: Integer- cantidadTeoriasExitosasSimulacion: Integer- pasada: Integer- probabil idadGeneral: Double- probabil idadOcurrenciaTeorias: String- teoriasPorIntervalo: String- uti l idad: Double

«enumeration»MetodoComparacion

«enum» EXACTO UMBRAL_VARIABLE UMBRAL_FIJO

«enumeratio...LayerSAR

«enum» BIO TBO WIO

Rueda

- velocidad: Double

«enumeration»enums::Obstaculo

«enum» CUADRADO RECTANGULAR ESQUINA

ImplementaciónImplementación

Aplicación WebAplicación Web JavaJava

HibernateHibernate SpringSpring JSFJSF

RichFacesRichFaces AjaxAjax

MySQLMySQL

WebotsWebotsFramework SARFramework SARVideosVideos

ExperimentaciónExperimentación

WebotsWebots

IDEIDE Creación de mundoCreación de mundo SimulaciónSimulación

Framework SARFramework SAR

Configuración SARConfiguración SARact Configuracion

ConfiguraciónSAR

Configuración Parámetros Generales

Setear Cantidad Ciclos Corrida

Setear Método de Comparación de

Teorias

Los métodos pueden ser:- Exacto- Umbral fi jo- Umbral variable

Configuración Estadistica y Rendimiento de Aprendizaje

Setear Interv alo de Muestra

Setear Interv alo de Distribución de

Utilidad de Teoría

Cada cuantos ciclos se toma una muestradel estado de la ejecución.

Cantidad de intervalos en el que se divide el rengo de util idad [0;1]

Elección de datos a registrar

-Ciclos-Cant. de Situaciones-Cant. de Teorias Acumuladas-Cant. de Teorias Nuevas-Cant. de Teorias Exitosas-Cant. de Teorias por Intervalo de Util idad-Cant. de Ciclos Exitosos-Cant. de Planes Exitosos-Cant. de Azares

Seleccionar Tipo SAR

Seleccionar Base de

Conocimiento

Base de Conocimiento en función del estado de evolución del SAR

Usa Base deConocimiento

Seleccionar Ambiente Escenario Born - Newbie

(Layer BIO)Escenario Newbie - Trained (Layer TIO)Escenario Trained - Mature (Layer WIO)

FinConfiguración

SAR

SAR

Setear Rendimiento de

Aprendizaje

% de rendimiento de ciclos exitosos (%rce)% de rendimiento teorias nuevas (%rtn)a alcanzar para la evolucion de estado del SAR.

[SI]

Framework SARFramework SAR

Configuración SARConfiguración SARact Seleccionar SAR

Seleccionar SAR

SAR reactivoSARp neutroSARp P SARp P,MSARp M SARr neutro SARr M

Usar Planificador

UsarMutación

Setear Parámetros

Mutación

- Clásica : basada en la situación- Coeficientes: basada enla acción.

- % umbral- umbral máximo

Setear Umbral

Ponderación

UsaPonderador

valor dentro del rango [0;1] que permite determinar si un plan es viable o no

Elegir Planificador

- Planificador Clásico- Planificador Ranking

Setear Método Utilidad

UsaPonderador

SARp SARr

UsarMutación

Setear Parámetros

Mutación

Setear Umbral

Ponderación

[NO]

[SI]

[NO]

[NO]

[SI]

[SI]

[NO]

[SI]

[SI]

[NO]

VideosVideos

Pruebas Pruebas RobotsRobotsFuzzyFuzzyIntercambio On-LineIntercambio On-Line

Futuras líneasFuturas líneas

AgradecimientosAgradecimientos

top related