Plane вирішив, що розбився або жорстко сів
Що пише ArduPilot:
- Hard landing detected
- Flare crash detected: speed=N.N
- Crash detected
Виявлення аварії працює лише в AUTO, коли CRASH_DETECT не 0. Plane вирішує, що розбився, коли він заармований і перед тим летів щонайменше 2.5 с, а потім пів секунди не має ні повітряної швидкості (нижче 75% від AIRSPEED_MIN), ні шляхової (нижче 1.5 м/с). Наприкінці посадки крен чи тангаж понад 60° теж вважається аварією; у межах 75 м від точки посадки про це повідомляється як «Hard landing detected». Якщо встановлено біт 0 у CRASH_DETECT, мотор дизармується, щоб заблокований пропелер не спалив ESC.
Що робити: найімовірніше спершу
Літак справді розбився або сів далеко від точки посадки.
ВиправтеВід'єднайте батарею, перш ніж торкатися пропелера. Потім прочитайте лог назад від повідомлення: повітряна швидкість, висота й газ за останні пів хвилини зазвичай усе пояснюють.
Запуск із руки чи катапульти не вдався: запуск розпізнано, але літак так і не полетів.
ПеревіртеПовідомлення з'являється за кілька секунд після «Triggered AUTO», а в лозі немає набору висоти.
ВиправтеПеревірте, чи мотор запускається досить швидко після кидка (
TKOFF_THR_DELAY), і кидайте сильніше й рівніше. Якщо спрацювало від того, що літак просто несли,TKOFF_THR_MINACCзамалий для вашого запуску.Автоматична посадка закінчилася на носі чи на крилі («Hard landing detected»).
ВиправтеПодивіться на рядок «Flare» цієї посадки: висоту й швидкість зниження, з яких почалося вирівнювання. Вирівнюйте вище (
LAND_FLARE_ALT,LAND_FLARE_SEC) або заходьте повільніше.
Перевірці потрібен 3D-фікс GPS або справний датчик повітряної швидкості. «Flare crash detected» надсилається замість звичайного рядка «Flare», коли вирівнювання починається, а стан «летить» застарів більш ніж на 3 с; це буває рідко. У 4.7 невдалий запуск вважається аварією, лише коли TKOFF_ACCEL_CNT дорівнює 1.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
CRASH_DETECT | Crash Detection |
CRASH_ACC_THRESH | Crash Deceleration Threshold |
AIRSPEED_MIN | Minimum Airspeed |
TKOFF_THR_MINACC | Takeoff throttle min acceleration |
LAND_FLARE_ALT | Landing flare altitude |
LAND_FLARE_SEC | Landing flare time |
Код, який це надсилає
Hard landing detected
ArduPlane/is_flying.cpp Plane::crash_detection_update() · Відкрити в ArduPilot Plane-4.7.1
Flare crash detected: speed=N.N
libraries/AP_Landing/AP_Landing_Slope.cpp AP_Landing::type_slope_verify_land() · Відкрити в ArduPilot Plane-4.7.1
Crash detected
ArduPlane/is_flying.cpp Plane::crash_detection_update() · Відкрити в ArduPilot Plane-4.7.1