Апарат перейшов на іншу копію EKF
Що пише ArduPilot:
- NavEKF2: lane switch N
- EKF3 lane switch N
- EKF primary changed:N
EKF, оцінювач позиції й орієнтації ArduPilot, веде одну копію (lane, або ядро) на кожен IMU. Кожна має оцінку похибки: наскільки з нею розходяться GPS і барометр (а також компас чи датчик повітряної швидкості, якщо так налаштовано). У заармованому стані апарат слідує одній lane і переходить на іншу, коли активна стає несправною або її оцінка перевищує 1.0, а інша працює краще, чи як остання спроба перед фейлсейфом EKF. Число — нова lane, відлік від 0. На коптері ту саму подію показує «EKF primary changed».
Що робити: найімовірніше спершу
Один IMU зазнав більшої вібрації, ніж інший, або кліпінгу, і його lane відпливла.
ПеревіртеПорівняйте IMU в лозі (вібрація, кліпінг, графіки акселерометрів). Підозрюваний — lane, з якої пішли.
ВиправтеЗменште вібрацію. Якщо поганий завжди той самий IMU — перевірте кріплення плати: на багатьох платах один IMU демпфований, а інший ні.
Lane використовують різні компаси, приймачі GPS чи барометри, і один із цих датчиків зіпсувався.
Перевірте
EK3_AFFINITYне 0; пошукайте повідомлення про компас, GPS чи барометр у той самий час.ВиправтеПеремикання спрацювало як слід; знайдіть і полагодьте датчик, що відмовив.
Збій GPS чи завада компасу зачепили всі lane, і перемикання було останньою спробою перед фейлсейфом EKF.
ПеревіртеЗа секунду-дві іде «EKF variance» або фейлсейф EKF.
ВиправтеДивіться «EKF variance».
Одне перемикання за політ, який загалом минув добре, — це резервування в дії. Повторні перемикання означають, що IMU чи датчик потребує уваги. У лозі: помилка підсистеми 24, код — нова lane.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
EK3_IMU_MASK | Bitmask of active IMUs |
EK3_PRIMARY | Primary core number |
EK3_AFFINITY | EKF3 Sensor Affinity Options |
EK3_ERR_THRESH | EKF3 Lane Relative Error Sensitivity Threshold |
EK3_OPTIONS | Optional EKF behaviour |
Де це зробити:Налаштування й тюнінгНалаштування й тюнінг
Код, який це надсилає
NavEKF2: lane switch N
libraries/AP_NavEKF2/AP_NavEKF2.cpp NavEKF2::checkLaneSwitch() · Відкрити в ArduPilot Copter-4.7.1
EKF3 lane switch N
libraries/AP_NavEKF3/AP_NavEKF3.cpp NavEKF3::UpdateFilter() · Відкрити в ArduPilot Copter-4.6.3
libraries/AP_NavEKF3/AP_NavEKF3.cpp NavEKF3::checkLaneSwitch() · Відкрити в ArduPilot Copter-4.6.3
libraries/AP_NavEKF3/AP_NavEKF3.cpp NavEKF3::switchLane() · Відкрити в ArduPilot Copter-4.7.1
EKF primary changed:N
ArduCopter/ekf_check.cpp Copter::check_ekf_reset() · Відкрити в ArduPilot Copter-4.7.1