PLANNING & LEARNING RESEARCH GROUP logoplg Universidad Carlos III de Madrid

Módulos de PELEA


Aunque para la definición de los dominios, los problemas y los planes PELEA utiliza lenguajes estándar de planificación, como PDDL (Planning Domain Definition Language), el intercambio de información entre todos sus módulos se realiza en XML. La transformación desde el lenguaje de planificación a XML la realiza el módulo Decision support. La transformación inversa la realiza el High-level replanner.

Execution

Es el módulo que se utiliza para la comunicación con el exterior. Recibe el problema, los dominios y los datos de los sensores y devuelve la siguiente acción a ejecutar.

Monitoring

Se encarga principalmente de monitorizar que el estado de bajo nivel se corresponda con el esperado. Para evitar tener que monitorizar todas las variables que conforman el bajo nivel, el módulo Decision support le informa de las que son relevantes para el problema. De esta forma, el Monitoring recibe información sobre qué variables debe monitorizar, variables que pueden pertenecer al ambiente o al plan, sus rangos válidos y los momentos temporales en que deben comprobarse. En concreto, para cada variable a monitorizar se guarda el momento en que se genera, el primer y último instantes temporales en que se prevé que una acción la necesitará como precondición y su rango de valores válido.

Este módulo también se encarga de enviar el plan de bajo nivel a Execution. Este plan puede estar formado por varias acciones a realizar en paralelo, por lo que el Monitoring debe encargarse de calcular cuándo terminan de ejecutarse y pedir el estado correspondiente.

Decision support

Las dos principales actividades de este módulo son, por un lado, decidir qué variables se deben monitorizar y cuáles son sus valores válidos, y por otro lado llamar al High-level replanner cuando el estado real no se corresponde con el esperado. En este último caso el módulo debe decidir si la discrepancia hace el plan inválido o no. En el primer caso, debe también decidir si es mejor crear un plan desde cero (utilizando como estado inicial el observado), replanificando, o si el plan inicial se puede reparar.

High-level replanner

Este módulo encapsula un planificador automático independiente del dominio. Recibe el problema y el dominioH en formato XML y los traduce al lenguaje que el planificador entiende. Posteriormente, toma el plan creado por el planificador y lo transforma a XML para enviárselo al módulo Decision support.

Low-level planner

Transforma las acciones de alto nivel en un conjunto de acciones de bajo nivel. En muchas ocasiones esta transformación se puede hacer de manera directa, mediante por ejemplo una tabla de equivalencias, sin necesidad de planificar. En otros casos será necesario usar un planificador independiente del dominio para realizar la conversión.

LowToHigh

Se encarga de realizar la conversión del estado de bajo nivel al de alto nivel. Recoge los datos de los sensores y los convierte en conocimiento de alto nivel.

Learning

Se encarga de generar diversos tipos de conocimiento a partir de los resultados de los planes y las ejecuciones pasadas. Por un lado crea conocimiento de alto nivel para refinar el dominioH y conocimiento de control para guiar al High-level replanner. Por ejemplo se puede empezar con un modelo sencillo con duraciones arbitrarias de las acciones de alto nivel y aprender las duraciones reales después de un serie de ejecuciones. Por otro lado, usando por ejemplo aprendizaje por refuerzo, crea conocimiento de bajo nivel para el Low-level planner.

Goal & metric generation

Este módulo se encarga de realizar gestión compleja de metas y métricas. En principio es un módulo opcional. Entre sus funciones están por ejemplo asignar utilidades a las metas en función de diversos criterios, seleccionar un subconjunto de metas en caso de que se descubra que no es posible alcanzarlas todas, o descubrir/crear nuevas metas de manera dinámica. También se encarga de establecer los criterios (métricas) respecto a los que se optimizarán los planes.

Continuar con Ciclo de ejecución