
Los algoritmos de planificación de rutas de cualquier ángulo son algoritmos de búsqueda de rutas que buscan la ruta euclidiana más corta entre dos puntos en un mapa de cuadrícula , permitiendo que los giros en la ruta tengan cualquier ángulo. El resultado es una ruta que atraviesa directamente áreas abiertas y tiene relativamente pocos giros. [ 1 ] Los algoritmos de búsqueda de rutas más tradicionales, como A*, o bien tienen un rendimiento deficiente o producen rutas irregulares e indirectas.
Fondo
Los mapas del mundo real y de muchos videojuegos tienen áreas abiertas que se recorren de forma más eficiente de manera directa. Los algoritmos tradicionales no están bien preparados para resolver estos problemas:
- A* con un grafo de cuadrícula discreta de 8 conexiones (2D; 26 para el grafo cúbico triple 3D ) es muy rápido, pero solo considera caminos en incrementos de 45 grados. Este comportamiento proporciona en promedio un 8% de longitud de camino adicional en 2D y un 13% en 3D. [ 2 ] : 60, 69 Se puede utilizar un paso rápido de pos-suavizado para enderezar (y así acortar) la salida irregular, pero no se garantiza que el resultado sea óptimo ya que no considera todos los caminos posibles. (Más específicamente, no pueden cambiar qué lado de una celda bloqueada se recorre). La ventaja es que todas las optimizaciones de A* de cuadrícula, como la búsqueda de puntos de salto, se aplicarán.
- Se puede buscar con A* la solución óptima en un espacio 2D en un grafo de visibilidad con todos los puntos de la cuadrícula. Sin embargo, el rendimiento es problemático ya que el número de aristas en un grafo convértices es. Dicho gráfico no siempre proporciona una solución óptima en el espacio 3D. [ 2 ]
Un algoritmo de planificación de trayectorias para cualquier ángulo busca generar soluciones óptimas o casi óptimas en menos tiempo que el enfoque básico del grafo de visibilidad. Los algoritmos rápidos para cualquier ángulo tardan aproximadamente el mismo tiempo en calcularse que una solución basada en cuadrícula.
Definiciones
- Camino tenso
- Un camino donde cada cambio de dirección se ajusta perfectamente a algún obstáculo. Para una cuadrícula uniforme, solo los caminos ajustados pueden ser óptimos.
- Fuente única
- Un problema de búsqueda de rutas que busca encontrar el camino más corto a todas las partes del grafo, partiendo de un vértice.
Algoritmos
Basado en A*
Hasta ahora, se han desarrollado cinco algoritmos principales de planificación de trayectorias en cualquier ángulo que se basan en el algoritmo de búsqueda heurística A* [ 3 ] , todos los cuales propagan información a lo largo de los bordes de la cuadrícula:
- Campo D* [ 4 ] [ 5 ] (FD* [ 6 ] ) y Campo D* 3D [ 7 ] [ 8 ] - Algoritmos de búsqueda de caminos dinámicos basados en D* que utilizan interpolación durante la expansión de cada vértice y encuentran caminos casi óptimos a través de cuadrículas de costo regulares y no uniformes. Por lo tanto, Campo D* intenta resolver el problema de la región ponderada [ 9 ] y Campo D* 3D el problema tridimensional correspondiente.
- Campo D* de multirresolución [ 10 ] – Extensión del campo D* para cuadrículas de multirresolución.
- Theta* [ 6 ] [ 11 ] - Utiliza el mismo bucle principal que A*, pero para cada expansión de un vértice, hay una comprobación de línea de visión entrey el sucesor de,. Si hay línea de visión, el camino desdease utiliza ya que siempre será al menos tan corto como el camino desdeaya. Este algoritmo funciona solo en cuadrículas de costo uniforme. [ 6 ] AP Theta* [ 6 ] [ 11 ] es una optimización de Theta* que utiliza propagación angular para disminuir el costo de realizar cálculos de línea de visión a O (1) .
- Lazy Theta* [ 12 ] es otra optimización de Theta* que utiliza evaluación diferida para reducir el número de cálculos de línea de visión, retrasando dichos cálculos para cada nodo desde su exploración hasta su expansión. Es lo suficientemente potente como para funcionar en un espacio 3D.
- Incremental Phi* [ 13 ] es una variante incremental y más eficiente de Theta* diseñada para entornos 2D desconocidos. [ 2 ]
- Strict Theta* y Recursive Strict Theta* [ 14 ] mejoran Theta* al restringir el espacio de búsqueda a los caminos Taut introducidos por ANYA. Al igual que Theta*, este es un algoritmo que devuelve caminos casi óptimos.
- Bloque A* [ 15 ] - Genera una base de datos de distancia local que contiene todos los caminos posibles en una pequeña sección de la cuadrícula. Hace referencia a esta base de datos para encontrar rápidamente caminos de cualquier ángulo por partes.
- ANYA [ 16 ] - Encuentra trayectorias óptimas en cualquier ángulo restringiendo el espacio de búsqueda a las trayectorias Taut (una trayectoria donde cada cambio de rumbo se ajusta perfectamente a algún obstáculo); considerando un intervalo de puntos como un nodo en lugar de un solo punto. Es la técnica óptima en línea más rápida conocida. Este algoritmo está restringido a cuadrículas 2D.
- CWave [ 17 ] [ 18 ] - Utiliza primitivas geométricas (arcos y líneas circulares discretas) para representar el frente de onda propagante en la cuadrícula. Para la planificación de trayectorias desde una única fuente en mapas prácticos, se ha demostrado que es más rápido que los métodos basados en búsqueda en grafos. Existen implementaciones óptimas y con aritmética entera.
También existen algoritmos basados en A* distintos de la familia anterior:
- El rendimiento de un enfoque de grafo de visibilidad puede mejorarse considerablemente mediante un enfoque disperso que solo considera aristas capaces de formar caminos tensos. Se sabe que una versión multinivel llamada ENLSVG es más rápida que ANYA, pero solo puede utilizarse con preprocesamiento. [ 19 ]
- PolyAnya generaliza ANYA para trabajar en mapas no cuadriculados con obstáculos poligonales. [ 20 ] Es rápido, no requiere preprocesamiento (a diferencia de ENLSVG) y es óptimo (a diferencia de RRT).
- De forma similar a la solución RRT que se analiza más adelante, a menudo es necesario tener en cuenta también las restricciones de dirección al pilotar un vehículo real. El algoritmo A* híbrido es una extensión de A* que considera dos dimensiones adicionales que representan el estado del vehículo, de modo que las trayectorias sean realmente posibles. Fue creado por Stanford Racing como parte del sistema de navegación de Junior, su vehículo participante en el DARPA Urban Challenge . [ 21 ] Peterit et al. [ 22 ] ofrecen una explicación más detallada.
Basado en RRT
Además, para la búsqueda en espacios de búsqueda de alta dimensión, como cuando el espacio de configuración del sistema involucra muchos grados de libertad que deben considerarse (ver Planificación de movimiento ) y/o se debe considerar el momento (lo que podría duplicar efectivamente el número de dimensiones del espacio de búsqueda; este espacio más grande que incluye el momento se conoce como el espacio de fase ), se han desarrollado variantes del árbol aleatorio de exploración rápida (RRT) [ 23 ] que (casi con seguridad) convergen a la ruta óptima al encontrar rutas cada vez más cortas:
- Grafo aleatorio de exploración rápida (RRG) y RRT* [ 24 ] [ 25 ]
- Informed RRT* [ 26 ] mejora la velocidad de convergencia de RRT* al introducir una heurística, similar a la forma en que A* mejora el algoritmo de Dijkstra .
Otros algoritmos
Aplicaciones
La planificación de trayectorias en cualquier ángulo es útil para la navegación de robots y juegos de estrategia en tiempo real donde se buscan trayectorias más óptimas. El algoritmo A* híbrido, por ejemplo, se utilizó como propuesta para un desafío de DARPA. [ 21 ] Las propiedades de control de la dirección de algunos ejemplos también se aplican a los coches autónomos.
Véase también
- Planificación de movimiento : problema computacional
Referencias
- ↑ Tansel Uras y Sven Koenig. Una comparación empírica de algoritmos de planificación de rutas en cualquier ángulo . Actas del Octavo Simposio Internacional sobre Búsqueda Combinatoria.
- 1 2 3 A. Nash. Planificación de trayectorias en cualquier ángulo . Tesis doctoral, Departamento de Ciencias de la Computación, Universidad del Sur de California, Los Ángeles (California), 2012.
- ↑ P. Hart, N. Nilsson y B. Raphael, Una base formal para la determinación heurística de rutas de costo mínimo , IEEE Trans. Syst. Science and Cybernetics , SSC-4(2), 100-107, 1968.
- ↑ D. Ferguson y A. Stentz. Field D*: Un planificador y replanificador de trayectorias basado en interpolación . Actas del Simposio Internacional sobre Investigación en Robótica , 2005.
- ↑ David Ferguson y Anthony (Tony) Stentz, " El algoritmo Field D* para la planificación y replanificación de trayectorias mejoradas en entornos de costos uniformes y no uniformes ", informe técnico CMU-RI-TR-05-19, Instituto de Robótica, Universidad Carnegie Mellon, junio de 2005.
- 1 2 3 4 A. Nash, K. Daniel, S. Koenig y A. Felner. Theta*: Planificación de trayectorias en cualquier ángulo en cuadrículas . En Actas de la Conferencia AAAI sobre Inteligencia Artificial , páginas 1177–1183, 2007.
- ↑ Carsten, Joseph; Ferguson, Dave; Stentz, Anthony (9–15 de octubre de 2006). "3D Field D*: Planificación y replanificación de trayectorias mejoradas en tres dimensiones" (PDF) . Robots y sistemas inteligentes, Conferencia internacional IEEE/RSJ de 2006 sobre robots y sistemas inteligentes. Actas de la Conferencia internacional IEEE/RSJ de 2006 sobre robots y sistemas inteligentes. Pekín, China: IEEE . págs. 3381–3386 . doi : 10.1109/IROS.2006.282516 . Consultado el 7 de noviembre de 2014 .
- ↑ Carsten, J.; Ferguson, D.; Stentz, A. (2006). "3D Field D: Planificación y replanificación de trayectorias mejoradas en tres dimensiones". 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems . p. 3381. CiteSeerX 10.1.1.188.150 . doi : 10.1109/IROS.2006.282516 . ISBN 978-1-4244-0258-8. S2CID 1845942 .
- ↑ Mitchell, JSB; Papadimitriou, CH (1991). "El problema de la región ponderada: encontrar caminos más cortos a través de una subdivisión planar ponderada". Journal of the ACM . 38 : 18–73 . doi : 10.1145/102782.102784 . hdl : 1813/8768 . S2CID 12673773 .
- ↑ Dave Ferguson y Anthony Stentz. Campo D* de multirresolución . Actas de la Conferencia Internacional sobre Inteligencia, 2006.
- 1 2 Daniel, K.; Nash, A.; Koenig, S.; Felner, A. (2010). "Theta*: Planificación de rutas en cualquier ángulo en cuadrículas" (PDF) . Journal of Artificial Intelligence Research . 39 : 533–579 . doi : 10.1613/jair.2994 .
- ↑ Nash, A.; Koenig, S.; Tovey, C. (2010). "Lazy Theta*: Planificación de trayectorias en cualquier ángulo y análisis de longitud de trayectoria en 3D" (PDF) . Actas de la Conferencia AAAI sobre Inteligencia Artificial . 24 : 147–154 . doi : 10.1609/aaai.v24i1.7566 . S2CID 3754577 .
- ↑ Nash, A.; Koenig, S.; Likhachev, M. (2009). "Incremental Phi*: Planificación incremental de trayectorias en cualquier ángulo en cuadrículas" (PDF) . Actas de la Conferencia Internacional Conjunta sobre Inteligencia Artificial : 1824–1830 .
- ↑ Shunhao Oh, Hon Wai Leong, 2016. Strict Theta*: Planificación de trayectorias de movimiento más cortas mediante trayectorias tensas. En Actas de la Vigésimo Sexta Conferencia Internacional sobre Planificación y Programación Automatizadas. https://www.aaai.org/ocs/index.php/ICAPS/ICAPS16/paper/view/13049
- ↑ P. Yap, N. Burch, R. Holte y J. Schaeffer, Block A*: Búsqueda basada en bases de datos con aplicaciones en la planificación de rutas en cualquier ángulo . Actas de la Vigésimo Quinta Conferencia AAAI sobre Inteligencia Artificial, 2011.
- ↑ Daniel Harabor y Alban Grastien. Un algoritmo óptimo de búsqueda de rutas en cualquier ángulo . Actas de la Vigésimo Tercera Conferencia Internacional sobre Planificación y Programación Automatizadas.
- ↑ Sinyukov, Dmitry A.; Padir, Taskin (mayo-junio de 2017). "CWave: Planificación de trayectorias de alto rendimiento desde una única fuente y en cualquier ángulo en una cuadrícula". Actas de la Conferencia Internacional IEEE de Robótica y Automatización (ICRA) de 2017. Conferencia Internacional IEEE de Robótica y Automatización (ICRA) de 2017. Singapur: IEEE . págs. 6190–6197 . doi : 10.1109/ICRA.2017.7989733 .
- ↑ Sinyukov, Dmitry A.; Padir, Taskin (2020). "CWave: Teoría y práctica de un algoritmo rápido de planificación de trayectorias de cualquier ángulo con una sola fuente". Robotica . 38 (2). Cambridge University Press: 207– 234. doi : 10.1017/S0263574719000560 . S2CID 182189674 .
- ↑ Oh, Shunhao; Leong, Hon Wai (5 de junio de 2017). "Grafos de visibilidad dispersa de N niveles de aristas: búsqueda de rutas óptimas rápidas en cualquier ángulo mediante rutas tensas jerárquicas" . Décimo Simposio Anual sobre Búsqueda Combinatoria . arXiv : 1702.01524 .
- ↑ Cui, Michael; Harabor, Daniel D.; Grastien, Alban (2017). «Compromise-free Pathfinding on a Navigation Mesh» . Actas de la Vigésimo Sexta Conferencia Internacional Conjunta sobre Inteligencia Artificial . págs. 496–502 . doi : 10.24963/ijcai.2017/70 . ISBN 978-0-9992411-0-3.
- 1 2 Junior: La propuesta de Stanford en el Desafío Urbano
- ↑ Petereit, Janko; Emter, Thomas; Frey, Christian W.; Kopfstedt, Thomas; Beutel, Andreas (mayo de 2012). "Aplicación del algoritmo híbrido A* a un robot móvil autónomo para la planificación de rutas en entornos exteriores no estructurados" . ROBOTIK 2012; 7.ª Conferencia Alemana sobre Robótica : 1–6 .
- ↑ 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).
- ↑ 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 ].
- ↑ 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 ].
- ↑ Gammell, Jonathan D.; Srinivasa, Siddhartha S.; Barfoot, Timothy D. (2014). "RRT informado*: Planificación de rutas óptima basada en muestreo enfocado mediante muestreo directo de una heurística elipsoidal admisible". 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems . pp. 2997–3004 . arXiv : 1404.2334 . doi : 10.1109/IROS.2014.6942976 . ISBN 978-1-4799-6934-0.
Enlaces externos
- Lazy Theta*: Planificación de trayectorias más rápida desde cualquier ángulo
- A. Nash y S. Koenig. Planificación de trayectorias en cualquier ángulo . Artificial Intelligence Magazine , 34, (4), 85-107, 2013.
- Búsqueda de rutas desde cualquier ángulo , código de demostración de código abierto de Shunhao Oh
- Planificación de rutas
- Navegación robótica