پروژهای شروع در یوتیوب

بله؛ و اینجا یک نکته مهم را اول روشن کنم: با اضافه کردن پردازش تصویر و هوش مصنوعی، پروژه از مسیر AGV خارج نمی‌شود؛ بلکه ما عمداً پروژه را از یک AGV ساده به یک AMR هوشمند ارتقا می‌دهیم.

در واقع از نظر آموزشی بهترین نام برای پروژه نهایی ما این است:

طراحی و شبیه‌سازی یک ربات متحرک خودران هوشمند برای انبار (AGV → AMR) با PyBullet، بینایی ماشین و هوش مصنوعی

یعنی AGV نقطه شروع ماست و AMR مقصد پروژه.

حالا فهرست ۹۵ جلسه را از اول بازطراحی می‌کنم؛ به‌گونه‌ای که PyBullet، رباتیک، پردازش تصویر، یادگیری ماشین، مسیریابی و هوش مصنوعی از همان اوایل به‌صورت موازی جلو بروند، ولی پروژه هم بیش از حد سنگین و بی‌منطق نشود.


🧭 فهرست کامل دوره

شبیه‌سازی و ساخت ربات خودران هوشمند با PyBullet

از صفر تا AGV/AMR، بینایی ماشین، هوش مصنوعی و Sim-to-Real


فصل ۱ — آشنایی با شبیه‌سازی رباتیک و نصب PyBullet

جلسه ۱ — شبیه‌سازی رباتیک چیست و چرا به آن نیاز داریم؟

  • مفهوم شبیه‌سازی
  • موتور فیزیک چیست؟
  • شبیه‌سازی ربات چیست؟
  • تفاوت دنیای واقعی و شبیه‌سازی
  • Sim-to-Real چیست؟
  • چرا قبل از ساخت ربات واقعی شبیه‌سازی می‌کنیم؟
  • معرفی پروژه نهایی دوره
  • معرفی AGV و AMR
  • مسیر کلی دوره

خروجی: درک کامل اینکه قرار است در پایان دوره چه چیزی بسازیم.


جلسه ۲ — معرفی PyBullet

  • PyBullet چیست؟
  • قابلیت‌های PyBullet
  • کاربرد آن در رباتیک
  • فیزیک و دینامیک
  • شبیه‌سازی سنسورها
  • شبیه‌سازی ربات
  • ارتباط PyBullet با Python
  • محدودیت‌های PyBullet

جلسه ۳ — نصب PyBullet در Windows

  • بررسی Python
  • نصب با pip
  • نصب با Conda
  • ساخت محیط مجازی
  • نصب PyBullet
  • تست نصب
  • اجرای اولین برنامه

جلسه ۴ — نصب PyBullet در Linux

  • آماده‌سازی Python
  • ساخت محیط مجازی
  • نصب PyBullet
  • اجرای GUI
  • مشکلات احتمالی
  • تفاوت Windows و Linux

جلسه ۵ — ساختار حرفه‌ای پروژه Python

ساخت ساختار اولیه:

AGV_Project/
├── main.py
├── robot/
├── world/
├── sensors/
├── vision/
├── navigation/
├── control/
├── mapping/
├── ai/
├── data/
└── utils/
  • مدیریت فایل‌ها
  • Module
  • Package
  • Import
  • Virtual Environment
  • Git مقدماتی

فصل ۲ — مبانی PyBullet و فیزیک شبیه‌سازی

جلسه ۶ — اتصال Python به PyBullet

  • p.connect
  • GUI
  • DIRECT
  • reset
  • disconnect

جلسه ۷ — ساخت دنیای شبیه‌سازی

  • زمین
  • Gravity
  • World
  • Object
  • Simulation

جلسه ۸ — حلقه شبیه‌سازی

  • stepSimulation
  • Time Step
  • Real Time
  • سرعت شبیه‌سازی
  • مفهوم Simulation Loop

جلسه ۹ — مختصات و جهت

  • X/Y/Z
  • Position
  • Orientation
  • Euler
  • Quaternion
  • Coordinate System

جلسه ۱۰ — فیزیک اجسام

  • Mass
  • Friction
  • Restitution
  • Collision
  • Dynamics

جلسه ۱۱ — اولین محیط آزمایشی

ساخت:

  • زمین
  • دیوار
  • مانع
  • چند جسم

و آزمایش رفتار فیزیکی آنها.


فصل ۳ — ساختار ربات و URDF

جلسه ۱۲ — URDF چیست؟

  • Link
  • Joint
  • Base
  • Visual
  • Collision
  • Inertial

جلسه ۱۳ — ساخت اولین ربات با URDF

ساخت یک ربات ساده.

جلسه ۱۴ — مفاصل ربات

  • Fixed
  • Revolute
  • Continuous
  • Joint Limit

جلسه ۱۵ — خواندن اطلاعات ربات

  • getNumJoints
  • getJointInfo
  • شماره مفاصل
  • نام مفاصل

جلسه ۱۶ — کنترل مفاصل

  • Position Control
  • Velocity Control
  • Torque Control
  • setJointMotorControl2

جلسه ۱۷ — دریافت وضعیت مفاصل

  • getJointState
  • Position
  • Velocity
  • Force

جلسه ۱۸ — اولین ربات متحرک

ساخت یک ربات دارای چرخ و حرکت دادن آن.


فصل ۴ — ورود به پروژه AGV

جلسه ۱۹ — AGV و AMR چیستند؟

  • AGV چیست؟
  • AMR چیست؟
  • تفاوت آنها
  • کاربردهای صنعتی
  • چرا پروژه را با AGV شروع می‌کنیم؟

جلسه ۲۰ — Differential Drive

  • ربات دوچرخ محرک چیست؟
  • چرخ محرک
  • چرخ کمکی
  • نحوه چرخش

جلسه ۲۱ — طراحی بدنه AGV

  • بدنه
  • چرخ‌ها
  • Caster
  • ابعاد
  • جرم
  • Collision

جلسه ۲۲ — ساخت URDF کامل AGV

ساخت مدل واقعی AGV.

جلسه ۲۳ — تنظیم فیزیک AGV

  • جرم
  • اصطکاک
  • اصطکاک چرخ
  • لغزش
  • Inertia

جلسه ۲۴ — اولین حرکت AGV

  • حرکت جلو
  • عقب
  • توقف
  • چرخش

خروجی فصل:

🤖 اولین AGV واقعی ما در PyBullet ساخته شده و حرکت می‌کند.


فصل ۵ — کنترل و سینماتیک AGV

جلسه ۲۵ — سینماتیک چیست؟

  • مفهوم Kinematics
  • موقعیت
  • سرعت
  • جهت

جلسه ۲۶ — سینماتیک Differential Drive

رابطه:

سرعت ربات
      ↓
سرعت چرخ چپ و راست

جلسه ۲۷ — کنترل سرعت

  • Linear Velocity
  • Angular Velocity
  • کنترل چرخ‌ها

جلسه ۲۸ — حرکت به نقطه هدف

دادن مختصات:

X = ...
Y = ...

و حرکت AGV به سمت آن.

جلسه ۲۹ — کنترل جهت

AGV باید ابتدا جهت مناسب را انتخاب کند و سپس حرکت کند.

جلسه ۳۰ — کنترلر ساده AGV

ساخت کنترلری که:

هدف را بگیرد → زاویه را محاسبه کند → حرکت کند.


فصل ۶ — Odometry و Localization مقدماتی

جلسه ۳۱ — Odometry چیست؟

چطور ربات از روی چرخ‌هایش بفهمد چقدر حرکت کرده است؟

جلسه ۳۲ — محاسبه مسافت چرخ‌ها

جلسه ۳۳ — محاسبه موقعیت AGV

  • X
  • Y
  • Heading

جلسه ۳۴ — Dead Reckoning

حرکت بدون استفاده از GPS یا نقشه خارجی.

جلسه ۳۵ — خطای Odometry

  • لغزش
  • خطای اندازه‌گیری
  • خطای تجمعی

جلسه ۳۶ — مقایسه موقعیت واقعی و تخمینی

در شبیه‌سازی:

Ground Truth
       VS
Estimated Pose

جلسه ۳۷ — مفهوم Localization

معرفی روش‌های تعیین موقعیت ربات.


فصل ۷ — ورود به بینایی ماشین

اینجا پردازش تصویر را عمداً وارد پروژه می‌کنیم تا از همان نیمه اول دوره فقط رباتیک خشک نداشته باشیم.

جلسه ۳۸ — Computer Vision چیست؟

  • تصویر دیجیتال
  • Pixel
  • RGB
  • Grayscale
  • Image Processing
  • Computer Vision

جلسه ۳۹ — نصب و معرفی OpenCV

  • نصب OpenCV
  • خواندن تصویر
  • نمایش تصویر
  • ذخیره تصویر

جلسه ۴۰ — اولین دوربین شبیه‌سازی‌شده در PyBullet

  • Camera
  • Position
  • Orientation
  • Field of View
  • گرفتن تصویر

جلسه ۴۱ — پردازش تصویر دوربین AGV

  • RGB
  • تبدیل رنگ
  • Grayscale
  • Threshold

جلسه ۴۲ — تشخیص رنگ

مثلاً:

AGV جسم قرمز را پیدا کند.

جلسه ۴۳ — تشخیص موقعیت جسم در تصویر

  • Bounding Box
  • مرکز جسم
  • مختصات تصویر

جلسه ۴۴ — تبدیل اطلاعات تصویر به اطلاعات ربات

مثلاً:

Camera
 ↓
Object Detection
 ↓
Object Position
 ↓
AGV Decision

خروجی فصل:

📷 AGV اکنون می‌تواند با دوربین خود یک شیء را ببیند و موقعیت تقریبی آن را تشخیص دهد.


