콘텐츠로 이동

ROS 점유 격자 지도 주석 달기

몇 시간의 SLAM 튜닝으로 점유 격자를 완성했습니다. 이제 논문이나 보고서, 프레젠테이션에 실어야 하는데, 계획된 경로를 그리고, 목표 자세를 표시하고, 진입 금지 구역을 음영 처리해야 합니다. 이것이 drawtonomy의 ROS 지도 가져오기 기능입니다.

drawtonomy가 .pgm + .yaml 파일을 처리하는 방식

섹션 제목: “drawtonomy가 .pgm + .yaml 파일을 처리하는 방식”

drawtonomy는 ROS 지도 쌍(.pgm 이미지 + .yaml 메타데이터)을 읽어서 다음을 수행합니다:

  • 점유 격자를 캔버스에 정확한 미터법 스케일로 배치합니다.
  • YAML의 resolutionorigin 필드를 사용하여 월드 좌표의 일관성을 유지합니다.
  • 차선, 교차로, 차량, 보행자, 신호등, 자유형 화살표와 텍스트를 위에 그릴 수 있습니다.

그리기 레이어는 원본 .pgm 파일과 독립적인 도형 집합이므로 원본은 절대 수정되지 않습니다.

  • 논문 그림. 예를 들어 “그림 3: 장애물 주위의 nav2 계획”처럼, 순수한 점유 격자만으로는 내용을 설명하기 부족합니다. 계획된 경로와 목표 자세를 표시한 격자는 의도를 명확히 전달합니다.
  • 내부 문서. 진입 금지 구역, 충전소 위치, 명명된 부분 영역을 주석으로 추가한 SLAM 지도는 팀 인원 변동에도 소중한 자산으로 남습니다.
  • 강의 자료. nav2나 AMCL을 가르칠 때, 주석이 달린 격자를 보여주면 학생들이 플래너가 인식하는 환경을 이해할 수 있습니다.
  • 버그 재현. “로봇이 이 위치에서 멈췄고, 격자는 이렇고, 실패한 계획 경로는 이렇습니다”라는 명확한 증거 제시.
  1. 가져오기. Import → ROS map에서 .pgm.yaml 파일을 모두 드롭합니다(또는 함께 압축합니다).
  2. 스케일 확인. yaml의 resolutionorigin이 자동으로 적용되고, drawtonomy 눈금자가 미터를 표시합니다.
  3. 주석 추가. Lane, Vehicle, Path, Polygon, Text 도형을 사용하여 그립니다. 낮은 투명도의 Polygon 도구는 진입 금지 구역 음영 처리에 효과적입니다.
  4. .drawtonomy.svg 형식으로 저장합니다(drawtonomy의 네이티브 SVG 형식). SLAM 지도 주석은 거의 일회성이 아닙니다. 새로운 진입 금지 구역이 추가되고, 명명된 부분 영역이 변경되며, 때로는 지도 자체를 다시 기록해야 합니다. .drawtonomy.svg는 모든 주석을 유지하면서 다시 열리므로, 반복 작업이 처음부터 다시 그리는 것이 아닌 편집만으로 이루어집니다.
  5. 배포용 내보내기. 같은 장면에서 확장 벡터가 필요 없는 문서용 PNG로 내보내거나, 격자를 래스터 배경으로, 주석을 벡터로 하는 평면 SVG로 내보냅니다(논문과 슬라이드용).
  • 주석 레이어에는 단일 강조 색상을 사용합니다. 회색톤 격자 위에 여러 색상을 사용하면 시각적 혼란을 야기합니다.
  • Linestring과 Text 도형으로 수동 눈금 표시를 추가합니다. drawtonomy가 자동으로 렌더링하지는 않지만, 눈금자를 통해 주어진 길이가 정확히 몇 미터인지 확인할 수 있습니다.
  • Drawtonomy는 nav2의 map_server 편집 도구(격자를 자르고, 팽창시키고, 회전시키는 CLI 유틸리티)의 대체품이 아닙니다. 이런 작업은 ROS 도구체인을 사용하세요.
  • 주석 레이어는 drawtonomy 네이티브 형식입니다. .drawtonomy.svg 파일을 원본으로 유지하고, 주석 기하학이 다른 도구에 필요할 때만 평면 SVG로 내보냅니다.

ROS 점유 격자 가져오기 가이드에서 가져오기 세부 사항을 확인하세요.