SmartRTL перестав записувати шлях назад
Що пише ArduPilot:
- SmartRTL deactivated: init failed
- SmartRTL deactivated: …
SmartRTL повертається шляхом, яким коптер летів туди. У заармованому стані шлях записується точками на відстані щонайменше SRTL_ACCURACY одна від одної (типово 2 м), щонайбільше SRTL_POINTS точок (типово 300). Цей рядок каже, що запис зупинено, тож до кінця цього польоту SmartRTL недоступний; далі йде причина. «bad position»: 15 с не було придатної оцінки позиції. «buffer full»: шлях був повний, і 15 с не вдавалося додати жодної точки. «init failed»: під час запуску не вистачило пам'яті для шляху. «program error»: внутрішня несправність.
Що робити: найімовірніше спершу
«bad position»: GPS або EKF (оцінювач позиції) понад 15 с не мав придатної позиції.
ПеревіртеНезадовго до цього рядка з'являються повідомлення GPS чи EKF — у наземній станції або в лозі.
ВиправтеЗ'ясуйте, чому зникла позиція: звичайному RTL вона теж потрібна, тож справжня проблема саме в цьому. Запис почнеться заново з наступним армуванням.
«buffer full»: довгий політ із багатьма поворотами використав усі точки, а впорядкування шляху не змогло звільнити жодної.
ПеревіртеСпершу з'являвся «SmartRTL Low on space!».
ВиправтеЗбільшіть
SRTL_POINTS(щонайбільше 500; кожні 100 точок займають близько 3 кБ пам'яті) і перезавантажте або збільшітьSRTL_ACCURACY, щоб точки лежали далі одна від одної. До кінця цього польоту шлях додому — RTL.«init failed»: під час запуску платі бракувало вільної пам'яті.
ВиправтеЗменшіть
SRTL_POINTSабо звільніть пам'ять, вимкнувши можливості, якими не користуєтеся, потім перезавантажте. SmartRTL лишається вимкненим до запуску, під час якого пам'яті вистачить.
Фейлсейф чи дія геозони, налаштовані на SmartRTL, разом із ним не відмовляють: вони переходять на RTL або Land, як каже назва опції («SmartRTL Unavailable, Trying RTL Mode»).
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
SRTL_POINTS | SmartRTL maximum number of points on path |
SRTL_ACCURACY | SmartRTL accuracy |
Де це зробити:Налаштування й тюнінг
Код, який це надсилає
SmartRTL deactivated: init failed
libraries/AP_SmartRTL/AP_SmartRTL.cpp AP_SmartRTL::init() · Відкрити в ArduPilot Copter-4.7.1
SmartRTL deactivated: …
libraries/AP_SmartRTL/AP_SmartRTL.cpp AP_SmartRTL::deactivate() · Відкрити в ArduPilot Copter-4.7.1