تخطَّ إلى المحتوى

صيغة خريطة شبكة الإشغال في ROS

خريطة شبكة إشغال ROS هي زوج من الملفات — عادةً map.pgm وmap.yaml — تصف منظرًا علويًا ثنائي الأبعاد لبيئة الروبوت. هي الصيغة المرجعية للخرائط التي تستهلكها مجموعات التنقل في ROS (map_server في nav1، map_server في nav2) وتنتجها حزم SLAM كـgmapping وCartographer وslam_toolbox.

ملف .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

تُمكِّن resolution وorigin معًا أي أداة مصب من تحويل إحداثيات البكسل إلى إحداثيات العالم والعكس.

مصدر هذه الصيغة في الممارسة العملية

Section titled “مصدر هذه الصيغة في الممارسة العملية”

أكثر خطوط الأنابيب شيوعًا:

  1. قيادة الروبوت يدويًا وتغذية بيانات odometry + lidar ثنائي الأبعاد إلى gmapping أو slam_toolbox؛ ثم حفظ الخريطة الناتجة.
  2. تشغيل Cartographer دون اتصال على ملف bag وتصدير شبكة الإشغال.
  3. التحويل من صيغة أخرى.bt أو إسقاط OctoMap أو صيغة مخصصة.

تُحمَّل المخرجات بعد ذلك بواسطة map_server للتحديد المكاني (AMCL) والتخطيط (nav2).

يستورد drawtonomy أزواج .pgm + .yaml ويتيح تعليق شبكة الإشغال في المتصفح:

  • تُعرض الخريطة بالمقياس الصحيح على اللوحة باستخدام بيانات resolution وorigin.
  • يمكنك رسم مسارات وتقاطعات ومركبات ومشاة وإشارات مرور فوق الخريطة.
  • تُخزَّن التعليقات بصورة منفصلة كأشكال drawtonomy — ملف .pgm الأصلي لا يُعدَّل.
  • مفيد لـأشكال الأوراق (خريطة SLAM مع مسارات مرسومة عليها)، والتدريس (تعليق على ما يراه المخطط)، ووضع العلامات الأرضية السريع.

هذا الاستيراد في اتجاه واحد عن قصد: drawtonomy ليس بديلًا عن أدوات تحرير الخرائط في nav2. هو خيار مناسب حين تريد تعليقًا مرئيًا نظيفًا وقابلًا للنشر على خريطة SLAM.

انظر استيراد شبكة إشغال ROS لسير العمل التفصيلي.