آموزش علوم کامپیوتر و رباتیک - یادگیری عملی! از لینوکس تا ROS 2 - آخرین آپدیت

دانلود Computer Science & Robotics - Learn by Doing! Linux to ROS 2

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: تسلط بر Linux، Docker، ROS 2 و Git — جعبه‌ابزار ضروری برای ساخت، شبیه‌سازی و پیاده‌سازی ربات‌های مدرن. لینوکس برای رباتیک تسلط بر ROS2، جدیدترین نسخه سیستم‌عامل رباتیک کار با سیستم فایل لینوکس و مدیریت دسترسی‌ها استفاده از دستورات لینوکس برای ویرایش متن، شبکه و اتوماسیون ساخت و اجرای اسکریپت‌ها برای خودکارسازی وظایف در لینوکس نصب و مدیریت کانتینرها و ایمیج‌های Docker ایجاد، اشتراک‌گذاری و بهینه‌سازی Dockerfileها و تنظیمات Compose یکپارچه‌سازی Docker با پشتیبانی از GPU و رجیستری‌های محلی تسلط بر مفاهیم پایه Git، گردش‌های کاری، Branching و Rebasing همکاری تیمی با استفاده از GitHub و خودکارسازی وظایف با Git Actions پیکربندی و استفاده از Visual Studio Code به همراه افزونه‌ها نصب و بررسی معماری ROS 2، تاپیک‌ها، سرویس‌ها و اکشن‌ها ایجاد و مدیریت Workspaceها و پکیج‌های ROS 2 شبیه‌سازی ربات‌ها با Gazebo و بصری‌سازی داده‌ها در RViz پیاده‌سازی و تست کد روی ربات واقعی با استفاده از ابزارهای ROS 2 پیش نیازها: هیچ دانش قبلی از ROS یا ROS 2 مورد نیاز نیست هیچ دانش قبلی از تئوری رباتیک مورد نیاز نیست سیستمی برای تمرین: دسترسی به کامپیوتر (ویندوز، مک یا لینوکس) برای اجرای شبیه‌سازی‌ها یا نصب لینوکس. ما تمام موارد لازم را با هم نصب می‌کنیم - شما فقط به چند گیگابایت فضای ذخیره‌سازی اضافی نیاز دارید هیچ دانش برنامه‌نویسی قبلی مورد نیاز نیست اتصال اینترنت پایدار

در یک سفر غوطه‌ور و عملی، از مبانی کامپیوتر تا پیشرفته‌ترین مباحث رباتیک پیش بروید. در این دوره، شما ابزارهای ضروری توسعه‌دهندگان (خط فرمان لینوکس، Git برای کنترل نسخه، کانتینرهای Docker و محیط VS Code) را فرا می‌گیرید و سپس آن‌ها را مستقیماً در رباتیک با ROS 2 به کار می‌برید.

ما از فلسفه یادگیری در حین انجام پیروی می‌کنیم – «یادگیری یک فرآیند فعال است. ما با انجام دادن یاد می‌گیریم و تنها دانشی در ذهن می‌ماند که مورد استفاده قرار گیرد.» بنابراین در هر مرحله پروژه‌های واقعی خواهید ساخت. به عنوان مثال، یک Workspace کامل ROS 2 را روی لینوکس در داخل یک کانتینر Docker (طبق بهترین روش‌های رباتیک) راه‌اندازی می‌کنید و از Visual Studio Code برای کدنویسی و دیباگ بدون نگرانی از تداخلات سیستم‌عامل استفاده خواهید کرد. گام به گام، نودهای ROS 2 را می‌نویسید و تاپیک‌ها و سرویس‌ها را کنترل می‌کنید، ابتدا در شبیه‌ساز و سپس روی یک ربات فیزیکی — تا حلقه بین تست مجازی و کاربرد واقعی تکمیل شود. به این ترتیب، مفاهیم تئوری بلافاصله به دموهای رباتیک تبدیل می‌شوند و تضمین می‌کنند که مهارت‌های جدید واقعاً در ذهن شما تثبیت شوند.


