Está en la página 1de 9

Algoritmo rpido para computar el camino ms corto, con

un obstculo dinmico en un plano


Ukranio Coronilla Contreras
1
Jorge Corts Galicia
2
Jos Netz Romero Durn
3


1
Escuela Superior de Cmputo-IPN, Av. Juan de Dios Batz s/n, esquina con Miguel
Otn de Mendizbal, Mxico, D.F., 07738. Mxico
ukraniocc@yahoo.com
2
Escuela Superior de Cmputo-IPN, Av. Juan de Dios Batz s/n, esquina con Miguel
Otn de Mendizbal, Mxico, D.F., 07738. Mxico
jcortesg@ipn.mx
3
Universidad Autnoma Metropolitana unidad Cuajimalpa, Artificios 40, Col.
Hidalgo, Delegacin lvaro Obregn, Mxico, D.F., 01120. Mxico
netzrod@hotmail.com


Resumen. En muchas aplicaciones de la robtica es necesario encontrar la ruta
ms corta en el plano entre un punto inicial y uno final. Sin embargo, este
problema se vuelve ms complejo si en dicho camino se interponen obstculos
dinmicos, con una posicin inicial y una velocidad determinadas, pero con
direcciones de avance desconocidos. Estos obstculos se pueden modelar como
discos crecientes en el plano, y es el objetivo que el robot viajero nunca choque
con dichos obstculos.
Una solucin analtica a este problema fue propuesta y utilizada en [1], y
bsicamente concluye que dicho camino est compuesto solo por lneas rectas
tangentes a espirales logartmicas. Aprovechando estas propiedades y con
objeto de obtener con mayor rapidez la ruta ms corta, se propone un algoritmo
sencillo, cuyo tiempo de clculo dependa principalmente de la exactitud con la
que se desea obtener el resultado. Se construy un software que permita mostrar
de manera grfica el resultado del algoritmo.

Palabras clave: Camino ms corto, planeacin de movimiento, obstculos
mviles.
1 Introduccin
Es comn en el mbito de la robtica la necesidad de planear rutas que partan de un
punto fsico origen hacia un punto final o destino ubicados en un plano fsico [2]. Sin
embargo al irse elevando la calidad y complejidad de los sensores, en la actualidad es
posible determinar los obstculos y sus posiciones, ms aun, estos obstculos pueden
encontrarse en movimiento y su velocidad puede ser determinada por los mismos
sensores. El principal reto es encontrar las trayectorias cortas an con los obstculos en
movimiento[3], sin embargo para ello se requiere planeacin por parte del agente, y
esta ocupa muchas veces la cantidad de tiempo suficiente como para que la trayectoria
planeada ya no sea til al finalizar el clculo[4].
De esto se desprende la necesidad de considerar que el rea cubierta por un
obstculo un instante de tiempo despus a t
0
va a ser un rea circular con centro en la
posicin del obstculo en t
0
, es decir, no se hace un clculo exacto de la trayectoria y
posicin del agente. Esto permite asumir con la suficiente confianza que mientras no se
atraviesen dichas reas circulares concntricas, en los momentos respectivos t
1
hasta t
n
,

no se tendr una colisin.
Con este intervalo de tiempo t
n
t
0
disponible se va a poder realizar la planeacin
sobre la ruta ms conveniente que el robot viajero deber tomar. Evidentemente entre
mayor rapidez se lleve a cabo el clculo se podr encontrar una solucin para discos
crecientes subsiguientes con menor radio.
2 Estado del arte
En [1], los autores propusieron una solucin analtica a la bsqueda del camino mas
corto que debe recorrer un robot para llegar de un punto origen a otro punto destino,
considerando que existen obstculos dinmicos. Dichos obstculos dinmicos son
modelados mediante discos crecientes, los cuales representan el rea mxima que el
obstculo podra cubrir en un momento dado, si se desplazara a una velocidad mxima
constante.
Su teorema principal concluye que el camino ms corto consiste nicamente de
segmentos en lnea recta y segmentos de espirales logartmicas formadas por las curvas
perimetrales de los discos crecientes.
Por otra parte y como corolario se afirma que dicha curva es suave y contina, pues si
tuviera giros con trayectorias puntiagudas, estas podran ser cortocircuitadas por
trayectorias rectas que proporcionaran un camino ms corto. De esta manera tenemos
que en el camino ms corto las lneas rectas siempre van a ser tangentes a las espirales
logartmicas.

