Articulo de referencia

Planificación de movimiento

La planificación de movimiento , también conocida como planificación de trayectorias (o problema de navegación o problema del transportista de pianos ), es un problema computaci...

La planificación de movimiento , también conocida como planificación de trayectorias (o problema de navegación o problema del transportista de pianos ), es un problema computacional que consiste en encontrar una secuencia de configuraciones válidas que permitan mover un objeto desde su origen hasta su destino. Este término se utiliza en geometría computacional , animación por computadora , robótica y videojuegos .

Por ejemplo, consideremos la navegación de un robot móvil dentro de un edificio hasta un punto de referencia distante. Debe realizar esta tarea evitando las paredes y sin caer por las escaleras. Un algoritmo de planificación de movimiento tomaría como entrada una descripción de estas tareas y generaría las órdenes de velocidad y giro que se enviarían a las ruedas del robot. Los algoritmos de planificación de movimiento podrían aplicarse a robots con un mayor número de articulaciones (por ejemplo, manipuladores industriales), tareas más complejas (por ejemplo, manipulación de objetos), diferentes restricciones (por ejemplo, un automóvil que solo puede avanzar) e incertidumbre (por ejemplo, modelos imperfectos del entorno o del robot).

La planificación de movimientos tiene diversas aplicaciones en robótica, como la autonomía , la automatización y el diseño de robots en software CAD , así como aplicaciones en otros campos, como la animación de personajes digitales , videojuegos , diseño arquitectónico , cirugía robótica y el estudio de moléculas biológicas .

Conceptos

Ejemplo de un espacio de trabajo
Espacio de configuración de un robot de tamaño puntual. Blanco = C libre , gris = C obs .
Espacio de configuración para un robot de traslación rectangular (en la imagen, en rojo). Blanco = C libre , gris = C obs , donde gris oscuro = los objetos, gris claro = configuraciones en las que el robot tocaría un objeto o abandonaría el espacio de trabajo.
Ejemplo de una ruta válida
Ejemplo de ruta no válida
Ejemplo de un mapa de carreteras

Un problema básico de planificación de movimiento consiste en calcular una trayectoria continua que conecte una configuración inicial S con una configuración final G, evitando colisiones con obstáculos conocidos. La geometría del robot y de los obstáculos se describe en un espacio de trabajo 2D o 3D, mientras que el movimiento se representa como una trayectoria en un espacio de configuración (posiblemente de mayor dimensión) .

Espacio de configuración

Una configuración describe la postura del robot, y el espacio de configuración C es el conjunto de todas las configuraciones posibles. Por ejemplo:

  • Si el robot es un punto único (de tamaño cero) que se traslada en un plano bidimensional (el espacio de trabajo), C es un plano y una configuración se puede representar usando dos parámetros (x, y).
  • Si el robot es una figura 2D que puede trasladarse y rotar, el espacio de trabajo sigue siendo bidimensional. Sin embargo, C es el grupo euclidiano especial SE (2) = R 2×{\displaystyle \times }SO (2) (donde SO (2) es el grupo ortogonal especial de rotaciones 2D), y una configuración se puede representar usando 3 parámetros (x, y, θ).
  • Si el robot es una figura sólida 3D que puede trasladarse y rotar, el espacio de trabajo es tridimensional, pero C es el grupo euclidiano especial SE(3) = R 3×{\displaystyle \times }SO (3), entonces la configuración requiere 6 parámetros: (x, y, z) para la traslación y los ángulos de Euler (α, β, γ).
  • Si el robot es un manipulador de base fija con N articulaciones de revolución (y sin bucles cerrados), C es N-dimensional.
  • Si el bloqueo de cardán no es aceptable (por ejemplo, en R N donde N ≥ 3 ), entonces puede ser necesario el uso de cuaterniones u otras soluciones alternativas, lo que aumenta las dimensiones de rotación o la complejidad de la solución.

Espacio libre

El conjunto de configuraciones que evitan la colisión con obstáculos se denomina espacio libre C <sub>free</sub> . El complemento de C <sub>free</sub> en C se denomina región de obstáculos o región prohibida.

