# نظام تشغيل روبوت ROS

نظام تشغيل روبوت (بالإنجليزية Robot Operating System) هي برمجية روبوتية وسيطة (أي مجموعة من أطر البرمجيات لتطوير برمجيات الروبوت). على الرغم من أن نظام ROS ليس نظام تشغيل، إلا أنه يقدم خدمات مصممة لمجموعات الكمبيوتر غير المتجانسة مثل استخراج العتاد الصلب، والتحكم في الأجهزة على المستوى المنخفض (Low-level Device Control)، وتطبيق الوظائف الشائعة، وتمرير الرسائل بين العمليات، وإدارة الحزم. يتم تمثيل مجموعات العمليات المستندة إلى ROS في مخطط الرسم البياني (Graph) حيث تتم المعالجة في العقد التي قد تستقبل أو ترسل رسائل الحساسات أو نظام التحكم أو المشغلات أو رسائل أخرى. على الرغم من أهمية التفاعل والكمون المنخفض في التحكم في الروبوت، فإن ROS في حد ذاته لا يعد نظامًا يعمل في الزمن الحقيقي (RTOS)، على الرغم من أنه من الممكن دمج ROS مع شفرة في الزمن الحقيقي (Real Time).
يمكن فصل البرمجية في نظام ROS إلى ثلاث مجموعات:
* أدوات مستقلة عن اللغة وعن منصة العمل تستخدم لبناء وتوزيع البرمجيات القائمة على ROS ؛
* تضمين مكتبية عميل (زبون) ROS مثل roscpp و rospy و roslisp؛
* الحزم التي تحتوي على تعليمات برمجية متعلقة بالتطبيق والتي تستخدم واحدة أو أكثر من مكتبيات عملاء ROS.
يتم إصدار كل من أدوات اللغة المستقلة ومكتبيات العملاء الرئيسية (C ++ و Python و Lisp) بموجب شروط ترخيص BSD ، وعلى هذا النحو فهي برامج مفتوحة المصدر ومجانية للاستخدام التجاري والبحثي. غالبية الحزم الأخرى مرخصة بموجب مجموعة متنوعة من تراخيص البرامج مفتوحة المصدر. وتنفذ هذه الحزم الأخرى وظائف وتطبيقات شائعة الاستخدام مثل برامج تشغيل الأجهزة ونماذج الروبوت ونوع البيانات والتخطيط والإدراك ورسم الخرائط وأدوات المحاكاة والخوارزميات الأخرى.
تتوجه مكتبيات عملاء ROS الرئيسية (سي++ وبايثون و Lisp) نحو نظام يشبه نظام يونكس، ويرجع ذلك أساسًا إلى اعتمادها على مجموعات كبيرة من تبعيات البرامج مفتوحة المصدر. بالنسبة لمكتبيات العملاء هذه، يتم سرد Ubuntu Linux كـ «مدعوم» بينما يتم تعيين البدائل الأخرى مثل فيدورا Linux وmacOS ومايكروسوفت ويندوز «كتجريبي» ويتم دعمها بواسطة المجتمع. إلا أن مكتبة عميل ROS جافا الأصلية، rosjava ، لا تشارك هذه القيود وقد مكنت من كتابة برنامج ROS لنظام التشغيل أندرويد. كما مكنت مكتبية rosjava أيضًا من دمج ROS في أدوات ماتلاب المدعوم رسميًا والذي يمكن استخدامه على Linux و MacOS و Microsoft Windows. كما تم تطوير مكتبة عميل جافا سكريبت، roslibjs التي تمكن من تضمين برامجيات في نظام ROS عبر أي متصفح ويب متوافق مع المعايير.

## التاريخ

