آموزش ROS2 Nav2 [Navigation 2 Stack] - با SLAM و Navigation

ROS2 Nav2 [Navigation 2 Stack] - with SLAM and Navigation

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: در نهایت پشته Nav2 را با ROS2 درک کنید - SLAM، نقشه‌برداری، ناوبری، شبیه‌سازی Gazebo، کد پایتون - گام به گام پشته Nav2 را با آزمایش‌های عملی کشف کنید ایجاد نقشه با SLAM در ROS2 ایجاد یک ربات در حالی که از موانع جلوگیری می‌کند حرکت کند. کار با Navigation با استفاده از شبیه سازی Gazebo درک معماری Nav2 تنظیم پارامترهای ناوبری آزمایش با برنامه ریز جهانی، برنامه ریز محلی، و رفتار بازیابی ایجاد دنیای سفارشی خود در ویرایشگر ساختمان Gazebo مراحل تطبیق یک ربات ROS2 سفارشی برای پشته Nav2 را دریافت کنید. Python با استفاده از Simple Commander API آشنا شوید TF ها برای ناوبری چه اهمیتی دارند درک نقشه و فریم های odom استفاده از بسته slam_toolbox برای نقشه برداری و SLAM با فعالیت ها و چالش های اضافی بیشتر تمرین کنید. خط فرمان و برنامه نویسی پایتون دانش پایه در ROS2 (خطوط فرمان، موضوعات، نوشتن گره پایتون و غیره) بدون نیاز به سخت افزار - می توانید کل دوره را با شبیه سازی Gazebo دنبال کنید!

شما اصول ROS 2 را یاد گرفته اید و می خواهید با SLAM و پشته Navigation 2 شروع کنید؟

یا از قبل شروع کرده اید اما احساس می کنید کاملا گم شده اید؟

در این دوره در نهایت مرحله به مرحله پشته Navigation 2 چیست. و شما می توانید این دانش را در پروژه های روباتیک ROS2 خود به کار ببرید.

و برای شروع، نیازی به خرید سخت افزار نیست! شما می توانید دوره را با شبیه سازی Gazebo تکمیل کنید.


-- چرا این دوره؟


من متوجه شدم که (در حالی که خودم این کار را انجام می دهم) یادگیری پشته ناوبری واقعاً آسان نیست. اگر فکر می کردید که یادگیری ROS2 سخت است، صبر کنید تا با Nav2 شروع کنید!

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

به همین دلیل، درک Navigation2 هفته‌ها یادگیری دردناک و ناامیدی را برای شما به همراه خواهد داشت. این دقیقاً همان چیزی است که برای من اتفاق افتاده است. و من این را برای شما آرزو نمی کنم.

به همین دلیل است که این دوره را ایجاد کردم: بنابراین می‌توانید در ساعت‌های بی‌شماری صرفه‌جویی کنید و پشته Navigation 2 را با حداقل دانش ROS2 به ساده‌ترین روش ممکن یاد بگیرید.

به‌جای اینکه شما را در دریایی از مستندات بیاندازم، شما را راهنمایی می‌کنم تا ابتدا آزمایش کنید، و سپس به روشی آرام به سمت درک عملی پیشرفت کنید.

برای واضح بودن، این دوره برای مبتدیان ROS2 کامل نیست، شما باید برخی از اصول اولیه ROS2 را داشته باشید. اما پس از اینکه اصول اولیه را داشتید، می‌توانید به راحتی دوره را دنبال کنید و Nav2 را به طور موثر یاد بگیرید.

هدف من این است که ناوبری را برای هر کسی با سطح پایه تا متوسط ​​ROS2 در دسترس قرار دهم.


-- چگونه تدریس کنم؟


اگر دوره‌های دیگر ROS 2 را از من گذرانده‌اید، می‌دانید که من اینجا نیستم تا وقت شما را تلف کنم.

روش تدریس من بسیار ساده است:

  • گام به گام

  • رفتن به نقطه

  • یاد بگیرید در حین انجام

همچنین من شدیداً روی "چرا" پشت آنچه یاد می گیرید تمرکز می کنم. هدف فقط وادار کردن شما به تکرار کورکورانه برخی از مراحل نیست، بلکه درک اینکه چرا این مراحل اهمیت دارند.

است


و حرف من را قبول نکنید - در اینجا چند بررسی از دانشجویان/محققان/مهندسان/معلمان همکار که دوره ROS 2 من را در Udemy گذرانده اند آمده است:

