آموزش خودرانی و ROS 2 - با انجام دادن بیاموزید! کیلومتر شماری و کنترل

Self Driving and ROS 2 - Learn by Doing! Odometry & Control

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یک ربات خودران مبتنی بر ROS2 بسازید و با استفاده از فیلترهای کالمن در مورد محلی‌سازی ربات و ترکیب حسگر بیاموزید. ایجاد یک ربات خودران واقعی با تسلط بر ROS2، آخرین نسخه از سیستم عامل ربات پیاده‌سازی الگوریتم‌های حسگر فیوژن شبیه‌سازی ربات خودران در برنامه‌نویسی Gazebo آردوینو برای کاربردهای رباتیک استفاده از کتابخانه ros2_control توسعه کیلومتر شماری و محلی‌سازی کنترل‌کننده فیلترهای کالمن و تئوری احتمالات فیلتر کالمن توسعه یافته سینماتیک دیفرانسیل ایجاد یک دوقلوی دیجیتالی از یک ربات خودران تسلط بر کتابخانه TF2 پیش نیازها:دانش پایه پایتون یا C+ لینوکس بدون نیاز به دانش قبلی در مورد ROS یا ROS 2 بدون نیاز به دانش قبلی از نظریه رباتیک بدون نیاز به سخت افزار. تمام دوره را می توان فقط با استفاده از رایانه شخصی دنبال کرد

آیا می خواهید با ساخت یک ربات واقعی، یک ربات خودران واقعی با استفاده از ROS2، دومین و آخرین نسخه سیستم عامل ربات بسازید؟


آیا می‌خواهید با ناوبری خودمختار ربات شروع کنید و به جنبه‌های نظری و عملی Odometry و محلی‌سازی از کارشناسان صنعت بپردازید؟


فلسفه این دوره یادگیری با انجام و به نقل از نویسنده و معلم آمریکایی دیل کارنگی است

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


برای اینکه بتوانید بر مفاهیم مطرح شده در این دوره تسلط داشته باشید و از آنها در پروژه های خود و همچنین در شغل آینده خود استفاده کنید، من شما را از طریق یادگیری تمام عملکردهای ROS از نظر تئوری و عملی راهنمایی خواهم کرد. .


هر بخش از سه بخش تشکیل شده است:

  • توضیح نظری مفهوم و عملکرد

  • استفاده از مفهوم در یک مثال کاربردی ساده

  • کاربرد عملکرد در یک ربات واقعی


موارد بیشتری وجود دارد!


تمام درس های برنامه نویسی با استفاده از پایتون و ++C توسعه یافته اند. این بدان معنی است که شما می توانید زبانی را که بیشتر با آن آشنا هستید انتخاب کنید یا در هر دو زبان برنامه نویسی به یک توسعه دهنده نرم افزار رباتیک متخصص تبدیل شوید!


با گذراندن این دوره، درک عمیق تری از ربات های خودران و ROS 2 به دست خواهید آورد که فرصت هایی را در زمینه هیجان انگیز رباتیک برای شما باز می کند.


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

معرفی Introduction

  • انگیزه دوره Course Motivation

  • برنامه خودران The Self-Driving Program

  • ارائه دوره Course Presentation

  • با معلم خود آشنا شوید Meet your Teacher

  • [EXTRA]: شغل توسعه دهنده نرم افزار روباتیک خود را تقویت کنید [EXTRA]: Boost your Robotics Software Developer Career

  • بیشترین بهره را از دوره ببرید Get the Most out of the Course

  • مواد درسی Course Material

برپایی Setup

  • اوبونتو را روی ماشین مجازی نصب کنید Install Ubuntu on Virtual Machine

  • اوبونتو را روی Dual Boot نصب کنید Install Ubuntu on Dual Boot

  • <LAB>ROS 2</LAB> را نصب کنید <LAB>Install ROS 2</LAB>

  • <LAB>محیط توسعه را پیکربندی کنید</LAB> <LAB>Configure the Development Environment</LAB>

