Formato de mapa de grade de ocupação ROS
O mapa de grade de ocupação ROS é um par de arquivos — tipicamente map.pgm e map.yaml — que descreve uma visão 2D de cima para baixo do ambiente de um robô. É o formato de mapa canônico consumido por stacks de navegação ROS (nav1 map_server, nav2 map_server) e produzido por pacotes SLAM como gmapping, Cartographer e slam_toolbox.
O que os dois arquivos contêm
Seção intitulada “O que os dois arquivos contêm”O arquivo .pgm é uma imagem em tons de cinza no formato Portable Gray Map. Os valores de pixel codificam a ocupação:
- Pixels escuros — ocupados (obstáculos, paredes).
- Pixels claros — espaço livre.
- Um cinza específico (frequentemente 205) — desconhecido.
O arquivo .yaml descreve como interpretar a imagem em coordenadas métricas:
image: map.pgmresolution: 0.05 # metros por pixelorigin: [-12.2, -28.5, 0.0] # canto inferior esquerdo em (x, y, yaw)negate: 0occupied_thresh: 0.65free_thresh: 0.196resolution e origin juntos permitem que qualquer ferramenta converta coordenadas de pixel em coordenadas do mundo e vice-versa.
De onde vem este formato na prática
Seção intitulada “De onde vem este formato na prática”Os pipelines mais comuns:
- Dirigir o robô manualmente e alimentar odometria + lidar 2D para gmapping ou slam_toolbox; salvar o mapa resultante.
- Executar o Cartographer offline em um arquivo de bag e exportar a grade de ocupação.
- Converter de outro formato —
.bt, projeção OctoMap ou um formato personalizado.
A saída é então carregada pelo map_server para localização (AMCL) e planejamento (nav2).
Onde o drawtonomy se encaixa
Seção intitulada “Onde o drawtonomy se encaixa”O drawtonomy importa pares .pgm + .yaml e permite anotar a grade de ocupação no navegador:
- O mapa é exibido em escala na tela usando os metadados de
resolutioneorigin. - Você pode desenhar faixas, cruzamentos, veículos, pedestres e sinais de trânsito por cima do mapa.
- As anotações são armazenadas separadamente como formas do drawtonomy — o
.pgmoriginal não é modificado. - Útil para figuras em artigos (um mapa SLAM com rotas planejadas desenhadas sobre ele), ensino (anotar o que o planejador vê) e rotulagem rápida de ground truth.
Esta é intencionalmente uma importação unidirecional: o drawtonomy não é uma substituição para as ferramentas de edição de mapas do nav2. É uma opção conveniente quando se quer uma anotação visualmente limpa e publicável de um mapa SLAM.
Veja Importar grade de ocupação ROS para o fluxo de trabalho de importação.
Leitura relacionada
Seção intitulada “Leitura relacionada”- Caso de uso: anotação de mapas de grade de ocupação ROS — fluxos de trabalho típicos.