View
11
Download
0
Category
Preview:
Citation preview
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
Recommended