مقدمه ای بر ROS 2 Introduction to ROS 2

  • چرا یک سیستم عامل ربات؟ Why a Robot Operating System?

  • ROS 2 چیست؟ What is ROS 2

  • چرا یک سیستم عامل ربات جدید؟ Why a NEW Robot Operating System?

  • معماری ROS 2 ROS 2 Architecture

  • انتزاع سخت افزار Hardware Abstraction

  • کنترل دستگاه سطح پایین Low-Level Device Control

  • پیام رسانی بین فرآیند Messaging Between Process

  • مدیریت بسته Package Management

  • معماری یک برنامه ROS 2 Architecture of a ROS 2 Application

  • مقدمه ای بر ROS 2 Introduction to ROS 2

  • <LAB>یک فضای کاری ایجاد و فعال کنید</LAB> <LAB>Create and Activate a Workspace</LAB>

  • <PY>ناشر ساده</PY> <PY>Simple Publisher</PY>

  • <C++>ناشر ساده</C++> <C++>Simple Publisher</C++>

  • <PY>مشترک ساده</PY> <PY>Simple Subscriber</PY>

  • <C++>مشترک ساده</C++> <C++>Simple Subscriber</C++>

  • فضاهای کاری، ناشران، مشترکین Workspaces, Publishers, Subscribers

حرکت Locomotion

  • حرکت روبات Robot Locomotions

  • ربات های موبایل Mobile Robots

  • اثرات اصطکاک Friction Effects

  • توضیحات ربات Robot Description

  • URDF URDF

  • <LAB>مدل URDF را ایجاد کنید</LAB> <LAB>Create the URDF Model</LAB>

  • رویز 2 Rviz 2

  • مولفه های Parameters

  • <PY>پارامترها</PY> <PY>Parameters</PY>

  • <C++>پارامترها</C++> <C++>Parameters</C++>

  • <LAB>CLI پارامتر ROS 2</LAB> <LAB>ROS 2 Parameter CLI</LAB>

  • URDF و پارامترها URDF and Parameters

  • <LAB>روبات را تجسم کنید</LAB> <LAB>Visualize the Robot</LAB>

  • فایل ها را راه اندازی کنید Launch Files

  • <LAB>روبات را با فایل های راه اندازی تجسم کنید</LAB> <LAB>Visualize the Robot with Launch Files</LAB>

  • یک قوطی در بالای ربات خود اضافه کنید Add a Can on top of your Robot

  • گازبو Gazebo

  • <LAB>روبات را شبیه سازی کنید</LAB> <LAB>Simulate the Robot</LAB>

  • <LAB>شبیه سازی را راه اندازی کنید</LAB> <LAB>Launch the Simulation</LAB>

کنترل Control

  • کنترل ROS 2 ROS 2 Control

  • انواع کنترل Control Types

  • <LAB>ros2_control با Gazebo</LAB> <LAB>ros2_control with Gazebo</LAB>

  • فایل پیکربندی YAML YAML Configuration File

  • <LAB>پیکربندی ros2_control</LAB> <LAB>Configure ros2_control</LAB>

  • <LAB>کنترل کننده را راه اندازی کنید</LAB> <LAB>Launch the Controller</LAB>

  • <LAB>ros2_control CLI</LAB> <LAB>ros2_control CLI</LAB>

سینماتیک Kinematics

  • ربات سینماتیک Robot Kinematics

  • ژست یک ربات موبایل Pose of a Mobile Robot

  • وکتور ترجمه Translation Vector

  • <LAB>معرفی Turtlesim</LAB> <LAB>Introduction to Turtlesim</LAB>

  • <PY>بردار ترجمه</PY> <PY>Translation Vector</PY>

  • <C++>بردار ترجمه</C++> <C++>Translation Vector</C++>

  • ماتریس چرخش Rotation Matrix

  • <PY>ماتریس چرخش</PY> <PY>Rotation Matrix</PY>

  • <C++>ماتریس چرخش</C++> <C++>Rotation Matrix</C++>

  • ماتریس تبدیل Transformation Matrix

سینماتیک دیفرانسیل Differential Kinematics

  • سینماتیک دیفرانسیل Differential Kinematics

  • سرعت ربات موبایل Velocity of a Mobile Robot

  • سرعت خطی Linear Velocity

  • سرعت زاویهای Angular Velocity

  • سرعت در قاب جهانی Velocity in World Frame

  • سینماتیک رو به جلو دیفرانسیل Differential Forward Kinematics

  • کنترل کننده سرعت ساده Simple Speed Controller

  • <PY>کنترل کننده سرعت ساده</PY> <PY>Simple Speed Controller</PY>

  • <C++>کنترل کننده سرعت ساده</C++> <C++>Simple Speed Controller</C++>

  • <LAB>کنترل کننده ساده را راه اندازی کنید</LAB> <LAB>Launch the Simple Controller</LAB>

  • <LAB>کار از راه دور با جوی استیک</LAB> <LAB>Teleoperating with Joystick</LAB>

  • <LAB>استفاده از diff_drive_controller</LAB> <LAB>Using the diff_drive_controller</LAB>

