Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Signed Distance Field

  • Detto anche: SDF, signed distance function, Euclidean signed distance field, ESDF
  • Categoria: Planning & manipulation › Motion planning
  • Tag: geometry, collision-avoidance, mapping, motion-planning, 3d-representation

Una funzione o griglia che memorizza, per ogni punto dello spazio, la distanza dalla superficie più vicina, con il segno che indica se il punto si trova dentro o fuori da un oggetto.

Definizione

Campi di distanza con segno (SDF) (signed distance fields) assegnano a ogni punto dello spazio la distanza dalla superficie più vicina di un oggetto o di una scena. Il segno porta un'informazione in più: secondo la convenzione comune, i punti esterni all'oggetto hanno valori positivi, quelli interni valori negativi e la superficie stessa è l'insieme di livello zero. In questo modo la geometria diventa un campo scalare che si può interrogare, derivare e combinare.

Il gradiente di un campo di distanza con segno punta in direzione opposta alla superficie più vicina e, dove il campo è differenziabile, il suo modulo vale uno. Questa proprietà rende gli SDF utili per la pianificazione del movimento e l'ottimizzazione: un pianificatore può leggere sia quanto un punto del corpo del robot sia vicino a un ostacolo sia quale direzione lo allontana. Ottimizzatori di traiettoria come CHOMP usano i campi di distanza proprio in questo modo, trasformando la distanza di sicurezza dagli ostacoli in un costo regolare.

Gli SDF vengono memorizzati in varie forme. Le griglie di voxel contengono un valore per cella e sono comuni nella mappatura; il campo di distanza con segno troncato (TSDF) conserva valori solo vicino alle superfici ed è stato reso popolare per la ricostruzione 3D densa da KinectFusion, mentre framework come Voxblox costruiscono un campo di distanza euclidea completo per la pianificazione a partire da mappe TSDF incrementali. Gli SDF analitici descrivono in forma chiusa primitive come sfere, parallelepipedi e capsule. Gli SDF neurali rappresentano il campo con una rete che associa alle coordinate una distanza, offrendo una descrizione compatta e continua di forme complesse.

L'idea si estende anche oltre lo spazio fisico. Un campo di distanza può essere definito sullo spazio dei giunti di un robot, descrivendo quanto una configurazione sia lontana da una collisione invece di quanto un punto sia lontano da una superficie. Questi campi collegano la geometria dell'area di lavoro al problema di pianificazione che il robot risolve davvero.

Perché è importante

Il solo controllo delle collisioni risponde sì o no, mentre un campo di distanza con segno dice anche a quale distanza e in quale direzione. Questa informazione in più permette a pianificatori e controllori di mantenere margini di sicurezza, calcolare costi di evitamento regolari e usare l'ottimizzazione basata sul gradiente attorno agli ostacoli.

Applicazioni principali

  • Costi e vincoli di collisione nell'ottimizzazione delle traiettorie
  • Ricostruzione 3D densa e mappatura da sensori di profondità
  • Rappresentazione delle forme degli oggetti per la pianificazione della presa e il ragionamento sui contatti
  • Margini di sicurezza e vincoli basati sulla distanza nei controllori reattivi
  • Rappresentazioni neurali compatte di scene e oggetti

In pratica

Un team che lavora su un manipolatore mobile potrebbe fondere i fotogrammi di una telecamera di profondità in una mappa TSDF dell'area di lavoro, convertirla in un campo di distanza euclidea e approssimare i link del robot con un insieme di sfere. Durante l'ottimizzazione della traiettoria, il centro di ogni sfera viene cercato nel campo; la distanza meno il raggio della sfera dà la distanza di sicurezza, e il gradiente del campo spinge la traiettoria lontano dagli ostacoli. La risoluzione dei voxel viene scelta come compromesso tra memoria, velocità di aggiornamento e finezza con cui vengono catturati gli oggetti sottili.

Idee sbagliate comuni

  • Un SDF è la stessa cosa di una griglia di occupazione — una griglia di occupazione memorizza se una cella è piena, mentre un SDF memorizza la distanza dalla superficie più vicina e supporta i gradienti
  • Un SDF troncato fornisce distanze ovunque — un TSDF contiene valori significativi solo vicino alle superfici, quindi la pianificazione di solito richiede un campo di distanza euclidea completo
  • I gradienti di un SDF sono sempre ben definiti — non sono definiti nei punti equidistanti da due superfici, il che può far oscillare gli ottimizzatori

Chi dovrebbe saperlo

  • Ingegneri della pianificazione del movimento che lavorano con l'ottimizzazione delle traiettorie
  • Ingegneri della percezione che costruiscono mappe 3D da dati di profondità
  • Ricercatori che usano rappresentazioni neurali implicite della geometria

Tecnologie correlate

  • Griglia di occupazione (Occupancy Grid)
  • Campo di distanza con segno troncato (Truncated Signed Distance Field, TSDF)
  • CHOMP
  • Voxblox
  • Rappresentazioni neurali implicite (Neural Implicit Representations)
  • Controllo delle collisioni (Collision Checking)

Termini correlati

  • Motion Planning
  • Obstacle Avoidance
  • Configuration Space
  • Point Cloud

Progetti correlati

  • 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

Video

  • introduction to Signed Distance Fields: chris biscardi

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.