2007
* بدأ ROS باستعارة أفضل الممارسات من العديد من أطر البرمجيات الآلية المفتوحة المصدر في وقت مبكر بما في ذلك switchyard من مختبر ستانفورد للذكاء الاصطناعي لدعم مشروع Stanford AI Robot STAIR (STANford AI Robot).
2008
* تم إجراء التطوير بشكل أساسي في مختبر Willow Garage ، وهو مختبر أبحاث في مجال الروبوتات، عندما غادر Eric Berger و Keenan Wyrobeik ، مؤسسي برنامج Stanford Personal Robotics ، جامعة ستانفورد لبدء برنامج Personal Robotics Program في شركة Willow Garage. خلال ذلك الوقت، تعاون الباحثون في أكثر من عشرين مؤسسة مع مهندسي Willow Garage في نموذج التطويرالمتحد.
2009
* 2/10/2009: تم اطلاق ROS 0.4 Mango Tango
* 5/12/2009: نشرت أول ورقة حول ROS «نظام تشغيل روبوت مفتوح المصدر للمؤلفين Morgan Quigley, Ken Conley, Brian Gerkey, Josh Faust, Tully Foote, Jeremy Leibs, Rob Wheeler, Andrew Y Ng»
* 8/16/2009: تم اطلاق موقع ROS.org
* 12/2/2009: تم إطلاق أول تعليم عن ROS
2010
* 1/22/2010: تم إطلاق ROS 1.0
* 3/30/2010: تم الإعلان عن أول سيارة ألية تعمل بـنظام ROS في جامعة تكساس في أوسطن
* 5/4/2010: منحت شركة Willow Garage المنصة الروبوتية PR2 لـ 11 معهد:
** جامعة فرايبورع
** شركة Bosch
** معهد جورجيا التقني
** جامعة لوفان
** معهد ماساتشوستس للتكنولوجيا
** جامعة ستانفورد
** جامعة ميونخ التقنية
** جامعة كاليفورنيا (بركلي)
** جامعة بنسيلفانيا
** جامعة كاليفورنيا الجنوبية
** جامعة طوكيو
* 5/29/2010: أول طائرة درون باستخدام ROS من مختبر GRASP بجامعة بنسلفانيا
* 8/19/2010: أول استخدام لـ ROS من قبل ليقو منيدستورمز أر سي إكس
* 9/7/2010: تم اطلاق PR2 للبيع التجاري
2011
* 1/26/2011: أول ظهور علني لـ TurtleBot ، في نادي Homebrew Robotics
* 2/15/2011: مقدمة عن إجابات ROS
* 4/18/2011: تعلن شركة Willow Garage عن TurtleBot
* 5/11/2011: أول تطبيق جافا نقي لـ ROS تم الإعلان عنه في Google I / O
* 511/8/2011: الذكرى السنوية الرابعة لإنشاء ROS ومونتاج الفيديو
2012
* 9/4/2012: نشر الكتاب الأول عن ROS تحت عنوان. ROS By Example بواسطة Patrick Goebel
* 9/17/2012: أول روبوت تجاري يعتمد على ROS تم إصداره بواسطة Rethink Robotics
* Robotics 11/7/2012: الذكرى السنوية الخامسة لـ ROS ، مع تجميع الفيديو
2013
* فبراير 2013، انتقلت الإشراف ROS إلى مؤسسة الروبوتات مفتوحة المصدر.
* 3/12/2013: 10,000 سؤال تم طرحها على ROS Answers
* 5 / 11-12 / 2013: يقام ROSCon 2013 في شتوتجارت بألمانيا
* 6/18/2013: يحدث تحدي الروبوتات الظاهري، المرحلة الافتراضية لتحدي الروبوتات DARPA
* آب 2013، أعلن نشر مدونة أن شركة Willow Garage سيتم الاستحواذ عليها من قبل شركة أخرى بدأها مؤسسها، Suitable Technologies.
2014
* 1/15/2014: دعم مسؤوليات PR2 التي أنشأهتها شركة Willow Garage والتي تم الاستحواذ عليها بواسطة Clearpath Robotics
* 2/7/2014:  وصلت عدد إجابات ROS Answers لـ 15000 سؤال
* 6/6/2014: ROS Kong ، أول اجتماع لمجموعة مستخدمي ROS
* 9/1/2014: أول روبوت في الفضاء يعمل على ROS وهو Robonaut 2 على محطة الفضاء الدولية
* 9 / 12-13 / 2014: يقام ROSCon 2014 في شيكاغو.
* 12/21/2014: اجتماع ROS الأول في كوريا

## التطبيقات

تشمل مجالات ROS:
* عقدة التنسيق الرئيسي
* نشر أو الاشتراك في تدفقات البيانات: الصور، ستيريو، ليزر، التحكم، المحرك، الاتصال...
* معلومات تعدد الإرسال
* خلق العقدة وتدميرها
* يتم توزيع العقد بسلاسة، مما يسمح بالتشغيل الموزع على وحدات معالجة الرسومات ووحدات معالجة الرسومات متعددة النواة والمتعددة المعالجات
* التسجيل logging
* خادم المعلمة parameter server
* أنظمة الاختبار test systems
تشمل مجالات تطبيق حزمة ROS:
* المعرفة
* تحديد الكائن
* تقطيع الصورة والتعرف
* تمييز الوجوه
* التعرف على الإيماءات
* ملاحقة الحركة
* فهم الحركة
* الهيكل من الحركة (SFM)
* رؤية ستيريو: إدراك العمق عبر كاميرتين
* الحركة
* الروبوتات النقالة
* التحكم
* التخطيط planning
* الاستيعاب grasping

## تاريخ الاصدارات

