خودرانی و ROS 2 - با انجام دادن بیاموزید! نقشه و محلی سازی

Self Driving and ROS 2 - Learn by Doing! Map & Localization

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یک ربات خودران مبتنی بر ROS2 ایجاد کنید و در مورد محلی سازی، نقشه برداری و SLAM بیاموزید ایجاد یک ربات خودران واقعی Master ROS2، آخرین نسخه از سیستم عامل ربات. برنامه نویسی Gazebo Arduino for Robotics Applications Master Nav2 تئوری احتمال استفاده از حسگرهای لیزر برای برنامه های کاربردی در دنیای واقعی تسلط بر کتابخانه slam_toolbox پیش نیازها: دانش پایه پایتون یا C++ دانش پایه لینوکس بدون نیاز به دانش قبلی در مورد ROS یا ROS 2 بدون نیاز به دانش قبلی در مورد تئوری رباتیک بدون نیاز به سخت افزار تمام دوره را می توان فقط با استفاده از رایانه شخصی دنبال کرد

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


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


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

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


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


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

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

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

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


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


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


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


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

مقدمه Introduction

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

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

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

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

  • بیشترین بهره را از دوره ببرید 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 Jazzy را در اوبونتو 24.04 نصب کنید</LAB> <LAB>Install ROS 2 Jazzy on Ubuntu 24.04</LAB>

  • <LAB>ROS 2 Humble را در اوبونتو 22.04 نصب کنید</LAB> <LAB>Install ROS 2 Humble on Ubuntu 22.04</LAB>

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

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

  • <HWLAB>ROS 2 را روی Raspberry Pi نصب کنید</HWLAB> <HWLAB>Install ROS 2 on Raspberry Pi</HWLAB>

  • <LAB>آغاز با ربات شبیه سازی شده</LAB> <LAB>Getting Started with the Simulated Robot</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>یک Worksapce ایجاد و فعال کنید</LAB> <LAB>Create and Activate a Worksapce</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

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

  • انگیزه Motivation

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

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

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

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

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

  • قانون بیز Bayes Rule

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

محلی سازی جهانی Global Localization

  • من کجا هستم؟ Where am I ?

  • بومی سازی ربات Robot Localization

  • کنوانسیون رباتیک برای بومی سازی Robotics Convention for Localization

  • چرا کنوانسیون رباتیک برای بومی سازی؟ Why a Robotics Convention for Localization?

  • جهان ها و مدل های Gazebo Gazebo Worlds and Models

  • <LAB>به ربات خانه بدهید</LAB> <LAB>Give an house to the Robot</LAB>

  • بومی سازی محلی و جهانی Local and Global Localization

  • محلی سازی محلی Local Localization

  • محلی سازی جهانی Global Localization

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

  • خطاهای ردومتری لیزری Laser Odometry Errors

  • هدف واقعی از محلی سازی جهانی The Real Purpose of Global Localization

  • انتشار خطا Error Propagation

  • مدل حرکت کیلومتر شمار Odometry Motion Model

  • <PY>مدل حرکت کیلومتر شمار</PY> <PY>Odometry Motion Model</PY>

  • <PY>مدل حرکت کیلومتر شمار با نویز</PY> <PY>Odometry Motion Model with Noise</PY>

  • <C++>مدل حرکت کیلومتر شمار</C++> <C++>Odometry Motion Model</C++>

  • <C++>مدل حرکت کیلومتر شمار با نویز</C++> <C++>Odometry Motion Model with Noise</C++>

  • <LAB>مدل حرکت کیلومتر شمار</LAB> <LAB>Odometry Motion Model</LAB>

