نظام تشغيل روبوت 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»
  • [5]
  • 8/16/2009: تم اطلاق موقع ROS.org
  • 12/2/2009: تم إطلاق أول تعليم عن  ROS

2010

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

انظر أيضاً عدل

روابط خارجية عدل

مراجع عدل

  1. ^ "ROS Melodic Morenia". wiki.ros.org. مؤرشف من الأصل في 2018-10-18. اطلع عليه بتاريخ 2018-06-10.
  2. ^ وصلة مرجع: http://wiki.ros.org/noetic.
  3. ^ وصلة مرجع: https://docs.ros.org/en/iron. الوصول: 4 يونيو 2023.
  4. ^ الوصول: 4 يونيو 2023. وصلة مرجع: https://docs.ros.org/en/iron/Installation/Maintaining-a-Source-Checkout.html.
  5. ^ "ROS: an open-source Robot Operating System". مؤرشف من الأصل في 2020-02-11.