Articulo de referencia

Exploración rápida de árboles aleatorios

Visualización de un gráfico RRT después de 45 y 390 iteraciones. Una animación de un RRT desde la iteración 0 hasta la 10000. Un árbol aleatorio de exploración rápida (RRT) es u...

Visualización de un gráfico RRT después de 45 y 390 iteraciones.
Una animación de un RRT desde la iteración 0 hasta la 10000.

Un árbol aleatorio de exploración rápida (RRT) es un algoritmo diseñado para buscar eficientemente en espacios no convexos de alta dimensión mediante la construcción aleatoria de un árbol que llena el espacio . El árbol se construye incrementalmente a partir de muestras extraídas aleatoriamente del espacio de búsqueda y está inherentemente sesgado para crecer hacia grandes áreas no exploradas del problema. Los RRT fueron desarrollados por Steven M. LaValle y James J. Kuffner Jr. [ 1 ] [ 2 ] Manejan fácilmente problemas con obstáculos y restricciones diferenciales ( no holonómicas y cinemáticas) y se han utilizado ampliamente en la planificación de movimiento robótico autónomo .

Las RRT pueden considerarse una técnica para generar trayectorias de lazo abierto para sistemas no lineales con restricciones de estado. Una RRT también puede considerarse un método de Montecarlo para sesgar la búsqueda hacia las regiones de Voronoi más grandes de un grafo en un espacio de configuración. Algunas variaciones incluso pueden considerarse fractales estocásticos . [ 3 ]

Las RRT se pueden utilizar para calcular políticas de control aproximadas para controlar sistemas no lineales de alta dimensión con restricciones de estado y acción.

Descripción

Un RRT construye un árbol con raíz en la configuración inicial mediante muestras aleatorias del espacio de búsqueda. A medida que se extrae cada muestra, se intenta establecer una conexión entre ella y el estado más cercano en el árbol. Si la conexión es factible (atraviesa completamente el espacio libre y cumple con las restricciones), se añade el nuevo estado al árbol. Con un muestreo uniforme del espacio de búsqueda, la probabilidad de expandir un estado existente es proporcional al tamaño de su región de Voronoi . Dado que las regiones de Voronoi más grandes pertenecen a los estados en la frontera de la búsqueda, esto significa que el árbol se expande preferentemente hacia grandes áreas no exploradas.

La longitud de la conexión entre el árbol y un nuevo estado suele estar limitada por un factor de crecimiento. Si la muestra aleatoria se encuentra a una distancia mayor de su estado más cercano en el árbol que la permitida por este límite, se utiliza un nuevo estado situado a la máxima distancia del árbol a lo largo de la línea que conecta con la muestra aleatoria, en lugar de la propia muestra. De este modo, se puede considerar que las muestras aleatorias controlan la dirección del crecimiento del árbol, mientras que el factor de crecimiento determina su tasa. Esto mantiene el sesgo de llenado del espacio del RRT, al tiempo que limita la magnitud del crecimiento incremental.

El crecimiento de los árboles de decisión aleatorios (RRT) puede verse sesgado al aumentar la probabilidad de muestrear estados de un área específica. La mayoría de las implementaciones prácticas de RRT utilizan este sesgo para guiar la búsqueda hacia los objetivos del problema de planificación. Esto se logra introduciendo una pequeña probabilidad de muestrear el objetivo en el procedimiento de muestreo de estados. Cuanto mayor sea esta probabilidad, más vorazmente crecerá el árbol hacia el objetivo.

Algoritmo

Para un espacio de configuración general C , el algoritmo en pseudocódigo es el siguiente:

Construir algoritmo RRT Entrada: Configuración inicial q init , número de vértices en RRT K , distancia incremental Δq. Salida: Grafo RRT G.G.init ( q init ) para k = 1 a K hacer q rand ← RAND_CONF() q near ← NEAREST_VERTEX( q rand , G ) q new ← NEW_CONF( q near , q rand , Δq ) G.add_vertex ( q new ) G.add_edge ( q near , q new ) retornar G
  • " " denota asignación . Por ejemplo, " largest item " significa que el valor de largest cambia al valor de item .
  • " return " finaliza el algoritmo y genera el siguiente valor.

En el algoritmo anterior, " RAND_CONF " selecciona una configuración aleatoria q rand en C. Esto puede reemplazarse con una función " RAND_FREE_CONF " que utiliza muestras en C free , mientras rechaza las que se encuentran en C obs mediante algún algoritmo de detección de colisiones .

" NEAREST_VERTEX " es una función que recorre todos los vértices v en el grafo G , calcula la distancia entre q y v utilizando alguna función de medición y devuelve el vértice más cercano.