فصل ۸ — سنسورها و ادراک محیط

جلسه ۴۵ — مفهوم Sensor در رباتیک

  • Sensor
  • Measurement
  • Noise
  • Ground Truth

جلسه ۴۶ — LiDAR چیست؟

  • Laser
  • Ray
  • Range
  • Field of View

جلسه ۴۷ — ساخت LiDAR در PyBullet

  • Ray Casting
  • Ray Test
  • Ray Test Batch

جلسه ۴۸ — پردازش داده LiDAR

تبدیل داده خام به:

فاصله موانع اطراف ربات.

جلسه ۴۹ — تشخیص مانع

AGV بفهمد:

«جلوی من مانع وجود دارد.»

جلسه ۵۰ — دوربین Depth

  • Depth Image
  • فاصله تا اجسام
  • تفاوت RGB و Depth

جلسه ۵۱ — IMU

  • Accelerometer
  • Gyroscope
  • Orientation
  • Noise

جلسه ۵۲ — ترکیب Camera + LiDAR

بررسی اینکه:

هر سنسور چه چیزی را می‌بیند و چه محدودیتی دارد.


فصل ۹ — ساخت نقشه محیط

جلسه ۵۳ — نقشه برای ربات چیست؟

  • Map
  • World
  • Occupancy Grid
  • Cell
  • Resolution

جلسه ۵۴ — ساخت Occupancy Grid

مثلاً:

0 = آزاد
1 = مانع

جلسه ۵۵ — تبدیل LiDAR به نقشه

LiDAR
 ↓
Obstacle Points
 ↓
Occupancy Grid

جلسه ۵۶ — به‌روزرسانی نقشه هنگام حرکت

AGV حرکت کند و نقشه را کامل‌تر کند.

جلسه ۵۷ — خطا و نویز نقشه

  • Sensor Noise
  • خطای اندازه‌گیری
  • داده ناقص

جلسه ۵۸ — ساخت یک محیط انبار ساده

اضافه کردن:

  • قفسه
  • دیوار
  • راهرو
  • کالا
  • ایستگاه

فصل ۱۰ — مسیر‌یابی و Navigation

جلسه ۵۹ — مسئله Path Planning

چطور از:

A → B

حرکت کنیم بدون برخورد؟

جلسه ۶۰ — الگوریتم Dijkstra

جلسه ۶۱ — الگوریتم A*

جلسه ۶۲ — پیاده‌سازی A* در Python

جلسه ۶۳ — اجرای A* روی نقشه AGV

جلسه ۶۴ — تبدیل مسیر Grid به مسیر واقعی

جلسه ۶۵ — Waypoint

تبدیل مسیر به نقاط قابل دنبال کردن.

جلسه ۶۶ — Path Following

AGV مسیر را دنبال کند.


فصل ۱۱ — تبدیل AGV به ربات خودران / AMR

اینجا نقطه بسیار مهم پروژه است.

جلسه ۶۷ — مفهوم Autonomous Navigation

ربات:

خودش تصمیم بگیرد کجا برود.

جلسه ۶۸ — ترکیب Localization + Mapping + Planning

جلسه ۶۹ — حرکت خودکار از A به B

جلسه ۷۰ — تشخیص مانع هنگام حرکت

جلسه ۷۱ — اجتناب از مانع

جلسه ۷۲ — Local Planning

معرفی مفهوم برنامه‌ریزی محلی.

جلسه ۷۳ — Dynamic Window Approach

  • DWA چیست؟
  • چرا به آن نیاز داریم؟
  • سرعت‌های مجاز
  • انتخاب حرکت مناسب

جلسه ۷۴ — سیستم کامل Navigation

ترکیب:

Sensor
 ↓
Localization
 ↓
Map
 ↓
A*
 ↓
Local Planner
 ↓
Controller
 ↓
AGV

جلسه ۷۵ — Click-to-Navigate

روی نقشه کلیک کنیم:

ربات خودش به آنجا برود.

🎯 اینجا AGV اولیه ما عملاً به یک AMR شبیه‌سازی‌شده تبدیل شده است.


فصل ۱۲ — Machine Learning و تشخیص هوشمند

حالا که Computer Vision پایه را داریم، وارد یادگیری ماشین می‌شویم.

جلسه ۷۶ — Machine Learning چیست؟

  • Traditional Programming
  • Machine Learning
  • Training
  • Inference
  • Model

جلسه ۷۷ — Dataset چیست؟

  • داده آموزشی
  • Label
  • Training
  • Validation
  • Test

جلسه ۷۸ — تولید داده آموزشی از PyBullet

این قسمت بسیار مهم است.

خودمان محیط‌های مختلف تولید می‌کنیم:

Object
Color
Size
Position
Lighting
Camera Angle

و از آنها داده می‌گیریم.

جلسه ۷۹ — اولین مدل یادگیری ماشین

یک مسئله ساده:

تشخیص نوع یا وضعیت یک شیء.

جلسه ۸۰ — اتصال مدل Machine Learning به AGV

Camera
 ↓
ML Model
 ↓
Object Detection
 ↓
Decision
 ↓
AGV

جلسه ۸۱ — تشخیص اشیای مختلف

مثلاً:

📦 کالا
🚧 مانع
🔴 علامت

جلسه ۸۲ — مقایسه روش سنتی و Machine Learning

مثلاً:

Color Threshold

در مقابل:

ML Model

و بررسی مزایا و معایب.


فصل ۱۳ — هوش مصنوعی و Reinforcement Learning

اینجا وارد بخش پیشرفته‌تر AI می‌شویم.

جلسه ۸۳ — Reinforcement Learning چیست؟

  • Agent
  • Environment
  • State
  • Action
  • Reward

جلسه ۸۴ — تعریف مسئله برای AGV

مثلاً:

ربات باید به مقصد برسد و با مانع برخورد نکند.

جلسه ۸۵ — طراحی Reward

پاداش برای:

  • نزدیک شدن به هدف
  • رسیدن به هدف
  • برخورد
  • طولانی شدن مسیر

جلسه ۸۶ — محیط آموزشی AGV

ساخت Environment مناسب برای آموزش.

جلسه ۸۷ — PPO

  • PPO چیست؟
  • چرا PPO؟
  • مفهوم Policy

جلسه ۸۸ — آموزش عامل با Stable-Baselines3

جلسه ۸۹ — آزمایش عامل آموزش‌دیده

AGV را با مدل آموزش‌دیده کنترل می‌کنیم.

جلسه ۹۰ — مقایسه Navigation کلاسیک و AI

مثلاً:

A*
VS
Reinforcement Learning

بررسی می‌کنیم کدام روش در چه مسئله‌ای بهتر است.

نکته: اینجا هدف ما این نیست که «هر چیزی را با AI حل کنیم». هدف این است که بفهمیم کجا روش کلاسیک بهتر است و کجا AI ارزش اضافه ایجاد می‌کند.


فصل ۱۴ — Smart Warehouse و چند AGV

جلسه ۹۱ — ساخت انبار هوشمند

  • قفسه‌ها
  • کالاها
  • ایستگاه‌ها
  • مسیرها
  • Charging Station

جلسه ۹۲ — تعریف مأموریت

مثلاً:

Pick: Shelf A3
Drop: Station B

جلسه ۹۳ — چند ربات

ساخت چند AGV/AMR در محیط.

جلسه ۹۴ — تقسیم مأموریت

کدام ربات کدام کار را انجام دهد؟

جلسه ۹۵ — جلوگیری از برخورد و مدیریت ترافیک

  • Collision Avoidance
  • Traffic Management
  • Priority

⏸️ یک نکته مهم درباره ۹۵ جلسه

اینجا به عدد ۹۵ رسیدیم، اما من عمداً پروژه را در این نقطه تمام نمی‌کنم.

چون فصل‌های اصلی که قبلاً داشتیم هنوز برای Portfolio حرفه‌ای لازم‌اند.

بنابراین برای نسخه‌ای که واقعاً قرار است در فرادرس منتشر شود، بهتر است فهرست را به دو بخش تبدیل کنیم:

بخش اول — دوره اصلی

جلسات ۱ تا ۹۵

که در آن به یک سیستم AGV/AMR هوشمند چندرباته می‌رسیم.

بخش دوم — دوره پیشرفته / پروژه نهایی Portfolio

که شامل:

  • Digital Twin
  • Optimization
  • Sim-to-Real
  • Domain Randomization
  • تست سخت‌افزار واقعی
  • مستندسازی
  • GitHub
  • Portfolio
  • Demo Video

است.

این کار از نظر آموزشی هم بهتر است؛ چون اگر بخواهیم همه اینها را در همان ۹۵ جلسه جا بدهیم، دوره تبدیل به یک دوره بیش از حد سنگین و پراکنده می‌شود.


🔥 بخش دوم — مسیر پیشرفته و پروژه نهایی

فصل ۱۵ — Digital Twin و Optimization

جلسه ۹۶ — Digital Twin چیست؟

جلسه ۹۷ — ثبت داده‌های عملکرد AGV

  • زمان مأموریت
  • مسافت
  • سرعت
  • انرژی
  • برخورد
  • زمان انتظار

جلسه ۹۸ — تحلیل عملکرد انبار

جلسه ۹۹ — پیدا کردن Bottleneck

جلسه ۱۰۰ — آزمایش سناریوهای مختلف

مثلاً:

5 ربات
10 ربات
15 ربات

جلسه ۱۰۱ — بهینه‌سازی تعداد ربات‌ها

جلسه ۱۰۲ — بهینه‌سازی مسیر و مأموریت


فصل ۱۶ — Sim-to-Real

جلسه ۱۰۳ — چرا Simulation با Reality فرق دارد؟

جلسه ۱۰۴ — مشکلات انتقال

  • Friction
  • Sensor Noise
  • Motor Dynamics
  • Latency
  • Mass
  • Calibration