"بهترین دوره آموزشی ROS2 که من گذرانده ام! دوره‌های دیگر (سایت‌ها/پلتفرم‌های مختلف) آن را گیج‌کننده کرده‌اند، اما این دوره آن را بسیار واضح و آسان می‌کند و در عین حال به شما اجازه می‌دهد خودتان تلاش کنید. من قطعا خیلی چیزها را به روشی بی دردسر و ساده یاد می گیرم. من باید از همان ابتدا این دوره را می گرفتم.» - میگل مارتینز جی.

«به طور کلی بسیار راضی هستم. من پیشینه قوی در برنامه نویسی دارم، اما در سطح بالاتر (عمدتاً وب) و رویکرد ظریف، روان و تمیز این دوره باعث شده است که در مدت زمان کوتاهی بدون هیچ مشکلی، با محیط ROS آشنا شوم. بسیاری از اسناد " - Devis D.

"این بهترین دوره آموزشی در ROS2 است که من تا به حال دیده ام" - الکساندر ک.

"محتوای دوره عالی، مستقیماً به نقطه اصلی و بسیار آسان برای پیگیری" - کوین ام.


-- در دوره آموزشی چه خواهید کرد و یاد خواهید گرفت؟


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

در دوره شما:

  • ROS2 و پشته Navigation 2 را نصب کنید.

  • یک نقشه با SLAM (محلی سازی و نقشه برداری همزمان) ایجاد و ذخیره کنید.

  • با استفاده از این نقشه، یک ربات بسازید.

  • درک نحوه عملکرد Navigation 2 و اجزای مختلف پشته: برنامه ریز جهانی، برنامه ریز محلی، رفتار بازیابی، TF ها و غیره.

  • یک جهان Gazebo سفارشی بسازید تا بتوانید شبیه سازی محیط خود را ایجاد کنید.

  • مراحل سازگاری ربات خود را برای پشته Navigation 2 کشف کنید.

  • با Nav2 با استفاده از Python Simple Commander API تعامل داشته باشید.

هر بخش بر روی قسمت های قبلی ساخته شده است، و آنچه را که آموخته اید با چالش های اضافی برای تمرین بیشتر تقویت خواهید کرد.


بنابراین، برای یادگیری پشته ناوبری و صرفه جویی در ساعات بی شماری، دیگر منتظر نمانید و همین امروز در دوره ثبت نام کنید!


اوه، در اینجا هیچ ریسکی نمی‌کنید، زیرا اگر کاملاً راضی نباشید، 30 روز ضمانت بازگشت پول نیز دریافت می‌کنید - بدون سؤال.

در دوره می بینمت!



توجه - این دوره برای شما مناسب نیست اگر:

  • شما یک مبتدی کامل ROS 2 هستید. در این مورد، ابتدا باید مبانی ROS 2

    را یاد بگیرید
  • می‌خواهید پشته Navigation 1 را برای ROS1 یاد بگیرید (نه دقیقاً یکسان)


سرفصل ها و درس ها

معرفی Introduction

  • به دوره ROS2 Nav2 خوش آمدید! Welcome to the ROS2 Nav2 Course!

  • پشته ناوبری (2) چیست و چرا به آن نیاز داریم؟ What Is the Navigation (2) Stack, and Why Do We Need It?

  • چگونه از این دوره بیشترین بهره را ببرید How to get the most out of this course

راه اندازی و نصب برای ROS2 و Nav2 Setup and Installation for ROS2 and Nav2

  • مقدمه Intro

  • [Recap] ROS2 را در اوبونتو 22.04 نصب و راه اندازی کنید [Recap] Install and Setup ROS2 on Ubuntu 22.04

  • پشته Navigation 2 را نصب کنید Install the Navigation 2 Stack

  • ابزارهایی را که برای دوره نیاز داریم نصب کنید Install the Tools We’ll Need For the Course

ایجاد نقشه با SLAM (محلی سازی و نقشه برداری همزمان) Generate a Map with SLAM (Simultaneous Localization and Mapping)

  • مقدمه Intro

  • ربات را در جهان حرکت دهید Make the Robot Move in the World

  • ایجاد و ذخیره نقشه با SLAM در ROS2 Generate and Save a Map with SLAM in ROS2

  • داخل نقشه تولید شده چیست؟ What’s Inside the Generated Map?

  • فعالیت SLAM - یک نقشه جدید در خانه Turtlebot3 ایجاد کنید SLAM Activity - Create a New Map in Turtlebot3 House

  • SLAM Activity - راه حل SLAM Activity - Solution

