A relação entre mapas de nuvens de pontos e mapas de gráficos

9

Estou mais familiarizado com mapas SLAM que são nuvens de pontos, geralmente sob a forma de um vector como . Eu também entendo como criar um mapa como este usando um EKF.<x,y,θ,f1x,f1y,...,fnx,fny>

Hoje me deparei com um formato de arquivo .graph , que, como seria de esperar, consiste em vértices e arestas no formato:

VERTEX2 id x y orientation

EDGE2 observed_vertex_id observing_vertex_id forward sideward rotate inf_ff inf_fs inf_ss inf_rr inf_fr inf_sr

Eu sei que há uma conexão entre matrizes e gráficos (uma matriz de adjacência, por exemplo). Mas não está claro para mim como esse formato gráfico de um mapa é equivalente a um mapa de nuvem de pontos com o qual estou familiarizado.

Qual é a relação? Os vértices são poses e pontos de referência? Eles estão em um quadro de referência global? Como isso é criado a partir das informações de velocidade e de um sensor de faixa / rolamento? Existe uma transformação entre um mapa gráfico e uma nuvem de pontos?

munk
fonte

Respostas:

4

Como diz a descrição do formato do arquivo, é para abordagens SLAM baseadas em gráficos. Eles trabalham para minimizar o erro de uma rede de restrição de pose. Você pode pensar desta maneira: Existem vários quadros de referência (seus vértices) e, em seguida, você tem conhecimento sobre a transformação entre esses quadros. Essas transformações estão associadas a uma incerteza. As estruturas de otimização de gráfico de pose, como, por exemplo , TORO , HogMan , G2O e assim por diante, fornecerão a máxima probabilidade de suas posições de vértice, dadas as restrições.

Em termos práticos de robôs, isso geralmente significa:

  • pkk
  • Dependendo da abordagem, você também pode adicionar pontos de referência como vértices. Você não precisa, no entanto.
  • pkpk+1
  • Se sua abordagem funcionar com base em pontos de referência, adicione transformações aos seus pontos de referência. Se você conhece apenas a posição do seu ponto de referência, define uma alta incerteza nas informações de rotação de sua transformação.
  • Se sua abordagem não souber sobre pontos de referência, por exemplo, você tem grandes nuvens de pontos que correspondem ao ICP, você pode adicionar os resultados do ICP ao seu gráfico de restrições.

n×nn

VERTEX2VERTEX3from_idto_idEDGE2EDGE3[xyzrollpitchyaw]

Dependendo da sua estrutura, geralmente um dos vértices se baseia em um quadro de referência global.

Otimizadores de gráficos de pose baseados em gráficos são considerados back-end SLAM. Como você gera as restrições, por exemplo, a partir de seus dados de alcance, é um problema de front-end. Há uma boa visão geral dessas notas de aula .

Jakob
fonte
1

Há uma postagem no fórum com mais informações esclarecedoras sobre o formato. Parece que os valores do nó do gráfico são estimativas iniciais de auto-poses, e as arestas codificam restrições de pose, conforme representadas pelo filtro de informações , o duplo do filtro Kalman.

Pelo que sei, esse formato de mapa inclui apenas informações de auto-pose e não marcos, portanto, não haveria uma conversão direta de um mapa de nuvem de pontos.

surtur
fonte
11
Por favor, esclareça a diferença entre informações sobre pose e pontos de referência. Em geral, os pontos de referência são estimados por sua pose.
precisa saber é o seguinte
11
Durante um processo simultâneo de localização e mapeamento, geralmente se mantém estimativas de sua própria posição e orientação à medida que se move pelo ambiente, bem como de vários pontos identificáveis ​​no ambiente que geralmente são considerados estacionários, geralmente chamados de pontos de referência. As estimativas precisas de pose para os pontos de referência ajudam a reduzir a incerteza na própria pose e vice-versa. O que eu estava me referindo como informações de pose eram restrições à auto-pose, embora elas pudessem ser derivadas de cálculos envolvendo pontos de referência.
surtur 14/01