A menudo, resulta prohibitivamente difícil calcular explícitamente la forma de C libre . Sin embargo, comprobar si una configuración dada está en C libre es eficiente. En primer lugar, la cinemática directa determina la posición de la geometría del robot, y la detección de colisiones comprueba si la geometría del robot colisiona con la geometría del entorno.

Espacio objetivo

El espacio objetivo es un subespacio del espacio libre que indica hacia dónde queremos que se mueva el robot. En la planificación de movimiento global, el espacio objetivo es observable por los sensores del robot. Sin embargo, en la planificación de movimiento local, el robot no puede observar el espacio objetivo en algunos estados. Para solucionar este problema, el robot recorre varios espacios objetivo virtuales, cada uno ubicado dentro del área observable (alrededor del robot). Un espacio objetivo virtual se denomina subobjetivo.

Espacio de obstáculos

El espacio de obstáculos es un espacio al que el robot no puede acceder. El espacio de obstáculos no es lo opuesto al espacio libre.

Algoritmos

Los problemas de baja dimensión se pueden resolver con algoritmos basados ​​en cuadrículas que superponen una cuadrícula sobre el espacio de configuración, o con algoritmos geométricos que calculan la forma y la conectividad de C libre .

La planificación precisa del movimiento en sistemas de alta dimensión con restricciones complejas es computacionalmente intratable . Los algoritmos de campo potencial son eficientes, pero son propensos a los mínimos locales (con la excepción de los campos potenciales armónicos). Los algoritmos basados ​​en muestreo evitan el problema de los mínimos locales y resuelven muchos problemas con bastante rapidez. Si bien no pueden determinar que no existe ninguna trayectoria, su probabilidad de fallo disminuye hasta cero a medida que se invierte más tiempo.

Los algoritmos basados ​​en muestreo se consideran actualmente la tecnología más avanzada para la planificación de movimientos en espacios de alta dimensión, y se han aplicado a problemas que tienen docenas o incluso cientos de dimensiones (manipuladores robóticos, moléculas biológicas, personajes digitales animados y robots con patas ).

Los enfoques basados ​​en cuadrículas superponen una cuadrícula al espacio de configuración y asumen que cada configuración se identifica con un punto de la cuadrícula. En cada punto de la cuadrícula, el robot puede moverse a puntos adyacentes siempre que la línea que los une esté completamente contenida dentro de C libre (esto se comprueba mediante la detección de colisiones). Esto discretiza el conjunto de acciones, y se utilizan algoritmos de búsqueda (como A* ) para encontrar una ruta desde el punto de partida hasta el objetivo.

Estos métodos requieren establecer una resolución de cuadrícula. La búsqueda es más rápida con cuadrículas más gruesas, pero el algoritmo no podrá encontrar rutas a través de porciones estrechas de C libre . Además, el número de puntos en la cuadrícula crece exponencialmente en la dimensión del espacio de configuración, lo que los hace inapropiados para problemas de alta dimensionalidad.

Los enfoques tradicionales basados ​​en cuadrículas generan trayectorias cuyos cambios de rumbo están restringidos a múltiplos de un ángulo base dado, lo que a menudo resulta en trayectorias subóptimas. Los enfoques de planificación de trayectorias para cualquier ángulo encuentran trayectorias más cortas propagando información a lo largo de los bordes de la cuadrícula (para una búsqueda rápida) sin restringir sus trayectorias a los bordes de la cuadrícula (para encontrar trayectorias cortas).

Los enfoques basados ​​en cuadrículas a menudo requieren búsquedas repetidas, por ejemplo, cuando cambia el conocimiento del robot sobre el espacio de configuración o cuando el propio espacio de configuración cambia durante el seguimiento de la trayectoria. Los algoritmos de búsqueda heurística incremental replanifican rápidamente utilizando la experiencia con problemas de planificación de trayectorias similares anteriores para acelerar la búsqueda del problema actual.

