لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش 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
معرفی پروژه - اپلیکیشن 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
نمایش نظرات