جلسه ۱۰۵ — Domain Randomization

جلسه ۱۰۶ — ساخت مدل واقع‌گرایانه‌تر

جلسه ۱۰۷ — طراحی AGV کوچک واقعی

جلسه ۱۰۸ — انتقال کنترل به ربات واقعی

جلسه ۱۰۹ — مقایسه Simulation و Reality

جلسه ۱۱۰ — اندازه‌گیری Sim-to-Real Gap


فصل ۱۷ — پروژه نهایی و Portfolio

جلسه ۱۱۱ — طراحی معماری نهایی

جلسه ۱۱۲ — یکپارچه‌سازی تمام سیستم‌ها

Camera
LiDAR
 ↓
Perception
 ↓
Localization
 ↓
Mapping
 ↓
Planning
 ↓
AI
 ↓
Control
 ↓
AMR

جلسه ۱۱۳ — تست کامل

جلسه ۱۱۴ — تست سناریوهای مختلف

جلسه ۱۱۵ — اندازه‌گیری عملکرد

جلسه ۱۱۶ — تهیه نمودارها و نتایج

جلسه ۱۱۷ — تمیز کردن کد

جلسه ۱۱۸ — ساخت README حرفه‌ای

جلسه ۱۱۹ — انتشار در GitHub

جلسه ۱۲۰ — تهیه Demo Video

جلسه ۱۲۱ — نوشتن گزارش فنی

جلسه ۱۲۲ — ساخت Portfolio

جلسه ۱۲۳ — تبدیل پروژه به محتوای آموزشی

جلسه ۱۲۴ — آماده‌سازی برای ارائه به شرکت‌ها


🎯 حالا پاسخ سؤال دوم تو

آیا با اضافه شدن AI و پردازش تصویر، AGV از حالت خودش خارج می‌شود؟

بله و خیر؛ بستگی دارد چه کاری با آن انجام دهیم.

اسم AGV به‌طور سنتی بیشتر برای وسیله‌ای استفاده می‌شود که حرکتش تا حد زیادی هدایت‌شده و از پیش تعریف‌شده است.

اما وقتی ربات ما:

  • محیط را با سنسور می‌بیند؛
  • خودش موقعیتش را تخمین می‌زند؛
  • نقشه می‌سازد؛
  • خودش مسیر پیدا می‌کند؛
  • مانع را تشخیص می‌دهد؛
  • مسیرش را در لحظه تغییر می‌دهد؛
  • مأموریت دریافت می‌کند؛
  • با چند ربات همکاری می‌کند؛
  • و حتی از AI برای تصمیم‌گیری استفاده می‌کند؛

دیگر از نظر ماهیت عملکردی به یک AMR نزدیک شده‌ایم.


بنابراین پروژه ما از ابتدا تا انتها این‌طور تکامل پیدا می‌کند:

مرحله ۱
AGV ساده
│
│  فقط حرکت و کنترل
↓
مرحله ۲
AGV مجهز به سنسور
│
│  LiDAR + Camera
↓
مرحله ۳
AGV هوشمند
│
│  Mapping + Localization
↓
مرحله ۴
AGV خودران
│
│  A* + Path Planning
↓
مرحله ۵
AMR
│
│  Obstacle Avoidance
│  Local Planning
↓
مرحله ۶
AMR هوشمند
│
│  Computer Vision
│  Machine Learning
↓
مرحله ۷
سیستم چند AMR
│
│  Fleet Management
↓
مرحله ۸
Smart Warehouse
│
│  Digital Twin
│  Optimization
↓
مرحله ۹
Sim-to-Real
│
↓
🤖 ربات واقعی

بنابراین اتفاقاً این تغییر به نفع ماست.

ما از روز اول نمی‌گوییم:

«بیایید یک AMR خیلی پیچیده بسازیم.»

چون احتمالاً وسط راه گیر می‌کنیم.

می‌گوییم:

«یک AGV ساده می‌سازیم و قدم‌به‌قدم قابلیت‌های خودران و هوشمند به آن اضافه می‌کنیم تا در نهایت به یک AMR تبدیل شود.»

این از نظر آموزشی خیلی منطقی‌تر است، چون هر چیزی که اضافه می‌کنیم یک دلیل مشخص دارد.


و یک اصلاح مهم در برنامه قبلی‌مان

من پیشنهاد می‌کنم Computer Vision را از جلسه ۳۸ و Machine Learning را از جلسه ۷۶ شروع کنیم، ولی تمرین‌های کوچک AI را حتی زودتر هم می‌توانیم انجام دهیم.

یعنی لازم نیست چند ماه منتظر بمانی تا «به AI برسیم».

از همان زمانی که دوربین را ساختیم، یک پروژه کوچک داریم:

دوربین مجازی → تصویر → OpenCV → تشخیص شیء → تصمیم AGV

و بعد همان سیستم را ارتقا می‌دهیم:

دوربین → داده → Machine Learning → تشخیص → تصمیم AGV

این دقیقاً همان چیزی است که به نظرم برای تو جذاب‌تر و از نظر رزومه هم قوی‌تر است.

پس نقشه نهایی ما دیگر صرفاً «دوره PyBullet» نیست؛ یک مسیر از شبیه‌سازی رباتیک به سمت Physical AI است، با AGV به‌عنوان هسته پروژه و AMR هوشمند به‌عنوان خروجی نهایی.




***************************************************************

پایتون و پردازش تصویر



بله. الان دقیقاً به نقطه‌ای رسیدیم که باید معماری نهایی این دو دوره را تثبیت کنیم؛ چون اگر از ابتدا مرز آنها را درست تعیین کنیم، بعداً Arduino، PyBullet/AGV، AI و حتی Digital Twin را می‌توانیم بدون تکرار روی همین پایه‌ها سوار کنیم.

من این دو دوره را با یک اصل طراحی می‌کنم:

هر چیزی که آموزش می‌دهیم باید یا برای ساخت یک سیستم رباتیک لازم باشد، یا مستقیماً در یکی از پروژه‌های بعدی Bimetral استفاده شود.

پس نه Python عمومیِ بی‌انتها داریم، نه Computer Vision دانشگاهی و تئوریکِ بدون کاربرد.


معماری کلی دو دوره

                  Bimetral Robotics
                         │
            ┌────────────┴────────────┐
            │                         │
         Python                 Computer Vision
            │                         │
     Programming Core          Vision Fundamentals
            │                         │
      NumPy / Math             NumPy + OpenCV
            │                         │
      Data / OOP                Image Processing
            │                         │
      Serial / Control          Detection / Tracking
            │                         │
            └────────────┬────────────┘
                         │
                    PyBullet
                         │
                       AGV
                         │
             Navigation / Perception
                         │
                    AI / ML / RL
                         │
                   Digital Twin
                         │
                    Sim-to-Real
                         │
                    Real Robot

دوره اول

🐍 Python for Engineering & Robotics

هدف دوره

دانشجو از:

«من Python بلد نیستم»

برسد به:

«می‌توانم با Python یک نرم‌افزار مهندسی/رباتیکی Modular بنویسم، داده سنسور را پردازش کنم، محاسبات ربات را انجام دهم، با Arduino ارتباط برقرار کنم، OpenCV و PyBullet را کنترل کنم و منطق یک ربات را پیاده‌سازی کنم.»

تعداد پیشنهادی:

حدود ۷۰ جلسه

نه ۱۰۰ جلسه‌ی کش‌دار؛ هر جلسه یک خروجی مشخص دارد.


فصل ۱ — Python و دنیای Robotics

جلسه ۱ — Python در رباتیک چیست؟

  • Python چیست؟
  • Interpreter
  • Script
  • Python در Robotics
  • Python در Simulation
  • Python در AI
  • Python در Computer Vision
  • Python در کنترل ربات
  • محدودیت‌های Python

پروژه: معرفی معماری نرم‌افزار یک AGV.


جلسه ۲ — نصب Python و محیط توسعه

  • Python
  • PATH
  • Terminal
  • VS Code / PyCharm
  • Interpreter
  • اجرای Script

جلسه ۳ — Virtual Environment

  • چرا Environment؟
  • venv
  • فعال‌سازی
  • نصب Package
  • مدیریت Dependency

جلسه ۴ — اولین برنامه Python

  • Syntax
  • Statement
  • Comment
  • Error
  • Debugging مقدماتی

پروژه: ساخت برنامه وضعیت ربات.


فصل ۲ — Python Fundamentals

جلسه ۵ — Variables

robot_speed = 1.5
battery = 85

جلسه ۶ — Data Types

  • int
  • float
  • str
  • bool
  • None

جلسه ۷ — Type Conversion

  • int
  • float
  • str
  • bool

جلسه ۸ — Operators

  • Arithmetic
  • Comparison
  • Logical
  • Assignment

جلسه ۹ — Input / Output

دریافت:

سرعت مطلوب ربات

و نمایش وضعیت.


جلسه ۱۰ — Conditions

if
elif
else

مثال:

Distance < 0.5m
       ↓
     STOP

جلسه ۱۱ — Loops

  • for
  • while
  • range

جلسه ۱۲ — کنترل با Loop

ساخت:

Sensor
 ↓
Check
 ↓
Decision
 ↓
Action

جلسه ۱۳ — List

داده‌های چند سنسور:

distances = [1.2, 0.8, 2.4, 0.5]

جلسه ۱۴ — Tuple / Set

کاربرد واقعی آنها در برنامه‌های مهندسی.


جلسه ۱۵ — Dictionary

robot = {
    "x": 2.4,
    "y": 1.5,
    "speed": 0.8
}

جلسه ۱۶ — Data Structures در Robotics

انتخاب ساختار مناسب برای:

  • Sensor Data
  • Robot State
  • Configuration
  • Waypoints