سنسورهای محلی سازی و نقشه برداری Sensors for Localization and Mapping

  • نقشه چیست What is a Map

  • چگونه ربات ها جهان را درک می کنند How Robots Perceive the World

  • سنسورهای ربات های خودران Sensors for Self-Driving Robots

  • سنسورهای 1 بعدی - سونار 1D Sensors - Sonar

  • حسگرهای دو بعدی - LiDAR 2D Sensors - LiDAR

  • <LAB>یک LiDAR دو بعدی به ربات اضافه کنید</LAB> <LAB>Add a 2D LiDAR to the Robot</LAB>

  • <LAB>شبیه سازی LiDAR دو بعدی</LAB> <LAB>Simulate a 2D LiDAR</LAB>

  • حسگرهای سه بعدی - دوربین های RGBD و 3D LiDAR 3D Sensors - RGBD Cameras and 3D LiDAR

  • نظارت بر سرعت و جداسازی Speed and Separation Monitoring

  • twist_mux twist_mux

  • <PY>رله پیچشی</PY> <PY>Twist Relay</PY>

  • <C++>رله پیچشی</C++> <C++>Twist Relay</C++>

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

  • <LAB>از twist_mux</LAB> استفاده کنید <LAB>Use twist_mux</LAB>

  • <PY>ایستگاه ایمنی</PY> <PY>Safety Stop</PY>

  • <C++>ایستگاه ایمنی</C++> <C++>Safety Stop</C++>

  • <LAB>ایستگاه ایمنی</LAB> <LAB>Safety Stop</LAB>

  • اقدامات ROS 2 ROS 2 Actions

  • <PY>یک سرور اقدام ایجاد کنید</PY> <PY>Create an Action Server</PY>

  • <C++>یک سرور اقدام ایجاد کنید</C++> <C++>Create an Action Server</C++>

  • <LAB>یک سرور اقدام ایجاد کنید</LAB> <LAB>Create an Action Server</LAB>

  • <PY>یک Action Client ایجاد کنید</PY> <PY>Create an Action Client</PY>

  • <C++>یک Action Client ایجاد کنید</C++> <C++>Create an Action Client</C++>

  • <LAB>یک Action Client ایجاد کنید</LAB> <LAB>Create an Action Client</LAB>

  • <PY>نظارت بر سرعت و جداسازی</PY> <PY>Speed and Separation Monitoring</PY>

  • <C++>نظارت بر سرعت و جداسازی</C++> <C++>Speed and Separation Monitoring</C++>

  • <LAB>نظارت بر سرعت و جداسازی</LAB> <LAB>Speed and Separation Monitoring</LAB>

  • <PY>نمایش نشانگرها در RViz</PY> <PY>Display Markers in RViz</PY>

  • <C++>نمایش نشانگرها در RViz</C++> <C++>Display Markers in RViz</C++>

  • <LAB>نمایش نشانگرها در RViz</LAB> <LAB>Display Markers in RViz</LAB>

نمایش نقشه ها Map Representations

  • نمایش نقشه Map Representation

  • نقشه های توپولوژیکی Topological Maps

  • OccupancyGrid OccupancyGrid

  • Octomap و Voxel Grids Octomap and Voxel Grids

  • مقدمه ای بر Nav2 Introduction to Nav2

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

  • <PY>یک گره چرخه حیات ایجاد کنید</PY> <PY>Create a Lifecycle Node</PY>

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

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

  • Nav2 map_server Nav2 map_server

  • <LAB>Nav2 map_server</LAB> <LAB>Nav2 map_server</LAB>

  • کیفیت خدمات Quality of Service

  • <PY>Multi QoS Publisher</PY> <PY>Multi QoS Publisher</PY>

  • <C++>Multi QoS Publisher</C++> <C++>Multi QoS Publisher</C++>

  • <LAB>Multi QoS Publisher</LAB> <LAB>Multi QoS Publisher</LAB>

  • <LAB>Nav2 map_server CLI</LAB> <LAB>Nav2 map_server CLI</LAB>

  • Nav2 lifecycle_manager Nav2 lifecycle_manager

  • <LAB>nav2_lifecycle_manager</LAB> <LAB>nav2_lifecycle_manager</LAB>

