Aller au contenu

Format de carte d'occupation ROS

La carte d’occupation ROS est une paire de fichiers — typiquement map.pgm et map.yaml — qui décrit une vue 2D en plongée de l’environnement d’un robot. C’est le format de carte de référence consommé par les piles de navigation ROS (map_server nav1, map_server nav2) et produit par les packages SLAM comme gmapping, Cartographer et slam_toolbox.

Le fichier .pgm est une image en niveaux de gris au format Portable Gray Map. Les valeurs de pixels encodent l’occupation :

  • Pixels sombres — occupé (obstacles, murs).
  • Pixels clairs — espace libre.
  • Un gris spécifique (souvent 205) — inconnu.

Le fichier .yaml décrit comment interpréter l’image en coordonnées métriques :

image: map.pgm
resolution: 0.05 # mètres par pixel
origin: [-12.2, -28.5, 0.0] # coin inférieur gauche en (x, y, lacet)
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

resolution et origin permettent à tout outil aval de convertir les coordonnées pixel en coordonnées monde et vice versa.

Les pipelines les plus courants :

  1. Conduire le robot manuellement et alimenter odométrie + lidar 2D à gmapping ou slam_toolbox ; sauvegarder la carte résultante.
  2. Lancer Cartographer hors ligne sur un fichier bag et exporter la grille d’occupation.
  3. Convertir depuis un autre format.bt, projection OctoMap, ou format personnalisé.

Le résultat est ensuite chargé par map_server pour la localisation (AMCL) et la planification (nav2).

drawtonomy importe des paires .pgm + .yaml et vous permet d’annoter la grille d’occupation dans le navigateur :

  • La carte est affichée à l’échelle sur le canevas grâce aux métadonnées resolution et origin.
  • Vous pouvez dessiner des voies, intersections, véhicules, piétons et panneaux de signalisation par-dessus.
  • Les annotations sont stockées séparément comme des formes drawtonomy — le .pgm d’origine n’est pas modifié.
  • Utile pour les figures d’article (une carte SLAM avec des itinéraires planifiés dessinés dessus), l’enseignement (annoter ce que voit le planificateur) et le labelling rapide de vérité terrain.

Il s’agit intentionnellement d’un import unidirectionnel : drawtonomy ne remplace pas les outils d’édition de carte de nav2. C’est une option pratique quand vous souhaitez une annotation visuellement propre et publiable d’une carte SLAM.

Voir Importer une grille d’occupation ROS pour le flux de travail d’import.