آموزش 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 آشنا میشوید. |
گام دوازدهم | در این آموزش روش دیگری برای ارتباط بین نودها که فراخوانی سرویس (call service) نام دارد به زبان ++C معرفی میشود. | |
گام سیزدهم | نوشتن یک service و client ساده (Python) | در این آموزش روش دیگری برای ارتباط بین نودها که فراخوانی سرویس (call service) نام دارد به زبان پایتون معرفی میشود. |
آموزش راس ROS (سطح متوسط) :
آموزشهای بیشتر و مفهومی تر از راس ROS در این بخش ارائه خواهد شد. به عنوان نمونه بعد از اتمام این آموزش شما قادر خواهید بود تا roslaunch ایجاد نمایید و یا اینکه چگونه ROS را در چند سیستم عامل تحت یک مستر اجرا نماید، سپس با مدلسازی ربات و شبیه ساز Gazebo و نمایشگر سه بعدی Rviz آشنا خواهید شد. و بسیاری از موارد دیگر که در زیر ارائه شده است:
استانداردهای ROS
با توجه به اینکه جامعهی ROS بزرگ است و افراد زیادی مشغول به کد نویسی در ROS هستند و بستههای خود را در اختیار کاربران دیگر قرار میدهند. از این رو به منظور مدیریت این افراد گامهایی را برای نوشتن کدها ایجاد کرده اند تا کاربران از این اصول در موقع کد نویسی استفاده نمایند. توصیهی تیم ایران رآس برای افرادی که سطح متوسطه را نیز به خوبی فرا گرفته اند و قصد دارند تا در این چارچوب برنامه نویسی کنند این است که این اصول را به خوبی فرا گیرند و در هنگام برنامه نویسی رعایت نماید. برنامه نویسی C++ و پایتون با ROS از این استانداردها استفاده میکنند.
آموزش کتابخانههای مهم ROS
در ROS یکسری کتابخانههایی وجود دارد که کاربران میتوانند از آنها تحت لایسنس موجود استفاده نمایند. با توجه به کاربر زیاد این کتابخانه نیاز است تا با آنها آشنا شوید در این بخش این کتابخانهها مورد بررسی قرار خواهند گرفت.