خروجی فصل:

دانشجو می‌تواند برنامه‌های پایه Python را بنویسد و داده‌های یک ربات را مدل کند.


فصل ۳ — Functions و برنامه‌نویسی مهندسی

جلسه ۱۷ — Function


جلسه ۱۸ — Parameters و Arguments


جلسه ۱۹ — Return


جلسه ۲۰ — Function Design

توابع:

calculate_distance()
calculate_angle()
calculate_speed()

جلسه ۲۱ — Scope

  • Local
  • Global

جلسه ۲۲ — Built-in Functions

توابعی که واقعاً در پروژه‌های رباتیک استفاده می‌شوند.


جلسه ۲۳ — Lambda / map / filter

فقط در حد کاربرد واقعی.


جلسه ۲۴ — Exception Handling

try
except

مثلاً:

سنسور داده نامعتبر فرستاد.


جلسه ۲۵ — Debugging

  • Traceback
  • Breakpoint
  • Watch
  • Step
  • Debugging Strategy

فصل ۴ — File و Data

جلسه ۲۶ — فایل‌های Text


جلسه ۲۷ — CSV

ذخیره:

Time
Distance
Speed

جلسه ۲۸ — JSON

برای Configuration ربات.


جلسه ۲۹ — pathlib

مدیریت حرفه‌ای مسیرها.


جلسه ۳۰ — Logging

ثبت اتفاقات سیستم:

[10:32] Robot Started
[10:33] Obstacle Detected
[10:33] Robot Stopped

جلسه ۳۱ — ذخیره داده سنسور

پروژه:

ساخت Data Logger برای ربات.


فصل ۵ — Modules و معماری نرم‌افزار

اینجا دوره از «برنامه‌نویسی» وارد Software Engineering for Robotics می‌شود.

جلسه ۳۲ — Module چیست؟


جلسه ۳۳ — Import


جلسه ۳۴ — Package


جلسه ۳۵ — ساختار پروژه حرفه‌ای

AGV_Project/
├── main.py
├── robot/
├── sensors/
├── control/
├── navigation/
├── vision/
├── data/
└── utils/

جلسه ۳۶ — Separation of Concerns

چرا:

Sensor
Controller
Navigation
Vision

نباید همه در یک فایل باشند؟


جلسه ۳۷ — Configuration Management

پارامترهای ربات:

wheel_radius
wheel_base
max_speed
sensor_range

فصل ۶ — OOP برای Robotics

جلسه ۳۸ — Class و Object


جلسه ۳۹ — Constructor


جلسه ۴۰ — Attribute و Method


جلسه ۴۱ — ساخت کلاس Robot

class Robot:

جلسه ۴۲ — کلاس Sensor


جلسه ۴۳ — کلاس Motor


جلسه ۴۴ — Encapsulation


جلسه ۴۵ — Inheritance

Robot
 ├── AGV
 └── AMR

جلسه ۴۶ — Composition

AGV
 ├── Motor
 ├── Camera
 ├── LiDAR
 └── Controller

جلسه ۴۷ — طراحی معماری Robot Software

ساخت یک سیستم Modular واقعی.

خروجی فصل:

دانشجو می‌تواند نرم‌افزار ربات را به اجزای قابل توسعه تقسیم کند.


فصل ۷ — NumPy برای Robotics

این یکی از مهم‌ترین فصل‌های دوره است.

جلسه ۴۸ — NumPy چیست؟


جلسه ۴۹ — Array


جلسه ۵۰ — Indexing / Slicing


جلسه ۵۱ — Vector


جلسه ۵۲ — Matrix


جلسه ۵۳ — عملیات Matrix


جلسه ۵۴ — Broadcasting


جلسه ۵۵ — Vector / Matrix در رباتیک

Position
Velocity
Acceleration

جلسه ۵۶ — Coordinate System

World Frame
Robot Frame
Sensor Frame

جلسه ۵۷ — Rotation

مفهوم Rotation Matrix.


جلسه ۵۸ — Transformation

تبدیل:

Sensor Frame
      ↓
Robot Frame
      ↓
World Frame

جلسه ۵۹ — پیاده‌سازی محاسبات Differential Drive

استفاده از NumPy برای محاسبه سرعت و وضعیت AGV.


فصل ۸ — Visualization و داده‌های ربات

جلسه ۶۰ — Matplotlib


جلسه ۶۱ — Sensor Plot


جلسه ۶۲ — Robot Trajectory

نمایش:

X-Y

جلسه ۶۳ — نمایش Path


جلسه ۶۴ — نمایش Sensor Data به صورت Real-Time


جلسه ۶۵ — تحلیل خطای ربات

مثلاً:

Ground Truth
VS
Estimated Position

فصل ۹ — ارتباط Python با Hardware

جلسه ۶۶ — Serial Communication

  • UART
  • COM
  • Baud Rate
  • TX/RX

جلسه ۶۷ — PySerial


جلسه ۶۸ — Arduino → Python

دریافت Sensor Data.


جلسه ۶۹ — Python → Arduino

ارسال Command.


جلسه ۷۰ — پروژه نهایی Python

ساخت:

Python Robot Controller

Sensor
   ↓
Python
   ↓
Processing
   ↓
Decision
   ↓
Arduino
   ↓
Actuator

نتیجه دوره Python

دانشجو در اینجا هنوز Computer Vision متخصص، AI متخصص یا PyBullet متخصص نیست.

و این کاملاً عمدی است.

او اکنون ابزار Python لازم برای ورود به این حوزه‌ها را دارد.


دوره دوم

👁 Computer Vision for Robotics

اینجا دیگر می‌خواهیم واقعاً Computer Vision را یاد بگیریم؛ نه اینکه فقط ۵ جلسه OpenCV داشته باشیم.

هدف:

دانشجو از:

«تصویر چیست؟»

برسد به:

«می‌توانم داده تصویری دوربین را پردازش کنم، ویژگی‌های اشیا را استخراج کنم، آنها را تشخیص و دنبال کنم و خروجی Vision را به یک سیستم رباتیک مثل AGV منتقل کنم.»

حدود ۸۰ جلسه


فصل ۱ — مبانی بینایی ماشین

جلسه ۱ — Computer Vision چیست؟

  • Image Processing
  • Computer Vision
  • Machine Vision
  • Robotics Vision
  • تفاوت آنها

جلسه ۲ — دوربین چگونه می‌بیند؟

  • Lens
  • Sensor
  • Image Formation

جلسه ۳ — Digital Image

  • Pixel
  • Resolution
  • Width
  • Height
  • Channels

جلسه ۴ — RGB


جلسه ۵ — Grayscale


جلسه ۶ — Image Coordinates

(0,0)
 ↓
x →
y ↓

جلسه ۷ — NumPy و تصویر

درک اینکه:

Image در Python عملاً یک Array است.


فصل ۲ — OpenCV

جلسه ۸ — نصب OpenCV


جلسه ۹ — خواندن Image


جلسه ۱۰ — ذخیره Image


جلسه ۱۱ — Display


جلسه ۱۲ — Video


جلسه ۱۳ — Webcam


جلسه ۱۴ — FPS و Frame


جلسه ۱۵ — ساخت Video Processing Loop

Camera
 ↓
Frame
 ↓
Processing
 ↓
Display

فصل ۳ — Image Processing

جلسه ۱۶ — Resize


جلسه ۱۷ — Crop


جلسه ۱۸ — Rotate


جلسه ۱۹ — Flip


جلسه ۲۰ — Blur


جلسه ۲۱ — Gaussian Blur


جلسه ۲۲ — Noise


جلسه ۲۳ — Image Filtering


جلسه ۲۴ — Sharpening


جلسه ۲۵ — Histogram


جلسه ۲۶ — Contrast


فصل ۴ — Threshold و Segmentation

جلسه ۲۷ — Threshold چیست؟


جلسه ۲۸ — Binary Image


جلسه ۲۹ — Global Threshold


جلسه ۳۰ — Adaptive Threshold


جلسه ۳۱ — Otsu


جلسه ۳۲ — HSV

چرا برای تشخیص رنگ در Robotics مهم است؟


جلسه ۳۳ — Color Segmentation


جلسه ۳۴ — ساخت Color Detector

مثلاً:

تشخیص جسم قرمز.


جلسه ۳۵ — Morphological Operations

  • Erosion
  • Dilation

جلسه ۳۶ — Opening / Closing


جلسه ۳۷ — تمیز کردن Mask


فصل ۵ — Contours و Shape

جلسه ۳۸ — Contour چیست؟


جلسه ۳۹ — پیدا کردن Contour


جلسه ۴۰ — Area


جلسه ۴۱ — Perimeter


جلسه ۴۲ — Bounding Box


جلسه ۴۳ — Center of Object


جلسه ۴۴ — Shape Detection


جلسه ۴۵ — Circle Detection


جلسه ۴۶ — ساخت Object Detector ساده

Image
 ↓
Mask
 ↓
Contour
 ↓
Object
 ↓
Position

فصل ۶ — Feature و Geometry

جلسه ۴۷ — Feature چیست؟


جلسه ۴۸ — Corner Detection


جلسه ۴۹ — Edge Detection


جلسه ۵۰ — Canny


جلسه ۵۱ — Hough Transform


جلسه ۵۲ — تشخیص Line


جلسه ۵۳ — تشخیص Circle


جلسه ۵۴ — کاربرد Line Detection در Robotics

مثلاً:

تشخیص خط مسیر AGV.


فصل ۷ — Camera Geometry

اینجا دوره واقعاً وارد Robotics Vision می‌شود.

جلسه ۵۵ — Pinhole Camera Model


جلسه ۵۶ — Camera Parameters


جلسه ۵۷ — Intrinsic Parameters


جلسه ۵۸ — Distortion


جلسه ۵۹ — Camera Calibration