" NEW_CONF " selecciona una nueva configuración q new moviéndose una distancia incremental Δq desde q near en la dirección de q rand . (Según [ 4 ] , en problemas holonómicos, esto debería omitirse y utilizarse q rand en lugar de q new ).

Variantes y mejoras para la planificación de movimientos

Se ha demostrado que, bajo «condiciones técnicas moderadas», el coste de la mejor ruta en el RRT converge casi con seguridad a un valor no óptimo. [ 5 ] Por ello, es deseable encontrar variantes del RRT que converjan a un óptimo, como el RRT*. A continuación se presenta una lista de métodos basados ​​en el RRT* (comenzando con el propio RRT*). Sin embargo, no todos los métodos derivados convergen a un óptimo.

  • RRT + , [ 9 ] una familia de planificadores basados ​​en RRT que tienen como objetivo generar soluciones para sistemas de alta dimensión en tiempo real, mediante la búsqueda progresiva en subespacios de menor dimensión.
  • RRT*-Smart, [ 10 ] un método para acelerar la tasa de convergencia de RRT* mediante la optimización de rutas (de forma similar a Theta* ) y el muestreo inteligente (sesgando el muestreo hacia los vértices de la ruta que, después de la optimización de la ruta, tienen más probabilidades de estar cerca de obstáculos).
  • A*-RRT y A*-RRT*, [ 11 ] un método de planificación de movimiento de dos fases que utiliza un algoritmo de búsqueda de grafos para buscar una ruta factible inicial en un espacio de baja dimensión (sin considerar el espacio de estados completo) en una primera fase, evitando áreas peligrosas y prefiriendo rutas de bajo riesgo, que luego se utiliza para enfocar la búsqueda RRT* en el espacio continuo de alta dimensión en una segunda fase.
  • RRT*FN, [ 12 ] [ 13 ] [ 14 ] RRT* con un número fijo de nodos, que elimina aleatoriamente un nodo hoja en el árbol en cada iteración
  • RRT*-AR, [ 15 ] planificación de rutas alternativas basada en muestreo
  • RRT* en tiempo real (RT-RRT*), [ 18 ] una variante de RRT* y RRT* informado que utiliza una estrategia de reconfiguración de árboles en línea que permite que la raíz del árbol se mueva con el agente sin descartar rutas muestreadas previamente, con el fin de obtener planificación de rutas en tiempo real en un entorno dinámico como un juego de computadora.
  • RRT X y RRT # , [ 19 ] [ 20 ] optimización de RRT* para entornos dinámicos
  • APF-RRT, [ 25 ] una combinación del planificador RRT con el método de campos potenciales artificiales que simplifica la tarea de replanificación.
  • CERRT, [ 26 ] un planificador RRT modelando la incertidumbre, que se reduce explotando los contactos
  • MVRRT*, [ 27 ] RRT* de mínima violación, un algoritmo que encuentra la ruta más corta que minimiza el nivel de inseguridad (el "costo" de las reglas ambientales que se han violado, por ejemplo, leyes de tránsito)
  • RRT-Blossom, [ 28 ] Planificador RRT para entornos altamente restringidos.
  • RRV, [ 29 ] expande eficientemente el árbol alrededor de obstáculos y a través de pasajes estrechos, utilizando vectores propios dominantes alrededor de los nodos del árbol.
  • RBT, [ 30 ] utiliza cálculos de distancia simples en el espacio de trabajo para expandir el árbol en lugar de una costosa comprobación de colisión.
  • TB-RRT, [ 31 ] Algoritmo RRT basado en el tiempo para la planificación de encuentros de dos sistemas dinámicos.
  • RRdT*, [ 32 ] [ 33 ] un planificador basado en RRT* que utiliza múltiples árboles locales para equilibrar activamente la exploración y explotación del espacio mediante la realización de muestreos locales.
  • Tri-RRT-Connect, [ 34 ] [ 35 ] Método de recableado basado en desigualdad triangular con algoritmo RRT-Connect para acercarlo al óptimo.
  • RRT-Rope, [ 36 ] un método para la planificación de rutas rápidas casi óptimas que utiliza un enfoque de acortamiento determinista, muy eficaz en entornos abiertos y grandes.
  • RRT dirigidos por juegos parciales (PDRRT), [ 37 ] un método que combina RRT con el método de juegos parciales [ 38 ] para refinar la búsqueda donde sea necesario (por ejemplo, alrededor de obstáculos) para poder planificar más rápido y resolver más problemas de planificación de movimiento que RRT
  • El algoritmo CL-RRT (Closed-loop quickly exploring random), [ 39 ] es una extensión del algoritmo RRT que muestrea una entrada a un sistema estable de bucle cerrado compuesto por el vehículo y un controlador.
  • Árboles informados adaptativamente (AIT*) y árboles informados por el esfuerzo (EIT*) [ 40 ]

