آموزش ROS2 برای مبتدیان سطح 3 - مفاهیم پیشرفته

ROS2 for Beginners Level 3 - Advanced Concepts

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: مهارت‌های ROS 2 خود را به سطح بعدی برسانید - اقدامات ROS2، گره‌های چرخه حیات، مجری‌ها، مؤلفه‌ها و موارد دیگر. مفاهیم متوسط ​​و پیشرفته ROS 2 اقدامات ROS2، گره‌های چرخه حیات، مجری‌ها، مؤلفه‌ها مهارت‌های ROS2 خود را به سطح بعدی ببرید ایجاد و ایجاد یک تعریف Action نوشتن یک سرور Action کامل و مشتری انتخاب و پیاده‌سازی خط‌مشی Action هدف استفاده از گره‌های چرخه زندگی برای ایجاد یک دنباله مقداردهی اولیه برای گره های خود بدانید که چگونه چرخش کار می کند استفاده از مجری های تک رشته ای و چند رشته ای اضافه کردن چندین گره در یک فایل اجرایی (ترکیب) ایجاد یک جزء ROS2 برای بارگیری در زمان اجرا کشف ابزارهای خط فرمان بیشتر ROS2 بهترین روش ها را از همان ابتدا بیاموزید تمرین با چالش ها و پروژه های اضافی پیش نیازها: شما باید برخی از اصول ROS 2 را داشته باشید. اگر در ROS 2 تازه کار هستید، پیشنهاد می کنم با دوره "ROS2 برای مبتدیان" (سطح 1) شروع کنید، همچنین می توانید دوره سطح 2 را بگذرانید، اما یک پل مستقیم بین سطح 1 و سطح 3 امکان پذیر است. شما باید اوبونتو را روی رایانه خود نصب کنید (بهترین حالت به عنوان بوت دوگانه)

شما مفاهیم اولیه ROS2 را آموخته اید و می خواهید:

  • در مفاهیم اصلی پیشرفته‌تر شیرجه بزنید،

  • بنابراین می‌توانید از همه ویژگی‌های ROS2 استفاده کنید،

  • و برنامه های روباتیک بهتری ایجاد کنید؟

و شاید شما در حال حاضر گیر کرده اید و احساس می کنید در اسناد گم شده اید؟

این دوره برای شما مناسب است: برای کسب اطلاعات بیشتر به ادامه مطلب مراجعه کنید.


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


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

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

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

و مفاهیمی که در اینجا خواهید دید نه تنها به شما کمک می‌کنند تا برنامه‌های روباتیک بهتری ایجاد کنید، بلکه زمانی که شروع به یادگیری در مورد ros2_control، nav2 یا moveit2 کنید، بسیار مفید خواهند بود. (توجه: من آن فریم ورک ها را در این دوره آموزش نمی دهم، اما آنها بسیار به مفاهیم پیشرفته ROS2 متکی هستند، بنابراین این دوره به شما کمک می کند فریمورک ها را سریعتر یاد بگیرید)


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


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

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

  • گام به گام

  • رفتن به نقطه

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

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

است

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

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

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

"فکر می کنم همه چیزهایی را که برای توسعه یک پروژه ROS2 نیاز دارم از ابتدا یاد گرفتم. من 100٪ این دوره را به هر کسی که می خواهد اصول ROS2 را یاد بگیرد توصیه می کنم." - خاویر دی.

"این دوره عالی است. من در نهایت به درک توسعه بسته‌ها/گره‌ها به روشی ساده و پیشرونده می‌رسم، که به درک نحوه کار چارچوب کمک می‌کند و بنابراین کمک می‌کند تا به راحتی وارد آن شوید." - کریستف ک.

«ادوارد تدریس فلسفه عالی دارد. او مفاهیم را به وضوح توضیح می دهد و آنها را به صورت عملی نشان می دهد که به راحتی قابل درک و استفاده است. ممنون ادوارد رنار.» – فرهان ع.


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