Estos enfoques son similares a los enfoques de búsqueda basados ​​en cuadrículas, excepto que generan un pavimento que cubre completamente el espacio de configuración en lugar de una cuadrícula. [ 1 ] El pavimento se descompone en dos subpavimentos X ,X + hechos con cajas tales que X ⊂ C free ⊂ X + . Caracterizar C free equivale a resolver un problema de inversión de conjuntos . Por lo tanto, el análisis de intervalos podría usarse cuando C free no puede describirse mediante desigualdades lineales para tener un cerco garantizado.

El robot puede moverse libremente en X , pero no puede salir de X + . Para ambos subpavimentos, se construye un grafo de vecindad y se pueden encontrar caminos usando algoritmos como Dijkstra o A* . Cuando un camino es factible en X , también lo es en C free . Cuando no existe ningún camino en X + desde una configuración inicial hasta el objetivo, tenemos la garantía de que no existe ningún camino factible en C free . En cuanto al enfoque basado en cuadrícula, el enfoque de intervalos es inapropiado para problemas de alta dimensión, debido a que el número de cajas a generar crece exponencialmente con respecto a la dimensión del espacio de configuración.

Las tres figuras de la derecha ilustran este ejemplo: un gancho con dos grados de libertad debe moverse de izquierda a derecha, evitando dos pequeños segmentos horizontales.

Movimiento desde la configuración inicial (azul) hasta la configuración final del gancho, evitando los dos obstáculos (segmentos rojos). La esquina inferior izquierda del gancho debe permanecer sobre la línea horizontal, lo que le otorga dos grados de libertad.
Descomposición con cajas que cubren el espacio de configuración: El subpavimento X es la unión de todas las cajas rojas y el subpavimento X + es la unión de las cajas rojas y verdes. La trayectoria corresponde al movimiento representado anteriormente.
Esta figura corresponde a la misma trayectoria que la anterior, pero obtenida con muchas menos cajas. El algoritmo evita dividir las cajas en partes del espacio de configuración que no influyen en el resultado final.

Nicolas Delanoue ha demostrado que la descomposición con subpavimentos utilizando análisis de intervalos también permite caracterizar la topología de C libre , como por ejemplo contar su número de componentes conexas. [ 2 ]

Algoritmos geométricos

Robots apuntando entre obstáculos poligonales

Trasladar objetos entre obstáculos

Cómo encontrar la salida de un edificio

  • trazado del rayo más lejano

Dado un conjunto de rayos alrededor de la posición actual, cuya longitud coincide con la de un rayo que impacta contra una pared, el robot se mueve en la dirección del rayo más largo, a menos que se identifique una puerta. Este algoritmo se utilizó para modelar la evacuación de emergencia de edificios.

campos de potencial artificial

Un enfoque consiste en tratar la configuración del robot como un punto en un campo potencial que combina la atracción hacia el objetivo y la repulsión de los obstáculos. La trayectoria resultante se obtiene como el camino. Este enfoque tiene ventajas, ya que la trayectoria se genera con poco cálculo. Sin embargo, puede quedar atrapado en mínimos locales del campo potencial y no encontrar un camino, o bien encontrar un camino no óptimo. Los campos potenciales artificiales pueden tratarse como ecuaciones continuas similares a los campos potenciales electrostáticos (tratando al robot como una carga puntual), o bien el movimiento a través del campo puede discretizarse utilizando un conjunto de reglas lingüísticas. [ 3 ] Una función de navegación [ 4 ] o una función de navegación probabilística [ 5 ] son ​​tipos de funciones potenciales artificiales que tienen la cualidad de no tener puntos mínimos excepto el punto objetivo.

Algoritmos basados ​​en muestreo

Los algoritmos basados ​​en muestreo representan el espacio de configuración con un mapa de ruta de configuraciones muestreadas. Un algoritmo básico muestrea N configuraciones en C y conserva aquellas en C libres para usarlas como hitos . Luego se construye un mapa de ruta que conecta dos hitos P y Q si el segmento de línea PQ está completamente en C libre . Nuevamente, se usa la detección de colisiones para probar la inclusión en C libre . Para encontrar una ruta que conecte S y G, se agregan al mapa de ruta. Si una ruta en el mapa de ruta une S y G, el planificador tiene éxito y devuelve esa ruta. Si no, la razón no es definitiva: o no hay ninguna ruta en C libre , o el planificador no muestreó suficientes hitos.