آنچه خواهید آموخت:

  • لینوکس و محیط توسعه: کار با ترمینال لینوکس، نصب پکیج‌ها و پیکربندی محیط توسعه در Ubuntu. شما از ترمینال برای تعامل با سیستم فایل، زمان‌بندی وظایف و خودکارسازی آن‌ها با اسکریپت‌های bash استفاده خواهید کرد، درست مانند مهندسان حرفه‌ای رباتیک.

  • گردش‌های کاری کانتینری: استفاده از Docker برای ایجاد محیط‌های توسعه ایزوله و تکرارپذیر. یاد می‌گیرید چگونه هزاران ایمیج موجود در Docker Hub را دریافت کرده و ایمیج‌های سفارشی خود را با Dockerfile بسازید.

  • تسلط بر Git، سیستم کنترل نسخه حرفه‌ای: استفاده از Git و Github برای ردیابی، ثبت (Commit) و مدیریت کدها مانند یک حرفه‌ای. توسعه نرم‌افزار بر پایه همکاری و جامعه است! شما یاد می‌گیرید چگونه با دیگران همکاری کنید، Branchها، Forkها و Pull Requestها ایجاد نمایید.

  • IDEهای توسعه رباتیک: محیط‌های توسعه یکپارچه مختلفی را بررسی خواهید کرد که به شما در توسعه قابلیت‌های جذاب برای رباتتان کمک کرده و روند کدنویسی شما را بهینه می‌کند.

  • مفاهیم اصلی ROS 2: یادگیری مبانی ROS 2 با نوشتن نودهای شخصی به زبان Python یا ++C، انتشار/اشتراک در تاپیک‌ها، فراخوانی سرویس‌ها و مدیریت اکشن‌ها. هر مفهوم با مثال‌های کاربردی و آزمایش روی ربات شبیه‌سازی شده، بر اساس رویکرد «یادگیری عملی» تقویت می‌شود.

  • شبیه‌سازی و Gazebo: ساخت مدل ربات و تست رفتار آن در شبیه‌ساز Gazebo. شما تکنیک‌های دوقلوی دیجیتال (Digital Twin) را تمرین می‌کنید و می‌بینید که چگونه تغییرات در کد شما فوراً روی ربات مجازی اثر می‌گذارد.

  • پیاده‌سازی روی ربات واقعی: انتقال کدهای شبیه‌سازی به سخت‌افزار. شما سنسورها و عملگرها را متصل کرده، نودهای ROS 2 را روی ربات واقعی اجرا می‌کنید و مشاهده خواهید کرد که نرم‌افزارتان در دنیای واقعی جان می‌گیرد. این کار چرخه یادگیری را از کد به تست شبیه‌سازی و سپس کنترل واقعی ربات تکمیل می‌کند.

در پایان این دوره، شما مجموعه‌ای از پروژه‌های دنیای واقعی خواهید داشت: از راه‌اندازی محیط‌های توسعه لینوکس با Docker تا اجرای ROS 2 روی ربات‌های فیزیکی. در این مسیر، بر Git به عنوان ابزاری برای همکاری و به عنوان یک «ماشین زمان» برای بازگشت به نسخه‌های قبلی کدتان مسلط خواهید شد.

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


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

مقدمه Introduction

  • علوم کامپیوتر و رباتیک Computer Science and Robotics

  • مرور کلی دوره Course Overview

  • آشنایی با مدرسین Meet your Teachers

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

  • نقش علوم کامپیوتر در رباتیک The role of Computer Science in Robotics

