Advanced Failsafe навмисно завершує політ
Що пише ArduPilot:
- Terminating due to fence breach
- Terminating due to …
- Terminating due to dual loss
- Terminating due to RC failure
- Terminating due to range N.Nkm
Advanced Failsafe (AFS) — необов'язкова система, створена для змагань, правила яких вимагають, щоб апарат був посаджений на землю, а не полетів геть. З AFS_TERM_ACTION 42 літак сам себе розбиває: газ прибрано, закрилки випущено, елерони, кермо напрямку й кермо висоти до упору. З 43 QuadPlane сідає у QLAND, а звичайному літаку лише дизармується мотор, і він планерує далі у своєму режимі. Рядок називає причину: RC failure (немає радіо протягом AFS_RC_FAIL_TIME), fence breach (вихід за геозону), range (далі ніж AFS_MAX_RANGE км від місця армування), dual loss (наземну станцію й GPS втрачено разом) або причину, яку передав фейлсейф батареї чи наземна станція.
Що робити: найімовірніше спершу
AFS увімкнули без потреби або з налаштуваннями, скопійованими зі змагального апарата.
Перевірте
AFS_ENABLEдорівнює 1, аAFS_TERM_ACTION— 42.ВиправтеAFS — єдиний фейлсейф, якого першому літаку мати не варто: якщо правила не вимагають примусового завершення польоту, задайте
AFS_ENABLE0 і дайте звичайним фейлсейфам повернути літак додому (FS_LONG_ACTN1, RTL).Причина з рядка справді настала.
ПеревіртеПрочитайте останні слова рядка й лог перед ним.
ВиправтеРозглядайте кожну як окрему несправність: дальність радіо для RC failure, розмір геозони для виходу за неї,
AFS_MAX_RANGEдля range, телеметрію й приймання GPS для dual loss.Фейлсейф батареї налаштовано на Terminate (
BATT_FS_LOW_ACTабоBATT_FS_CRT_ACTдорівнює 3).ПеревіртеРядок закінчується на «low battery» або «critical battery».
ВиправтеВиберіть для фейлсейфів батареї 1 (RTL) або 2 (Land), якщо тільки навмисне падіння при розрядженій батареї — не те, чого ви хочете.
Зміна режиму польоту примусове завершення не зупиняє. Його зупиняє повернення AFS_TERMINATE у 0 з наземної станції («Aborting termination …»), якщо для цього ще є висота і зв'язок.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
AFS_ENABLE | Enable Advanced Failsafe |
AFS_TERM_ACTION | Terminate action |
AFS_TERMINATE | Force Terminate |
AFS_RC_FAIL_TIME | RC failure time |
AFS_GEOFENCE | Enable geofence Advanced Failsafe |
AFS_MAX_RANGE | Max allowed range |
AFS_DUAL_LOSS | Enable dual loss terminate due to failure of both GCS and GPS simultaneously |
AFS_GCS_TIMEOUT | GCS timeout |
Де це зробити:Стартові параметри
Код, який це надсилає
Terminating due to fence breach
libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp AP_AdvancedFailsafe::check() · Відкрити в ArduPilot Copter-4.7.1
Terminating due to …
libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp AP_AdvancedFailsafe::gcs_terminate() · Відкрити в ArduPilot Copter-4.7.1
Terminating due to dual loss
libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp AP_AdvancedFailsafe::check() · Відкрити в ArduPilot Copter-4.7.1
Terminating due to RC failure
libraries/AP_AdvancedFailsafe/AP_AdvancedFailsafe.cpp AP_AdvancedFailsafe::check() · Відкрити в ArduPilot Copter-4.7.1
І ще 1 повідомлень, що надсилаються з тих самих місць.