Sie sind auf Seite 1von 125

Una Aplicacin Computacional De Generacin De Trayectorias Y

Evasin De Obstculos Para Distintos Robots Manipuladores


Con Anlisis En Un Sistema Real

Por:

Edwin Francis Crdenas Correa

Trabajo de Tesis para optar al ttulo de


Magister en Ingeniera Automatizacin Industrial

Facultad de Ingeniera
Maestra en Ingeniera Automatizacin Industrial
Universidad Nacional de Colombia
Bogot
2009
Una Aplicacin Computacional De Generacin De Trayectorias Y
Evasin De Obstculos Para Distintos Robots Manipuladores
Con Anlisis En Un Sistema Real

Por:
Edwin Francis Crdenas Correa

Director:
Luis Miguel Mndez Moreno

Asesor:
Jorge Sofrony Esmeral

Facultad de Ingeniera
Maestra en Ingeniera Automatizacin Industrial
Universidad Nacional de Colombia
Bogot
2009
Resumen

Actualmente la industria usa cada vez ms los robots manipuladores, los cuales son progra-
mados para desempear tareas repetitivas y tediosas en las cadenas de produccin. Esta tesis
presenta un marco de referencia en el clculo de trayectorias libres de colisiones para robots ma-
nipuladores. Hasta ahora la programacin de los robots industriales se realiza bajo el criterio
cualitativo del hombre, quin es el que disea la trayectoria libre de colisiones utilizando un
programa computacional con la capacidad de visualizar entornos en 3D.

En este trabajo se presenta un anlisis de los mtodos existentes para resolver el problema de
la generacin de trayectorias libre de colisiones enfocado a los robots manipuladores seriales,
como resultado de la investigacin de textos especializados que han surgido en los ltimos aos.
Tambin se expone con ejemplos y simulaciones como implementar dos mtodos para el clculo
de trayectorias en sistemas multi-dimensionales.

La generacin de trayectorias est siendo utilizada para novedosas aplicaciones en diversas


reas como en la robtica industrial, en la animacin en 3D, la navegacin autnoma y el diseo
de drogas por computador. En los ltimos nueve aos el mtodo Rapidly-exploring Random
Trees (RRT) se ha convertido en un mtodo popular para generar trayectorias. En este texto se
presenta una variacin del RRT para mejorar su desempeo en entornos de bsqueda complejos
y con pasajes estrechos.

El producto directo de esta tesis es la creacin de una aplicacin computacional que calcula
las trayectorias libres de colisiones para diferentes robots manipuladores en diversos entornos
3D, previamente conocidos. Este software es un sistema de programacin fuera de lnea que in-
cluye simulacin grfica del robot y su entorno, modelos cinemticos del robot, clculo de mo-
vimientos, con la posibilidad de importar y exportar las trayectorias obtenidas, y la visualizacin
del comportamiento del robot en realidad virtual. La explicacin de cmo se desarroll esta
herramienta informtica, junto con el anlisis de los experimentos realizados sobre un robot real,
estn consignados en el presente documento.

Al final, se presentan las conclusiones generales acorde a las consideraciones descritas dentro
del texto sobre los mtodos analizados, los resultados de las simulaciones y experimentos realiza-
dos.
Abstract

The industry increasingly uses robot manipulators, these robots are programmed to execute
repetitive and tedious tasks. This thesis presents as a reference framework to collision-free trajec-
tory planning for robot manipulators. Until now, the programming of industrial robots is made
under the visual supervision of human, using 3D robotics simulation software for design the
free-collision path.

This work present an analysis of existing methods to solve the path planning problem fo-
cused on serial robot manipulators, as a result of the investigation of specialized texts that have
appeared in recent years. Also I explain with examples and simulations, how to implement two
methods to calculate collision-free trajectories in multi-dimensional systems.

The path planning is being used for new applications in many areas, for example industrial
robotics, autonomous systems, and computer-aided drug design. During the last nine years, Ra-
pidly-exploring Random Trees (RRT) has become a popular framework for developing rando-
mized path planning algorithms. This text presents a new variant of RRT method to improve the
search performance in complex environments with narrow passages.

The direct product of this thesis is a computer application that calculates the collision-free
trajectory planning for robot manipulators into different 3D environments. This software are a
offline programming system that includes graphical simulation of the robot and his environment,
kinematic model of the robot, motion planning with the possibility of import and export the
trajectory matrix obtained, and the exhibition of robot movement in virtual reality. The explain-
ing of how this computational tool was developed, together with the analysis of experiments on
a real robot, is also presented in this text.

Finally, general conclusions are presented according to the considerations described in the
text about the methods discussed, the results of simulations and experiments developed.
Contenido

1 Introduccin 1-1
1.1 Generalidades sobre la Planificacin del Movimiento 1-1
1.2 Deteccin de Colisiones 1-3
1.2.1 Deteccin por Proximidad 1-4
1.2.2 Interseccin de Espacios 1-4
1.3 Aplicaciones 1-5

2 Construccin de Algoritmos 2-11


2.1 Concepto de Espacio de Trabajo y Espacio de Configuracin 2-13
2.2 Campos Potenciales Artificiales. 2-14
2.2.1 Potencial Atractivo 2-15
2.2.2 Potencial Repulsivo 2-16
2.2.3 Empleo en Cuerpos Articulados 2-17
2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales 2-19
2.3.1 Descripcin de Parmetros del Robot 2-19
2.3.2 Estimacin de los Gradientes Atractivos y Repulsivos 2-20
2.3.3 Clculo de la Distancia Mnima a un Polgono 2-22
2.3.4 Totalizacin del Campo Potencial 2-24
2.3.5 Empleo en Robots Redundantes 2-25
2.3.6 Desarrollo en 3D y Distancia Mnima Entre Slidos 2-27
2.3.7 Consideraciones sobre el Mtodo de Campos Potenciales 2-34
2.4 Mapas Probabilsticos - PRM 2-36
2.4.1 Generacin de nodos 2-37
2.4.2 Conexin entre nodos 2-37
2.4.3 Creacin de ruta 2-38
2.4.4 Variantes del PRM bsico 2-38
2.5 Algoritmo RRT bsico 2-39
2.6 Algoritmo RRT-Connect 2-40
2.6.1 Desarrollo en entornos de bsqueda en 2D y 3D 2-42
2.6.2 Aplicacin en un robot rectangular mvil 2-46
2.6.3 Consideraciones sobre el mtodo RRT-Connect 2-48
2.7 Algoritmo RRT-Met 2-49
2.7.1 Experimentos y Resultados 2-55

3 Implementacin Computacional 3-61


3.1 Desarrollo de la aplicacin AGT 3-61
3.2 Consideraciones y resultados con AGT 3-65
3.3 Anlisis en un robot real 3-67
3.3.1 Experimentos propuestos 3-68
3.3.2 Resultados obtenidos 3-70

4 Conclusiones 4-73

Bibliografa 4-77

Anexos 4-83
1 Introduccin

La definicin de Robot ha trascendido ms all del significado acuado por Karel apek en
1921, en su obra de teatro RUR( Rossums Universal Robots), y se ha convertido en el trmino
que define uno de los grandes temas de investigacin y desarrollo de la actualidad, la Robtica.
La palabra "robot", del vocablo checo robota, "servidumbre" o "trabajo forzado", es hoy en da
asignada generalmente a aquellas mquinas creadas por humanos para el beneficio del propio
hombre. Los robots abarcan desde aplicaciones en el sector de la automatizacin industrial, pa-
sando por la exploracin de otros planetas, hasta el uso meramente de entretenimiento.

Realizar una clasificacin general de los robots no es tan fcil, debido en parte, a que cada
da en el mundo se desarrollan nuevos robots para diversas aplicaciones. Sin embargo, para un
correcto entendimiento de este texto, una clasificacin razonable se puede establecer entre robots
mviles tipo AGV (Autonomous Guided Vehicle), los Robots Mimticos (Caminadores, Nadado-
res, Voladores y Apodos), los Robots Paralelos (Plataforma Stewart-Gough) y los denominados
Robots Manipuladores, que son los de ms amplia distribucin y uso en la industria, as como en
muchas otras actividades donde se requiera ejecutar una accin de manipulacin de objetos.

Este primer captulo del libro expone las caractersticas y definiciones necesarias sobre la
planificacin de trayectorias y la evasin de obstculos, concentrndose en los robots manipula-
dores, sin dejar de lado las consideraciones generales en la robtica.

1.1 Generalidades sobre la Planificacin del Movimiento


Todo robot requiere mover sus partes individualmente o como un todo, de acuerdo a la acti-
vidad para la cual fue diseado. Programar a un robot para que se mueva, requiere una accin
de planificacin de caminos o trayectorias, o path planning en ingls. En algunos textos, como en
Ollero[1], no hace una distincin clara entre trayectoria y camino, en este texto se hace una dife-
renciacin de la siguiente forma: Los caminos son aquellas rutas establecidas para robots mviles

1
2 1.1 Generalidades sobre la Planificacin del Movimiento

en dos o tres dimensiones. Las trayectorias, en cambio, se especifican como aquellas rutas a se-
guir por el efector final o las articulaciones de un robot manipulador.

Se designan como sistemas robticos generalmente al conjunto compuesto por un robot con
sus restricciones de rea de trabajo, tales como superficies de montaje, bancos de trabajo, las
limitaciones espaciales como techos, pisos y barreras metlicas de seguridad.

En una celda de manufactura donde un sistema robtico y las piezas de trabajo se mueven
constantemente, la planificacin del movimiento de un robot es un tema obvio a ser tratado por
los diseadores e investigadores en robtica. La planificacin del movimiento en entornos no
estructurados, con mltiples obstculos con movimiento no predecible, requiere el uso de tcni-
cas como reconocimiento de patrones y sistemas de inteligencia artificial, los cuales estn fuera
del alcance de este libro.

Dos tpicas tareas que requieren la planificacin de movimientos para robots manipuladores
en sistemas estructurados, son definidas como[2]:

Operaciones de recoger y colocar, o PPO por sus siglas en ingls: pick and place opera-
tions.
Rutas continuas, o CP por sus siglas en ingls: continuos path.

Las tareas PPO contemplan tomar una pieza de trabajo de una posicin inicial, especificada
por una orientacin y rotacin respecto a un sistema de coordenadas fijo; y luego ser llevada a
otra posicin, con una definida orientacin y rotacin final. Con PPO no se estipula como se debe
cargar la pieza de trabajo de una posicin inicial a otra, pero se debe realizar en una trayectoria
suave y libre de colisiones. Las PPO son extensamente aplicadas en procesos de automatizacin
como transporte de material (palletizing) y maniobras de empaquetado.

La planificacin de PPO involucra el movimiento del robot dentro del espacio cartesiano,
usando la geometra para que no colisione con otros objetos circundantes. Una primera
aproximacin a los mtodos de planificacin de caminos o trayectorias, fue realizada por Lozano-
Prez[3] en 1981, cuyo principio puede ser implementado fcilmente en robots planares (que
trabajan solo en 2D)[4] y con objetos de geometra simple a manera de obstculos. No obstante,
para movimientos en 3D con modelamiento de obstculos con geometra arbitraria, la implemen-
tacin del mtodo de Lozano-Prez se vuelve imprctica, tal como se afirma en [2].

Una forma ms pragmtica de trazar las PPO involucra dos aspectos: a) realizar primero una
planificacin de trayectorias en el espacio de articulaciones (en el dominio de ngulos, posiciones
y velocidades articulares) sin tomar en cuenta los obstculos, y b) verificar visualmente si ocurre
alguna colisin, con la ayuda de animaciones grficas por computador (Figura 1-1), del robot
movindose en su entorno en presencia de obstculos [2]. Algunas empresas como KUKA[5]
dedicadas al desarrollo y distribucin de robots industriales cuentan con su propio software para
simular el comportamiento de sus robots y as programarlos de forma off-line o fuera de lnea, tal
como se aprecia en la Figura 1-1(b).

Cuando un robot manipulador requiere el control en la orientacin y rotacin del efector fi-
nal en todo momento, tal como en procedimientos de soldadura, pintura, seguimiento visual, etc.
se necesitan las CP. Las CP se pueden abordar desde dos enfoques:
1 Introduccin 3

(a) (b)

Figura 1-1: (a) Animacin de una operacin de palletizing, en donde se toma en cuenta el proceso
de evitar colisiones en PPO (imagen extrada de [2]). (b) Captura del software KUKA.Sim Vie-
wer[5] para la programacin de un robot para tareas PPO.

a) Como primera medida, se disea una trayectoria que debe seguir el efector final utili-
zando una secuencia de puntos de va en el espacio cartesiano (puntos intermedios en-
tre la posicin inicial y final)[6], los cuales son utilizados posteriormente para calcular el
espacio articular con la cinemtica inversa propia del robot. Para asegurar que los actua-
dores cumplan con generar el movimiento en las articulaciones de forma conjunta, se
deben establecer curvas de trayectoria articulares continuas, en caso de robots con arti-
culaciones rotacionales, libros de anlisis de robots, como el de Craig[6], proporcionan
soluciones parablicas y polinmicas de orden superior para cada articulacin.

b) Mtodos algebraicos ms complejos son empleados para generar una trayectoria conti-
nua en el espacio a seguir por el efector final. El mtodo ms ampliamente aceptado esta
basado en las Funciones Spline. Una variacin del mtodo son las denominadas funcio-
nes paramtricas spline, usadas por su menor complejidad [2].

El planeamiento o clculo de una CP no toma en cuenta directamente la nocin de evasin


de obstculos. Para la generacin de CP funcionales en sistemas robticos reales, los programa-
dores de los robots se basan en herramientas de simulacin en 3D para verificar que los movi-
mientos del manipulador no produzcan colisiones entre el efector final y el entorno de trabajo del
robot.

1.2 Deteccin de Colisiones


En cuanto a la deteccin de colisiones, su formulacin se determina segn una de las siguien-
tes condiciones [1]:
4 1.2 Deteccin de Colisiones

1.2.1 Deteccin por Proximidad


La deteccin por proximidad ha sido usada para generar un sistema bsico de evasin de
obstculos, en el cual el sistema de control de un robot disminuye su velocidad de desplazamien-
to y realiza una parada del sistema, o realiza maniobras preestablecidas para sortear los obstcu-
los presentes en su espacio de trabajo.

Las tendencias en la ltima dcada abordan sistemas inteligentes basados en tcnicas de inte-
ligencia artificial (IA), como redes neuronales, lgica difusa y algoritmos genticos, en la formu-
lacin de mtodos para evasin de obstculos. Muchos artculos exponen tcnicas de IA, pero no
aseguran trayectorias ptimas[7]. Estas estrategias estn generalmente enfocadas al desarrollo de
sistemas de navegacin de robots mviles, con el uso intensivo de sensores de proximidad o sis-
temas cooperativos de posicionamiento[8].

Tambin se han desarrollado sistemas estreo-visuales para realizar la deteccin por proxi-
midad. Estos sistemas estn desarrollndose principalmente para robots de exploracin y de ma-
nera especial en los robots humanoides[9].

1.2.2 Interseccin de Espacios


La interseccin de espacios consiste en predecir mediante formulacin matemtica la posible
colisin entre figuras planas o entre slidos, los cuales son modelados para representar las partes
de un robot y los objetos circundantes a l. Existen mltiples artculos que presentan diferentes
procedimientos para calcular la interseccin de espacios en 3D.

Para el caso de robots manipuladores, una herramienta para facilitar los clculos de intersec-
cin de espacios, es el modelamiento del entorno basado en primitivas 3D de slidos, donde la
representacin de las partes del robot se generaliza con poliedros simples, tomndose como pre-
misa, que un cuerpo entero se puede componer de otros cuerpos convexos simples de menor
tamao, como se observa en la Figura 1-2.

Figura 1-2: Robot manipulador de seis grados de libertad, modelado en primitivas 3D de slidos
cilndricos[10].
1 Introduccin 5

En general se usa el concepto de la mnima distancia entre dos entidades geomtricas como:
un punto y un borde [11], una arista y una cara, o entre un borde y una longitud generatriz de
un slido de revolucin[10].

Existen otras estrategias para realizar la deteccin de colisiones mediante interseccin de es-
pacios, denominados Mtodos Jerrquicos[12]. Estos mtodos se basan en la descomposicin o
formacin de un cuerpo plano o slido, usando repetidamente una figura geomtrica (Figura 1-3).

Desde que naci la necesidad de calcular anticipadamente las colisiones entre diferentes
cuerpos no convexos, los Mtodos Jerrquicos se han planteado en diversos artculos cientficos,
entre los cuales se encuentran los elaborados por Quinlan[13], Eckstein[14], Klosowski[15],
Gottschalk[16], y Ehmann[17]. Una aplicacin de estos metodos se aprecia en la Figura 1-4.

Figura 1-3: Representacin del mtodo jerrquico para el cmputo de la distancia entre dos obje-
tos no convexos, propuesto por Quinlan[13].

Figura 1-4: Representacin de una dentadura escaneada, utilizando el mtodo propuesto por Eh-
mann con ms de cuarenta mil polgonos[17].

1.3 Aplicaciones
Existen dos razones para estudiar los algoritmos de planificacin. Como primera medida, en
la robtica se tiende a impulsar la investigacin que permita a los robots comportarse como los
seres vivos. Segundo, los algoritmos de planificacin se han difundido ampliamente en muchas
6 1.3 Aplicaciones

aplicaciones en la industria y en la investigacin dentro de diferentes disciplinas acadmicas[18].


El rpido crecimiento en los ltimos aos en el estudio de estos algoritmos, prometen el desarro-
llo de aplicaciones para muchos campos prcticos[18].

En todas las pocas y culturas han existido juegos de entretenimiento tipo rompecabezas o
puzzle en ingls, tales como el cubo Rubik o los anillos chinos. Ms all de crear algoritmos que
sean capaces de solucionar estos puzzles, su aplicacin en la industria es codiciada en las labores
de ensamblaje de productos complejos. Un ejemplo de solucin computarizada de un puzzle se
aprecia en la Figura 1-5.

Figura 1-5: Representacin de la solucin animada de un puzzle (Denominado Alpha 1.0 por Bo-
ris Yamrom) realizada por James Kuffner[19].

Para las empresas automotrices, no solo se requiere de algoritmos para realizar el correcto
ensamble, tambin se requiere que los robots puedan realizar operaciones en el vehculo, acce-
dindolo en su interior sin colisionar con las otras partes constitutivas del automvil.

Para el humano, realizar tareas PPO o CP evitando colisiones, es algo intuitivo y relativa-
mente de fcil ejecucin, en cambio para los robots es un problema complejo que necesita el de-
sarrollo de algoritmos de planeacin de trayectorias.

Las estrategias para planificar el movimiento de robots mviles con la capacidad de evadir
obstculos en el plano, son de ms fcil implementacin computacional, con respecto a la genera-
cin de trayectorias para robots manipuladores en el espacio. Por esta razn predominan una
gran cantidad de artculos de generacin de caminos para robots en 2D.

Es bien conocido que la industria se ha beneficiado con el uso de la planificacin de trayecto-


rias en robots manipuladores para desempear actividades de ensamble[20], soldadura[21], em-
paquetamiento, pintura[22] y seleccin de materiales como los que se pueden encontrar dispues-
tos en una banda transportadora (Ver Figura 1-6 y Figura 1-7).
1 Introduccin 7

Figura 1-6: Aplicacin del planeamiento de trayectorias en el proceso de manufactura automotriz


[18].

Las instalaciones robticas industriales se rigen claramente por un factor econmico, por tan-
to es de alta prioridad minimizar el tiempo de ejecucin de las tareas realizadas por los robots.
Esto motiva a los investigadores a desarrollar e implementar planificaciones de trayectorias, con
un factor de optimalidad en el gasto de energa o combustible por parte de los robots[11].

Otro uso a nivel industrial se desarrolla con los denominados AGVs, que poseen la versatili-
dad de transportar y apilar objetos y materiales dentro de grandes bodegas de manera autnoma,
permitiendo un control de mercancas en todo momento con un alto desempeo en el tiempo de
ejecucin de sus actividades.

(a) (b)

Figura 1-7: Ejemplos de aplicaciones robticas con planeacin de trayectorias con progracin off-
line. (a) Robot ABB para pintura automotriz. (b) Robot para el proceso de despiece crnico.
8 1.3 Aplicaciones

Aplicaciones innovadoras se estn formulando en el sector del parqueo automtico de auto-


mviles, el estudio de transito, en el diseo de campos deportivos y aeropuertos, al calcularse
como grandes nmeros de personas transitan por espacios cerrados. Adems, muchas institucio-
nes acadmicas han realizado estudios relacionados con el reconocimiento de entornos por parte
de robots mviles. Estas investigaciones han provisto robots pioneros dentro de hospitales y mu-
seos donde interactan con personas y diversos objetos sin chocar con ellos.

El uso de robots se ha incrementado en el rea de la ciruga, como en el caso de radiocirugias


no invasivas con el uso controlado de un haz de energa radioactiva para atacar tumores cerebra-
les[11]. Tambin se han usado robots en procedimientos invasivos que frecuentemente necesitan
un desempeo preciso en las maniobras quirrgicas, un ejemplo es el Sistema Quirrgico da
Vinci, que asiste en tcnicas avanzadas de corte y sutura[23] (Figura 1-8a).

(a) (b)

Figura 1-8: (a) Sistema Quirrgico da Vinci [23]. (b) Aplicacin de algoritmos de planificacin de
trayectorias en la modelacin de cadenas moleculares[24].

En los ltimos aos con el aumento de la representacin de procesos qumicos por computa-
dor se han formulado nuevos mtodos de diseo de drogas, cuyo problema radica en entender
como las protenas se acomodan en configuraciones ms estables (Figura 1-8b). Para esto los in-
vestigadores usan la planificacin de trayectorias para identificar como se doblan largas cadenas
moleculares (protenas) considerndolas como una serie de eslabones articulados[25].

Una de las exitosas aplicaciones de la planificacin de caminos fue mostrada por el robot ex-
plorador Sojourner, el cual descendi en Marte el da 4 de julio de 1997. El Sojourner aunque no
se mova grandes distancias, fue capaz de navegar solo, de acuerdo a su programacin off-line
realizada en la Tierra. Al Sojourner lo siguieron exitosamente sus primos el Spirit y el Opportu-
nity, que descendieron en Marte en enero de 2004 y exploraron mayores reas de manera aut-
noma.
1 Introduccin 9

(a) (b)

Figura 1-9: (a) Robot espacial canadiense Dextre[26]. (b) Sistema robotizado espacial, japons
Kibo[27].

La apertura de la Estacin Espacial Internacional (ISS) a impulsado el desarrollo de robots


que deben funcionar en el espacio. El transbordador espacial Endeavour de la NASA, llevo a la
ISS el 11 de marzo de 2008, el robot canadiense Dextre[26], para cumplir algunas labores que se
realizaban solo con caminatas espaciales (Figura 1-9a). La planificacin de trayectorias libres de
colisiones es indudablemente un tema a tomar en cuenta en el desempeo de este robot que
cuenta con dos brazos y siete grados de libertad (robot redundante). Tambin se ha colocado en
la ISS el robot japons Kibo[27] (Figura 1-9b), creado como un mdulo de la ISS para realizar
investigaciones en las ramas de la medicina, biologa, observacin terrestre, biotecnologa y co-
municaciones[28].

En el sector del entretenimiento, la planificacin de movimientos ha cobrado fuerza, en parte


al advenimiento de mejores tiempos de procesamiento en las animaciones computarizadas. Las
aplicaciones son muy variadas, desde la generacin de movimiento de actores digitales, pasando
por la animacin de vehculos y aeronaves virtuales, hasta el desarrollo de muchas aplicaciones
en el sector de los videojuegos[29]. Los programadores de estos juegos desarrollan el movimiento
de personajes en mltiples entornos espaciales, el desplazamiento de automviles que toman
decisiones con base a inteligencia artificial dentro de una pista con obstculos, y la interaccin de
varios jugadores virtuales que colaboran en equipo.
2 Construccin de Algoritmos

Antes de implementar un sistema de control a robot manipulador, es necesario conocer la


trayectoria deseada del efector final para llevar a cabo una tarea especfica[30], tal como lo de-
mandan las operaciones PPO. El trmino planificacin de movimiento o planeacin de trayecto-
rias es usado para describir este tipo de problemas[18].

Una versin clsica de planificacin de movimiento tiene que ver con el problema del encar-
gado de mover pianos (Piano Movers Problem), donde se debe formular un algoritmo capaz de
determinar como se debe mover un piano de una habitacin a otra, dentro de una casa, sin gol-
pearlo contra ningn otro objeto, como los muebles, paredes y puertas[18] (Figura 2-1). Este pro-
blema contempla muchas variables que crecen en complejidad en virtud del nmero de grados de
libertad que se manejen[31].

Figura 2-1: Representacin del problema de mover un piano en 2D[32].

11
12 1.3 Aplicaciones

El Piano Movers Problem puede ser definido formalmente de la siguiente manera: dado un
cuerpo rgido tridimensional, como un poliedro, y conociendo un grupo de obstculos, se debe
encontrar una trayectoria libre de colisiones para un cuerpo volador omnidireccional, desde una
configuracin inicial a una configuracin final determinada[11]. El presente trabajo se enfoca en
el concepto anterior, enmarcado en la simulacin del comportamiento de robots manipuladores.
Este captulo expone los principios que rigen los principales mtodos desarrollados para generar
trayectorias libres de colisiones en el campo de la robtica.

Segn Lu Wu de la Universidad de Tokio, la planificacin de trayectorias se convierte en un


problema complicado de tratar para robots manipuladores respecto al consumo de tiempo en
procesamiento, debido a los muchos grados de libertad utilizados para ejecutar una tarea en en-
tornos con mltiples obstculos distribuidos generalmente de una forma desorganizada[33]. En la
industria, la planificacin de trayectorias libre de colisiones es usualmente hecha por huma-
nos[33].

Muchas publicaciones y artculos de conferencias han proliferado respecto al tema de planifi-


cacin de trayectorias desde hace ms de una dcada despus de la aparicin del libro de Jean-
Claude Latombe en el ao 1991[34], el cual se estableci como referencia obligada. Pocos libros,
como el de Choset[11], han cerrado la brecha entre los conceptos fundamentales y los recientes
progresos tericos y prcticos[11]. El presente documento toma como referencia mucha de la
simbologa usada en el libro de Choset.

Existe un gran nmero de mtodos para resolver el problema bsico de planeamiento de tra-
yectorias, pero desde el libro de Latombe[34], se han destacado tres mtodos, los cuales en diver-
sas publicaciones se han modificado de una u otra forma, estos son: Campos Potenciales Artifi-
ciales. (Potential Functions); Mapas de Carreteras. (Roadmaps); y Descomposicin de Celdas.
(Cell Decompositions). Estos tres mtodos se han explicado alrededor del mundo en Tesis en el
rea de ingeniera, pero su alcance generalmente est limitado a dos dimensiones[35].

En la ltima dcada se han impuesto los llamados Mtodos basados en Mapas Probabilsticos
o PRM[36] por sus siglas en ingls Probabilistic Roadmap Methods, los cuales desde sus inicios
han probado su efectividad en espacios de bsqueda multi-dimensionales [37].

Despus de analizar textos especializados, como el de Choset [11], Se ha concluido que solo
los mtodos de Campos Potenciales Artificiales y los PRM son viables para aplicaciones prcticas
en cualquier tipo de robot manipulador, porque al aumentar el nmero de grados de libertad del
robot, los otros mtodos se tornan complicados de implementar y el tiempo necesario para en-
contrar la solucin es muy grande.

Usando los conceptos bsicos presentados en libros de referencia como el de Choset y La-
tombe, a continuacin se explican los mtodos de Campos Potenciales Artificiales y los PRM con
ejemplos matemticos y simulaciones realizadas bajo el entorno de programacin de MATLAB.
2 Construccin de Algoritmos 13

2.1 Concepto de Espacio de Trabajo y Espacio de Configu-


racin
Cuando se explica el comportamiento de los robots, generalmente se asume que operan en el
plano cartesiano 2 o en tres dimensiones 3 , a cada uno de estos ambientes se les deno-
mina Espacio de Trabajo o workspace , en la literatura bsica[1]. Este Espacio de Trabajo fre-
cuentemente contiene obstculos, donde se designa a como un i-simo obstculo en parti-
cular. Un Espacio de Trabajo Libre es un conjunto definido como: = \ donde
\ es el operador sustractor[11].

Una configuracin de un manipulador es la especificacin de cmo est localizada cada parte


del robot respecto a un marco de referencia y es representada por el vector columna:

T
q q1, q2, , qi qn

Donde representa un valor particular del desplazamiento o ngulo de rotacin de una arti-
culacin prismtica o rotacional del robot.

Uno de los trminos de mayor influencia en el planeamiento de trayectorias es el denomina-


do Espacio de Configuracin () o configuration space, el cual se define como el conjunto de
todas las posibles configuraciones para un robot[38]. Este trmino tambin se conoce como C-
space, en diferentes referencias bibliogrficas y es reconocida desde los trabajos pioneros de
Tmas Lozano-Prez[39]. El espacio de configuracin tiene la misma dimensin que el vector de
configuracin, es decir .

Se define como Espacio de Configuracin Libre de obstculos de forma similar al Espacio de


Trabajo Libre, como el conjunto = \ siendo la representacin todas las po-
sibles configuraciones no permitidas, por presentarse una colisin con un obstculo en el espacio
de trabajo por parte del manipulador[11].

La Figura 2-2 presenta en (a) la trayectoria de un robot planar de dos articulaciones rotacio-
nales en presencia de obstculos en el dominio del espacio de trabajo 2 . En (b) se observa
el espacio de configuracin para el mismo manipulador, siendo el eje de las abscisas la magnitud
del ngulo de la primera articulacin 1 ubicada en la base del robot, y en el eje de las ordenadas,
los valores del ngulo 2 que puede tomar la articulacin del codo. Este robot planar articulado,
es estudiado de manera tpica en los textos bsicos de robtica, tal como en el libro de Ollero[1],
y sus marcos de referencia articulares se muestran en la Figura 2-6.

El espacio de configuracin es una herramienta efectiva que permite visualizar al robot como
un punto singular dentro de un espacio apropiado, esto permite trazar una trayectoria segura
desde una configuracin inicial (start) hasta una final (goal). Para el caso del robot planar de dos
articulaciones de rotacin (manipulador plano), el espacio de configuracin de dimensin dos,
est definido como el conjunto[40]: = : 1 , 2 | 1 : 0,2), 2 : 0,2) .
14 2.2 Campos Potenciales Artificiales.

(a) (b)

Figura 2-2: (a) Trayectoria para un manipulador de dos articulaciones a travs del Espacio de
Trabajo. (b) Trayectoria en el Espacio de Configuracin.[41].

La solucin del problema de planificacin de movimiento es una funcin continua tal que
: 0,1 donde 0 = , 1 = siendo [0,1].

Cuando el resultado de la planificacin de movimiento esta parametrizado en el tiempo ,


() es una trayectoria, por lo que la velocidad y la aceleracin pueden ser encontradas tomando
la primera y segunda derivada con respecto al tiempo. Esto significa que debe ser por lo menos
dos veces diferenciable.

La exposicin de los conceptos anteriores permite entender cmo se plantean los algoritmos
correspondientes a cada mtodo de generacin de trayectorias, y que se explican a continuacin
en las siguientes secciones.

2.2 Campos Potenciales Artificiales.


El mtodo de Campos Potenciales fue descrito primero por Khatib[42] para evasin de coli-
siones de forma on-line para robots mviles con sensores de proximidad. Este mtodo hace uso
de campos de fuerza donde los obstculos son tomados a manera de cargas elctricas positivas, y
la meta o goal como carga elctrica negativa.

La idea bsica es concebir al robot como una partcula o punto dentro del espacio de configu-
racin, bajo la influencia de un campo potencial artificial , que hace que el robot sea atrado a
una configuracin final , mientras es repelido desde los lmites de .

