← Усі інструменти

Пояснення повідомлень і помилок

Що означає повідомлення ArduPilot і що з ним робити

English

Виміряне поле не збігається з полем Землі в цьому місці

Не даєКомпас

Що пише ArduPilot:

Щойно є позиція, ArduPilot бере з вбудованої карти світу, яким тут має бути магнітне поле Землі, за своєю оцінкою орієнтації розкладає показ першого компаса на північ, схід і низ та порівнює. Відхилення на північ чи схід більше за ARMING_MAGTHRESH (типово 100 мілігаусів) дає «xy diff» з різницею та межею. Вертикальній складовій задумано подвійну межу («z diff»), але в цій версії через помилку в коді ця перевірка ніколи не спрацьовує. Перевірка починається лише після GPS-фікса, тому армування може вдаватися в приміщенні й не вдаватися надворі.

Що робити: найімовірніше спершу

  1. Сталь чи магніт поблизу викривляє поле: машина, металевий стіл, залізобетон.

    ПеревіртеРізниця в повідомленні змінюється, коли ви відносите апарат на кілька метрів.

    ВиправтеПеред армуванням вийдіть на відкрите місце.

  2. Калібрування робили в місці із завадами або до того, як на апарат додали щось магнітне.

    ВиправтеВідкалібруйте знову надворі, з усім обладнанням і з GPS-фіксом, потім перезавантажте.

  3. Компас встановлено догори дном або під нахилом, а COMPASS_ORIENT цього не враховує.

    ПеревіртеУ північній півкулі нахил носа вниз має збільшувати значення X компаса, а переворот апарата догори дном — зменшувати Z; у південній півкулі навпаки.

    ВиправтеЗапустіть калібрування з COMPASS_AUTO_ROT 2 (типове значення): воно знаходить орієнтацію зовнішнього компаса й зберігає її в COMPASS_ORIENT. Для компаса на платі виправте AHRS_ORIENTATION.

У 4.7 вертикальну перевірку виправлено. Тому компас, з яким ця версія армується, після оновлення може дістати відмову з «z diff»: похибка була й раніше, її лише не перевіряли.

Параметри, на які варто глянути

ПараметрЩо це
ARMING_MAGTHRESHCompass magnetic field strength error threshold vs earth magnetic model
COMPASS_ORIENTCompass orientation
COMPASS_EXTERNALCompass is attached via an external cable
AHRS_ORIENTATIONBoard Orientation
COMPASS_AUTO_ROTAutomatically check orientation
COMPASS_SCALECompass1 scale factor
Код, який це надсилає

PreArm: Check mag field (z diff:N.N>N)

libraries/AP_Arming/AP_Arming.cpp AP_Arming::compass_checks() · Відкрити в ArduPilot Copter-4.7.1

PreArm: Check mag field (xy diff:N.N>N)

libraries/AP_Arming/AP_Arming.cpp AP_Arming::compass_checks() · Відкрити в ArduPilot Copter-4.7.1

Тут написано для: Коптер, 4.6. В інструменті можна вибрати свій апарат і версію, побачити значення власних параметрів поруч із названими тут і перетягнути лог польоту, щоб отримати пояснення до кожного повідомлення в ньому.

Відкрити в інструменті