Follow Me Drone چیست؟ (مبتدی)
حالت Follow Me در ArduPilot به پهپاد امکان میدهد که به طور خودکار موقعیت یک هدف متحرک (مثل GPS موبایل شما) را دنبال کند و همیشه در فاصله و ارتفاع مشخص نگه دارد. این یک ویژگی استاندارد در ArduCopter است که نیازی به کد اضافه ندارد.
برای این کار، QGroundControl روی موبایل اندروید GPS شما را هر چند ثانیه از طریق MAVLink به پهپاد ارسال میکند. پهپاد به این موقعیتهای رسیده Follow Target تبدیل میکند و به سمت آن حرکت میکند. فاصله نگهداشتن، ارتفاع، و سرعت قابل تنظیم است.
محصولی که میسازید
پهپاد Follow Me که ۵ متر پشت سر و ۳ متر بالاتر از شما پرواز میکند.
- پروتکل: MAVLink Follow Target Message
- دقت: ±۲-۵ متر (GPS موبایل)
- نرمافزار: QGroundControl رایگان
تنظیم Follow Me در ArduPilot
// ArduPilot Parameters برای Follow Mode:
// در Mission Planner → Full Parameter List:
FOLL_ENABLE = 1 // فعال کردن Follow
FOLL_DIST_MAX = 50 // متر — بیشتر از این → RTH
FOLL_ALT_TYPE = 1 // ارتفاع نسبی به هدف
FOLL_OFS_X = 0 // جلو/عقب متر (منفی = عقب)
FOLL_OFS_Y = 0 // چپ/راست
FOLL_OFS_Z = -3.0 // بالا/پایین (منفی = بالاتر)
FOLL_YAW_BEHAVE = 1 // همیشه به سمت هدف نگاه
// تنظیم Mode Switch:
// یک سوئیچ را به FOLLOW mode وصل کنید
// در QGroundControl → Vehicle Setup → Flight Modes
// در QGroundControl Android:
// Settings → Telemetry → Enable Telemetry
// Vehicle Setup → Follow Me → Enable
// پهپاد باید از قبل Arm و در Loiter باشد
ارسال Follow Target با Python
# جایگزین QGroundControl — ارسال Follow Target دستی
from pymavlink import mavutil
import time
# اتصال به پهپاد (UDP یا Serial):
master = mavutil.mavlink_connection("udp:127.0.0.1:14550")
master.wait_heartbeat()
print(f"Connected to {master.target_system}")
# تنظیم Follow Mode:
master.mav.set_mode_send(master.target_system,
mavutil.mavlink.MAV_MODE_FLAG_CUSTOM_MODE_ENABLED, 23) # 23 = FOLLOW
def send_follow_target(lat, lon, alt):
"""ارسال موقعیت هدف"""
master.mav.follow_target_send(
int(time.time()*1000), # timestamp ms
1, # valid_bitmask: lat/lon/alt
int(lat*1e7),
int(lon*1e7),
alt, # altitude (meters MSL)
[0,0,0], # velocity
[0,0,0], # acceleration
[1,0,0,0], # quaternion
0, # rates
[0,0,0], # position_cov
0 # est_capabilities
)
# شبیهسازی حرکت شما:
lat, lon = 35.7448, 51.3753
for i in range(30):
lat += 0.00001 # شمال میروید
send_follow_target(lat, lon, 50)
time.sleep(1)
چکلیست Follow Me
| بررسی | توضیح |
|---|---|
| FOLL_ENABLE = 1؟ | پارامتر در Mission Planner |
| GPS موبایل قبل از پرواز Fix دارد؟ | در QGC چک کنید |
| اولین تست با ارتفاع ۵ متر؟ | احتیاط در ارتفاع پایین |
| اگر موبایل GPS را از دست داد → RTH؟ | FOLL_DIST_MAX تنظیم |