Elastic band
- También llamado: elastic bands, elastic band method
- Categoría: Planning & manipulation › Motion planning
- Etiquetas: motion-planning, local-planning, obstacle-avoidance, path-deformation, mobile-robots
Un método local de deformación de caminos que trata un camino planificado como una banda estirable, tensada por fuerzas internas y alejada de los obstáculos por fuerzas externas, para que se adapte en tiempo real.
Definición
Una banda elástica (elastic band) es un método para deformar un camino en tiempo real, presentado por Quinlan y Khatib en 1993 para conectar la planificación global de caminos con el control reactivo. Un camino libre de colisiones procedente de un planificador global se representa como una cadena de puntos, o de burbujas, regiones de espacio libre alrededor de cada punto cuyo tamaño viene dado por la distancia al obstáculo más cercano. La banda se trata entonces como un objeto físico. Unas fuerzas internas de contracción, como muelles entre puntos vecinos, la tensan para que se vuelva más corta y más suave. Unas fuerzas externas, derivadas de un potencial repulsivo alrededor de los obstáculos, la alejan de ellos. En cada ciclo de control la banda se relaja hacia un equilibrio de estas fuerzas, de modo que, cuando un obstáculo se mueve o aparece uno nuevo, el camino se curva a su alrededor manteniendo su inicio y su meta.
Las burbujas mantienen la banda conectada: mientras las burbujas vecinas se solapen, los segmentos rectos entre ellas están libres de colisiones, y se añaden o eliminan puntos a medida que la banda se estira o se encoge. Como el camino solo se deforma y no se recalcula, el método es lo bastante rápido para ejecutarse dentro de un lazo de control. Trabajos posteriores extendieron la idea a las elastic strips para manipuladores móviles, que deforman una secuencia de configuraciones del robot completo en el espacio de trabajo, y a la Timed Elastic Band, que añade intervalos de tiempo entre poses y resuelve una optimización dispersa con restricciones de velocidad, de aceleración y cinemáticas. La Timed Elastic Band está disponible como planificador local en ROS.
La banda elástica se diferencia de un método de campo potencial (potential field), que mueve el robot directamente a lo largo del gradiente de un potencial atractivo y repulsivo: aquí las fuerzas actúan sobre un camino completo que ya conecta el inicio con la meta, por lo que el robot no queda atrapado en los mínimos locales que pueden detener a un controlador de campo potencial puro. Sigue siendo un método local. Una banda solo puede deformarse de forma continua, así que no puede saltar a otra forma de rodear un obstáculo, como pasar por la izquierda en lugar de por la derecha; si un obstáculo corta la banda o el pasillo se cierra, un planificador global debe proporcionar un camino nuevo. Por esta razón, algunas variantes mantienen varias bandas candidatas en clases de homotopía distintas.
Por qué importa
Los robots en entornos cambiantes necesitan caminos que reaccionen a obstáculos en movimiento dentro de un ciclo de control sin descartar el plan global. Las bandas elásticas y sus descendientes son una forma estándar de proporcionar esa capa reactiva para robots móviles y manipuladores, y el modelo de camino basado en fuerzas también se usa para generar trayectorias suaves y conscientes de los obstáculos con otros fines.
Aplicaciones clave
- Planificación local y evitación de obstáculos para robots móviles
- Deformación de caminos en tiempo real alrededor de personas y objetos en movimiento
- Movimiento reactivo para manipuladores móviles mediante elastic strips
- Suavizado y acortamiento de caminos procedentes de planificadores globales
- Generación de trayectorias conscientes de los obstáculos para datos de entrenamiento y demostraciones
En la práctica
Un robot móvil de almacén recibe de un planificador basado en rejilla un camino global a lo largo de un pasillo. Su planificador local representa los siguientes metros del camino como una Timed Elastic Band. Cuando una persona entra en el pasillo, el mapa de costes del LiDAR registra un obstáculo nuevo, los puntos de la banda se alejan de él y la optimización curva el camino alrededor de la persona respetando los límites de velocidad y aceleración del robot y su radio de giro mínimo. El robot sigue el camino deformado y, una vez que la persona ha pasado, los términos de contracción devuelven la banda hacia la línea original. Si el pasillo queda bloqueado por completo, la banda no puede deformarse hasta un camino factible, y la pila de navegación pide al planificador global una ruta nueva.
Ideas erróneas comunes
- Una banda elástica es un planificador global — deforma un camino existente y necesita un planificador global que proporcione la ruta inicial y que vuelva a planificar cuando la banda se rompe
- Las bandas elásticas son simplemente campos potenciales — los campos potenciales mueven el robot directamente, mientras que una banda elástica aplica fuerzas a un camino completo que ya llega a la meta, lo que evita los mínimos locales que atrapan a un controlador de campo potencial puro
- Una banda elástica encuentra el camino más corto — converge a un camino localmente corto y suave que pasa los obstáculos por el mismo lado que el camino inicial, y que puede no ser el más corto globalmente
Quién debería saberlo
- Ingenieros de navegación de robots móviles
- Investigadores en planificación de movimiento que trabajan en planificación reactiva
- Ingenieros que configuran planificadores locales de navegación en ROS
- Estudiantes de robótica que estudian planificación y control
Tecnologías relacionadas
- Timed Elastic Band
- Elastic Strips
- Pila de navegación de ROS (ROS Navigation Stack)
- Campos potenciales artificiales (Artificial Potential Fields)
- Dynamic Window Approach
Términos relacionados
Proyectos relacionados
- OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
- Ruckig: Real-time jerk-constrained time-optimal trajectory generation for robots and machines
- NeuPAN: Real-time end-to-end planner that maps raw lidar points directly to robot actions