جلسه ۶۰ — Calibration عملی


جلسه ۶۱ — Undistortion


جلسه ۶۲ — Perspective Transformation


جلسه ۶۳ — Homography

مثلاً:

تبدیل تصویر کف انبار به نمای Top-Down.


فصل ۸ — Object Detection و Tracking

جلسه ۶۴ — Object Detection چیست؟


جلسه ۶۵ — Detection با روش‌های کلاسیک


جلسه ۶۶ — Bounding Box


جلسه ۶۷ — Centroid Tracking


جلسه ۶۸ — Object Tracking


جلسه ۶۹ — Motion Detection


جلسه ۷۰ — Background Subtraction


جلسه ۷۱ — Optical Flow


جلسه ۷۲ — کاربرد Tracking در ربات

مثلاً:

AGV یک جسم متحرک را دنبال کند.


فصل ۹ — Vision برای Robot Perception

اینجا دیگر Vision از یک درس تصویری به حس ربات تبدیل می‌شود.

جلسه ۷۳ — Vision Sensor چیست؟


جلسه ۷۴ — Camera → Object


جلسه ۷۵ — Object Position در Image


جلسه ۷۶ — Image Coordinates → Robot Decision


جلسه ۷۷ — Line Following با Camera


جلسه ۷۸ — Obstacle Detection با Camera


جلسه ۷۹ — Target Detection


جلسه ۸۰ — پروژه نهایی Computer Vision

ساخت:

Vision-Based AGV

Camera
  ↓
Image
  ↓
OpenCV
  ↓
Object / Line Detection
  ↓
Position
  ↓
Decision
  ↓
AGV Controller

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

من Deep Learning / YOLO / Neural Networks را داخل هسته اصلی این دوره قرار نمی‌دهم.

چرا؟

چون Computer Vision کلاسیک خودش باید درست فهمیده شود.

بعد دوره بعدی:

🧠 AI / Deep Learning for Robotics

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

Computer Vision
       ↓
Image Processing
       ↓
OpenCV
       ↓
Detection
       ↓
Tracking
       ↓
Camera Geometry
       ↓
         AI
       ↓
YOLO / CNN / Deep Learning
       ↓
Robot Perception

این معماری آموزشی بسیار تمیزتر است.


حالا رابطه این دو دوره با AGV خودمان

این مهم‌ترین قسمت است.

ما نمی‌خواهیم این دوره‌ها جزیره‌ای باشند.

Python به AGV می‌دهد:

Python
 ├── Functions
 ├── OOP
 ├── NumPy
 ├── Math
 ├── Data
 ├── Serial
 ├── Control
 └── Software Architecture

Computer Vision به AGV می‌دهد:

Computer Vision
 ├── Image Processing
 ├── Segmentation
 ├── Object Detection
 ├── Tracking
 ├── Camera Geometry
 └── Robot Perception

PyBullet/AGV اینها را مصرف می‌کند:

                  AGV
                   │
       ┌───────────┼───────────┐
       │           │           │
     Python      Vision      Physics
       │           │           │
      OOP       OpenCV      PyBullet
      NumPy     Camera      Dynamics
      Control   Detection   Sensors
       │           │           │
       └───────────┼───────────┘
                   │
              Navigation
                   │
                  AI

بنابراین دانشجو یک بار چیزها را یاد می‌گیرد و چند جا استفاده می‌کند

مثلاً در Python:

NumPy

را یاد می‌گیرد.

بعد در Computer Vision:

Image = NumPy Array

را می‌بیند.

بعد در PyBullet:

Sensor Data = NumPy Array

را می‌بیند.

بعد در AGV:

Position / Velocity / LiDAR / Camera Data

همه با همین ابزار پردازش می‌شوند.


و حتی بهتر: پروژه‌های مشترک تعریف کنیم

این قسمت برای فروش دوره‌ها و YouTube خیلی ارزشمند است.

پروژه ۱

Python

Robot Data Logger

پروژه ۲

Computer Vision

Red Object Detector

پروژه ۳

Python + Computer Vision

Camera Controller

پروژه ۴

PyBullet

Simulated Camera

پروژه ۵

AGV

AGV Detects Object

پروژه ۶

AI

AGV Recognizes Object

پروژه ۷

Real Robot

همان ایده روی سخت‌افزار


یک اصلاح مهم نسبت به نقشه قبلی

قبلاً گفتیم:

Python → Arduino → OpenCV → PyBullet → AI

این را الان بهتر می‌کنیم.

مسیر آموزشی و مسیر محصولی را از هم جدا می‌کنیم.

مسیر آموزشی:

Python
   │
   ├── NumPy
   ├── OOP
   ├── Data
   └── Control
        │
        ├─────────────┐
        ▼             ▼
   Computer Vision   PyBullet
        │             │
        └──────┬──────┘
               ▼
              AGV
               │
               ▼
               AI

و Arduino یک شاخه موازی است:

Arduino / AVR
      │
  Electronics
      │
   Sensors
      │
    Motors
      │
      └──────────────→ Real Robot

بعد Python به آن متصل می‌شود:

                Python
                  ↕
               Arduino
                  ↕
        ┌─────────┴─────────┐
      Sensors             Motors

این معماری از نظر آموزشی خیلی تمیزتر است.


حالا یک نکته بسیار مهم برای YouTube

این دوره‌ها را به شکل «جلسه ۱، جلسه ۲، جلسه ۳» به مخاطب نفروشیم.

ساختار داخلی دوره می‌تواند جلسه‌ای باشد، اما YouTube باید Problem-Oriented باشد.

مثلاً از دوره Python:

How to Control a Robot with a Python Loop

Python Classes Explained with a Robot

How Robots Use NumPy

Build a Robot Data Logger with Python

Python Serial Communication with Arduino

و از Computer Vision:

How a Robot Detects a Red Object

Make a Camera Detect Lines with Python

How to Find an Object’s Center Using OpenCV

Turn a Camera into a Robot Sensor

Make an AGV Follow a Line Using Computer Vision

این‌ها هم مخاطب جذب می‌کنند و هم به محصول آموزشی مرتبط هستند.


و در نهایت، اکوسیستم کامل Bimetral

من اگر بخواهم الان معماری دوره‌های آینده تو را تثبیت کنم، به این شکل می‌چینم:

                         BIMETRAL
                            │
        ┌───────────────────┼───────────────────┐
        │                   │                   │
   Electronics           Python            Simulation
        │                   │                   │
 Arduino / AVR       Engineering          PyBullet
 Proteus             Robotics             AGV / AMR
        │                   │                   │
        │              NumPy / OOP             │
        │                   │                   │
        └──────────────┬────┴───────────────────┘
                       │
                       ▼
                Computer Vision
                       │
                    OpenCV
                       │
               Robot Perception
                       │
                       ▼
                       AI
                       │
            ┌──────────┴──────────┐
            │                     │
       Deep Learning             RL
            │                     │
            └──────────┬──────────┘
                       ▼
                  Autonomous
                    Robot
                       │
                       ▼
                Digital Twin
                       │
                       ▼
                  Sim-to-Real
                       │
                       ▼
                 REAL ROBOT

بنابراین پاسخ قطعی من به سؤال تو:

نه، Python نباید Arduino، Computer Vision و AI را عمیق تدریس کند.

Python باید زبان و ابزار مشترک را به دانشجو بدهد.

Arduino دوره مستقل خودش را دارد.

Computer Vision دوره مستقل و عمیق خودش را دارد.

AI دوره مستقل خودش را دارد.

PyBullet/AGV دوره مستقل خودش را دارد.

ولی این دوره‌ها عمداً طوری طراحی می‌شوند که خروجی یک دوره، ورودی دوره بعدی باشد.

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

«من Python یاد گرفتم.»

یا:

«من OpenCV یاد گرفتم.»

بلکه باید بتواند بگوید:

«من با Python یک ربات را کنترل کردم، با Computer Vision محیط را دیدم، در PyBullet آن را شبیه‌سازی کردم، روی AGV اجرا کردم و در مرحله بعد می‌توانم همان سیستم را به ربات واقعی منتقل کنم.»

این دقیقاً همان خط داستانی واحد Bimetral است که دوره‌های مختلف را به هم وصل می‌کند، بدون اینکه آنها را با هم قاطی کنیم.

*****************

AI / Machine Learning for Robotics – Reinforcement Learning for Robotics-Digital Twin & Sim-to-Real for Robotics-Arduino & Embedded Electronics for Robotics

دقیقاً. حالا که مرز Python و Computer Vision را مشخص کرده‌ایم، باید برای این ۴ دوره هم همان معماری را حفظ کنیم: مستقل و قابل فروش، عمیق و کاربردی، بدون حاشیه، و در عین حال قابل اتصال به پروژه اصلی AGV/AMR و در نهایت Sim-to-Real.

من این چهار دوره را طوری می‌چینم که اگر دانشجو فقط یکی را بخرد، باز هم یک محصول آموزشی کامل داشته باشد؛ اما اگر چند دوره را پشت سر هم بگذراند، دانش او به شکل زنجیره‌ای روی هم ساخته شود.


معماری نهایی دوره‌های Bimetral

                    BIMETRAL ROBOTICS
                           │
        ┌──────────────────┼──────────────────┐
        │                  │                  │
     Python             Arduino          Simulation
        │                  │                  │
        │             Embedded              PyBullet
        │             Electronics            AGV
        │                  │                  │
        └──────────┬───────┴──────────┬───────┘
                   │                  │
                   ▼                  ▼
             Computer Vision      Robotics
                   │                  │
                   └────────┬─────────┘
                            ▼
                  AI / Machine Learning
                            │
                            ▼
                 Reinforcement Learning
                            │
                            ▼
                    Autonomous Robot
                            │
                            ▼
              Digital Twin / Sim-to-Real
                            │
                            ▼
                     REAL ROBOT

