نظام تشغيل روبوت ROS
نظام تشغيل روبوت (بالإنجليزية Robot Operating System) هي برمجية روبوتية وسيطة (أي مجموعة من أطر البرمجيات لتطوير برمجيات الروبوت). على الرغم من أن نظام ROS ليس نظام تشغيل، إلا أنه يقدم خدمات مصممة لمجموعات الكمبيوتر غير المتجانسة مثل استخراج العتاد الصلب، والتحكم في الأجهزة على المستوى المنخفض (Low-level Device Control)، وتطبيق الوظائف الشائعة، وتمرير الرسائل بين العمليات، وإدارة الحزم. يتم تمثيل مجموعات العمليات المستندة إلى ROS في مخطط الرسم البياني (Graph) حيث تتم المعالجة في العقد التي قد تستقبل أو ترسل رسائل الحساسات أو نظام التحكم أو المشغلات أو رسائل أخرى. على الرغم من أهمية التفاعل والكمون المنخفض في التحكم في الروبوت، فإن ROS في حد ذاته لا يعد نظامًا يعمل في الزمن الحقيقي (RTOS)، على الرغم من أنه من الممكن دمج ROS مع شفرة في الزمن الحقيقي (Real Time).
نظام تشغيل روبوت ROS Cart pushing simulation in RVIZ
|
يمكن فصل البرمجية في نظام 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»
- [2]
- 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 معهد:
- 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
انظر أيضاً
- Open hardware
- Robotics middleware
- Open source software
روابط خارجية
مراجع
- "ROS Melodic Morenia"، wiki.ros.org، مؤرشف من الأصل في 18 أكتوبر 2018، اطلع عليه بتاريخ 10 يونيو 2018.
- "ROS: an open-source Robot Operating System"، مؤرشف من الأصل في 11 فبراير 2020.
- بوابة برمجيات
- بوابة برمجيات حرة
- بوابة تقنية المعلومات
- بوابة روبوتيات
- بوابة علم الحاسوب