مدونة د.خلدون عرفة للروبوتيك

Font size: +

نظام تشغيل الروبوتات (ROS) وROS 2

WhatsApp-Image-2025-10-25-at-8.49.54-PM

يُعدّ نظام تشغيل الروبوتات (Robot Operating System – ROS) إطاراً برمجياً مفتوح المصدر لتطوير الأنظمة الروبوتية، لكنه ليس نظام تشغيل بالمعنى التقليدي.
يوفّر ROS بنية متكاملة لتطوير، تشغيل، وتبادل الوحدات البرمجية (Nodes) في بيئة متصلة ومتعددة الأجهزة.
في هذا المقال، سنستعرض بنية ROS الأساسية، ثم نتعمّق في ROS 2 كجيل متطور يدعم الزمن الحقيقي والتوزيع الشبكي، مع التركيز على المعلومات النادرة والتقنيات المتقدمة التي قلّما تُناقش في المصادر العامة. 

بنية ROS الأساسية

1. نموذج الحوسبة البيانية (Computation Graph)

  • كل وحدة تنفيذية تُعرف باسم Node، وتتواصل مع غيرها عبر:
    • Topics (النشر والاشتراك)
    • Services (الطلبات/الردود)
    • Parameter Server (لتخزين الإعدادات)
  • يقوم ROS Master بتسجيل أسماء العقد والموارد، مما يسهل التواصل بين المكونات المختلفة.
2. مستويات البنية في ROS
  • مستوى نظام الملفات: الحزم (Packages) والمكتبات والملفات المصدرية.
  • مستوى الرسم البياني للحوسبة: النودات، المواضيع، الخدمات، خادم الإعدادات.
  • مستوى المجتمع: التعاون، تبادل الحزم، إعادة الاستخدام، والمشاركة المفتوحة.
3. قابلية التوسعة
  • تصميم "رقيق" (Thin) يسهل الدمج مع أطر أخرى.
  • يدعم لغات متعددة (C++، Python، Java، Lua).
  • بنية الاتصالات تسمح بتوزيع النودات عبر أجهزة متعددة داخل شبكة روبوتية واحدة.

ROS 2 — الجيل الجديد والبنية العميقة

1. لماذا ROS 2؟

جاء ROS 2 لمعالجة قيود ROS 1، وخاصة في:

  • دعم الزمن الحقيقي (Real-Time).
  • العمل عبر أنظمة تشغيل متعددة (Linux، Windows، macOS).
  • استخدام DDS (Data Distribution Service) كنواة اتصالات موزّعة.
  • التركيز على الأمان، التزامن، وإدارة أساطيل الروبوتات.
2. طبقات البنية في ROS 2
  1. Application Layer: تشغيل النودات.
  2. Client Libraries: مثل rclcpp وrclpy.
  3. RCL Layer: مكتبة C الأساسية.
  4. RMW Interface: واجهة تسمح بتعدد وسطاء DDS.
  5. DDS Layer: الطبقة المسؤولة عن الاتصال والاكتشاف ونماذج QoS.
3. ميزات DDS وQoS
  • ROS 2 يستخدم DDS لتوفير اكتشاف موزع، ومرونة في سياسات الاتصال:
    • Reliable للاتصال الموثوق.
    • Best-Effort للاتصال السريع دون ضمان التسليم.
  • يمكن ضبط QoS حسب نوع البيانات (تحكم، فيديو، استشعار).
4. العقد الحياتية (Lifecycle Nodes)
  • تدعم ROS 2 حالات للنود (Inactive، Active، Configured).
  • تتيح تحكمًا صناعيًا مرنًا وإدارة دقيقة للحالة التشغيلية.
5. التسريع باستخدام العتاد (Hardware Acceleration)
  • بحث RobotCore أثبت إمكانية تسريع العقد عبر FPGA/GPU بنسبة تصل إلى 24.4٪.
  • يفتح المجال لروبوتات قادرة على معالجة رؤية وذكاء اصطناعي في الزمن الحقيقي.

معلومات نادرة ومصادر بحثية متقدمة