این دوره به 4 بخش اصلی تقسیم می شود:

  • اقدامات

  • گره های چرخه حیات

  • مجریان

  • اجزاء

هر بخش را می توان به عنوان یک دوره آموزشی کوچک در داخل دوره مشاهده کرد، به این معنی که می توانید آنها را به طور مستقل از یکدیگر یاد بگیرید.

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

علاوه بر آن، به شما تمرین بیشتری می‌دهم تا شما را وادار کنم به تنهایی فکر کنید و یاد بگیرید چگونه چندین مفهوم را در یک برنامه ترکیب کنید.


بنابراین، اگر می‌خواهید مهارت‌های ROS2 خود را به سطح بالاتری ببرید، همین امروز در دوره ثبت‌نام کنید!


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

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

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

  • شما چیزی در مورد ROS 2 نمی دانید. در این مورد، پیشنهاد می کنم با دوره آموزشی "ROS2 برای مبتدیان" (سطح 1) شروع کنید.


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

معرفی Introduction

  • خوش آمدی! Welcome!

  • نحوه پیگیری این دوره How to follow this course

  • محیط خود را تنظیم کنید (+ ابزارها) Setup Your Environment (+ Tools)

  • الگوی Node OOP Node OOP Template

ROS2 Actions - Python ROS2 Action ROS2 Actions - Python ROS2 Action

  • مقدمه Intro

  • چرا و زمان استفاده از ROS 2 Actions Why and When to use ROS 2 Actions

  • اقدامات ROS 2 چگونه کار می کند؟ How do ROS 2 Actions Work?

  • یک تعریف عمل ایجاد کنید Create an Action Definition

  • یک سرور اکشن حداقلی پایتون بنویسید Write a Minimal Python Action Server

  • یک اکشن کلاینت حداقلی پایتون بنویسید Write a Minimal Python Action Client

  • قبول یا رد یک هدف Accept or Reject a Goal

  • ماشین وضعیت هدف توضیح داده شد Goal State Machine Explained

  • یک هدف را به صورت موفقیت آمیز یا لغو شده تعیین کنید Set a Goal as Succeeded or Aborted

  • ارسال بازخورد هدف Send Goal Feedback

  • لغو یک هدف Cancel a Goal

  • Introspect Actions با عمل ros2 (خط فرمان) Introspect Actions with ros2 action (command line)

  • خط مشی هدف: اهداف متعدد به صورت موازی Goal Policy: Multiple goals in parallel

  • خط مشی هدف: اگر هدف فعلی فعال است، هدف جدید را رد کنید Goal Policy: Refuse new goal if current goal is active

  • خط مشی هدف: در صورت دریافت هدف جدید، از هدف فعلی جلوگیری کنید Goal policy: Preempt current goal if new goal received

  • خط مشی هدف: اهداف صف Goal policy: Queue goals

C++ ROS2 Actions C++ ROS2 Actions

  • مقدمه Intro

  • C++ Action Server C++ Action Server

  • C++ Action Client C++ Action Client

  • قبول یا رد یک هدف Accept or Reject a Goal

  • یک هدف را به صورت موفقیت آمیز یا لغو شده تعیین کنید Set a Goal as Succeeded or Aborted

  • ارسال بازخورد هدف Send Goal Feedback

  • لغو یک هدف Cancel a Goal

  • خط مشی هدف: اهداف متعدد به صورت موازی Goal Policy: Multiple goals in parallel

  • خط مشی هدف: اگر هدف فعلی فعال است، هدف جدید را رد کنید Goal Policy: Refuse new goal if current goal is active

  • خط مشی هدف: در صورت دریافت هدف جدید، از هدف فعلی جلوگیری کنید Goal Policy: Preempt current goal if new goal received

  • خط مشی هدف: اهداف صف Goal Policy: Queue goals

