هستهی کنترل پرواز؛ باز، خوانا و قابل تغییر.
فریمور ESPFlight نرمافزار اصلی روی کنترلر پرواز است و پایدارسازی، کنترل موتورها، منطق ایمنی، تلهمتری و ارتباط شبکه را مدیریت میکند.
// control loop
imu.update();
failsafe.evaluate();
controller.stabilize();
motors.write();
// keep the pilot informed
telemetry.publish();بهاندازهی کافی ساده برای یادگیری و بهاندازهی کافی ساختاریافته برای توسعه.
پایدارسازی
دادههای IMU و کنترل PID در حلقهی اصلی کنترل پردازش میشوند تا Roll، Pitch و Yaw پایدار بمانند.
وضعیت ایمنی
ARM/DISARM صریح، مدیریت قطع ارتباط، وضعیت باتری و محدودیتهای ایمنی پرواز.
کنترل شبکه
پیدا کردن دستگاه، ارتباط WebSocket، مدیریت کنترل فعال و دریافت تأیید برای فرمانهای مهم.
تلهمتری
وضعیت سیستم و دادههای پرواز بهصورت زنده برای اپلیکیشن همراه ارسال میشوند.
پرواز کمکی
در صورت وجود سختافزار لازم، کمک ارتفاع و فرایندهای برخاست و فرود روی کنترل پایدارشدهی پایه اضافه میشوند.
پیکربندی
هنگامی که پهپاد متصل است، پارامترهای کنترل را میتوان از طریق اپ تنظیم کرد.
یک مسیر ارتباطی مشخص و قابل پیشبینی بین کنترلر پرواز و اپلیکیشن.
در ESPFlight، ارتباط بین اپلیکیشن و فریمور بخشی از طراحی اصلی سیستم است؛ نه مجموعهای از پیامهای پراکنده و موقت.
- پیدا کردن دستگاه با UDP
- کانال کنترل و تلهمتری WebSocket
- فرمانهای صریح ARM / DISARM
- مدل مالکیت تککنترلر
- ACK برای فرمانهای سطح بالا
- مهلت زمانی ارتباط (Timeout) و منطق ایمنی پرواز
کد را بخوانید، بسازید و بهترش کنید.
ESPFlight فریمور v1.0.0 تحت مجوز MIT متنباز است؛ بنابراین میتوانید آن را بخوانید، از آن یاد بگیرید، تغییر دهید، بازتوزیع کنید و مطابق شرایط مجوز در پروژههای شخصی یا تجاری به کار ببرید.
برای اصلاحات مستندی که بدون تغییر tag انتشار ثبت شدهاند، فایل Errata رسمی فریمور را بررسی کنید.
مشاهده Errata رسمی ↗