Elastic band
- Aussi appelé: elastic bands, elastic band method
- Catégorie: Planning & manipulation › Motion planning
- Mots-clés: motion-planning, local-planning, obstacle-avoidance, path-deformation, mobile-robots
Méthode locale de déformation de chemin qui traite un chemin planifié comme une bande étirable, tendue par des forces internes et repoussée des obstacles par des forces externes, afin qu'il s'adapte en temps réel.
Définition
Une bande élastique (elastic band) est une méthode de déformation d'un chemin en temps réel, introduite par Quinlan et Khatib en 1993 pour relier la planification de chemin globale et la commande réactive. Un chemin sans collision issu d'un planificateur global est représenté par une chaîne de points, ou de bulles, des régions d'espace libre autour de chaque point dont la taille dépend de la distance à l'obstacle le plus proche. La bande est ensuite traitée comme un objet physique. Des forces de contraction internes, comme des ressorts entre points voisins, la tendent pour qu'elle devienne plus courte et plus lisse. Des forces externes, dérivées d'un potentiel répulsif autour des obstacles, l'en éloignent. À chaque cycle de commande, la bande se relâche vers un équilibre de ces forces, de sorte que lorsqu'un obstacle bouge ou qu'un nouveau apparaît, le chemin se courbe pour le contourner tout en conservant son départ et son but.
Les bulles maintiennent la bande connexe : tant que les bulles voisines se recouvrent, les segments droits qui les relient sont sans collision, et des points sont ajoutés ou retirés à mesure que la bande s'étire ou se rétracte. Comme le chemin est seulement déformé, et non recalculé, la méthode est assez rapide pour tourner dans une boucle de commande. Des travaux ultérieurs ont étendu l'idée aux elastic strips pour les manipulateurs mobiles, qui déforment une suite de configurations du robot entier dans l'espace de travail, et à la Timed Elastic Band, qui ajoute des intervalles de temps entre les poses et résout une optimisation creuse avec des contraintes de vitesse, d'accélération et cinématiques. La Timed Elastic Band est disponible comme planificateur local dans ROS.
La bande élastique se distingue d'une méthode par champ de potentiel (potential field), qui déplace directement le robot selon le gradient d'un potentiel attractif et répulsif : ici, les forces s'exercent sur un chemin entier qui relie déjà le départ au but, si bien que le robot ne reste pas piégé dans les minima locaux qui peuvent bloquer un contrôleur purement fondé sur un champ de potentiel. Elle reste une méthode locale. Une bande ne peut se déformer que de façon continue, elle ne peut donc pas sauter vers une autre manière de contourner un obstacle, comme passer à gauche plutôt qu'à droite ; si un obstacle coupe la bande ou si le couloir se ferme, un planificateur global doit fournir un nouveau chemin. Certaines variantes conservent pour cette raison plusieurs bandes candidates dans des classes d'homotopie différentes.
Pourquoi c'est important
Les robots évoluant dans des environnements changeants ont besoin de chemins qui réagissent aux obstacles mobiles en un cycle de commande sans abandonner le plan global. Les bandes élastiques et leurs descendantes sont un moyen standard de fournir cette couche réactive aux robots mobiles et aux manipulateurs, et le modèle de chemin fondé sur des forces sert aussi à générer des trajectoires lisses tenant compte des obstacles à d'autres fins.
Applications principales
- Planification locale et évitement d'obstacles pour robots mobiles
- Déformation de chemin en temps réel autour de personnes et d'objets en mouvement
- Mouvement réactif des manipulateurs mobiles par elastic strips
- Lissage et raccourcissement des chemins issus de planificateurs globaux
- Génération de trajectoires tenant compte des obstacles pour des données d'entraînement et des démonstrations
En pratique
Un robot mobile d'entrepôt reçoit d'un planificateur sur grille un chemin global le long d'une allée. Son planificateur local représente les quelques mètres suivants du chemin sous forme de Timed Elastic Band. Lorsqu'une personne entre dans l'allée, la carte de coût LiDAR enregistre un nouvel obstacle, les points de la bande en sont repoussés, et l'optimisation courbe le chemin autour de la personne tout en respectant les limites de vitesse et d'accélération du robot et son rayon de braquage minimal. Le robot suit le chemin déformé et, une fois la personne passée, les termes de contraction ramènent la bande vers la ligne d'origine. Si l'allée est entièrement bloquée, la bande ne peut pas être déformée en un chemin réalisable, et la pile de navigation demande un nouvel itinéraire au planificateur global.
Idées reçues
- Une bande élastique est un planificateur global — elle déforme un chemin existant et a besoin d'un planificateur global pour fournir l'itinéraire initial et replanifier lorsque la bande se rompt
- Les bandes élastiques ne sont que des champs de potentiel — les champs de potentiel déplacent directement le robot, tandis qu'une bande élastique applique des forces à un chemin entier qui atteint déjà le but, ce qui évite les minima locaux qui piègent un contrôleur purement fondé sur un champ de potentiel
- Une bande élastique trouve le plus court chemin — elle converge vers un chemin localement court et lisse qui passe les obstacles du même côté que le chemin initial, ce qui peut ne pas être le plus court chemin global
Qui devrait le savoir
- Ingénieurs en navigation de robots mobiles
- Chercheurs en planification de mouvement travaillant sur la planification réactive
- Ingénieurs qui configurent les planificateurs locaux de la navigation ROS
- Étudiants en robotique qui étudient la planification et la commande
Technologies associées
- Timed Elastic Band
- Elastic Strips
- ROS Navigation Stack
- Champs de potentiel artificiels (Artificial Potential Fields)
- Dynamic Window Approach
Termes associés
Projets associés
- 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