El campo est compuesto por la suma de las componentes atractivas y repulsivas as:

U (q ) Uatt (q ) Urep (q ) (2.1)


2 Construccin de Algoritmos 15

Figura 2-3: Representacin de un campo de potencial en 3D. El mnimo global es la meta y la


figura central es un obstculo. (Capturas de: http://www.kakos.com.gr/page_1145700674781.html)

Dada esta formulacin, el planeamiento de movimiento puede ser tratado como un problema
de optimizacin donde se halla un mnimo global en , empezando desde una configuracin
. Este problema se puede resolver mediante el mtodo del descenso del gradiente. En este
caso el gradiente negativo de puede ser considerado como una fuerza actuante sobre el robot
en el espacio de configuracin = (). [38]. Una representacin del efecto del campo
potencial se exhibe en la Figura 2-3.

Las funciones de potencial, que dan forma al campo potencial artificial, pueden ser vistas
como paisajes donde el robot se desplaza desde un estado de valor-alto hacia un estado de va-
lor-bajo. De esta forma el robot se mueve colina a bajo siguiendo el gradiente negativo de la
funcin potencial. Una forma sensata de calcular la funcin potencial es tomando en cuenta la
distancia existente entre una configuracin dada y su meta , por tanto se puede estable-
cer que = (()). [11].

2.2.1 Potencial Atractivo


Existen varios criterios para seleccionar un campo potencial atractivo, sin embargo la defini-
cin de mayor aceptacin es que se incremente con la distancia desde , segn la si-
guiente formulacin:


1
d 2 (q qgoal ), *
d (q, qgoal ) dgoal

2
Uatt (q ) 2 (2.2)


*
dgoal d(q qgoal ) 21 dgoal
*
, *
d (q, qgoal ) dgoal

Y su gradiente es:

(q q ), *
d(q, qgoal ) dgoal
goal
Uatt (q ) dgoal
*
(q qgoal ) (2.3)
, *
d(q, qgoal ) dgoal
d (q, qgoal )

16 2.2 Campos Potenciales Artificiales.


Donde es el parmetro usado para escalar el efecto atractivo potencial. es la distancia
umbral desde la meta para el cambio de condicin de atraccin. La aparicin del cambio de con-
dicin desde la ecuacin (2.2), explicada en el libro de Choset[11], se emplea para que el robot se
aproxime lentamente a la meta usando un potencial atractivo cuadrtico.

2.2.2 Potencial Repulsivo


El potencial repulsivo mantiene al robot apartado de un obstculo. La severidad de la fuerza
del campo debe aumentar con la proximidad al obstculo. Por tanto el potencial repulsivo es
definido en trminos de la distancia ms cercana () a un obstculo en particular .
Adems, medida desde el punto del obstculo , posee el gradiente (Figura 2-4):

q co
di (q )
d(q, co )

La formulacin de la funcin potencial de repulsin en virtud de la presencia de un obstculo


en particular es:



,
2

1 1
1
di (q ) Qi*
U rep (q ) 2 di (q ) Qi* (2.4)
i


0, di (q ) Qi*

Y su gradiente es:




2

1
1 1
di (q ), di (q ) Qi*
U rep (q ) di (q ) Qi* di2 (q ) (2.5)
i


0, di (q ) Qi*

Figura 2-4: Representacin de la distancia ms cercana a un obstculo , con la direccin que


proporciona el gradiente de (). Imagen tomada de Choset[11].
2 Construccin de Algoritmos 17

Donde Qi* es el factor que permite al robot ignorar un obstculo que se encuentran su-
ficientemente lejos de l, y puede ser visto como la ganancia en el gradiente repulsivo. Estos
escalares son generalmente determinados por ensayo y error.

Finalmente el campo repulsivo actuante ser el efecto combinado de los campos repulsivos
de todos los obstculos sobre el robot, de la siguiente manera:

n
U rep (q ) Urep (q )i
i 1

2.2.3 Empleo en Cuerpos Articulados


Como el objetivo es construir una funcin potencial que repela al robot de los obstculos, con
un mnimo global que corresponde a la meta , utilizar el espacio de configuracin es una
tarea conceptualmente sencilla puesto que el robot es representado como un simple punto.

En el espacio de trabajo no es tan fcil formular un procedimiento, pues el robot posee un


volumen finito en tres dimensiones. Si se evala el efecto de un campo potencial, esto involucra
una integral sobre el volumen, que acarrea dificultad en la formulacin matemtica y en la eje-
cucin computacional.

Una aproximacin alternativa expuesta en la gran mayora de textos especializados, es selec-


cionar un subconjunto de puntos pertenecientes al manipulador, denominados Puntos de Control
( ), luego se define un potencial en el espacio de trabajo para cada uno de estos puntos. Con la
determinacin del efecto sobre los puntos de control, se realiza un mapeo de las fuerzas desde el
espacio de trabajo al espacio de configuracin y posteriormente se calcula una sumatoria de fuer-
zas del espacio de configuracin para obtener el efecto combinado sobre todo el robot.

Si asignamos a y como los vectores representantes a un punto en el espacio de trabajo y


espacio de configuracin respectivamente, se relacionara con por las ecuaciones de la ci-
nemtica directa = (). Tambin se puede establecer a y como las fuerzas generalizadas
que actan en el espacio de trabajo y espacio de configuracin respectivamente, donde acta
sobre tal como sobre . Usando el principio de trabajo virtual, el cual esencialmente dice que
el trabajo realizado es independiente del marco de coordenadas, se puede formalizar una relacin
entre y tal como se describe en Choset[11] de la siguiente forma:

u(q ) J T f (x ) (2.6)

Donde J es el jacobiano de la cinemtica directa de en virtud de as:

(q )
J (q )
q

Usando la relacin (2.6) se logra convertir las fuerzas individuales del espacio de trabajo a
fuerzas dentro del espacio de configuracin (torques para articulaciones rotacionales y fuerzas
18 2.2 Campos Potenciales Artificiales.

para articulaciones prismticas), como resultado, es posible sumar los efectos del campo potencial
sobre cada punto de control en el espacio de configuracin.

El total de todas las fuerzas actuantes en el espacio de configuracin sobre el robot, es la su-
ma de las fuerzas atractivas y repulsivas en el espacio de configuracin sobre todos los puntos de
control, i.e.,

U (q ) Uatt j
U rep
ij
j ij
(2.7)
U (q ) J Tj (q )Uatt (q ) J Tj (q )U rep
j ij
j ij

Donde el trmino J j (q ) es la matriz jacobiana respecto a la cinemtica directa para cada


punto de control .

Es esencial que la adicin de las fuerzas actuantes sea hecha en el espacio de configuracin y
no en el espacio de trabajo[11], dado que existen diferentes problemas geomtricos cuando se
proyectan trayectorias en el espacio de trabajo. Dos casos tpicos son mencionados en el libro de
Craig[6] y visualizados para un robot planar de dos eslabones en la Figura 2-5.

Para determinar el campo potencial, el mnimo nmero de puntos de control y la localizacin


de estos sobre el robot depende de su morfologa. Es razonable que existan mayor o igual canti-
dad de puntos de control que el nmero de grados de libertad del manipulador.

B A B

(a) (b)

Figura 2-5: Problemas geomtricos en la planeacin de trayectorias con respecto al espacio de


trabajo. (a) Trayectoria con puntos intermedios no alcanzables. (b) Trayectoria con puntos alcan-
zables solo con diferentes orientaciones.
2 Construccin de Algoritmos 19

Una vez obtenido el efecto del campo potencial artificial sobre el robot en un momento dado,
es necesario obtener la siguiente configuracin del manipulador, esto se logra con el mtodo del
descenso del gradiente, el cual es bien conocido para resolver problemas de optimizacin. La idea
es simple, se empieza desde una configuracin inicial, y se toma un pequeo paso en direccin
del gradiente negativo que nos da una nueva configuracin; este proceso se repite hasta que el
gradiente sea cero. La definicin del algoritmo del descenso del gradiente para la implementacin
de campos potenciales en robots manipuladores es la siguiente:

Algoritmo 1: Descenso del Gradiente

1. 0 =
2. =0
3. while > do
4. + 1 = + ()(())
5. =+1
6. end

La notacin de () es el valor de en la -sima iteracin y al final la trayectoria libre de


colisiones consiste de un secuencia 0 , 1 , 2 , , () . El valor escalar () determina
el paso de la -sima iteracin. Es importante que () sea suficientemente pequeo para que el
robot no se salte los obstculos, la eleccin de ()se realiza generalmente de forma emprica. Es
improbable que el gradiente llegue a ser cero, por tal razn se establece la condicin del como
un valor escogido suficientemente pequeo, basado en los requerimientos de operacin del ma-
nipulador.

2.3 Generacin de Trayectoria Usando Campos Potenciales


Artificiales
Es comn utilizar el Robot Planar articulado mostrado en Figura 2-6 para explicar cmo apli-
car un mtodo de control en 2D y luego hacerlo extensible a 3D. En esta seccin se expone la
generacin de trayectoria usando campos potenciales para robots articulados, sin embargo es
fcilmente aplicable a configuraciones redundantes o con articulaciones prismticas.

2.3.1 Descripcin de Parmetros del Robot


El problema de llegar a un estado final en el espacio de configuracin, o en el espacio
de trabajo, partiendo de las condiciones iniciales o en los espacios de configuracin y traba-
jo respectivamente, requiere conocer el estado del robot para cualquier instante, de modo que se
pueda calcular el desplazamiento de sus partes.
20 2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales

En un momento dado, el robot planar de dos articulaciones rotacionales presenta los estados
siguientes:

P q
P 1 y Q 1 1
P2 q2
2

1
1

Figura 2-6: Representacin del robot planar para el estudio de generacin de trayectorias. Con
dos eslabones determinados por las longitudes 1 y 2 , y variables articulares 1 y 2 .

Para este caso es conveniente que la designacin de los puntos de control ( ), para calcular
la magnitud del campo potencial resultante, sean el origen de la segunda articulacin y el efector
final. No tiene sentido asignar siempre como puntos de control a todas las articulaciones puesto
que algunas permanecen estticas y que no colisionan con los obstculos.

El espacio de trabajo se enlaza con el de configuraciones mediante la cinemtica directa[1]:

L cos 1 L cos 1 L2 cos(1 2 )


P1 1
, P2 1
(2.8)
L sen L sen L sen( )
1 1 1 1 2 1 2

Sus correspondientes jacobianos son:

L sen 1 0
J 1 J P (1, 2 ) 1
1
L1 cos 1 0

(2.9)
L sen 1 L2 sen(1 2 ) L2 sen(1 2 )
J 2 J P (1, 2 ) 1

2 L cos L cos( ) L cos( )
1 1 2 1 2 2 1 2

2.3.2 Estimacin de los Gradientes Atractivos y Repulsivos


2 Construccin de Algoritmos 21

Una vez establecido los puntos de control y su estado en cualquier momento, se calcula el
gradiente del campo potencial atractivo establecido en la ecuacin (2.3) para cada uno de los
punto de control as:

(P P ), *
d (Pj , Pf ) dgoal
j j f j
*
Uatt (Pj ) dgoal j (Pj Pf ) (2.10)
j
, *
d(Pj , Pf ) dgoal
d (P , P ) j
j f

El valor de d(Pj , Pf ) es la distancia euclidiana definida por: Pf Pj


2


Se asignan los valores de (efecto atractivo potencial) y (la distancia umbral desde la
meta) de manera emprica, de acuerdo a los requerimientos de funcionamiento del robot.

En nuestro caso, un criterio a emplear, son las longitudes de los eslabones. Si ambas longitu-
des son aproximadamente iguales, ser = 1 para cada punto de control. Si una longitud de es-
labn es mucho mayor a otra, se ajustan los valores de de tal manera que los puntos de control
sean atrados de forma homognea a las posiciones finales .

El valor de determina la forma de atraccin del campo potencial, de tal manera que

entre y la posicin final un punto de control es atrado de forma cuadrtica. Entre y
el infinito, la atraccin del punto de control a la meta es de forma cnica[11].

El criterio para asignar el valor de se puede relacionar con la escala del espacio de tra-
bajo en el que se desenvuelve el robot. El robot planar tiene como distancia mxima a la meta
dos veces la suma de las longitudes de eslabones (por cinemtica directa), es razonable adjudicar

un valor a igual para ambos puntos de control, entre el 5% y el 50% de la distancia mxima
a la meta, para ser apreciable un cambio del comportamiento general del robot planar sometido a
campos potenciales artificiales.

Segn lo anterior, para un instante dado los dos puntos de control del robot planar estarn
sometidos a campos atractivos individuales dados por las siguientes expresiones de gradiente:

(P P ), *
Pf P1 dgoal
1 f
Uatt (P1 ) dgoal
*
(P1 Pf )
, *
Pf P1 dgoal
Pf P1

(P P ), *
Pf P2 dgoal
2 f
*
Uatt (P2 ) dgoal (P2 Pf )
, *
Pf P2 dgoal
P P
f 2
22 2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales

Por otra parte, el campo repulsivo se encuentra segn la influencia del gradiente dado por la
expresin (2.5) para cada punto de control dentro del espacio de trabajo as:




2

1
1 1
di (Pj ), di (Pj ) Qi*
U rep (Pj ) j di (Pj ) Qi* di2 (Pj ) (2.11)
i


0, di (Pj ) Qi*

El valor de puede ser el mismo e igual a la unidad para todos los puntos de control, a se-
mejanza de . Siendo quien controla de forma relativa la influencia del campo repulsivo para
un punto de control en particular [11].

Si en el espacio de trabajo del robot planar se encuentran dos obstculos ( = 1, 2 ), los gra-
dientes correspondientes al efecto repulsivo son cuatro, dos por cada uno de los puntos de control
( = 1, 2 ). Sin embargo, si se conoce de antemano que un obstculo nunca colisionar con el
punto de control, por ejemplo 1 en nuestro caso de estudio, su gradiente de repulsin no debe
calcularse a favor de la eficiencia del algoritmo implementado. Esta es una medida que se toma
de antemano por el proyectista y no est dado por el mtodo general de clculo.

Una parte esencial para el cmputo de los potenciales repulsivos, es hallar el valor de la dis-
tancia mnima ( ) entre un obstculo y un punto de control . La eficiencia del algoritmo
depende fuertemente de este aspecto.

2.3.3 Clculo de la Distancia Mnima a un Polgono


En el caso de un espacio de trabajo en 2D, los obstculos pueden ser representados como
polgonos convexos o polgonos cncavos conformados como un conjunto de polgonos con-
vexos.

Un polgono convexo puede ser definido por un conjunto de puntos, denominados vrtices,
que son conectados por medio de segmentos rectos en sentido antihorario conformando un ence-
rramiento convexo. Una formulacin para hallar la distancia mnima desde un punto de referen-
cia a un polgono convexo, se deduce del posicionamiento de este punto de referencia, el cual se
puede encontrar en la cercana de un borde o de un vrtice[43], como se aprecia en las regiones 1
y 2 de la Figura 2-7.

Con los vrtices del polgono se calcula:

ui Pi 1 Pi
2 Construccin de Algoritmos 23

2
+1


+1 +1
1

(a) (b)

Figura 2-7: Anlisis para encontrar la distancia mnima a un polgono. (a) Regin 1; cuando el
punto ms cercano se encuentra en el borde del polgono. (b) Regin 2; cuando el punto ms cer-
cano es un vrtice de la figura plana.

Donde, vi ui tal que vi ui 0 , por tanto:

u u
ui x , vi y
uy u
x

La distancia mnima al polgono, se calcula segn se cumpla de forma simultnea las si-
guientes desigualdades para cada una de las regiones mostradas en la Figura 2-7.

Para la Regin 1:

x i ui 0
vi x i 0
xx i vi 0


uuT
Entonces: d I x
2 i
u

Y su direccin, que es necesaria para el clculo del potencial repulsivo, es:

vi
d
vi
24 2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales

Para la Regin 2:

vi xx i 0
xx i vi 1 0

Entonces: d Pi 1 xxi

xx i
Y su direccin: d
xx i

Se puede generalizar que para el clculo la distancia mnima entre un punto de control del
robot y un obstculo convexo poligonal de lados con vrtices, existe mximo 2 inspecciones
de condiciones de desigualdad.

2.3.4 Totalizacin del Campo Potencial


El efecto total de las fuerzas actuantes en el espacio de configuracin se calcula usando la
equivalencia (2.6), generalizada para robots manipuladores en (2.7), y que para el caso del robot
planar se concreta de la siguiente manera:

U (q ) Uatt j
U rep
ij
j ij
(2.12)
U (q ) J Tj U att
j
J Tj U rep
ij
j ij

U (q ) J 1T Uatt (P1 ) J 2T Uatt (P2 )


J 1T (U rep (P1 ) U rep (P1 )) J 2T (U rep (P2 ) U rep (P2 ))
1 2 1 2

A continuacin, de forma analtica se calcula la siguiente posicin de robot usando el algo-


ritmo de descenso del gradiente. En el paso numero 4, del Algoritmo 1, se computa:

q(i 1) q(i ) iU (q )

1,nuevo
1 U (q )

2,nuevo 2

En resumen, se encuentran las nuevas posiciones dadas por la cinemtica directa usando
los nuevos valores de las variables articulares en virtud al incremento otorgado por (),
luego se calcula nuevamente los gradientes atractivos y repulsivos para generar otra iteracin
del algoritmo de descenso del gradiente. Se realiza esto, hasta que el valor de () sea suficien-
2 Construccin de Algoritmos 25

temente pequeo, correspondiente a psilon, lo cual representa que el robot se encuentra muy
cerca a la posicin final deseada.

El valor de debe ajustarse, mediante ensayo y error, lo suficientemente pequeo para que
los puntos de control no salten sobre los obstculos [11].

Finalmente, al terminar el Algoritmo de Descenso del Gradiente, se obtienen un conjunto de


posiciones o , que conforman la trayectoria desde la posicin inicial a la final, evadiendo
sistemticamente los obstculos presentes en el espacio de trabajo.

2.3.5 Empleo en Robots Redundantes


Para robots con ms de dos eslabones en un entorno 2D, la metodologa aplicada es la misma
que se expuso anteriormente, aunque aumenta el nmero de puntos de control, la complejidad en
el cmputo de los jacobianos, y por tanto el tiempo de procesamiento total.

Como ejemplo del funcionamiento del mtodo, se desarroll con el software de simulacin
para la ingeniera, MATLAB, el modelo de un robot planar de tres eslabones articulados, el cual
se presenta en la Figura 2-8a. con sus condiciones iniciales y finales, dentro de un espacio de
trabajo con dos obstculos poligonales, los cuales restringen el movimiento de la todas las articu-
laciones mviles.

La ejecucin del mtodo del campo potencial artificial para el robot planar mostrado en la
Figura 2-8b, consta con los siguientes parmetros del gradiente atractivo:

1 0.5
2 3 1
* * *
dgoal 1 dgoal 2 dgoal 3 5

Los parmetros para el gradiente repulsivo son iguales para ambos obstculos:

1 1 20 y Q1* Q2* 2

El ajuste de los parmetros de repulsin permite controlar fcilmente el comportamiento ge-


neral del robot, de tal manera que el proyectista de la trayectoria decida el nivel de sensibilidad
para la evasin o aproximacin a un obstculo. Por ejemplo, cuando se requiere colocar una pie-
za de trabajo encima de una mesa, el robot reconoce a la mesa como obstculo, pero debe
aproximarse a ella de una cierta manera, segn los requerimientos operacionales.

La redundancia es una gran ventaja cuando se trabaja en entornos complejos cuando hay
que eludir obstculos o acceder a zonas de difciles. Dos aplicaciones destacadas en los ltimos
aos son: Primero, los robots apodos, usados en entornos limitados, tal como la inspeccin de
tuberas que se realiza con el robot MAKRO[44]. Segundo, los robots quirrgicos, que permiten a
los cirujanos mejorar su destreza con una precisin localizada y con una precisin en la manipu-
lacin[45].
26 2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales

(a)

(b)

(c)

Figura 2-8: (a) Robot planar de tres eslabones en su estado inicial y final. (b) Simulacin de los
estados intermedios cuando el robot est sometido a un campo potencial artificial. (C) Genera-
cin de la trayectoria libre de colisiones.
2 Construccin de Algoritmos 27

Figura 2-9: Visualizacin del efecto repulsivo de un obstculo sobre un punto de control. Las
flechas indican la direccin del campo, su magnitud decrece acorde a la distancia mnima al pun-
to de control.

La Figura 2-9 muestra cmo se afecta directamente el comportamiento del ltimo eslabn de
un robot planar redundante en las cercanas de un obstculo. Aunque el obstculo es poligonal
con aristas, se genera un campo repulsivo de contorno suave.

2.3.6 Desarrollo en 3D y Distancia Mnima Entre Slidos


El uso de campos potenciales artificiales para encontrar una trayectoria libre de colisiones en
un entorno tridimensional es muy similar a lo expuesto anteriormente. Se aplica el mtodo del
descenso de gradiente recurriendo iterativamente con los siguientes pasos y una vez sean desig-
nados los puntos de control para el manipulador:

a) Descripcin de los parmetros del manipulador: cinemtica y jacobianos para cada punto
de control .

b) Se estima los gradientes atractivos para cada punto de control usando la expresin
(2.10) y los parmetros de atraccin segn el comportamiento deseado para los eslabones
del robot.

c) Clculo de la distancia mnima di (Pj ) y direccin di (Pj ) desde cada obstculo i a


cada punto de control j .

d) Estimacin de los gradientes repulsivos a cada punto de control desde cada uno de
los obstculos permitidos en el clculo por el proyectista, usando la expresin (2.11) .

e) Totalizacin del campo potencial mapeado en espacio de configuracin mediante la


ecuacin (2.12), usando las matrices jacobianas transpuestas para cada punto de control.

El algoritmo para este caso requiere el clculo de la distancia mnima existente a un obstcu-
lo en 3D, para esto se puede definir cualquier slido como un poliedro convexo o un conjunto de
ellos que conforman a un poliedro cncavo [46].
28 2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales

Uno de los mtodos ms usados tanto en animacin 3D, en la creacin de videojuegos y en


robtica, es el desarrollo de la Deteccin de Colisiones Basado en el Algoritmo GJK [47]. Para el
caso de robots manipuladores, se tiene en cuenta seguir los siguientes pasos:

a) Se realiza la resta de Minkowski entre un punto de control y un poliedro que representa


a un obstculo.

b) Se ejecuta el algoritmo iterativo GJK.

c) Se calcula la distancia mnima a un tetraedro, usando las regiones de Voronoi.

Las operaciones de Minkowski son utilizadas en un amplio rango de aplicaciones, tales como
procesamiento de imgenes, sistemas de informacin geogrfica y marcado de moldes, entre
otras [48]. La resta de Minkowski se puede interpretar como la resta de dos formas geomtricas,
donde dos conjuntos de vrtices se suman entre s para dar como resultado otro conjunto de
vrtices. La definicin formal es [49]:

A B a b : a A, b B

Donde es la resta vectorial de las vrtices y . Si y son convexos, el resultado de


la operacin de Minkowski = tambin es convexo. La utilidad de la resta de Minkowski
aparece al calcular la distancia entre y el origen, pues es la misma que la distancia mnima
entre y , tal como se aprecia en la Figura 2-10 para el caso de polgonos convexos.

El algoritmo GJK fue propuesto por Elmer Gilbert, Daniel Johnson y Sathiya Keerthi en 1988,
para el clculo rpido de la distancia entre objetos complejos en el espacio tridimensional [50].
Una ventaja que presenta este algoritmo, es la capacidad de generalizacin en -dimensiones,
por lo cual es apropiado referirse a politopos (un polgono en el espacio bidimensional, y un po-
liedro en el tridimensional), y simplex (punto, lnea, tringulo, tetraedro).

Figura 2-10: Representacin de la resta de Minkowski entre dos polgonos convexos y , cuyo
resultado es otro polgono convexo .
2 Construccin de Algoritmos 29

Este algoritmo se vale de la nocin de proyeccin. Si es un conjunto de puntos en un -


espacio, es el encerramiento convexo de . Se designa a como punto de soporte, el cual
tiene la mxima proyeccin (producto punto) sobre una determinada direccin . Por tanto:

Sm (C ) max{c d | c C }

Se puede generalizar el algoritmo GJK, como el clculo de la distancia mnima de un politopo


convexo al origen de coordenadas mediante el siguiente pseudocdigo:

Algoritmo 2: Algoritmo GJK

1. V {c1, c2, cn } se escogen al azar -vrtices de , conformando un simplex.


2. =0
3. se calcula , como el punto ms cercano del simplex al origen.
4. se calcula para () en direccin de
5. if (), se acaba el algoritmo.
6. else
7. sustituye al vrtice del simplex ms alejado respecto a , crendose un nuevo
simplex .
8. end
9. = +1
10. Retorno al Paso 3.

Para el caso tridimensional, el Algoritmo GJK en el paso 3 requiere el clculo de la distancia


mnima y su direccin a un tetraedro conformado por cuatro vrtices , , , . (Figura 2-11).

Figura 2-11: Punto de un tetraedro , , , ms cercano a .


30 2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales

(a) (b) (c)

Figura 2-12: Tres tipos de regiones de Voronoi para un cubo. (a) Una Regin Borde. (b) Una Re-
gin Vrtice. (c) Una Regin Cara. Imagen extrada del libro de Christer Ericson [51].

El clculo de la distancia mnima de un punto a un tetraedro se puede encontrar usando las


regiones de Voronoi, que indican la proximidad del punto a un vrtice, borde o a una cara. Ver
Figura 2-12.

Por ejemplo, el punto se encontrar en la Regin del Vrtice del tetraedro , si se


cumplen las siguientes condiciones [51]:

(P A) (B A) 0
(P A) (C A) 0
(P A) (D A) 0

Cuando est localizado en la Regin del Borde , se satisfacen las condiciones[51]:

(P A) (B A) 0
(P B ) (A B ) 0
(P A) ((B A) nABC ) 0
(P A) (nADB (B A)) 0

Siendo,

nABC (B A) (C A)
nADB (D A) (B A)

Para determinar si el punto se ubica dentro de la Regin de la Cara se requiere cum-


plir simultneamente las siguientes condiciones:

(nABC (B A)) (P A) 0
(nABC (C B )) (P B ) 0
2 Construccin de Algoritmos 31

(nABC (A C )) (P C ) 0
(nABC (D A))(nABC (P A)) 0

Una vez se conoce la ubicacin de correspondiente a una de las 14 regiones de Voronoi de


un tetraedro, compuesto de 4 vrtices, 6 bordes y 4 caras, se calcula geomtricamente la distan-
cia de a un punto, a una recta, o a un plano segn el tipo de regin que se trate.

Para el caso del algoritmo GJK, el punto corresponde al origen (Ver Figura 2-13 y Figura
2-14). Es fcil visualizar la utilidad que tiene este algoritmo para encontrar la distancia mnima
entre dos poliedros convexos, puesto que al realizar la resta de Minkowski, surge un nuevo polie-
dro convexo cuya distancia mnima al origen es la buscada entre los dos poliedros originales.

(a)

(b)

Figura 2-13: Implementacin del Algoritmo GJK para un octaedro. (a) Localizacin del octaedro.
(b) Primera iteracin del algoritmo y distancia del origen al tetraedro de prueba.
32 2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales

Figura 2-14: Resultado de la implementacin del Algoritmo GJK para un octaedro, donde se ob-
serva el punto ms cercano del octaedro al origen logrado en la segunda iteracin.

En cuanto a la generacin de trayectoria para los robots manipuladores, se requiere efectuar


la resta de Minkowski entre el obstculo polidrico convexo y las coordenadas tridimensionales
del punto de control en cada iteracin del algoritmo de descenso del gradiente, generndose as
un nuevo poliedro convexo requerido por el Algoritmo GJK en donde se calcula la distancia
mnima entre el obstculo y el punto de control. Este proceso se realiza para todos los puntos de
control y por cada obstculo considerado en el entorno de operacin del manipulador.

El mtodo completo se puede demostrar con un robot articulado de cuatro grados de libertad
(4 GDL) con articulaciones rotacionales, a semejanza del robot Mitsubishi PA-10, el cual es am-
pliamente utilizado en la industria, universidades y nuevos desarrollos como la teleoperacin
aeroespacial[52]. (Figura 2-15).

2 3

3 4
1

(a) (b)

Figura 2-15: (a) Esquema de un robot articulado con cuatro grados de libertad. (b) Foto del Robot
Mitsubishi PA-10, en una operacin con cuatro grados de libertad. Imagen extrada de
http://www.elai.upm.es/spain/Asignaturas/Robotica/TrabajosROVA/TrabajosROVA.htm
2 Construccin de Algoritmos 33

En la Figura 2-16c se presenta la trayectoria resultante al aplicar el mtodo del campo poten-
cial artificial para el robot diagramado en la Figura 2-15a en presencia de dos obstculos, y con
puntos de control en las articulaciones mviles.

Para la generacin de la trayectoria obtenida en MATLAB, Los parmetros atractivos y re-


pulsivos son similares a los utilizados en el caso del robot planar de tres eslabones.

(a) (b)

(c)

Figura 2-16: Generacin de Trayectoria para un robot de 4 GDL en un espacio de trabajo en 3D.
(a) Posicin inicial. (b) Posicin final. (c) Trazas de la trayectoria obtenida.
34 2.3 Generacin de Trayectoria Usando Campos Potenciales Artificiales

Cuando se tienen obstculos que se pueden enmarcar dentro esferas, conos y cilindros, es po-
sible modificar el algoritmo para estimar la distancia mnima a un slido usando tcnicas geom-
tricas especficas para cada figura tridimensional, logrando un menor costo computacional.

2.3.7 Consideraciones sobre el Mtodo de Campos Potenciales


Gracias a las simulaciones se pueden deducir ciertos aspectos distintivos del comportamiento
de un manipulador bajo la influencia del algoritmo basado en campos potenciales artificiales.

Ante todo, la trayectoria generada es suave, siempre y cuando la aparicin del efecto repulsi-
vo influido por no sea excesivo. Adems, si el paso de las iteraciones, dado por , es muy
grande, junto con un efecto repulsivo dbil, se puede producir una colisin entre el punto de
control y el obstculo en la siguiente iteracin.

En la Figura 2-8b se pone en evidencia que al generarse la trayectoria, el punto de control lo-
calizado en el efector final 3 , toma una gran cantidad de iteraciones para sortear el obstculo
nmero uno, esto es explicable si se compara con la manera como un ciego trata de evadir un
obstculo utilizando su bastn repetidamente. Esta condicin anterior que muestra un gran
nmero de iteraciones, tambin produce un efecto indeseado para el proyectista, pues se generan
saltos o vibraciones en la trayectoria conforme al tamao del paso, tal como serian los rebotes del
bastn del ciego.

El inconveniente de los saltos o vibraciones, se supera con un subalgoritmo que restringe las
iteraciones pares o impares, para no tomarlas en cuenta mientras se evade el obstculo. Cuando
el paso es suficientemente pequeo, este subalgoritmo se puede aplicar a lo largo de la genera-
cin de la trayectoria para prevenir futuras vibraciones.

Por otra parte, cuando existen muchos obstculos el algoritmo no es eficiente, ya que el
mtodo no est concebido para encontrar la ruta ms ptima, lo cual hace que aunque se logre
llegar a la meta, el robot debe realizar muchos y variados movimientos que repercuten en el con-
trol de los actuadores. Otro problema inherente a la cantidad de obstculos es el gasto energtico,
y costo computacional, con pocos obstculos la trayectoria generada es suave y rpida de gene-
rar.

Figura 2-17: Colisin inadvertida, producida en la quinta iteracin debido a la insuficiencia de


potencial repulsivo ejercido desde el vrtice v1 sobre los puntos de control P1 y P2 .
2 Construccin de Algoritmos 35

