آموزش ROS2 را به عنوان یک توسعه دهنده ROS1 یاد بگیرید و پروژه های ROS خود را مهاجرت کنید

Learn ROS2 as a ROS1 Developer and Migrate Your ROS Projects

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: ROS1 در مقابل ROS2، ros1_bridge، راهنمای مهاجرت، پروژه کامل - کشف سیستم عامل ربات، نسخه 2 مهمترین تفاوت های ROS1 و ROS2 برای برنامه نویس نصب و راه اندازی ROS2 در اوبونتو نوشتن برنامه های کامل با ROS2 برقراری ارتباط بین ROS1 و ROS2 با استفاده از بسته ros1grate. پروژه ROS1 به ROS2 تمرین با پروژه انتقال کامل مبانی برنامه نویسی ترمینال در پایتون و/یا C++ برخی از اصول اولیه در برنامه نویسی شی گرا (OOP) مورد استقبال قرار می گیرند، اگرچه 100% اجباری نیستند.

در پایان این دوره - با شروع دانش ROS1 خود - می توانید برنامه های کامل ROS2 را ایجاد کنید و یک پایه کد ROS1 را در ROS2 منتقل کنید.

!!! مهم !!! اگر کاملا مبتدی هستید و اصلاً دانش ROS1 ندارید، لطفاً این دوره را نگذرانید. شما باید بدانید که چگونه با مفاهیم اصلی (گره ها، خدمات، پارامترها، فایل های راه اندازی) کار کنید تا دوره را درک کنید.

لطفاً توضیحات کامل را بخوانید تا بفهمید از این دوره چه انتظاری دارید :)


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


خب، اگر از قبل ROS1 را می‌شناسید، ممکن است بخواهید یادگیری ROS2 را شروع کنید، اما نه از ابتدا.

یا اگر باید با یک پروژه ROS1 کار کنید، ممکن است به دنبال راهی برای انتقال آن به ROS2 باشید.

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

و اکنون که ROS2 شروع به بزرگ‌تر شدن و پایدارتر شدن می‌کند، نیاز به دانستن اینکه با یک پروژه ROS1 موجود چه باید کرد، درک می‌کنم. بنابراین، دوباره، آنچه به شما یاد خواهم داد، کاری است که من شخصاً با پروژه های خودم انجام می دهم. من روشی را «اختراع» نمی‌کنم، آن را از نیازهای عملی واقعی خودم و سایر افراد ایجاد می‌کنم.


→ ساختار دوره: چه چیزی می توانید از دوره دریافت کنید.


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

1. ابتدا، می خواهید یاد بگیرید که چگونه برنامه های ROS2 را با استفاده از تجربه ROS1 خود بنویسید. ما از یک برنامه ROS1 موجود شروع می کنیم، و گام به گام، تمام مفاهیم اصلی را مرور می کنیم و نحوه ترجمه برنامه را در ROS2 خواهیم دید. توجه داشته باشید که ما وارد عملکردهای پیشرفته نخواهیم شد، بلکه به عملکردهای اصلی ROS2 پایبند خواهیم بود.

2. سپس، زمان مهاجرت است! اگر از قبل برخی از اصول اولیه را در ROS2 دارید، ممکن است سریعاً قسمت اول را دنبال کنید و سپس روی این قسمت مهاجرت تمرکز کنید.

برای شما توضیح خواهم داد:

  • زمان تعویض به ROS2.

  • از کدام توزیع ROS1 و ROS2 در حال حاضر و در آینده نزدیک استفاده شود.

من یک فرآیند گام به گام به شما ارائه خواهم داد تا پایه کد ROS1 خود را در ROS2 منتقل کنید. همچنین خواهید دید که چگونه یک برنامه ROS1 را به همراه یک برنامه ROS2 اجرا کنید و به لطف بسته ros1_bridge بین آنها ارتباط برقرار کنید.

و در نهایت: یک پروژه کامل برای شما برای تمرین در زمینه مهاجرت یک پایه کد و نوشتن کد ROS2. من پروژه ای را که با Turtlesim در ROS1 ساخته ام به شما می دهم و شما آن را به ROS2 منتقل می کنید.


→ اگر از قبل ROS1 و برخی از اصول اولیه ROS2 را بدانید چه؟


خب، هنوز هم می توانید از این دوره بهره مند شوید. می توانید قسمت اول را مرور کنید (به عنوان تجدید کننده) و سپس به قسمت دوم بروید که می تواند به تنهایی به عنوان یک دوره کوچک کامل دیده شود.

این بخش دوم + پروژه نهایی به شما پاسخ هایی می دهد که برای شروع کار با ROS1 و ROS2 و همچنین برای انتقال پایه کد خود نیاز دارید.


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

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

  • گام به گام

  • رفتن به نقطه

  • بیش از تئوری تمرین کنید، اگرچه کمی تئوری در ترکیب با تمرین ضرری ندارد

تجربه من با سیستم عامل Robot بسیار کاربردی است. من در واقع از آن برای ساخت یک بازوی رباتیک استفاده کردم که اکنون در بازار وجود دارد. پس چاره ای جز عملی بودن و رفتن سر اصل مطلب نداشتم. و این راهی است که من می خواهم به شما یاد بدهم.


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

  • شما هیچ دانشی در ROS1 ندارید

  • شما در حال حاضر در ROS1 و ROS2 متخصص هستید.

  • شما تازه با برنامه نویسی و لینوکس شروع کرده اید.


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

