حقائق ورؤى حول نظام تشغيل روبوت 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 عبر أي متصفح ويب متوافق مع المعايير.

قراءة المقال الكامل على ويكيبيديا ←