اقدامات ROS2 - چالش ROS2 Actions - Challenge

  • مقدمه - بررسی اجمالی پروژه Intro - Project Overview

  • مرحله 1 - ایجاد و تولید اکشن Step 1 - Create and Generate the Action

  • مرحله 2 - Action Server Step 2 - Action Server

  • مرحله 3 - Action Client Step 3 - Action Client

  • مرحله 4 - خط مشی هدف و هدف را بپذیرید Step 4 - Accept Goal and Goal Policy

  • مرحله 5 - با یک مشترک لغو کنید Step 5 - Cancel with a Subscriber

  • چالش اقدامات - کد C++ Actions Challenge - C++ Code

گره های چرخه حیات ROS2 ROS2 Lifecycle Nodes

  • مقدمه Intro

  • گره های چرخه حیات چیست، چه زمانی از آنها استفاده کنیم What are Lifecycle Nodes, When to Use Them

  • تنظیم کد Code Setup

  • یک گره چرخه زندگی در پایتون بنویسید Write a Lifecycle Node in Python

  • انتقال بین ایالات (با خط cmd چرخه حیات ros2) Transition Between States (with ros2 lifecycle cmd line)

  • خطاهای پردازش Processing Errors

  • مدیریت گره چرخه حیات (با استفاده از خدمات چرخه حیات) Lifecycle Node Manager (using Lifecycle Services)

  • یک فایل راه اندازی برای گره های چرخه زندگی ایجاد کنید Create a Launch File for Lifecycle Nodes

  • یک گره چرخه زندگی در C++ بنویسید Write a Lifecycle Node in C++

گره های چرخه حیات ROS2 - چالش ROS2 Lifecycle Nodes - Challenge

  • مقدمه Intro

  • مرحله 1 - گره را به یک گره چرخه زندگی تبدیل کنید Step 1 - Transform the Node Into a Lifecycle Node

  • مرحله 2 - شروع چندین گره (Params + فایل راه اندازی) Step 2 - Start Several Nodes (Params + Launch File)

  • مرحله 3 - مدیر چرخه زندگی Step 3 - Lifecycle Manager

  • چالش گره چرخه زندگی - C++ Lifecycle Node Challenge - C++

مجریان ROS2 ROS2 Executors

  • مقدمه Intro

  • نحوه عملکرد Callbacks و Spin را درک کنید Understand How Callbacks and Spin Work

  • The SingleThreaded Executor The SingleThreaded Executor

  • اجرای چند رشته ای و گروه های پاسخ به تماس Multi Threaded Executor and Callback Groups

  • از کدام مجری/گروه پاسخگوی تماس باید استفاده کنید؟ Which Executor/Callback Group Should You Use?

  • بازگشت به مثال Action Server Going back to the Actions Server Example

  • چندین نود را در یک فایل اجرایی اجرا کنید Run Several Nodes in One Executable

  • مجریان با C++ Executors With C++

اجزای ROS2 ROS2 Components

  • مقدمه Intro

  • ترکیب دستی با پایتون Manual Composition with Python

  • ترکیب دستی با C++ Manual Composition with C++

  • ایجاد یک مؤلفه ROS2 (پلاگین) Create a ROS2 Component (plugin)

  • یک کامپوننت را در زمان اجرا با خط cmd جزء ros2 بارگذاری کنید Load a Component at Run-Time with ros2 component cmd line

  • بارگذاری کامپوننت ها از یک فایل راه اندازی Load Components From a Launch File

پروژه نهایی Final Project

  • مقدمه Intro

  • مرحله 1 - گره پایه و مجری Step 1 - Base Node and Executor

  • مرحله 2 - Action Server Step 2 - Action Server

  • مرحله 3 - گره چرخه حیات Step 3 - Lifecycle Node

  • مرحله 4 - جزء Step 4 - Component

  • مرحله 5 - فایل را راه اندازی کنید Step 5 - Launch file

  • مرحله 6 - برای Turtlebot3 در Gazebo سازگار شوید Step 6 - Adapt for Turtlebot3 in Gazebo

نتیجه Conclusion

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

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

نمایش نظرات

آموزش ROS2 برای مبتدیان سطح 3 - مفاهیم پیشرفته
جزییات دوره
14 hours
75
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
268
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Edouard Renard Edouard Renard

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