콘텐츠로 이동

ROS 점유 격자 맵 형식

ROS 점유 격자 맵은 — 일반적으로 map.pgmmap.yaml — 로봇 환경의 2D 탑다운 뷰를 기술하는 파일 쌍입니다. ROS 내비게이션 스택 (nav1 map_server, nav2 map_server)이 소비하고 gmapping, Cartographer, slam_toolbox 같은 SLAM 패키지가 생성하는 표준 맵 형식입니다.

.pgm 파일은 그레이스케일 Portable Gray Map 이미지입니다. 픽셀 값이 점유도를 인코딩합니다:

  • 어두운 픽셀 — 점유됨 (장애물, 벽).
  • 밝은 픽셀 — 자유 공간.
  • 특정 회색 (주로 205) — 미지.

.yaml 파일은 이미지를 미터 좌표로 해석하는 방법을 기술합니다:

image: map.pgm
resolution: 0.05 # 픽셀당 미터
origin: [-12.2, -28.5, 0.0] # 좌하단 모서리 (x, y, yaw)
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

resolutionorigin이 함께 하류 도구가 픽셀 좌표와 세계 좌표 간의 변환을 가능하게 합니다.

이 형식이 실제로 생성되는 경로

섹션 제목: “이 형식이 실제로 생성되는 경로”

가장 일반적인 파이프라인:

  1. 로봇을 수동 주행하며 오도메트리와 2D 라이다를 gmapping 또는 slam_toolbox에 공급하여 맵을 저장.
  2. Cartographer 를 백파일로 오프라인 실행하여 점유 격자를 내보내기.
  3. 다른 형식에서 변환.bt, OctoMap 투영, 또는 커스텀 형식.

출력은 이후 map_server가 로컬라이제이션 (AMCL)과 플래닝 (nav2) 용으로 로드합니다.

drawtonomy는 .pgm + .yaml 쌍을 가져와 브라우저에서 점유 격자에 주석을 달 수 있습니다:

  • resolutionorigin 메타데이터를 사용하여 맵을 캔버스에 정확한 축척으로 표시합니다.
  • 맵 위에 차선, 교차로, 차량, 보행자, 교통 표지를 그릴 수 있습니다.
  • 주석은 drawtonomy 도형으로 별도 저장됩니다 — 원본 .pgm은 수정되지 않습니다.
  • 논문 그림 (계획된 경로가 그려진 SLAM 맵), 교육 (플래너가 보는 것에 주석 달기), 빠른 그라운드 트루스 레이블링에 유용합니다.

이것은 의도적으로 단방향 가져오기입니다: drawtonomy는 nav2의 맵 편집 도구의 대체재가 아닙니다. SLAM 맵의 시각적으로 깔끔하고 출판 가능한 주석이 필요할 때 편리한 옵션입니다.

가져오기 워크플로는 ROS 점유 격자 가져오기를 참조하세요.