سیستم‌عامل روبات کیست؟ توضیح بده.
سیستم عامل ربات یا ROS یک میان‌افزار رباتیک (یعنی مجموعه ای از چارچوب‌های نرم‌افزاری برای توسعه نرم‌افزار ربات) است. اگر چه ROS یک سیستم عامل نیست اما سرویس‌هایی را فراهم می‌کند که برای خوشه‌ای از کامپیوترهای همگون طراحی شده‌اند مثل فراهم کردن یک لایه انتزاعی برای سخت‌افزار، کنترل دستگاه در سطح پایین، پیاده‌سازی عملیات‌های معمول رباتیک، انتقال پیام بین فرایندها، و مدیریت بسته. علی‌رغم اهمیت واکنشی‌بودن و زمان تأخیر کم در کنترل ربات، ROS یک سیستم عاملی بی‌درنگ نیست، گرچه امکان ادغام کدهای بی‌درنگ با ROS وجود دارد. مشکل عدم پشتیبانی سیستم‌عامل بی‌درنگ در نسخه ROS 2.0 حل شده‌است.نرم‌افزارها در اکوسیستم ROS را می‌توان به سه گروه مجزا تقسیم‌بندی کرد:هر دو ابزار مستقل از زبان و کتابخانه‌های کلاینت اصلی (C++، پایتون و Lisp) تحت مجوز BSD منتشر شده‌اند و بنابراین متن‌باز هستند و برای استفاده تجاری و تحقیقاتی رایگان می‌باشند. اغلب سایر بسته‌های تحت سایر مجوزهای متن‌باز هستند که عملیات‌های معمول و کاربردهایی مثل درایورهای سخت‌افزار، مدل‌های ربات، انواع‌داده‌ای، طرح‌ریزی، ادراک، محلی‌سازی و نقشه‌برداری همزمان (Simultaneous localization and mapping)، ابزارهای شبیه‌سازی، و سایر الگوریتم‌ها را پیاده‌سازی می‌کنند.کتابخانه‌های کلاینت اصلی (C++, Python و Lisp) بیشتر به دلیل وابستگی‌شان به مجموعه بزرگی از نرم‌افزاهای متن‌باز، منطبق با سیستم‌های شبه-یونیکس هستند. برای این کتابخانه‌های کلاینت، اوبونتو به عنوان «پشتیبانی‌شده» لیست شده‌است در حالی که سایر سیستم‌عامل‌ها مثل فدورا، مک‌اواس، و ماکروسافت ویندوز «آزمایش» هستند و به وسیلهٔ جامعه متن‌باز پشتیبانی می‌شوند. کتابخانه مشتری ROS جاوا نیتیو، rosjava، این محدودیت‌ها را ندارد و امکان نوشتن نرم‌افزارهای برپایه ROS برای اندروید را فراهم کرده‌است.برنامه‌های کاربردی.بخش‌های ROS عبارتند از:بسته‌های نرم‌افزای ROS در حوزه‌های زیر هستند:ROS-Industrial یک برنامه توسعه نرم‌افزار برای ایجاد Unified Robot Description Format (URDF) برای ربات‌های صنعتی تحت مجوز BSD است.تاریخچه نسخه.انتشارهای ROS ممکن است با سایر انتشارهای ناسازگار باشد و اغلب به وسیلهٔ نام کد به‌جای شماره نسخه مشخص می‌شود. انتشارهای اصلی تا کنون:بسته‌های ROS.ROS شامل تعداد زیادی پیاده‌سازی متن‌باز ز عملیات‌ها و الگوریتم‌های رباتیک است که در قالب بسته سازمان‌دهی شده‌اند. بسیاری از بسته‌ها به عنوان بخشی از توزیع ROS منتشر می‌شوند و سایر بسته‌ها ممکن است توسط اشخاص توسعه داده شده و از طریق سایت‌های اشتراک کد مثل گیت‌هاب، توزیع شوند. برای اطلاع از لیست بسته‌های موجود برای ROS آدرس زیر را ببینید: http://www.ros.org/browse/list.phpهمکاری برای توسعه.ROS زمینه‌ای را فراهم کرده تا توسعه‌دهندگان نرم‌افزارهای رباتیک با یکدگر همکاری کند. به‌عنوان‌مثال، یک آزمایشگاه ممکن است درزمینهٔ نقشه‌برداری محیط‌های داخلی تخصص داشته باشد و می‌تواند سیستم طبقه‌بندی جهانی را برای تولید نقشه‌ها به کار گیرد. گروه دیگری ممکن است در استفاده از نقشه‌ها برای حرکت تخصص داشته باشد، و درعین‌حال گروهی دیگر ممکن است دارای یک رویکرد بینایی کامپیوتری باشد که به‌خوبی برای شناخت اشیاء کوچک درهم‌شکسته کار می‌کند. ROS به‌طور خاص برای گروه‌هایی مانند این‌ها طراحی‌شده‌است تا با یکدیگر همکاری کنند.آموزش فارسی."ایران رآس" را می‌توان به عنوان تنها مرجع تخصصی آموزش فارسی ROS نام برد. محققین می‌توانند ضمن استفاده از آموزش‌های گام به گام، در بخش "پرسش و پاسخ "سوالات و مشکلات خود را مطرح کنند و از راهنمایی کارشناسان بهره ببرند. همچنین افراد توانمند نیز می‌توانند در این بخش خود پاسخگوی سؤالات دیگران باشند.