Véase también

Referencias

  1. LaValle, Steven M. (octubre de 1998). "Árboles aleatorios de exploración rápida: una nueva herramienta para la planificación de rutas" (PDF) . Informe técnico (TR 98–11). Departamento de Ciencias de la Computación, Universidad Estatal de Iowa.
  2. LaValle, Steven M. ; Kuffner Jr., James J. (2001). "Planificación cinedinámica aleatoria" (PDF) . The International Journal of Robotics Research . 20 (5): 378– 400. doi : 10.1177/02783640122067453 . S2CID 40479452 . 
  3. http://msl.cs.uiuc.edu/rrt/about.html Archivado el 21/10/2007 en Wayback Machine. Acerca de los RRT, por Steve LaValle.
  4. Exploración rápida de árboles aleatorios: progreso y perspectivas (2000), por Steven M. Lavalle, James J. Kuffner, Jr. Robótica algorítmica y computacional: nuevas direcciones, http://eprints.kfupm.edu.sa/60786/1/60786.pdf
  5. 1 2 Karaman, Sertac; Frazzoli, Emilio (3 de mayo de 2010). "Algoritmos basados ​​en muestreo incremental para la planificación óptima del movimiento". arXiv : 1005.0416 [ cs.RO ].
  6. Karaman, Sertac; Frazzoli, Emilio (5 de mayo de 2011). "Algoritmos basados ​​en muestreo para la planificación óptima del movimiento". arXiv : 1105.1186 [ cs.RO ].
  7. OlzhasAdi (26 de enero de 2015). "RRT* Breve explicación" (vídeo) . YouTube . Archivado del original el 12 de diciembre de 2021. Consultado el 3 de agosto de 2016 .
  8. Pérez, Alejandro; Platt, Robert; Konidaris, George; Kaelbling, Leslie; Lozano-Pérez, Tomás (mayo de 2012). "LQR-RRT*: Planificación de movimiento óptima basada en muestreo con heurísticas de extensión derivadas automáticamente". 2012 IEEE International Conference on Robotics and Automation . pp. 2537–2542 . doi : 10.1109/ICRA.2012.6225177 . ISBN  978-1-4673-1405-3. S2CID 1914056 . 
  9. Xanthidis, Marios; Esposito, Joel M.; Rekleitis, Ioannis; O'Kane, Jason M. (2020-12-01). "Planificación de movimiento mediante muestreo en subespacios de dimensión progresivamente creciente" . Journal of Intelligent & Robotic Systems . 100 (3): 777– 789. doi : 10.1007/s10846-020-01217-w . ISSN 1573-0409 . S2CID 3622004 .  
  10. Islam, Fahad; Nasir, Jauwairia; Malik, Usman; Ayaz, Yasar; Hasan, Osman; " RRT*-Smart: Implementación de convergencia rápida de RRT* hacia la solución óptima ", en Actas de la Conferencia Internacional IEEE sobre Mecatrónica y Automatización (ICMA) , páginas 1651–1656, Chengdu, China, agosto de 2012.
  11. Brunner, M.; Bruggemann, B.; Schulz, D.. " Planificación jerárquica de movimiento en terrenos irregulares mediante un método óptimo basado en muestreo ", en Conferencia Internacional sobre Robótica y Automatización (ICRA) , Karlsruhe, Alemania, 2013.
  12. Adiyatov, Olzhas; Varol, Huseyin Atakan. "Planificación de movimiento eficiente en memoria basada en árboles aleatorios de exploración rápida". En Mechatronics and Automation (ICMA), 2013 IEEE International Conference on , páginas 354–359, 2013. doi : 10.1109/ICMA.2013.6617944
  13. Adiyatov, Olzhas; Varol, Atakan (2013). "Caja de herramientas de MATLAB de algoritmos RRT, RRT* y RRT*FN" . Recuperado el 3 de agosto de 2016 .
  14. OlzhasAdi (26 de enero de 2015). "RRT*FN Breve explicación" (vídeo) . YouTube . Archivado del original el 12 de diciembre de 2021. Consultado el 3 de agosto de 2016 .
  15. Choudhury, Sanjiban; Scherer, Sebastian; Singh, Sanjiv. " RRT*-AR: Planificación de rutas alternativas basada en muestreo con aplicaciones al aterrizaje de emergencia autónomo de un helicóptero ". En Robotics and Automation (ICRA), 2013 IEEE International Conference on , Karlsruhe, 6–10 de mayo de 2013, páginas 3947–3952. doi : 10.1109/ICRA.2013.6631133
  16. Gammell, Jonathan D.; Srinivasa, Siddhartha S.; Barfoot, Timothy D. (8 de abril de 2014). "RRT informado*: Planificación de trayectorias óptima basada en muestreo, enfocada mediante muestreo directo de una heurística elipsoidal admisible". Conferencia Internacional IEEE/RSJ de 2014 sobre Robots y Sistemas Inteligentes . págs. 2997–3004 . arXiv : 1404.2334 . doi : 10.1109 /IROS.2014.6942976 . ISBN  978-1-4799-6934-0. S2CID 12233239 . 
  17. utiasASRL (4 de julio de 2014). "RRT informado* @ UTIAS (IROS 2014)" (vídeo) . YouTube . Archivado del original el 12 de diciembre de 2021. Consultado el 3 de agosto de 2016 .
  18. ^ Naderi, Kourosh; Rajamäki, Joose; Hämäläinen, Perttu (2015). " RT-RRT*: un algoritmo de planificación de rutas en tiempo real basado en RRT* ". En actas de la octava conferencia ACM SIGGRAPH sobre movimiento en juegos (MIG '15). ACM, Nueva York, NY, EE. UU., 113–118. doi : 10.1145/2822013.2822036
  19. "RRT X : Planificación/replanificación de movimiento en tiempo real para entornos con obstáculos impredecibles" (PDF) . Archivado del original (PDF) el 19 de mayo de 2017. Consultado el 2 de marzo de 2018 .
  20. Comparación de RRTX, RRT# y RRT* cuando se descubre un acceso directo en un entorno estático
  21. Palmieri, Luigi; Koenig, Sven ; Arras, Kai O. " Planificación de movimiento no holonómico basada en RRT utilizando sesgo de trayectoria de cualquier ángulo ". En Robotics and Automation (ICRA), 2016 Proceedings of the IEEE International Conference on , páginas 2775-2781, 2016.
  22. RRT* FND - planificación de movimiento en entornos dinámicos
  23. Adiyatov, Olzhas; Varol, Huseyin Atakan. "Un nuevo algoritmo basado en RRT para la planificación de movimiento en entornos dinámicos". En Mechatronics and Automation (ICMA), 2017 IEEE International Conference on , páginas 1416-1421, 2017. doi : 10.1109/ICMA.2017.8016024
  24. Ford, Christen (2018-06-12). RRT-GPU y Minecraft: Exploración rápida de árboles aleatorios en tres dimensiones acelerada por hardware (Tesis). doi : 10.13140/rg.2.2.15658.11207 .
  25. Amiryan, Javad; Jamzad, Mansour (2015). Planificación de movimiento adaptativa con campos de potencial artificial utilizando una trayectoria previa . Robótica y Mecatrónica (ICROM), 3.ª Conferencia Internacional RSI de 2015. págs. 731–736 . 
  26. Sieverling, Arne; Eppner, Clemens; Wolff, Felix; Brock, Oliver (2017). Intercalación de movimiento en contacto y en espacio libre para la planificación bajo incertidumbre (PDF) . Conferencia Internacional IEEE/RSJ de 2017 sobre Robots y Sistemas Inteligentes (IROS). pp. 4011–4073 . 
  27. Rus, Daniela; Frazzoli, Emilio; Karaman, Sertac; Tumova, Jana; Chaudhari, Pratik; Castro, Luis I. Reyes (2013-05-06). "Algoritmo basado en muestreo incremental para la planificación de movimiento con mínima violación". arXiv : 1305.1102 [ cs.RO ].
  28. «Maciej Kalisiak - RRT-floración» . www.dgp.toronto.edu . Consultado el 18 de enero de 2020 .
  29. Tahirovic, Adnan; Ferizbegovic, Mina (mayo de 2018). «Rapidly-Exploring Random Vines (RRV) for Motion Planning in Configuration Spaces with Narrow Passages». 2018 IEEE International Conference on Robotics and Automation (ICRA) . pp. 7055–7062 . doi : 10.1109/ICRA.2018.8460186 . ISBN  978-1-5386-3081-5. S2CID 52285080 . 
  30. Lacevic, Bakir; Osmankovic, Dinko; Ademovic, Adnan (mayo de 2016). "Burs of free C-space: A novel structure for path planning". 2016 IEEE International Conference on Robotics and Automation (ICRA) . pp. 70–76 . doi : 10.1109/ICRA.2016.7487117 . ISBN  978-1-4673-8026-3. S2CID 15834630 . 
  31. Sintov, Avishai; Shapiro, Amir (2014). "Algoritmo RRT basado en el tiempo para la planificación de encuentros de dos sistemas dinámicos". 2014 IEEE International Conference on Robotics and Automation (ICRA) . IEEE International Conference on Robotics and Automation (ICRA). pp. 6745–6750 . doi : 10.1109/ICRA.2014.6907855 . ISBN  978-1-4799-3685-4.
  32. Lai, Tin; Ramos, Fabio; Francis, Gilad (2019). "Equilibrando la exploración global y la explotación de la conectividad local con árboles disjuntos aleatorios de exploración rápida". Conferencia Internacional de Robótica y Automatización (ICRA) de 2019. Montreal, QC, Canadá: IEEE. pp. 5537–5543 . arXiv : 1810.03749 . doi : 10.1109/ICRA.2019.8793618 . ISBN  978-1-5386-6027-0. S2CID 52945105 . 
  33. Lai, Tin; Morere, Philippe; Ramos, Fabio; Francis, Gilad (abril de 2020). "Planificación bayesiana basada en muestreo local". IEEE Robotics and Automation Letters . 5 (2): 1954– 1961. arXiv : 1909.03452 . Bibcode : 2020IRAL....5.1954L . doi : 10.1109/LRA.2020.2969145 . S2CID 210838739 . 
  34. Kang, Jin-Gu; Lim, Dong-Woo; Choi, Yong-Sik; Jang, Woo-Jin; Jung, Jin-Woo (2021-01-06). "Algoritmo RRT-Connect mejorado basado en desigualdad triangular para la planificación de trayectorias de robots" . Sensors . 21 ( 2): 333. Bibcode : 2021Senso..21..333K . doi : 10.3390/s21020333 . ISSN 1424-8220 . PMC 7825297. PMID 33419005. S2CID 231303809 .    
  35. Kang, Jin-Gu; Jung, Jin-Woo (12 de julio de 2021). "Método de recableado post triangular para la planificación de trayectorias de robots RRT más cortas". arXiv : 2107.05344 [ cs.RO ].
  36. Petit, Louis; Desbiens, Alexis Lussier (17 de octubre de 2021). «RRT-Rope: Un enfoque de acortamiento determinista para la planificación rápida de rutas casi óptimas en entornos 3D despejados a gran escala». 2021 IEEE International Conference on Systems, Man, and Cybernetics (SMC) . Melbourne, Australia: IEEE. pp. 1111–1118 . doi : 10.1109/SMC52423.2021.9659071 . ISBN  978-1-6654-4207-7. S2CID 252590377 . 
  37. Ranganathan, Ananth; Koenig, Sven . PDRRTs: " Integración de la planificación basada en grafos y en celdas ". En Actas de la Conferencia Internacional IEEE sobre Robots y Sistemas Inteligentes (IROS) , páginas 2799–2808, 2004.
  38. Moore, AW; Atkeson, CG, " El algoritmo de juego parti para el aprendizaje por refuerzo de resolución variable en espacios de estados multidimensionales ", Machine Learning , vol. 21, n.º 3, páginas 199-233, 1995.
  39. Kuwata, Yoshiaki; Teo, Justin; Fiore, Gaston; Karaman, Sertac; Frazzoli, Emilio; How, Jonathan P. (septiembre de 2009). "Planificación de movimiento en tiempo real con aplicaciones a la conducción urbana autónoma" (PDF) . IEEE Transactions on Control Systems Technology . 17 (5): 1105– 1118. Bibcode : 2009ITCST..17.1105K . CiteSeerX 10.1.1.169.7922 . doi : 10.1109/tcst.2008.2012116 . hdl : 1721.1/52527 . S2CID 14526513. Archivado del original (PDF) el 12 de junio de 2021 . Consultado el 10 de abril de 2017 .  
  40. Strub, Marlin P.; Gammell, Jonathan D. (2022). "Árboles informados adaptativamente (AIT*) y árboles informados por el esfuerzo (EIT*): planificación de trayectorias basada en muestreo bidireccional asimétrico". The International Journal of Robotics Research . 41 (4): 390– 417. arXiv : 2111.01877 . doi : 10.1177/02783649211069572 .
  • Logotipo de Wikimedia CommonsContenido multimedia relacionado con la exploración rápida de árboles aleatorios en Wikimedia Commons.
  • Visualizador Java de RRT y RRT* que incluye editor de mapas
  • Implementación en C++ de RRT utilizando las rutas de tiempo mínimo de Dubins.
  • Implementación de RRT* de la biblioteca de planificación de movimiento abierto