سیستم عامل لینوکس Linux Operating System

  • مقدمه‌ای بر لینوکس Introduction to Linux

  • یک توزیع خاص: اوبونتو A special distribution: Ubuntu

  • نصب اوبونتو Install Ubuntu

  • آزمایشگاه: نصب اوبونتو روی ماشین مجازی (ویندوز و مک) <LAB>Install Ubuntu on Virtual Machine (Windows and MacOS)</LAB>

  • آزمایشگاه: نصب اوبونتو روی WSL (ویندوز) <LAB>Install Ubuntu on WSL (Windows)</LAB>

  • آزمایشگاه: نصب اوبونتو به صورت Dual Boot <LAB>Install Ubuntu on Dual Boot</LAB>

  • آزمایشگاه: رابط کاربری اوبونتو <LAB>Ubuntu user Interface</LAB>

  • سیستم فایل لینوکس Linux Filesystem

  • آزمایشگاه: سیستم فایل لینوکس <LAB>Linux Filesystem</LAB>

  • مدیریت پکیج‌ها Package Management

  • مقدمه‌ای بر لینوکس Introduction to Linux

  • آزمایشگاه: مدیریت پکیج‌ها <LAB>Package Management</LAB>

  • کار با فایل‌های متنی Manipulating Text Files

  • آزمایشگاه: ویرایش یک فایل متنی <LAB>Edit a Text File</LAB>

  • دسترسی‌ها و کاربران Permissions and Users

  • آزمایشگاه: دسترسی‌ها و کاربران <LAB>Permissions and Users</LAB>

  • شبکه‌سازی Networking

  • آزمایشگاه: شبکه‌سازی <LAB>Networking</LAB>

  • اتصال از راه دور Remote Connection

  • آزمایشگاه: اتصال از راه دور <LAB>Remote Connection</LAB>

  • متغیرهای محیطی Environmental Variables

  • آزمایشگاه: متغیرهای محیطی <LAB>Environmental Variables</LAB>

  • اسکریپت‌نویسی و اتوماسیون Scripting and Automation

  • آزمایشگاه: اسکریپت‌نویسی و اتوماسیون <LAB>Scripting and Automation</LAB>

  • آزمایشگاه: مفاهیم پیشرفته Bash <LAB>Advanced Bash Concepts</LAB>

  • مفاهیم پیشرفته لینوکس Advanced Linux Concepts

  • فراتر از ترمینال لینوکس Beyond the Linux Terminal

  • آزمایشگاه: tmux و terminator <LAB>tmux and terminator</LAB>

داکر Docker

  • مقدمه‌ای بر داکر Introduction to Docker

  • معماری داکر Docker Architecture

  • آزمایشگاه: نصب داکر روی اوبونتو <LAB>Install Docker on Ubuntu</LAB>

  • داکر هاب Docker Hub

  • آزمایشگاه: دریافت ایمیج‌ها از داکر هاب <LAB>Get Images from Docker Hub</LAB>

  • شروع کار با کانتینرها Getting started with Containers

  • آزمایشگاه: شروع کار با کانتینرها <LAB>Getting Started with Containers</LAB>

  • ولوم‌ها و شبکه‌سازی Volumes and Networking

  • ساخت ایمیج‌های داکر Creating Docker Images

  • آزمایشگاه: ولوم‌ها و شبکه‌سازی <LAB>Volumes and Networking</LAB>

  • مقدمه‌ای بر داکر Introduction to Docker

  • آزمایشگاه: ساخت و اشتراک‌گذاری ایمیج‌های داکر <LAB>Create and share Docker Images</LAB>

  • آزمایشگاه: ساخت ایمیج با Dockerfile <LAB>Create Images with Dockerfile</LAB>

  • آزمایشگاه: ساخت ایمیج‌های پیشرفته <LAB>Create Advanced Images</LAB>

  • داکر کامپوز Docker Compose

  • آزمایشگاه: داکر کامپوز <LAB>Docker Compose</LAB>

  • آزمایشگاه: داکر کامپوز پیشرفته <LAB>Advanced Docker Compose</LAB>

  • رابط کاربری در داکر User Interface in Docker

  • آزمایشگاه: رابط کاربری در داکر <LAB>User Interface in Docker</LAB>

  • داکر با GPU انویدیا Docker with Nvidia GPU

  • آزمایشگاه: داکر با GPU انویدیا <LAB>Docker with Nvidia GPU</LAB>

  • رجیستری محلی Local Registry

  • آزمایشگاه: ایجاد یک رجیستری محلی <LAB>Create a Local Registry</LAB>

  • مفاهیم پیشرفته داکر Advanced Docker Concepts