Estos algoritmos funcionan bien para espacios de configuración de alta dimensión, ya que, a diferencia de los algoritmos combinatorios, su tiempo de ejecución no depende (explícitamente) de forma exponencial de la dimensión de C. Además, suelen ser mucho más fáciles de implementar. Son probabilísticamente completos, lo que significa que la probabilidad de que produzcan una solución se aproxima a 1 a medida que se invierte más tiempo. Sin embargo, no pueden determinar si no existe ninguna solución.

Dadas las condiciones básicas de visibilidad en C free , se ha demostrado que a medida que aumenta el número de configuraciones N, la probabilidad de que el algoritmo anterior encuentre una solución se aproxima exponencialmente a 1. [ 6 ] La visibilidad no depende explícitamente de la dimensión de C; es posible tener un espacio de alta dimensión con buena visibilidad o un espacio de baja dimensión con mala visibilidad. El éxito experimental de los métodos basados ​​en muestras sugiere que la mayoría de los espacios que se ven con frecuencia tienen buena visibilidad.

Existen muchas variantes de este esquema básico:

  • Por lo general, es mucho más rápido probar solo los segmentos entre pares de hitos cercanos, en lugar de todos los pares.
  • Las distribuciones de muestreo no uniformes intentan ubicar más hitos en áreas que mejoran la conectividad de la hoja de ruta.
  • Las muestras cuasialeatorias suelen producir una mejor cobertura del espacio de configuración que las pseudoaleatorias , aunque algunos trabajos recientes argumentan que el efecto de la fuente de aleatoriedad es mínimo en comparación con el efecto de la distribución del muestreo.
  • Emplea muestreo local [ 7 ] realizando una caminata aleatoria de Monte Carlo de cadena de Markov direccional con alguna distribución de propuesta local.
  • Es posible reducir sustancialmente el número de hitos necesarios para resolver un problema dado al permitir visiones curvas (por ejemplo, gateando sobre los obstáculos que bloquean el camino entre dos hitos [ 8 ] ).
  • Si solo se necesitan una o unas pocas consultas de planificación, no siempre es necesario construir un mapa de ruta de todo el espacio. Las variantes de crecimiento de árbol suelen ser más rápidas en este caso (planificación de una sola consulta). Los mapas de ruta siguen siendo útiles si se van a realizar muchas consultas en el mismo espacio (planificación de múltiples consultas).

Lista de algoritmos destacados

Conceptos de planificación de movimiento

Integridad y rendimiento

Se dice que un planificador de movimiento es completo si, en tiempo finito, produce una solución o informa correctamente que no existe. La mayoría de los algoritmos completos se basan en la geometría. El rendimiento de un planificador completo se evalúa mediante su complejidad computacional . Al demostrar matemáticamente esta propiedad, es necesario asegurarse de que se produzca en tiempo finito y no solo en el límite asintótico. Esto resulta especialmente problemático si se producen secuencias infinitas (que convergen únicamente en el caso límite) durante una técnica de demostración específica, ya que, teóricamente, el algoritmo nunca se detendrá. Los "trucos" intuitivos (a menudo basados ​​en la inducción) suelen considerarse erróneamente convergentes, cuando en realidad solo convergen en el límite infinito. En otras palabras, la solución existe, pero el planificador nunca la reportará. Por lo tanto, esta propiedad está relacionada con la completitud de Turing y sirve, en la mayoría de los casos, como fundamento teórico. Los planificadores basados ​​en un enfoque de fuerza bruta siempre son completos, pero solo son realizables para configuraciones finitas y discretas.