Fig. 1. Vista tridimensional del camino ms corto. Fuente: Figura 2 tomada de [1]
El cmputo del camino ms corto se explica de manera ms amplia en [5], y hace uso
de un modelo tridimensional donde los crculos concntricos al ir creciendo forman
conos. Esto sucede al utilizar el eje perpendicular al plano como una dimensin
temporal, tal y como se muestra en la figura 1. En dicho artculo la solucin se obtiene
a partir de resolver ecuaciones sobre los conos, lo cual implica un amplio desarrollo
terico y ecuaciones de solucin sobre grficos de intersecciones entre conos llamados
curvas de salida, tal y como se muestra en la figura 2.

Fig. 2. Curvas de salida sobre la superficie del cono. Fuente: Figura 4 tomada de [5].
Con objeto de simplificar el modelo matemtico, y por consiguiente su cmputo es
que se propone la siguiente metodologa para encontrar el camino mas corto para el
caso particular de un nico obstculo dinmico, como mostramos a continuacin.
3 Metodologa utilizada
En esta seccin vamos a describir de manera detallada la tcnica utilizada en la
bsqueda del camino ms corto para un agente que parte de un punto origen y viaja
hacia un destino, evitando la colisin con un obstculo dinmico con una ubicacin
inicial conocida. Para ello se expondr el conjunto de ecuaciones necesarias y una
descripcin del algoritmo que las utiliza.
3.1 Propiedades
De [5] tenemos que la ecuacin de la espiral logartmica est dada en coordenadas
polares y parametrizada por el tiempo t como sigue:

( ) r t t =
(1)
( )
2
0
1ln t V t u u = +
(2)

Donde el signo (+) indica una espiral que crece en el sentido contrario a las manecillas
del reloj y el signo () en el sentido de las manecillas del reloj. V es la rapidez a lo
largo del camino en espiral que tiene el robot, y
0
es el ngulo inicial de la espiral.
Se asume que la velocidad del obstculo tiene un valor mximo constante y de la
ecuacin (1) se observa que en cada unidad de tiempo el obstculo recorre una unidad
de distancia. De lo anterior y considerando que la velocidad se encuentra relacionada
con el tiempo mediante
d
v
t
= ,

se puede ver que la velocidad del obstculo se encuentra normalizada a 1.
Tambin es importante observar que la velocidad del robot que va a describir la
trayectoria de la espiral logartmica, ser V y no puede ser menor a la unidad o de lo
contrario se tendran valores imaginarios en la ecuacin (2). Dicho en otras palabras, la
velocidad del robot siempre deber ser mayor a la de los obstculos.
Si eliminamos el parmetro t en las ecuaciones (1) y (2) obtenemos:
2
0
1ln V r u u = +
Despejando r tendremos:
0
2
1 V
r e
u u
| |

|
|
\ .
=

(3)

La cual tiene la forma de la ecuacin espiral logartmica en coordenadas polares [6]:
b
r ae
u
= ,
de la que una de sus principales caractersticas es que el ngulo entre la tangente en
(r,) y la lnea radial es:
1
cot b

=
Graficando (3) con signo positivo en el radical, V = 2, ngulo inicial
0
=0 y un rango
de -<< obtenemos la grfica de la figura 3.


Fig. 3. Espiral logartmica con ngulo inicial
0
=0. Fuente: Grfica obtenida de [7].
Si el ngulo inicial
0
es de /2 radianes obtendremos la grfica de la figura 4.