حالا چهار دوره جدید را دقیق طراحی کنیم.


1️⃣ AI / Machine Learning for Robotics

هدف دوره

دانشجو از:

«Machine Learning چیست؟»

برسد به:

«می‌توانم داده تولید کنم، یک مدل ML بسازم، آموزش دهم، ارزیابی کنم و آن را داخل یک سیستم رباتیک برای perception یا decision استفاده کنم.»

این دوره ادامه طبیعی Python + Computer Vision است.

حدود پیشنهادی: ۶۰–۷۰ جلسه


فصل ۱ — AI در رباتیک

1. AI چیست؟

2. Machine Learning چیست؟

3. Deep Learning چیست؟

4. AI در Robotics چه کاربردی دارد؟

5. Traditional Programming vs ML

6. Robotics Pipeline

Sensor
 ↓
Data
 ↓
ML Model
 ↓
Prediction
 ↓
Decision
 ↓
Robot

7. چه زمانی AI لازم نیست؟

این جلسه خیلی مهم است.

مثلاً:

اگر Threshold جواب می‌دهد، چرا Neural Network استفاده کنیم؟


فصل ۲ — داده برای ربات

8. Dataset چیست؟

9. Feature چیست؟

10. Label چیست؟

11. Training / Validation / Test

12. Data Leakage

13. Data Distribution

14. Class Imbalance

15. Data Collection در Robotics

16. Synthetic Data


فصل ۳ — اولین Machine Learning Model

17. Scikit-Learn

18. Regression

19. Classification

20. Train Model

21. Prediction

22. Accuracy

23. Precision / Recall

24. Confusion Matrix

25. Overfitting

26. Underfitting

27. Cross Validation


فصل ۴ — ML برای Perception

28. Sensor Data به عنوان Dataset

29. Feature Extraction

30. Classification سنسورها

31. تشخیص وضعیت محیط

32. تشخیص وضعیت ربات

33. Fault Detection

34. Anomaly Detection


فصل ۵ — Deep Learning

35. Neural Network چیست؟

36. Neuron

37. Layer

38. Activation Function

39. Forward Pass

40. Loss

41. Backpropagation

42. Gradient Descent

43. Training Loop

44. PyTorch


فصل ۶ — CNN برای Robot Vision

اینجا دوره Python و Computer Vision قبلی را به AI وصل می‌کنیم.

45. CNN چیست؟

46. Convolution

47. Kernel

48. Pooling

49. Feature Maps

50. Image Classification

51. Dataset تصویری

52. Training CNN

53. Evaluation

54. استفاده از CNN برای تشخیص اشیا


فصل ۷ — Object Detection

55. Classification vs Detection

56. Bounding Box

57. Object Detection Pipeline

58. YOLO چیست؟

59. Dataset برای Detection

60. Training / Fine-tuning

61. Inference

62. Confidence

63. Detection روی Camera

64. Detection در محیط شبیه‌سازی


فصل ۸ — AI + AGV

65. Camera → AI

66. AI → Perception

67. Perception → Decision

68. تشخیص مانع

69. تشخیص هدف

70. پروژه نهایی:

PyBullet
 ↓
Camera
 ↓
YOLO / ML
 ↓
Object Detection
 ↓
AGV Decision

خروجی:

یک AGV که از AI برای درک محیط استفاده می‌کند.


2️⃣ Reinforcement Learning for Robotics

این دوره را از Machine Learning جدا نگه می‌داریم.

چون RL یک پارادایم متفاوت است:

Supervised Learning:

Input → Label → Model

اما:

Reinforcement Learning:

Robot
 ↓
Action
 ↓
Environment
 ↓
Reward
 ↓
Learning

حدود ۵۰–۶۰ جلسه


فصل ۱ — RL Fundamentals

1. Reinforcement Learning چیست؟

2. Agent

3. Environment

4. State

5. Action

6. Reward

7. Episode

8. Policy

9. Value

10. Exploration vs Exploitation


فصل ۲ — RL در Robotics

11. چرا RL برای رباتیک جذاب است؟

12. چه مشکلاتی را می‌توان با RL حل کرد؟

13. چه مشکلاتی را نباید با RL حل کرد؟

14. State ربات

15. Action ربات

16. Reward ربات

17. طراحی Environment

18. Simulation برای RL


فصل ۳ — اولین RL

19. Grid World

20. Random Agent

21. Reward

22. Q-Table

23. Q-Learning

24. Training

25. Exploration

26. Evaluation

این بخش عمداً ساده است تا مفهوم RL جا بیفتد.


فصل ۴ — RL برای Robot Navigation

27. تعریف AGV Environment

28. State Space

29. Action Space

30. Reward Function

31. Collision Penalty

32. Goal Reward

33. Distance Reward

34. Episode Termination

35. Training Environment


فصل ۵ — Deep Reinforcement Learning

36. چرا Q-Table کافی نیست؟

37. Neural Network + RL

38. DQN

39. Policy Network

40. Value Network

41. PPO

42. Actor-Critic


فصل ۶ — Stable-Baselines3

43. معرفی Stable-Baselines3

44. Environment Interface

45. Training Agent

46. Monitoring

47. Saving Model

48. Loading Model

49. Evaluation

50. TensorBoard


فصل ۷ — RL + PyBullet

51. اتصال PyBullet به RL

52. ساخت AGV Environment

53. آموزش AGV

54. مشاهده Learning

55. تست Agent

56. مقایسه:

A*
VS
PPO

57. Failure Analysis


فصل ۸ — پروژه نهایی

AGV باید:

از نقطه A به B برسد، مانع را تشخیص دهد و با استفاده از Policy حرکت کند.


3️⃣ Digital Twin & Sim-to-Real for Robotics

این دوره را من پیشرفته‌ترین و استراتژیک‌ترین دوره Bimetral می‌دانم.

چون تمام دوره‌های قبلی بالاخره اینجا به هم می‌رسند.


هدف

دانشجو بفهمد:

چگونه یک ربات واقعی و مدل شبیه‌سازی‌شده را به هم متصل کنیم تا Simulation فقط یک محیط آموزشی نباشد، بلکه نمای دیجیتال سیستم واقعی باشد.


فصل ۱ — Digital Twin چیست؟

1. Digital Twin چیست؟

2. Simulation vs Digital Twin

3. Virtual Model

4. Physical System

5. Data Synchronization

6. Digital Thread

7. Real-Time Data

8. کاربرد Digital Twin در Robotics


فصل ۲ — ساخت مدل دیجیتال ربات

9. Robot Model

10. Geometry

11. Mass

12. Inertia

13. Motors

14. Sensors

15. Environment

16. Calibration


فصل ۳ — ساخت Digital Environment

17. Virtual Factory

18. Warehouse

19. AGV

20. Shelves

21. Stations

22. Obstacles

23. Material Flow


فصل ۴ — Connecting Simulation & Reality

24. Simulation Data

25. Real Robot Data

26. Communication Architecture

27. Serial

28. Network

29. MQTT

30. Robot Telemetry

31. Command Pipeline


فصل ۵ — System Identification

یکی از مهم‌ترین بخش‌های Sim-to-Real.

32. System Identification چیست؟

33. موتور واقعی vs مدل

34. اندازه‌گیری سرعت

35. اندازه‌گیری شتاب

36. اصطکاک

37. Motor Response

38. Parameter Estimation

39. Calibration


فصل ۶ — Reality Gap

40. Reality Gap چیست؟

41. Dynamics Gap

42. Sensor Gap

43. Actuator Gap

44. Geometry Gap

45. Timing Gap

46. Noise

47. Latency


فصل ۷ — Domain Randomization

48. Domain Randomization

49. Randomizing Mass

50. Friction

51. Sensor Noise

52. Lighting

53. Camera Position

54. Object Position

55. Training Robust Models


فصل ۸ — Sim-to-Real

56. Simulation Policy

57. Transfer

58. Real Robot

59. Safety Layer

60. Testing

61. Validation

62. Failure Analysis


فصل ۹ — Digital Twin واقعی AGV

63. Real AGV

64. Simulated AGV

65. Data Synchronization

66. Live Robot State

67. Live Simulation

68. Compare:

REAL
VS
SIMULATION

69. اصلاح مدل براساس داده واقعی


فصل ۱۰ — پروژه نهایی

ساخت:

AGV Digital Twin

                 REAL AGV
                    │
             Sensors / Motors
                    │
                    ▼
              Communication
                    │
                    ▼
              Digital Twin
                    │
              ┌─────┴─────┐
              │           │
          Simulation    Analytics
              │
              ▼
             AI
              │
              ▼
         Optimization

این پروژه می‌تواند یکی از قوی‌ترین Portfolioهای Bimetral باشد.


4️⃣ Arduino & Embedded Electronics for Robotics

این دوره را مستقل از Python می‌گیریم.

و اتفاقاً برای YouTube می‌تواند یکی از بهترین ورودی‌های Bimetral باشد، چون مخاطب خیلی بیشتری از «PyBullet AGV» دارد.


هدف

دانشجو از:

«LED چیست؟»

برسد به:

«می‌توانم یک سیستم Embedded ساده برای یک ربات طراحی کنم، سنسور بخوانم، موتور کنترل کنم، ارتباط برقرار کنم و آن را در Proteus قبل از ساخت واقعی تست کنم.»

حدود ۸۰ جلسه


فصل ۱ — مبانی الکترونیک

1. ولتاژ چیست؟

2. جریان چیست؟

3. مقاومت چیست؟

4. قانون اهم

5. توان

6. مدار سری

7. مدار موازی

8. Digital vs Analog

9. Pull-up / Pull-down

10. Multimeter


فصل ۲ — Arduino Fundamentals

11. Arduino چیست؟