En la práctica, la terminación del algoritmo siempre se puede garantizar mediante un contador que solo permite un número máximo de iteraciones y que, una vez finalizado el proceso, se detiene con o sin solución. En sistemas en tiempo real, esto se suele lograr mediante un temporizador de vigilancia (watchdog ) que simplemente finaliza el proceso. El temporizador de vigilancia debe ser independiente de todos los procesos (generalmente implementado mediante rutinas de interrupción de bajo nivel). Sin embargo, el caso asintótico descrito en el párrafo anterior no se alcanza de esta manera. Informará de la mejor solución encontrada hasta el momento (que es mejor que ninguna) o de ninguna, pero no puede informar correctamente de que no existe ninguna. Todas las implementaciones que incluyen un temporizador de vigilancia son siempre incompletas (excepto que todos los casos se pueden evaluar en tiempo finito).

La completitud solo puede garantizarse mediante una prueba matemática de corrección muy rigurosa (a menudo con la ayuda de herramientas y métodos basados ​​en grafos) y solo debe ser realizada por expertos especializados si la aplicación incluye aspectos de seguridad. Por otro lado, refutar la completitud es sencillo, ya que basta con encontrar un bucle infinito o un resultado erróneo. La verificación formal de algoritmos constituye un campo de investigación en sí mismo. La correcta configuración de estos casos de prueba es una tarea sumamente compleja.

La completitud de resolución es la propiedad que garantiza que el planificador encontrará una ruta si la resolución de la cuadrícula subyacente es suficientemente fina. La mayoría de los planificadores con resolución completa se basan en cuadrículas o intervalos. La complejidad computacional de estos planificadores depende del número de puntos en la cuadrícula subyacente, que es O(1/h d ), donde h es la resolución (la longitud de un lado de una celda de la cuadrícula) y d es la dimensión del espacio de configuración.

La completitud probabilística es la propiedad de que, a medida que se realiza más "trabajo", la probabilidad de que el planificador no encuentre una ruta, si existe, tiende asintóticamente a cero. Varios métodos basados ​​en muestras son probabilísticamente completos. El rendimiento de un planificador probabilísticamente completo se mide por la tasa de convergencia. En aplicaciones prácticas, se suele utilizar esta propiedad, ya que permite configurar el tiempo de espera del mecanismo de supervisión en función de un tiempo de convergencia promedio.

Los planificadores incompletos no siempre generan una ruta factible cuando existe (véase el primer párrafo). En ocasiones, los planificadores incompletos funcionan bien en la práctica, ya que siempre se detienen tras un tiempo garantizado y permiten que otras rutinas tomen el relevo.

Variantes del problema

Se han desarrollado numerosos algoritmos para abordar variantes de este problema fundamental.

Restricciones diferenciales

Holonómico

  • Brazos manipuladores (con dinámica)

No holónomo

  • Drones
  • coches
  • monociclos
  • Aviones
  • Sistemas con aceleración limitada
  • Obstáculos en movimiento (el tiempo no puede retroceder)
  • Aguja orientable con punta biselada
  • Robots de accionamiento diferencial

Restricciones de optimalidad

Sistemas híbridos

Los sistemas híbridos son aquellos que combinan comportamientos discretos y continuos. Algunos ejemplos de estos sistemas son:

Incertidumbre

limitaciones ambientales

Aplicaciones

Véase también