Fig. 4. Espiral logartmica con ngulo inicial
0
= /2 (90 grados). Fuente: Grfica obtenida de la
pgina web interactiva [7].
Como se puede observar la curva ha rotado respecto al origen 90 grados en sentido
contrario a las manecillas del reloj.
Supongamos como se muestra en la figura 5, que el agente quiere viajar del punto
origen s al punto destino g, y lo desea hacer en el menor tiempo posible, sin embargo
existe un obstculo ubicado en el punto a al tiempo t
0
, este obstculo tiene una
velocidad unitaria y puede desplazarse en cualquier direccin posible. El rea posible
en la que el obstculo puede estar en un tiempo posterior t
1
, se muestra con el disco
obscuro, y el rea para un instante t
2
posterior a t
1
se muestra con el disco claro.


Fig. 5. Un obstculo dinmico a entre los puntos origen s, y destino g.
Para alinear las lneas rectas con la espiral logartmica, y obtener una curva suave y
continua ser necesario conocer la tangente a la espiral en todo punto. Para ello
sabemos de [8] que la pendiente de una recta tangente a la grfica de una ecuacin
polar ( ) r f u = no es la derivada / dr du . Sino
/
/
dy dy d
dx dx d
u
u
= , donde
( )cos x f u u = , y ( ) y f sen u u = . De modo que resolviendo la ecuacin (3)
tenemos que su pendiente en cualquier punto es:
2
2
1
cos
1
1
cos
1
sen
dy
V
dx
sen
V
u u
u u
+


3.2 Enfoque global del algoritmo
Con el conjunto de ideas presentadas con anterioridad, ahora podemos exponer el
enfoque general de nuestro algoritmo. De acuerdo a lo expresado, la trayectoria en este
caso se va a componer de una recta que se origina en el punto s y que va a ser tangente
a una espiral logartmica con centro radial en a. Posteriormente seguir la forma de la
espiral durante un intervalo de tiempo y finalmente seguir otra lnea tangente a la
misma espiral logartmica que llegar al destino g. Esta trayectoria se muestra en la
figura 6. Como se puede observar en la superposicin de las grficas, la trayectoria en
forma de espiral evita que el robot colisione con el obstculo dinmico, an si este
ltimo siguiera una trayectoria poco favorable para el robot.


Fig. 6. Trayectoria seguida por el robot ante un obstculo dinmico
El problema consiste en encontrar para una velocidad V del robot, el ngulo inicial
0

de la espiral logartmica, as como los puntos sobre la espiral P1(r
1
,
1
) y P2(r
2
,
2
), tales
que sus tangentes intercepten una en la coordenada origen y otra en la coordenada
destino, siendo estos segmentos de recta parte de la trayectoria.
De la figura se puede observar que una restriccin adicional es que, el tiempo que
tarda en recorrer el obstculo a velocidad unitaria, la distancia entre el centro de la
espiral (0,0) y P1(r
1
,
1
) en lnea recta, deber ser el mismo tiempo que tarda el robot en
recorrer la distancia entre s y P1. Recordando que siempre el robot tendr mayor
velocidad que el obstculo.
La solucin consiste entonces en obtener para un valor constante V y un ngulo
inicial
0
= 0, un conjunto discreto de coordenadas equidistantes sobre la curva espiral
geomtrica, asocindoseles a cada una de ellas una marca de tiempo correspondiente al
tiempo que tardara el obstculo en llegar a dicho punto partiendo desde el origen. Si
uno o varios de dichos valores sobrepasan la lnea recta subtendida entre el origen s y
el destino g, entonces ser un posible candidato a P1.
Supongamos que la coordenada P es candidata a convertirse en P1, entonces deber
cumplir tambin que su tangente es la misma que la lnea de s a P1. Por ltimo deber
coincidir su marca de tiempo con el tiempo que tarda el robot en llegar de s a P1.
De no cumplir ninguno de los elementos del conjunto con el requisito anterior,
entonces deber decrementarse el ngulo inicial
0
en un valor constante, generndose
un nuevo conjunto discreto de coordenadas y repetir el procedimiento anterior. Como
se podr suponer, este decremento en
0
provocar que un mayor nmero de
coordenadas en el conjunto sobrepasen la lnea recta subtendida entre el origen s y el
destino g. Esto se debe a que estamos rotando la espiral logartmica en sentido de las
manecillas del reloj.
Cumplido lo anterior solo resta encontrar en una de las siguientes coordenadas del
conjunto, aquella cuya pendiente coincida con la de la recta trazable entre P2 y el
destino g. En todos los casos se han utilizado mtodos numricos comunes tomados de
[9].
4 Resultados Experimentales
Para el caso especfico donde el objeto dinmico se encuentra en el origen de
coordenadas cartesianas (0,0), el origen del camino para el robot en la coordenada (-10,
-50), el destino en (30, 80), y la velocidad del robot V=2. El programa devuelve los
siguientes datos para el punto que se une en lnea recta con el origen:

x=27.89671, y=-5.16024, derivada en el punto=0.864288 radianes.

Para el punto que une con una lnea recta al destino con la espiral:
x=36.57952, y=27.37717, derivada en el punto=-1.451900 radianes

Para la ecuacin de la espiral (3) con centro en el origen de coordenadas, que pasa por
estos dos puntos, y es tangente a las lneas rectas anteriormente citadas, es necesario
tener un ngulo inicial
0
= 1.988998.

Estos clculos se hicieron en 0.01 segundos con una computadora de escritorio con
Linux como sistema operativo, procesador AMD de 1.64GHz y 1GByte en RAM.

Para mostrar el resultado de aplicar el algoritmo en este caso especifico, se elabor un
software basado en UNIX y con libreras X11. En la figura 7 se muestra la salida
grfica de nuestro programa y cuyo tiempo de graficacin no est incluido en el tiempo
de procesamiento para el algoritmo. Como se puede observar, un aumento en el nmero
de puntos sobre la espiral podra devolver valores ms exactos, sin embargo tambin
tendra un mayor costo en el tiempo de cmputo.


Fig. 7. Ruta ms corta con aproximacin discreta de la espiral. Fuente: software de elaboracin
propia.
5 Conclusiones y Direccin de Investigaciones Futuras
En este documento se ha presentado un algoritmo sencillo y aplicable en 2D para el
cmputo del camino ms corto entre dos puntos con un obstculo dinmico. Los
resultados experimentales muestran la rapidez con la que pueden llevarse acabo los
clculos para que el robot pueda planear una ruta. Mediante este algoritmo es posible
disminuir o aumentar la exactitud de los clculos de acuerdo a las necesidades del
usuario.
Como trabajo a seguir est elaborar rutas optimas para mltiples obstculos en
movimiento, as como obstculos en movimiento con distintas velocidades. Esta es la
ruta de nuestro trabajo actual y esperamos pronto contar con resultados satisfactorios.

Agradecimientos. Agradecemos a los revisores por los comentarios y observaciones
hechas, as como a la Escuela Superior de Cmputo IPN por las facilidades otorgadas
en el desarrollo de esta investigacin.
Referencias
[1] van den Berg, J., Overmars, M.: Computing Shortest Paths amidst Growing Discs in the
Plane. Dagstuhl Seminar Proceedings 06421, Robot Navigation.
[2] Nils J. Nilsson. Inteligencia Artificial Una nueva sntesis. Ed: Mc Graw Hill, 2001.
[3] P. Fiorini, Z. Shiller: Motion planning in dynamic environments using velocity obstacles.
The international Journal of Robotics Research.
[4] S. M. LaValle. Planning Algorithms. Cambridge University Press, 2006.
[5] van den Berg, J., Overmars, M.: Planning Time-Minimal Safe Paths Amidst Unpredictably
Moving Obstacles. The International Journal of Robotics Research Vol. 27, No. 1112,
November/December 2008, pp. 12741294
[6] E. W. Weisstein. Logarithmic Spiral. In MathWorld A Wolfram Web Resource.
http://mathworld.wolfram.com/LogarithmicSpiral.html
[7] Pgina interactiva de clculo simblico y cmputo dinmico Wolfram Alpha disponible en:
http://www.wolframalpha.com
[8] Dennis G. Zill : Clculo con Geometra Analtica. Grupo Editorial Iberoamrica, 1987.
[9] R. L. Burden, J. D. Faires. Anlisis numrico, 9
a
edicin. Cengage Learning , 2011.