استفسر الآن

نظرة عامة على نظام تشغيل الروبوت ROS والنقاط الرئيسية

ROS Robot Operating System Overview and Key Points

أهداف تصميم نظام ROS

مع التقدم السريع والتعقيد المتزايد في مجال الروبوتات، ازداد الطلب على إعادة استخدام التعليمات البرمجية والنمطية بشكل متزايد. وقد كافحت بعض أنظمة الروبوتات مفتوحة المصدر لتلبية هذه الاحتياجات بشكل كافٍ. في عام 2007، أصدر ويلو غاراج نظام تشغيل الروبوتات مفتوح المصدر (ROS)، والذي سرعان ما أثار موجة من التعلم والتبني داخل مجتمع أبحاث الروبوتات.

The ROS system originated from a collaboration between a 2007 project at Stanford University’s Artificial Intelligence Laboratory and Willow Garage’s Personal Robots Program. After 2008, development was led by Willow Garage. With the remarkable feats of early ROS robots like the PR2—such as folding clothes, plugging in devices, and preparing breakfast—ROS gained increasing attention. Willow Garage expressed its ambition to leverage open-source development to transform PR2 into a “universal” robot.

PR2 came with a hefty price tag, retailing for $400,000 in 2011. It is now primarily used for research. Equipped with two arms, each featuring seven joints, PR2’s end effectors are grasping grippers. Mobility is provided by four wheels mounted on its base. High-resolution cameras, laser rangefinders, inertial measurement units, tactile sensors, and other advanced sensing equipment are mounted on the PR2’s head, chest, elbows, and grippers. Two 8-core computers at the base serve as the control and communication hub for the robot’s hardware. Both computers run Ubuntu and ROS.

أهداف تصميم ROS

ROS مفتوح المصدر ويعمل كنظام تشغيل ثانوي للروبوتات. وهو يوفر وظائف مشابهة لوظائف نظام التشغيل، بما في ذلك تجريد الأجهزة، وإدارة برامج التشغيل منخفضة المستوى، وتنفيذ الوظائف المشتركة، والمراسلة بين البرامج، وإدارة الحزم. كما يوفر أدوات ومكتبات للحصول على برامج تعاونية متعددة الروبوتات وبناءها وكتابتها وتشغيلها. ROS مفتوح المصدر ويعمل كنظام تشغيل خلفي أو نظام تشغيل ثانوي للروبوتات. ويوفر وظائف مشابهة لوظائف نظام التشغيل، بما في ذلك تجريد الأجهزة، وإدارة برامج التشغيل منخفضة المستوى، وتنفيذ الوظائف المشتركة، والمراسلة بين البرامج، وإدارة الحزم. كما يوفر أيضاً برامج مساعدة ومكتبات للحصول على برامج تعاونية متعددة الروبوتات وبناءها وكتابتها وتشغيلها.

الميزات الرئيسية لنظام التشغيل الإقليمي

بنية وقت تشغيل ROS عبارة عن إطار عمل معالجة يستخدم وحدات اتصالات ROS لإنشاء اتصالات شبكة نظير إلى نظير غير مترابطة بين الوحدات. وتنفذ عدة أنواع من الاتصالات، بما في ذلك الاتصال المتزامن القائم على الخدمة RPC (استدعاء الإجراء عن بُعد)، واتصال تدفق البيانات غير المتزامن القائم على الموضوع، وتخزين البيانات على خادم المعلمات. ومع ذلك، فإن ROS نفسها لا تمتلك بطبيعتها قدرات الوقت الحقيقي.

يمكن تلخيص الخصائص الرئيسية لـ ROS على النحو التالي:

  • تصميم من نظير إلى نظير

يتكون النظام الذي يستخدم ROS من سلسلة من العمليات التي توجد عبر عدة مضيفين مختلفين وتتواصل أثناء التشغيل من خلال طوبولوجيا الند للند. في حين أن أطر البرامج القائمة على خوادم مركزية يمكنها أيضاً تحقيق مزايا البيئات متعددة العمليات ومتعددة المضيفين، إلا أن هذه الأطر تواجه مشاكل مع خادم البيانات المركزي عندما تكون أجهزة الكمبيوتر متصلة عبر شبكات مختلفة. يتكون النظام الذي يستخدم ROS من سلسلة من العمليات التي توجد على عدة مضيفين مختلفين وتتواصل أثناء التشغيل من خلال طوبولوجيا الند للند. على الرغم من أن الأطر البرمجية القائمة على خادم مركزي يمكنها أيضاً تحقيق مزايا البيئات متعددة العمليات ومتعددة المضيفين، إلا أن هذه الأطر تواجه مشاكل مع خادم البيانات المركزي عندما تكون أجهزة الكمبيوتر متصلة عبر شبكات مختلفة.

  • دعم متعدد اللغات

عند كتابة التعليمات البرمجية، يميل العديد من المبرمجين إلى تفضيل لغات برمجة معينة. تنبع هذه التفضيلات من عوامل مثل مقدار الوقت المستغرق في البرمجة بكل لغة، وفعالية التصحيح، وبناء الجملة، وكفاءة التنفيذ، واعتبارات تقنية وثقافية مختلفة. لمعالجة هذه المشكلات، قمنا بتصميم ROS كإطار عمل محايد من حيث اللغة. يدعم نظام ROS الآن العديد من اللغات المختلفة، بما في ذلك C++، وPython، وOctave، وLISP، ويتضمن أيضًا تطبيقات متعددة للواجهات للغات الأخرى.

يتجلى تفرد نظام ROS في المقام الأول في طبقة اتصال الرسائل بدلاً من المستويات الأعمق. يتم تنفيذ الاتصالات والتكوينات من طرف إلى طرف باستخدام آلية XML-RPC، والتي تتضمن أيضًا تطبيقات موثقة جيدًا لمعظم لغات البرمجة الرئيسية. نحن نهدف إلى أن يتم تنفيذ ROS بشكل طبيعي أكثر عبر مختلف اللغات، بما يتماشى مع اصطلاحات بناء الجملة الخاصة بكل منها، بدلاً من توفير واجهات تستند إلى C للغات الأخرى. ومع ذلك، في حالات معينة، تكون الاستفادة من المكتبات الموجودة لتغليف الدعم للغات الجديدة ملائمة.

To support cross-language development, ROS employs a simple, language-agnostic interface definition language (IDL) to describe message exchanges between modules. The IDL uses concise text to define each message’s structure and allows message composition. For example, the following diagram illustrates a point message described using IDL:

تنتج مولدات التعليمات البرمجية لكل لغة ملفات التعليمات البرمجية الأصلية المقابلة. أثناء إرسال الرسائل واستقبالها، يقوم ROS تلقائيًا بتجميع هذه الملفات وتنفيذها بالتوازي. يوفر هذا الأمر وقتاً كبيراً في البرمجة ويقلل من الأخطاء: حيث يتم توسيع ملف IDL المكون من ثلاثة أسطر تلقائياً إلى 137 سطراً من كود C++، و96 سطراً من كود Python، و81 سطراً من كود Lisp، و99 سطراً من كود Octave. نظرًا لأن الرسائل يتم إنشاؤها تلقائيًا من ملفات نصية بسيطة، يمكن تعداد أنواع الرسائل الجديدة بسهولة. في وقت كتابة هذا التقرير، تحتوي مكتبات الشيفرات البرمجية المعروفة المستندة إلى ROS على أكثر من أربعمائة نوع من الرسائل. تنقل هذه الرسائل بيانات المستشعرات، مما يمكّن الكائنات من اكتشاف محيطها.

والنتيجة النهائية هي التعامل مع الرسائل دون النظر إلى اللغة، مما يسمح بمزج لغات متعددة ومطابقتها بحرية.

  • التبسيط والتكامل