Cuando se seleccionan los puntos de control, se ha de tener en cuenta la separacin de estos


en virtud al tamao o forma de los obstculos, pues existe el riesgo de no ser detectados por
los puntos de control, lo cual produce colisiones, tal como se expone en la Figura 2-17. La solu-
cin a este tipo de problema, requiere localizar un nuevo punto de control, o varios segn sea el
caso, en medio de los dos puntos de control donde se puede presentar este tipo de choques con
los obstculos.

Un problema propio de la aplicacin del algoritmo del descenso del gradiente, es la aparicin
de mnimos locales, algunos de los cuales impiden al manipulador llegar a la meta. Un ejemplo
de esta situacin est representada en la en la Figura 2-18, para la configuracin inicial y final del
robot planar de tres eslabones, estudiado anteriormente, donde los puntos de control desde la
posicin inicial son atrados fuertemente a sus pares en la meta, pero los obstculos los repelen
constantemente.

No todos los mnimos producen un estancamiento de la trayectoria. Cuando un punto de


control se encuentra en una situacin de mnimo local dentro del espacio de trabajo, la interac-
cin de los restantes puntos de control ayuda a que el robot salga del estado de atasco. Inclusive,
existe la posibilidad de lograr la meta desde la disposicin planteada en la Figura 2-18, pero con
un nmero altsimo de iteraciones, que repercute en vibraciones de alta frecuencia y de larga
duracin.

Existen varios mtodos para escapar de los mnimos locales usando la teora de optimizacin
tal como se expone en el libro de Venkataraman [53]. Por otra parte Barraquand y Latombe [54]
desarrollaron tcnicas para vencer el problema de mnimos locales presentados por el algoritmo
del descenso del gradiente con funciones potenciales, donde se utiliza la caminata aleatoria RPP
(Randomized Path Planner).

Figura 2-18: Situacin de atascamiento con el mtodo de campos potenciales artificiales para un
manipulador de tres eslabones. Donde el robot trata de moverse hacia la posicin final, mientras
los obstculos balancean el efecto del gradiente repulsivo contra el gradiente atractivo.
36 2.4 Mapas Probabilsticos - PRM

2.4 Mapas Probabilsticos - PRM


El planteamiento formal-terico de los PRM se remonta al ao 1996[37]. En los ltimos aos
los PRM se han popularizado al ser aplicados satisfactoriamente en el planeamiento de trayecto-
rias que involucran robots de 3 a 16 grados de libertad, que se mueven en entornos estticos[55].

La idea central del PRM es distribuir un conjunto de puntos (nodos) de manera aleatoria de-
ntro del espacio de configuracin libre de colisiones, . Posteriormente, con un planificador
local, se establecen las conexiones (enlaces) entre nodos y se descartan aquellas que produzcan
colisin dentro de . Al conjunto de nodos y enlaces se le denomina Roadmap. La configuracin
inicial se agrega al Roadmap mediante un enlace libre de colisiones hasta el nodo ms
cercano; se hace lo mismo con . Luego se traza una trayectoria entre y utili-
zando algoritmos como Best-first, A* o el Algoritmo de Dijkstra, para encontrar la ruta ms corta
desde a .

Los puntos esenciales de un PRM bsico son tres: generacin de nodos, conexin entre nodos
y la creacin de la ruta (Figura 2-19). El PRM se procesa directamente sobre el espacio de confi-
guracin, excepto la verificacin de colisiones la cual se realiza sobre el espacio de trabajo .

QOi QOi
Q free
Q free

(a) (b)

qstart qgoal

nodo
enlace

ruta
(c) (d)

Figura 2-19: Ilustracin del PRM bsico en 2D. (a) Representacin del espacio de configuracin.
(b) Generacin de nodos. (c) Conexin entre nodos. (d) Creacin de la ruta.
2 Construccin de Algoritmos 37

2.4.1 Generacin de nodos


Un nodo es una configuracin del robot. La forma de distribuir nodos dentro del espacio de
configuracin se puede realizar de varias maneras: con generador de nmeros aleatorios, usando
la secuencia de Halton, la secuencia de Hammersley, o una rejilla de puntos espaciados homog-
neamente [11]. Si bien se puede hacer un estudio comparativo de las diferentes tcnicas de gene-
rar nodos, utilizando un generador de nmeros aleatorios es la opcin ms sensata por las si-
guientes razones:

Siendo la distancia de separacin de nodos una distancia euclidiana en el definida por la


precisin decimal del generador de nmeros; el obstculo ms pequeo que puede ser detectado,
debe ser mayor que esta separacin de nodos. Desde este punto de vista, la densidad de nodos
entre los generadores de nmeros es muy similar.

Validar un nodo significa que no existe colisin entre el robot y su entorno, esta verificacin
se realiza en el . Esto requiere conocimientos de computacin grfica y el uso de paquetes de
deteccin de colisiones tales como: SOLID [47], RAPID [16], V-Clip [56], I-Collide [57], V-Collide
[58], SWIFT [59] y SWIFT++ [60]; los cuales estn basados en el GJK y en otros mtodos como el
OBB (Oriented Bounding Boxes). Los nodos no vlidos, son excluidos del Roadmap. Es indudable
que el tiempo de procesamiento aumenta, a medida a que ms nodos existan, y el generador de
nmeros para el clculo de nodos no tiene mucha influencia si se trabaja con una distancia de
separacin de nodos similar. Adems, si se emplea una rejilla de nodos espaciados homognea-
mente, se corre el riesgo de inadvertencia de obstculos que coincidan con los espacios entre
nodos por su geometra regular

Por otro lado, la eficacia del los PRM se ve afectada cuando se requiere obtener una trayecto-
ria que pase por pasajes estrechos; eficacia que es inversamente proporcional a la densidad de
separacin de nodos, y nuevamente, la seleccin del generador de nmeros no afecta significati-
vamente el desempeo total del PRM si se tiene una densidad de nodos similar.

2.4.2 Conexin entre nodos


La conexin entre nodos es un aspecto que influye de manera notable sobre el tiempo que
necesita el PRM en obtener una solucin. Un enlace entre nodos es una lnea recta compuesta por
puntos, que representan una sucesin de configuraciones del robot en el espacio de trabajo, las
cuales no deben presentar un choque con el entorno, para que este enlace sea vlido.

(a) (b)
Figura 2-20: Dos estrategias para validar un enlace que conecta los nodos q ' y q '' . (a) Incremen-
tal, cinco comprobaciones requeridas. (b) Subdivisin, tres comprobaciones requeridas.[11].
38 2.4 Mapas Probabilsticos - PRM

El planificador local puede asegurar la validez de un enlace usando dos estrategias: mediante
deteccin incremental o deteccin por subdivisin. No est claro cul de las dos estrategias tiene
la ventaja terica, sin embargo, en la prctica, la verificacin por subdivisin exhibe un mejor
desempeo, tal como se aprecia en la Figura 2-20. Existen otras formas de evaluar si un enlace es
vlido de forma aproximada, dependiendo de las variantes del PRM, por ejemplo: con aproxi-
macin de resolucin binaria y aproximacin por superposicin de esferas[61].

2.4.3 Creacin de ruta


Una vez creado el Roadmap se aaden otros dos nodos, que representan las configuraciones
inicial y final. Otra tarea del planificador local, es encontrar el nodo perteneciente del Roadmap
ms cercano a y validar un enlace hacia esta configuracin. De igual manera se procede
con .

Crear la trayectoria entre las configuraciones inicial y final a travs de los nodos y enlaces de
un Roadmap n-dimensional, requiere aplicar algoritmos de bsqueda como A*, BRPM (bsqueda
recursiva del primero mejor) o el Algoritmo de Dijkstra. La explicacin de estos algoritmos los
dejo a otros textos, como el libro de Russell y Norving [62]. Es deseable que los algoritmos de
bsqueda sean giles, para entornos multi-dimensionales, intrincados y con un nmero de nodos
grande.

Para la mayora de las aplicaciones prcticas de los PRM, se requiere ejecutar un pos-
procesado que reduzca la complejidad de la trayectoria suministrada por el algoritmo de bsque-
da empleado. Es obvio que tambin el pos-procesado debe ser rpido para que no afecte el des-
empeo global del PRM. Tericamente el algoritmo de pos-procesado no es necesario si se utiliza
una distancia de nodos muy pequea, pero esto va en contra va del tiempo total de procesamien-
to. Este aspecto se puede comprender mejor en la seccin 2.6.1 y la Figura 2-27.

2.4.4 Variantes del PRM bsico


El costo computacional para los algoritmos PRM es determinado por el nmero de veces que
se invoque el algoritmo de deteccin de colisiones. Una mejora para los PRM es posponer la ope-
racin de verificacin de colisin para cuando realmente se requiera. Algunas de las variantes del
PRM desarrollas en la ltima dcada son:

Lazy PRM. Se asume que todos los puntos y enlaces pertenecen al espacio libre de colisiones
, despus se calcula la ruta ms corta de a , y se verifican las colisiones. Si se
detecta una colisin, se elimina el nodo y/o enlace, luego se vuelva a calcular la ruta ms corta
[63].

Fuzzy PRM. Posterga la validacin de los enlaces, pero los nodos son validados en la etapa de
creacin del Roadmap, adems se asigna probabilidades a los enlaces que an no se han validado
[64].

C-PRM. Se construye un Roadmap parcialmente comprobado y luego se valida un rea del


Roadmap en particular, segn unos parmetros de ajuste personalizados [65].
2 Construccin de Algoritmos 39

PRM-MC. Emplea un planificador que utiliza la simulacin de Monte Carlo para generar y
conectar configuraciones vecinas de robot y utiliza planificadores locales para conectar los com-
ponentes conectados generados a partir de la simulacin de Monte Carlo [66].

Para tornar ms eficiente el PRM bsico, se debe tratar de reducir el tamao del Roadmap.
De la anterior necesidad han surgido los mtodos de exploracin de entorno mediante arboles:
EST (Expansive-Spaces Trees) y el RRT (Rapidly-exploring Random Trees). El EST se encuentra
explicado a cabalidad en el trabajo de David Hsu [67], sin embargo el RRT es el ms empleado
actualmente. El RRT y su variante RRT-Connect fueron los mtodos que se desarrollaron e im-
plementaron en este trabajo debido a la importancia adquirida en los ltimos cinco aos alrede-
dor del mundo. Los fundamentos del RRT y su forma de implementacin son explicados a conti-
nuacin.

2.5 Algoritmo RRT bsico


El RRT fue introducido en el ao 1998 como un algoritmo capaz de explorar eficientemente
el espacio de configuracin desde a [68, 69]. El RRT bsico se basa en la construc-
cin de un rbol compuesto de nodos y enlaces, que se incrementan aleatoriamente desde un
punto de origen. Para ello, se desarroll el algoritmo expuesto en la Figura 2-21. En este algorit-
mo se selecciona una configuracin aleatoria que es la base para crecer el rbol hacia esta
configuracin, para esto se usa la funcin EXTENDER.

En la Figura 2-22, la funcin EXTENDER comienza con la seleccin de , que es el no-


do de ms prximo a , con la funcin VECINOMASCERCANO. Seguidamente, la funcin
NUEVOESTADO calcula una nueva configuracin , como un salto de magnitud en di-
reccin a desde . Adicionalmente, NUEVOESTADO debe validar el enlace entre y
; si no existe colisin, se agregan al rbol tanto como el enlace, usando AGREGAR-
NODO y AGREGARENLACE. Si la configuracin aleatoria se encuentra dentro de un crculo
de centro y radio , entonces se considera que se ha Alcanzado a . Si por el contrario, no
se ha producido el alcance, entonces se devolver el valor Extendido. Por ltimo, en caso de que
la funcin NUEVOESTADO haya advertido de la existencia de algn obstculo en el camino de
a , se informa de que no ha habido nuevas ramas y el nuevo nodo no es agregado al
rbol . La representacin del funcionamiento de EXTENDER se observa en la Figura 2-23 de-
ntro de un entorno bidimensional.

La naturaleza del RRT le hace avanzar con ms avidez en aquellas zonas donde haya un ma-
yor espacio libre, pues es all donde hay ms posibilidad de encontrar puntos factibles.
Tambin se ha demostrado la capacidad del RRT para explorar cualquier del espacio de bsqueda
n-dimensional de forma uniforme respecto a las regiones de Voronoi [70].

Para encontrar una trayectoria libre de colisiones, el RRT inicia su exploracin en co-
mo raz del rbol . Si el crecimiento de este rbol alcanza o se cumple un nmero lmite
de iteraciones , mostrado en la Figura 2-21, el algoritmo RRT culmina y luego se traza una ruta
desde a . En otras palabras, se puede establecer un camino continuo entre nodos
empezando desde las ramas, pasando por el tronco, hasta llegar a la raz.
40 2.6 Algoritmo RRT-Connect

BUILD_ RRT
1. T (0) qstart
2. for i = 1 to K do
3. qrand PUNTOALEATORIO
4. EXTENDER (T , qrand )
5. devuelve T

Figura 2-21: Construccin del RRT bsico.

EXTENDER
1. qnear VECINOMASCERCANO (T , q)
2. if NUEVOESTADO (q, qnear , qnew ) then
3. AGREGARNODO (T , qnew )
4. AGREGARENLACE (T , qnear , qnew )
5. if qnew = q then
6. devuelve Alcanzado
7. else
8. devuelve Extendido
9. devuelve Rechazado

Figura 2-22: Funcin EXTENDER del algoritmo RRT bsico.

Figura 2-23: Descripcin grfica de la operacin EXTIENDE del algoritmo RRT bsico.

2.6 Algoritmo RRT-Connect


En los ltimos aos se han producido diferentes mejoras al RRT bsico con resultados com-
probados en la prctica [18]. En particular, la versin denominada RRT_ Connect, desarrollado
2 Construccin de Algoritmos 41

CONECTAR (T , q)
1. repeat
2. S EXTENDER (T , qrand )
3. until not ( S = Extendido)
4. devuelve S

RRT-Connect (qstart , qgoal )


1. Ta (0) qstart , Tb (0) qgoal
2. for i = 1 to K do
3. qrand PUNTOALEATORIO
4. if not (EXTENDER (Ta , qrand ) = Rechazado) then
5. if (CONECTAR (Tb , qnew ) = Alcanzado) then
6. devuelve RUTA (Ta , Tb )
7. INTERCAMBIAN (Ta , Tb )
8. devuelve Fallido

Figura 2-24: Algoritmo RRT-Connect.

por Kuffner y LaValle [71], ha demostrado ser una de las variantes ms confiables para todo tipo
de aplicaciones.

La idea principal detrs del RRT_ Connect, es el desarrollo de dos rboles que inician en los
nodos inicial y final, denominados y . Ambos rboles crecen simultneamente uno hacia el
otro, permitiendo una mejora en la convergencia del algoritmo, as como en el tiempo de compu-
to, debido al menor nmero de comprobaciones de colisin.

La estructura del RRT_ Connect se presenta en la Figura 2-24. En este algoritmo, y co-
existen todo el tiempo mientras se halla una solucin. En cada iteracin se crea una configura-
cin aleatoria utilizada para EXTENDER uno de los rboles hacia un , seguidamente,
el otro rbol usa la funcin CONECTAR, para tratar de enlazarse al usando repetidamente
la funcin EXTENDER (ver Figura 2-22).

En caso de que efectivamente se logre alcanzar a , esta condicin significar que los dos
rboles se encontraron, por tanto se crea la trayectoria entre y usando una subrutina de-
nominada RUTA. En caso que no se conectasen los arboles, se cambian los roles con la funcin
INTERCAMBIAN, para que en la siguiente iteracin; el segundo rbol ahora ser quien se ex-
tienda y el otro rbol quien trate de conectarse.

Esta concepcin, relativamente simple, de los algoritmos RRT es beneficiosa para cualquier
dimensin del espacio de bsqueda . Sin embargo, la eficiencia de los algoritmos est altamente
42 2.6 Algoritmo RRT-Connect

determinada por el desempeo que se tenga en la verificacin de colisiones en el espacio de tra-


bajo y por tanto del paquete de deteccin de colisin empleado (Ver numeral 2.4.1).

Tb qgoal qgoal

Ta

qnear

qnew
qstart qstart
q q

(a) (b)

qgoal qgoal

qnear
qnew
qnew
qnew
q
qstart qstart

(c) (d)

Figura 2-25: Representacin de la conexin entre arboles realizada con RRT-Connect. (a) Crea-
cin de un punto aleatorio q y su nodo ms cercano del rbol . (b) Creacin de
hacia . (c) y (d) Representacin de la funcin CONECTAR.

2.6.1 Desarrollo en entornos de bsqueda en 2D y 3D


Para verificar el comportamiento del RRT-Connect, es tradicional utilizar un punto que si-
mula un robot que navega en un representado por un plano o el espacio. Los obstculos son
caracterizados por polgonos o poliedros slidos en 2D o 3D. No importa la forma del robot en el
; la comprobacin de las colisiones se puede realizar directamente entre el punto y un polgo-
no, o el punto y un poliedro, en el plano o el espacio, mediante tcnicas de geometra computa-
cional similares a las expuestas en el apartado 2.3.3 y 2.3.6.
2 Construccin de Algoritmos 43

Entre las varias simulaciones realizadas en MATLAB, en la Figura 2-26 se expone el caso
tpico de generacin de trayectoria mediante el RRT-Connect variando solo el ancho o paso de
bsqueda , y utilizando la validacin de enlaces incremental, con cinco nodos o puntos de
prueba a lo largo de cada enlace.

El pos-procesamiento empleado para obtener las trayectorias (c) y (d) de la Figura 2-26 est
descrito por el algoritmo de la Figura 2-27, el cual es una adaptacin del algoritmo que se expone
en el texto de Kwangjin [72]. La funcin VALIDADOR se encarga de validar el enlace entre dos
configuraciones temporales, esta funcin emplea el mismo mecanismo de validacin incremental
de forma proporcional al empleado con el algoritmo RRT-Connect para generar cada una de las
trayectorias (a) y (b) de la Figura 2-26.

(a) (b)

(c) (d)

Figura 2-26: Funcionamiento del RRT-Connect en un entorno bidimensional con tres obst-
culos poligonales. (a) Calculo de la trayectoria con un o ancho de bsqueda corto. (b) Calculo
de la trayectoria con un o ancho de bsqueda largo. (c) y (d) Trayectorias resultantes con pos-
procesamiento.
44 2.6 Algoritmo RRT-Connect

POSPROCESA ({q1 , q2 , qn })
1. i 1 ; k n
2. Ruta {q1}
3. while i n
4. if (VALIDADOR (qi , qk ) Falso) then
5. k (k 1)
6. else
7. i k ; k n
8. Ruta ( Ruta {qk })
9. devuelve Ruta

Figura 2-27: Algoritmo de pos-procesado.

En la Figura 2-28 se aprecia que la ruta obtenida despus del pos-procesamiento tiende a ser
la ptima, para mayor precisin se puede reducir el ancho de bsqueda, sin embargo, esta accin
provoca un tiempo de cmputo mucho mayor. Con tcnicas de pos-procesamiento diferentes se
logra una trayectoria suave y muy cercana a la ptima, sin recurrir a la reduccin del paso de
bsqueda; sin embargo estas estrategias de pos-procesamiento son intrincadas y solo se reco-
miendan para el caso de sistemas de pocas dimensiones, tal como en el campo de la robtica
mvil [73, 74].

Figura 2-28: Funcionamiento del RRT-Connect en un entorno tridimensional con tres obstculos
poligonales. (a) Trayectoria resultante al aplicar RRT-Connect. (b) Trayectoria resultante con
pos-procesamiento.
2 Construccin de Algoritmos 45

Q free
QO1

qgoal

QO2
qstart

(a) (b)

3 6 7 3
2 8
4 5

i=1
1

(c) (d)

i=3 3

(e) (f)

8
i=4 4

(g) (h)

Figura 2-29: Representacin de la operacin de pos-procesado en un espacio de configuracin


bidimensional (a). (b) muestra la ruta calculada por RRT-Connect y (h) la ruta final 1-3-4-8.

La Figura 2-29 ilustra el funcionamiento del algoritmo de pos-procesado a travs de una ruta
de ocho nodos y siete enlaces. En (c) se corroboran en orden los enlaces 8-1, 7-1, 6-1, 5-1, 4-1 y 3-
1; como este ltimo no presenta colisin con el obstculo triangular (VALIDADOR=Verdadero),
se agrega el nodo 3 a la ruta de pos-procesado representada en (d). De similar manera pasa en (e)
y (g) con los nodos 4 y 8, dando por resultado del pos-procesamiento la ruta 1-3-4-8 en (h).
46 2.6 Algoritmo RRT-Connect

2.6.2 Aplicacin en un robot rectangular mvil


Para ilustrar el proceso de generacin de trayectoria libre de colisiones usando el RRT-
Connect, debemos conocer primero la geometra del robot en el espacio de trabajo . Al tomar
como referencia la Figura 2-30, las consideraciones matemticas para la representacin el robot
son las siguientes:

Posicin de los vrtices respecto al marco de referencia del robot:

a a
B
r1 B
r2

b b

a a
B
r3

B
r4
b b

Se determina su espacio de configuracin:

q {x, y, }

Y su cinemtica directa:

A
rj (x , y, )

A
r1, Ar2 , Ar3 , Ar4

r1

r2

y B

x r4
A

r3

Figura 2-30: Representacin de un robot rectangular mvil omnidireccional de un bidimen-


sional y un tridimensional.
2 Construccin de Algoritmos 47

goal

start

Figura 2-31: Determinacin del espacio de trabajo bidimensional para un robot rectangular.

En el se definen dos obstculos poligonales, luego se establece la condicin inicial y final


del robot sin que colisione con los obstculos, tal como se aprecia en la Figura 2-31. Dependiendo
del algoritmo para deteccin de colisiones que se emplee, la definicin de obstculos geomtri-
camente pueden ser convexos o no. En la Figura 2-32 se aprecia el proceso computacional para
calcular y visualizar la trayectoria aplicando el algoritmo RRT-Connect descrito anteriormente.

Parmetros de Parmetros del


Ajuste Robot
Iteraciones qstart
Paso qgoal

qi Definicin de
Cinemtica obstculos
RRT-Connect Directa

Modelo Modelo

Respuesta Ruta:
(Ruta) T={q1, q2,}
Modulo de deteccin
Si/No de colisiones
No
Existe
Modelo
Si

Pos-procesamiento

Ruta:
T={q1, q2,} Cinemtica Modelo
Directa

Visualizacin
No hay respuesta

Figura 2-32: Diagrama para el clculo de trayectoria libre de colisiones para implementacin
computacional. Las lneas a tramos aparecen al desearse una mayor complejidad del sistema.
48 2.6 Algoritmo RRT-Connect

Figura 2-33: Trayectoria para un robot rectangular, calculada con el RRT-Connect, implementa-
do en el entorno MATLAB.

Una vez aplicada la metodologa completa de la Figura 2-32 y usando el algoritmo de pos-
procesado de la Figura 2-27, dentro del entorno de programacin MATLAB, se obtiene la trayec-
toria del robot rectangular mostrada con puntos intermedios en la Figura 2-33

Como se aprecia en la Figura 2-32, el tiempo total de clculo de trayectorias, no depende ex-
clusivamente del algoritmo RRT-Connect, incluso, si se desarrolla una librera que almacene al
RRT-Connect, esta se debe definir el acceso a otras libreras tal como de cinemtica y deteccin
de colisiones, las cuales son llamadas cientos o miles de veces; tambin se debe tomar en cuenta
la flexibilidad que el RRT-Connect para su ejecucin en entornos multi-dimensionales.

El proceso mostrado en la Figura 2-32 es aplicable para todo tipo de robot, no solo para los
mviles; incluso, se puede utilizar para sistemas multi-robot como plantas de ensamblaje de au-
tomviles. En este caso en el bloque de parmetros de robot de la Figura 2-32, conceptualiza a
todos los robots como uno solo, los GDL del sistema son la sumatoria de todos los GDL particula-
res. Por ejemplo: si se tienen 3 robots articulados de 4 GDL, el espacio de configuracin sera de
12 GDL, y cuyas condiciones iniciales y finales son suministrados al bloque del RRT-Connect.

2.6.3 Consideraciones sobre el mtodo RRT-Connect


El RRT-Connect es una considerable mejora del RRT-bsico y a los PRM en general, posee
ventajas claras de facilidad de implementacin con pocos parmetros de ajuste. La eficacia del
mtodo radica en la seleccin del espacio de configuracin, la definicin de los obstculos, clcu-
lo de la cinemtica directa y un ancho o paso de bsqueda adecuado.

Con las diferentes simulaciones realizadas se llega a la conclusin de que un ancho o paso
apropiado no requiere ser extremadamente pequeo para sortear todos los pasajes estrechos, solo
basta ajustar el ancho a un valor aproximado de la ms corta existente entre dos obstculos ele-
gidos en el espacio de configuracin para reducir el nmero de iteraciones, que se refleja en el
numero de validaciones de enlace y por ende en el tiempo total de procesado y pos-procesado.

Debido al uso de un pos-procesado para suavizar la trayectoria resultante del RRT o del uso
de un paso de bsqueda muy pequeo, se obtienen trayectorias libres de colisiones que pasan
muy cerca de los obstculos. Esta condicin es ideal para hallar una trayectoria lo ms corta po-
2 Construccin de Algoritmos 49

sible, pero en algunas aplicaciones prcticas no es deseable que las trayectorias vistas en el espa-
cio de trabajo pasen tan cerca de los obstculos.

El pos-procesado empleado en todas las simulaciones demostr que las trayectorias resultan-
tes estn compuestas de pocas configuraciones, lo cual permite un fcil clculo de los puntos
intermedios que deben ser seguidos por los actuadores de cualquier tipo de robot, esto en virtud a
que el control de las articulaciones se realiza en el espacio configuracin. Adems, tambin se
facilita el clculo de trayectorias suavizadas con tcnicas matemticas como el uso de segmentos
de las curvas spline en 2D.

Se ha observado que los algoritmos RRT son bastante rpidos en entornos abiertos [70, 75], y
ms efectivos que otros mtodos [76]. No obstante, cuando se presentan gran cantidad de obst-
culos, el tiempo requerido para encontrar una ruta se incrementa significativamente. Una ten-
dencia en los ltimos aos es aumentar velocidad de respuesta de los RRT empleando varios
rboles locales dentro del entorno de bsqueda [77, 78].

En los ltimos aos, varias son las mejoras que han surgido al mtodo, las cuales se concen-
tran cada una en un aspecto en particular del RRT, como por ejemplo: en el 2006 el trabajo de
Rodrguez y otros, presentan una variante del RRT capaz de explorar pasajes estrechos o reas
difciles de forma ms efectiva [79]. Tambin en el 2006 con el RRT-blossom se mejora el desem-
peo del algoritmo en entornos altamente restrictivos [80]. Ms adelante en el mismo ao, apare-
ce el Anytime RRTs, que demuestra su eficiencia en entornos multi-dimensionales altos, tal como
los sistemas multi-robots [81]. En el 2007 el trabajo de Martin y otros, exploran el uso de Algo-
ritmos Evolutivos con el RRT en entornos dinmicos [82]. En el 2009 se presenta por parte de
Garrido y otros, la combinacin de Voronoi Fast Marching Method (VFM) con el RRT para gene-
rar trayectorias ms suaves y no tan cercanas a los obstculos [83]; el VFM es un mtodo que
emula el comportamiento de la luz y otras ondas electromagnticas, cuando cruzan un medio con
ndice de refraccin no homogneo.

En la siguiente seccin se expone la variante RRT-Methodic que se ha desarrollado gracias a


la investigacin de los diferentes mtodos de generacin de trayectorias libre de colisiones. El
RRT-Methodic, o RRT-Met para abreviar, se basa en la creacin de arboles locales de forma sis-
temtica.

2.7 Algoritmo RRT-Met


Este algoritmo aprovecha el uso de los arboles locales de bsqueda para obtener una trayec-
toria libre de colisiones desde una configuracin inicial a una final, en un tiempo menor al que se
obtendra con el RRT-Connect. El punto clave est en crear las races de los rboles locales y su
interconexin de forma metdica.

En contraposicin a las estrategias de exploracin, tales como el EST y RRT, una manera de
mejorar el desempeo de los PRM es utilizar arboles locales de exploracin espaciados unifor-
memente por el espacio de configuracin, y su efectividad al encontrar una solucin ha sido
comprobada en otros trabajos[84]. Los tres aspectos a tomar en cuenta para usar arboles locales
son: creacin y distribucin de rboles locales; la conexin de los diferentes tipos de rboles; y el
control del crecimiento de estos rboles.
50 2.7 Algoritmo RRT-Met

El algoritmo RRT-Met permite la creacin de arboles locales cuando se requieran, esto en vir-
tud a la complejidad del entorno tanto en nmero de obstculos, como en el trnsito por pasajes
estrechos. En el RRT-Met siempre existen dos rboles principales que tienden a enlazarse como lo
rige el RRT-Connect, donde un rbol principal tiene como raz la configuracin inicial y el otro
rbol la configuracin final. El crecimiento de los rboles locales se efecta como una explora-
cin tpica del RRT bsico. Los rboles locales tratan de vincularse a un rbol principal usando
tambin la estrategia planteada por el RRT-Connect. El RRT-Met no integra otro mtodo de crea-
cin de rboles locales y su enlace, ms que por la geometra; lo cual preserva la sencillez de
concepcin del mtodo RRT y por tanto su versatilidad para ser usado en cualquier tipo de apli-
caciones y en sistemas multi-dimensionales. El RRT-Met es idneo para sistemas intrincados
debido a la cantidad de obstculos y su complejidad en el espacio de configuracin.

RRT-Met (qstart , qgoal )


1. Ta (0) qstart , Tb (0) qgoal
2. for i = 1 to K do
3. qrand PUNTOALEATORIO
4. T ARBOLMASCERCANO (qrand )
5. if (EXTENDER (T , qrand ) = Rechazado) then
6. NUEVOARBOL (T )
7. else if (MULTICONECTA (qnew , T ) = Encontrado) then
8. devuelve RUTA (Ta , Tb )
9. devuelve Fallido

ARBOLMASCERCANO (q )
1. load WT {T1 , T2 , T3 , T4 ,Tn } , Conjunto de Arboles
2. T1 Ta , T2 Tb
3. D {} , Conjunto de distancias D {d1 , d2 ,dn }
4. for i = 1 to n do
5. qnear VECINOMASCERCANO (Ti , q)
6. di q qnear 2

7. next
8. j min{D}
9. devuelve T j

Figura 2-34: Algoritmo RRT-Met y funcin ARBOLMASCERCANO.


2 Construccin de Algoritmos 51

MULTICONECTA (q, T )
1. load WT {T1 , T2 , T3 , T4 ,Tn } , Conjunto de Arboles
2. T1 Ta , T2 Tb
3. if (T T1 ) then
4. if (CONECTAR (T2 , q) = Alcanzado) then
5. S = Encontrado
6. else
7. Tc ARBOLMASCERCANO (q, T1 , T2 )
8. if (CONECTAR (Tc , q) = Alcanzado) then
9. FUNDIR (Tc , T1 )
10. S = Unido
11. else if (T T2 ) then
12. if (CONECTAR (T1 , q) = Alcanzado) then
13. S = Encontrado
14. else
15. Tc ARBOLMASCERCANO (q, T1 , T2 )
16. if (CONECTAR (Tc , q) = Alcanzado) then
17. FUNDIR (Tc , T2 )
18. S = Unido
19. else
20. if (CONECTAR (T1 , q) = Alcanzado ) then
21. if (CONECTAR (T2 , q) = Alcanzado ) then
22. S = Encontrado
23. else
24. FUNDIR (T , T1 )
25. S = Unido
26. else
27. if (CONECTAR (T2 , q) = Alcanzado ) then
28. FUNDIR (T , T2 )
29. S = Unido
30. else
31. S = Fallido
32. devuelve S

Figura 2-35: Funcin MULTICONECTA.