کتابخانه TF2 TF2 Library

  • کتابخانه TF2 The TF2 Library

  • عملیات با تبدیل Operations with Transformations

  • تبدیل استاتیک و دینامیک Static and Dynamic Transformations

  • <PY>پخش کننده ساده TF2 استاتیک</PY> <PY>Simple TF2 Static Broadcaster</PY>

  • <C++>پخش کننده ساده TF2 Static</C++> <C++>Simple TF2 Static Broadcaster</C++>

  • <PY>پخش کننده ساده TF2</PY> <PY>Simple TF2 Broadcaster</PY>

  • <C++>پخش کننده ساده TF2</C++> <C++>Simple TF2 Broadcaster</C++>

  • خدمات ROS 2 ROS 2 Services

  • <PY>سرویس دهنده</PY> <PY>Service Server</PY>

  • <C++>سرویس سرویس</C++> <C++>Service Server</C++>

  • <PY>سرویس گیرنده</PY> <PY>Service Client</PY>

  • <C++>سرویس سرویس گیرنده</C++> <C++>Service Client</C++>

  • <PY>شنونده TF2 ساده</PY> <PY>Simple TF2 Listener</PY>

  • <C++>شنونده ساده TF2</C++> <C++>Simple TF2 Listener</C++>

  • بازنمایی زاویه Angle Rapresentations

  • زوایای اویلر Euler Angles

  • کواترنیون Quaternion

  • <PY>اویلر به کواترنیون</PY> <PY>Euler to Quaternion</PY>

  • <C++>اویلر به کواترنیون</C++> <C++>Euler to Quaternion</C++>

  • <LAB>ابزارهای TF2</LAB> <LAB>TF2 Tools</LAB>

کیلومتر شماری Odometry

  • ربات کجاست؟ Where is the Robot?

  • چالش محلی سازی محلی The Local Localization Challenge

  • کیلومتر شماری چرخ Wheel Odometry

  • سینماتیک معکوس دیفرانسیل Differential Inverse Kinematics

  • <PY>سینماتیک معکوس دیفرانسیل</PY> <PY>Differential Inverse Kinematic</PY>

  • <C++>سینماتیک معکوس دیفرانسیل</C++> <C++>Differential Inverse Kinematic</C++>

  • کیلومتر شماری چرخ - موقعیت Wheel Odometry - Position

  • کیلومتر شماری چرخ - جهت گیری Wheel Odometry - Orientation

  • <PY> کیلومتر شماری چرخ</PY> <PY>Wheel Odometry</PY>

  • <C++> کیلومتر شماری چرخ</C++> <C++>Wheel Odometry</C++>

  • <PY>پیام کیلومتر شماری را منتشر کنید</PY> <PY>Publish Odometry Message</PY>

  • <C++>پیام کیلومتر شماری را منتشر کنید</C++> <C++>Publish Odometry Message</C++>

  • مسیر ربات را رسم کنید Draw the Robot's Trajectory

  • <PY>تبدیل کیلومتر شماری پخش</PY> <PY>Broadcast Odometry Transform</PY>

  • <C++>تبدیل کیلومتر شماری پخش</C++> <C++>Broadcast Odometry Transform</C++>

احتمال برای رباتیک Probability for Robotics

  • انگیزه Motivation

  • متغیرهای تصادفی Random Variables

  • احتمال شرطی Conditional Probability

  • توزیع های احتمال Probability Distributions

  • توزیع های گاوسی Gaussian Distributions

  • قضیه احتمال کل Total Probability Theorem

  • قانون بیز Bayes Rule

  • نویز سنسور Sensor Noise

  • <PY>افزودن نویز به حرکت ربات</PY> <PY>Adding Noise to Robot Motion</PY>

  • <C++>افزودن نویز به حرکت روبات</C++> <C++>Adding Noise to Robot Motion</C++>

  • <LAB>کنترل کننده نویز را راه اندازی کنید</LAB> <LAB>Launch Noisy Controller</LAB>

  • <LAB>مقایسه کیلومتر شمار</LAB> <LAB>Odometry Comparison</LAB>