تحتوي معظم مشاريع هندسة برمجيات الروبوتات الحالية على برامج تشغيل وخوارزميات يمكن إعادة استخدامها خارج المشروع. ولسوء الحظ، ولأسباب مختلفة، فإن الطبقات الوسيطة لمعظم الشفرات البرمجية تتسم بالفوضى المفرطة، مما يجعل من الصعب استخراج وظائفها وتطبيقها خارج نطاق النماذج الأولية.

ولمواجهة هذا الاتجاه، نشجع على تطوير جميع برامج التشغيل والخوارزميات تدريجياً إلى مكتبات مستقلة مستقلة عن تبعيات ROS. تتميز الأنظمة المبنية على ROS بالنمطية، حيث يمكن تجميع الشيفرة داخل كل وحدة نمطية بشكل منفصل. تسهل أداة CMake المستخدمة في التجميع مفهوم البساطة. تقوم ROS بشكل أساسي بتغليف التعليمات البرمجية المعقدة داخل المكتبات، مما يؤدي إلى إنشاء تطبيقات صغيرة فقط لإظهار وظائف المكتبة. وهذا يسمح بنقل الشيفرة البرمجية البسيطة وإعادة استخدامها إلى ما بعد النماذج الأولية. كميزة جديدة، يصبح اختبار الوحدة أسهل بكثير عندما يتم توزيع التعليمات البرمجية عبر المكتبات. يمكن لبرنامج اختبار واحد التحقق من ميزات متعددة داخل المكتبة.

يستفيد ROS من شيفرة من العديد من المشاريع مفتوحة المصدر الموجودة. على سبيل المثال، فهو يستعير كود برنامج التشغيل والتحكم في الحركة والمحاكاة من مشروع Player؛ وخوارزميات الرؤية من OpenCV؛ وخوارزميات التخطيط من OpenRAVE؛ وغيرها الكثير. في كل حالة، يوفر ROS خيارات تهيئة متنوعة ويسهل اتصال البيانات بين مكونات البرمجيات مع تطبيق الحد الأدنى من الأغلفة والتعديلات. تتطور ROS باستمرار من خلال الصيانة المجتمعية، ودمج التحديثات من مكتبات البرامج الأخرى وتصحيحات التطبيقات في شيفرتها المصدرية.

  • مجموعة أدوات شاملة

لإدارة إطار عمل برمجيات ROS المعقدة، استفدنا من العديد من الأدوات المساعدة لتجميع وتشغيل مكونات ROS المتنوعة، وتصميمها كنواة بدلاً من إنشاء بيئة تطوير وتشغيل ضخمة. تتعامل هذه الأدوات مع مهام متنوعة، مثل تنظيم هياكل التعليمات البرمجية المصدرية، واسترجاع معلمات التكوين وتعيينها، وتصور اتصالات الطوبولوجيا من طرف إلى طرف، وقياس استخدام النطاق الترددي، وتصوير بيانات المعلومات بشكل واضح، وتوليد الوثائق تلقائيًا. على الرغم من أننا اختبرنا الخدمات الأساسية مثل الساعة العالمية والمسجل لوحدات التحكم، إلا أننا ما زلنا نهدف إلى وضع جميع التعليمات البرمجية في وحدات نمطية. نعتقد أن أي خسارة في الكفاءة تفوق بكثير فوائد الاستقرار وتقليل تعقيد الإدارة.

  • مجاني ومفتوح المصدر

