آموزش ROS برای مبتدیان - بخش 2 - محلیسازی، ناوبری و SLAM
✅ سرفصل و جزئیات آموزش
آنچه یاد خواهید گرفت:
- اصول نظری محلیسازی دوبعدی و سهبعدی
- تبدیل بین فریمها در فضاهای دوبعدی و سهبعدی
- قابلیت قدرتمند پکیج tf برای نمایش فریمها و انجام تبدیل و محلیسازی
- اصول نظری محلیسازی و نگاشت (SLAM)
- آشنایی با مفاهیم ناوبری (برنامهریزی مسیر گلوبال، برنامهریزی مسیر محلی، اجتناب از برخورد)
- تفاوت بین ناوبری مبتنی بر نقشه و ناوبری واکنشگرا
- استک ناوبری ROS (move_base و amcl و gmapping)
پیشنیازهای دوره
- آشنایی قبلی با مفاهیم اولیه Robot Operating System (ROS) (الزامی)
- آشنایی با زبان برنامهنویسی ++C و پایتون
- پیشینهای در مفاهیم جبر خطی، مثلثات و هندسه
- علاقهمند به یادگیری ROS
- اشتیاق برای یادگیری ناوبری رباتیک
توضیحات دوره
بروزرسانی
9 اکتبر 2020: دستورالعمل نصب Turtlebot3 روی ROS Noetic اضافه شد.
بررسی
محلیسازی، نگاشت و ناوبری از موضوعات بنیادی در Robot Operating System (ROS) و رباتهای متحرک هستند. با این حال، یادگیری آنها بسیار پیچیده است. معمولاً مبتدیان حتی نمیدانند از کجا باید شروع کنند. آموزشهای معمول ROS فقط اطلاعات کلی درباره اجرای نودهای ROS برای انجام نگاشت و ناوبری ارائه میدهند، اما جزئیات فنی را توضیح نمیدهند. برخی دورههای دیگر بیشتر روی جنبههای فنی تمرکز میکنند که از نظر ریاضی پیچیده است، اما ارتباط روشنی با اینکه این مفاهیم چگونه به استک ناوبری ROS متصل میشوند، ارائه نمیدهند.
این دوره این شکاف را برطرف میکند و با یک رویکرد عملی، مفاهیم پایه ناوبری ربات متحرک و نحوه پیادهسازی آن در ROS را به زبان ساده معرفی میکند. این دوره به گونهای طراحی شده که شما را به صورت سریع و مؤثر با دنیای ناوبری رباتهای متحرک آشنا کند.
در این دوره، پوشش دقیقی از مهمترین پکیج ROS یعنی «پکیج tf» برای ناوبری ارائه شده است. بدون درک این پکیج، فهم عمیق نحوه کار ناوبری در ROS دشوار خواهد بود. هرچند برای tf آموزشهایی وجود دارد، اما پکیج tf به شدت بر مفاهیم نظری مهمی تکیه دارد که در آموزشهای ROS ارائه نمیشوند. این دوره یک معرفی سیستمیک از پیشینه نظری لازم ارائه میدهد و آن را با فعالیتهای نمایشی و برنامهنویسی مربوط به ابزارها و API پکیج tf تکمیل میکند.
این دوره فرض میکند که شما با برخی مفاهیم اصلی Robot Operating System (ROS)، مانند نودهای ROS، تاپیکهای ROS، سرویسهای ROS و درک مفهوم پایه حرکت با ROS آشنایی دارید. اگر این مهارتها را ندارید، پیشنهاد میکنیم ابتدا در دوره ROS برای مبتدیان «مبانی، حرکت و OpenCV» شرکت کنید تا پیشزمینه لازم را به دست آورید.
تجربه ما با ROS
ما سالهاست که با ROS در پروژههای دانشگاهی و صنعتی برنامهنویسی میکنیم. به توسعه برنامهها با ROS علاقه زیادی داریم. همچنین در دانشگاه ROS تدریس کرده و برنامههای آموزشی ارائه دادهایم. ما مدیر R&D شرکت Gaitech Robotics هستیم و پکیجهای ROS زیادی برای رباتها و پهپادها توسعه دادهایم. ما رهبری فعالیتهای علمی بینالمللی پیرامون ROS را بر عهده داشته و به ویژه ویراستار پنج جلد کتاب با انتشارات Springer با عنوان Robot Operating System و Complete Reference هستیم. تجربه زیادی درباره دشواریهایی که کاربران جدید هنگام یادگیری ROS با آن روبهرو میشوند به دست آوردهایم و همین موضوع کمک کرد تا دقیقاً و به صورت هدفمند این مشکلات را در درسهای مختلف دوره پوشش دهیم.
این دوره برای چه کسانی مناسب است؟
- توسعهدهندگان و کاربران مبتدی ROS
- دانشجویان دانشگاهی که ROS یاد میگیرند.
- کسی که به مفاهیم ناوبری ROS و رباتهای متحرک علاقهمند است.
- افرادی که درباره رباتیک کنجکاو هستند.
- کسی که میخواهد بدون اتلاف وقت، ناوبری ROS را یاد بگیرد.
آموزش ROS برای مبتدیان - بخش 2 - محلیسازی، ناوبری و SLAM
-
دوره درباره چیست؟ 03:08
-
درباره مدرس 01:17
-
[ROS Noetic] نصب شبیهساز Turtlebot3 06:19
-
محیطهای شبیهسازی Turtlebot3 05:19
-
دموی ساده Turtlebot3 03:35
-
دریافت کد از مخزن GitHub 01:40
-
مقدمه دموی ناوبری 01:19
-
اجرای شبیهساز Turtlebot3 01:02
-
تنظیم لوکیشن اولیه ربات 01:24
-
فریمها 02:58
-
لوکیشن ربات در فریمهای مختلف 02:27
-
جهتگیری در فضای سهبعدی چگونه نمایش داده میشود؟ 01:09
-
مثال ناوبری 01:43
-
سوالات کلی درباره دموی ناوبری None
-
بررسی بخش و نتایج یادگیری 00:41
-
وضعیت ربات در یک فریم 03:25
-
وضعیت ربات None
-
کار با چندین فریم 03:10
-
بررسی تبدیلها 03:01
-
انتقال دوبعدی 02:15
-
چرخش دوبعدی 03:08
-
ماتریس کلی تبدیل - انتقال + چرخش 02:53
-
مثال توضیحی از تبدیل دوبعدی 03:25
-
تبدیلهای دوبعدی None
-
مقدمهای بر فریم سهبعدی 01:09
-
قاعده دست راست 03:30
-
فریمها و تبدیلهای سهبعدی 06:13
-
مثال تبدیل سهبعدی 02:10
-
جهتگیری در فضای سهبعدی چگونه نمایش داده میشود؟ 01:22
-
نمایش سهزاویهای 02:13
-
نمایش بردار دلخواه 00:41
-
کوآترنیونها 06:27
-
بررسی پکیج tf 00:54
-
TF در ROS چیست؟ 02:05
-
URDF - زبان توصیف فریمها و تبدیلها در یک مدل ربات 01:54
-
چرا TF مهم است؟ 02:25
-
بررسی یوتیلیتیهای پکیج tf 04:15
-
تبدیل جهتگیری بین کوآترنیون و Roll-Pitch-Yaw با استفاده از TF 05:56
-
خواندن yaw ربات از جهتگیری آن در کوآترنیون 07:09
-
خط فرمان و یوتیلیتیهای پکیج tf 03:10
-
[پیش از ROS Noetic] خط فرمان view_frames 02:24
-
[جدید در ROS Noetic] نکتهای درباره view_frames 01:06
-
اطلاعات بیشتر درباره view_frames 02:01
-
خط فرمان tf_echo 02:33
-
خط فرمان tf_monitor 00:45
-
transform publisher استاتیک 03:37
-
انتشار تبدیل در یک نود ROS 03:29
-
Listen کردن به یک تبدیل در یک نود ROS 02:41
-
بررسی ناوبری ربات متحرک 01:31
-
بررسی ناوبری مبتنی بر نقشه 05:16
-
نمایش و بحث درباره SLAM 07:56
-
درک ساختار نقشهها در ROS 03:33
-
درک نودهای ROS و فایل launch مورد استفاده برای SLAM 06:44
-
دموی ناوبری مبتنی بر نقشه 06:19
-
رفتار بازیابی 02:15
-
درک فایل launch ناوبری 05:10
-
نوشتن نود ROS برای ناوبری ربات (پایتون) 12:00
-
درک رفتارهای بازیابی در استک ناوبری 04:51
-
راهاندازی ربات برای پشتیبانی از استک ناوبری ROS 07:34
-
تیونینگ استک ناوبری - بیان مسئله 01:30
-
تیونینگ بیشینه و کمینه سرعتها و شتابهای ربات 04:12
-
تیونینگ پارامترهای پلنر گلوبال 04:05
-
بررسی پلنر مسیر محلی 01:40
-
الگوریتم Dynamic Window Approach (DWA) 04:03
-
تیونینگ زمان شبیهسازی الگوریتم DWA 04:22
-
امتیازدهی مسیر در DWA 02:33
-
تیونینگ امتیازدهی مسیرهای DWA 07:24
-
بررسی 03:03
-
بررسی اپلیکیشن Follower 07:58
-
ایجاد TF Broadcaster برای فریمهای متصل به ربات 09:12
-
TF Listener برای follower 09:21
-
بررسی الگوریتمهای باگ 02:04
-
رویکردهای BUG0 و BUG1 و BUG2 06:25
-
پیادهسازی BUG0 در ROS None
مشخصات آموزش
آموزش ROS برای مبتدیان - بخش 2 - محلیسازی، ناوبری و SLAM
- تاریخ به روز رسانی: 1405/04/02
- سطح دوره:متوسط
- تعداد درس:74
- مدت زمان :04:20:52
- حجم :1.78GB
- زبان:دوبله زبان فارسی
- دوره آموزشی:AI Academy