</> Make for Iran – بسازیم برای ایران

پروژه‌ها، آموزش‌ها و ابزارها برای سازندگان و علاقه‌مندان الکترونیک

  • خانه
  • الکترونیک
  • پرینت سه‌بعدی
  • حکاکی و برش لیزری
  • ابزار کارگاهی
  • پهپاد
  • ربات زمینی UGV
  • ربات پرنده UAV
  • صنایع دستی
  • آموزش
  • پروژه‌ها
  • درباره ما
خانه›ربات‌های پرنده (UAV)›راهنمای Optical Flow برای Drone: پرواز دقیق بدون GPS در فضای بسته (فارسی)
ربات‌های پرنده (UAV) پروژه‌ها

راهنمای Optical Flow برای Drone: پرواز دقیق بدون GPS در فضای بسته (فارسی)

​ ژوئن 11, 2026 1 دقیقه مطالعه
Optical Flow پرواز بدون GPS Drone فضای بسته

Optical Flow چیست؟ (برای مبتدی)

در فضاهای بسته (داخل ساختمان)، GPS سیگنال ضعیفی دارد یا اصلاً کار نمی‌کند. Optical Flow یک سنسور است که مثل ماوس کامپیوتری، حرکت تصویر زمین را زیر پهپاد تشخیص می‌دهد — اگر پهپاد به چپ برود، سنسور آن را می‌فهمد و FC جبران می‌کند.

سنسور PMW3901 یک چیپ Optical Flow رایج و ارزان است که به همراه یک سنسور فاصله (مثل VL53L1X یا یک سونار) کار می‌کند — سنسور فاصله ارتفاع واقعی را اندازه می‌گیرد تا محاسبه سرعت دقیق باشد. این ترکیب به پهپاد اجازه می‌دهد در حالت Loiter بدون GPS در جای خود ثابت بماند.

هدف این راهنما

نصب PMW3901 + VL53L1X روی پهپاد و تنظیم ArduPilot برای پرواز Loiter بدون GPS در فضای داخلی.

  • پیش‌نیاز: پهپاد mini-quad با ArduPilot یا iNAV
  • زمان: ۲ تا ۳ ساعت

FC + PMW3901 VL53L1X ↓ Laser Range ↓ زمین (کف اتاق) Flow ↓ Optical Flow — حرکت تصویر کف + فاصله لیزر = موقعیت دقیق

تنظیم ArduPilot برای Optical Flow


// اتصال PMW3901:
// SPI: MISO=MISO, MOSI=MOSI, SCK=SCK, CS=CS
// یا از طریق ماژول از پیش سوار (Matek 3901-L0X)

// پارامترهای ArduPilot (Mission Planner):
FLOW_TYPE = 6       // PMW3901 از طریق SPI
FLOW_FXSCALER = 0   // scaling خودکار
FLOW_FYSCALER = 0
FLOW_ORIENT_YAW = 0 // جهت سنسور (چرخش نصب)

// سنسور فاصله VL53L1X از طریق I2C:
RNGFND1_TYPE = 16   // VL53L1X
RNGFND1_ADDR = 41   // آدرس I2C

// فعال‌سازی Optical Flow Fusion:
EK3_SRC1_VELXY = 5  // Optical Flow
EK3_SRC1_POSZ  = 6  // Range Finder برای Z

// Loiter بدون GPS:
// نیاز به EK3 + ارتفاع ثابت زیر ۵ متر
// GPS_TYPE = 0 (غیرفعال) برای فضای داخلی

کالیبراسیون Optical Flow


// کالیبراسیون FLOW_FXSCALER/FYSCALER:
// پهپاد را ۱ متر بالای یک سطح با بافت پرواز دهید
// در حالت ALT_HOLD با Throttle ثابت به جلو بروید
// در MissionPlanner، FLOW.bodyX را با GPS.vx مقایسه کنید
// نسبت = ضریب calibration
// مثال: اگر FLOW.bodyX = 0.8 × GPS.vx → FLOW_FXSCALER = 20 اضافه کنید

چک‌لیست تست

تست نتیجه
FLOW_TYPE در MP خوانده می‌شود؟ Sensor Health = OK
Range Finder ارتفاع صحیح می‌دهد؟ بله — نسبت به کف
در ALT_HOLD پهپاد Drift می‌کند؟ کمتر از ۰.۵m/min = خوب
در Loiter در جا می‌ماند؟ ±۳۰cm قابل قبول

PMW3901 Flow + Range EKF3 Fusion Position ArduPilot Loiter Mode پرواز ثابت بدون GPS Optical Flow — PMW3901 → EKF → Loiter بدون GPS

ویدئوهای آموزشی


منابع بیشتر

  • آپارات: Optical Flow پرواز داخل ساختمان
  • ArduPilot: Optical Flow Setup
برچسب‌ها: ArduPilot Betaflight Drone Optical Flow PMW3901 آموزش گام‌به‌گام فضای بسته پرواز بدون GPS
​
مطلب بعدی ساخت ربات بازوی رباتیک ۴-DOF با سرووموتور و آردوینو: برنامه‌نویسی حرکت (فارسی) مطلب قبلی ساخت سیستم پرتاب دستی برای هواپیمای FPV: Bungee Launcher با کشسان (فارسی)
</> Make for Iran – بسازیم برای ایران

پروژه‌ها، آموزش‌ها و ابزارها برای سازندگان و علاقه‌مندان الکترونیک

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

دسته‌بندی‌ها

  • پروژه‌ها
  • ربات‌های پرنده (UAV)
  • آموزش
  • ربات‌های زمینی (UGV)
  • الکترونیک
  • پهپاد و مولتی‌روتور

پیوندها

  • خانه
  • درباره ما
  • تماس
  • فید RSS

آخرین مطالب

  • خلاصه دوره ArduPilot/iNAV و گام‌های بعدی (فارسی)
  • رادیو تله‌متری در مقابل LTE/4G برای کنترل از راه دور (فارسی)
  • Ground Station روی موبایل و تبلت — QGroundControl و Solex (فارسی)
  • راه‌اندازی Ground Station با Mission Planner (فارسی)
© 2026 Make for Iran – بسازیم برای ایران. تمامی حقوق محفوظ است.
ساخته شده با ❤️ برای سازندگان ایران  |  ورود