Аналіз місій ArduPilot / Mission Planner — десктоп-застосунок на
Python/Tkinter для перевірки маршрутів .waypoints перед польотом:
запас висоти над рельєфом (SRTM), гострі повороти, кут набору/зниження,
глісада заходу на посадку, погода в точках старту й посадки, пряме
підключення до ArduPilot по MAVLink.
A desktop mission-analysis tool for ArduPilot/Mission Planner
.waypointsfiles — terrain clearance, turn/climb angle checks, landing glide-slope profile, weather at takeoff/landing, and direct MAVLink connect to read/write missions from the flight controller.
Це невеликий, але живий проєкт, і мені цікаво зробити його кращим разом з іншими. Буду радий, якщо доєднаєтесь у будь-якій із трьох ролей:
- 🛠 Розробка — PR з новими фічами, рефакторингом чи виправленнями
ласкаво просимо. Структура проєкту описана в
ARCHITECTURE.md— модулі логіки (analyzer.py,geo.py...), окремо модулі відрисовки (*_view.py), окремо GUI (app.py). Перед великими змінами краще відкрити issue й обговорити підхід — щоб не переробляти вдруге. - 🧪 Тестування — реальні
.waypointsфайли, різні рельєфи, різні версії ArduPilot/Mission Planner, Windows/Linux/macOS. Багрепорти з конкретним файлом місії й скріншотом — найцінніше, що можна дати проєкту на цьому етапі. - 💬 Обговорення — ідеї, що ще варто перевіряти в місії перед польотом, які метеоумови важливі, які дані з ArduPilot хотілося б бачити. Не обов'язково вміти писати код, щоб підказати корисну ідею.
Приєднатися просто:
- Issues — баги, конкретні пропозиції;
- Discussions — питання, ідеї, все, що не тягне на issue;
- Pull Requests — код, документація, переклади.
- Розбір
.waypoints(QGC WPL 110), повна таблиця команд місії - Перевірки: запас висоти над рельєфом (SRTM), гострі повороти, кут траєкторії поза допуском
- Профіль висоти, профіль кута траєкторії, профіль глісади заходу на посадку з рельєфом
- Карта маршруту (OSM/Google, офлайн-кеш тайлів) + окремі квадратні карти 4×4 км навколо точок старту й посадки
- Погода в точках старту/посадки (Open-Meteo, безкоштовно): вітер, температура, схід/захід сонця, оцінка бокового/зустрічного вітру на зліт і посадку
- Прямий зв'язок з ArduPilot по MAVLink: читання й запис місії на борт
- Експорт звіту аналізу в PDF
- Українська та англійська локалізація
Потрібен Python 3.10+.
pip install reportlab pyserial pymavlink Pillow
python app.pyreportlab потрібен для експорту в PDF, pyserial/pymavlink — для
підключення до ArduPilot, Pillow — для JPEG-тайлів супутникових карт
і якісного масштабування логотипу. Без них застосунок все одно
запускається, просто відповідні функції обмежені (детальніше в
ARCHITECTURE.md).
Детальний опис усіх модулів, залежностей і сторінок — у
ARCHITECTURE.md.
Поки не визначено — якщо є побажання щодо ліцензії, welcome в Discussions.