نقشه برداری با پوزهای شناخته شده Mapping with known Poses

  • نقشه برداری با پوزهای شناخته شده Mapping with known Poses

  • نقشه‌برداری شبکه اشغال Occupancy Grid Mapping

  • <PY>ناشر شبکه اشغال</PY> <PY>Occupancy Grid Publisher</PY>

  • <C++>ناشر شبکه اشغال</C++> <C++>Occupancy Grid Publisher</C++>

  • <LAB>ناشر شبکه اشغال</LAB> <LAB>Occupancy Grid Publisher</LAB>

  • پیام لیزر اسکن را درک کنید Understand LaserScan Message

  • <PY>موانع را روی شبکه اشغال ترسیم کنید</PY> <PY>Draw Obstacles on Occupancy Grid</PY>

  • <C++>کشیدن موانع روی شبکه اشغال</C++> <C++>Draw Obstacles on Occupancy Grid</C++>

  • <LAB>موانع را روی شبکه اشغال ترسیم کنید</LAB> <LAB>Draw Obstacles on Occupancy Grid</LAB>

  • مدل لیزری Laser Model

  • <PY>مدل لیزر</PY> <PY>Laser Model</PY>

  • <C++>مدل لیزر</C++> <C++>Laser Model</C++>

  • <LAB>مدل لیزر</LAB> <LAB>Laser Model</LAB>

  • شبکه اشغال احتمالی Probabilistic Occupancy Grid

  • <PY>شبکه اشغال احتمالی</PY> <PY>Probabilistic Occupancy Grid</PY>

  • <C++>شبکه اشغال احتمالی</C++> <C++>Probabilistic Occupancy Grid</C++>

  • <LAB>شبکه اشغال احتمالی</LAB> <LAB>Probabilistic Occupancy Grid</LAB>

محلی سازی با نقشه شناخته شده Localization with known Map

  • محلی سازی با نقشه شناخته شده Localization with known Map

  • محلی سازی مبتنی بر نقشه Map-based Localization

  • بومی سازی فرضیه های تک و چندگانه Single and Multiple Hypothesis Localization

  • بومی سازی مارکوف Markov Localization

  • نمونه گیری تصادفی Randomized Sampling

  • بومی سازی مونت کارلو Monte Carlo Localization

  • Nav2 AMCL Nav2 AMCL

  • <LAB>Nav2 AMCL</LAB> <LAB>Nav2 AMCL</LAB>

  • <LAB>استفاده از Nav2 AMCL</LAB> <LAB>Using Nav2 AMCL</LAB>

SLAM - محلی سازی و نقشه برداری همزمان SLAM - Simultaneous Localization and Mapping

  • محلی سازی و نقشه برداری همزمان Simultaneous Localization and Mapping

  • چرا رویکرد نقشه برداری دیگر؟ Why another Mapping approach?

  • <LAB>چرا رویکرد نقشه برداری دیگر؟</LAB> <LAB>Why another Mapping approach?</LAB>

  • مشکل مرغ و تخم مرغ Chicken and egg problem

  • فیلتر ذرات SLAM Particle Filter SLAM

  • EKF SLAM EKF SLAM

  • نمودار SLAM Graph SLAM

  • Graph SLAM - Front-End و Back-End Graph SLAM - Front-End and Back-End

  • slam_toolbox slam_toolbox

  • <LAB>slam_toolbox</LAB> <LAB>slam_toolbox</LAB>

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

  • <LAB>همه عملکردها را شروع کنید</LAB> <LAB>Start all the Functionalities</LAB>

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

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

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

  • درایورهای ROS 2 ROS 2 Drivers

  • <HWLAB>درایور اسکنر لیزری ROS 2</HWLAB> <HWLAB>Laser Scanner ROS 2 Driver</HWLAB>

  • <HWLAB>قوانین udev لینوکس</HWLAB> <HWLAB>Linux udev rules</HWLAB>

  • <HWLAB>درایور Rplidar را پیکربندی کنید</HWLAB> <HWLAB>Configure Rplidar Driver</HWLAB>

  • <HWLAB>شناسه دامنه ROS</HWLAB> <HWLAB>ROS DOMAIN ID</HWLAB>

  • <LAB>روبات واقعی را راه اندازی کنید</LAB> <LAB>Launch the Real Robot</LAB>

نتیجه گیری Conclusions

  • خلاصه Recap

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

  • جایزه BONUS

نمایش نظرات

خودرانی و ROS 2 - با انجام دادن بیاموزید! نقشه و محلی سازی
جزییات دوره
24 hours
152
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
1,733
4.6 از 5
دارد
ندارد
ندارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Antonio Brandi Antonio Brandi

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