12. Microcontroller چیست؟

13. Arduino Uno

14. Pinها

15. ساختار برنامه

16. setup()

17. loop()

18. Digital Output

19. Digital Input

20. اولین پروژه LED


فصل ۳ — Digital Electronics

21. Digital Signal

22. HIGH / LOW

23. Button

24. Debouncing

25. Pull-up

26. Pull-down

27. Interrupt

28. External Interrupt

29. Timer

30. PWM


فصل ۴ — Analog

31. Analog Signal

32. ADC

33. Potentiometer

34. Analog Sensor

35. Reading Sensor

36. Mapping

37. Filtering

38. Sampling


فصل ۵ — Sensors for Robotics

39. Sensor چیست؟

40. Ultrasonic

41. IR

42. Light Sensor

43. Temperature

44. Encoder

45. Distance Measurement

46. Sensor Noise

47. Sensor Calibration


فصل ۶ — Motors

48. DC Motor

49. Motor Driver

50. H-Bridge

51. L298N

52. PWM Speed Control

53. Direction Control

54. Encoder

55. Closed Loop Control


فصل ۷ — Arduino برای ربات

56. Differential Drive

57. کنترل دو موتور

58. خواندن Encoder

59. محاسبه سرعت چرخ

60. کنترل سرعت

61. Line Following

62. Obstacle Avoidance

63. Robot Controller


فصل ۸ — Communication

64. UART

65. Serial Monitor

66. TX / RX

67. I2C

68. SPI

69. ارتباط سنسورها

70. Arduino ↔ Python


فصل ۹ — Proteus

این بخش برای YouTube هم بسیار جذاب است.

71. Proteus چیست؟

72. ساخت مدار

73. Arduino در Proteus

74. LED

75. Button

76. Sensor

77. Motor

78. شبیه‌سازی مدار ربات


فصل ۱۰ — پروژه نهایی

ساخت:

Mini Autonomous Robot

              Arduino
                 │
       ┌─────────┼─────────┐
       │         │         │
    Sensors    Motors    Serial
       │         │         │
       └────┬────┘         │
            │              │
         Robot          Python

و در صورت امکان:

Proteus
   ↓
Simulation
   ↓
Arduino
   ↓
Real Hardware

اما یک تغییر مهم در معماری دوره‌ها

من این چهار دوره را دقیقاً پشت سر هم منتشر نمی‌کنم.

چون برای YouTube باید موتور جذب مخاطب هم داشته باشیم.

بنابراین از نظر تولید محتوا:

ورودی‌های بزرگ‌تر:

Arduino

Python

Computer Vision

ورودی تخصصی‌تر:

PyBullet

AI

محتوای Advanced:

RL

Digital Twin

Sim-to-Real


و مهم‌تر از همه: پروژه‌ها باید مشترک باشند

ما نمی‌خواهیم ۶ دوره جدا داشته باشیم که هیچ ارتباطی با هم ندارند.

مثلاً یک پروژه واحد داشته باشیم:

🤖 Bimetral Autonomous Warehouse Robot

و هر دوره یک قطعه از آن را بسازد.

Arduino Course
       ↓
Motor + Encoder + Sensors
       ↓
Python Course
       ↓
Robot Software
       ↓
Computer Vision
       ↓
Camera Perception
       ↓
PyBullet
       ↓
Simulation
       ↓
AI
       ↓
Intelligent Perception
       ↓
RL
       ↓
Autonomous Decision
       ↓
Digital Twin
       ↓
Sim-to-Real
       ↓
REAL AGV

این داستان اصلی تمام محصولات Bimetral می‌شود.


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

اگر هدف اصلی خودت این است که نهایتاً ربات واقعی بسازی، من این ترتیب را پیشنهاد می‌کنم:

1. Arduino & Electronics
        ↓
2. Python
        ↓
3. Computer Vision
        ↓
4. PyBullet / AGV
        ↓
5. Machine Learning
        ↓
6. Reinforcement Learning
        ↓
7. Digital Twin
        ↓
8. Sim-to-Real
        ↓
9. Real Robot

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

تو همین الان می‌توانی تولید محتوای Arduino/Python/PyBullet را شروع کنی و همزمان خودت مسیر یادگیری را جلو ببری.

در واقع بهترین استراتژی برای Bimetral این است:

یاد بگیر → یک پروژه کوچک بساز → آن را شبیه‌سازی کن → مشکلش را پیدا کن → ویدیوی YouTube بساز → نسخه کامل‌تر را تبدیل به دوره کن.

این مدل هم برای یادگیری خودت واقعی‌تر است، هم برای YouTube محتوا تولید می‌کند، و هم در نهایت تو را به همان چیزی می‌رساند که از ابتدا هدف گذاشته بودیم: یک ربات واقعی که ابتدا در Simulation ساخته و آزمایش شده و بعد به Reality منتقل می‌شود.


الویت برای یوتیوب

دقیقاً؛ با یک اصلاح مهم در اولویت‌بندی.

ما ۷ دوره/مسیر داریم و AGV ستون فقرات کل اکوسیستم Bimetral است:

#دورهنقش
1🤖 PyBullet / AGV / AMR🎯 پروژه اصلی و Portfolio
2🐍 Python for Engineering & Roboticsجذب مخاطب + پایه تمام پروژه‌ها
3👁 Computer Vision for Roboticsجذب مخاطب + Perception ربات
4🧠 AI / Machine Learning for Roboticsتخصصی + اتصال به Vision/AGV
5🎮 Reinforcement Learning for Roboticsپیشرفته + Autonomous Robotics
6🌐 Digital Twin & Sim-to-Real for Roboticsمرحله نهایی و بسیار تخصصی
7🔌 Arduino & Embedded Electronics for Roboticsجذب مخاطب + پل Simulation → Hardware

و بله، فاز اول YouTube همین ۳ مسیر است:

① PyBullet / AGV

ما همان دوره‌ای که الان تا جلسه ۸ پیش رفته‌ایم ادامه می‌دهیم.

جلسه 1
↓
...
جلسه 8 ✅
↓
جلسه 9
↓
...
AGV
↓
AMR
↓
Vision
↓
AI
↓
Smart Warehouse

این ستون اصلی است و نباید متوقفش کنیم.


② Python for Engineering & Robotics

همزمان از جلسه ۱ شروع می‌کنیم.

Python پایه‌ای است که بعداً در همه مسیرها استفاده می‌شود:

Python
 ├── PyBullet
 ├── OpenCV
 ├── AI
 ├── RL
 ├── Arduino
 └── Digital Twin

پس این یکی هم از همان ابتدا بسیار منطقی است.


③ Arduino & Embedded Electronics for Robotics

این هم همزمان شروع می‌شود.

چرا؟

چون Arduino برای YouTube یک ورودی بسیار خوب و قابل‌فهم است:

LED
 ↓
Button
 ↓
Sensor
 ↓
Motor
 ↓
Encoder
 ↓
Mini Robot
 ↓
Python
 ↓
Real Robot

و بعداً همین سخت‌افزار می‌تواند به پروژه اصلی ما وصل شود.


اما نکته مهم:

من نمی‌خواهم این سه دوره را سه پروژه کاملاً جدا جلو ببریم.

بلکه باید آنها را به یکدیگر وصل کنیم.

مثلاً:

Python

یاد می‌گیری:

robot_speed = 0.5

Arduino

همان مفهوم را روی سخت‌افزار می‌بینی:

Python
 ↓
Serial
 ↓
Arduino
 ↓
Motor

PyBullet

بعد همان رفتار را در Simulation می‌بینی:

Python
 ↓
PyBullet
 ↓
AGV
 ↓
Motor

یعنی دانشجو کم‌کم متوجه می‌شود:

یک منطق رباتیک را می‌توانم در Software، Simulation و Hardware ببینم.

این دقیقاً همان چیزی است که بعداً به Sim-to-Real منتهی می‌شود.


بعد از این سه چه می‌شود؟

وقتی این سه مسیر به اندازه کافی پایه ساختند، وارد:

فاز دوم

Computer Vision

می‌شویم.

Python
+
Arduino
+
PyBullet
       ↓
Computer Vision

بعد:

فاز سوم

AI / Machine Learning

Python
+
Computer Vision
+
PyBullet
       ↓
AI

بعد:

فاز چهارم

Reinforcement Learning

AGV
+
Simulation
+
AI
       ↓
RL

و در نهایت:

فاز پنجم

Digital Twin + Sim-to-Real

Simulation
      ↕
Digital Twin
      ↕
Real Robot
      ↕
Sensors / Motors
      ↕
AI

پس نقشه کلان ما این است

                    BIMETRAL
                       │
             ┌─────────┴─────────┐
             │                   │
         جذب مخاطب            پروژه اصلی
             │                   │
      ┌──────┴──────┐            │
      │             │            │
   Python       Arduino      PyBullet/AGV
      │             │            │
      └──────┬──────┘            │
             │                   │
             └─────────┬─────────┘
                       │
                Computer Vision
                       │
                       ▼
                      AI
                       │
                       ▼
                      RL
                       │
                       ▼
              Digital Twin
                       │
                       ▼
                 Sim-to-Real
                       │
                       ▼
                  🤖 REAL AGV

بنابراین از همین الان:

مسیر ۱: PyBullet → ادامه از جلسه ۹
مسیر ۲: Python → جلسه ۱
مسیر ۳: Arduino → جلسه ۱

و فعلاً Computer Vision، AI، RL و Digital Twin را شروع نمی‌کنیم؛ فقط ساختارشان را آماده نگه می‌داریم.

این تصمیم باعث می‌شود همزمان محتوای قابل‌جست‌وجوی بیشتری برای جذب مخاطب داشته باشیم، ولی تمرکزمان را روی هدف اصلی یعنی ساخت AGV/AMR و رسیدن به ربات واقعی از دست ندهیم.

