Potential Field
- Aussi appelé: artificial potential field, APF
- Catégorie: Planning & manipulation › Motion planning
- Mots-clés: motion-planning, obstacle-avoidance, reactive-control, navigation, gradient-descent
Méthode de planification et de commande dans laquelle le but attire et les obstacles repoussent, le robot suivant le gradient du potentiel combiné ; simple et réactive, mais sujette aux minima locaux.
Définition
Dans la méthode du champ de potentiel artificiel (artificial potential field), le robot est traité comme une particule se déplaçant dans un champ scalaire U(q) défini sur son espace de travail ou son espace des configurations. Un potentiel attractif, souvent quadratique en la distance au but, l'attire vers la cible. Des potentiels répulsifs, qui croissent fortement à mesure que le robot s'approche d'un obstacle et s'annulent au-delà d'une distance d'influence, l'écartent des obstacles. Le robot reçoit la commande de suivre le gradient négatif −∇U, qui agit comme une force virtuelle. Khatib (1986) a introduit l'approche pour l'évitement d'obstacles en temps réel par les manipulateurs et les robots mobiles, en appliquant les forces virtuelles en des points du bras et en les convertissant en couples articulaires via la transposée de la jacobienne.
L'intérêt est que le calcul est local et peu coûteux. Chaque pas ne requiert que les distances actuelles aux obstacles proches, si bien que la méthode réagit immédiatement aux obstacles mobiles et tourne à la fréquence de commande. Sa principale limite est que le suivi du gradient s'arrête en tout minimum local de U, là où les forces attractives et répulsives s'annulent : un robot peut être piégé à l'intérieur d'un obstacle en forme de U ou devant un passage entre deux obstacles rapprochés. Les champs de potentiel peuvent aussi osciller dans les passages étroits, et lorsqu'un obstacle se trouve près du but, la répulsion peut empêcher le robot de l'atteindre.
Plusieurs remèdes existent. Les fonctions de navigation, introduites par Rimon et Koditschek, sont des potentiels construits pour n'avoir qu'un seul minimum, au but, pour certaines classes d'environnements, et les fonctions potentielles harmoniques évitent les minima parasites par construction. Plus souvent, les champs de potentiel sont combinés à un planificateur global qui fournit des points de passage intermédiaires, à des mouvements aléatoires pour sortir des minima, ou utilisés comme un terme dans un contrôleur fondé sur l'optimisation. La même idée de descendre le gradient d'un coût construit à partir des buts et des obstacles se retrouve dans les travaux actuels sous d'autres noms, comme les coûts fondés sur des champs de distance signée dans les optimiseurs de trajectoire et les paysages de coût composés dynamiquement pour la manipulation réactive.
Pourquoi c'est important
Les champs de potentiel sont l'un des moyens les plus simples d'obtenir un évitement d'obstacles réactif, et leur problème de minima locaux est l'illustration classique de la raison pour laquelle on combine commande réactive et planification globale. Le suivi du gradient de coûts liés au but et aux obstacles reste au cœur de nombreux contrôleurs réactifs et optimiseurs de trajectoire.
Applications principales
- Évitement d'obstacles réactif pour robots mobiles
- Évitement de collisions en temps réel pour manipulateurs à proximité de personnes ou d'objets en mouvement
- Coordination multi-robots et d'essaims avec répulsion entre robots
- Navigation de drones dans des espaces encombrés
- Couches de commande locale sous un planificateur de chemin global
- Termes de coût en optimisation de trajectoire et en manipulation réactive
En pratique
Un petit robot à entraînement différentiel utilise un LiDAR 2D pour se déplacer dans un laboratoire. À chaque balayage, le contrôleur calcule une force attractive vers le prochain point de passage et une force répulsive pour chaque retour LiDAR situé dans une distance d'influence fixée, les additionne et convertit le résultat en commandes de vitesse linéaire et angulaire. Le robot contourne les personnes qui passent sans replanifier. Lorsqu'il reste coincé dans un angle formé par deux bureaux, l'équipe détecte le blocage à partir d'une vitesse quasi nulle alors que le but est encore loin, et fait insérer par le planificateur global un point de passage intermédiaire qui contourne l'obstacle. Elle plafonne aussi la force répulsive et lisse les vitesses commandées pour que le robot cesse d'osciller dans les embrasures de porte.
Idées reçues
- Suivre le champ de potentiel mène toujours au but — le suivi du gradient peut s'arrêter dans des minima locaux où les forces attractives et répulsives s'annulent
- Les champs de potentiel sont une méthode de planification complète — ils sont locaux et réactifs, et généralement associés à un planificateur global lorsqu'un chemin doit être garanti
- Une répulsion plus forte rend toujours le robot plus sûr — une répulsion trop forte ou trop étendue peut bloquer les passages étroits et provoquer des oscillations
Qui devrait le savoir
- Ingénieurs en robots mobiles et en navigation
- Ingénieurs en commande de manipulateurs travaillant sur l'évitement de collisions
- Développeurs de systèmes multi-robots et de drones
- Étudiants qui apprennent la planification de mouvement classique
Technologies associées
- Fonctions de navigation (Navigation Functions)
- Vector Field Histogram
- Dynamic Window Approach
- Champs de distance signée (Signed Distance Fields)
- Formulation dans l'espace opérationnel (Operational Space Formulation)
Termes associés
- Obstacle Avoidance
- Motion Planning
- Configuration Space
- Signed Distance Field
- Operational Space Control
- Control Barrier Function
Projets associés
- Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
- OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
- MRPT: Comprehensive C++ toolkit for mobile robotics, SLAM, and sensor-based navigation
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking