Ir al contenido

Formato de mapa de cuadrícula de ocupación ROS

El mapa de cuadrícula de ocupación de ROS es un par de archivos — normalmente map.pgm y map.yaml — que describe una vista 2D desde arriba del entorno de un robot. Es el formato de mapa canónico consumido por los stacks de navegación de ROS (nav1 map_server, nav2 map_server) y producido por paquetes SLAM como gmapping, Cartographer y slam_toolbox.

El archivo .pgm es una imagen en escala de grises en formato Portable Gray Map. Los valores de píxel codifican la ocupación:

  • Píxeles oscuros — ocupados (obstáculos, paredes).
  • Píxeles claros — espacio libre.
  • Un gris específico (a menudo 205) — desconocido.

El archivo .yaml describe cómo interpretar la imagen en coordenadas métricas:

image: map.pgm
resolution: 0.05 # metros por píxel
origin: [-12.2, -28.5, 0.0] # esquina inferior izquierda en (x, y, yaw)
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

resolution y origin juntos permiten que cualquier herramienta posterior convierta coordenadas de píxel a coordenadas del mundo y viceversa.

De dónde viene este formato en la práctica

Sección titulada «De dónde viene este formato en la práctica»

Los pipelines más comunes:

  1. Conduce el robot manualmente y alimenta la odometría + LIDAR 2D a gmapping o slam_toolbox; guarda el mapa resultante.
  2. Ejecuta Cartographer fuera de línea sobre un archivo de bag y exporta la cuadrícula de ocupación.
  3. Convierte desde otro formato.bt, proyección de OctoMap o un formato personalizado.

La salida se carga luego en map_server para localización (AMCL) y planificación (nav2).

drawtonomy importa pares .pgm + .yaml y te permite anotar la cuadrícula de ocupación en el navegador:

  • El mapa se muestra a escala en el lienzo usando los metadatos resolution y origin.
  • Puedes dibujar carriles, intersecciones, vehículos, peatones y señales de tráfico encima del mapa.
  • Las anotaciones se almacenan por separado como formas de drawtonomy — el .pgm original no se modifica.
  • Útil para figuras en artículos (un mapa SLAM con rutas planificadas dibujadas encima), enseñanza (anota lo que ve el planificador) y etiquetado rápido de ground truth.

Se trata intencionalmente de una importación unidireccional: drawtonomy no es un sustituto de las herramientas de edición de mapas de nav2. Es una opción conveniente cuando quieres una anotación visualmente limpia y publicable de un mapa SLAM.

Consulta Importar mapa de cuadrícula de ocupación ROS para conocer el flujo de importación.