نظام تشغيل روبوت 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 غير متوافقة مع الإصدارات الأخرى وغالباً ما يشار إليها باسم رمز بدلاً من رقم الإصدار. الإصدارات الرئيسية حتى الآن هي:

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

 تم تطوير 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

انظر أيضاً 

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

روابط خارجية

مراجع 

برمجيات 2007
برمجيات تسخدم رخصة بي إس دي
نظم تشغيل حرة
إنسالية في 2007