Signed Distance Field
- Também chamado: SDF, signed distance function, Euclidean signed distance field, ESDF
- Categoria: Planning & manipulation › Motion planning
- Tags: geometry, collision-avoidance, mapping, motion-planning, 3d-representation
Uma função ou grade que armazena, para cada ponto do espaço, a distância até a superfície mais próxima, com o sinal indicando se o ponto está dentro ou fora de um objeto.
Definição
Campos de distância com sinal (SDFs) (signed distance fields) atribuem a cada ponto do espaço a distância até a superfície mais próxima de um objeto ou cena. O sinal traz informação adicional: pela convenção usual, pontos fora do objeto têm valores positivos, pontos dentro têm valores negativos e a própria superfície é o conjunto de nível zero. Isso transforma a geometria em um campo escalar que pode ser consultado, derivado e combinado.
O gradiente de um campo de distância com sinal aponta para longe da superfície mais próxima e, onde o campo é diferenciável, sua magnitude é um. Essa propriedade torna os SDFs úteis para planejamento de movimento e otimização: um planejador pode ler tanto o quão perto um ponto do corpo do robô está de um obstáculo quanto qual direção o afasta dele. Otimizadores de trajetória como o CHOMP usam campos de distância exatamente dessa forma, transformando a folga em relação aos obstáculos em um custo suave.
Os SDFs são armazenados de várias formas. Grades de voxels guardam um valor por célula e são comuns em mapeamento; o campo de distância com sinal truncado (TSDF) mantém valores apenas perto das superfícies e foi popularizado para reconstrução 3D densa pelo KinectFusion, enquanto frameworks como o Voxblox constroem um campo de distância euclidiana completo para planejamento a partir de mapas TSDF incrementais. SDFs analíticos descrevem primitivas como esferas, caixas e cápsulas em forma fechada. SDFs neurais representam o campo com uma rede que mapeia coordenadas em distância, dando uma descrição compacta e contínua de formas complexas.
A ideia também se estende além do espaço físico. Um campo de distância pode ser definido sobre o espaço das juntas de um robô, descrevendo o quão longe uma configuração está de uma colisão em vez do quão longe um ponto está de uma superfície. Esses campos ligam a geometria do espaço de trabalho ao problema de planejamento que o robô de fato resolve.
Por que importa
A verificação de colisão sozinha responde sim ou não, enquanto um campo de distância com sinal também diz a que distância e em que direção. Essa informação adicional permite que planejadores e controladores mantenham margens de segurança, calculem custos de desvio suaves e usem otimização baseada em gradiente em torno de obstáculos.
Principais aplicações
- Custos e restrições de colisão em otimização de trajetória
- Reconstrução 3D densa e mapeamento a partir de sensores de profundidade
- Representação de formas de objetos para planejamento de preensão e raciocínio sobre contato
- Margens de segurança e restrições baseadas em distância em controladores reativos
- Representações neurais compactas de cenas e objetos
Na prática
Uma equipe que trabalha com um manipulador móvel pode fundir os quadros de uma câmera de profundidade em um mapa TSDF do espaço de trabalho, convertê-lo em um campo de distância euclidiana e aproximar os elos do robô com um conjunto de esferas. Durante a otimização de trajetória, o centro de cada esfera é consultado no campo; a distância menos o raio da esfera dá a folga, e o gradiente do campo empurra a trajetória para longe dos obstáculos. A resolução dos voxels é escolhida como um compromisso entre memória, velocidade de atualização e o nível de detalhe com que objetos finos são capturados.
Equívocos comuns
- Um SDF é o mesmo que uma grade de ocupação — uma grade de ocupação armazena se uma célula está preenchida, enquanto um SDF armazena a distância até a superfície mais próxima e permite gradientes
- Um SDF truncado fornece distâncias em todo lugar — um TSDF só contém valores significativos perto das superfícies, então o planejamento geralmente precisa de um campo de distância euclidiana completo
- Os gradientes de um SDF são sempre bem definidos — eles não são definidos em pontos equidistantes de duas superfícies, o que pode fazer os otimizadores oscilarem
Quem deve saber
- Engenheiros de planejamento de movimento que trabalham com otimização de trajetória
- Engenheiros de percepção que constroem mapas 3D a partir de dados de profundidade
- Pesquisadores que usam representações implícitas neurais da geometria
Tecnologias relacionadas
- Grade de ocupação (Occupancy Grid)
- Campo de distância com sinal truncado (Truncated Signed Distance Field, TSDF)
- CHOMP
- Voxblox
- Representações implícitas neurais (Neural Implicit Representations)
- Verificação de colisão (Collision Checking)
Termos relacionados
Projetos relacionados
- 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
Vídeos
- introduction to Signed Distance Fields: chris biscardi