52 2.7 Algoritmo RRT-Met

T3 T3
QOi Tb Tb

qnear
qrand qnew qrand
Ta Qfree Ta T4
(a) (b)

T3 T3
Tb Tb

qnear
qnear

qnear
qnew
Ta T4 Ta T4
(c) (d)

T3 T3 qnear
Tb Tb
qrand
qnew qnew
qnear
qnear

Ta Ta
(e) (f)

Figura 2-36: Representacin del funcionamiento del algoritmo RRT-Met, cuando se unen rboles.
(a) Expansin fallida del rbol que es el ms cercano a (b) Creacin de un rbol local y
su expansin en una segunda iteracin del RRT-Met. (c) Intento de conexin de los rboles prin-
cipales. (d) Conexin del rbol . (e) Desaparece rbol local 4 y expansin de rbol principal
. (f) Intento de conexin de rboles principales.

La Figura 2-34 muestra la conformacin del Algoritmo RRT-Met. La representacin de dos de


las iteraciones del RRT.Met es expuesta en la Figura 2-36, en donde se consigue la conexin entre
rboles.

Al igual que el RRT-Connect, el algoritmo del RRT-Met comienza con la creacin de dos
rboles principales, y su crecimiento est determinado por un nmero K de iteraciones del paso 2
de la Figura 2-34. En la Figura 2-36(a) se aprecia la creacin de un punto aleatorio y luego
2 Construccin de Algoritmos 53

del clculo del rbol ms cercano a , con la funcin ARBOLMASCERCANO (Figura 2-34),
se intenta crecer el rbol ms cercano con la funcin EXTENDER del RRT bsico (Figura 2-22).

En caso que no se pueda extender el rbol ms cercano, pasa a ser la raz de un nue-
vo rbol local usando la funcin NUEVOARBOL mencionada en el paso 4 de la Figura 2-34.
Ejemplo de esta condicin se muestra en la Figura 2-36(b), donde incluso en una segunda itera-
cin del RRT-Met, el rbol ms cercano a extender es el mismo rbol local recin creado. En la
Figura 2-36(b) se logro extender el rbol 4 , luego para preservar la agilidad del algoritmo RRT-
Met, solo dos rboles intentan conectarse al recin creado usando la funcin MULTICO-
NECTA.

Un puede ser la raz de una rbol local siempre y cuando esta configuracin no pre-
senta colisin con el entorno. Esta verificacin es estipulada en la funcin NUEVOARBOL.

La funcin MULTICONECTA de la Figura 2-35, pregunta si el rbol extendido a es un


rbol principal; si esto es correcto, el otro rbol principal intenta conectarse al anterior. Si esto
fallase, entonces se busca el rbol local ms cercano a y se trata de conectar al rbol princi-
pal extendido. En caso de que el rbol extendido a sea un rbol local, los dos rboles princi-
pales tienden a conectarse usando como puente al a del rbol local extendido; esta situacin
se visualiza en la Figura 2-36(c). No importa s el rbol extendido es uno local o principal, cuando
la funcin CONECTAR (Figura 2-24) indica que existe conexin entre un rbol principal y uno
local, dentro de MULTICONECTA, el rbol local se vuelve parte del rbol principal usando la
funcin FUNDIR; una representacin de esta condicin se observa en la Figura 2-36(c) y (d).

Al emplear MULTICONECTA, se garantiza que los rboles principales siempre tiendan a co-
nectarse primero, de lo contrario se usa un rbol local para expandir la bsqueda o una conexin
entre los rboles principales.

(a) (b)

Figura 2-37: Resultados de de la ejecucin del RRT-Met en un entorno de bsqueda: (a) bidimen-
sional y (b) tridimensional.
54 2.7 Algoritmo RRT-Met

(a) (b)

(c) (d)

(e) (f)

Figura 2-38: Comparacin del desempeo del RRT-Met respecto al RRT-Connect en un entorno
de bsqueda bidimensional, donde solo se vara el ancho de bsqueda. (a), (c) y (e), corresponden
al RRT-met. (b), (d) y (f) corresponden al RRT-Connect. Implementacin desarrollada bajo el
entorno de programacin de MATLAB.
2 Construccin de Algoritmos 55

Cuando en la funcin MULTICONECTA se detecta una conexin entre los rboles principa-
les, en el algoritmo RRT-Met se genera la ruta continua entre las condiciones inicial y final a
travs de los enlaces y nodos pertenecientes a los rboles principales; esto usando la funcin RU-
TA. El procesamiento del RRT-Met termina cuando se ejecuta la funcin RUTA o se acaban el
nmero de iteraciones K.

En la Figura 2-37 se aprecian los resultados de aplicar el RRT-Met a un entorno bidimensio-


nal y tridimensional. Todos los enlaces entre nodos son validados de forma incremental y se uso
la misma estrategia de pos-procesamiento indicada en la Figura 2-27.

En virtud a los resultados obtenidos con la aplicacin del RRT-Met a diferentes entornos de
bsqueda, donde se observa que el RRT-Met es ms gil para encontrar una solucin a los siste-
mas planteados, tal como se aprecia en la Figura 2-38. Inclusive, entre ms intrincado sea el en-
torno de bsqueda, mejor se comporta el RRT-Met.

Tambin se observa en la Figura 2-38 que el desempeo del RRT-Met no es tan vulnerable al
ancho de bsqueda con relacin al presentado por el RRT-Connect. El tiempo de procesamiento
del RRT-Met depende ms del nmero de rboles locales en entornos multi-dimensionales; esto
es debido a que los rboles locales son usados como puentes para intentar una conexin de rbo-
les principales, por lo que se producen ms llamados de verificacin de colisin que repercuten
en el tiempo de procesamiento total. Sin embargo, la creacin de varios o muchos rboles locales
es un mal necesario para ubicar posibles soluciones en entornos complejos y con numerosos
obstculos.

Las pruebas realizadas sobre el desempeo del RRT-Connect indican que existe siempre un
ancho de bsqueda que produce los menores tiempos de procesamiento. Para el RRT-Met tam-
bin sucede lo mismo y el ancho de bsqueda es similar o igual al que presenta el RRT-Connect
para el mismo entorno de bsqueda.

Una de las ventajas del RRT-Met es su facilidad de implementacin y adems utiliza nica-
mente un parmetro, el mismo que se utiliza para ajuste en el RRT-Connect, el ancho o paso de
bsqueda. El RRT-Met se implementa en sistemas computacionales igual que el RRT-Connect
con el proceso mostrado en la Figura 2-32.

2.7.1 Experimentos y Resultados


Esta seccin presenta los resultados comparativos entre los mtodos RRT-Connect y RRT-
Met, mediante simulaciones en diferentes entornos de prueba. Todos los ensayos se realizaron
usando un computador con procesador Intel Pentium Dual CPU de 2.0 GHz, equipado con 2 Gb
en memoria RAM. Los resultados se obtuvieron despus de 50 corridas bajo MATLAB, con un
mximo de 100000 iteraciones. La deteccin de colisiones se ejecuto con la librera V-Collide. A
continuacin se presentan experimentos realizados.

a) Entorno Z-Plano. Aqu se asume un robot como un punto en un entorno bidimensional


que contiene dos pasajes estrechos, solo existe una forma de llegar de la posicin inicial a la final,
explorando grandes partes del espacio de bsqueda (Figura 2-39a). En la Figura 2-39b, se presenta
un cuadro que resume el nmero promedio de iteraciones, tiempo, llamados de deteccin de coli-
sin (CDs) y nodos necesarios para solucionar el problema propuesto.
56 2.7 Algoritmo RRT-Met

RRT-Connect
Itera. T (seg) CDs Nodos
Promedio. 2575 5.62 3252 677
Mx. 8842 47.80 11450 2608
Mn. 284 0.24 416 132
Desv. Est. 2086 8.38 2585 508
RRT-Met
Itera. T (seg) CDs Nodos
Promedio. 366 1.31 861 363
Mx. 1799 11.42 3274 1409
Mn. 114 0.27 345 152
Desv. Est. 343 1.98 633 253

(a) (b)

Figura 2-39: (a) Entorno de prueba Z-Plano. (b) Cuadro de resultados.

Los resultados muestran un mejor desempeo del RRT-Met, por obtener un menor tiempo
promedio de ejecucin, en virtud a la reduccin de la cantidad de CDs y nodos utilizados. Esto
corrobora las deducciones tericas planteadas en la seccin anterior.

b) Entorno de laberinto en 2D. Se considera el problema de un robot de forma triangular,


con 3 GDL que debe desplazarse de izquierda a derecha en la Figura 2-40a. Este entorno est
diseado para forzar la creacin de mltiples rboles locales, con el objetivo de contrastar del
desempeo del RRT-Met respecto al RRT-Connect.

En la Figura 2-40b se aprecia la consistencia del algoritmo RRT-Met, suministrando una


rpida solucin con ms de una posible ruta y la creacin de varios rboles locales en diferentes
reas del espacio de bsqueda.

RRT-Connect
Itera. T (seg) CDs Nodos
Promedio. 3414 10.03 4407 993
Mx. 5821 21.27 7574 1816
Mn. 1357 1.59 1738 381
Desv. Est. 1171 4.93 1494 330
RRT-Met
Itera. T (seg) CDs Nodos
Promedio. 479 6.04 1399 649
Mx. 1089 13.36 2548 1163
Mn. 128 1.64 545 335
Desv. Est. 200 2.46 438 177
(a) (b)

Figura 2-40: (a) Entorno de laberinto en 2D. (b) Cuadro de resultados.

c) Entorno S-Tnel. Este entorno consta de un gran obstculo paraleleppedo rectangular


con un largo pasaje estrecho en su interior. El robot es representado como un pequeo cubo que
debe pasar a travs del obstculo de un lado a otro (Figura 2-41a). Este experimento confirma que
el RRT-Met se comporta como el RRT-Connect en ausencia de obstculos pequeos, sin perder
agilidad y reduciendo los tiempos de solucin en presencia de pasajes estrechos.
2 Construccin de Algoritmos 57

RRT-Connect
Itera. T (seg) CDs Nodos
Promedio. 7988 88,55 9283 1296
Mx. 51722 1379,00 59660 7938
Mn. 454 1.53 589 135
Desv. Est. 10467 225.10 12048 1581
RRT-Met
Itera. T (seg) CDs Nodos
Promedio. 2213 50.54 5912 1952
Mx. 7075 257.81 18100 5629
Mn. 397 4.72 1158 447
Desv. Est. 1550 54.07 3947 1203

(a) (b)

Figura 2-41: (a) Entorno de S-Tnel. (b) Cuadro de resultados.

d) Entorno L-Slido. Este entorno presenta a un robot con forma en L con 6 GDL, que
debe atravesar un enmallado tridimensional mostrado en la Figura 2-42a. Este experimento
muestra los prometedores buenos resultados que presenta el uso del RRT-Met para resolver pro-
blemas en sistemas multidimensionales. En la Figura 2-42b se presenta un resumen de los datos
de la prueba.

RRT-Connect
Itera. T (seg) CDs Nodos
Promedio. 2915 30.83 4279 1364
Mx. 9093 144.46 13131 4038
Mn. 132 1.06 207 75
Desv. Est. 2123 29.73 3069 946
RRT-Met
Itera. T (seg) CDs Nodos
Promedio. 669 11.59 1773 810
Mx. 1594 32.31 4272 1862
Mn. 65 0.99 184 92
Desv. Est. 343 6.94 944 403

(a) (b)

Figura 2-42: (a) Entorno L-Slido. (b) Cuadro de resultados.

e) Efecto del parmetro y pasajes estrechos. Es innegable la importancia que tiene el


parmetro en el desempeo de los algoritmos RRT. Por ejemplo en un entorno bidimensional
con un obstculo convexo, un grande hace que los algoritmos RRT convergen rpidamente a
una solucin, esto debido a que controla el tamao las ramas de los arboles de expansin tal
como se controla el muestreo de los nodos en los mtodos clsicos PRM.
58 2.7 Algoritmo RRT-Met

Figura 2-43: Solucin de un entorno S-Plano de pasajes estrechos, usando los algoritmos RRT-
Connect y RRT-Met.

En el caso de pasajes estrechos, tal como se muestra en la Figura 2-43, una eleccin de muy
pequeo (o muy grande) hace que los algoritmos RRT demoren su convergencia notablemente.
En el cuadro de la Figura 2-44 se aprecia como el valor promedio de los arboles locales se man-
tiene bajo, confirmando la suposicin que el RRT-Met autoregula el nmero de rboles locales. Es
importante entender que el RRT-Met permite la existencia de muchos rboles locales, los cuales
pueden ser vistos como una nube de puntos (o nodos) que ayudan a explorar el espacio de
bsqueda; esta nube tiende a crecer hacia los rboles globales y las interconexiones entre los
rboles se realizan solo cuando se requieren.

Dato Promedio Alg. 2 1.5 1 0.5


Tiempo (seg) A 6.99 3.95 8.88 18.54
B 3.10 2.55 2.64 4.04
CDs A 2739.12 2161.84 2943.64 4681.06
B 1201.42 1217.14 1168.98 1610.34
Nodos A 510.56 438.80 606.60 1023.92
B 381.80 401.74 421.84 667.04
Arboles Locales B 2.1 2.4 2.6 3.6
A = RRT-Connect; B = RRT-Met

Figura 2-44: Cuadro de resultados para un entorno S-Plano usando los algoritmos RRT-Connect y
RRT-Met..
2 Construccin de Algoritmos 59

80
70
Sobrepoblacin
60 de nodos
tiempo (seg.) 50
40
30
bloqueo
20
10
0
0 0,5 1 1,5 2 2,5

RRT-Connect RRT-Met

Figura 2-45: Desempeo de los algoritmos RRT-Connect y RRT-Met para solucionar el entorno S-
Plano.

En la Figura 2-45 se aprecia como el valor del parmetro afecta el tiempo requerido para
encontrar una solucin usando las estrategias RRT-Connect y RRT-Met, donde entre ms peque-
o sea , ms se congestionar el espacio de bsqueda usando el RRT-Connect, lo que implica
mayores CDs y por tanto una creciente demora en la entrega de una solucin. Por otra parte,
Entre ms grande sea , ambos algoritmos tienden a bloquearse o estancarse, de modo que no se
encuentra una solucin.
3 Implementacin Computacional

En este captulo se encuentran consignados los aspectos ms relevantes de cmo se desarroll


la Aplicacin de Generacin de Trayectorias Libre de Colisiones para Robots Manipuladores
denominada AGT, sus implicaciones, conclusiones y su uso para el anlisis en un robot real.

3.1 Desarrollo de la aplicacin AGT


AGT o Aplicacin de Generacin de Trayectorias Libre de Colisiones para Robots Manipu-
ladores fue desarrollada para calcular y visualizar la trayectoria de un robot manipulador que se
desplaza de una configuracin inicial a una final evitando colisionar con su entorno. Hasta el
momento AGT es de uso estrictamente acadmico y brinda la posibilidad de seleccionar un robot
manipulador serial entre los tres tipos principales de morfologa existentes que son usados co-
mercialmente, estos son: tipo articulado, scara y cartesiano.

En virtud al estudio de los diferentes mtodos de generacin de trayectorias expuestos en el


captulo anterior, los PRM son los indicados para desarrollar una aplicacin computacional de las
caractersticas planteadas, caractersticas como: seleccin de un robot modelado en 3D; seleccin
de un entorno de trabajo, tambin en 3D; seleccin de un algoritmo fiable de clculo de trayecto-
ria para cualquier robot en cualquier entorno, sin depender del nmero de GDL del robot; facili-
dad de uso, con ajuste sencillo de parmetros; intuitivo, con la mejor y pronta respuesta. El
mtodo de generacin de trayectoria usando campos potenciales artificiales aunque es promete-
dora su implementacin, posee la desventaja de atascamiento en mnimos locales al generar la
trayectoria, y en caso de una posible liberacin del mnimo local, debido al nmero de eslabones,
se requieren un alto nmero de iteraciones (vase seccin 2.3.7).

La aplicacin AGT est implementada bajo el entorno de programacin de MATLAB, que en


la actualidad es un lenguaje de fcil entendimiento para estudiantes y profesores de ingeniera.
AGT se desarrollo como una herramienta de estudio del comportamiento de robots en 3D, por
tanto se hace uso intensivo de libreras grficas para la visualizacin de las simulaciones.
61
62 3.1 Desarrollo de la aplicacin AGT

Los requerimientos, instalacin, constitucin y uso de la Aplicacin de Generacin de Tra-


yectorias, son aspectos que estn consignados en el Manual del usuario que se distribuye con el
AGT (Anexo 1).

Los modelos en 3D de los robots que emplea el AGT son provistos por los fabricantes de los
robots reales y fueron descargados de forma gratuita de sus sitios web, luego fueron adaptados y
calculados para compatibilidad con la aplicacin AGT. La eleccin de los distintos robots se rea-
liz teniendo en cuenta sus aplicaciones comerciales, y la mayora de estos son los modelos re-
cientes de cada empresa fabricantes de robots. Los robots desarrollados en 3D fueron los siguien-
tes:

- Robot del fabricante ABB, referencia IRB 1600 145.


- Robot del fabricante ADEPT, referencia COBRA s800.
- Robot del fabricante GDEL, referencia FP 6 300.
- Robot del fabricante KUKA, referencia KR 30HA.
- Robot del fabricante IBM, referencia 7540. Ubicado en el Laboratorio de Mecatrnica de
la Universidad Nacional de Colombia, y sobre el cual se realiz la experimentacin en
condicin real.

Tambin se desarrollaron varios entornos 3D para cada robot, estos entornos varan en com-
plejidad para observar de manera ms objetiva el desempeo de los algoritmos implementados
junto con el comportamiento de los robots simulados. Para el robot IBM 7540 los entornos en 3D
corresponden a entornos reales diseados para juzgar el funcionamiento del robot real.

Todos los modelos en 3D de robots y entornos se encuentran en Lenguaje para Modelado de


Realidad Virtual (VRML-97) el cual es un lenguaje normalizado para desarrollo y presentacin de
escenas en 3D. El empleo de VRML se encuentra explicado en varios textos especializados, es
totalmente compatible con MATLAB, y es de uso comn para la gran mayora de software de
modelado en 3D.

Para determinar de forma visual la fiabilidad de los algoritmos para generar una trayectoria
que permite evadir los obstculos por parte de un robot en particular, la interface del AGT con el
usuario, mostrada en la Figura 3-1, presenta varias opciones de representacin de un robot en
particular, por ejemplo: robot en polgonos, en primitivas y con diferentes efectores finales.
Adems existe la posibilidad de cargar uno entre varios entornos prediseados, donde el robot
deber cumplir con desplazarse de una configuracin inicial a una final sin provocar colisiones.
Estas configuraciones tambin pueden modificarse por parte del usuario y adems de corroborar
si esa configuracin suministrada por el usuario produce una colisin con el entorno; el AGT no
permite calcular la trayectoria si existe colisin del robot con el entorno en los parmetros del
robot ajustados por el usuario.

Para la generacin de trayectorias el AGT incluye los algoritmos RRT-Connect y RRT-Met,


los cuales el usuario puede escoger para experimentar su funcionamiento. El usuario tambin
puede ajustar el nmero mximo de iteraciones y al ancho o paso de bsqueda, este ltimo est
prefijado en un valor medio entre un rango suficientemente amplio para generar trayectorias sin
la necesidad de ampliar el numero prefijado de iteraciones.
3 Implementacin Computacional 63

Figura 3-1: Captura de la interface con el usuario: Ventana de Robot de la Aplicacin de Genera-
cin de Trayectorias Libre de colisiones - AGT.

Mensajes de
Error y
Advertencia
Ventana de
Control de VR

Ventana de Robot
Ventana Principal
AGT

Ventana de
Visualizacin de VR

Ventanas de carga
Archivo de de trayectorias y
Ayuda entorno

Figura 3-2: Mapas de ventanas del aplicativo AGT.


64 3.1 Desarrollo de la aplicacin AGT

Figura 3-3: Ventana de Visualizacin de Realidad Virtual (VR) del aplicativo AGT, el cual usa el
Virtual Reality Toolbox de SIMULINK provisto por MATLAB.

El AGT tambin cuenta con un panel de resultados que muestran al usuario el tiempo de
procesamiento, pos-procesamiento y nmero de iteraciones requeridas para encontrar la trayec-
toria de acuerdo con la seleccin de la Accin de Procesamiento o Pos-Procesamiento deseada.

En la Figura 3-2 se ilustra el mapa de ventanas que cuenta el AGT, la explicacin de las ven-
tanas y el modo de utilizarlas se encuentra consignado en el manual del usuario del AGT (Anexo
1). Adems, para una visualizacin ms detallada y fluida de la trayectoria generada, el AGT
cuenta con la Ventana de Visualizacin de Realidad Virtual, existente para seleccin de entorno
con su robot particular, tal como se aprecia en la Figura 3-3.

El AGT se basa en el proceso descrito en la Figura 2-32 para implementar un algoritmo de


generacin de trayectorias de forma computacional. El mdulo de pos-procesamiento utilizado
en el AGT es expuesto en la Figura 2-27. La definicin de la cinemtica directa se realizo utili-
zando la matriz de parmetros de Denavit-Hartenberg[6] para cada uno de los robots disponibles
en la ventana principal del AGT. La definicin de obstculos requerida en el proceso de la Figura
2-32 se realiza de forma automtica cada vez que se carga un entorno en 3D mediante geometra
computacional programada en el AGT.

El AGT cuenta con un modulo de deteccin de colisiones de acuerdo a cada robot a simular,
basado en la librera V-Collide [58]. Se escogi esta librera por su disponibilidad para desarrollos
acadmicos[85] y su comprobada rapidez respecto a otras libreras[86].

V-Collide es una librera implementada en C++ por la Universidad de Carolina del Norte
(UNC), para determinar cul de los objetos en una escena virtual de VRML estn en contacto
potencial. La arquitectura de V-Collide, se divide en dos niveles: en el primer nivel se determina
qu pares de objetos se solapan en la escena; para ello se emplea el mtodo de aproximacin por
3 Implementacin Computacional 65

cajas de inclusin AABB [87]. En el segundo nivel se estudia la colisin de los pares de objetos
seleccionados en la fase anterior; para ello, el sistema calcula el rbol jerrquico de cajas de in-
clusin orientadas al objeto OBB[16].

3.2 Consideraciones y resultados con AGT


El comportamiento observado de los diferentes robots que siguen la trayectoria calculada
usando AGT, en distintos entornos, muestra que no se requiere de un algoritmo sofisticado de
pos-procesamiento que realice un suavizado de curvas. El algoritmo de la Figura 2-27 genera una
trayectoria compuesta por pocos nodos siempre que se pueda, sin importar lo intrincada que sea
la ruta obtenida por los algoritmos RRT, tal como lo muestran los resultados de la Figura 2-38.

Para los PRM y todos los mtodos de generacin de trayectorias, no es necesario conocer la
dinmica de los robots, este aspecto es reflejado en las simulaciones realizadas con el AGT, pues-
to que los algoritmos RRT usan el espacio de configuracin para determinar la ruta entre la con-
figuracin inicial y final, y como tambin el control de velocidad en los robots reales se ejecuta
en su espacio articular, suministrarle una ruta obtenida del pos-procesamiento a un robot requie-
re solo la interpolacin de las variables articulares y la velocidad de ejecucin de la trayectoria es
la permitida por la programacin del sistema de control de un robot en particular.

El AGT permite modificar el ancho o paso de bsqueda a valores grandes, que originalmente
el algoritmo RRT bsico plantea como un nmero pequeo en la Figura 2-22; pero para prevenir
la inadvertencia de obstculos, con el AGT siempre se realiza una validacin de enlaces entre
nodos de forma incremental. Las condiciones anteriores permiten obtener una solucin rpida al
problema de generacin de trayectorias cuando se cuenta con un entorno con pocos obstculos,
lo cual es corroborado tras varias simulaciones con diferentes robots y entornos.

Si bien, empleando un paso de bsqueda grande se obtienen soluciones rpidas, los movi-
mientos del robot al ejecutar la trayectoria calculada, son ms amplios que los obtenidos con un
ancho de menor valor. Esta condicin de amplitud de movimientos del robot recae directamente
sobre el pos-procesamiento, no sobre el algoritmo RRT utilizado. Si se utiliza un algoritmo de
pos-procesamiento ms complejo, o que no dependa del ancho de bsqueda, la trayectoria obte-
nida debera mostrar un comportamiento en el robot prcticamente insensible al tamao del paso
de bsqueda.

Tambin se observa que el tiempo de pos-procesamiento tiende a ser de la misma magnitud


que el requerido para el procesamiento. El AGT cuenta con un algoritmo de pos-procesamiento
sencillo, que usa la misma mtrica para la validacin de enlaces, ajustadas por el ancho de
bsqueda. De lo anterior se concluye que el desarrollo de algoritmos de pos-procesamientos ten-
dientes a suministrar trayectorias ptimas es uno de los temas que se deben ahondar en el rea
de generacin de trayectorias.

Para la industria, la programacin de los robots manipuladores se realiza de manera fuera de


lnea offline, este tipo de programacin reduce el tiempo para generar trayectorias respecto a la
programacin en lnea online, puesto que sin una simulacin, se requerira de varias iteraciones
dentro de la planta de produccin antes de llegar a una solucin satisfactoria, por tal razn, un
buen sistema de simulacin en 3D se torna una herramienta invaluable para las empresas[88].
66 3.2 Consideraciones y resultados con AGT

(a) (b)

(c) (d)

(e) (f)

Figura 3-4: Seis posiciones de prueba de un robot KUKA KR 30HA, para generar una trayectoria
continua sin colisiones con el podio central. Capturas tomadas desde la aplicacin AGT.

Existen varios paquetes informticos comerciales para la programacin offline, entre los des-
tacados se encuentran KUKA Sim y CimStation Robotics, este ltimo es utilizado por la NISSAN
para fabricar sus automviles. AGT aunque no presenta la gran variedad de modelos de robots y
entornos exhibidos por los paquetes comerciales, si posee la capacidad de generar trayectorias de
manera automtica. Aunque cada software comercial tiene en su mayora sistemas de deteccin
de colisiones, an se requiere el control visual del humano para generar una trayectoria apropia-
da de acuerdo con las simulaciones realizadas.
3 Implementacin Computacional 67

Para AGT y KUKA Sim, se planteo generar la trayectoria continua que cumpliera con las seis
posiciones planteadas en la Figura 3-4, para un robot articulado en operacin de soldadura.

La duracin de la programacin de la trayectoria planteada en el software KUKA Sim, ronda


entre 10 y 30 minutos, dependiendo de la experiencia del usuario programador. La tarea de ob-
servar y verificar que el diseo de las trayectorias entre posiciones intermedias es apropiada, es el
aspecto que ms toma tiempo en la programacin offline, tiempo que se incrementa cuando el
nmero de obstculos aumenta o el entorno es ms intrincado. Por otra parte, usando el AGT y
MATLAB, el tiempo total gastado para el procesamiento, pos-procesamiento y visualizacin de la
trayectoria, entre las seis posiciones de la Figura 3-4 no supera los cinco minutos en promedio.
Los videos de las simulaciones realizadas con AGT y KUKA Sim se encuentran en la carpeta de
Videos del CD Anexo a este trabajo, junto con todos los otros videos de las simulaciones ms
importantes realizadas a los robots y entornos disponibles en la aplicacin AGT.

Usando el KUKA Sim, la trayectoria resultante posee una o varias pausas para reconfigurar
el robot entre las posiciones intermedias deseadas de la Figura 3-4, este comportamiento del robot
es observado de manera tpica en muchas aplicaciones industriales. Por otra parte la trayectoria
generada con AGT se muestra con un movimiento continuo del robot, por tanto, si se aplicara
esta trayectoria a un robot real, este gastara menos tiempo ejecutando la trayectoria, represen-
tando un menor consumo energtico, lo que refleja menores costos de produccin; adems, la
amplitud de los movimientos de los eslabones del robot tienden a ser los ms cortos posibles,
demandando un menor esfuerzo de los actuadores articulares cuando se realice en una imple-
mentacin real. Si bien no est demostrado, la vida til del robot real puede incrementarse al
ejecutar las trayectorias obtenidas con la aplicacin AGT.

Respecto al mdulo de comprobacin de colisiones establecido en el AGT, la librera V-


Collide provee fiablemente las detecciones de colisin entre slidos que divergen en tamao y
complejidad. Por tanto, el robot y su entorno pueden ser tan complicados como se quiera. Sin
embargo una adecuada seleccin en la reduccin de polgonos de los slidos que conforman el
entorno y el robot, aumentan la velocidad de clculo de trayectorias, pues este clculo requiere
en ciertas ocasiones cientos o miles de verificaciones de colisin. La conceptualizacin de AGT
permite trabajar con slidos que han sido reducidos en su nmero de polgonos para mejorar los
tiempos de procesamiento total.

3.3 Anlisis en un robot real


Para desarrollo de una implementacin real, el laboratorio de Mecatrnica de la Facultad de
Ingeniera de la Universidad Nacional de Colombia, sede Bogot, cuenta con el sistema robtico
IBM Scara 7540; el cual fue designado por su configuracin tpica de robot manipulador y su
disponibilidad para realizar pruebas controladas.

El sistema robtico cuenta con el robot IBM Scara 7540 montado sobre una estructura met-
lica (base); una mesa para apoyo y distribucin de piezas a manipular; un computador exclusivo,
con sistema operativo Microsoft Windows XP, sobre el cual est instalado el software
68 3.3 Anlisis en un robot real

MX2000/TDC (Multi-Axis Controller Programming Language) el cual controla los diferentes


actuadores del robot IBM 7540 [89].

Una descripcin formal del robot IBM 7540, sus partes, volumen de trabajo, y comandos
bsicos del MX2000/TDC se encuentran en el ambiente virtual de enseanza y aprendizaje de la
Universidad Nacional de Colombia por internet: www.virtual.unal.edu.co [90].

3.3.1 Experimentos propuestos


Para cada una de las pruebas realizadas sobre el robot IBM 7540, primero se diseo el entor-
no en 3D en cual que se desenvolvera el robot real. Este entorno en 3D se utiliz en el AGT para
calcular la trayectoria libre de colisiones entre las posiciones inicial y final establecidas. Segui-
damente, utilizando MATLAB, se exporto la trayectoria obtenida al entorno del software
MX2000/TDC del computador que controla al robot, y finalmente se ejecut la orden desde el
computador para observar el comportamiento del robot.

Experimento 1: Con la posicin inicial y final descrita en la Figura 3-5, el robot debe sortear
un solo obstculo suficientemente grande para obligar al robot a desplazarse por la nica va
disponible en el espacio de trabajo y que no colisionar con el obstculo, que en este caso son una
pila de libros.

(a) (b)

Figura 3-5: Posicin inicial (a) y final (b) para el Experimento 1.


3 Implementacin Computacional 69

(a) (b)

Figura 3-6: Posicin inicial (a) y final (b) para el Experimento 2 y 3.

(a) (b)

Figura 3-7: Posicin inicial (a) y final (b) para el Experimento 4.

Experimento 2 y 3: Con la posicin inicial y final descrita en la Figura 3-6, el robot debe sor-
tear varios obstculos en una configuracin que permite por lo menos dos soluciones con nave-
gacin entre pasajes estrechos en el espacio de trabajo. Adems, la posicin final del robot tiene
la presencia de dos obstculos que la delimitan, por lo que se debe verificar si el robot no colisio-
na con ellos y teniendo en cuenta que esta posicin final se encuentra alejada de la posicin ini-
cial.

Experimento 4: Con la posicin inicial y final descrita en la Figura 3-7, el robot debe sortear
los obstculos presentes acarreando en su efector final una pieza en forma de la letra T, la cual
est colocada en posicin inicial muy cercana a los obstculos, el robot debe ejecutar una trayec-
toria satisfactoria por un entorno intrincado de ida y vuelta, tomando en cuenta que la posicin
final tambin cuenta con obstculos que limitan la colocacin de la letra T.
70 3.3 Anlisis en un robot real

3.3.2 Resultados obtenidos


Los resultados de las simulaciones junto con las fotos y los videos tomados del comporta-
miento del robot IBM Scara 7540, se encuentran en la carpeta Videos Experimentales del CD de
esta tesis. Del primer experimento, se concluye que la trayectoria calculada es ejecutada por el
robot tal como se esperaba y se visualizaba en el AGT, sin embargo el software del robot
MX2000/TDC controla los actuadores del robot de manera independiente para cumplir las posi-
ciones que dictan puntos intermedios pertenecientes a la trayectoria obtenida con el AGT, esto
hace que se aprecie en el robot un desplazamiento en zigzag. Para minimizar el zigzag, fue sumi-
nistrado al MX2000/TDC un mayor nmero de puntos intermedios calculados mediante interpo-
lacin, haciendo que la trayectoria se cumpla satisfactoriamente. En la Figura 3-8 se aprecia la
posicin inicial del primer experimento en el robot real.

El segundo y tercer experimento tienen la misma distribucin de obstculos, pero se ejecuta-


ron diferentes trayectorias. El segundo experimento ejecuta una trayectoria en el espacio de tra-
bajo al parecer ms larga, rodeando el obstculo verde central en sentido contrario a donde se
encuentra la configuracin final del robot.

En la ejecucin de la trayectoria del experimento 3 tambin se prob la misma trayectoria de


ida se cumple sin colisiones de vuelta, es decir, los movimientos ejecutados por el robot desde su
posicin inicial a la final, no producen colisiones si se ejecuta la trayectoria de manera inversa
empezando desde la posicin final a la inicial, dando por demostrado que el planeamiento de
trayectorias libre de choques con el entorno es fiable e independiente de la dinmica involucrada,
siempre y cuando exista un control de las articulaciones especializado como el MX2000/TDC.

Las fotos de la Figura 3-9 son los instantes inicial y final de los experimentos dos y tres ejecu-
tados por el robot IBM Scara 7540. Sus videos y simulaciones se encuentran en la carpeta Videos
Experimentales del CD que acompaa a esta tesis.

Figura 3-8: Posicin inicial del primer experimento en el robot real.


3 Implementacin Computacional 71

(a) (b)

Figura 3-9: (a) Posicin inicial del segundo experimento en el robot real. (b) Posicin final del
tercer experimento en el robot real.

El cuarto experimento determin que las trayectorias ejecutadas por el robot real, tanto de
ida como de vuelta, son satisfactorias al acarrear piezas sujetas al efector final. Hay que aclarar
que exactitud entre la trayectoria simulada y la real depende de la precisin de los movimientos
del robot real y que los efectos adversos ocasionados por las inercias de la carga que se transporte
en el efector final no se tienen en cuenta, incluso si la programacin offline se realiza de forma
manual por un ser humano usando cualquier software especializado. En la Figura 3-10 se aprecia
una panormica en vista inversa o posterior de la posicin inicial, para la cuarta experiencia des-
arrollada.

Figura 3-10: Posicin inicial del cuarto experimento en el robot IBM Scara 7540, desde una vista
posterior.
4 Conclusiones

Este trabajo se enfoca en robots articulados que requieren un sistema de generacin de tra-
yectorias libre de colisiones dentro de un entorno de trabajo previamente conocido. La intensiva
investigacin desarrollada sobre textos especializados permite concluir que los mtodos proba-
bilsticos PRM son las estrategias ms fiables para generar automticamente en un software, las
trayectorias libres de colisin para cualquier tipo de robot manipulador. Los grados de libertad de
un sistema robtico determinan un entorno de bsqueda denominado espacio de configuracin.
No todos los mtodos existentes permiten implementaciones prcticas de generacin de trayecto-
rias, porque las estrategias basadas en clculos geomtricos se complican en entornos de bsque-
da de ms de tres dimensiones.

Usando varias y diversas simulaciones en el entorno de programacin para la ingeniera


MATLAB, se presentaron las posibilidades existentes para implementar el mtodo de generacin
de trayectorias usando campos potenciales artificiales y el mtodo denominado Rapidly-
exploring Random Trees o RRT, para la programacin fuera de lnea de sistemas robticos reales.

Se presenta una variacin del algoritmo RRT-Connect denominado RRT-Met que permite
llegar a soluciones de manera ms rpida para entornos de bsqueda con varios obstculos, com-
plicados o no, y con la presencia de pasajes estrechos. El RRT-Met utiliza rboles locales de
bsqueda y no requiere el ajuste de ms parmetros por parte del usuario.

El RRT-Connect se torn en los ltimos aos en uno de los algoritmos preferidos para gene-
rar trayectorias libres de colisiones, cuya conceptualizacin se ha empleado en campos prcticos
como la qumica, ciruga robotizada y animacin con actores virtuales. En este documento se
expone una metodologa adecuada y probada para implementar de manera informtica este tipo
de algoritmo y sus variantes como el RRT-Met. El RRT-Met surge de la necesidad de mejorar el
RRT-Connect preservando la sencillez de su conceptualizacin e implementacin.

Una ventaja del RRT-Met, heredada del RRT-Connect, es la generalizacin de su funciona-


miento en cualquier espacio de bsqueda, lo que permite emplearlo en otras reas del conoci-

73
74 3.3 Anlisis en un robot real

miento. Una futura aplicacin que se prev para el RRT-Met, es la bsqueda de soluciones pti-
mas para generacin de trayectorias (por ejemplo en robots mviles), en la cual, se crean agentes
mviles tanto como arboles locales de bsqueda y de luego aplicar mtodos metaheursticos se
encuentra una solucin ptima o lo ms cercana a ella.

La aplicacin computacional de generacin de trayectorias libre de colisiones para robots


manipuladores denominada AGT, fue creada como resultado del desarrollo de este trabajo y
muestra el poder de la generacin automtica de trayectorias para distintos robots reales en en-
tornos conocidos. Al realizar una comparacin del AGT con un software comercial se concluye
que ambas herramientas computacionales poseen facilidad de operacin y el AGT facilita la ge-
neracin de trayectorias libre de colisiones en menor tiempo. Las empresas que poseen robots
manipuladores seriales deberan contar con la posibilidad de usar software que le permita expe-
rimentar la generacin automtica de trayectorias y verificar una reduccin de costos de produc-
cin, en virtud a un menor tiempo de ejecucin de movimientos por parte de los robots y la
flexibilidad en la programacin fuera de lnea de sus equipos industriales.

Aunque el programa AGT presenta una interface amigable con varios ejemplos para su uso,
es susceptible a varias mejoras, tales como: una herramienta para mover la base del robot en
diferentes partes de su entorno; una completa gama de robots y efectores finales; as como tam-
bin una fcil adquisicin de entornos virtuales generados desde software de creacin en 3D. Un
desarrollo futuro para el AGT es promover esta aplicacin bajo el proyecto de Licencia Pblica
General de GNU, este software se destinara a empresas que utilicen robots industriales para
mejorar sus procesos productivos.

Con los diferentes experimentos realizados sobre un robot real perteneciente a la Universi-
dad Nacional de Colombia, se corrobor que las trayectorias generadas con AGT se ejecutan de
manera fiable por el sistema robtico, sin interesar el sentido de la trayectoria y la dinmica del
conjunto del robot y su efector; puesto que esta dinmica est sujeta a las velocidades articulares
que estn determinadas por el sistema de control del robot real.

Gracias a la programacin modular de AGT realizada en MATLAB, estudiantes y docentes


pueden utilizar esta herramienta informtica para realizar ms experimentos en robots reales que
corroboren trayectorias obtenidas con diferentes y nuevos algoritmos de generacin de trayecto-
rias; adems su integracin con el paquete SIMULINK permite el controlar directamente algunos
sistemas robticos, as como tambin simular comportamientos ms complejos en diferentes
condiciones de operacin de los robots.

Como resultado directo de este trabajo se inicio el proceso de licenciamiento del programa
computacional AGT por parte de la Universidad Nacional de Colombia Sede Bogot, acorde
con la cesin de derechos patrimoniales de autor. Adems se produjeron dos artculos de carcter
cientfico que se encuentran en proceso de evaluacin. El primer artculo (Anexo 2) fue radicado
en la revista Ingeniera e Investigacin de la Universidad Nacional de Colombia, indexada en
Categora A1 por Colciencias. El segundo artculo (Anexo 3) se encuentra registrado en el SICE
2010 (International Conference on Instrumentation, Control and Information Technology) a des-
arrollarse del 18 al 21 de agosto de 2010. Este evento realizado desde 1961, ha liderado la sociedad
acadmica de Japn en una amplia gama de campos como el control, la medicin, sistemas de
informacin y aplicaciones relacionadas con la industria. El SICE 2010 es copatrocinado por la
IEEE Robotics and Automation Society.
4 Conclusiones 75

En resumen, en este texto se presentan las tcnicas que se pueden utilizar en la generacin de
trayectorias con la capacidad de evadir obstculos en entornos reales donde se emplean robots
seriales, y se produjo una herramienta computacional de carcter acadmico que muestra los
beneficios en implementaciones reales en el sector de la industria e investigacin en robtica.
Bibliografa

[1] A. Ollero, Robtica: manipuladores y robots mviles, Barcelona: Alfaomega, 2001.


[2] J. Angeles, Fundamentals of robotic mechanical systems : theory, methods, and algo-
rithms, New York ; Berlin: Springer, 2007.
[3] T. Lozano-Prez, Automatic planning of manipulator transfer movements, IEEE Trans.
Systems, Man, and Cybernetics SMC-11, no. 110, pp. 681689-681689, 1981.
[4] J. P. Laumond, Robot motion planning and control, London; New York: Springer, 1998.
[5] "KUKA Industrial Robots - KUKA.Sim,"
http://www.kuka.com/en/products/software/kuka_sim/start.htm.
[6] J. Craig, Introduction to Robotics: Mechanics and Control: Addison-Wesley, 1989.
[7] P. Phokharatkul, and S. Phaiboon, "Mobile robot control using type-2 fuzzy logic sys-
tem." pp. 299 vol.1, 296-299 vol.1, 296.
[8] A. Howard, G. S. Sukhatme, and M. J. Mataric, Multirobot Simultaneous Localization
and Mapping Using Manifold Representations, PROCEEDINGS- IEEE, vol. 94, no. 7, pp.
1360-1369, 2006.
[9] E. T. P. P. Wong, and R. S. Jarvis, "Real time obstacle detection and navigation planning
for a humanoid robot in an indoor environment." pp. 693 - 698.
[10] F. Rubio, F. Valero, J. Sunyer et al., Modelizacin de obstculos para la planificacin de
caminos de robots industriales, 8 Congreso Iberoamericano de Ingeniera Mecnica,
2007.
[11] H. M. Choset, Principles of robot motion : theory, algorithms, and implementation, Cam-
bridge, Mass.: MIT Press, 2005.
[12] L. Jean-Claude. "Motion Planning - Overview,"
http://robotics.stanford.edu/~latombe/cs326/2007/overview.htm.
[13] S. Quinlan, Efficient Distance Computation Between Non-Convex Objects, Proceedings
/, no. 4, pp. 3324-3324, 1994.
[14] J. Eckstein, and E. Schmer, "Dynamic Collision Detection in Virtual Reality Applica-
tions."
[15] J. T. Klosowski, M. Held, J. S. B. Mitchell et al., Efficient Collision Detection Using
Bounding Volume Hierarchies of k-DOPs, IEEE Transactions on Visualization and
Computer Graphics, vol. 4, no. 1, pp. 36, 21-36, 21, 1998.
[16] S. Gottschalk, M. C. Lin, and D. Manocha. "OBBTree: A Hierarchical Structure for Rapid
Interference Detection."

77
78 Bibliografa

[17] S. Ehmann, and M. Lin, Accurate and Fast Proximity Queries Between Polyhedra Using
Convex Surface Decomposition, COMPUTER GRAPHICS FORUM, vol. 20, no. 3, pp.
500-510, 2001.
[18] S. M. LaValle, Planning algorithms, Cambridge; New York: Cambridge University Press,
2006.
[19] K. James. "Kuffner Art Gallery : Alpha Puzzle,"
http://www.kuffner.org/james/gallery/raytracing/alpha_puzzle/.
[20] F. T. Simen, and J. P. Laumound, "Move3D: A generic platform for path planning." pp.
25-30.
[21] J. N. Pires, A. Loureiro, and G. Bolmsj, Welding robots : technology, system issues and
applications, London: Springer, 2006.
[22] C. Heping, and F. Thomas, "Automated Industrial Robot Path Planning for Spray Paint-
ing, Process: A Review." pp. 522-527.
[23] "Intuitive Surgical - da Vinci Surgical System,"
http://www.intuitivesurgical.com/products/davinci_surgicalsystem/index.aspx.
[24] V. R. d. Angulo, J. Corts, and T. Simon, BioCD: an efficient algorithm for self-collision
and distance computations between highly articulated molecular chains, Robotics :
Science and Systems, 2005.
[25] J. Corts, T. Simon, and M. Remaud-Simon, Geometric algorithms for the conforma-
tional analysis of long protein loops, Journal of Computational Chemistry, vol. 25, no. 7,
pp. 967, 956-967, 956, 2004.
[26] "NASA - A Helping Hand for the Space Station,"
http://www.nasa.gov/missions/shuttle/f_isshand.html.
[27] "Kibo Japanese Experiment Module - JAXA," http://kibo.jaxa.jp/en/index.html.
[28] "NASA - Kibo Japanese Experiment Module,"
http://www.nasa.gov/mission_pages/station/structure/elements/jem.html.
[29] "MOVIE: Motion Planning in Virtual Environments,"
http://www.give.nl/movie/publications/O05.php.
[30] F. L. Lewis, C. T. Abdallah, and D. M. Dawson, Robot manipulator control : theory and
practice, New York: Marcel Dekker, 2004.
[31] J. Gene Eu, J. Tong-Ying, H. Jun-Da et al., A Fast Path Planning Algorithm for Piano
Movers Problem on Raster, Proceedings of the 2005 IEEE/ASME, International Confe-
rence on Advanced Intelligent Mechatronics, Monterey, California, USA., 2005.
[32] L. Jed, R. Mark, R. D. Bruce et al., Real-time robot motion planning using rasterizing
computer graphics hardware, In Proc. SIGGRAPH, pp. 327-335, 1990.
[33] W. Lu, and H. Yoichi, Real-time Collision-free Path Planning for Robot Manipulator
Based on Octree Model, The 9th International Workshop on Advanced Motion Control,
Estambul, Turquia, 2006.
[34] J.-C. Latombe, Robot motion planning, Boston: Kluwer Academic Publishers, 1991.
[35] G. Miguel ngel Gutirrez, Clculo de caminos ptimos para manipuladores articula-
dos, Universidad de Salamanca, 2004.
[36] D. Hsu, J.-C. Latombe, and H. Kurniawati, On the Probabilistic Foundations of Probabil-
istic Roadmap Planning, The International Journal of Robotics Research, vol. 25, no. 7,
pp. 627-643, 2006.
[37] L. E. Kavraki, P. Svestka, J. C. Latombe et al., Probabilistic roadmaps for path planning
in high-dimensional configuration spaces, Robotics and Automation, IEEE Transactions
on, vol. 12, no. 4, pp. 566-580, 1996.
Bibliografa 79

[38] M. W. Spong, S. Hutchinson, and M. Vidyasagar, Robot modeling and control, Hoboken,
NJ: John Wiley & Sons, 2006.
[39] L.-P. r. Toms, Spatial planning: a configuration space approach, Procedente de IEEE
Transaction on computers, 1983.
[40] B. Siciliano, Robotics : modelling, planning and control, London: Springer, 2009.
[41] G. Ken. "Planar Robot Simulator with Obstacle Avoidance (Configuration Space),"
http://ford.ieor.berkeley.edu/cspace/.
[42] O. Khatib, "Real-time obstacle avoidance for manipulators and mobile robots." pp. 505,
500-505, 500.
[43] P. Hyun Soo. "Hyun Soo's Web Page (Robot Motion Planning),"
http://www.andrew.cmu.edu/user/hyunsoop/HW3/Motion_Planning_HW3.htm.
[44] H. Streich, and O. Adria, "Software approach for the autonomous inspection robot MA-
KRO." pp. 3411-3416 Vol.4-3411-3416 Vol.4.
[45] G. Madhavan, S. Thanikachalam, I. Krukenkamp et al., Robotic surgeons, Potentials,
IEEE, vol. 21, no. 3, pp. 4-7, 2002.
[46] P. Hachenberger, Exact Minkowksi Sums of Polyhedra and Exact and Efficient Decom-
position of Polyhedra in Convex Pieces, Lecture notes in computer science., no. 4698, pp.
669-680, 2007.
[47] G. v. d. Bergen, Collision detection in interactive 3D environments, Amsterdam [u.a.]:
Morgan Kaufmann, 2004.
[48] K. Gustavo, and T. Mara Teresa. "herramienta para el clculo y la visualizacin de Su-
mas de Minkowski,"
http://www.dma.fi.upm.es/gregorio/JavaGC/SumaMinkowski/index.html.
[49] E. Christer, "SIGGRAPH 2004 Notes The Gilbert-Johnson-Keerthi Algorithm," SIG-
GRAPH 2004, 2005.
[50] E. G. Gilbert, D. W. Johnson, and S. S. Keerthi, A fast procedure for computing the dis-
tance between complex objects in three-dimensional space, Robotics and Automation,
IEEE Journal of, vol. 4, no. 2, pp. 193-203, 1988.
[51] C. Ericson, Real-time collision detection, Amsterdam; Boston: Elsevier, 2005.
[52] "Dual-Arm Space Robot Teleoperation,"
http://www.space.mech.tohoku.ac.jp/research/parm/parm-e.html.
[53] P. Venkataraman, Applied optimization with MATLAB programming, New York: Wiley,
2002.
[54] J. Barraquand, L. Kavraki, J. C. Latombe et al., A Random Sampling Scheme for Path
Planning, INTERNATIONAL JOURNAL OF ROBOTICS RESEARCH, vol. 16, no. 6, pp.
759-774, 1997.
[55] L. Kavraki, and J. Latombe, "Probabilistic roadmaps for robot path planning," 1998.
[56] B. Mirtich, V-Clip: fast and robust polyhedral collision detection, ACM Trans. Graph.,
vol. 17, no. 3, pp. 177-208, 1998.
[57] J. Cohen, M. Lin, D. Manocha et al., "I-COLLIDE: An Interactive and Exact Collision
Detection System for Large-Scale Environments." pp. 189-196, 218.
[58] T. C. Hudson, M. C. Lin, J. Cohen et al., V-COLLIDE: accelerated collision detection for
VRML, in Proceedings of the second symposium on Virtual reality modeling language,
Monterey, California, United States, 1997, pp. 119-125.
[59] S. A. Ehmann, and M. C. Lin, "Accelerated proximity queries between convex polyhedra
by multi-level Voronoi marching." pp. 2101-2106 vol.3.
80 Bibliografa

[60] S. A. Ehmann, and M. C. Lin, Accurate and Fast Proximity Queries Between Polyhedra
Using Convex Surface Decomposition, COMPUTER GRAPHICS FORUM, vol. 20, pp. C-
500-C-510-C-500-C-510, 2001.
[61] G. Song, S. Thomas, and N. M. Amato, A General Framework for PRM Motion Plan-
ning, Proceedings /, vol. 3, pp. 4445-4450, 2003.
[62] S. Russell, and P. Norvig, Artificial Intelligence: A Modern Approach: Prentice Hall, 2002.
[63] R. Bohlin, and L. E. Kavraki, "Path planning using lazy PRM." pp. 521-528 vol.1.
[64] C. L. Nielsen, and L. E. Kavraki, A two level fuzzy PRM for manipulation planning,
Intelligent Robots and Systems, 2000. (IROS 2000). Proceedings. 2000 IEEE/RSJ Interna-
tional Conference on, vol. 3, pp. 1716-1721 vol.3, 2000.
[65] S. Guang, S. Miller, and N. M. Amato, Customizing PRM roadmaps at query time,
Robotics and Automation, 2001. Proceedings 2001 ICRA. IEEE International Conference
on, vol. 2, pp. 1500-1505 vol.2, 2001.
[66] H. Li, Hybrid probabilistic RoadMap - Monte Carlo motion planning for closed chain
systems with spherical joints, Robotics and Automation, 2004. Proceedings. ICRA '04.
2004 IEEE International Conference on, vol. 1, pp. 920-926 Vol.1, 2004.
[67] D. Hsu, and D. Stanford University. Computer Science, Randomized single-query mo-
tion planning in expansive spaces, 2000.
[68] S. Lavalle, "Rapidly-exploring random trees: A new tool for path planning," Computer
Science Dept. Iowa State University, 1998.
[69] S. M. LaValle, and J. J. Kuffner, Jr., Randomized kinodynamic planning, Robotics and
Automation, 1999. Proceedings. 1999 IEEE International Conference on, vol. 1, pp. 473-
479 vol.1, 1999.
[70] S. M. LaValle, and J. J. Kuffner, "Rapidly-exploring random trees: Progress and pros-
pects," Algorithmic and Computational Robotics: New Directions, pp. 293-308, A K Pe-
ters, Wellesley, MA: In B. R. Donald, K. M. Lynch, and D. Rus, editors, 2001.
[71] J. J. Kuffner, Jr., and S. M. LaValle, RRT-connect: An efficient approach to single-query
path planning, Robotics and Automation, 2000. Proceedings. ICRA '00. IEEE Interna-
tional Conference on, vol. 2, pp. 995-1001 vol.2, 2000.
[72] Y. Kwangjin, and S. Sukkarieh, 3D smooth path planning for a UAV in cluttered natural
environments, Intelligent Robots and Systems, 2008. IROS 2008. IEEE/RSJ International
Conference on, pp. 794-800, 2008.
[73] M. Strandberg, Robot path planning : an object-oriented approach, Automatic Control,
Dept. of Signals, Sensors and Systems, Royal Institute of Technology (KTH), Stockholm,
2004.
[74] Y. Kwangjin, and S. Sukkarieh, Real-time continuous curvature path planning of UAVS
in cluttered environments, Mechatronics and Its Applications, 2008. ISMA 2008. 5th In-
ternational Symposium on, pp. 1-6, 2008.
[75] A. Yershova, L. Jaillet, T. Simeon et al., Dynamic-Domain RRTs: Efficient Exploration
by Controlling the Sampling Domain, Robotics and Automation, 2005. ICRA 2005. Pro-
ceedings of the 2005 IEEE International Conference on, pp. 3856-3861, 2005.
[76] B. David, Comparison of A and RRT-Connect Motion Planning Techniques for Self-
Reconfiguration Planning, Intelligent Robots and Systems, 2006 IEEE/RSJ International
Conference on, pp. 892-897, 2006.
[77] M. Strandberg, Augmenting RRT-planners with local trees, Robotics and Automation,
2004. Proceedings. ICRA '04. 2004 IEEE International Conference on, vol. 4, pp. 3258-3262
Vol.4, 2004.
Bibliografa 81

[78] M. Clifton, G. Paul, N. Kwok et al., Evaluating Performance of Multiple RRTs, Mech-
tronic and Embedded Systems and Applications, 2008. MESA 2008. IEEE/ASME Interna-
tional Conference on, pp. 564-569, 2008.
[79] S. Rodriguez, T. Xinyu, L. Jyh-Ming et al., An obstacle-based rapidly-exploring random
tree, Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEE International
Conference on, pp. 895-900, 2006.
[80] M. Kalisiak, and M. van de Panne, RRT-blossom: RRT with a local flood-fill behavior,
Robotics and Automation, 2006. ICRA 2006. Proceedings 2006 IEEE International Confe-
rence on, pp. 1237-1242, 2006.
[81] D. Ferguson, and A. Stentz, Anytime RRTs, Intelligent Robots and Systems, 2006
IEEE/RSJ International Conference on, pp. 5369-5375, 2006.
[82] S. R. Martin, S. E. Wright, and J. W. Sheppard, Offline and Online Evolutionary Bi-
Directional RRT Algorithms for Efficient Re-Planning in Dynamic Environments, Au-
tomation Science and Engineering, 2007. CASE 2007. IEEE International Conference on,
pp. 1131-1136, 2007.
[83] S. Garrido, D. Blanco, L. Moreno et al., Improving RRT motion trajectories using VFM,
Mechatronics, 2009. ICM 2009. IEEE International Conference on, pp. 1-6, 2009.
[84] E. Plaku, and L. E. Kavraki, Distributed Sampling-Based Roadmap of Trees for Large-
Scale Motion Planning, Robotics and Automation, 2005. ICRA 2005. Proceedings of the
2005 IEEE International Conference on, pp. 3868-3873, 2005.
[85] P.-B. S. a. A. UNC Research Group on Modeling. "V-Collide. Collision Detection for Ar-
bitrary Polygonal Objects " 1998; http://www.cs.unc.edu/~geom/V_COLLIDE/.
[86] M. Reggiani, M. Mazzoli, and S. Caselli, An experimental evaluation of collision detec-
tion packages for robot motion planning, Intelligent Robots and System, 2002. IEEE/RSJ
International Conference on, vol. 3, pp. 2329-2334 vol.3, 2002.
[87] G. van den Bergen, Efficient Collision Detection of Complex Deformable Models using
AABB Trees, Journal of Graphics Tools: JGT, vol. 2, no. 4, pp. 1-14, 1997.
[88] T. R. Kurfess, Robotics and automation handbook, Boca Raton: CRC Press, 2005.
[89] O. M. Ochoa, Software de Orientacin Didctica de Manufactura Experimental CNC ,
Facultad de Ingeniera - Depertamento de Ingeniera Mecnica y Mecatrnica, Universi-
dad Nacional de Colombia, Bogot, 2005.
[90] O. M. Ochoa. "UN Virtual - Curso de Automatizacin de Procesos de Manufactura,"
http://www.virtual.unal.edu.co/cursos/ingenieria/mecatronica/.
Anexos

Anexo 1. Manual del Usuario del AGT.

Anexo 2. Primer Artculo.

Anexo 3. Segundo Artculo.

83
ANEXO 1
Manual del Usuario del AGT.
(Aplicacin de Generacin de Trayectorias Libre de Colisiones para Manipuladores)
AGT
Aplicacin de Generacin de Trayectorias
Libre de Colisiones para Manipuladores

Por: Edwin Francis Crdenas Correa.


Luis Miguel Mndez Moreno.
Jorge Sofrony Esmeral.
Bogot 2009.
Contenido
Generalidades..................................................................................................................................................... 3
Requerimientos del sistema ............................................................................................................................... 4
Instalacin .......................................................................................................................................................... 4
Manual de operacin ......................................................................................................................................... 5
Mapa de Ventanas.......................................................................................................................................... 5
Ventana Principal de AGT ............................................................................................................................... 5
Ventana de Robot ........................................................................................................................................... 6
Parmetros de Robot ..................................................................................................................................... 8
Clculo de una Trayectoria Libre de Colisiones .............................................................................................. 9
Uso de la Realidad Virtual (VR) ..................................................................................................................... 11

2
Generalidades

AGT permite calcular y visualizar la trayectoria de un robot manipulador que se desplaza de una
configuracin inicial a una final evitando colisionar con su entorno.

Este programa computacional fue desarrollado como parte de la tesis de Maestra en Ingeniera -
Automatizacin Industrial, titulada: "Una aplicacin computacional de generacin de trayectorias y evasin
de obstculos para distintos robots manipuladores con anlisis en un sistema real." de la Universidad
Nacional de Colombia; por el Ingeniero: Edwin Francis Crdenas y la asesora de los Ingenieros Docentes:
Luis Miguel Mndez y Jorge Sofrony Esmeral, del Departamento de Ingeniera Mecnica e Ingeniera
Mecatrnica; en Bogot - Colombia.

AGT es de carcter acadmico y muestra la capacidad de los algoritmos basados en Mapas Probabilsticos
para generacin de trayectorias, en especial el RRT-Connect y su variante RRT-Methodic, desarrollada en la
Universidad Nacional de Colombia.

La aplicacin AGT est implementada bajo el entorno de programacin de MATLAB, que en la actualidad es
un lenguaje de fcil entendimiento para estudiantes y profesores de ingeniera. AGT hace uso intensivo de
grficos en 3D, los cuales permiten una visualizar cmo se comporta un robot manipulador en su entorno.

AGT cuenta con modelos en 3D de los robots manipuladores tpicos usados en la industria y en la academia.
Tambin cuenta con una variedad de entornos para que los robots interacten y sean probados cuantas
veces se requiera, sin necesidad de utilizar los robots reales.

La plataforma AGT tambin permite exportar los datos de trayectorias obtenidas en formato .mat de
MATLAB y en formato .xls de Microsoft Excel, los cuales pueden ser usados en anlisis ms exhaustivos o
para probar la trayectoria obtenida directamente en los robots reales.

Los errores que AGT muestra son generalmente por un incorrecto ingreso de los datos de entrada u omisin
de algn paso en el empleo de este programa, por lo que los autores no se hacen responsables de su mal
uso.

Todos los derechos reservados 2009 UNIVERSIDAD NACIONAL DE COLOMBIA.

3
Requerimientos del sistema

AGT fue probado con xito en un computador con:

- Procesador: AMD Athlon 64 X2 Dual-Core 1.80 GHz.


- Memoria RAM: 4.00 GB.
- Memoria Dedicada de Video: 64 MB.
- Chip de video: GeForce 7000M.
- Resolucin de Pantalla: 1280x800 pixeles.
- Sistema operativo: Windows Vista Home Premium.

Se recomienda para la ejecucin de AGT una configuracin igual o superior a la presentada anteriormente, y
aunque la aplicacin AGT se ha ensayado satisfactoriamente en computadores con menores prestaciones, se
advierte que los tiempos de procesamiento pueden ser elevados.

Instalacin

Ejecute el archivo AGT_install.exe, seleccione la carpeta donde se descomprimirn todos los archivos
necesarios y luego presione el botn Install o Instalar.

AGT fue desarrollado sobre MATLAB R2008a, por tanto, se recomienda tener pre-instalado esta versin de
MATLAB o una superior. Aunque el programa AGT solo requiere la Librera Matemtica de MATLAB para el
clculo de trayectorias, para la correcta visualizacin de los entornos en Realidad Virtual (VR), se requiere
que la versin de MATLAB posea SIMULINK con su Toolbox de VR.

En el lugar donde se encuentren los archivos descomprimidos, se conforma automticamente la siguiente


estructura de directorios:

AGT data entornos texture

Robots
Robot
[nombre]
RRT_
Connect

RRT_
Methodic

trayectorias

Robot
[nombre]

4
Manual de operacin

Para ejecutar el programa AGT, primero se realiza doble clic sobre el archivo AGT.m en la carpeta <AGT>,
accin que abre automticamente el entorno MATLAB (Figura 1.). Luego en la ventana de comandos de
MATLAB se suministra por teclado la palabra AGT, en maysculas, y se presiona la tecla ENTER del teclado.

Doble Clic

Figura 1. Acceso al programa AGT

A continuacin se presenta el ambiente de ventanas correspondientes a la aplicacin AGT.

Mapa de Ventanas

Mensajes de
Error y
Advertencia Ventana de
Control de VR

Ventana de Robot
Ventana Principal
AGT
Ventana de
Visualizacin de VR

Archivo de Ayuda Ventanas de carga


de trayectorias y
entorno

Ventana Principal de AGT

Desde esta ventana se controla y se tiene acceso a cualquier ventana de un robot en particular. En la Figura
3 se observa las partes de la Ventana Principal. Para cargar una Ventana de un Robot particular, se
selecciona el robot de la lista (1) y se presiona el botn Cargar (4).

5
1

4 5 6 7

Figura 2. Ventana Principal de AGT.

(1) Lista de seleccin de robot.


(2) Figura del robot seleccionado.
(3) Caractersticas principales del robot seleccionado.
(4) Botn Cargar: Con este botn se carga la Ventana de Robot correspondiente al robot seleccionado.
(5) Informacin de Acerca de
(6) Presenta este documento de ayuda.
(7) Cierra el programa AGT.

Cada vez que se presiona el botn (4) se cierra la Ventana de Robot actual con sus ventanas de VR asociadas
y luego se carga la Ventana de Robot que est seleccionado en (1).

Ventana de Robot

Esta ventana permite controlar un robot manipulador en particular, que fue seleccionado en la Ventana
Principal de AGT. Su funcin principal es el clculo y visualizacin de una trayectoria libre de colisiones.
Tambin se puede verificar si existe colisin entre el robot y su entorno con los botones (3) y (5), segn una
configuracin inicial o final, que es modificable con los paneles (4) y (6); adems, la verificacin visual de lo
ocurrido aparece en el panel (18).

Seguidamente, se presenta en la Figura 3. una Ventana de Robot tpica, con la descripcin funcional de los
botones y paneles que la conforman.

6
1

3
4
5
6

7
8

10

11
12
13

14 15 16 17 18 19 20 21 22 23

Figura 3. Ventana de Robot.

(1) Seleccin del tipo de geometra de Robot.


(2) Botn para cargar el entorno en el que se desenvuelve el robot.
(3) Verifica si la configuracin inicial del robot colisiona con el entorno.
(4) Ajuste de las variables articulares iniciales. (Angulo en GRAD para articulaciones rotacionales y
longitud en mm. para articulaciones prismticas).
(5) Verifica si la configuracin final del robot colisiona con el entorno.
(6) Ajuste de las variables articulares finales. (Angulo en GRAD para articulaciones rotacionales y
longitud en mm. para articulaciones prismticas).
(7) Seleccin del algoritmo a usar para calcular la trayectoria. RRT_Connect es ms apto para la
mayora de entornos utilizando un Paso grande. RRT_Methodic sirve para entornos complejos
utilizando un Paso pequeo, lo que generalmente hace que el tiempo de procesamiento sea mayor.
(8) Numero de iteraciones. Como el algoritmo RRT utiliza la aleatoriedad para bsqueda de una ruta
entre la configuracin inicial y final, entre mayor sea el numero de iteraciones mejor ser el
desempeo para encontrar una ruta en entornos complicados o cuando solo existe una solucin de
movimientos para el robot. El valor prefijado es 2000 iteraciones.
(9) Ancho o paso de bsqueda. Es la distancia entre una configuracin y otra en el espacio de
configuracin (para comprender su significado debe remitirse a documentacin especializada en
algoritmos RRT). Entre ms pequeo sea el paso ms corta ser la trayectoria encontrada en
longitud y amplitud de movimientos del robot; pero el tiempo de procesamiento se incrementa
sustancialmente. Si el Paso es muy grande en entornos complicados se corre el riesgo de no
encontrar una trayectoria libre de colisiones, an con un gran nmero de iteraciones posibles.

7
(10) Es el panel de resultados que muestra el tiempo en segundos gastados en procesamiento, pos-
procesamiento y el nmero de iteraciones empleadas para encontrar una trayectoria libre de
colisiones o hasta donde el usuario cancele la operacin de bsqueda.
(11) Con este botn se visualiza en el panel (18) la trayectoria calculada o cargada con el botn (17).
(12) Con este botn se almacena la ruta actual (calculada o cargada) en un archivo .mat dentro de la
carpeta <trayectorias> del directorio del robot actual cargado.
(13) Con este botn se almacena la ruta actual (calculada o cargada) en un archivo .xls dentro de la
carpeta <trayectorias> del directorio del robot actual cargado.
(14) Con este botn se calcula, si es posible, una trayectoria libre de colisiones tal como la suministra
uno de los algoritmos RRT seleccionado.
(15) Con este botn se calcula, si es posible, una trayectoria libre de colisiones tal como la suministra
uno de los algoritmos RRT seleccionado y luego se realiza el pos-procesado, el cual genera una ruta
suave desde la configuracin inicial a configuracin final.
(16) Con este botn se carga una de las trayectorias guardadas anteriormente desde la carpeta
<trayectorias> del directorio del robot actual seleccionado.
(17) Este botn permite cargar la Ventana de Control VR y la Ventana de Visualizacin de VR.
(18) Panel de visualizacin del robot en 3D.
(19) Reset Cmara. Restablece el punto de vista por defecto del panel (18).
(20) Iluminacin. Conmuta la visualizacin del robot en 3D como caras de color slido (flat) o con
iluminacin de facetas. La diferencia se percibe cuando se visualiza una trayectoria ejecutada con el
botn (11).
(21) Arrastrar. Permite arrastrar el contenido del panel (18) para una mejor visualizacin, utilizando el
botn primario del mouse sobre el panel (18).
(22) Rotar. Permite rotar el punto de vista del contenido del panel (18), utilizando el botn primario del
mouse sobre el panel (18).
(23) Zoom. Permite acercar o alejar el punto de vista, utilizando el botn primario del mouse sobre el
panel (18).

Parmetros de Robot

La ubicacin de los eslabones de un robot en el espacio est determinada por las variables articulares
(cinemtica directa), una variable articular es giro medido en GRAD para articulaciones rotacionales y en
milmetros para articulaciones prismticas. En los paneles (4) y (6) de la Ventana de Robot se denominan
con la letra q a las variables articulares, las cuales se enumeran en orden desde la base del robot hasta el
efector final. Por ejemplo en la Figura 4a. para el robot tipo Scara: Joint 1, Joint 2, Joint 3 y Joint 4
corresponden a los valores editables q1, q2, q3 y q4 en los paneles (4) y (6) de la Ventana de Robot. Los
valores cero de cada articulacin se presentan de manera visual en el panel (18) cuando se selecciona un
tipo de robot con el botn (1) o al cargar un entorno con el botn (2) en la misma Ventana de Robot.

Para mayor informacin, en la carpeta <data> se encuentran las hojas de especificaciones en formato pdf de
de los diferentes robots disponibles en el programa AGT.

8
L2 L3
z1 z2
q1 q2
x1 x2 x3
z3 q3
L1
z0 q4 x4
z4
x0

(a) Designacin de variables articulares (b) Marcos de referencia

Figura 4. Parmetros de un Robot tipo Scara.

AGT calcula la cinemtica directa para cada robot usando una matriz de parmetros de Denavit-Hartenberg
(D-H), la cual es una tcnica comnmente empleada en la robtica para la seleccin de marcos de referencia
articulares. En la Figura 4b. se presentan los marcos de referencia para un robot tipo scara y en la Tabla 1. se
aprecia la tabla D-H para el mismo robot. Esta tabla es tan solo informativa y el usuario no requiere realizar
ajuste alguno sobre ella en el AGT.

Otra manera de observar el efecto de los parmetros de un robot en particular, es haciendo uso de la
Ventana de Visualizacin de VR y la Ventana de Control de VR, las cuales permiten un control interactivo de
las variables articulares. En esta versin de AGT el usuario no tiene control sobre el marco de referencia de
la base y por tanto un robot se mantiene en el mismo lugar con su base en el origen de coordenadas del
sistema de referencia absoluto, tal como se plantea en la Figura 4b.

Eslabn a d
1 0 0 L1 q1
2 L2 0 0 q2
3 L3 pi 0 0
4 0 0 q3 q4

Tabla 1. Matriz D-H de un Robot tipo Scara.

Clculo de una Trayectoria Libre de Colisiones

Desde la Ventana de Robot siga el siguiente procedimiento:

a. Cargar un entorno prediseado de la carpeta <entornos> con el botn (2). Al realizar esta accin, se
ajustan automticamente el tipo de robot mostrado en (1), adems, los valores de configuracin
inicial y final de los paneles (4) y (6); Estos valores pueden ser modificados, pero deben verificarse

9
que no exista colisin entre el robot y el entorno con los botones (3) y (5). Si el entorno es muy
grande, la visualizacin de este entorno en el panel (18) tardar unos segundos. Advertencia: Los
entornos siempre tienen la extensin .ent y solo se pueden elegir aquellos que se encuentran en la
carpeta <entornos> del correspondiente directorio del robot actual.
b. Seleccione un tipo de algoritmo del panel (7). Generalmente se utiliza el algoritmo RRT_Connect
para la mayora de las aplicaciones.
c. Verifique un suficiente nmero de iteraciones disponibles en (8). El valor prefijado de 2000
iteraciones es generalmente suficiente para la mayora de las situaciones.
d. Verifique un Ancho o Paso de Bsqueda en (9) adecuado segn las siguientes recomendaciones: Un
paso grande genera movimientos amplios de las articulaciones del robot en la trayectoria
resultante generada, invariablemente el tiempo de clculo es ms rpido para entornos con pocos
obstculos. Un Paso corto produce mayor tiempo de procesamiento, pues la bsqueda de una
trayectoria se realiza de forma exhaustiva con cientos o miles de posibles configuraciones del
robot, las cuales se verifican por el algoritmo seleccionado; adems, un paso de bsqueda muy
pequeo requiere un nmero de iteraciones mayor. Para entornos intrincados, es decir, que las
articulaciones del robot deben moverse varias veces o en el caso que existe unas pocas secuencias
de movimientos de los eslabones del robot, para pasar de una configuracin inicial a una final, el
paso de bsqueda debe ser pequeo, de lo contrario nunca el algoritmo nunca encontrar una
trayectoria que cumpla las restricciones. Se puede siempre usar pequeo para cualquier entorno,
pero esto implica mayor tiempo en el clculo de trayectorias las cuales se pueden obtener ms
rpido con el paso definido por defecto.
e. Ejecute el clculo de trayectoria usando el botn (14) o (15). Con el Botn (14) la trayectoria que se
encuentra es el resultado directo de aplicar algoritmo seleccionado; generalmente esta trayectoria
es intrincada y su visualizacin o estudio es meramente acadmico por su complejidad de
movimientos del robot; en aplicaciones reales no se utiliza porque es muy poco prctica. Se
recomienda siempre el uso del botn (15), el cual realiza la funcin del botn (14) y se luego
ejecuta un pos-procesado que calcula una trayectoria lo ms suave posible entre las
configuraciones inicial y final.
f. Espere que se termine el procesado o pos-procesado. En caso de recibir un anuncio de no hay
resultado se puede intentar nuevamente el clculo de la trayectoria usando un mayor nmero de
iteraciones, reduciendo el paso de bsqueda un poco, o ambos ajustes al mismo tiempo.
g. Una vez culminado el procesado o pos-procesado, puede visualizar la trayectoria obtenida usando
el botn (11), en el panel (18) se observar el movimiento del robot. Use el botn (20) para
modificar la iluminacin y los botones (21), (22) y (23) para cambiar el modo de de visualizacin.
Tambin se puede acceder a estas funciones realizando un clic derecho del mouse sobre el panel
(18). Los resultados de tiempo y nmero de iteraciones empleadas se visualizan en el panel (10).
h. Si desea guardar la trayectoria obtenida en un archivo .mat o .xls, utilice los botones (12) y (13)
respectivamente. Las trayectorias se almacenarn siempre en la carpeta <trayectorias> del
directorio del robot actual.

10
Uso de la Realidad Virtual (VR)

Con el botn (17) de la ventana de Robot, se cargan la Ventana de Visualizacin de VR y la Ventana de


Control de VR que se aprecian en la Figura 6.

La Ventana de Control de VR, como su nombre lo indica, controla al robot en 3D que se presenta en la
Ventana de Visualizacin de VR. El robot y su entorno son cargados desde la carpeta <entornos> del
directorio actual del robot, correspondiente a un archivo .wrl que tiene el mismo nombre del entorno
seleccionado con el botn (2) de la Ventana de Robot.

Figura 6. Ventana de Visualizacin de VR (izquierda) y Ventana de Control de VR (derecha).

Con los controles deslizantes de la Ventana de Control de VR, se puede modificar de forma interactiva los
movimientos del robot presentado en la Ventana de Visualizacin de VR. Tambin se cuenta con los botones
Normal, Inicial y Final, que muestran las distintas configuraciones del robot tal como se cargaron con
el botn (2) de la ventana de Robot. El botn Observar Trayectoria permite contemplar en la Ventana de
Visualizacin de VR, como el robot se mueve con la trayectoria calculada o cargada desde la Ventana de
Robot.

La Ventana de Visualizacin de VR es una aplicacin propia de MATLAB denominada Virtual Reality


Toolbox Viewer, y el archivo de ayuda para su utilizacin se puede observar accediendo al men help o
al botn azul con el smbolo interrogacin en la parte inferior derecha de la misma ventana.

Cada vez que se cargue un nuevo entorno con el botn (2) desde la ventana de Robot, se debe cerrar La
Ventana de Visualizacin de VR y presionar el botn (17) de la ventana de Robot para actualizar el archivo
.wrl y as mostrar el nuevo entorno en VR.

11
ANEXO 2
Primer Artculo.
(Mtodos para Generar Trayectorias Libres de Colisiones en
Entornos Multi-Dimensionales)
Mtodos para Generar Trayectorias Libres de Colisiones en
Entornos Multi-Dimensionales

Edwin Francis Crdenas Correa1, Luis Miguel Mendez Moreno2, Jorge Sofrony Esmeral3

Resumen ches are tested and evaluated using illustrative exam-


ples, highlighting the most significant conclusions from
Planear los movimientos de un robot de forma fiable,
simulations and doing an in depth the analysis of spe-
sin que colisione con su entorno, se ha convertido en
cialized texts.
un problema relevante en la ltima dcada para la ro-
btica. La idea central de este artculo es exponer dos Keywords: Robotics, path planning, collision avoidan-
de los principales mtodos que permiten generar las
ce, multidimensional systems.
trayectorias libre de colisiones en cualquier entorno n-
dimensional, la importancia de su conocimiento radica 1. Introduccin
en el auge de nuevas aplicaciones en diferentes reas
En las dcadas de 1980 y 1990, la popularizacin de
de la ciencia y del entretenimiento, adems de la robti-
los robots y sus mltiples usos en la industria, hicie-
ca, basndose en los algoritmos detrs de estos mto-
ron que los investigadores y programadores se dedica-
dos. Tambin se presentan las conclusiones ms des-
ran a resolver el problema de concebir trayectorias libre
tacadas en virtud a simulaciones desarrolladas y con
de colisiones entre los robots y su entorno (Goldman,
respecto a los aspectos tericos expresados en otros
1990). Una de las metas de la robtica es desarrollar
textos.
sistemas autnomos y lo que para el hombre parece f-

Palabras clave: Robtica, generacin de trayectorias, cil e intuitivo, desplazarse de un sitio a otro o manipular
objetos, no es una labor tan sencilla para las mquinas.
evasin de obstculos, sistemas multidimensionales.
Una primera aproximacin a los mtodos de planifi-
Abstract cacin de caminos, fue realizada por Lozano-Prez (Lo-
Planning collision free motions of a robot has beco- zano, 1981). Desde hace ms de una dcada, despus
me a significant problem in the past decade. This paper de la aparicin libro de Jean-Claude Latombe (Latombe,
present two methods used to generate collision free tra- 1991), un buen nmero de publicaciones y artculos en
jectories in any n-dimensional spaces. These methods conferencias han abordado el tema de generacin de
are of importance in actuality as it aids in the develop- trayectorias sin colisiones. Pocos libros como el de Ho-
ment of new applications in different areas of science wie Choset (Choset, 2005), han cerrado la brecha entre
and entertainment, as well in robotics. The two approa- los conceptos fundamentales y los recientes progresos
1 Ingeniero Electromecnico, Universidad Nacional de Colombia, tericos y prcticos.
Colombia, Maestra en Ingeniera. ecardenasc@unal.edu.co
2 Ingeniero Mecnico, M.Sc., Profesor asistente, Universidad Na- El advenimiento de mayores velocidades en el pro-
cional de Colombia. lmmendezm@unal.edu.co cesamiento de cmputo, han permitido que estos m-
3 Ingeniero Elctrico, Ph.D., Profesor asistente, Universidad Nacio-

nal de Colombia. jsofronye@unal.edu.co todos de planificacin de caminos hagan parte de in-


1
novadoras aplicaciones prcticas, como es el caso de 360

la ciruga robotizada (Sim, 2001)(Goo, 2005), la ani-


macin en 3D (Kuffner, 1998)(Wenhu, 2007), pelcu-
las con actores virtuales, el desarrollo de videojuegos 180

(Funge, 2004), el uso de robots asistentes en museos y


hospitales (Maio, 1995), en la qumica realizando el mo-
0
delamiento de cadenas moleculares (Kirillova, 2008), y 0 180 360 2

(a) (b)
en la exploracin de otros mundos empleando robots
mviles (Bresina, 2005)(Carsten, 2009). Figura 1: (a) Trayectoria para un manipulador de dos ar-
ticulaciones a travs del Espacio de Trabajo. (b) Trayec-
El problema de generacion de trayectorias intrinca- toria en el Espacio de Configuracin (Goldberg, 2009).
das es una labor compleja incluso para los humanos.
La forma clsica de demostrarlo es con el Piano Mo- sibles configuraciones cinematicas de un robot (Spong,
vers Problem, donde se plantea trasladar un piano des- 2006). Una configuracin q de un robot define la posi-
de una habitacin a otra sin provocar choques con los cin de este W en virtud de la denominada cinematica
objetos del entorno. El problema se complica al tratar directa.
de manipular el piano en el espacio, lo que involucra un La representacin del espacio de configuracin per-
aumento en los grados de libertad (GDL) contemplados. mite establecer al robot como un objeto puntual dentro
Por ejemplo, es posible que la nica forma de atravesar de un espacio n-dimensional, con lo cual, se puede tra-

la puerta sea rotando el piano 90 alrededor de su eje zar una trayectoria continua libre de colisiones desde
horizontal. una configuracin inicial (start) hasta una final (goal).

Existe un gran nmero de mtodos de origen geom- Para el caso de un robot planar articulado de dos gra-

trico para resolver el problema bsico de planeamiento dos de libertad (GDL), Q corresponde a los valores que

de caminos, y desde (Latombe, 1991) se han destaca- toman cada una de las dos articulaciones del robot,

do tres mtodos: Campos Potenciales Artificiales (Po- donde Q R2 y la trayectoria se calcula en un espa-

tential Functions), Mapas de Carreteras (Roadmaps) y cio bi-dimensional (Figura 1). Si un robot tiene 6 GDL,

Descomposicin de Celdas (Cell Decompositions). En la bsqueda de una trayectoria sin colisiones se puede

la ltima dcada se han desarrollado una nueva meto- realizar dentro de Q R6 .

dologia denominada Mapas Probabilsticos (Probabilis- Se dice que un objeto tiene n grados de libertad, si su
tic Roadmaps) (Choset, 2005). No obstante, para en- configuracin puede ser especificada de forma mnima
tornos complejos con un elevado numero de grados de con n parmetros. As pues, el nmero de GDL es igual
libertad, o restricciones cinemticas, los mtodos men- a la dimensin de Q (Spong, 2006).
cionados pueden presentar limitaciones en cuanto al En las siguientes secciones II y III se exhiben los prin-
tiempo de computo necesario y el exito en la genera- cipios que rigen los dos principales mtodos de genera-
cion de trayectorias. Los algoritmos de generacin de cin de trayectorias (Campos Potenciales y Mapas Pro-
trayectorias se define en espacios denominados Espa- babilsticos), dentro de entornos multi-dimensionales;
cio de Trabajo W y Espacio de Configuracin Q. W es Debido a que la mayora de estrategias tradicionales,
el entorno o lugar geomtrico de donde interacta el ro- como Descomposicin de Celdas y Roadmaps, se tor-
bot en forma real con su entorno (espacio cartesiano); nan imprcticas (Choset, 2005), y solo aseguraran una
el espacio Q se define como el conjunto de todas las po- trayectoria libre de colisiones para el efector final. Por

2
ltimo, se presentan las conclusiones y prospectivas en de evitar estos inconvenientes es reduciendo la fuerza
la seccin IV. atractiva cuando q este se acerca a qgoal ; se puede es-
tablecer un potencial de forma parablico. El pozo pa-
2. Campos Potenciales Artificiales rabolico esta dado por

El mtodo de Campos Potenciales fue descrito pri-


Uatt (q) = 12 d2 (q, qgoal )
mero por (Khatib, 1985) para aplicaciones de evasin
de colisiones de forma on-line usando robots mviles Sin embargo, el potencial parabolico tiene el problema
con sensores de proximidad, (Choset, 2005) y (Spong, de ejercer fuerzas atractivas muy altas para grandes
2006). d(q, qgoal ). Al combinar los potenciales lineales y cua-
La filosofia de este metodo es concebir el robot co- drticos, se establece un potencial atractivo conjugado
mo una partcula elctrica la cual es atrada hacia su que aprovecah las mejores caracteristicas de cada tipo
configuracin final qgoal mediante un Potencial Atracti- de esquema de tal forma que
vo Uatt . Al mismo tiempo, la particula es repelida por

1
d2 (q, qgoal )

2
los obstculos mediante un Potencial Repulsivo propio



cuando : d(q, qgoal ) dgoal
Urep . El Campo Potencial resultante es la adicin de es-
Uatt (q) =
tos dos componentes
2



dgoal d(q, qgoal ) 12 dgoal


cuando : d(q, q
goal ) > dgoal
U (q) = Uatt (q) + Urep (q)

Definiendo dgoal como la distrancia donde se efectua la


El movimiento de la particula puede ser tratado co-
transicin entre las porciones lineales y cuadrticas, el
mo un problema de optimizacin donde existe un m-
gradiente indica la direccin del campo atractivo segun
nimo global qgoal , empezando desde una configuracin la expresin
qstart ; este problema puede abordarse mediante el m-

(q qgoal )
todo del descenso del gradiente.




cuando : d(q, qgoal ) dgoal

2.1. Potencial Atractivo Uatt (q) =

d

goal (qqgoal )
Existen varios criterios para seleccionar un campo
d(q,qgoal )



potencial atractivo, sin embargo la definicin de mayor cuando : d(q, qgoal ) > dgoal
aceptacin es que Uatt incremente segun la distancia
desde qgoal . Inicialmente la intensidad del campo puede
variar linealmente con la distancia, lo cual conformara
2.2. Potencial Repulsivo
un potencial de forma cnica (conic well) dado por

Uatt (q) = d(q, qgoal ) El objeto del potencial repulsivo es mantener al robot
apartado de un obstculo. La magnitud de la fuerza del
Se define d(q, qgoal ) como la distancia euclidiana entre campo debe aumentar con la proximidad al obstculo.
una configuracin q y la configuracin final qgoal ; es Por tanto el potencial repulsivo es definido en trminos
el parmetro usado para escalar el efecto atractivo del
de la distancia mas corta di (q) a un obstculo QOi . La
potencial. Los pozos conicos tiene problemas de estabi-
Figura 2 muestra a di (q) medida desde co , que es el
lidad debido a que el gradiente de este potencial es un
punto ms cercano al obstculo QOi , y cuyo gradiente
valor constante, excepto para qgoal , donde se presenta
es
discontinuidad en su derivada. Adems, las velocida- q co
des de aproximacin cerca a qgoal son altas. Un modo di (q) =
d(q, co )
3
Para evitar colisines con el obstculo QOi , el campo
potencial debe producir un efecto repulsivo asinttico en
las cercanas del obstculo, campo que puede ser ex- QOi

presado de forma cuadrtica en virtud de la distancia co


di (q)
di (q) asi
2
1 1
Urepi (q) = 2 di (q) di (q)
q
Como no es necesario que un obstculo ejerza una
fuerza de repulsin sobre todo el espacio, sino solo en
Figura 2: Distancia ms corta a un obstculo QOi , en
una vecindad, debe definirse una distancia mnima Qi
direccin del gradiente de di (q) (Choset, 2005)
desde el obstculo, en donde empieza a sentirse la in-
fluencia de su campo. Una representacin de este efec-
to repulsivo sobre un obstculo circular se puede apre-
ciar en la Figura 3. La formulacin de la funcin poten-
Obstacle
cial de repulsin en virtud de la presencia un obstculo
i es Q*
2
1
1
1
, di (q) Qi
2 di (q) Q
Urepi (q) = i
0, di (q) > Qi

Su gradiente es Figura 3: Representacin del campo repulsivo de un


obstculo QOi (Choset, 2005).
U i (q) =
rep
2
1
1 1
di (q), di (q) Qi
di (q) Qi d2
i (q)
0, di (q) > Qi uno de estos puntos. Con la determinacin del efecto
sobre los puntos de control, se realiza un mapeo de
Qi R es un umbral que permite al robot ignorar un las fuerzas actuantes desde el espacio de trabajo al es-
obstculo que se encuentran los suficientemente lejos, pacio de configuracin y posteriormente se calcula una
y , a similitud de para el potencial atractivo, puede ser sumatoria de fuerzas en Q para obtener el efecto com-
visto como la ganancia en el gradiente repulsivo. Estos binado sobre todo el robot, el cual ahora si puede ser
escalares son generalmente determinados por ensayo representado como un punto. Definimos a x y q como
y error. Finalmente el campo repulsivo actuante debido
los vectores que representan un punto en W y Q res-
a todos los obstculos es
pectivamente, donde x se relaciona con q por las ecua-
n
X
Urep (q) = Urepi (q) ciones de la cinemtica directa x = (q). Tambin se
i=1 puede establecer f y u como las fuerzas generalizadas

El potencial repulsivo depende de la magnitud de di (q) que actan en W y Q respectivamente, donde u acta

sobre una configuracin en particular del robot. El prin- sobre q y f sobre x. Usando el principio de trabajo vir-

cipal inconveniete es que un eslabon es un cuerpo ri- tual, el cual esencialmente dice que el trabajo realizado

gido el cual no puede ser tratado como un punto; una es independiente del marco de coordenadas, se puede

alternativa expuesta en la gran mayora de textos es- formalizar una relacin entre f y u tal como se describe

pecializados es seleccionar un subconjunto de puntos en (Choset, 2005) de la siguiente forma:

pertenecientes al robot, denominados Puntos de Con-


u(q) = J T f (x) (1)
trol (rj ) y luego se define un potencial Uj para cada

4
Donde J es el jacobiano de la cinemtica directa de x Descenso del Gradiente
1 q(0) qstart
en virtud de q as:
2 i0
3 while kU (q(i))k > do
(q)
J(q) = 4 q(i + 1) q(i) + (i)U (q(i));
q 5 ii+1
6 end while
Usando la relacin (1) se logra convertir las fuerzas in-
dividuales del espacio de trabajo a fuerzas dentro del Figura 4: Algoritmo del Descenso del Gradiente
espacio de configuracin (torques para articulaciones
rotacionales y fuerzas para articulaciones prismticas). se aprecia en la Figura 4. La variable q(i) es el valor de
Como resultado, es posible sumar los efectos del cam- q en la isima iteracin; la solucion consiste de una se-
po potencial sobre cada punto de control rj en Q. cuencia de configuraciones {q(0), q(1), q(2), , q(i)}.

El total de todas las fuerzas actuantes en Q sobre el El valor escalar (i) debe ser lo suficientemente peque-
robot, es la suma de las fuerzas atractivas y repulsivas o para que el robot no se salte obstculos. Es impro-

en Q sobre todos los puntos de control, i.e., bable que el gradiente llegue a ser exactamente cero,

X X por tal razn se establece la tolerancia como un valor


U (q) = Uattj + Urepij suficientemente pequeo segn los requerimientos de
j ij
X X (2) operacin.
U (q) = JjT (q)Uattj (q) + JjT (q)Urepij
j ij
La Figura 5 esboza grficamente el mtodo de cam-
pos potenciales para generar trayectorias, donde en (a)
El trmino Jj (q) es la matriz jacobiana para cada punto se presenta un Q en dos dimensiones con dos obstcu-
de control rj . Es razonable que existan mayor o igual los; se estipula la condicin inicial qstart y final qgoal del
cantidad de puntos de control que el nmero de grados robot. En (b) y (c) se reproducen los efectos de atrac-
de libertad. En caso de un robot con articulaciones rota- cin y repulsin. En (d) se presenta el efecto combina-
cionales, los puntos de control pueden ser ubicados en do de (b) y (c) donde el robot esta inmerso dentro del
los marcos de referencia articulares (Craig, 1989). campo potencial artificial y se trata como una partcu-
Una vez obtenido el efecto del campo potencial arti- la cargada. En (e) se aprecia al campo potencial como
ficial sobre el robot en un momento dado, es necesario curvas de nivel, en donde se establece la ruta optima
obtener la siguiente configuracin; esto se puede lograr de qstart a qgoal . Finalmente (f) ilustra las lneas de ten-
con el mtodo del descenso del gradiente, el cual es un dencia del campo potencial combinado, destacndose
metodo comunmente utilizado para resolver problemas el mnimo global. Para el correcto funcionamiento del
de optimizacin. La direccion de las fuerzas resultantes mtodo de Campos Potenciales Artificiales, es impor-
del campo potencial esta dada por la velocidades de tante determinar el potencial repulsivo segun el clculo
descenso, colina abajo, hacia un estado mnimo. de la distancia di (q). En el caso de un W en 2D, la
La idea del algoritmo del descenso del gradiente es distancia mnima a un obstculo se puede determinar
simple: se empieza desde una configuracin inicial, lue- definiendo poligonos convexos, tal como se explica en
go se toma un pequeo paso en direccin del gradien- (Ericson, 2005). Entre las diferentes estrategias para el
te negativo, lo cual nos da como resultado una nueva clculo de di (q) para W en 3D, el Algoritmo GJK, utili-
configuracin; este proceso se repite hasta que el gra- zado para deteccion de colisiones ((Ericson, 2005),(Ber-
diente sea cero. La definicin de este algoritmo para la gen, 2004)), es el preferido en la robtica. El algoritmo
implementacin en plicaciones de campos potenciales GJK (Ericson, 2004) fue establecido por Gilbert, John-

5
W free

qgoal

WO 2

qstart r4 r1 WO 1 goal

(a) (b)
r3 r2 start

(a)

(c) (d)

qgoal

qstart
(b)
(e) (f)
Figura 6: Ejemplo de generacin de trayectoria con
Figura 5: Representacin del mtodo de Campos Po- campos potenciales para un robot mvil rectangular. (a)
tenciales Artificiales (Latombe, 1991). Estados inicial y final en el espacio de trabajo (b) Des-
plazamiento del robot en su entorno

son y Keerthi (Gilbert, 1988) en 1988 y se basa en la


operacin de Minkowski (Ericson, 2005) para politopos Seguidamente se determinan las expresiones mate-

convexos. mticas correspondientes a los jacobianos de la cine-

Cuando la representacin de los obstculos no es matica directa (1) de cada rj . El problema se incializa

exigente en sus fronteras, estos se pueden reemplaz- estipulando las configuraciones inicial qstart y final qgoal

ra por geometras sencillas (primitivas) para el clculo y definiendo los obstaculos segun su geometra en W .

de la distancia mnima (e.g. usando el centro de una Determinar el gradiente del potencial atractivo total re-

esfera o el eje de simetra de un cilindro). quiere del clculo de distancias euclideanas d(rj , qgoal )
mediante la cinemtica directa, para posteriormente su-
2.3. Ejemplos
mar el efecto sobre de cada punto de control.
A continuacin se aplicara el mtodo del decenso del Obtener el gradiente del potencial repulsivo total in-
gradiente para un cuerpo solido (i.e. robot movil) y pro- volucra calcular, para cada rj , la influencia que tiene
cederemos luego con un ejemplo para un robot articu- cada obstculo i sobre l. Esta circunstancia hace que
lado. si existen n obstculos y m puntos de control, se debe
Estableciendo un cuerpo slido, tal como el robot m- calcular nm veces la expresin del campo repulsivo. A
vil rectangular de la Figura 6(a), se eligen los puntos de su vez se ha de determinar cul es la distancia mnima
control rj en sus vrtices. El espacio de configuracin di (q) y su direccin di (q) desde cada rj a cada obs-
tridimensional est determinado por la posicion (x, y) tculo i dentro del espacio de trabajo. La eficiencia del
del centroide y el ngulo que indica la orientacin; mtodo depende en gran medida de la rutina compu-
es decir, en cualquier instante el robot tiene una con- tacional que permite el clculo de di (q), lo cual debe
figuracin q(x, y, ) la cual es necesaria para trazar la realizarse n m veces. En cada iteracin del Algorit-
cinemtica directa de cada rj respecto al marco de re- mo del Descenso del Gradiente se calcula el total del
ferencia. campo potencial y se obtiene por resultado una nueva