با Nav2 یک ربات ناوبری بسازید Make a Robot Navigate with Nav2

  • مقدمه Intro

  • یک راه حل سریع که باید قبل از شروع انجام دهیم A Quick Fix We Need To Do Before Starting

  • ربات را با استفاده از نقشه تولید شده هدایت کنید Make the Robot Navigate Using the Generated Map

  • دنبال کننده نقطه راه - از چندین هدف Nav2 عبور کنید Waypoint Follower - Go Through Multiple Nav2 Goals

  • اجتناب از موانع پویا Dynamic Obstacle Avoidance

  • فعالیت ناوبری - ناوبری با turtlebot3_house Navigation Activity - Navigation with turtlebot3_house

  • فعالیت ناوبری - راه حل Navigation Activity - Solution

پشته Nav2 را درک کنید Understand the Nav2 Stack

  • مقدمه Intro

  • Global Planner، Local Planner و Costmaps Global Planner, Local Planner and Costmaps

  • مولفه های Parameters

  • رفتار بازیابی Recovery Behavior

  • TF ها و فریم های مهم TFs and Important Frames

  • معماری Nav2 - گام به گام توضیح داده شده است The Nav2 Architecture - Explained Step by Step

دنیای خود را برای ناوبری در Gazebo بسازید Build Your Own World for Navigation in Gazebo

  • مقدمه Intro

  • در ویرایشگر ساختمان Gazebo جهانی را بسازید و نجات دهید Build and Save a World in the Gazebo Building Editor

  • یک طرح طبقه را وارد کنید Import a Floor Plan

  • اضافه کردن اشیاء به جهان Add Objects To the World

  • Turtlebot3 را در آن دنیا پیمایش کنید (مرحله 1) Make Turtlebot3 Navigate In That World (Step 1)

  • Turtlebot3 را در آن دنیا پیمایش کنید (مرحله 2) Make Turtlebot3 Navigate In That World (Step 2)

  • Turtlebot3 را در آن دنیا پیمایش کنید (مرحله 3) Make Turtlebot3 Navigate In That World (Step 3)

  • نکات: چگونه می توان نقشه ها را با Gimp اصلاح و بهبود بخشید Tips: How To Fix and Improve Maps with Gimp

  • فعالیت جهانی سفارشی - یک ربات بسازید که به یک پیچ و خم تولید شده حرکت کند Custom World Activity - Make a Robot Navigate into a Generated Maze

  • فعالیت جهانی سفارشی - راه حل (مرحله 1) Custom World Activity - Solution (Step 1)

  • فعالیت جهانی سفارشی - راه حل (مرحله 2) Custom World Activity - Solution (Step 2)

  • فعالیت جهانی سفارشی - راه حل (مرحله 3) Custom World Activity - Solution (Step 3)

مقدمه ای برای تطبیق یک ربات سفارشی برای Nav2 (نمای کلی مراحل) Intro to Adapting a Custom Robot for Nav2 (Steps Overview)

  • مقدمه Intro

  • TF/URDF TF/URDF

  • ورودی/خروجی - کیلومتر شماری، حسگرها و کنترلر Input/Output - Odometry, Sensors and Controller

  • ناوبری را با ربات سفارشی خود اجرا کنید (با استفاده از slam_toolbox) Run Navigation With Your Custom Robot (using slam_toolbox)

  • فایل + پارامترها را اجرا کنید Launch File + Parameters

تعامل برنامه‌ای با پشته ناوبری Interact Programmatically With the Navigation Stack

  • مقدمه Intro

  • کشف کنید که از چه موضوعات و اقداماتی استفاده می شود Discover what Topics and Actions are Used

  • Simple Commander API - Initial Pose را نصب و تنظیم کنید Simple Commander API - Install and Set the Initial Pose

  • Simple Commander API - ارسال یک هدف Nav2 Simple Commander API - Send a Nav2 Goal

  • Simple Commander API - Waypoint Follower + قالب قابل دانلود Simple Commander API - Waypoint Follower + Downloadable Template

  • Simple Commander API Activity - یک Robot Patrol ایجاد کنید Simple Commander API Activity - Create a Robot Patrol

  • Simple Commander API Activity - Solution Simple Commander API Activity - Solution

نتیجه Conclusion

  • کار بعدی چیه؟ What to do next?

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

آموزش ROS2 Nav2 [Navigation 2 Stack] - با SLAM و Navigation
جزییات دوره
6 hours
52
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
566
4.9 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Edouard Renard Edouard Renard

مهندس نرم افزار و مدرس رباتیک