Referencias

  1. Jaulin, L. (2001). "Planificación de rutas mediante intervalos y grafos" (PDF) . Reliable Computing . 7 (1): 1– 15. doi : 10.1023/A:1011400431065 .
  2. Delanoue, N.; Jaulin, L.; Cottenceau, B. (2006). "Conteo del número de componentes conexas de un conjunto y su aplicación a la robótica". Computación paralela aplicada. Estado del arte en computación científica (PDF) . Notas de clase en ciencias de la computación. Vol. 3732. pp. 93–101 . CiteSeerX 10.1.1.123.6764 . doi : 10.1007/11558958_11 . ISBN    978-3-540-29067-4.
  3. Wolf, Joerg Christian; Robinson, Paul; Davies, Mansel (2004). "Planificación de trayectorias y control de un robot autónomo en un entorno dinámico mediante campos vectoriales". Actas del Congreso Mundial de Robótica FIRA 2004. Busan, Corea del Sur: Artículo 151.
  4. Lavalle, Steven, Algoritmos de planificación, Capítulo 8. Archivado el 15 de abril de 2021 en Wayback Machine.
  5. Hacohen, Shlomi; Shoval, Shraga; Shvalb, Nir (2019). "Función de navegación de probabilidad para entornos estáticos estocásticos" . Revista internacional de control, automatización y sistemas . 17 (8): 2097– 2113. doi : 10.1007/s12555-018-0563-2 . S2CID 164509949 . 
  6. Hsu, D.; JC Latombe, JC ; Motwani, R. (1997). "Planificación de trayectorias en espacios de configuración expansivos". Actas de la Conferencia Internacional sobre Robótica y Automatización . Vol. 3. págs. 2719–2726 . doi : 10.1109/ROBOT.1997.619371 . ISBN   978-0-7803-3612-4. S2CID 11070889 . 
  7. Lai, Tin; Morere, Philippe; Ramos, Fabio; Francis, Gilad (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 . ISSN 2377-3766 . S2CID 210838739 .  
  8. Shvalb, N.; Ben Moshe, B.; Medina, O. (2013). "Un algoritmo de planificación de movimiento en tiempo real para un conjunto hiperredundante de mecanismos". Robotica . 31 (8): 1327– 1335. CiteSeerX 10.1.1.473.7966 . doi : 10.1017/S0263574713000489 . S2CID 17483785 .  
  9. Scordamaglia, V.; Nardi, VA (2021). "Un algoritmo de planificación de trayectorias basado en conjuntos para un robot móvil sobre orugas con dirección deslizante controlado por red sujeto a fenómenos de deslizamiento y deslizamiento". Journal of Intelligent & Robotic Systems . 101 15. Springer Nature BV doi : 10.1007/s10846-020-01267-0 . S2CID 229326435 . 
  10. Kucner, Tomasz Piotr; Lilienthal, Achim J.; Magnusson, Martin; Palmieri, Luigi; Srinivas Swaminathan, Chittaranjan (2020). Mapeo probabilístico de patrones de movimiento espacial para robots móviles . Monografías de sistemas cognitivos. Vol. 40. doi : 10.1007/978-3-030-41808-3 . ISBN  978-3-030-41807-6. ISSN 1867-4925 . S2CID 52087877 .  
  11. Steven M. LaValle (29 de mayo de 2006). Algoritmos de planificación . Cambridge University Press. ISBN 978-1-139-45517-6.

Lecturas adicionales

  • Latombe, Jean-Claude (2012). Planificación del movimiento de robots . Springer Science & Business Media. ISBN 978-1-4615-4022-9.
  • Algoritmos de planificación , Steven M. LaValle, 2006, Cambridge University Press, ISBN 0-521-86205-1.
  • Principios del movimiento de los robots: teoría, algoritmos e implementación , H. Choset, W. Burgard, S. Hutchinson, G. Kantor, LE Kavraki , K. Lynch y S. Thrun, MIT Press, abril de 2005.
  • Marcos de Berg; Marc van Kreveld; Mark Overmars y Otfried Schwarzkopf (2000). Geometría computacional (2ª  edición revisada). Springer-Verlag . ISBN 978-3-540-65620-3.Capítulo 13: Planificación del movimiento del robot: págs.  267 290.
  • "Entorno virtual de automatización robótica abierta", http://openrave.org/
  • Jean-Claude Latombe habla sobre su trabajo con robots y planificación de movimiento, 5 de abril de 2000.
  • "Biblioteca de planificación de movimiento abierta ( OMPL )", http://ompl.kavrakilab.org
  • "Biblioteca de estrategias de movimiento", http://msl.cs.uiuc.edu/msl/
  • "Kit de planificación de movimiento", https://ai.stanford.edu/~mitul/mpk
  • "Simox", http://simox.sourceforge.net
  • "Planificación y control del movimiento de robots", http://www.laas.fr/%7Ejpl/book.html