معرفی Introduction

  • خوش آمدی! Welcome!

  • چه زمانی به ROS2 تغییر دهید؟ When to Switch to ROS2?

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

  • تنظیم برای دوره Setup for the course

ROS2 را نصب کنید و تفاوت های اصلی را با ROS1 کشف کنید Install ROS2 and Discover the Main Differences with ROS1

  • معرفی Introduction

  • ROS2 Foxy (اوبونتو 20.04) را نصب کنید و محیط خود را راه اندازی کنید Install ROS2 Foxy (Ubuntu 20.04) and Setup Your Environment

  • یک گره ROS2 راه اندازی کنید و با ابزار ROS2 آشنا شوید Start a ROS2 Node and Get Familiar with ROS2 Tools

  • ROS1 در مقابل ROS2: اولین تفاوت (نمای کلی سریع) ROS1 vs ROS2: First Differences (quick overview)

بازنویسی یک برنامه ROS1 در ROS2 (بخش A) Re-write a ROS1 Application in ROS2 (PART A)

  • معرفی Introduction

  • ROS1 Noetic را برای آزمایش برنامه ROS1 نصب کنید Install ROS1 Noetic to Test the ROS1 App

  • برنامه ROS1 که ما استفاده خواهیم کرد The ROS1 App We'll Use

  • colcon را نصب کنید Install colcon

  • یک فضای کاری ROS2 ایجاد کنید Create a ROS2 Workspace

  • ایجاد یک بسته (پایتون) Create a Package (Python)

  • ایجاد یک بسته (C++) Create a Package (C++)

  • ایجاد یک گره (پایتون) Create a Node (Python)

  • یک گره (پایتون) با OOP ایجاد کنید Create a Node (Python) with OOP

  • ایجاد یک گره (C++) Create a Node (C++)

  • یک گره (C++) با OOP ایجاد کنید Create a Node (C++) with OOP

  • الگو برای گره های OOP شما Template for Your OOP Nodes

بازنویسی یک برنامه ROS1 در ROS2 (بخش B) Re-write a ROS1 Application in ROS2 (PART B)

  • یک ناشر/مشترک موضوع بنویسید (پایتون) Write a Topic Publisher/Subscriber (Python)

  • یک ناشر/مشترک موضوع بنویسید (C++) Write a Topic Publisher/Subscriber (C++)

  • ایجاد رابط های سفارشی (Msg/Srv) Create Custom Interfaces (Msg/Srv)

  • نوشتن یک سرویس (پایتون) Write a Service (Python)

  • نوشتن یک سرویس (C++) Write a Service (C++)

  • نقشه برداری مجدد در ROS2 Remappings in ROS2

  • پارامترهای ROS2 - چه چیزی تغییر کرده است؟ ROS2 Parameters - What Has Changed?

  • پارامترهای خود را اعلام کنید (Python/C++) Declare Your Parameters (Python/C++)

  • دریافت پارامترها از کد خود (پایتون) Get Parameters From Your Code (Python)

  • دریافت پارامترها از کد خود (C++) Get Parameters From Your Code (C++)

  • یک فایل راه اندازی ایجاد کنید Create a Launch File

از ros1_bridge + Migration Guide استفاده کنید Use ros1_bridge + Migration Guide

  • معرفی Introduction

  • مراحل مهاجرت یک Codebase با استفاده از ros1_bridge Steps to Migrate a Codebase Using ros1_bridge

  • ros1_bridge را نصب و تست کنید Install and Test ros1_bridge

  • پیام های سفارشی پل [1/4] - چرا + راه اندازی Bridge Custom Messages [1/4] - Why + Setup

  • پیام های سفارشی پل [2/4] - فرآیند نصب Bridge Custom Messages [2/4] - Installation Process

  • Bridge Custom Messages [3/4] - اجرای برنامه خود با ROS1 و ROS2 Bridge Custom Messages [3/4] - Running your App with ROS1 and ROS2

  • پیام های سفارشی پل [4/4] - قوانین نقشه برداری Bridge Custom Messages [4/4] - Mapping Rules

  • با برنامه شماره ما از ros1_bridge استفاده کنید Use ros1_bridge with our Number App

پروژه مهاجرت ROS1 -> ROS2 Migration Project ROS1 -> ROS2

  • معرفی پروژه - اپلیکیشن ROS1 را کشف کنید Project Intro - Discover the ROS1 App

  • معرفی پروژه - مراحل پروژه Project Intro - Project Steps

  • مرحله 0 - کد را به ROS1 Noetic منتقل کنید Step 0 - Port the Code to ROS1 Noetic

  • [آن را از دست ندهید] قبل از رفتن بیشتر - دانه را برای پروژه ROS2 دانلود کنید [DONT MISS THAT] Before going further - Download the seed for the ROS2 project

  • مرحله 1 - پیام های سفارشی را انتقال دهید و ros1_bridge را راه اندازی کنید Step 1 - Migrate Custom Messages and Setup ros1_bridge

  • مرحله 2 - Port Target Publisher Node Step 2 - Port Target Publisher Node

  • مرحله 3 - گره کنترل لاک پشت پورت Step 3 - Port Turtle Controller Node

  • مرحله 4 - یک فایل راه اندازی ایجاد کنید Step 4 - Create a Launch File

  • نتیجه گیری پروژه + بهبود Project Conclusion + Improvements

نتیجه Conclusion

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

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

نمایش نظرات

آموزش ROS2 را به عنوان یک توسعه دهنده ROS1 یاد بگیرید و پروژه های ROS خود را مهاجرت کنید
جزییات دوره
6.5 hours
50
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
597
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Edouard Renard Edouard Renard

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