1. إطار HAROS لتحليل الموثوقية العالية

  • يستخدم تحليلًا ساكنًا (Static Analysis) واختبار الخصائص (Property-Based Testing).
  • ضروري في الروبوتات الصناعية والحرجة حيث يُتطلّب أداء آمن ومستقر.
2. دمج علوم البيانات مع ROS
  • مشروع RoboStack يمكّن من تشغيل ROS داخل بيئات Conda وJupyterLab.
  • يتيح التكامل بين الروبوت والتحليل اللحظي للبيانات والتعلّم الآلي.
3. أساطيل الروبوتات (Multi-Robot Fleets)
  • بفضل DDS يمكن إدارة أساطيل روبوتات متعاونة في بيئة واحدة (مثلاً في المستودعات).
4. تطبيقات مبتكرة
  • دمج ROS 2 مع حساسات بيولوجية قابلة للارتداء لروبوتات تتفاعل مع الحالة الفسيولوجية للإنسان.
  • دمج ROS 2 مع التعلم العميق (Deep RL) لروبوتات تتعلم من التجربة.

التحديات التقنية في ROS 2

  1. التعقيد في الإعداد والتوثيق: إعداد DDS واختيار QoS يتطلب خبرة.
  2. زمن التأخير (Latency):
    • بعض الدراسات تُظهر أن ROS 2 قد يضيف تأخيراً يصل إلى 50٪ مقارنة بـ DDS المباشر.
    • يعتمد الأداء بشدة على نوع الوسيط (Fast DDS، CycloneDDS).
  3. مشكلات QoS:
    • أكثر من 20 سياسة QoS.
    • وُجدت 41 قاعدة قد تؤدي إلى فشل في الاتصال إن لم تُضبط بشكل صحيح.
  4. الاتصال اللاسلكي:
    • تجزئة IP المفرطة، توقيت إعادة الإرسال، وازدحام المخازن قد تسبب اختناقات كبيرة خاصة مع بيانات LiDAR أو الفيديو.

بناء نظام روبوتي ناجح بالاعتماد على ROS/ROS 2

  • اختيار النسخة المناسبة:
    • ROS 1 (مثل Noetic): للتعليم والبحث.
    • ROS 2: للإنتاج، الزمن الحقيقي، والحوسبة الموزعة.
  • تصميم النودات والبنية منذ البداية:
    • حدّد Topics، Services، والإطارات الزمنية (/tf).
  • تحسين الأداء:
    • وزّع النودات على الأجهزة.
    • استخدم تسريع العتاد (FPGA/GPU) للمهام الثقيلة.
  • تحليل الجودة:
    • استخدم أدوات مثل HAROS للأنظمة الصناعية.
  • دمج علوم البيانات:
    • استخدم RoboStack أو Jupyter لتحليل البيانات والتفاعل اللحظي.
  • ضبط DDS/QoS بدقة:
    • جرّب أكثر من وسيط.
    • استخدم ملفات XML لتوصيف QoS مسبقاً.
    • راقب Latency عملياً ولا تعتمد على القيم الافتراضية.
  •  يُعدّ ROS وROS 2 من أقوى الأطر لتطوير الروبوتات الحديثة — لكن القوة الحقيقية تكمن في:

    • فهم البنية العميقة (DDS، QoS، Lifecycle).
    • استغلال التسريع العتادي والتحليل البرمجي المتقدم.
    • التصميم الواعي للأداء، الزمن الحقيقي، والاتصال الموزّع.

    ROS 2 ليس فقط أداة لبناء روبوت يعمل، بل منصة لخلق جيل من الروبوتات الذكية، السريعة، المتعاونة، والمتصلة بالعالم.

    https://www.facebook.com/groups/arabicyoungtalentrobotics/ 

     https://www.youtube.com/@YoungTalentRobotics

    حول المقالة

    • متوسط
    ×
    Stay Informed

    When you subscribe to the blog, we will send you an e-mail when there are new updates on the site so you wouldn't miss them.

    بنية React JS الداخلية
    Robotics Workshop at Pahud Utrecht – Empowering Yo...

    Related Posts

     

    Comments

    No comments made yet. Be the first to submit a comment
    Already Registered? Login Here
    Thursday, 25 June 2026