8. و اینجا اتفاقاً یک مزیت تجاری فوق‌العاده ایجاد می‌شود

ببین چه اکوسیستمی می‌توانیم داشته باشیم:

                 Bimetral
                    │
       ┌────────────┼────────────┐
       │            │            │
    Arduino       Python      PyBullet
       │            │            │
       │            │            │
       └────────────┼────────────┘
                    │
              Robotics
                    │
          ┌─────────┴─────────┐
          │                   │
      Computer Vision        AI
          │                   │
          └─────────┬─────────┘
                    │
                   AGV
                    │
                   AMR
                    │
              Digital Twin
                    │
                Sim-to-Real

حالا یک دانشجو ممکن است از هر نقطه وارد شود.

مثلاً:

مشتری شماره ۱

از YouTube:

Arduino LED

می‌آید.

Arduino Course

Proteus

Python

Robotics


مشتری شماره ۲

جستجو می‌کند:

Python Robotics

Python Course

PyBullet

AGV


مشتری شماره ۳

جستجو می‌کند:

OpenCV Object Detection

Computer Vision

Robot Vision

AGV


مشتری شماره ۴

جستجو می‌کند:

PyBullet AGV

AGV Course

Computer Vision

AI


این چیزی است که ما می‌خواستیم.

قیف را تنگ نکرده‌ایم؛ چندین ورودی برای یک اکوسیستم ساخته‌ایم.


9. پس YouTube هم نباید فقط یک مسیر داشته باشد

این نکته برای سؤال قبلی تو هم خیلی مهم است.

Bimetral می‌تواند چند Content Pillar داشته باشد:

🟦 Pillar 1 — Arduino

مخاطب مبتدی و Electronics

🟩 Pillar 2 — Python

مخاطب Programming

🟨 Pillar 3 — Simulation

مخاطب Robotics/Engineering

🟥 Pillar 4 — Computer Vision

مخاطب AI/Vision

🟪 Pillar 5 — Robotics Projects

مخاطب حرفه‌ای‌تر

ولی همه آنها یک هویت دارند:

Build, Simulate and Program Robots


10. یک نکته خیلی مهم درباره دوره PyBullet فعلی تو

نقشه ۹۵ جلسه‌ای که فرستادی لازم نیست تغییر اساسی کند.

چون آن دوره قرار است:

AGV/AMR Simulation

باشد.

در آنجا OpenCV و ML و RL وارد می‌شوند چون جزئی از محصول نهایی AGV هستند.

اما آنها را در حدی که برای پروژه لازم است آموزش می‌دهیم.

مثلاً در PyBullet:

«برای اینکه AGV بتواند جسم قرمز را ببیند، این مقدار OpenCV لازم داریم.»

اما قرار نیست آنجا کل Computer Vision را تدریس کنیم.

در دوره Computer Vision:

همان مسئله را عمیق‌تر و از پایه تا پیشرفته آموزش می‌دهیم.


11. بنابراین یک قانون برای تمام دوره‌های Bimetral داشته باشیم

این قانون را پیشنهاد می‌کنم:

هر دوره یک Core Skill دارد؛ سایر تکنولوژی‌ها فقط به اندازه‌ای آموزش داده می‌شوند که برای استفاده از آن Core Skill لازم است.

مثلاً:

Python Course

Core:

Python

Arduino = فقط Integration

OpenCV = فقط Integration

PyBullet = فقط Integration


Arduino Course

Core:

Electronics + Embedded + Arduino

Python = Integration

Proteus = Integration


Computer Vision Course

Core:

Computer Vision

Python = ابزار

NumPy = ابزار

OpenCV = ابزار اصلی

PyBullet = Integration


AGV Course

Core:

Robotics Simulation + AGV/AMR

Python = ابزار

PyBullet = ابزار اصلی

OpenCV = Integration

LiDAR = Integration

AI = Integration


12. این یعنی یک دانشجو مجبور نیست همه دوره‌ها را بخرد

ولی اگر بخواهد حرفه‌ای شود، به‌صورت طبیعی از یک دوره به دوره دیگر حرکت می‌کند.

مثلاً:

Arduino
  ↓
Python
  ↓
Simulation
  ↓
Computer Vision
  ↓
AI
  ↓
Robotics

و این دقیقاً همان چیزی است که برای فروش دوره‌های متعدد در سایت می‌خواهیم.


13. بنابراین من نقشه نهایی Bimetral را این می‌دانم

فعلاً این‌ها را به عنوان دوره‌های اصلی در نظر بگیریم:

مسیردوره
🔌 ElectronicsArduino & Embedded Electronics
🔧 EmbeddedAVR / Microcontrollers
💻 ProgrammingPython for Engineering & Robotics
👁 VisionComputer Vision for Robotics
🧠 AIMachine Learning for Robotics
🤖 SimulationPyBullet Robotics Simulation
🚚 RoboticsAGV / AMR
🏭 IndustrialSmart Warehouse / Digital Twin
🔄 AdvancedSim-to-Real

و این‌ها به هم متصل‌اند، اما همدیگر را تکرار نمی‌کنند.


و حالا مهم‌ترین تصمیم برای همین الان

با توجه به اینکه کانال YouTube را ساخته‌ای و دوره PyBullet را هم از قبل داریم، من اصلاً پیشنهاد نمی‌کنم الان برویم و ۹ دوره را همزمان طراحی کنیم.

ترتیب عملی ما:

مرحله ۱ — همین الان

🔌 Arduino + Electronics + Proteus

چون خودت هم داری همین مسیر را یاد می‌گیری و برای YouTube محتوای بسیار قابل‌نمایشی دارد.

مرحله ۲

💻 Python for Engineering & Robotics

مرحله ۳

🤖 PyBullet / AGV

که نقشه ۹۵ جلسه‌ای آن را داریم.

مرحله ۴

👁 Computer Vision for Robotics

مرحله ۵

🧠 AI for Robotics

و در نهایت:

Digital Twin + Sim-to-Real + Real Robot


بنابراین نه، آن ۴–۵ جلسه Arduino/OpenCV/AI را به‌عنوان آموزش کامل نگه نمی‌داریم. آنها را در دوره Python به چند جلسه‌ی Integration تبدیل می‌کنیم و آموزش عمیقشان را به دوره تخصصی خودشان منتقل می‌کنیم.

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

مهممممممممممممممممممممممممممممممممممممممممم ***************************

بنابراین یک قانون برای تمام دوره‌های Bimetral داشته باشیم

این قانون را پیشنهاد می‌کنم:

هر دوره یک Core Skill دارد؛ سایر تکنولوژی‌ها فقط به اندازه‌ای آموزش داده می‌شوند که برای استفاده از آن Core Skill لازم است.

مثلاً:

Python Course

Core:

Python

Arduino = فقط Integration

OpenCV = فقط Integration

PyBullet = فقط Integration


Arduino Course

Core:

Electronics + Embedded + Arduino

Python = Integration

Proteus = Integration


Computer Vision Course

Core:

Computer Vision

Python = ابزار

NumPy = ابزار

OpenCV = ابزار اصلی

PyBullet = Integration


AGV Course

Core:

Robotics Simulation + AGV/AMR

Python = ابزار

PyBullet = ابزار اصلی

OpenCV = Integration

LiDAR = Integration

AI = Integration


12. این یعنی یک دانشجو مجبور نیست همه دوره‌ها را بخرد

ولی اگر بخواهد حرفه‌ای شود، به‌صورت طبیعی از یک دوره به دوره دیگر حرکت می‌کند.

مثلاً:

Arduino
  ↓
Python
  ↓
Simulation
  ↓
Computer Vision
  ↓
AI
  ↓
Robotics

و این دقیقاً همان چیزی است که برای فروش دوره‌های متعدد در سایت می‌خواهیم.


13. بنابراین من نقشه نهایی Bimetral را این می‌دانم

فعلاً این‌ها را به عنوان دوره‌های اصلی در نظر بگیریم:

مسیردوره
🔌 ElectronicsArduino & Embedded Electronics
🔧 EmbeddedAVR / Microcontrollers
💻 ProgrammingPython for Engineering & Robotics
👁 VisionComputer Vision for Robotics
🧠 AIMachine Learning for Robotics
🤖 SimulationPyBullet Robotics Simulation
🚚 RoboticsAGV / AMR
🏭 IndustrialSmart Warehouse / Digital Twin
🔄 AdvancedSim-to-Real

و این‌ها به هم متصل‌اند، اما همدیگر را تکرار نمی‌کنند.


و حالا مهم‌ترین تصمیم برای همین الان

با توجه به اینکه کانال YouTube را ساخته‌ای و دوره PyBullet را هم از قبل داریم، من اصلاً پیشنهاد نمی‌کنم الان برویم و ۹ دوره را همزمان طراحی کنیم.

ترتیب عملی ما:

مرحله ۱ — همین الان

🔌 Arduino + Electronics + Proteus

چون خودت هم داری همین مسیر را یاد می‌گیری و برای YouTube محتوای بسیار قابل‌نمایشی دارد.

مرحله ۲

💻 Python for Engineering & Robotics

مرحله ۳

🤖 PyBullet / AGV

که نقشه ۹۵ جلسه‌ای آن را داریم.

مرحله ۴

👁 Computer Vision for Robotics

مرحله ۵

🧠 AI for Robotics

و در نهایت:

Digital Twin + Sim-to-Real + Real Robot


بنابراین نه، آن ۴–۵ جلسه Arduino/OpenCV/AI را به‌عنوان آموزش کامل نگه نمی‌داریم. آنها را در دوره Python به چند جلسه‌ی Integration تبدیل می‌کنیم و آموزش عمیقشان را به دوره تخصصی خودشان منتقل می‌کنیم.

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

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top