فیوژن سنسور Sensor Fusion

  • مزایای داشتن سنسورهای چندگانه Advantages of having Multiple Sensors

  • ژیروسکوپ Gyroscope

  • شتاب سنج و IMU Accelerometer and IMU

  • <LAB>شبیه سازی حسگر IMU</IMU> <LAB>Simulate IMU Sensor</IMU>

  • فیلتر کالمن Kalman Filter

  • <PY>راه اندازی فیلتر</PY> <PY>Filter Initialization</PY>

  • <C++>راه اندازی فیلتر</C++> <C++>Filter Initialization</C++>

  • به روز رسانی اندازه گیری Measurement Update

  • <PY>به روز رسانی اندازه گیری</PY> <PY>Measurement Update</PY>

  • <C++>به روز رسانی اندازه گیری<C++> <C++>Measurement Update<C++>

  • پیش بینی وضعیت State Prediction

  • <PY>پیش‌بینی وضعیت</PY> <PY>State Prediction</PY>

  • <C++>پیش‌بینی وضعیت</C++> <C++>State Prediction</C++>

  • <LAB>محلی سازی با فیلتر Kalman</LAB> <LAB>Localization with Kalman Filter</LAB>

  • فیلتر کالمن توسعه یافته (EKF) Extended Kalman Filter (EKF)

  • <PY>بازنشر IMU</PY> <PY>IMU Republisher</PY>

  • <C++>بازنشر IMU</C++> <C++>IMU Republisher</C++>

  • <LAB> Fusion حسگر با محل یابی_ربات</LAB> <LAB>Sensor Fusion with robot_localization</LAB>

ربات را بسازید Build the Robot

  • مکانیک و الکترونیک Mechanics and Electronics

  • آنچه شما قرار است نیاز داشته باشید What you are going to need

  • آردوینو و ROS 2 Arduino and ROS 2

  • <HWLAB>گره ناشر با آردوینو</HWLAB> <HWLAB>Publisher Node with Arduino</HWLAB>

  • <PY>گره ناشر با آردوینو</PY> <PY>Publisher Node with Arduino</PY>

  • <C++>Publisher Node با آردوینو</C++> <C++>Publisher Node with Arduino</C++>

  • <HWLAB>آزمایش گره ناشر با آردوینو</HWLAB> <HWLAB>Test Publisher Node with Arduino</HWLAB>

  • <HWLAB>گره مشترک با آردوینو</HWLAB> <HWLAB>Subscriber Node with Arduino</HWLAB>

  • <PY>گره مشترک با آردوینو</PY> <PY>Subscriber Node with Arduino</PY>

  • <C++>گره مشترک با آردوینو</C++> <C++>Subscriber Node with Arduino</C++>

  • <HWLAB>آزمایش گره مشترک با آردوینو</HWLAB> <HWLAB>Test Subscriber Node with Arduino</HWLAB>

  • <HWLAB>موتورهای DC با آردوینو</HWLAB> <HWLAB>DC Motors with Arduino</HWLAB>

  • <HWLAB>رمزگذارها با آردوینو</HWLAB> <HWLAB>Encoders with Arduino</HWLAB>

  • گره های چرخه حیات ROS 2 ROS 2 Lifecycle Nodes

  • <C++>یک گره چرخه زندگی ایجاد کنید</C++> <C++>Create a Lifecycle Node</C++>

  • <LAB>ROS 2 Lifecycle CLI</LAB> <LAB>ROS 2 Lifecycle CLI</LAB>

  • <C++>رابط ros2_control - اعلامیه</C++> <C++>ros2_control Interface - Declaration</C++>

  • <C++>رابط ros2_control - تعریف</C++> <C++>ros2_control Interface - Definition</C++>

  • <C++>رابط ros2_control - پلاگین</C++> <C++>ros2_control Interface - Plugin</C++>

  • <LAB>رابط ros2_control - پیکربندی</LAB> <LAB>ros2_control Interface - Configure</LAB>

  • <HWLAB>کنترل ربات با آردوینو</HWLAB> <HWLAB>Robot Control with Arduino</HWLAB>

  • <HWLAB>روبات کامل را راه اندازی کنید</HWLAB> <HWLAB>Launch the Complete Robot</HWLAB>

نتیجه گیری Conclusions

  • خلاصه Recap

  • بعد چه می شود؟ What's Next?

  • سخنرانی جایزه BONUS Lecture

نمایش نظرات

آموزش خودرانی و ROS 2 - با انجام دادن بیاموزید! کیلومتر شماری و کنترل
جزییات دوره
25 hours
160
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,187
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Antonio Brandi Antonio Brandi

ربات مهندس ناوبری خودمختار