Signed Distance Field
- Aussi appelé: SDF, signed distance function, Euclidean signed distance field, ESDF
- Catégorie: Planning & manipulation › Motion planning
- Mots-clés: geometry, collision-avoidance, mapping, motion-planning, 3d-representation
Fonction ou grille qui stocke, pour chaque point de l'espace, la distance à la surface la plus proche, le signe indiquant si le point se trouve à l'intérieur ou à l'extérieur d'un objet.
Définition
Champs de distance signée (signed distance fields, SDF) : champs qui associent à chaque point de l'espace la distance à la surface la plus proche d'un objet ou d'une scène. Le signe porte une information supplémentaire : selon la convention courante, les points à l'extérieur de l'objet ont des valeurs positives, les points à l'intérieur des valeurs négatives, et la surface elle-même est l'ensemble de niveau zéro. La géométrie devient ainsi un champ scalaire que l'on peut interroger, dériver et combiner.
Le gradient d'un champ de distance signée pointe à l'opposé de la surface la plus proche, et là où le champ est différentiable, sa norme vaut un. Cette propriété rend les SDF utiles pour la planification de mouvement et l'optimisation : un planificateur peut lire à la fois la proximité d'un point du corps du robot à un obstacle et la direction qui l'en éloigne. Les optimiseurs de trajectoire comme CHOMP utilisent les champs de distance exactement de cette manière, en transformant la marge par rapport aux obstacles en un coût lisse.
Les SDF sont stockés sous plusieurs formes. Les grilles de voxels (voxel grids) contiennent une valeur par cellule et sont courantes en cartographie ; le champ de distance signée tronqué (truncated signed distance field, TSDF) ne conserve des valeurs que près des surfaces et a été popularisé pour la reconstruction 3D dense par KinectFusion, tandis que des frameworks comme Voxblox construisent un champ de distance euclidienne complet pour la planification à partir de cartes TSDF incrémentales. Les SDF analytiques décrivent des primitives comme les sphères, les boîtes et les capsules sous forme fermée. Les SDF neuronaux représentent le champ par un réseau qui associe des coordonnées à une distance, ce qui donne une description compacte et continue de formes complexes.
L'idée s'étend aussi au-delà de l'espace physique. Un champ de distance peut être défini sur l'espace articulaire d'un robot, et décrit alors à quelle distance une configuration se trouve d'une collision plutôt qu'à quelle distance un point se trouve d'une surface. De tels champs relient la géométrie de l'espace de travail au problème de planification que le robot résout réellement.
Pourquoi c'est important
La détection de collision seule répond par oui ou par non, alors qu'un champ de distance signée indique aussi à quelle distance et dans quelle direction. Cette information supplémentaire permet aux planificateurs et aux contrôleurs de conserver des marges de sécurité, de calculer des coûts d'évitement lisses et d'utiliser une optimisation par gradient autour des obstacles.
Applications principales
- Coûts et contraintes de collision en optimisation de trajectoire
- Reconstruction 3D dense et cartographie à partir de capteurs de profondeur
- Représentation des formes d'objets pour la planification de saisie et le raisonnement sur les contacts
- Marges de sécurité et contraintes fondées sur la distance dans les contrôleurs réactifs
- Représentations neuronales compactes de scènes et d'objets
En pratique
Une équipe travaillant sur un manipulateur mobile peut fusionner les images d'une caméra de profondeur en une carte TSDF de l'espace de travail, la convertir en champ de distance euclidienne et approcher les segments du robot par un ensemble de sphères. Pendant l'optimisation de trajectoire, le centre de chaque sphère est recherché dans le champ ; la distance moins le rayon de la sphère donne la marge, et le gradient du champ repousse la trajectoire loin des obstacles. La résolution des voxels est choisie comme un compromis entre la mémoire, la vitesse de mise à jour et la finesse avec laquelle les objets minces sont capturés.
Idées reçues
- Un SDF est la même chose qu'une grille d'occupation — une grille d'occupation indique si une cellule est occupée, alors qu'un SDF stocke la distance à la surface la plus proche et fournit des gradients
- Un SDF tronqué donne des distances partout — un TSDF ne contient des valeurs significatives que près des surfaces, si bien que la planification a généralement besoin d'un champ de distance euclidienne complet
- Les gradients d'un SDF sont toujours bien définis — ils ne sont pas définis aux points équidistants de deux surfaces, ce qui peut faire osciller les optimiseurs
Qui devrait le savoir
- Ingénieurs en planification de mouvement travaillant avec l'optimisation de trajectoire
- Ingénieurs en perception qui construisent des cartes 3D à partir de données de profondeur
- Chercheurs utilisant des représentations implicites neuronales de la géométrie
Technologies associées
- Grille d'occupation (Occupancy Grid)
- Champ de distance signée tronqué (Truncated Signed Distance Field, TSDF)
- CHOMP
- Voxblox
- Représentations implicites neuronales (Neural Implicit Representations)
- Détection de collision (Collision Checking)
Termes associés
Projets associés
- LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
- RTAB-Map: Versatile graph-based SLAM supporting RGB-D, stereo, and LiDAR with real-time operation
- LeGO-LOAM: Classic lightweight, ground-optimized lidar odometry and mapping baseline (IROS 2018)
- OMPL: Sampling-based motion planning library powering MoveIt and countless robotics applications
Vidéos
- introduction to Signed Distance Fields: chris biscardi