You are on page 1of 7

Exploracin en el paradigma de programacin lgica de ASP para resolver el problema de planeacin de trayectorias para un sistema mvil dentro de un ambiente

esttico.

Introduccin. Un sistema mvil (SM)es un agente que tiene la capacidad de desplazarse de un lugar a otro, dentro de un ambiente delimitado y conocido (ambiente esttico), o bien dentro de un ambiente en el cual existen otros agentes en movimiento (ambiente dinmico), para poder desplazarse de un punto a otro, el SM debe tener la capacidad de tomar decisiones sobre cual trayectoria es la ms conveniente a seguir, para la adquisicin de esta habilidad de planeacin de trayectorias existen sistemas llamados planeadores que se encargan de ejecutar la tarea de elegir la mejor trayectoria de acuerdo a los criterios de optimizacin. Se ha hecho bastante trabajo en torno a la resolucin del problema de planeacin de trayectorias, atacando el problema desde distintos enfoques, NAGIB y GHARIEB [1] presentan un planeador basado en la tcnica de algoritmos genticos, para encontrar la trayectoria ptima para un SM en un ambiente esttico, esta tcnica se basa en las teoras de la seleccin natural, gentica y evolucin para generar sus soluciones, FERRARA Y RUBAGOTTI [2] presentan un enfoque para desarrollar un algoritmo para evasin de obstculos en un SM no holonomico basado en campo armnico potencial variante en el tiempo, en el cual se hace un modelado cinemtico del SM, sin embargo algunas de las perspectivas sobre las cuales se ha realizado trabajo de investigacin dependen en gran medida de la estructura del SM, o su eficiencia con respecto a la obtencin de la trayectoria optima es cuestionable, y si se considera el tiempo en el que se encuentra una solucin tampoco son de lo ms rpidos, por lo cual vale la pena explorar el paradigma de la programacin lgica para generar un sistema planeador que sea capaz de encontrar una trayectoria optima en un tiempo corto. Este trabajo de investigacin experimental tiene como objetivo el desarrollo de un sistema planeador de trayectorias para evasin de obstculos para un SM, que se desenvuelve en un ambiente esttico bien estructurado y conocido, es decir, se tiene un mapa con los puntos o estaciones a las cuales el robot llega y los posibles enlaces libres de colisiones entre los puntos en el mapa, desarrollado bajo el paradigma de programacin lgica en la semntica de Answer Set Programming (ASP).

ANSWER SET PROGRAMMING [3]. ASP es un nuevo paradigma de programacin introducido a finales de los 90s, desde entonces ha atrado la atencin de varias reas de investigacin debido a algunas de las caractersticas que presenta: Declaratividad.- los programas no especifican como computan las respuestas. Modularidad.- los programas pueden ser desarrollados incrementalmente. Expresividad.complejidad. ASP puede ser usado para resolver problemas de alta

Las reglas bsicas dentro de un programa lgico en la semntica de ASP se presenta de la siguiente manera;

(1) (2)

Donde

son los tomos de la regla, siendo para la regla 1,

la cabeza de es

la regla y el resto de los tomos componen el cuerpo de la regla,

considerada como la negacin por default del tomo , que es interpreta de diferente manera que la negacin clsica, la cual es una interesante propiedad que presenta ASP, debido a que gracias a ella el planeador adquiere un comportamiento no determinstico, que le permite hacer inferencias lgicas de una manera ms parecida a como lo hara un humano, la regla 2 al no tener cabeza, se interpreta de diferente manera, es una restriccin, es decir, cualquier conjunto de respuestas que cumpla con los tomos de la regla ser descartado. DEFINICION DEL PROBLEMA. Un SM se desplaza en un espacio de trabajo, esta rea esta descrita por un mapa de 2 dimensiones, en el cual se especifica la posicin de cada uno de los obstculos estticos as como los puntos o estaciones y los enlaces posibles que existen entre los puntos, el objetivo es planear la trayectoria optima libre de colisiones que le permita al SM desplazarse de un punto inicial a un punto objetivo a travs de los puntos enlazados.

En la figura 2 se muestra el mapa del espacio de trabajo del robot. Dentro de la semntica de ASP existe un lenguaje de accin conocido como [3], el cual permite dar una estructura al programa estableciendo literales fluentes, acciones, estados, leyes para la ejecucin de acciones y leyes que determinan las consecuencias de las acciones ejecutadas, a continuacin se establecen las definiciones de cada uno de estos componentes: Literal fluente.- son las propiedades del mundo que pueden cambiar con el tiempo. Estado.- son las condiciones en las que se encuentra el mundo en un instante de tiempo. Accin.- las acciones son las que ocasionan el cambio de un estado a otro. Leyes dinmicas.- describen los efectos que tienen las acciones. Leyes estticas.- describen la relacin que existe entre los fluentes. Leyes de ejecutabilidad.- codifica las condiciones bajo las cuales una accin puede ser ejecutada.

Adicionalmente a estos componentes se pueden estableces descripciones del mundo que no cambian, por ejemplo para la descripcin del mapa con obstculos y puntos fijos se puede establecer un conjunto de hechos que definen cuantos puntos existen y cuales puntos estn enlazados directamente entre s, sin que exista un obstculo entre ellos, el siguiente es un conjunto de hechos que definen los enlaces entre los puntos:

pt(0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;str;gol). link(0,1;3;4). link(1,0;2). link(2,1;5;11). link(3,0;6;8). link(4,0;5;6). link(6,3;4;7). link(7,6;9;13). link(8,3;13). link(9,7;10;15). link(10,5;9;11). link(11,2;10;12). link(12,11;15). link(13,7;8;14;15). link(14,13;15). link(15,9;12;13;14). Donde la relacin pt establece que cada uno de los argumentos dentro de ella es un punto del mapa, link establece una relacin de enlace directo entre 2 puntos, str es el valor del punto inicial y gol es el valor del punto final, estos dos ltimos se introducen a las variables al momento de ejecutar el programa. Este conjunto de hechos permite definir el mapa que se muestra en la figura 2. Los fluentes relevantes para la planeacin de la trayectoria son la posicin en la que se encuentra el SM y hacia donde se mueve: fluent(on(r,X)) :- pt(X). fluent(move(X,Y)) :- pt(X;Y), link(X,Y). Siendo para la primera regla, r el SM y X el punto en el que est el SM, la segunda indica el movimiento de un punto X a un punto Y, siempre y cuando se cumpla el enlace directo entre X y Y. El estado inicial del mundo est definido por el punto inicial en el que se encuentra el SM, este punto inicial se establece como un hecho para el tiempo cero. holds(on(r,str),0). holds(neg(F),0):-fluent(F), not holds(F, 0). En la primera regla se indica que se mantiene el fluente con el valor del punto inicial para el tiempo cero, y en la segunda se establece la negacin de un fluente si no se puede comprobar vlidamente que dicho fluente se mantiene para un tiempo cero, es decir, como nicamente se defini un valor para el fluente en el tiempo cero, se negaran todos los dems valores para el fluente. Solo existe una accin, que es la de moverse de un punto a otro, definido por la siguiente regla: action(move(X,Y)) :- pt(X;Y), link(X,Y).

Para las leyes estticas se debe especificar que el SM puede estar solo en un punto para cada uno de los tiempos, y que el SM no se encuentra en un punto especfico cuando se encuentra en algn otro punto para cada uno de los tiempos; holds(on(r,Y),T) :- time(T), pt(Y),not holds(neg(on(r,Y)),T), T <= n. holds(neg(on(r,Y)), T) :- time(T), pt(Y;Z), holds(on(r,Z), T), Y != Z. Estas dos reglas permiten generar una y solo una posicin del SM para cada uno de los tiempos, cabe mencionar que el nmero de tiempos con los que el planeador cuenta para ejecutar las acciones se define de manera externa al momento de ejecutar el programa. Para definir cules son las acciones de movimiento permitidas, es necesario establecer una ley de ejecutabilidad indicando que solo es posible moverse de un punto X a un punto Y en un tiempo T, si el SM se encuentra en el punto X en el tiempo T y tambin que para un tiempo inmediatamente anterior a T el SM no haya estado en el punto Y, es decir, que el SM no este regresando a un punto por donde ya haba pasado anteriormente, se define la siguiente regla: posible((move(X,Y)),T) :- time(T), pt(X;Y), holds(on(r,X),T), not holds(on(r,Y),T-1). La ley literalmente especifica que para un tiempo T cualquiera, ser posible un fluente con valores para X y Y tales que estn directamente enlazados, que el SM este en el punto X y que no se pueda comprobar vlidamente que el SM estuvo en el punto Y en un tiempo T-1, solo los fluente posibles para cada tiempo T deben formar parte del conjunto de soluciones, por lo tanto, debe establecerse una restriccin para eliminar los conjuntos de soluciones que tengan fluentes no posibles para cada tiempo: :- action(A1), time(T), occ(A1, T), not posible(A1,T). Cada vez que el SM se desplaza de un punto a otro, el estado del mundo cambia, es por esa razn que se debe establecer una regla para definir los efectos de las acciones, debido a que para este problema solo existe una accin (move(X, Y)), el nico efecto de esta accin es que el SM estar en un punto diferente cada vez que se mueve. Dentro de las leyes dinmicas se puede establecer tambin leyes inerciales que indiquen cuando un fluente mantiene su valor en el tiempo, si las acciones no afectan dicho fluente, la primera ley indica el valor del fluente para un tiempo T, si la accin que afecta al fuente, la segunda ley indica que el valor del fluente permanece, si la accin que ocurre no afecta al fluente: holds(on(r,X),T+1) :- time(T), pt(X;Y), holds(on(r,Y),T), link(Y,X), occ(move(Y,X),T). holds(on(r,X), T+1) :-pt(X), time(T), holds(on(r,X), T), not holds(neg(on(r,X)), T+1). Para cada tiempo debe ocurrir una y solo una accin, para esto se define la siguiente regla:

1 {occ(A1,T) : action(A1) }1:- time(T), T < n. Como ya se sabe el objetivo del planeador es alcanzar el punto deseado, definido externamente al ejecutar el programa, al igual que el nmero de tiempos para alcanzar el punto objetivo, la regla para definir el tiempo en el que se alcanza el objetivo y la restriccin para eliminar los conjuntos de soluciones que no llegan al objetivo son las siguientes: goal(T) :- holds(on(r,gol),T),pt(gol), time(T;T2), T2<T, not goal(T2). :- not goal(n). Para definir el nmero de tiempos dado para llegar al punto objetivo, se establece la siguiente regla: time(0..n). RESULTADOS. El planeador encuentra una ruta para cualquier punto inicial hacia cualquier punto definido como punto objetivo, siempre y cuando el tiempo sea suficiente para ello, recordando que solo se puede ejecutar una accin en cada tiempo, sin embargo el planeador hace uso de todos los tiempos para generar una ruta, pudiendo no ser la ruta ptima, un buen aspecto de este planeador es que fcilmente se puede adaptar a otros mapas, simplemente cambiando la descripcin de los enlaces entre los puntos y el nmero de los punto que hay en el mapa, el tiempo para encontrar una solucin es realmente muy corto, en este sentido para una aplicacin en un SM en tiempo real no presenta ninguna dificultad. DISCUSION. Hasta donde se ha desarrollado este trabajo de investigacin, aun no se ha comparado la eficiencia de su operacin con respecto a otras perspectivas de planeacin, incluso todava podra mejorarse este mismo programa, incluyendo ms caractersticas del mundo como la distancia recorrida de la ruta, determinando el tiempo mnimo para la ruta optima independientemente del tiempo definido por el usuario, incluso ejecutar el programa dentro de un sistema operativo diferente a Windows (Linux), el tiempo para encontrar la solucin tambin depende de los recursos para procesamiento de los que se dispongan. Donde n es el tiempo final.

Referencias.

[1] G. Nagib, and W. Gharieb, "Path Planning for a Mobile Robot using Genetic Algorithms",Int. Conf. on Electrical, Electronic and Computer Engineering (ICEEC'04), Cairo Egypt, 5-7 Sept., 2004. [2] A. Ferrara and M. Rubagottil., Sliding Mode Control of a Mobile Robot for Dynamic Obstacle Avoidance Based on a Time-Varying Harmonic Potential Field, ICRA 2007 Workshop: Planning, Perception and Navigation for Intelligent Vehicles, Department of Computer Engineering and Systems Science, University of Pavia, Via Ferrata 1, 27100 Pavia, Italy; email contact authors: antonella.ferrara@unipv.it, matteo.rubagotti@unipv.it. [3] T. C. Son, Approximation Based Reasoning and Conformant/Conditional Planning Bridging Reasoning About Actions & Changes and Planning, Department of Computer Science, New Mexico State, University Las Cruces, NM 88011, USA, ICAPS 2007

You might also like