Pular para o conteúdo

Anotação de mapas de grade de ocupação ROS

Depois de algumas horas ajustando o SLAM, você tem uma bela grade de ocupação. Agora você precisa colocá-la em um artigo, relatório ou apresentação, com a rota planejada desenhada sobre ela, as poses alvo rotuladas, as zonas de restrição sombreadas. É para isso que serve a importação de mapa ROS do drawtonomy.

O drawtonomy lê um par de mapas ROS (imagem .pgm + metadados .yaml) e:

  • Coloca a grade de ocupação na tela na escala métrica correta.
  • Usa os campos resolution e origin do YAML para que as coordenadas do mundo façam round-trip.
  • Permite desenhar faixas, cruzamentos, veículos, pedestres, semáforos e setas / texto de forma livre por cima.

A camada de desenho é um conjunto separado de formas; o .pgm original nunca é modificado.

  • Figuras de artigos. “Figura 3: planejamento nav2 ao redor de obstáculos.” Uma grade de ocupação nua é mal legível; uma grade com rotas planejadas e poses alvo conta a história.
  • Docs internas. Um mapa SLAM anotado com zonas de restrição, locais de estação de carregamento e subáreas nomeadas é o tipo de artefato que sobrevive à rotatividade de equipe.
  • Material de aula. Quando se ensina nav2 ou AMCL, uma grade anotada permite que os alunos vejam o que o planejador vê.
  • Reprodutores de bug. “O robô ficou preso aqui, aqui está a grade, aqui está o caminho planejado que falha.”
  1. Importar. Importar → Mapa ROS. Solte ambos .pgm e .yaml (ou compacte-os juntos).
  2. Verificar a escala. O resolution e o origin do yaml são aplicados automaticamente. A régua do drawtonomy mostra metros.
  3. Anotar. Use formas de Faixa, Veículo, Caminho, Polígono e Texto. A ferramenta Polígono com baixa opacidade funciona bem para sombrear zonas de restrição.
  4. Salvar como .drawtonomy.svg (o formato SVG nativo do drawtonomy). Anotações em um mapa SLAM quase nunca são definitivas — novas zonas de restrição são adicionadas, subáreas nomeadas mudam, o próprio mapa às vezes é regravado. O .drawtonomy.svg reabre com todas as anotações no lugar, então a iteração é uma edição em vez de um redesenho.
  5. Exportar para distribuição. Da mesma cena, exporte PNG para documentação que não precisa de vetores escaláveis, ou um SVG plano (com a grade como fundo raster e suas anotações como vetores) para artigos e slides.
  • Use uma única cor de destaque para a camada de anotação. Múltiplas cores sobre uma grade em escala de cinza criam ruído visual.
  • Adicione uma barra de escala manualmente com uma Linestring e uma forma de Texto — o drawtonomy não renderiza uma automaticamente, mas as réguas dizem exatamente quantos metros tem um determinado comprimento.
  • O drawtonomy não é uma substituição para as ferramentas de edição de mapas map_server do nav2 (utilitários CLI para recortar / inflar / rotacionar a grade). Para isso, fique na cadeia de ferramentas ROS.
  • A camada de anotação é nativa do drawtonomy; mantenha o arquivo .drawtonomy.svg como fonte de verdade, e exporte um SVG plano somente quando precisar da geometria de anotação em outra ferramenta.

Veja o guia de importação de grade de ocupação ROS para os detalhes de importação.