EKF більше не довіряє GPS (або курс неправильний)
Що пише ArduPilot:
- GPS Glitch or Compass error
- ERR GPS-2 (Subsys 11, ECode 2)
EKF, оцінювач позиції та орієнтації в ArduPilot, позначив GPS як ненадійний: точність швидкості, яку повідомляє сам приймач, стала гіршою за 1.5 м/с, або цілу секунду позиція та швидкість GPS розходилися з тим, що передбачають IMU і компас. Сам рядок нічого не змінює, але в Loiter, RTL чи Auto коптер може дрейфувати або нахилятися не туди, а якщо стане гірше, спрацює фейлсейф EKF («EKF variance»). Будьте готові перемкнутися в AltHold чи Stabilize і летіти вручну: ці режими позицію не використовують.
Що робити: найімовірніше спершу
Прийом GPS погіршився: глушіння чи підміна сигналу, будівлі або дерева, мало супутників, чи завади від відеопередавача або камери поруч з антеною.
ПеревіртеУ лозі: GPS.NSats падає, GPS.HDop росте, GPA.SAcc вище 1.5 у момент повідомлення.
ВиправтеЛітайте під відкритим небом, ставте GPS подалі від передавачів і камер, а злітайте лише зі стабільним фіксом. Там, де очікується глушіння, плануйте політ без позиції.
Курс неправильний, тож швидкість GPS не збігається з напрямком, у якому коптер нібито летить: завади компасу від силових дротів або погане калібрування.
ПеревіртеПеред повідомленням коптер кружляє навколо точки утримання; у лозі інновації компаса (XKF3.IMX, IMY, IMZ) ростуть разом із газом.
ВиправтеВідкалібруйте компас надворі подалі від металу, підніміть його далі від силових дротів і виконайте калібрування завад від моторів, якщо похибка росте з газом.
Сильна вібрація псує швидкість, обчислену з IMU, і правильний GPS здається хибним.
ПеревіртеVIBE.VibeX, VibeY чи VibeZ у лозі вище 30 м/с², або VIBE.Clip зростає.
ВиправтеЗнайдіть і усуньте вібрацію: збалансуйте пропелери, перевірте кріплення польотного контролера.
Параметри, на які варто глянути
| Параметр | Що це |
|---|---|
FS_EKF_ACTION | EKF Failsafe Action |
FS_EKF_THRESH | EKF failsafe variance threshold |
EK3_GLITCH_RAD | GPS glitch radius gate size (m) |
COMPASS_MOTCT | Motor interference compensation type |
Де це зробити:Пояснення фейлсейфівНалаштування й тюнінгНалаштування й тюнінг
Код, який це надсилає
GPS Glitch or Compass error
ArduCopter/events.cpp Copter::gpsglitch_check() · Відкрити в ArduPilot Copter-4.7.1