EKF відмовився від одного компаса й перейшов на наступний
Що пише ArduPilot:
- EKF2 IMUN switching to compass N
- EKF3 IMUN switching to compass N
Копія EKF, оцінювача позиції й орієнтації ArduPilot, перестала довіряти компасу, яким користувалася, і перейшла на наступний справний і дозволений для курсу; останнє число — новий компас, відлік від 0. Вона робить це в польоті, коли показ компаса відкидався 10 с (і не в перші 30 с після запуску EKF), або будь-коли, якщо компас нічого не надсилав 10 с.
Що робити: найімовірніше спершу
Першому компасу в польоті заважає струм моторів; інший стоїть далі від проводки.
ПеревіртеУ лозі показ першого компаса повторює струм батареї, а перемикання стається на великому газі.
ВиправтеПоставте найкраще розташований компас першим у порядку компасів (зазвичай той, що на щоглі GPS) і зробіть калібрування компас-мотор.
Компас перестав надсилати дані: розхитаний кабель або несправний датчик.
ПеревіртеУ той самий час з'являється повідомлення про стан компаса, і таке трапляється й на землі.
ВиправтеПеревірте кабель і роз'єм зовнішнього компаса; якщо він і далі зникає — замініть модуль.
Два компаси показують різні напрямки, бо один має хибну орієнтацію чи старе калібрування.
ВиправтеВідкалібруйте компаси знову й перевірте орієнтацію кожного.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
COMPASS_USE | Use compass for yaw |
EK3_AFFINITY | EKF3 Sensor Affinity Options |
EK3_MAG_I_GATE | Magnetometer measurement gate size |
Де це зробити:Налаштування й тюнінгНалаштування й тюнінг
Код, який це надсилає
EKF2 IMUN switching to compass N
libraries/AP_NavEKF2/AP_NavEKF2_Measurements.cpp NavEKF2_core::tryChangeCompass() · Відкрити в ArduPilot Copter-4.7.1
EKF3 IMUN switching to compass N
libraries/AP_NavEKF3/AP_NavEKF3_Measurements.cpp NavEKF3_core::tryChangeCompass() · Відкрити в ArduPilot Copter-4.7.1