آموزش راس ROS

آموزش ROS

آموزش راس ROS ، هدف اصلی تیم ایران رآس، رشد و ارتقای دانش رباتیکی محققان کشور عزیزمان ایران در کار با سیستم عامل ربات ROS است. در این راستا به منظور یادگیری رآس گام‌های موجود برای آموزش راس ROS از سطح مبتدی تا حرفه‌‌ای به همراه ویدئوی آموزشی ارائه خواهد شد. در این بخش ابتدا به بررسی مقدماتی این سیستم عامل برای مبتدیان می‌پردازیم. سپس به بررسی پیشرفته‌ و در نهایت به بررسی استاندارد ها و کتابخانه‌های معروف ROS پرداخته خواهد شد.

توجه: در صورتی که هنوز با سیستم عامل unix نظیر Ubuntu آشنایی ندارید به منظور یادگیری مقدماتی با دستورات کامند لاین و مقدمات مفاهیمی از unix لطفا ابتدا کتاب‌های رایج فارسی و یا سایت زبان اصلی را مطالعه نمایید.  سپس شروع به یادگیری ROS نماید.

آموزش راس ROS (مقدماتی):

توجه: در صورتیکه هنوز موفق به نصب سیستم عامل Ubuntu در کنار ویندوز خود و یا در ماشین مجازی نظیر VmWare نشده اید توصیه می‌شود به مقاله  رجوع نمایید و این سیستم عامل را نصب کنید.

به منظور یادگیری اولیه ROS در این بخش، ابتدا شروع به نصب ROS و ایجاد بسته و در نهایت به انتشار و دریافت پیام در ROS و مفهوم شبکه در ROS می‌پردازیم. بعد از خواندن این مقالات شما آماده برای یادگیری مفاهیم پیچیده تر در ROS می‌شوید. با ما همراه باشید.

عنوان آموزش

توضیحات

گام اول نصب و پیکربندی محیط ROS در انتهای این آموزش شما قادر خواهید بود تا سیستم عامل ROS را نصب و تنظیمات محیطی را بر روی کامپیوتر شخصی خود اعمال نماید.
گام دوم آدرس دهی در ROS در انتهای این آموزش شما قادر خواهید بود تا آدرس دهی با استفاده از کامند لاین های پرکاربرد در ROS نظیر roscd، rosls، و … را فرا بگیرید.
گام سوم ایجاد یک بسته (package) در ROS در انتهای این آموزش شما قادر خواهید بود تا یک بسته ایجاد نمایید. و مفاهیم مرتبط را فرا بگیرید.
گام چهارم مفهوم Node در ROS در انتهای این آموزش شما قادر خواهید بود تا سیستم عامل ربات ROS را راه اندازی نمایید. و همچنین با مفاهیم rosrun، ros node نیز اشنا خواهید شد.
گام پنجم مفهوم تاپیک (topic) در ROS در انتهای این آموزش شما با نحوه ارتباط نودها با یکدیگر در ROS و دستوراتی نظیر rostopic و rqt_plot آشنا خواهید شد.
گام ششم مفهوم service و parameters در ROS در این آموزش با مفهوم سرویس آشنا می‌شوید و نحوه کار با دستورات rosservice و rosparam را فراخواهید گرفت.
گام هفتم مفهوم launch فایل‌ها در ROS در این آموزش نحوه اجرای چندین نود با استفاده از فایل launch را فراخواهید گرفت.
گام هشتم ایجاد فایل‌های msg و srv در ROS در انتهای این آموزش شما با نحوه ساخت فایل‌های msg و srv و کار با دستورات rosmsg و rossrv آشنا خواهید شد.
گام نهم مفهوم Publisher و Subscriberدر ROS به زبان ++C در این آموزش با نحوه ارسال و دریافت پیام به زبان ++C و نوشتن نود انتشاردهنده و شنونده آشنا می‌شوید.
گام دهم مفهوم Publisher و Subscriberدر ROS به زبان پایتون  در این آموزش با نحوه ارسال و دریافت پیام به زبان python و نوشتن نود انتشاردهنده و شنونده آشنا می‌شوید.
گام یازدهم ضبط و بازپخش داده‌ها در ROS در این آموزش با نحوه ذخیره داده‌ها در ROS و چگونگی بازپخش آنها و همچنین انتقال آن به نرم‌افزارهای دیگر نظیر MATLAB آشنا می‌شوید.
گام دوازدهم

نوشتن یک service و client ساده (C++)

در این آموزش روش دیگری برای ارتباط بین نودها که فراخوانی سرویس (call service) نام دارد به زبان ++C معرفی می‌شود.
گام سیزدهم نوشتن یک service و client ساده (Python)  در این آموزش روش دیگری برای ارتباط بین نودها که فراخوانی سرویس (call service) نام دارد به زبان پایتون معرفی می‌شود.

آموزش راس ROS (سطح متوسط) :

آموزش‌های بیشتر و مفهومی تر از راس ROS در این بخش ارائه خواهد شد. به عنوان نمونه بعد از اتمام این آموزش شما قادر خواهید بود تا roslaunch ایجاد نمایید و یا اینکه چگونه ROS را در چند سیستم عامل تحت یک مستر اجرا نماید، سپس با مدلسازی ربات و شبیه ساز Gazebo  و نمایشگر سه بعدی Rviz آشنا خواهید شد. و بسیاری از موارد دیگر که در زیر ارائه شده است:

استانداردهای ROS

با توجه به اینکه جامعه‌ی ROS بزرگ است و افراد زیادی مشغول به کد نویسی در ROS هستند و بسته‌های خود را در اختیار کاربران دیگر قرار می‌دهند. از این رو به منظور مدیریت این افراد گام‌هایی را برای نوشتن کدها ایجاد کرده اند تا کاربران از این اصول در موقع کد نویسی استفاده نمایند. توصیه‌ی تیم ایران رآس برای افرادی که سطح متوسطه را نیز به خوبی فرا گرفته اند و قصد دارند تا در این چارچوب برنامه نویسی کنند این است که این اصول را به خوبی فرا گیرند و در هنگام برنامه نویسی رعایت نماید. برنامه نویسی C++ و پایتون با ROS از این استانداردها استفاده می‌کنند.

آموزش کتابخانه‌های مهم ROS

در ROS یکسری کتابخانه‌هایی وجود دارد که کاربران می‌توانند از آنها تحت لایسنس موجود استفاده نمایند. با توجه به کاربر زیاد این کتابخانه نیاز است تا با آنها آشنا شوید در این بخش این کتابخانه‌ها مورد بررسی قرار خواهند گرفت.