Affordance
- Aussi appelé: affordances, affordance detection, action possibilities
- Catégorie: Planning & manipulation › Manipulation
- Mots-clés: perception, manipulation, grasping, robot-learning, cognitive-robotics
Action qu'un objet ou un environnement rend possible pour un agent particulier, comme une poignée que l'on peut saisir ou une surface capable de supporter un objet posé.
Définition
Affordances (affordances) : possibilités d'action que l'environnement offre à un agent particulier. Le terme a été introduit par le psychologue James J. Gibson, qui soutenait que les animaux perçoivent le monde en partie selon ce qu'ils peuvent en faire : une chaise offre la possibilité de s'asseoir, une poignée celle de saisir, une surface plane celle de poser. Les affordances sont relationnelles ; elles dépendent à la fois de l'objet et du corps et des capacités de l'agent.
En robotique, raisonner sur les affordances consiste à prédire quelles actions sont possibles et où. La détection d'affordances (affordance detection) étiquette des parties d'une image ou d'un nuage de points avec des actions comme saisir, couper, verser, pousser ou contenir. Les cartes d'affordances (affordance maps) attribuent un score à chaque pixel ou emplacement, par exemple la probabilité qu'une saisie en ce point réussisse. Ces représentations relient directement la perception à l'action au lieu de s'arrêter aux noms d'objets.
Ce caractère relationnel compte pour les robots. L'anse d'une tasse offre une possibilité de saisie à une main qui peut passer au travers, mais pas à une grande pince à mors parallèles ; une marche offre une possibilité d'escalade à un robot à pattes, mais pas à un robot à roues. Les bons modèles d'affordances tiennent donc compte de l'incarnation (embodiment) du robot, et pas seulement de la catégorie de l'objet.
Avec les grands modèles de langage et de vision, les affordances servent aussi de signal d'ancrage (grounding). Un modèle de langage peut proposer les étapes d'une tâche, mais il ne sait pas lesquelles de ces étapes le robot peut réellement exécuter dans la scène actuelle. Des systèmes comme SayCan ont combiné les suggestions d'un modèle de langage avec des estimations apprises de la réussite possible de chaque compétence depuis l'état actuel, une affordance au sens de Gibson.
Pourquoi c'est important
Les robots doivent savoir non seulement ce que sont les objets, mais aussi ce qu'on peut en faire. Les affordances relient la perception à l'action, c'est pourquoi on les retrouve partout dans la saisie, l'utilisation d'outils et la manipulation guidée par le langage.
Applications principales
- Prédiction de saisie et de placement à partir d'images ou de nuages de points
- Utilisation d'outils et manipulation au niveau des parties, comme les poignées, les couvercles et les becs verseurs
- Ancrage des instructions en langage naturel dans des actions que le robot peut réellement exécuter
- Navigation et locomotion sur un terrain qui supporte ou non le robot
En pratique
Une équipe qui construit un système de manipulation domestique peut entraîner un réseau qui prédit, pour chaque pixel d'une image RGB-D, où la pince du robot peut saisir et où des objets peuvent être posés. Le planificateur de tâches interroge ensuite ces cartes : pour ouvrir un tiroir, il cherche une zone de poignée saisissable, et pour poser une tasse, une surface sur laquelle poser. Les données d'entraînement proviennent souvent des propres tentatives de saisie du robot, étiquetées selon leur réussite, de sorte que les prédictions reflètent cette pince en particulier.
Idées reçues
- Une affordance est une propriété de l'objet seul — c'est une relation entre l'objet et le corps et les capacités de l'agent
- La détection d'affordances est la même chose que la reconnaissance d'objets — la reconnaissance nomme un objet, alors que la détection d'affordances prédit quelles actions il permet et où
- Les affordances apprises pour un robot se transfèrent directement à un autre — une pince ou un corps différent peut changer les actions possibles
Qui devrait le savoir
- Chercheurs en manipulation et en saisie
- Ingénieurs en perception qui construisent des modèles de vision orientés vers l'action
- Chercheurs qui relient les modèles de langage aux compétences des robots
Technologies associées
- Planification de saisie (Grasp Planning)
- Segmentation sémantique (Semantic Segmentation)
- Modèles vision-langage (Vision-Language Models)
- Planification de tâches (Task Planning)
- Traitement de nuages de points (Point Cloud Processing)
Termes associés
Projets associés
- LeRobot: HuggingFace ML library for real-world robotics in PyTorch
- OpenPI: Physical Intelligence VLA foundation models for general robot control
- Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
- PCL: Industry-standard C++ library for point cloud processing in robotics perception
- Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
- NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills