آموزش راس
آموزش کامل سیستم عامل ربات
کمک به علاقهمندان به صنعت رباتیک
پیادهسازی پروژههای عملی رباتیک
منابع، پیشنیاز ها و منابع مکمل فراگیری آموزش نرم افزار ROS چیست؟
برای شرکت در این دوره و داشتن حداکثر بهرهوری لازم است پیشنیازهای زیر را داشته باشید:
· آشنایی اندک با لینوکس
· آشنایی مقدماتی با زبانهای برنامهنویسی پایتون یا ++C
به همین منظور توصیه میکنیم قبل از مشاهده این دوره، آموزشهای لینوکس مقدماتی، پایتون و ++C را فرا بگیرید.
سیستم عامل ربات (Robot Operating System) یا به طور ساده ROS چارچوبی است که توسط صدها شرکت و متخصص در زمینههای مختلف در سراسر جهان در زمینه الکترونیک و رباتیک، کنترل ربات و اتوماسیون و سایر حوزههای مرتبط با ربات استفاده میشود. این زمینه به یک نقطه شروع آسان برای ورود افراد غیرحرفهای در زمینه رباتهای برنامهنویسی تبدیل شده است. دوره آموزش ROS با هدف آشنایی با ros تهیه و تدوین شده است.
ربات هر سیستمی است که بتواند محیط اطراف خود را درک کند، بر اساس وضعیت محیط تصمیمگیری کند و قادر به اجرای دستورالعملهای تولید شده باشد و رآس ROS نوعی سیستم عامل برای ساخت آن است. قبل از اینکه دوره آموزش ROS معرفی شود ابتدا بهتره کمی در رابطه با ROS به گفتگو بپردازیم.
ROS مخفف عبارت Robotic Operating System به معنای سیستم عامل رباتیک است. فریمورک رآس یک چارچوب انعطافپذیر برای نوشتن نرمافزار ربات است. این سیستم عامل مجموعهای از کتابخانهها و پکیجهای متعدد را شامل میشود که هدف آن ساده کردن رفتار پیچیده ربات در گستره وسیعی از بسترهای رباتیکی است.
ایجاد یک نرمافزار کاملاً مقاوم و هدفمند برای ربات کار بسیار دشواری است. بعضی از مشکلات برای انسانها بیاهمیت به نظر میرسند، درحالیکه آنها از دیدگاه ربات اینگونه نیستند. ممکن است این مشکلات با اتفاقات غیرمنتظره که اغلب با سختی و پیچیدگی همراه است، به وجود بیاید. هیچ فرد، آزمایشگاه یا موسسهای بهتنهایی نمیتواند از پس این مشکلات برآید.
نرم افزار ROS از همان ابتدا بدین منظور ساخته شده است تا توسعه نرمافزار رباتیک مشترک را تشویق کند. بهعنوان مثال، یک آزمایشگاه ممکن است متخصص در نقشهبرداری از محیطهای داخلی باشد و میتواند برای تولید نقشه کمک کند. گروه دیگری ممکن است متخصصانی برای استفاده از نقشهها در جهت پیمایش (navigate) داشته باشند و گروه دیگری در حوزه بینایی ماشین فعالیت کنند. ROS به شکل خاصی برای همه گروهها ساخته شده است تا همه بتوانند در کنار هم کار کرده و بدون مشکل از نتیجه کار یکدیگر استفاده کنند.
دوره آموزش ROS ابتدا شما را به طور کامل با شبیهساز گزبو و چگونگی نصب و راهاندازی آن آشنا میکند و یک دوره آموزش مقدماتی تا پیشرفته بهحساب میآید. شبیهسازی موبایل ربات ساده، در این فضا و سایر رباتها به زبان Xml در فرمت Sdf و همچنین نحوه استفاده از مشها بخشی از کاربردهای این دوره آموزشی است. با کمک این دوره آموزش ROS میتوانید مثالهای متنوعی از سنسورها و رباتهای مختلف را بررسی کنید. همچنین در پایان طراحی و شبیهسازی با چند نمونه مثال عالی از رباتهای مختلف مانند Velodyne و یک بازوی و گریپر آشنا میشوید.
در ادامه این دوره میتوانید با نحوه نصب، راهاندازی و تعریف Workspace در رأس آشنا شوید. سپس مفاهیم مختلفی مانند: Sopic، Service، Subscriber، Publisher، Server ،Client و مسیجها در این محیط آموزش داده میشود. در این دوره میتوانید با انجام مثالها و پروژههای مختلف مفاهیم را به دو زبان پایتون و C++ کدزنی کنید. در پایان دوره آموزش ROS هم تمرینات و پروژههای مختلفی با استفاده Turtlesim مورد بررسی قرار میگیرد.
از اهداف دوره آموزش ROS میتوان به موارد زیر اشاره کرد:
دوره آموزش ROS برای افراد زیر مناسب است:
پس از پایان دوره مهارتهای زیر را کسب خواهید کرد:
دوره آموزش نرم افزار ROS مکتب خونه از محدود دورههای آموزشی در این حوزه است. در این دوره سعی شده است که مفاهیم اساسی ROS بهصورت کاملاً پروژه محور و با بیان مثالهای واضح تدریس شود. مثالهایی که در دوره آموزش نرم افزار ROS مورد بررسی قرار میگیرد، کاملاً عملیاتی و مفهومی هستند. در واقع در این دوره سعی شده است بهجای بیان طوطیوار مفاهیم تئوری و جزئیات حوصلهبر که تنها باعث طولانی شدن دوره میشود، به کاربرد آنها بپردازیم؛ بنابراین این دوره قصد دارد یک ابزار کاری برای دانشجویان ایجاد کند تا آنها بتوانند در مدت کوتاهی به مفاهیم بنیادین و اساسی حوزه ROS مسلط شوند.
از دیگر ویژگیهای مهم دوره آموزش نرم افزار رآس مکتب خونه این است که مفاهیم هم به زبان پایتون و هم به زبان C++ بیان شده تا مخاطبان هر دو زبان بتوانند استفاده کامل را از این دوره ببرند. نحوه تدریس این دوره بهگونهای است که حتی کسانی که آشنایی بسیار کمی با لینوکس، زبان سی و پایتون دارند هم میتوانند از آن بهرهمند شوند.
دقت کنید که رآس حوزههای وسیعی از نرمافزاری ربات را شامل میشود؛ یادگیری ماشین، پردازش تصویر، motion و بهطورکلی تمام بخشهای ربات از جمله این حوزههای هستند که هرکدام به دوره تخصصی خود نیاز دارند؛ بنابراین انتظار این که یک دوره آموزشی تمام مباحث ROS را آموزش بدهد، تصور غلط و اشتباهی است. در واقع این کار ابدا امکانپذیر است و هیچ فردی نمیتواند چنین ادعایی داشته باشد. پس توصیه میکنیم حتماً قبل از انتخاب دوره، سرفصلهای آن را بررسی کنید تا مطمئن شوید این دوره در حوزه شما کاربرد داشته باشد.
عارف رحیمی دانشآموخته کارشناسی ارشد رشته مکاترونیک از دانشگاه امیرکبیر است و در حوزه رباتیک فعالیت دارد. وی عضو تیم خودرو خودران تیم رباتیک دانشگاه امیرکبیر است و پایاننامه وی طراحی ربات جمعآوری زباله در بستر ناهموار میباشد. تخصص وی در زمینه موبایلرباتها و ناوبری آنها است. ایشان در زمینه کنترل با شبکه عصبی ،کنترل فازی و یادگیری ماشین نیز فعالیت دارند.
سیستم عامل نرمافزاری است که رابط بین برنامهها و سختافزار را فراهم میکند. با استفاده از الگوریتمهای زمانبندی به تخصیص منابعی مانند حافظه، زمان پردازنده و غیره میپردازد و سوابق اختیارات کاربران مختلف را نگه میدارد، بنابراین یک لایه امنیتی ارائه میکند. تقریباً همیشه یک برنامه سطح پایین به نام هسته دارد که به رابط با سختافزار کمک میکند و اساساً مهمترین بخش هر سیستم عامل است.
ROS یک سیستم عامل نیست بلکه یک سیستم عامل متا است به این معنی که فرض میکند یک سیستم عامل زیربنایی وجود دارد که به آن در انجام وظایفش کمک میکند. ros ایجاد ربات و کنترل آن را بسیار آسان کرده است و ربات ها ros بسیار انعطاف پذیر هستند.
ROS به سیستم عامل اصلی بستگی دارد. ROS عملکردهای زیادی را از سیستم عامل میطلبد. بیشتر محبوبیت ROS به دلیل ماهیت منبع باز و دسترسی آسان به است. ROS همچنین به سیستمعاملی نیاز دارد که منبع باز باشد تا سیستم عامل و ROS را بتوان بر اساس نیازهای برنامه تغییر داد. در دوره آموزش ROS تفاوت میان این دو عنصر به خوبی توضیح داده شده است.
سیستمعاملهای اختصاصی مانند Windows 10 و Mac OS X ممکن است محدودیتهای خاصی را در مورد نحوه استفاده از ROS ایجاد کنند و فضای کاری مناسبی برای ربات ها ros نداشته باشند. این ممکن است منجر بهسختی در فرآیند توسعه شود که برای استانداردهای صنعتی مانند ROS ایده آل نخواهد بود. از این رو، اکثر مردم ترجیح میدهند ROS را روی لینوکس بهویژه دبیان و اوبونتو اجرا کنند زیرا ROS از سیستمعاملهای مبتنی بر دبیان بهویژه اوبونتو پشتیبانی بسیار خوبی دارد. این بدان معنا نیست که ROS نمیتواند با Mac OS X یا Windows 10 اجرا شود؛ اما حمایت از آن محدود و مردم ممکن است با کمک اندک جامعه در شرایط سختی قرار بگیرند.
ارتباط بین ROS و OS بسیار نزدیک است، بهطوریکه برای کار با ROS تقریباً نیاز به دانستن بیشتر در مورد سیستم عامل است. استفاده از سیستم عامل لینوکس بهعنوان یک تازهکار میتواند چالشبرانگیز باشد و احتمالاً در استفاده از لینوکس بهخصوص هنگام کار با ROS ممکن است ابتدا کمی دشوار باشد. دانش خوب لینوکس برای جلوگیری و رفع این مشکلات مفید خواهد بود. به صورت کلی لینوکس سازگار با ros است و استفاده از آن مزیت های خاص خودش را دارد.
یک سیستم عامل متا دارای عملکرد بسیار زیادی است، بهطوریکه نمیتوان آن را بهعنوان یک چارچوب یا مجموعهای از کتابخانهها طبقهبندی کرد، اما نه آنقدر که بتوان آن را بهعنوان یک سیستم عامل نیز طبقهبندی کرد. عملکردهای هر دو سیستم عامل و همچنین چارچوبها را فراهم میکند، اما نه به طور کامل، بنابراین نمیتوان آن را بهعنوان یکی از این دو دستهبندی کرد، بهعنوان مثال، عملکردهای اصلی را که یک سیستم عامل قرار است ارائه دهد ارائه نمیدهد، اما API ها را ارائه میدهد.
RViz یک ابزار مصورسازی سهبعدی برای ROS است که در دوره آموزش ROS به آن پرداخته خواهد شد. این ابزار هماکنون یکی از محبوبترین ابزارهای مصورسازی داده بهحساب میآید. این نرم افزار دیتا را بهعنوان ورودی میگیرد و آن را بر اساس نوع پیام منتشر شده مصورسازی میکند. این به ما امکان میدهد محیط را از منظر ربات ببینیم.
زمانی که همه کدها آماده و اجرا شد، باید کد خود را تست کرده تا در صورت لزوم بتوانیم تغییراتی ایجاد کنیم. انجام این کار روی یک ربات واقعی پرهزینه خواهد بود و ممکن است منجر به اتلاف وقت در راهاندازی هر بار ربات شود. از این رو بهتر است ما از شبیهسازیهای رباتیک برای آن استفاده میکنیم. محبوبترین شبیهساز برای کار با ROS Gazebo است. از پشتیبانی جامعه خوبی برخوردار است، منبع باز است و استقرار روباتها روی آن آسانتر است.
ROS یا سیستم عامل ربات از اول برای موارد استفاده خاص در نظر گرفتهشده بود. از آن زمان تاکنون چیزهای زیادی تغییر کرده است، ما شاهد تجدید حیات در تحقیقات هوش مصنوعی و افزایش تعداد موارد استفاده بودهایم. امروزه علم و صنعت روباتیک در میان کشورهای مختلف محبوبتر شده است. از این رو، کار با ابزارها و فنّاوریهایی که با ربات سروکار دارند بسیار حائز اهمیت خواهد بود. ROS برای این هدف طراحی و توسعه داده شده است و دوره آموزش ROS مکتب خونه با هدف آموزش این سیستم عامل محبوب به کاربران ارائه میگردد.
با استفاده از این دوره آموزش ROS میتوانید پروژههای شخصی و سازمانی خود را در زمینه برنامه نویسی ربات شروع کنید و الگوریتمهای مختلفی را روی رباتها پیاده کنید. برای برنامه نویسی ربات با سیستمعامل رآس، دوره آموزش ROS گزینه خوبی بهحساب میآید.