ข้ามไปยังเนื้อหา

รูปแบบแผนที่ ROS occupancy grid

ROS occupancy grid map คือไฟล์คู่ — โดยทั่วไปชื่อ map.pgm และ map.yaml — ที่อธิบายมุมมอง top-down 2D ของสภาพแวดล้อมหุ่นยนต์ นี่คือรูปแบบแผนที่มาตรฐานที่ ROS navigation stack (nav1 map_server, nav2 map_server) รองรับ และ SLAM package เช่น gmapping, Cartographer และ slam_toolbox ผลิตออกมา

ไฟล์ .pgm คือภาพ grayscale Portable Gray Map ค่า pixel แสดง occupancy

  • Pixel สีเข้ม — occupied (สิ่งกีดขวาง กำแพง)
  • Pixel สีอ่อน — พื้นที่ว่าง
  • Gray เฉพาะ (มักเป็น 205) — ไม่รู้สถานะ

ไฟล์ .yaml อธิบายวิธีตีความภาพในพิกัด metric

image: map.pgm
resolution: 0.05 # เมตรต่อ pixel
origin: [-12.2, -28.5, 0.0] # มุมซ้ายล่างใน (x, y, yaw)
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

resolution และ origin ช่วยให้เครื่องมือ downstream แปลงพิกัด pixel เป็นพิกัดโลกและกลับได้

Pipeline ที่พบบ่อยที่สุด

  1. ขับหุ่นยนต์ด้วยมือ แล้วป้อน odometry + 2D lidar ให้ gmapping หรือ slam_toolbox บันทึกแผนที่ที่ได้
  2. รัน Cartographer แบบ offline กับ bag file และส่งออก occupancy grid
  3. แปลงจากรูปแบบอื่น เช่น .bt, OctoMap projection หรือรูปแบบเฉพาะของทีม

ผลลัพธ์จะถูกโหลดโดย map_server สำหรับ localization (AMCL) และ planning (nav2)

drawtonomy นำเข้าคู่ .pgm + .yaml และให้ annotate occupancy grid บนเบราว์เซอร์

  • แสดงแผนที่ตามมาตราส่วนโดยใช้ metadata resolution และ origin
  • วาดเลน ทางแยก ยานพาหนะ คนเดินเท้า และป้ายจราจรทับลงบนแผนที่
  • Annotation เก็บแยกเป็น drawtonomy shape ไฟล์ .pgm ต้นฉบับไม่ถูกแก้ไข
  • เหมาะสำหรับ ภาพประกอบ paper (SLAM map พร้อม route ที่วางแผน) การสอน และ ground-truth labelling

drawtonomy เจตนาให้นำเข้าทางเดียว — ไม่ใช่ตัวแทนของเครื่องมือแก้ไขแผนที่ใน nav2 ที่มีอยู่

ดู นำเข้า ROS occupancy grid สำหรับขั้นตอนการนำเข้า