Beruflich Dokumente
Kultur Dokumente
Por:
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.
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
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
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].
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].
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
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.
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
(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].
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].
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.
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
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.
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].
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.
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:
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].
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.
q co
di (q )
d(q, co )
,
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*
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
u(q ) J T f (x ) (2.6)
(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
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.
B A B
(a) (b)
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:
1. 0 =
2. =0
3. while > do
4. + 1 = + ()(())
5. =+1
6. end
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.
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
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
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.
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.
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.
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
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.
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
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].
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
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.
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.
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) .
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
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
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
Sm (C ) max{c d | c 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].
(P A) (B A) 0
(P A) (C A) 0
(P A) (D A) 0
(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)
(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
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.
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.
(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.
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.
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.
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
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
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.
(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].
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.
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].
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.
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
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-23: Descripcin grfica de la operacin EXTIENDE del algoritmo RRT bsico.
CONECTAR (T , q)
1. repeat
2. S EXTENDER (T , qrand )
3. until not ( S = Extendido)
4. devuelve S
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
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.
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
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)
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
a a
B
r1 B
r2
b b
a a
B
r3
B
r4
b b
q {x, y, }
Y su cinemtica directa:
A
rj (x , y, )
A
r1, Ar2 , Ar3 , Ar4
r1
r2
y B
x r4
A
r3
goal
start
Figura 2-31: Determinacin del espacio de trabajo bidimensional para un robot rectangular.
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.
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 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.
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
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
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.
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.
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 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.
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)
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.
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)
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)
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-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.
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
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:
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.
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.
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-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 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].
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.
(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.
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.
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
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].
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)
(a) (b)
(a) (b)
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
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.
(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.
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.
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.
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.
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
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
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
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.
3
Requerimientos del sistema
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.
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
Mapa de Ventanas
Mensajes de
Error y
Advertencia Ventana de
Control de VR
Ventana de Robot
Ventana Principal
AGT
Ventana de
Visualizacin de VR
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
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
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
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
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)
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.
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.
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
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-
(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
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
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
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
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,
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
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
7
cales para un punto de control en particular, el efecto Q free
start
obstculo obstculo
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
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.
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.
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.
14
ANEXO 3
Segundo Artculo.
(Path Planning Through Local Trees Exploration
with RRTs Method)
1
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)
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 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
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
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.
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.