يتم إصدار جميع التعليمات البرمجية المصدرية لـ ROS بشكل علني. نحن نعتقد أن هذا سيعزز حتماً تصحيح الأخطاء على جميع مستويات برمجيات ROS وتصحيح الأخطاء باستمرار. في حين أن البرامج غير مفتوحة المصدر مثل Microsoft Robotics Studio و Webots تمتلك العديد من السمات الجديرة بالثناء، فإننا نؤكد أنه لا يمكن الاستغناء عن منصة مفتوحة المصدر. وينطبق هذا الأمر بشكل خاص عندما يتم تصميم الأجهزة والبرمجيات على جميع المستويات وتصحيحها بشكل متزامن. يتم إصدار جميع التعليمات البرمجية المصدرية لـ ROS بشكل علني. ونحن نعتقد أن هذا سيعزز حتماً تصحيح الأخطاء على جميع مستويات برمجيات ROS وتصحيح الأخطاء باستمرار. على الرغم من أن البرامج غير مفتوحة المصدر مثل Microsoft Robotics Studio و Webots تمتلك أيضاً العديد من السمات الجديرة بالثناء، إلا أننا نعتبر أن المنصة مفتوحة المصدر لا يمكن الاستغناء عنها. وينطبق هذا بشكل خاص عندما يتم تصميم وتصحيح أخطاء الأجهزة والبرمجيات على جميع المستويات في وقت واحد.

روبوتات تمثيلية لروبوتات ROS النموذجية في السوق

تُظهر الروبوتات التمثيلية التي تستخدم ROS في السوق كيف يدعم هذا الإطار مفتوح المصدر تطبيقات متنوعة. على سبيل المثال الروبوتات المتحركة such as TurtleBot and Husarion ROS bot are widely used for education and research; service robots like Fetch and PR2 highlight advanced manipulation and navigation capabilities; while industrial platforms such as Clearpath’s Husky demonstrate ROS integration in rugged environments. These examples reflect the flexibility and scalability of ROS in both academic and commercial robotics.

فيما يلي قوائم تمثيلية لروبوتات ROS رباعية الأرجل وروبوتات ROS ذات العجلات وروبوتات ROS المجنزرة.

Best Quadruped Robots Powered by ROS

اسم كوبماي البلد صورة الروبوت طلب الموقع الرسمي
يونتري روبوتيكس الصين يونتري روبوتيكس  التعليم والبحث والمهام الصناعية https://www.unitree.com/go2
Boston Dynamics الولايات المتحدة الأمريكية بوسطن ديناميكيات التفتيش الصناعي https://bostondynamics.com/products/spot/

أفضل 5 روبوتات بعجلات تستخدم ROS

اسم كوبماي البلد صورة الروبوت تشغيل التحميل الموقع الرسمي
مير الدنمارك روبوت MiR 600 كجم https://www.mobile-industrial-robots.com
روبوتنيك روبوت اسبانيا روبوت الأتمتة الآلي روبوتنيك 150 كجم https://bostondynamics.com/products/spot/
روبوتنيك اسبانيا 250 كجم
كليرباث روبوتيكس كندا كليرباث روبوتيكس 100كجم https://clearpathrobotics.com
روبوت موثوق به الصين الروبوت الزراعي A025 1000 كجم https://www. fdatabot.com

Best Tracked Robots with ROS Integration

اسم كوبماي البلد صورة الروبوت طلب الموقع الرسمي
سوبر درويد

الروبوتات

كندا الروبوت الآلي الخارق  روبوت تكتيكي روبوت تكتيكي تكتيكي https://www.superdroidrobots.com/store/tracked-robots
Your Custom Mobile Robot Solution Starts Here

China-based OEM/ODM manufacturer — AMR, AGV, warehouse automation. From design and R&D to global delivery.

  • 10+ years manufacturing AMRs & AGVs
  • Custom solutions deployed in 50+ countries
  • Free project evaluation & ROI analysis
  • Engineer reply within 24 hours
نموذج الاتصال

خبير في مجال الروبوتات، شغوف باستكشاف مجموعة واسعة من الروبوتات، والروبوتات التي تجعل العمل أكثر كفاءة، واستكشاف الروبوتات بما في ذلك الروبوتات المتنقلة، وروبوتات جز العشب