6
R(q) Condicin Final

E1
r1 r2

Obstculo 1
Obstculo 2

P2 P3

WOi Condicin Inicial


P1

(a) Estado inicial y final


Figura 7: Designacin de un nuevo punto de control
E1 debido a inadvertencia de un obstculo debido a su
geometra (Choset, 2005).

configuracin q del robot para utilizarse en la siguiente


iteracin. El parmetro debe ser pequeo para que la
trayectoria generada permita la evasin de obstculos.
El tamao de se ajusta de tal manera que el robot no
pase por alto el obstculo ms pequeo. (b) Estados intermedios debidos al campo potencial artificial

Para asegurar que los lmites del robot entre cada rj


no colisionen con un obstculo, es indispensable que
amplifique el campo potencial repulsivo. Para el caso
de la simulacin observada en la Figura 6(b), = 20
mientras que = 1.
Cabe anotar que escoger puntos de control muy ale-
jados uno respecto del otro, hace que exista la posibi-
lidad de no percibir algunos obstculos, esto debido a: (c) Generacin de la trayectoria libre de colisiones

(i) un dgoal muy pequeo o (ii) a la geometra del obs-


Figura 8: Comportamiento de Robot planar redundante
tculo (ver Figura 7). Si se presenta esta situacion se de tres eslabones sometido a campos potenciales
recomienda adicionar un nuevo punto de control en me-
dio de los dos puntos existentes. Dos efectos peculiares te, la diferencia radica en la ubicacin de los puntos de
se detectaron con las simulaciones. Como primera me- control, los cuales se pueden localizar en los ejes articu-
dida, se presentan vibraciones cuando el robot intenta lares y en el efector final, con la advertencia de agregar
sobrepasar un obstculo, el cual est cerca a una situa- nuevos puntos de control para evitar la inadvertencia de
cin de un mnimo local. Esto es debido a un paso obstculos debido a geometras irregulares. Se puede
grande, lo cual es una consecuencia directa de la estra- controlar la agilidad de los algoritmos implementados,
tgica del descenso del gradiente. Por otra parte, el ro- restringiendo los efectos repulsivos en aquellas articu-
bot no llega exactamente a la posicin de meta, pues el laciones que se determinan de antemano nunca van a
algoritmo del descenso del gradiente no acaba cuando colisionar con ciertos obstculos. En la Figura 8 se pre-
U (q(i)) = 0. Para evitar efectos indeseados se sugiere sentan los resultados de aplicar el mtodo de Campos
realizar un posprocesamiento para afinar la trayectoria Potenciales Artificiales a un robot planar de tres eslabo-
resultante. nes y tres articulaciones rotacionales.
Para el caso de un robot articulado la metodologa Las simulaciones con robots articulados redundantes
que se aplica es la misma que se expuso anteriormen- han demostrado que aunque se presentan mnimos lo-

7
cales para un punto de control en particular, el efecto Q free
start

combinado del campo atractivo y repulsivo en los res-


QO i
tantes puntos de control, hacen que se pueda escapar
QO i
de esa condicin de atascamiento, y aunque usualmen-
te se requieren un nmero grande de iteraciones, al em- enlace
nodo goal

plear un algoritmo de posprocesado se consigue afinar (a) (b)

fcilmente la trayectoria resultante. Figura 9: Generalizacin del funcionamiento de los al-


Los alcances que ha tenido este mtodo para generar goritmos PRM en un entorno bidimensional (a) Road-
map compuesto de nodos y enlaces. (b) Adicin de los
trayectorias han sido expuestos desde (Hwang, 1992),
puntos inicial y final, junto con la ruta ms corta gene-
pasando por aplicaciones en robtica mvil espuestas rada sobre el Roadmap.
en (Park, 2001) y (Shi, 2006), hasta su aplicacin a ma-
nipuladores altamente redundantes. (Conkur, 2005) q" q"
6 7 7
q' 5 q' 6 3
3. Mapas Probabilsticos 1 2 3 4
4 2 5 1

obstculo obstculo

Los Mapas Probabilsticos (PRM), desde sus inicios,


(a) (b)
han demostrado un tremendo potencial para solucionar
Figura 10: Diferentes estrategias para validar un enlace
el problema de encontrar una ruta libre de colisiones en
entre dos configuraciones. (a) Incremental: el algoritmo
entornos multi-dimensionales (Kavraki, 1996). retorna fallido despus de cinco verificaciones de co-
lisin. (b) Subdivisin: el algoritmo retorna fallido des-
La idea central del PRM es distribuir un conjunto de
pus de tres verificaciones de colisin. Imagen tomada
puntos (nodos) de manera aleatoria dentro del espa- de Choset (Choset, 2005)
cio de configuracin libre de colisiones, Qf ree . Poste- .

riormente, con un planificador local, se establecen las


conexiones (enlaces) entre nodos y se descartan aque- exhibe un mejor desempeo (Sanchez, 2002), tal como
llas que produzcan colisin dentro de W . Al conjunto de se aprecia en la Figura 10. El costo computacional pa-
nodos y enlaces se le denomina Roadmap. La configu- ra los algoritmos PRM es determinado por el nmero
racin inicial qstart se agrega al Roadmap mediante un veces que se invoque el algoritmo de deteccin de coli-
enlace libre de colisiones hasta el nodo ms cercano; sines. Una mejora para los PRM es posponer la opera-
se hace lo mismo con qgoal . Luego se traza una trayec- cin de verificacion de colisin para cuando realmente
toria entre qstart y qgoal , utilizando algoritmos como A se requiera. Por ejemplo, el algoritmo Lazy PRM (Boh-
o el Algoritmo de Dijkstra, para encontrar la ruta ms lin, 2000), asume que todos los puntos y enlaces per-
corta desde qstart a qgoal (Figura 9). Un enlace entre tenecen a Qf ree , despus se calcula la ruta ms corta
nodos es una lnea recta compuesta por puntos, que de qstart a qgoal , y se verifican las colisiones. Si se de-
representan una sucesin de configuraciones del robot tecta una colisin, se elimina el nodo y/o enlace, luego
en el espacio de trabajo, las cuales no deben presentar se vuelva a calcular la ruta ms corta. De forma similar
un choque con el entorno para que este enlace sea vli- Fuzzy PRM (Nielsen, 2000) posterga la validacin de
do. El planificador local puede asegurarse de la validez los enlaces, asumiendo que todos los nodos son vali-
del enlace usando dos estrategias: mediante deteccin dados en la etapa de creacin del Roadmap.
incremental o deteccin por subdivisin. No est claro Para tornar ms eficiente al PRM se debe tratar de
cul de las dos estrategias tiene la ventaja terica, sin reducir el tamao del Roadmap. De la anterior nece-
embargo, en la prctica, la verificacion por subdivisin sidad han surgido los mtodos de exploracin de en-

8
BUILD_ RRT q new
1 T (0) qstart
2 for i = 1 to K do q
3 qrand PUNTOALEATORIO q near
4 EXTENDER(T, qrand ) q start
5 devuelve T

Figura 11: Construccin del RRT bsico Figura 13: Descripcin grfica de la operacin EXTIEN-
DE del algoritmo RRT bsico.
EXTENDER (T, q)
1 qnear VECINOMASCERCANO(T, q)
2 if NUEVOESTADO(q, qnear , qnew ) then
3 AGREGARNODO(T, qnew )
configuracin qnew , como un salto de magnitud en di-
4 AGREGARENLACE(T, qnear , qnew )
5 if qnew = q then reccin a q desde qnear . Adicionalmente, NUEVOESTA-
6 devuelve Alcanzado DO debe validar el enlace entre qnear y qnew ; si no exis-
7 else
8 devuelve Extendido te colisin, se agregan al rbol T tanto qnew como el
9 devuelve Rechazado enlace, usando AGREGARNODO y AGREGARENLA-

Figura 12: Funcin EXTENDER del algoritmo RRT b- CE. Si la configuracin aleatoria q se encuentra dentro
sico de un crculo de centro qnear y radio , entonces se con-
sidera que se ha Alcanzado a q . Si por el contrario, no
torno mediante arboles: Expansive-Spaces Trees (EST) se ha producido el alcance, entonces se devolver el
y Rapidly-exploring Random Trees (RRT). El EST se en- valor Extendido. Por ltimo, en caso de que la funcin
cuentra explicado a cabalidad en el trabajo de David NUEVOESTADO haya advertido de la existencia de al-
Hsu (Hsu, 2000), sin embargo el RRT es el ms em- gn obstculo en el camino de qnear a qnew , se informa
pleado actualmente, el cual se desarrollo y se presenta de que no ha habido nuevas ramas y el nuevo nodo no
en este artculo. es agregado al rbol T . La representacin del funcio-
namiento de EXTENDER se observa en la Figura 13
3.1. Algoritmo RRT bsico
dentro de un entorno bidimensional. La naturaleza del
El RRT fue introducido como un algoritmo capaz
RRT le hace avanzar con ms avidez en aquellas zo-
de explorar eficientemente el espacio de configuracin
nas donde haya un mayor espacio libre, pues es all es
desde qstart a qgoal (LaValle, 1999)(LaValle, 2001). El
donde hay ms posibilidad de encontrar puntos qrand
RRT bsico se basa en la construccin de un rbol T
factibles. Esto puede comprenderse observando el cre-
compuesto de nodos y enlaces, que se incrementan
cimiento del rbol en la Figura 14.
aleatoriamente desde un punto de origen. Para ello, se
desarroll el algoritmo expuesto en la Figura 11. En es- Para encontrar una trayectoria libre de colisiones, el
te algoritmo se selecciona una configuracin aleatoria RRT inicia su exploracin en qstart como raz del rbol
qrand que es la base para crecer el rbol hacia esta T . Si el crecimiento de este rbol alcanza qgoal o se
configuracin, para esto se usa la funcin EXTENDER. cumple un nmero lmite de iteraciones K , mostrado en
la Figura 11, el algoritmo RRT culmina y luego se traza
En la Figura 12, la funcin EXTENDER comienza con una ruta desde qgoal a qstart . En otras palbras, se puede
la seleccin de qnear , que es el nodo de T ms prximo establecer un camino continuo entre nodos empezando
a q , con la funcin VECINOMASCERCANO. Seguida- desde las ramas, pasando por el tronco, hasta llegar a
mente, la funcin NUEVOESTADO calcula una nueva la raz.

9
CONECTAR (T, q)
1 repeat
2 S EXTENDER (T, qrand )
3 until not (S =Extendido)
4 devuelve S
RRT_ Connect (qstart , qgoal ))
1 Ta (0) qstart , Tb (0) qgoal
Figura 14: Representacin en 2D del crecimiento en for- 2 for i = 1 to K do
ma de rbol, proporcionado por el algoritmo RRT. Toma- 3 qrand PUNTOALEATORIO
do de (Kuffner, 2000). 4 if not (EXTENDER(Ta , qrand ) = Rechazado)
then
5 if (CONECTAR(Tb , qnew ) = Alcanzado)
3.2. Algoritmo RRT_ Connect
then
En los ltimos aos se han producido diferentes me- 6 devuelve RUTA(Ta , Tb )
7 INTERCAMBIAN(Ta , Tb )
joras al RRT bsico con resultados comprobados en la 8 devuelve Fallido
prctica (LaValle, 2006). En particular, la versin deno-
Figura 15: Algoritmo RRT_ Connect.
minada RRT_ Connect, desarrollado por Kuffner y La-
Valle (Kuffner, 2000), ha demostrado ser una de las va-
riantes ms confiables para todo tipo de aplicaciones. ritmos RRT es beneficiosa para cualquier dimensin
La idea principal detrs del RRT_ Connect, es el del espacio de bsqueda q . Sin embargo, la eficien-
desarrollo de dos rboles que inician en los puntos ini- cia de los algoritmos est altamente determinada por el
cial y final, denominados T a y T b. Ambos rboles cre- desempeo que se tenga en la verificacin de colisio-
cen simultneamente uno hacia el otro, permitiendo una nes en el espacio de trabajo. Y para esto, estn dispo-
mejora en la convergencia del algoritmo, as como en el nibles paquetes de deteccin de colisiones tales como
tiempo de computo, debido al menor nmero de com- SOLID (Bergen, 1997), RAPID (Gottschalk, 1996), V-
probaciones de colisin. Clip (Mirtich, 1998), I-Collide (Cohen, 1995), V-Collide
La estructura del RRT_ Connect se presenta en la Fi- (Hudson, 1997), SWIFT (Ehmann, 2000) y SWIFT++
gura 15. En este algoritmo, T a y T b coexisten todo el (Ehmann, 2001); los cuales estan basados en el GJK
tiempo mientras se halla una solucin. En cada itera- (Cameron, 1997) y en otros mtodos como el OBB
cin se crea una configuracin aleatoria qrand utilizada (Oriented Bounding Boxes). La Figura 16 presenta el
para EXTENDER uno de los rboles hacia un qnew , se- funcionamiento del RRT_ Connect, donde el entorno de
guidamente, el otro rbol usa la funcin CONECTAR, bsqueda est en R2 y contiene tres obstculos poligo-
para tratar de enlazarse al qnew usando repetidamente nales (observe las semejanza con el espacio de confi-
la funcin EXTENDER (ver Figura 12). En caso de que guracin de un robot planar de dos articulaciones ilus-
efectivamente se logre alcanzar a qnew , esta condicin trado en la Figura 1). Para las rutas obtenidas con el
significar que los dos rboles se encontraron, por tanto mtodo RRT es conveniente aplicar algoritmos de post-
se crea la trayectoria entre T a y T b usando una subru- procesado para reducir su irregular topologa; lo desea-
tina denominada RUTA. En caso que no se conectasen ble es utilizar algoritmos de simplificacin rpidos y sen-
los arboles, se cambian los roles con la funcin INTER- cillos para no comprometer el tiempo de cmputo total.
CAMBIAN, para que en la siguiente iteracin; el segun- Se ha observado que los algoritmos RRT son bastante
do rbol ahora ser quien se extienda y el otro rbol rpidos en entornos abiertos (LaValle, 2001), (Yersho-
quien trate de conectarse. va, 2005) y adems, ms efectivos que otros mtodos
Esta concepcin, relativamente simple, de los algo- (Brandt, 2006). No obstante, cuando se presentan gran

10
mente, existe otro contratiempo: el nmero de puntos
de control. Si no hay suficientes, existe el riesgo de coli-
sionar obstculos inadvertidos (Choset, 2005). Es con-
cluyente que el mtodo de Campos Potenciales requie-
start re ajustar varios parmetros para que la trayectoria ge-
goal
nerada sea satisfactoria. Adems, su implementacin y
anlisis en el campo de la robtica demostr gran de-
ruta
pendencia del mtodo con el clculo de los jacobianos

(a) del sistema, y de la obtencin la distancia mnima de un


punto de control a un polgono o a un slido.

Dentro de la segunda estrategia, que contempla los


mapas de enrutamiento probabilstico o PRM, se desta-
caron en el uso e implementacin, el algoritmo RRT y

start
su variante RRTConnect, cuyas fortalezas son: la con-
goal cepcin generalizada para cualquier dimensin del en-
torno de bsqueda, donde no se requiere conocer to-
talmente el espacio de trabajo (Choset, 2005). Se en-
contr tambin que su desempeo es rpido para en-
(b)
tornos con pocos obstculos, que es capaz de sortear
Figura 16: (a) Ruta generada por el algoritmo RRT_
mnimos locales, y se logro comprobar su fiabilidad en
Connect en un entorno de bsqueda en 2D. (b) Ruta
conseguida por postprocesado. entregar una respuesta (LaValle, 2001) pues se explora
el espacio libre de forma sistemtica. Algunas dificulta-
des o contratiempos que presenta este mtodo, son: la
cantidad de obstculos, el tiempo requerido para en-
necesidad de desarrollar un sistema de verificacion de
contrar una ruta se incrementa significativamente. Una
colisiones rpido. La configuracin de la ruta encontra-
tendencia en los ltimos aos es aumentar velocidad de
da es difcil de seguir en algunos casos prcticos, por lo
respuesta de los RRT empleando varios rboles locales
que se requiere un posprocesado rpido y eficiente. Adi-
dentro del entorno de bsqueda (Strandberg, 2004)
cionalmente, no se puede asegurar que la ruta obtenida
(Clifton, 2008).
sea optima, incluso utilizando un posprocesado intensi-
4. Conclusiones y Prospectivas vo. Crear una ruta suavizada requiere un segundo pos-
procesado, utilizando geometra avanzada para generar
En este artculo se han presentado las bases tericas
curvas (Angeles, 2007), (Kwangjin, 2008a) y (Kwangjin,
necesarias para la implementacin de dos estrategias
2008b).
de planeamiento de trayectorias libres de colisiones en
sistemas n-dimensionales. La primera, Campos Poten- Comparando los dos mtodos analizados, implemen-
ciales Artificiales, permite una rpida respuesta ante el tados y probados, encontramos que el algoritmo RRT,
entorno, generando un camino continuo y generalmente y sus variantes, es ms fiable en la consecucin de
suave. Su principal desventaja est en la aparicin de una trayectoria libre de colisiones en sistemas multi
mnimos locales que llegan a producir un estancamien- dimensionales en comparacin con el mtodo que uti-
to del algoritmo empleado (Latombe, 1991). Adicional- liza campos potenciales artificiales. Hemos realizado

11
distintas simulaciones que implican trazar trayectorias ments. Amsterdam; Morgan Kaufmann, 2004.
empleando el algoritmo RRTConnect y los resulta- Bergen,G. V. D. Efficient collision detection of complex defor-
dos siempre han sido satisfactorios, aunque su costo mable models using aabb trees, Journal of Graphics Tools:
JGT, vol. 2, no. 4, pp. 114, 1997.
computacional puede ser alto. Una caracterstica que
Bohlin, R. and Kavraki, L. E. Path planning using lazy PRM,
favorece a la estrategia de los campos potenciales arti-
Robotics and Automation, 2000. Proceedings. ICRA 00.
ficiales es la posibilidad de aplicacion en robots mviles IEEE International Conference on , vol.1, pp.521528 vol.1,
2000.
terrestres y voladores que estn immersos en entornos
cambiantes. Brandt, D. Comparison of A* and RRTConnect Motion Plan-
ning Techniques for Self-Reconfiguration Planning, Inte-
A la hora de implementar cualquiera de los mtodos lligent Robots and Systems, 2006 IEEE/RSJ International
Conference on , vol., pp.892897, Oct. 2006.
expuestos en este texto, se debe tomar en cuenta los
siguientes aspectos: para el mtodo de campos poten- Bresina, J.L., Jnsson, A.K., Morris, P.H. and Rajan, K. cti-
vity planning for the mars exploration rovers, 15th Interna-
ciales artificiales, se requiere obtener la distancia m- tional Conference on Automated Planning and Scheduling,
nima entre polgonos o poliedros convexos y/o no con- pp. 4049, 2005.

vexos, lo cual no siempre es sencillo o evidente en el Cameron, S. Enhancing GJK: computing minimum and pene-
tration distances between convex polyhedra, Robotics and
campo de la geometra computacional. Para el caso del
Automation, 1997. Proceedings., 1997 IEEE International
algoritmo RRT, el uso de una librera de software que Conference on , vol.4, pp.31123117 vol.4, 20-25 Apr 1997.

permita determinar si existe colisin entre poliedros es Carsten, J., Rankin A., Ferguson D., and Stentz A., Global
un requerimiento para la encontrar una trayectoria libre planning on the Mars Exploration Rovers: Software integra-
tion and surface testing, J. Field Robot., vol. 26, (no. 4), pp.
de colisiones. Sea cual fuere el mtodo empleado, no 337357, 2009.
se puede asegurar que la ruta encontrada sea la pti- Choset, H., Lynch, K., Hutchinson, S., kantor, G., Burgard,
ma. La estrategia que aborda los campos potenciales W., Kavraki, L. and Thrun, S. Principles of robot motion:
theory, algorithms, and implementation. Cambridge, Mass.:
artificiales requiere, cuando se amerite, de un subsiste- MIT Press, 2005.
ma que elimine oscilaciones en la trayectoria generada.
Clifton, M., Paul, G., Kwok, N., Liu, D.; Wang, D.L. Eva-
Por otra parte, al recurrir a los PRM, la ruta obtenida luating Performance of Multiple RRTs, Mechtronic and
Embedded Systems and Applications, 2008. MESA 2008.
despus de un posprocesado generalmente resulta en
IEEE/ASME International Conference on, pp.564569, 12
una trayectoria que pasan muy cerca de los obstculos, 15 Oct. 2008.
lo cual no es deseable en algunas aplicaciones. Cohen, J. D., Lin, M. C., Manocha, D. and Ponamgi, M. K. I
El auge de los PRM y las variantes del algoritmo RRT collide: An interactive and exact collision detection system
for large-scale environments, in Symposium on Interactive
han desembocado en nuevos desarrollos en diferentes 3D Graphics, pp. 189196, 1995.
reas, como en la medicina (Jijie, 2008), concepcio- Conkur, E. S. Path planning using potential fields
nes para desembalaje de objetos articulados (Cortes, for highly redundant manipulators, Disponible en:
www.sciencedirect.com, Robotics and Autonomous
2008a), exploracin y navegacin sobre terrenos ac- Systems, vol. 52, (no. 23), pp. 209-228, 2005.
cidentados (Cortes, 2008b), y sistemas autnomos de
Cortes, J., Jaillet, L., Simeon, T. Disassembly Path Planning
conduccin de vehculos (Kuwata, 2008). for Complex Articulated Objects, Robotics, IEEE Transac-
tions on , vol.24, no.2, pp.475481, April 2008a.

Cortes, J., Jaillet, L., Simeon, T. Transitionbased RRT for


Referencias
path planning in continuous cost spaces, Intelligent Ro-
Angeles, J. Fundamentals of robotic mechanical systems : bots and Systems, 2008. IROS 2008. IEEE/RSJ Internatio-
theory, methods, and algorithms, New York ; Berlin: Sprin- nal Conference on, pp.21452150, 2226 Sept. 2008b.
ger, 2007.
Craig, J. Introduction to Robotics: Mechanics and Control.
Bergen,G. V. D. Collision detection in interactive 3D environ- AddisonWesley, 1989.

12
Ehmann, S. A. and Lin, M. C. Accelerated proximity que- Kavraki, L., Svestka, P., Latombe, J.C. and Overmars,
ries between convex polyhedra by multi-level Voronoi mar- M.H. Probabilistic roadmaps for path planning in high-
ching, Intelligent Robots and Systems, 2000. (IROS 2000). dimensional configuration spaces, Robotics and Automa-
Proceedings. 2000 IEEE/RSJ International Conference on , tion, IEEE Transactions on, vol. 12, (no. 4), pp. 566580,
vol.3, pp.21012106 vol.3, 2000. 1996.

Ehmann, S. A. and Lin, M. C. Accurate and fast proximity que- Khatib, O. Realtime obstacle avoidance for manipulators
ries between polyhedra using convex surface decomposi- and mobile robots, in Book Real-time obstacle avoidance
tion, Computer Graphics Forum, vol. 20, no. 3, pp. 500 for manipulators and mobile robots, vol. 2, pp. 505, 500
510, 2001. 505, 1985.

Ericson, C. Realtime collision detection. Amsterdam; Boston: Kirillova, S., Cortes, J., Stefaniu, A. and Simeon, T. An
Elsevier, 2005. NMA-guided path planning approach for computing large-
amplitude conformational changes in proteins, Proteins.,
Ericson, C. SIGGRAPH 2004 Notes The Gilbert - John- vol. 70, (no. 1), pp. 131, 2008.
son - Keerthi Algorithm, in Book SIGGRAPH 2004 Notes,
SIGGRAPH 2004, 2004. Kuffner, J.J. Goal-Directed Navigation for Animated Charac-
ters Using Real-Time Path Planning and Control, Lecture
Funge, J.D. Artificial intelligence for computer games : an in- notes in computer science., (no. 1537), pp. 171, 1998.
troduction, Wellesley, Mass.: Peters, 2004.
Kuffner, J. J., LaValle, S. M. RRTconnect: An efficient ap-
Gilbert, E., Johnson, D. and Keerthi, S. A fast procedure for proach to single-query path planning, Robotics and Auto-
computing the distance between complex objects in three mation, 2000. Proceedings. ICRA 00. IEEE International
dimensional space, Robotics and Automation, IEEE Jour- Conference on , vol.2, pp.9951001 vol.2, 2000.
nal of, vol. 4, (no. 2), pp. 193203, 1988.
Kuwata, Y., Fiore, G.A., Teo, J., Frazzoli, E., How, J.P., Mo-
Goldberg, K. Planar Robot Simulator with tion planning for urban driving using RRT, Intelligent Ro-
Obstacle Avoidance (Configuration Space); bots and Systems, 2008. IROS 2008. IEEE/RSJ Internatio-
http://ford.ieor.berkeley.edu/cspace/. nal Conference on , pp.16811686, 2226 Sept. 2008.

Goldman, A. Path planning problems and solutions, in Book Kwangjin, Y. and Sukkarieh, S., 3D smooth path planning for
Path planning problems and solutions, Series Path planning a UAV in cluttered natural environments, Intelligent Robots
problems and solutions, vol.1. pp. 105108, 1994. and Systems, 2008. IROS 2008. IEEE/RSJ International
Conference on, pp.794800, 2226 Sept. 2008a.
Goo Bong, C., Soo Gang, L., Sungmin, K., Byung-Ju, Y.,
Whee-Kuk, K., Se Min, O., Young Soo, K., Jong, I.I.P. and Kwangjin, Y. and Sukkarieh, S., Realtime continuous cur-
Seong Hoon, O. A robot-assisted surgery system for spinal vature path planning of UAVS in cluttered environments,
fusion, in Book A robot-assisted surgery system for spinal Mechatronics and Its Applications, 2008. ISMA 2008. 5th
fusion, Series A robot-assisted surgery system for spinal fu- International Symposium on, pp.16, 2729 May 2008b.
sion, pp. 3015-3021, 2005. Latombe, J.C. Robot motion planning. Boston, MA: Kluwer
Academic Publishers, 1991.
Gottschalk, S., Lin, M. C. and Manocha, D. Obbtree: A hierar-
chical structure for rapid interference detection, 1996. LaValle, S. M. Planning algorithms, Cambridge; New York:
Cambridge University Press, 2006.
Hsu D. Randomized singlequery motion planning in expansi-
ve spaces, PhD thesis, Department of Computer Science, LaValle, S. M., Kuffner, J. J. Randomized kinodynamic plan-
Stanford University, 2000. ning, Robotics and Automation, 1999. Proceedings. 1999
IEEE International Conference on, vol.1, pp.473479 vol.1,
Hudson, T. C., Lin, M.C., Cohen, J., Gottschalk, S. and Ma-
1999.
nocha, D. VCOLLIDE: accelerated collision detection for
VRML, in Proc. Proceedings of the second symposium on LaValle, S. M., Kuffner, J. J. Rapidlyexploring random trees:
Virtual reality modeling language, pp. 119125, 1997. Progress and prospects. In B. R. Donald, K. M. Lynch, and
D. Rus, editors, Algorithmic and Computational Robotics:
Hwang Y. and Ahuja, N. A potential field approach to path New Directions, pages 293308. A K Peters, Wellesley, MA,
planning, Robotics and Automation, IEEE Transactions on, 2001.
vol. 8, (no. 1), pp. 2332, 1992.
LozanoPrez, T. Automatic planning of manipulator transfer
Jijie, X., Duindam, V., Alterovitz, R., Goldberg, K. Motion plan- movements, IEEE Trans. Systems, Man, and Cybernetics
ning for steerable needles in 3D environments with obsta- SMC11, no. 110, pp. 681689681689, 1981.
cles using rapidly-exploring Random Trees and backchai-
ning, Automation Science and Engineering, 2008. CASE Maio D. and Rizzi, S. CICERO: An Assistant for Planning Vi-
2008. IEEE International Conference on, pp.4146, 2326 sits to a Museum, Lecture notes in computer science., (no.
Aug. 2008. 978), pp. 564, 1995.

13
Mirtich, B. Vclip: fast and robust polyhedral collision detec-
tion, ACM Trans. Graph., vol. 17, no. 3, pp. 177208, July
1998.

Nielsen, C. L., Kavraki, L. E. A two level fuzzy PRM for mani-


pulation planning, Intelligent Robots and Systems, 2000.
(IROS 2000). Proceedings. 2000 IEEE/RSJ International
Conference on , vol.3, pp.17161721 vol.3, 2000.

Park, M. G., Jeon, J. H., Lee, M. Ch., Obstacle avoidance for


mobile robots using artificial potential field approach with
simulated annealing, Industrial Electronics, 2001. Procee-
dings. ISIE 2001. IEEE International Symposium on , vol.3,
pp.15301535 vol.3, 2001.

Plaku, E., Kavraki, L.E. Distributed SamplingBased Road-


map of Trees for Large-Scale Motion Planning, Robotics
and Automation, 2005. ICRA 2005. Proceedings of the
2005 IEEE International Conference on, pp. 38683873,
18-22 April 2005.

Sanchez G. and Latombe, J.C. On Delaying Collision Che-


cking in PRM Planning: Application to Multi-Robot Coor-
dination, The International Journal of Robotics Research,
vol. 21, (no. 1), pp. 526, 2002.

Sim, C., Wan Sing, N., Ming Yeong, T., Yong-Chong, L.


and Tseng Tsai, Y. Image-guided manipulator compliant
surgical planning methodology for robotic skull-base sur-
gery, in Book Imageguided manipulator compliant sur-
gical planning methodology for robotic skull-base surgery,
Series Imageguided manipulator compliant surgical plan-
ning methodology for robotic skullbase surgery, pp. 26-29,
2001.

Shi, H., Sun, C., Sun, X., Feng, T. Chaotic Potential Field
Method and Application in Robot Soccer Game, Intelligent
Control and Automation, WCICA 2006. The Sixth World
Congress on , vol.2, pp.92979301, 2006.

Spong, M., Hutchinson, S. and Vidyasagar, M. Robot modeling


and control. Hoboken, NJ: John Wiley & Sons, 2006.

Strandberg, M. Augmenting RRT-planners with local trees,


Robotics and Automation, 2004. Proceedings. ICRA 04.
2004 IEEE International Conference on , vol.4, pp. 3258-
3262 Vol.4, April 26-May 1, 2004.

Wenhu, Q., Xiaomei, L. and Zhengxu Z., Study on Action


Control of Virtual Actors, in Book Study on Action Control
of Virtual Actors, Series Study on Action Control of Virtual
Actors, pp. 907-912, 2007.

Yershova, A., Jaillet, L., Simeon, T., LaValle, S. M. Dynamic


Domain RRTs: Efficient Exploration by Controlling the Sam-
pling Domain, Robotics and Automation, 2005. ICRA 2005.
Proceedings of the 2005 IEEE International Conference,
pp. 3856-3861, 1822 April 2005.

14
ANEXO 3
Segundo Artculo.
(Path Planning Through Local Trees Exploration
with RRTs Method)
1

Path Planning Through Local Trees Exploration


with RRTs Method
Edwin Francis Cardenas, Luis Miguel Mendez, Jorge Sofrony

AbstractThis paper presents a new path planning algorithm


