از صفر تا یک مسیر تخصصی واقعی
محتوای Core برای همه مشترکه؛ بعد از اولین پروژه، مسیر تخصصی خودت رو ادامه میدی. درسها پیشنیاز، کوئیز، XP و اتصال مستقیم به رودمپ دارن.
تشخیص و دنبالکردن
تشخیص رنگ و هدف ساده
با Mask و Contour یک هدف رنگی را در تصویر پیدا میکنی.
Tracking و مفهوم Frame-to-Frame
هدف را بین فریمها دنبال و پرشهای ناگهانی را کنترل میکنی.
Object Detection مدرن در یک نگاه
فرق طبقهبندی، تشخیص و Tracking را میفهمی و خروجی Bounding Box را میخوانی.
هوش مصنوعی روی دستگاه
محدودیت CPU، RAM و توان در Edge AI
مدل را با توجه به محدودیت سختافزار و زمان پاسخ انتخاب میکنی.
Inference، Latency و FPS
سرعت و کیفیت مدل را با معیارهای قابل اندازهگیری مقایسه میکنی.
Quantization و مدل سبک
مفهوم کاهش اندازه/دقت عددی مدل برای اجرای سریعتر را میشناسی.
OpenCV و تصویر
تصویر دیجیتال، Pixel و Color Space
تصویر را به عنوان ماتریس داده میبینی و RGB/BGR/HSV را تشخیص میدهی.
Resize، Blur، Threshold و Mask
پیشپردازش تصویر را برای جدا کردن اطلاعات مفید انجام میدهی.
Contour و استخراج ویژگی ساده
ناحیههای تصویر را پیدا و ویژگیهایی مثل مرکز و مساحت را استخراج میکنی.
Python برای رباتیک
Python، نوع داده و ساختارهای پرکاربرد
مبانی لازم Python برای کار با داده، تصویر و اسکریپت رباتیکی را مرور میکنی.
NumPy و آرایههای عددی
تصویر و داده سنسور را به شکل آرایه میبینی و عملیات برداری ساده انجام میدهی.
محیط مجازی، Package و دیباگ
پروژه Python را ایزوله و قابل تکرار نگه میداری.
Arduino
Arduino IDE، Sketch، setup و loop
ساختار پایه برنامه Arduino و مسیر Compile/Upload را یاد میگیری.
Digital I/O: LED و دکمه
اولین ورودی و خروجی واقعی را میسازی و با Pull-up داخلی آشنا میشوی.
AnalogRead، PWM و Serial Monitor
داده پیوستهتر از سنسور را میخوانی و خروجی را با Serial Monitor مشاهده میکنی.
زمانبندی بدون delay با millis
یاد میگیری برنامه را بدون توقف طولانی اجرا کنی تا چند کار همزمان جلو برود.
حرکت و کنترل قابل اتکا
انتخاب موتور، گیربکس و نسبت انتقال
موتور را بر اساس گشتاور، سرعت، وزن ربات و محدودیت زمین انتخاب میکنی.
درایور، باتری و بودجه توان
جریان استال، افت ولتاژ و ظرفیت باتری را در طراحی حرکت لحاظ میکنی.
PWM، کنترل سرعت و حرکت تکرارپذیر
فرمان حرکت را طوری میسازی که ربات هر بار رفتار نزدیک به هم داشته باشد.
شناخت مسابقات و انتخاب رشته
شناخت لیگ، قوانین و محدودیتها
قبل از طراحی باید زمین، امتیازدهی، ابعاد، وزن و محدودیتهای فنی را به Requirement تبدیل کنی.
انتخاب رشته و تعریف استراتژی اولیه
رشته مناسب را با توان تیم، زمان، بودجه و تجهیزات انتخاب میکنی و هدف قابل سنجش میگذاری.
نقشهای تیم و مدیریت نسخه مسابقه
وظایف مکانیک، الکترونیک، نرمافزار و تست را مشخص میکنی و نسخه قابل بازگشت برای ربات نگه میداری.
سنسورها در شرایط مسابقه
انتخاب سنسور برای زمین مسابقه
سنسور را بر اساس سرعت پاسخ، نور محیط، فاصله و احتمال خطا انتخاب میکنی.
کالیبراسیون و فیلتر داده مسابقه
آستانهها را با داده واقعی تنظیم میکنی و نویز را بدون کند کردن بیش از حد پاسخ کم میکنی.
افزونگی و مدیریت خطای سنسور
برای خرابی یا داده نامعتبر سنسور، رفتار امن و جایگزین تعریف میکنی.
استراتژی، تست و عیبیابی
طراحی Test Case و معیار قبولی
به جای تست تصادفی، سناریو، ورودی، انتظار و نتیجه را ثبت میکنی.
Telemetry، لاگ و عیبیابی سریع
اطلاعات کلیدی را ثبت میکنی تا مشکل مسابقه از روی حدس تحلیل نشود.
تمرین روز مسابقه و مدیریت ریسک
خرابیهای محتمل، قطعات یدکی، زمان آمادهسازی و نقش افراد را از قبل تمرین میکنی.
الکترونیک مقدماتی
ولتاژ، جریان، مقاومت و قانون اهم
سه کمیت پایه مدار را میشناسی و رابطه آنها را برای انتخاب مقاومت و تحلیل مدار ساده استفاده میکنی.
مدار سری، موازی و Breadboard
مسیر جریان در مدارهای ساده و نحوه بستن نمونه بدون لحیم را یاد میگیری.
LED، دیود، ترانزیستور و رله
نقش چند قطعه پرکاربرد را میفهمی و میدانی چرا خروجی میکروکنترلر همیشه مستقیم بار را راه نمیاندازد.
مولتیمتر، منبع تغذیه و ایمنی
اندازهگیری درست را یاد میگیری و میفهمی چه خطاهایی میتواند به قطعه یا ابزار آسیب بزند.
C/C++ برای Embedded
نوع داده، حافظه و اندازه متغیر
در Embedded میفهمی هر نوع داده چقدر حافظه میگیرد و Overflow چه خطری دارد.
Bitwise و Register Thinking
بیتها را برای Flag، Mask و تنظیم سختافزار دستکاری میکنی.
Pointer، Scope و کد قابل پیشبینی
اشارهگر را در حد لازم برای APIهای سختافزاری میفهمی و از رفتار مبهم دوری میکنی.
ESP32 پیشرفته
Interrupt و ISR ایمن
کار سریع را در ISR انجام میدهی و پردازش سنگین را به loop میسپاری.
Timer، ADC و PWM پیشرفتهتر
Peripheralهای سختافزاری را برای زمانبندی و کنترل دقیقتر به کار میگیری.
Task و Watchdog در ESP32
با مفهوم چند Task و جلوگیری از گیر کردن Firmware آشنا میشوی.
پروتکلهای سختافزاری
UART و ارتباط سریال نقطهبهنقطه
Baud rate، TX/RX و خطاهای رایج ارتباط سریال را میشناسی.
I2C و چند دستگاه روی دو سیم
Address، SDA/SCL و Pull-up را در باس I2C میفهمی.
SPI و ارتباط سریع همزمان
Clock، MOSI/MISO و Chip Select را برای Peripheralهای سریع به کار میبری.
ورود به STM32
ARM Cortex-M و ساختار STM32
با خانواده MCUهای STM32، Clock و Peripheralها آشنا میشوی.
CubeMX، HAL و اولین Firmware
پروژه را پیکربندی، Build و روی برد Flash میکنی.
Debug با Breakpoint و Watch
به جای Serial-only، اجرای Firmware را قدمبهقدم بررسی میکنی.
ESP32 از نزدیک
ESP32، پایهها و محدودیتهای سختافزاری
قابلیت Wi-Fi/Bluetooth، GPIO و تفاوتهای مهم ESP32 با Arduino Uno را میشناسی.
Wi-Fi Station و اتصال امن پایه
ESP32 را به شبکه وصل میکنی و وضعیت اتصال و قطع شدن را مدیریت میکنی.
ساختار Firmware قابل نگهداری
کد سنسور، ارتباط و منطق را از هم جدا میکنی تا پروژه رشدپذیر باشد.
HTTP و API
HTTP Request/Response و Methodها
GET و POST و Status Codeها را در سناریوی IoT میشناسی.
JSON و طراحی Payload کوچک
داده سنسور را با ساختار خوانا و کمحجم بین دستگاه و سرور ردوبدل میکنی.
REST API، خطا و Rate Limit
API را با endpoint روشن، مدیریت خطا و محدودیت ارسال مصرف میکنی.
MQTT و ارتباط بلادرنگ
Broker، Topic و Publish/Subscribe
مدل پیامرسانی MQTT را برای چند دستگاه و مصرفکننده میفهمی.
QoS، Retain و Last Will
تنظیمات تحویل پیام را بر اساس اهمیت داده انتخاب میکنی.
طراحی Topic و امنیت پایه
ساختار Topic قابل توسعه و احراز هویت/رمزنگاری پایه را در نظر میگیری.
شبکه برای IoT
IP، Subnet، Gateway و DNS
میفهمی دستگاه IoT برای رسیدن به شبکه محلی و اینترنت به چه اطلاعاتی نیاز دارد.
Client/Server و Port
نقش دستگاه، سرور و شماره پورت را در یک ارتباط ساده توضیح میدهی.
اتصال پایدار، Timeout و Retry
برای قطع شبکه، Timeout و تلاش دوباره طراحی میکنی تا دستگاه قفل نشود.
مکانیک پایه ربات
نیرو، گشتاور و تعادل
نیرو و فاصله از محور را برای فهم حرکت و انتخاب موتور به هم ربط میدهی.
سرعت خطی، سرعت زاویهای و چرخ
RPM موتور را به سرعت تقریبی حرکت ربات تبدیل میکنی.
اصطکاک، بار و ضریب اطمینان
طراحی را فقط برای حالت ایدهآل انجام نمیدهی و حاشیه ایمنی میگذاری.
CAD و مدلسازی
Sketch، Dimension و Constraint
اسکچ را کاملا مقید میکنی تا تغییر ابعاد رفتار قابل پیشبینی داشته باشد.
Part، Assembly و Reference
قطعات را جدا مدل میکنی و در اسمبلی روابط آنها را میسازی.
Design for Manufacturing
طراحی را با روش ساخت، تلرانس و ابزار موجود هماهنگ میکنی.
طراحی شاسی
معماری شاسی و مسیر بار
نیروها را از نقطه اعمال تا تکیهگاه دنبال و نقاط ضعیف را پیدا میکنی.
جانمایی باتری، برد و موتور
وزن، کابلکشی، دسترسی تعمیر و مرکز جرم را همزمان در نظر میگیری.
اتصال، پیچ، Spacer و مونتاژپذیری
شاسی را طوری طراحی میکنی که باز و بسته کردنش منطقی باشد.
سیستم انتقال قدرت
میکروکنترلر
میکروکنترلر چیست و چه فرقی با کامپیوتر دارد؟
MCU را به عنوان یک کامپیوتر کوچک برای کنترل ورودی و خروجی میشناسی.
GPIO، ورودی دیجیتال و خروجی دیجیتال
میفهمی پایه عمومی ورودی/خروجی چیست و چطور وضعیت صفر و یک را میخواند یا تولید میکند.
ADC، PWM، Timer و Serial
با ابزارهای داخلی MCU برای خواندن مقدار آنالوگ، ساخت خروجی شبهآنالوگ و ارتباط آشنا میشوی.
BOM و هزینه
BOM، Part Number و جایگزین
فهرست قطعات را قابل خرید، قابل پیگیری و دارای جایگزین میسازی.
Costing، تیراژ و هزینه پنهان
هزینه فقط قیمت قطعه نیست؛ مونتاژ، خرابی، حمل و تست را هم میبینی.
Supply Risk و انتخاب تامینکننده
ریسک نایاب شدن قطعه و وابستگی به یک تامینکننده را کم میکنی.
مسئله و کاربر
مسئله واقعی، کاربر واقعی
به جای شروع از تکنولوژی، درد و سناریوی واقعی کاربر را تعریف میکنی.
مصاحبه، مشاهده و فرضیه
فرضیات را با شواهد سبک و سریع بررسی میکنی.
Value Proposition و معیار موفقیت
مشخص میکنی محصول چه ارزشی میدهد و موفقیت را با چه شاخصی میسنجی.
معماری نمونه اولیه
معماری MVP سختافزار/نرمافزار
کمترین نسخهای را طراحی میکنی که فرضیه اصلی را واقعا تست کند.
Interface بین ماژولها
مرز مسئولیت بخشها و فرمت داده بین آنها را روشن میکنی.
Prototype سریع و Debt آگاهانه
میدانی کجا سادهسازی موقت قابل قبول است و کجا ریسک ایجاد میکند.
تست و تکرار
Acceptance Criteria و Test Plan
قبل از تست مشخص میکنی چه نتیجهای قبولی محسوب میشود.
Field Test و ثبت Issue
مشکل را با شرایط بازتولید، شدت و شواهد ثبت میکنی.
Iteration و تصمیم ادامه/تغییر
از داده تست برای اولویت نسخه بعد استفاده میکنی، نه از سلیقه صرف.
برنامهنویسی مقدماتی
الگوریتم، متغیر و نوع داده
یاد میگیری مسئله را به قدمهای کوچک تبدیل کنی و دادهها را با متغیر نگه داری.
شرط و منطق تصمیمگیری
با if/else و عبارتهای منطقی، برنامه را وادار میکنی بر اساس وضعیتهای مختلف رفتار متفاوت داشته باشد.
حلقه، تابع و شکستن مسئله
با حلقه کار تکراری را مدیریت میکنی و با تابع منطق را به بخشهای قابل استفاده مجدد تقسیم میکنی.
دیباگ و خواندن خطا
به جای حدس زدن، خطا را مرحلهای پیدا میکنی و با چاپ مقدارها و تست کوچک، محل مشکل را محدود میکنی.
رفتار ربات
State Machine برای رفتار ربات
رفتار را به حالتهای روشن مثل حرکت، توقف، چرخش و خطا تقسیم میکنی.
Event، Transition و اولویت تصمیم
شرط انتقال بین حالتها را مشخص و از شرطهای پراکنده جلوگیری میکنی.
رفتار Fail-safe و Recovery
ربات در خطا یا وضعیت غیرمنتظره به حالت امن میرود و در صورت امکان بازیابی میشود.
شاسی و حرکت
شاسی، مرکز جرم و پایداری
جانمایی قطعات را طوری انجام میدهی که ربات پایدار، قابل سرویس و متعادل باشد.
چرخ، اصطکاک و نوع حرکت
نوع چرخ و آرایش حرکتی را بر اساس سطح، مانورپذیری و بار انتخاب میکنی.
سرعت، گشتاور و نسبت مکانیکی
بین سرعت و نیروی حرکتی تعادل ایجاد میکنی و اثر گیربکس را میفهمی.
کنترل موتور
H-Bridge و تغییر جهت موتور
منطق تغییر جهت موتور DC را با پل H و ورودیهای کنترلی میفهمی.
PWM و Ramp برای حرکت نرم
به جای تغییر ناگهانی سرعت، شتاب و کاهش سرعت نرم ایجاد میکنی.
Encoder و کنترل حلقه بسته مقدماتی
سرعت واقعی را اندازه میگیری و تفاوت فرمان با رفتار واقعی را میبینی.
ادغام سنسورها
ترکیب چند سنسور و زمان نمونهبرداری
داده چند سنسور را بدون بلوکه کردن loop جمع میکنی.
فیلتر، آستانه و Hysteresis
از نوسان تصمیم نزدیک مرز آستانه جلوگیری میکنی.
تشخیص خطا و داده نامعتبر
برای مقدار خارج از محدوده یا سنسور قطعشده رفتار مشخص تعریف میکنی.
آشنایی با رباتیک
ربات دقیقا چیست؟
با تعریف ساده ربات، تفاوت آن با یک دستگاه معمولی و مدل حس کن، فکر کن، عمل کن آشنا میشویم.
اجزای اصلی یک ربات
سنسور، کنترلر، عملگر، منبع تغذیه و بدنه را کنار هم میگذاریم و نقش هر کدام را یاد میگیریم.
چرخه حس کن، فکر کن، عمل کن
یاد میگیریم یک رفتار رباتیکی را به ورودی، منطق تصمیم و خروجی تبدیل کنیم و اولین شبهکد را بخوانیم.
کنترل و PID
Feedback و حلقه بسته
فرق کنترل حلقه باز و بسته را با مثال سرعت موتور میفهمی.
PID: P، I و D چه میکنند؟
اثر هر بخش کنترلکننده را روی خطا، سرعت پاسخ و نوسان میشناسی.
Tuning، Saturation و Anti-windup
کنترلر را مرحلهای تنظیم میکنی و محدودیت Actuator را در نظر میگیری.
Linux برای رباتیک
Terminal، File System و Permission
دستورات پایه و ساختار فایل را برای کار روزمره رباتیک استفاده میکنی.
Process، Service و Log
فرآیندهای در حال اجرا و لاگها را برای عیبیابی مدیریت میکنی.
Network Tools و SSH
به ربات از راه دور وصل میشوی و اتصال شبکه را بررسی میکنی.
Localization و Navigation
TF و Frameهای مختصات
رابطه بین map، odom، base_link و سنسورها را میفهمی.
Odometry و Localization
تخمین حرکت و جای ربات را از حسگرها و مدل حرکتی درک میکنی.
Map، Planner و Navigation Stack
اجزای اصلی مسیریابی از نقشه تا فرمان حرکت را کنار هم میگذاری.
ROS2 از پایه
Workspace، Package و Node
ساختار پروژه ROS2 و نقش Nodeها را میفهمی.
Topic، Publisher و Subscriber
داده پیوسته را بین Nodeها منتشر و دریافت میکنی.
Service، Action و Parameter
برای درخواست/پاسخ، کار طولانی و تنظیمات Runtime ابزار مناسب را انتخاب میکنی.
سنسورها و عملگرها
سنسور، دقت، کالیبراسیون و نویز
قبل از اعتماد به عدد سنسور، کیفیت اندازهگیری و محدوده آن را بررسی میکنی.
سنسورهای فاصله، نور و دما
سه خانواده سنسور پرکاربرد را میشناسی و بر اساس محیط و نیاز انتخاب میکنی.
موتور DC، Servo و Stepper
فرق عملگرهای حرکتی را میفهمی و انتخاب مناسب برای سرعت، زاویه یا موقعیت دقیق انجام میدهی.
درایور موتور، تغذیه و حفاظت
میفهمی چرا موتور را مستقیم به پایه MCU وصل نمیکنیم و مسیر توان را جدا طراحی میکنی.