ابزارهای توسعه Development Tools

  • مقدمه‌ای بر Git Introduction to Git

  • آزمایشگاه: بررسی گیت‌هاب <LAB>Exploring GitHub</LAB>

  • اصطلاحات Git Git Terminology

  • گردش کاری Git Git Workflow

  • آزمایشگاه: ایجاد اولین مخزن (Repository) <LAB>Create your first Repository</LAB>

  • آزمایشگاه: دستور git push پیشرفته <LAB>Advanced git push</LAB>

  • شاخه‌بندی در Git (Branching) Git Branching

  • آزمایشگاه: شاخه‌بندی در Git <LAB>Git Branching</LAB>

  • دستور Git Rebase Git Rebase

  • آزمایشگاه: Git Rebase <LAB>Git Rebase</LAB>

  • مقدمه‌ای بر Git Introduction to Git

  • مستندسازی مخزن Repository Documentation

  • آزمایشگاه: مستندسازی مخزن <LAB>Repository Documentation</LAB>

  • گیت اکشنز (Git Actions) Git Actions

  • آزمایشگاه: گیت اکشنز <LAB>Git Actions</LAB>

  • کار به صورت collaborative Work in Collaboration

  • آزمایشگاه: همکاری تیمی در پروژه <LAB>Work in Collaboration</LAB>

  • مقدمه‌ای بر ویرایشگرهای کد Introduction to Code Editors

  • آزمایشگاه: آشنایی با Visual Studio Code <LAB>Introduction to Visual Studio Code</LAB>

  • آزمایشگاه: شروع کار با افزونه‌ها <LAB>Getting started with Extensions</LAB>

  • آزمایشگاه: اتصال به میزبان‌های راه دور با VS Code <LAB>Connect to Remote hosts with VS Code</LAB>

  • آزمایشگاه: مدیریت کانتینرهای داکر با VS Code <LAB>Manage Docker containers with VS Code</LAB>

  • آزمایشگاه: اتصال گیت‌هاب به VS Code <LAB>Interface GitHub with VS Code</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 <LAB>Install ROS 2</LAB>

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

  • انتزاع سخت‌افزاری (Hardware Abstraction) Hardware Abstraction

  • کنترل سخت‌افزاری سطح پایین Low-Level Device Control

  • مدیریت پکیج‌ها Package Management

  • آزمایشگاه: رابط خط فرمان ros2 CLI <LAB>ros2 CLI</LAB>

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

  • تاپیک‌های ROS 2 ROS 2 Topics

  • آزمایشگاه: رابط خط فرمان ros2 topic <LAB>ros2 topic CLI</LAB>

  • سرویس‌های ROS 2 ROS 2 Services

  • آزمایشگاه: رابط خط فرمان ros2 service <LAB>ros2 service CLI</LAB>

  • اکشن‌های ROS 2 ROS 2 Actions

  • آزمایشگاه: رابط خط فرمان ros2 action <LAB>ros2 action CLI</LAB>

  • معماری یک اپلیکیشن ROS 2 Architecture of a ROS 2 Application

  • تاپیک‌ها، سرویس‌ها و اکشن‌ها Topics, Services and Actions

تمرینات عملی Hands-On

  • آزمایشگاه: ایجاد و فعال‌سازی Workspace <LAB>Create and Activate a Workspace</LAB>

  • شروع کار با ربات Getting Started with a Robot

  • آزمایشگاه: Rosdep <LAB>Rosdep</LAB>

  • فایل‌های Launch Launch Files

  • آزمایشگاه: فایل‌های Launch <LAB>Launch Files</LAB>

  • گزیبو (Gazebo) Gazebo

  • آزمایشگاه: Gazebo <LAB>Gazebo</LAB>

  • آر-ویز (RViz) RViz

  • آزمایشگاه: RViz <LAB>RViz</LAB>

  • اختیاری: نصب اوبونتو روی رزبری پای [OPTIONAL] Install Ubuntu on Raspberry Pi

  • اختیاری: نصب ROS 2 روی رزبری پای [OPTIONAL] Install ROS 2 on Raspberry Pi

  • اختیاری: اتصال راه دور با netplan و SSH [OPTIONAL] Remote Connection with netplan and SSH

  • اختیاری: قطعات مورد نیاز برای ساخت ربات [OPTIONAL] Material to Build your Robot

  • اختیاری: مونتاژ ربات - بخش اول [OPTIONAL] Assemble the Robot - Part 1

  • اختیاری: مونتاژ ربات - بخش دوم [OPTIONAL] Assemble the Robot - Part 2

  • اختیاری: مونتاژ ربات - بخش سوم [OPTIONAL] Assemble the Robot - Part 3

  • اختیاری: مونتاژ ربات - بخش چهارم [OPTIONAL] Assemble the Robot - Part 4

  • اختیاری: کار با ربات واقعی [OPTIONAL] Work with a Real Robot

  • کار با ربات‌ها Working with Robots

جمع‌بندی Conclusions

  • مرور کلی Recap

  • گام بعدی چیست؟ What's Next?

  • بونوس (هدیه) BONUS

نمایش نظرات

آموزش علوم کامپیوتر و رباتیک - یادگیری عملی! از لینوکس تا ROS 2
جزییات دوره
15.5 hours
112
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
526
4.8 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Antonio Brandi Antonio Brandi

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

Jonathan Cacace Jonathan Cacace

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