قد تكون إصدارات ROS غير متوافقة مع الإصدارات الأخرى وغالباً ما يشار إليها باسم رمز بدلاً من رقم الإصدار. الإصدارات الرئيسية حتى الآن هي:
| التوزيعة | تاريخ الاصدار | نهاية العمر |
| Melodic Morenia | May 23, 2018 | الإصدار المستقر الحالي: 2023-05-30 |
| Lunar Loggerhead | May 23, 2017 | الإصدار المستقر الحالي: 2019-05-30 |
| Kinetic Kame | May 23, 2016 | الإصدار المستقر الحالي: 2021-05-30 |
| Jade Turtle | May 23, 2015 | إصدار قديم، ما يزال مدعوم: 2017-05-30 |
| Indigo Igloo | July 22, 2014 | إصدار قديم، ما يزال مدعوم: 2019-04-30 |
| Hydro Medusa | September 4, 2013 | إصدار قديم، غير مدعوم: 2014-05-31 |
| Groovy Galapagos | December 31, 2012 | إصدار قديم، غير مدعوم: 2014-07-31 |
| Fuerte Turtle | April 23, 2012 | إصدار قديم، غير مدعوم: -- |
| Electric Emys | August 30, 2011 | إصدار قديم، غير مدعوم: -- |
| Diamondback | March 2, 2011 | إصدار قديم، غير مدعوم: -- |
| C Turtle | August 2, 2010 | إصدار قديم، غير مدعوم: -- |
| Box Turtle | March 2, 2010 | إصدار قديم، غير مدعوم: -- |
| تنويه:غير مدعومإصدار قديم، ما يزال مدعومأحدث إصدارأحدث إصدار معاينةإصدار مستقبلي ||||

## في مجال الروبوت

* تم تطوير HERB في جامعة Carnegie Mellon في برنامج الروبوتات الشخصي لشركة Intel
* روبوت هسكي A200 طُور (ودمج مع ROS) من قبل شركة Clearpath Robotics
* تم تطوير الروبوت الشخصي لـ PR1 في مختبر Ken Salisbury في Stanford
* تم تطوير الروبوت الشخصي PR2 في مختبر Willow Garage
* منصة البحث الجراحية الروبوتية Raven II
* بروتوكول rosbridge والخادم: قامت جامعة Brown بتطوير بروتوكول rosbridge لتمكين أي بيئة روبوت أو حوسبة من التكامل مع ROS باستخدام المراسلة المستندة إلى JSON ، مثل متصفحات الويب الشائعة و Matlab و Microsoft Windows و OS X والأنظمة المضمنة
* Shadow Robot Hand - اليد الروبوتية حاذق تماما.
* تم تطوير روبوتات STAIR I و II في مختبر Andrew Ng في جامعة ستانفورد
* SummitXL: روبوت متنقل تم تطويره بواسطة Robotnik ، وهي شركة هندسية متخصصة في الروبوتات المتنقلة والأسلحة الآلية والحلول الصناعية مع هندسة ROS.
* UBR1 تم تطويره بواسطة Unnoted Robotics ، وهو عرض من Willow Garage.
* Raspberry Pi: صورة من ubuntu Mate مع ROS بواسطة Ubiquity Robotics؛
* ROSbot: منصة الروبوت الذاتي من قبل Husarion
* Webots: محاكي روبوت يدمج واجهة برمجة ROS كاملة

## حزم ROS

يحتوي ROS على العديد من التطبيقات مفتوحة المصدر للوظائف والخوارزميات الشائعة في الروبوتات. يتم تنظيم هذه التطبيقات مفتوحة المصدر في «الحزم». يتم تضمين العديد من الحزم كجزء من توزيعات ROS ، بينما قد يتم تطوير البعض الآخر بواسطة الأفراد وتوزيعها من خلال مواقع مشاركة الرموز مثل github. للحصول على قائمة ببعض الحزم المتوفرة لـ ROS ، راجع:https://www.ros.org/browse/list.php

## انظر أيضاً

* عتاد مفتوح المصدر
* برمجيات مفتوحة المصدر

## مراجع

* ↑ وصلة مرجع: https://spectrum.ieee.org/automaton/robotics/robotics-software/wizards-of-ros-willow-garage-and-the-making-of-the-robot-operating-system.
* ↑ وصلة مرجع: https://docs.ros.org/en/iron. الوصول: 4 يونيو 2023.
* ↑ وصلة مرجع: http://wiki.ros.org/noetic.
* ↑ الوصول: 4 يونيو 2023. وصلة مرجع: https://docs.ros.org/en/iron/Installation/Maintaining-a-Source-Checkout.html.
* ↑ "ROS: an open-source Robot Operating System". مؤرشف من الأصل في 2020-02-11.