Довгий фейлсейф налаштовано так, що він настає раніше за короткий
Що пише ArduPilot:
- PreArm: FS_LONG_TIMEOUT < FS_SHORT_TIMEOUT
На втрату радіо Plane відповідає у два етапи: короткий фейлсейф (дія очікування, наприклад кружляння, FS_SHORT_ACTN), а потім довгий (справжня дія, наприклад RTL, FS_LONG_ACTN). Довгий етап не має наставати першим: тут FS_LONG_TIMEOUT (типово 5 с) менший за FS_SHORT_TIMEOUT (типово 1.5 с), а короткий фейлсейф використовується (FS_SHORT_ACTN не 3).
Що робити: найімовірніше спершу
Один із двох часів змінили, а другий ні.
ВиправтеЗадайте
FS_LONG_TIMEOUTбільшим заFS_SHORT_TIMEOUT. Довгий час вибирайте за тим, скільки літак може пролетіти, перш ніж поверне додому: на 15 м/с за 5 с це 75 м.
У коді 4.6 короткий фейлсейф не чекає FS_SHORT_TIMEOUT: він починається, щойно радіо вважається втраченим. Цей час використовують лише ця перевірка та зняття фейлсейфу наземної станції. У 4.7 параметр прибрали, а з ним і цю перевірку.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
FS_LONG_TIMEOUT | Long failsafe timeout |
FS_SHORT_TIMEOUT | Short failsafe timeout |
FS_SHORT_ACTN | Short failsafe action |
FS_LONG_ACTN | Long failsafe action |
Де це зробити:Стартові параметри
Код, який це надсилає
PreArm: FS_LONG_TIMEOUT < FS_SHORT_TIMEOUT
ArduPlane/AP_Arming.cpp AP_Arming_Plane::pre_arm_checks() · Відкрити в ArduPilot Plane-4.6.3