for enviornments with obstacles and narrow passages. The
proposed algoritghm builds on the known Rapidly-exploring
Random Trees (RRT) method, and inproves convergence rates
by making use of local trees in a methodical manner. The re-
sulting algorithm, RRT-Met does not require complex geometric
computations, and is easy to implement. The effectiveness of the
algorithm is proved with simulations in diverse environments.
Index TermsPath planning algorithms, robotics, RRT plan-
ners, searching with local trees.
Fig. 1: the path planning problem illustrated with a cube
avoiding an obstacle
I. I NTRODUCTION
The path planning problem concentrates on determining
a collision free path, from an initial location to a final Path planning has been studied extensively over the past
destination, in a workspace under the presence of obstacles twenty years and many algorithms have been developed. The
(Fig. 1). The applications of trajectory generating algorithms algorithms can be formalized as searching a configuration
goes beyond the field of robotics, and is being used fields like space (search space) for a free-space path between start and
computer animation, video games, assembly and disassembly goal configurations. Early work constructed exact or resolu-
problems, and molecule folding. tion complete free space representations and searched them
Path planning problems are a far more common concern in systematically [1]. The key measure of complexity is the
robotics. A classical version of motion planning is sometimes configuration space dimension, which equals the number of
referred to as the Piano Movers Problem. An algorithm must independent part translations and rotations. The worst-case
determine how to move the piano from one room to another computation time is exponential in this dimension for planar
in the house without hitting. and spatial systems. Practical algorithms have been developed
Robot motion planning usually ignores dynamics and other for dimension three, notably for polygonal robots and ob-
differential constraints and focuses primarily on the transla- stacles. But the approach appears impractical for dimension
tions and rotations required to move the piano. six, which is the minimum for spatial planning or for multi-
Trajectory planning usually refers to the problem of taking part planar planning. But the approach appears impractical for
the solution from a robot motion planning algorithm and dimension six, which is the minimum for spatial planning or
determining how to move along the solution in a way that for multi-part planar planning.
respects the mechanical limitations of the robot.
Another approach is the development of probabilistic algo-
The basic path planning problem involves computing
rithms that construct free-space road maps by random sam-
a collision-free path between two configurations in a static
pling [2]. Although extremely promising probabilistic algo-
environment of known obstacles. In this case, the constraints
rithms have some drawbacks. The probability of finding a path
on the solution path arise from the geometry of both the
when one exists is a function of geometric constants that are
obstacles and the robot (the object for which a path is being
hard to estimate. In addition, finding a solution depends on the
computed). If the robot can be represented as a single 2D rigid
type of sampling employed. In the configuration spaces with
object that only translates in 2D environment, then the problem
many obstacles and narrow passages, probabilistic methods
is referred to a two-dimensional search space. In the case a 3D
require large samples.
rigid object that rotates and translates in a 3D environment,
Regarding the difficulty of representing explicitly the con-
the search space has six dimensions.
figuration space, an alternative is to develop search algorithms
Edwin Francis Cardenas is with the Department of Mechanical and Mecha- that incrementally explore free space while searching for
tronics Engineering, Universidad Nacional de Colombia, Bogota, e-mail: a path to the goal, for example the potential methods. The
ecardenasc@unal.edu.co
Luis Miguel Mendez is with the Department of Mechanical and Mecha- application of artificial potential fields to obstacle avoidance
tronics Engineering, Universidad Nacional de Colombia, Bogota, e-mail: was first developed by Khatib [3]. This approach uses repulsive
lmmendezm@unal.edu.co potential fields around the obstacles (and forbidden regions)
Jorge Sofrony is with the Department of Mechanical and Mecha-
tronics Engineering, Universidad Nacional de Colombia, Bogota, e-mail: to force tbe robot away and an attractive potential field around
jsofronye@unal.edu.co goal to attract the robot. Consequently, the robot experiences
2

a generalized force equal to the negative of the total potential CONNECT(T, q)


gradient. This force drives the robot downhill towards its 1 repeat
goal configuration until it reaches a minimum and it stops, 2 S EXTEND(T, q);
therefore, there is a major problem with this method, is the 3 until not (S = Advanced)
formation of local minima that can trap the robot before 4 Return S;
reaching his goal. RRT-CONNECT(qstart , qgoal )
The potential fields method (with other techniques) has 1 Ta .init(qstart ) ; Tb .init(qgoal ) ;
demonstrated feasibility in mobile robots [4]-[5], but for high 2 for i = 1 to K do
dimensional systems when the number of obstacles increases, 3 qrand RANDOM CONFIG( );
a oscillation occurs between obstacles and the robot, which 4 if not (EXTEND(Ta , qrand ) = Trapped) then
becomes impossible to get close to an obstacle; besides, the 5 if (CONNECT(Tb , qnew ) = Reached) then
presence the many local minima makes it impractical use the 6 Return PATH(Ta , Tb );
potential methods. 7 SWAP(Ta , Tb );
The present features of computers allow employ search 8 Return Failure;
algorithms recursively to find the answer to the path plan-
Fig. 2: The RRT-Connect algorithm.
ning problems complex. The 3D simulations have become a
powerful tool to programming and checking the behavior of
robots. The development and improvement of techniques to
presented indetail; Section 4 describes the experiments and
solve the path planning problem is a necessity for achieving
results obtained; finally, conclusions and future work are given
the goal of a fully autonomous robot.
in Section 5.
During the last decad or so, Rapidly-exploring Random
Trees, or RRT algorithm, has become a popular method for
solving the path planning problem. The RRTs finds a collision- II. RRT A LGORITHMS
free trajectory exploring rapidly and uniformly the search It is common to solve the path planning problem through
spaces, resembling the growth of a tree [6]. This method traditional Probabilistic Roadmap Methods (PRM), where a
has been successfully applied to multidimensional systems, transformation from the work space to the configuration space
showing better performance than other randomized methods. allows the representtion of any robot as a single point; the
Unofrtunately, for the case of narrow passages, the RRT dimensions of this new search space is equal to the degrees of
algortithm presents some problems and is unable to provide freedom (D.o.F.) of the robot. The roadmap is composed by
a rapid response in a consistent manner. One logical step nodes and edges: a node represents an especific configuration
towards solving this problem, is to use several search trees. of the robot; an edge interconnects two nodes and comprises
This idea has been expolred in [7], where the proposed PRT a sequence of robot configurations which form a straight
(Probabilistic Roadmap of Trees) algorithm combines various line. Initially a roadmap has a number of nodes, uniformly
techniques, for example RRTs and ESTs (Expansive Space distributed within the search space. Then, the nodes that do
Trees) [8], to generate and connect a family of trees not collide with any of the obstacles, are connected with edges;
In [9], an RRT variant is proposed. The RRTLocTrees moreover, the edges should be inside the collision-free space.
algorithm creates new RRTs if a sample is collision free and Finally, the local planner uses the grid of nodes and edges to
unreachable by any existing tree. In order to avoid having find the shortest path between two configurations.
apearence of an excesive number of trees, a constraint on the The RRT-basic was introduced in 1998 by Lavalle [12],
number of new RRTs is imposed. Recently, [10] presented a where the algorithm explores the search space in a tree-like
evaluating of the performance of multiple RRTs (Multi-RRT), fashion having its root at the start configuration qstart or final
where, his algorithm has no limit to the number of trees it configuration qgoal . The tree grows by adding nodes, within a
may create, and is free to multiply in an three-dimensional certain distance , randomly. The RRT was extended in order
search space. The authors drew on the ideas of preserving the to incorporate the robots inherent kinodynamic constraints
elegance of the RRT search algorithm, where randomization into the planning problem [13]; subsequently the RRT-Connect
implicitly computes the Voronoi regions created by each node was introduced to reduce the search time [14].
of the tree [11]. The RRT-Connect algorithm is presented in Figure 2. The
The presented algorithm, RRT-Methodic or simply RRT- algorithm starts by creating two trees, Ta with root q start and
Met, builds on the RRT methodology and is able to restrict, Tb with root qgoal . The first tree, Ta , grows by making use of
dynamically, the total number of trees depending on the the EXTEND function (Figure 3 and Figure 4). As long as the
environment. This allows for a more efficient interconnection EXTEND function does not result in a Trapped configuration,
of trees, while preserving the good exploration of search Tb tries to reach some other tree by using the CONNECT
space of RRT algorithm. The RRT-Met is tested on several function illustrated in Figure 2. The CONNECT function
benchmark environments, showing faster response times in employs the EXTEND function repeatedly until a new node,
comparison to the original RRT algorithm. belonging to both trees, is added. If a connection between both
The remainder of this paper is organized as follows: Section trees does not exist, or the tree Ta does not EXTEND, the next
2 introduces the RRT algorithm making it possible for the iteration of RRT-Connect interchanges the roles played by the
reader to fully understand Section 3, where the RRT-Met is trees of interest; Tb will try to EXTEND and while Ta will
3

EXTEND(T, q) RRT-Met(qstart , qgoal )


1 qnear NEAREST NEIGHBOR(q, T ); 1 Ta .init(qstart ) ; Tb .init(qgoal ) ;
2 if NEW CONFIG(q, qnear , qnew ) then 2 for i = 1 to K do
3 T .add vertex(qnew ); 3 qrand RANDOM CONFIG( );
4 T .add edge(qnear , qnew ); 4 T NEAREST TREE(qrand );
5 if qnew = q then 5 if (EXTEND(T, qrand ) = Trapped) then
6 Return Reached; 6 NEW TREE(qrand );
7 else 7 else if (MULTI-CONNECT(T, qnew ) = Reached)
8 Return Advanced; 8 Return PATH(Ta , Tb );
9 Return Trapped; 9 Return Failure;
Fig. 3: The EXTEND function of RRT-basic. NEAREST TREE(q)
1 load W T = {T1 , T2 , T3 , T4 , Tn }; n-tree set
 qnew 2 T1 T a , T2 Tb ;
3 D { } ; distances set
4 for i = 1 to n do
q 5 qnear NEAREST NEIGHBOR(q, Ti );
qnear 6 di q qnear ;
qinit 7 next
8 j min {D};
9 Return Tj ;
Fig. 4: The EXTEND operation.
Fig. 5: The RRT-Met algorithm.

try to CONNECT. The algorithm RRT-Connect ends when it


reaches the maximum number of iterations K or both trees algorithm RRT-Met is presented in Figure 5. An existing
are joined. Finally the PATH function calculates the (smooth) difference between the RRT-Connect and the RRT-Met, is the
trajectory from qstart to qgoal . use of the NEAREST TREE function, which in turn uses the
Sometimes Tb is closer to q rand than Ta , thus making this NEAREST NEIGHBOR function iteratively, in order to find
tree more appropriate to expand to qrand . The RRT-Connect the nearest tree to qrand .
algorithm, with this renovated condition, was implemented and Similar to the RRT-Connect algorithm, RRT-Met starts by
analized. The result was a small improvement in the compu- creating two global trees; it then generates a random sample
tational cost compared to the original RRT-connect algorithm, and NEAREST TREE calculates the nearest tree, regardless of
thus higlighting the need of incorporating a more structured (or whether it a global or local tree; finally the EXTEND function
methodical) way of growing the exploring trees; the condition tries to connect the nearest tree.
previously mentioned is part of RRT-Met algorithm, but not The EXTEND function, illustrated in Figures 3 and 4,
the main improvement. selects the RRT node1 closest to a given sample configuration
q. Subsequently, function NEW CONFIG makes a motion,
III. RRT-M ET ALGORITHM starting from the closest RRT node, towards q with some fixed
The RRT-Connect algrithm uniformly explores the search incremental distance and tests for collision. Three situations
space using trees that spawn from qstart and qgoal . In the may occur:
presence of narrow passages between initial and final points, 1) Reached, in which the node is directly added to the RRT
the RRT-Connect generally produces configurations that are set because it already contains a node within a (collision
stuck close to the obstacles, being this one of the issues free) distance from q
addressed in this paper. The main idea in order to solve this 2) Advanced, in which a new node qnew = q is added to
inconvenience is to create a new node from which a new tree the RRT set
(from now on refered to as the local tree) will be spawned 3) Trapped, in which the proposed new node is rejected
in order to help solve the path planning problem. The start because it does not lie within the obstacle free space
and goal configurations of this local tree will be in the main Qf ree , or there is collision with an obstacle QOi 2 while
trees or global trees. There are three important issues that arise advancing.
when implementing this idea: In step number five of the RRT-Met algorithm (Figure 5),
When should a node be allowed to spawn a local tree? when the EXTEND function emmits a Trapped status, the
How often should the local trees be allowed to grow? NEW TREE function creates a local tree qrand Qf ree .
How often should the planner look for inter-tree connec- On the other hand, in the step five of Figure 5, when the
tions? EXTEND function does not return a Trapped status (i.e. the
The RRT-Methodic, or RRT-Met, algorithm addresses the nearest tree has grown in direction to qrand ), in the step seven,
creation of local trees, their distribution and connection to 1 with this we mean that the node is contained within the set of existing
global trees methodically using geometric principles such tree nodes, and hence interconnected to some other node
that no fitting parameters are required by the user. The 2 symbols used by Choset [15]
4

MULTI-CONNECT(T, q) T3
1 load W T = {T1 , T2 , T3 , T4 , Tn }; n-tree set QO i Tb
2 T1 Ta , T 2 Tb ;
3 if (T = T 1 ) then
4 if (CONNECT(T2 , q) = Reached) then
5 S = Reached;
qnear
6 else
qrand
7 Tc NEAREST TREE(q, T1 , T2 ); Ta Qfree
(a)
8 if (CONNECT(Tc , q) = Reached) then
9 COMBINE TREE(Tc , T1 );
T3
10 S = Joined;
11 else if (T = T 2 ) then Tb
12 if (CONNECT(T1 , q) = Reached) then
13 S = Reached;
14 else
15 Tc NEAREST TREE(q, T1 , T2 ); qrand
16 if (CONNECT(Tc , q) = Reached) then q new
Ta T4
17 COMBINE TREE(Tc , T1 ); (b)
18 S = Joined;
T3
19 else
20 if (CONNECT(T1 , q) = Reached) then Tb
21 if (CONNECT(T2 , q) = Reached) then
qnear
22 S = Reached; qnear
23 else
24 COMBINE TREE(T, T1 );
25 S = Joined; qnew
Ta T4
26 else (c)
27 if (CONNECT(T2 , q) = Reached) then
28 COMBINE TREE(T, T2 ); T3
29 S = Joined; Tb
30 else
31 S = Failure;
32 Return S;
Fig. 6: MULTI-CONNECT function of RRT-Met. qnear
Ta T4
(d)

the MULTI-CONNECT function trying to make a connection T3


between existing trees.
Tb
The MULTI-CONNECT function ensures global trees con-
qrand
nect first, thus local trees are used to expand the search, and qnew
q near
improve the probability of connection between global trees.
When using the MULTI-CONNECT function (Figure 6), it
is important to note that different types of trees are treated
differently; if dealing with a global tree (steps 3 and 11), the Ta
(e)
other global tree tries to connect; e.g., if T = T1 , T2 tries to
connect to T1 . If this fails, the NEAREST TREE funcion finds T3 qnear
the local tree Tc closest to q (or qnew into RRT-Met), and tries
Tb
to connect to the extended global tree T using the CONNECT
function. Whether there is a connection between the local and qnew
global tree or not, the COMBINE TREE function allows the
global tree to incorporate the nodes and edges of other tree. qnear
Note, if a local tree has asimilated by global tree, this local
tree should be removed from W T set via COMBINE TREE. Ta
(f)

Step 19 in Figure 6 indicates that the tree extended, T is Fig. 7: RRT-Met operations.
a local tree for which MULTI-CONNECT tries to connect
both global trees using q like a bridge. If only one global
5

tree reaches q, the local tree is added to the global tree with IV. EXPERIMENTS AND RESULTS
COMBINE TREE. In the absence of any connection between In this section we present a comparison between the RRT-
trees, MULTI-CONNECT returns Failure. Finally, the RRT- Met and RRT-Connect methods. First, we give a description of
Met algorithm ends when the iteration limit is reached or when the benchmark environments that will be discussed throughout
MULTI-CONNECT function returns Reached; as a result, the the section; secondly, the results are presented and a brief
PATH function traces the path from qstart to qgoal . analysis is given. The tests were performed on an Intel Pentium
Figure 7 displays how the RRT-Met algorithm work in a Dual CPU 2.0 GHz processor equipped with 2 Gb of RAM
two-dimensional search space. The system has three obstacles memory. All reported results correspond to values obtained
represented as rectangles. Figure 7(a) shows a failed expansion from 50 runs for each type of algorithm with a maximum of
of the nearest tree Ta , in wich case qrand is the root of one hundred thousand (100000) iterations. Collision detection
a new tree T4 . Figure 7(b) represents the next iteration, is done by using the V-Collide library [17], which was selected
where the tree nearest to the new qrand is the local tree for its excellent performance within the context of motion
T4 ; aditionally, this local tree grows with a new node qnew planning [18] and the type of information given by the
using the EXTEND function. Figure 7(c) shows the MULTI- algorithm (e.g. number and position of the colliding surfaces).
CONNECT operation trying to connect global trees; note that
this opretaion executed because the local tree T4 has been
extended. Figure 7(d) illustrates how T4 is merged into Tb Local Tree
postprocessing
because Ta did not grow in the previous step. Figure 7(e) is a RRTMet
path
new iteration where local tree T4 is the tree closest to qrand , path
thus one can see a growth of T4 with a node qnew . Figure (f)
shows the MULTI-CONNECT operation attempting to connect
a local tree with a global tree. If Tb is not connected with
Ta then T 3 will try to expand repeatedly to qnew which
belongs to Ta . If Tb reaches the node qnew belonging to Ta , q
goal
the RRT-Met algorithm ends, and the PATH function provides qstart

the resulting trajectory from qstart to qgoal . (a) RRT-Met


Fig. 8 shows a path planning problem solution using the
RRT-Met and RRT-Connect. The postprocessing path was RRTConnect postprocessing
obtained from an adaptation of the algorithm presented in [16]. path path
The advantages of the RRT-Met algorithm lies by the
following features:
The use of local trees allows a faster exploration of search
space.
With RRT-Met algorithm the local trees tend to expand
toward to global trees, this permits better convergence to qgoal
q
a solution from algorithm. start

The creation of new local trees depends on the existence (b) RRT-Connect
of obstacles in configuration space. If there are no obsta-
Fig. 8: A comparison of RRT-Met and RRT-Connect.
cles, the RRT-Met behaves like RRT-Connect, therefore,
the RRT-Met takes similar or better computational times
by give a solution.
Although no formal mathematical proof, the RRT-Met A. Two Passages Narrow in Z-Plane Environment
tends to exploit the same local tree number to provide a Assume that the particle in the two-dimensional space
solution in the same search space. Therefore, the RRT- represents a 2 D.o.F. robot. The search space contains two
Met has less scatter of response times compared with narrow passages, where the collision-free space is formed
RRT-Connect, mainly in the presence of narrow passages by two large areas of exploration in a Z-configuration. The
in the configuration space. robot must move from an initial to a final position, avoiding
It can be observed that the RRT-Met algorithm a reduced obstacles (represented by the solids in graycolor), with only
amount of nodes in comparison to the RRT-connect one way to go from the start position to goal (Figure 9). The
implementation. This in part due the connections obstacles are designed so that RRT algorithms tend to explore
between the local trees, which have not branches and the search space thouroughly before providing a solution.
therefore the trees have fewer nodes. Table I summarizes the average number of iterations, time,
collision detection calls (CDs) and nodes required to solve the
The above characteristics can be translated into reduced problem. The results exhibit better performance of the RRT-
computational cost; hence a reduction in the time it takes Met algorithm (in comparison to the RRT-connect algorithm)
to calculate the path can be experienced. In the subsequent when exploring this environment. This can be observed tho-
section we will compare these two methods (RRT MET and rugh the, with the average execution time and the number
connect algorithms) and show the results obtained. of nodes created being the most interesting characteristics. It
6

TABLE II: Results for 2D maze environment.


RRT-Connect
iterations time (s) CDs nodes
Average 3414 10,03 4407 993
Max. 5821 21,27 7574 1816
Min. 1357 1,59 1738 381
Std. dev. 1171 4,93 1494 330
RRT-Met
iterations time (s) CDs nodes
q qgoal Average 479 6,04 1399 649
start
Max. 1089 13,36 2548 1163
Min. 128 1,64 545 335
Fig. 9: Two passages narrow in Z-Plane environment. Std. dev. 200 2,46 438 177

C. S-Tunnel Environment
can be mention that the reduction in the time of execution of
the RRT-Met can be a consequence (not only of) the reduced Figure 11 displays an S-tunnel environment, where the
amount of CDs, which in turn may be due to the reduced obstacle is an elongated cube with a long narrow S-shaped
amount of nodes created. tunnel in its interior. The robot is represented by a small cube
that must pass through the obstacle from one side to another.
TABLE I: Results for two passages narrow, Z-Plane environ- As shown in Table III, RRT-Met is able to find a solution more
ment. effeciently than RRT-Connect. The above experiment confirms
that the RRT-Met behaves like the RRT-Connect in the absence
RRT-Connect
of local trees without any loss agility (in comparision to the
iterations time (s) CDs nodes
Average 2575 5,62 3252 677
RRT-connect).
Max. 8842 47,80 11450 2608
Min. 284 0,24 416 132
Std. dev. 2086 8,38 2585 508
RRT-Met
iterations time (s) CDs nodes
Average 366 1,31 861 363
Max. 1799 11,42 3274 1409
Min. 114 0,27 345 152
Std. dev. 343 1,98 633 253

B. 2D Maze Environment Fig. 11: S-Tunnel environment.


Consider the problem where a wedge shaped robot must
navigate through a maze of walls and passages to reach its
TABLE III: Results for S-Tunnel environment.
goal at the right side of the map (Figure 10). This environment
is designed in order to force the creation of several local RRT-Connect
trees, where the main objective is to show how this may affect iterations time (s) CDs nodes
the RRT-Met algorithms performance (in comparison to that Average 7988 88,55 9283 1296
of the RRT-connect). Table II shows the consistency of the Max. 51722 1379,00 59660 7938
RRT-Met algorithm, providing a quick solution even under Min. 454 1,53 589 135
Std. dev. 10467 225,10 12048 1581
the presence of several possible paths and the creation many
RRT-Met
local trees in different areas of the search space.
iterations time (s) CDs nodes
Average 2213 50,54 5912 1952
Max. 7075 257,81 18100 5629
Min. 397 4,72 1158 447
Std. dev. 1550 54,07 3947 1203

D. L-solid and Grid Environment


Fig. 10: 2D maze environment.
The environment presented includes an Lshaped robot and
a three-dimensional grid. The robot must move from one
7

side of the grid to another as exposed in Figure 12. This The RRT-Met and RRT-connect behavior, as a function of
experiment shows encouraging results when solving for a the parameter , is shown in Table V and the Figure 14.
multidimensional system. Table IV provides a summary of The reference value of is equal to the length of the narrow
data from the test. passages opening in either of its two extremes (see Figure 13).
There are two commonly-used choices for collision checking
between two configurations q and q separated by , the
incremental and the subdivision collision-checking algorithms,
as presented in [15]. The results of Table V were obtained
applying the incremental collision-checking algorithm.

TABLE V: Results for S-plane Environment.


Aver. data Alg. 2 1,5 1 0,5
time (s) A 6,99 3,94 8,88 18,54
B 3,10 2,55 2,64 4,04
CDs A 2739,12 2161,84 2943,64 4681,06
B 1201,42 1217,14 1168,98 1610,34
nodes A 510,56 438,80 606,60 1023,92
Fig. 12: L-solid and Grid Environment. B 381,80 401,74 421,84 667,04
local trees B 2,1 2,4 2,6 3,6
A = RRT-Connect; B = RRT-Met

TABLE IV: Results for L-solid and Grid Environment.


RRT-Connect 80
iterations time (s) CDs nodes 70
overpopulation of
Average 2915 30,83 4279 1364 60 nodes
Max. 9093 144,46 13131 4038 50
timee (seg.)

Min. 132 1,06 207 75


40
Std. dev. 2123 29,73 3069 946
30
RRT-Met
blockage
iterations time (s) CDs nodes 20
Average 669 11,59 1773 810 10
Max. 1594 32,31 4272 1862 0
Min. 65 0,99 184 92 0 0,5 1 1,5 2 2,5
Std. dev. 343 6,94 944 403
RRT!Connect RRT!Met

Fig. 14: Performance of RRTs in S-plane environment.

E. The effect of the parameter and narrow passages Table V shows how the average value of local trees re-
mains small, confirming the assumption that the RRT-Met
It is undeniable that the parameter plays an imprtant role self-regulates the number of local trees. It is important to
on the performance of RRT methdos. For example, in a two- understand that the RRT-Met strategy allows the existence of
dimensional environment with one convex obstacle, a large many local trees, which canbe seen as a point cloud which
makes that RRTs algorithms converge quickly to a solution. helps explore the search space; the cloud grows towards the
But in the case of narrow passages, such as that shown in global trees and the inter-tree connections is only executed
Figure 13, very small (or very large) choices of makes RRT when needed. Figure 14 displays the behavior of RRT-Met
algorithms delay greatly their convergence. under variations of , which exhibits a time response which
tends to be stable.
Several researchers have significantly improved the com-
putation speed of RRTs algorithms with efficient sampling
methods. For example, the RRT-blossom uses an implicit
flood-fill-like mechanism, a technique that is well suited for
escaping local minima in highly constrained problems [19]; the
Metric Adaptive RRT (MA-RRT), which integrates planning
and fast execution for path generation over a cost map in an
outdoor environment [20]; the DDRRT algorithm, which com-
q bines the visible Voronoi region concept and dynamic domain,
goal
q to reduce the number of expensive iterations of RRTs [21].
start
These methods can be adapted to the RRT-Met, improving the
Fig. 13: Solution in S-plane environment. performance of the resulting algorithm. Moreover, according
8

to studies in [10], strategies that use local search trees perform [11] C. Urmson, and R. Simmons, Approaches for heuristically biasing
better under the presence of narrow passages than bidirectional RRT growth, Intelligent Robots and Systems, 2003. (IROS 2003).
Proceedings. 2003 IEEE/RSJ International Conference on, vol. 2, pp.
exploring algorithms like the RRT-Connect. 1178-1183 vol.2, 2003.
[12] S. Lavalle, Rapidly-exploring random trees: A new tool for path
planning, Computer Science Dept. Iowa State University, 1998.
V. CONCLUSION [13] S. M. LaValle, and J. J. Kuffner, Jr., Randomized kinodynamic
The RRT-Met algorithm described in this paper is an effi- planning, Robotics and Automation, 1999. Proceedings. 1999 IEEE
International Conference on, vol. 1, pp. 473-479 vol.1, 1999.
cient method that solves the path planning problem for highly [14] J. J. Kuffner, Jr., and S. M. LaValle, RRT-connect: An efficient
complex environments, as is the case of narrow passages. An approach to single-query path planning, Robotics and Automation,
interesting feature of the algorithm is its ability to create local 2000. Proceedings. ICRA 00. IEEE Interna-tional Conference on, vol.
2, pp. 995-1001 vol.2, 2000.
trees automatically, without any parameter preset. We think [15] H. M. Choset, Principles of robot motion : theory, algorithms, and
this feature will be very useful in applications like autonomous implementation, Cambridge, Mass.: MIT Press, 2005.
mobile robots and assembly sequence generation. [16] Y. Kwangjin, and S. Sukkarieh, 3D smooth path planning for a UAV in
cluttered natural environments, Intelligent Robots and Systems, 2008.
The use of local tree localization, growth and connection IROS 2008. IEEE/RSJ International Conference on, pp. 794-800, 2008.
with global trees, avoids the proliferation of local trees, which [17] T. C. Hudson, M. C. Lin, J. Cohen et al., V-COLLIDE: accelerated
affects the performance of exploration strategies based on local collision detection for VRML, in Proceedings of the second symposium
on Virtual reality modeling language, Monterey, California, United
trees. However, the RRT-Met has not been tested in scenarios States, 1997, pp. 119-125.
representing very high dimensional systems. [18] M. Reggiani, M. Mazzoli, and S. Caselli, An experimental evaluation
The test results indicate a significant improvement in com- of collision detection packages for robot motion planning, Intelligent
Robots and System, 2002. IEEE/RSJ International Conference on, vol.
putation times of the RRT-Met in relation to the RRT-Connect 3, pp. 2329-2334 vol.3, 2002.
algorithm; performance was measured wide range of problems [19] M. Kalisiak, and M. van de Panne, RRT-blossom: RRT with a local
and enviornment configurations. Furthermore, it was observed flood-fill behavior, Robotics and Automation, 2006. ICRA 2006. Pro-
ceedings 2006 IEEE International Conference on, pp. 1237-1242, 2006.
that the RRT-Met behaves like an RRT-Connect algorithm in [20] L. Jinhan, C. Pippin, and T. Balch, Cost based planning with RRT in
simple environments. The current version of RRT-Met is de- outdoor environments. pp. 684-689.
vised to reduce the number of nodes required when searching [21] A. Yershova, L. Jaillet, T. Simeon et al., Dynamic-Domain RRTs:
Efficient Exploration by Controlling the Sampling Domain, Robotics
for a solution. Future work may incorporate an optimized han- and Automation, 2005. ICRA 2005. Proceedings of the 2005 IEEE
dler in order to reduce the number of NEAREST NEIGHBOR International Conference on, pp. 3856-3861, 2005.
function calls, and thus translating into reduced computational
times. Future extensions should consider the inclusion of some
optimality criteria, in particular, the shortest path criteria in
order to reduce postprocessing times.

R EFERENCES
[1] J. C. Latombe, Robot Motion Planning, Kluwer Academic Publishers,
Boston, 1991.
[2] L. Kavraki, P. Svestka, J.-C. Latombe, and M. Overmars, Probabilistic
roadmaps for path planning in high dimensional configuration spaces,
IEEE Transactions on Robotics and Automation, vol. 12, no. 4, 1996.
[3] O. Khatib, Real-time obstacle avoidance for manipulators and mobile
robots, Intemational Journal of Robotics Research, vol. 5, no. 1, pp
90-98, 1986.
[4] M. G. Park, J. H. Jeon and M. C. Lee, Obstacle Avoidance for
Mobile Robots Using Artificial Potential Field Approach with Simulated
Annealing, IEEE International Symposium on Industrial Electronics,
vol.3, pp. 1530- 1535, 2001.
[5] Y. Cen, L. Wang and H. Zhang, Real-time Obstacle Avoidance Strategy
for Mobile Robot Based On Improved Coordinating Potential Field with
Genetic Algorithm, CCA 2007. IEEE International Conference on, pp.
415 - 419, 2007.
[6] S. LaValle, J. J. Kuffner, Rapidly-exploring random trees: Progress
and prospects. In B. R. Donald, K. M. Lynch, and D. Rus, editors,
Algorithmic and Computational Robotics: New Directions, pages 293-
308. A K Peters, Wellesley, MA, 2001.
[7] M. Akinc, K. E. Bekris, B. Y. Chen et al., Probabilistic Roadmaps of
Trees for Parallel Computation of Multiple Query Roadmaps, Eleventh
Int. Symp. on Robotics Research, 2003.
[8] D. Hsu Randomized single-query motion planning in expansive
spaces, PhD thesis, Department of Computer Science, Stanford Uni-
versity, 2000.
[9] M. Strandberg, Augmenting RRT-planners with local trees, Robotics
and Automation, 2004. Proceedings. ICRA 04. 2004 IEEE International
Conference on , vol.4, pp. 3258-3262 Vol.4, April 26-May 1, 2004.
[10] M. Clifton, G. Paul, N. Kwok, D. Liu, D.L. Wang, Evaluating Per-
formance of Multiple RRTs, Mechtronic and Embedded Systems and
Applications, 2008. MESA 2008. IEEE/ASME International Conference
on, pp.564-569, 1215 Oct. 2008.

Das könnte Ihnen auch gefallen