Логи: искать причинную цепочку, а не «крутить PID»
Один симптом может возникать из-за механики, скорости, питания, центровки или настройки. Сначала отделяем физическую проблему от работы контроллера.
Симптом → физика → канал данных → следующая проверка
Минимальные каналы:
ArduPilot
DataFlash: ATT, GPS, BAT/POWR, RCIN, RCOU, MODE; по задаче — PIDR/PIDP, TECS/CTUN, ARSP и навигационные сообщения.
INAV
Blackbox: ATTI, RC_DATA/RC_COMMAND, SERVOS, GPS и питание; по задаче NAV_POS/NAV_PID и дополнительные поля.
Практика диагностики
Для каждого симптома выберите следующую проверку; вывод появится только после ответа.
Кейс 1 — Pitch
Симптом: pitch response колеблется относительно command.
Гипотеза: причина может быть в механике, CG/trim, airspeed, saturation или gains.
Нужный канал: pitch command/response; для подтверждения — servo output и airspeed.
Проверка: выберите следующий безопасный шаг.
Кейс 2 — Вибрация
Симптом: в gyro виден устойчивый высокочастотный сигнал.
Гипотеза: механический источник либо аэродинамическая раскачка.
Нужный канал: gyro/vibration proxy и спектр; затем motor/servo output.
Проверка: выберите следующий безопасный шаг.
Кейс 3 — Ветер / airspeed
Симптом: ground speed падает, хотя самолёт продолжает лететь устойчиво.
Гипотеза: нехватка тяги либо изменение ветра.
Нужный канал: airspeed и ground speed на одном участке времени.
Проверка: выберите следующий безопасный шаг.