Перейти к содержимому
23
Калибровка акселерометра и компаса

Калибровка акселерометра и компаса

Mission Planner для технического персонала · Урок 10 из 43 · Модуль 2. Ввод аппарата в эксплуатацию

Две базовые калибровки, от которых зависит всё остальное. Особое внимание компасу: это самый капризный датчик на аппарате.

Никакой объём тюнинга не компенсирует некорректно откалиброванный акселерометр. Большинство проблем с уводом в LOITER — это компас.

Содержание

1. Цели урока

После этого урока вы будете понимать:

  • как правильно провести шестипозиционную калибровку
  • когда достаточно быстрой Calibrate Level
  • чем hard-iron отличается от soft-iron искажений
  • как бороться с влиянием тока на показания компаса
  • как выполнить CompassMot и MagFit и чем они различаются
↑ К оглавлению

2. Калибровка акселерометра

Процедура определяет смещения и масштабные коэффициенты трёх осей акселерометра для каждого установленного на плате IMU (обычно их два или три).

Полная калибровка (Accel Calibration)

scale 1200 3 2026 03 25 17 38 42 56f6e 21412

Программа последовательно просит установить аппарат в шесть положений: level (горизонтально), left side, right side, nose down, nose up, on its back. Требования к процедуре:

  • аппарат должен быть неподвижен в каждом положении;
  • положения должны быть точными: используйте ровный стол, при необходимости — уровень;
  • «горизонтально» означает горизонтально по конструкции аппарата, а не по плате;
  • каждое нажатие кнопки фиксирует показания; между нажатиями аппарат не двигают.
Не держите аппарат в руках: Дрожание рук вносит шум, который калибровка воспримет как смещение. Используйте стол и подставки. Для крупных аппаратов подойдёт коробка или ящик с вырезом.

Калибровка горизонта (Calibrate Level)

Отдельная кнопка, требующая только одного положения — горизонтального. Она корректирует параметры AHRS_TRIM_X и AHRS_TRIM_Y, то есть учитывает наклон установки платы относительно корпуса.

Когда достаточно Calibrate Level: Полную шестипозиционную калибровку делают один раз при сборке или после механических изменений. Если аппарат в полёте немного уводит вбок в режиме ALT_HOLD, но в остальном ведёт себя нормально, чаще всего достаточно поставить его на ровную площадку и нажать Calibrate Level.

Проверка результата

После калибровки в горизонтальном положении на ровной поверхности:

  • в HUD крен и тангаж должны показывать 0 ± 1°;
  • в DATA → Status поля ax, ay близки к нулю, az близко к −9,81 (или +9,81 в зависимости от знака в конкретной версии).
↑ К оглавлению

3. Калибровка компаса

Магнитометр — самый капризный датчик на аппарате. Большинство проблем с уводом в LOITER, круговым дрейфом (эффект «toilet bowl») и ошибками EKF связаны именно с ним.

Идеальная калибровка даёт сферу с центром в нуле. Смещение центра — hard-iron (постоянные магниты, металл рядом). Эллипс — soft-iron или влияние тока

Идеальная калибровка даёт сферу с центром в нуле. Смещение центра — hard-iron (постоянные магниты, металл рядом). Эллипс — soft-iron или влияние тока

Виды магнитных помех

Тип помехиИсточникЛечение
Hard-iron Постоянные магниты моторов, ферромагнитные крепежи, динамики Обычная калибровка (offsets)
Soft-iron Искажение поля стальными и никелевыми деталями Калибровка с определением эллипсоида (diagonals)
От тока Магнитное поле силовых проводов и моторов, пропорциональное току COMPASS_MOT_* или CompassMot / MagFit по логу
Внешняя Арматура в бетоне, ЛЭП, автомобили Смена места калибровки и взлёта

Процедура Onboard Calibration

scale_1200_4_2026-03-25_17-38-45_b8bb0_ff440.jpg

  1. Отойдите от строений, машин, арматуры минимум на 10–15 метров. Асфальт над арматурой и бетонные площадки — плохое место.
  2. Снимите с себя часы, телефон, ключи.
  3. SETUP → Mandatory Hardware → Compass → Start.
  4. Вращайте аппарат вокруг всех трёх осей, стараясь «закрыть» полную сферу: держите его носом вверх и крутите, носом вниз и крутите, на каждом боку и крутите.
  5. Полосы прогресса заполняются по каждому компасу. Процедура занимает 1–3 минуты.
  6. По завершении программа покажет fitness (качество подгонки) и предложит перезагрузку.
FitnessОценка
≤ 8 Отлично
8–16 Приемлемо, обычно достаточно
16–30 Плохо; ищите источник помех, повторите в другом месте
≥ 30 Компас непригоден в текущей установке
Выключайте лишние компасы: Внутренний компас платы, расположенный рядом с силовой электроникой, почти всегда хуже внешнего на мачте. Если внешний компас работает хорошо, отключите внутренний: снимите галочку Use в списке компасов или установите COMPASS_USE2 = 0. Один хороший компас лучше, чем один хороший плюс один шумящий.

Компенсация влияния тока

При больших токах магнитное поле силовых проводов и моторов заметно искажает показания компаса. Искажение пропорционально току, поэтому в висении курс держится, а на разгоне или наборе высоты начинает уплывать — аппарат «косит» в LOITER, кружит вместо возврата по прямой, теряет точность в AUTO.

Есть два способа компенсации. Оба записывают поправки в одни и те же параметры, но получают их по-разному.

СпособКак выполняетсяКогда применять
CompassMot На земле, аппарат закреплён, винты перевёрнуты, газ поднимается вручную Классический способ. Нужен датчик тока. Требует надёжного крепления
MagFit по логу Обычный полёт, затем обработка бортового лога на компьютере Современный и рекомендуемый. Безопаснее и точнее, аппарат никуда не крепится

Процедура CompassMot по шагам

Это самая опасная процедура курса. Моторы раскручиваются на 50–75 процентов газа при работающих винтах, а аппарат стоит на земле. Отрыв плохо закреплённого аппарата на такой тяге — травма и разрушенная техника. Выполняйте только на открытой площадке, в защитных очках, без посторонних в радиусе нескольких метров. Если есть возможность использовать MagFit по логу, используйте его.
  1. Убедитесь, что работает датчик тока. Компенсация строится на зависимости искажения от тока, без монитора батареи она бессмысленна. Проверьте, что в DATA → Status поле current показывает ненулевое значение под нагрузкой. Настройка датчика — в SETUP → Optional Hardware → Battery Monitor.
  2. Переверните винты и переставьте их через один луч. В такой конфигурации при подъёме газа тяга прижимает аппарат к земле, а не поднимает его.
  3. Закрепите аппарат. Скотчем, стяжками, грузом — так, чтобы он гарантированно не сдвинулся.
  4. Включите передатчик, стик газа в нуле.
  5. Подключите силовую батарею.
  6. Подключите автопилот к компьютеру по USB и соединитесь в Mission Planner.
  7. Откройте SETUP → Optional Hardware → Compass/Motor Calib.
  8. Нажмите Start. Регуляторы издадут звук готовности.
  9. Плавно поднимите газ до 50–75 процентов и удерживайте 5–10 секунд. Винты вращаются.
  10. Быстро сбросьте газ в ноль.
  11. Нажмите Finish — та же кнопка, надпись на ней меняется со Start на Finish.
  12. Отключите батарею и верните винты в нормальное положение.

Во время процедуры экран показывает четыре величины и строит график зависимости помехи от газа:

ПоказательЧто означает
Current Текущий ток, А
x, y, z Рассчитываемые коэффициенты компенсации по трём осям
Throttle Текущее положение газа, проценты
Interference Уровень помехи, проценты — главный результат процедуры

Оценка результата по итоговому значению Interference:

ПомехаОценкаЧто делать
до 30 процентов Приемлемо Ничего. LOITER, RTL и AUTO будут работать нормально
31–60 процентов Серая зона У одних работает, у других нет. Лучше исправить механически
более 60 процентов Неприемлемо Компенсация не спасёт: выносите автопилот дальше от силовой части либо ставьте внешний компас
Результат записывается в параметры автоматически. Тип компенсации сохраняется в COMPASS_MOTCT: значение 2 означает компенсацию по току, 1 — по газу, 0 — выключено. Сами коэффициенты попадают в COMPASS_MOT_X, COMPASS_MOT_Y, COMPASS_MOT_Z. Править их вручную в CONFIG → Full Parameter List не нужно — только смотреть. Вариант с компенсацией по газу вместо тока технически возможен, но не рекомендуется: связь помехи с током линейна, с газом — нет.

Процедура MagFit по логу

Способ не требует ни крепления аппарата, ни вращения винтов на земле: поправки вычисляются по записи реального полёта.

  1. Включите подробное логирование компаса. В CONFIG → Full Parameter List убедитесь, что в LOG_BITMASK включена запись IMU и компаса.
  2. Выполните полёт продолжительностью 3–5 минут в режиме LOITER или ALT_HOLD: развороты на 360 градусов в обе стороны, полёт по всем четырём сторонам света, набор высоты и снижение, участки на разной тяге. Задача — набрать данные при разных курсах и разных токах.
  3. Скачайте бортовой лог через DATA → DataFlash Logs → Download DataFlash Log Via Mavlink. Лучше по USB: файл весит десятки мегабайт.
  4. Обработайте лог. В составе MAVProxy есть утилита MAVExplorer с командой magfit. Есть и веб-сервисы, принимающие файл лога и возвращающие готовый набор параметров.
  5. Загрузите полученные значения в аппарат: CONFIG → Full Parameter List → Load from file, затем Write Params.
  6. Проверьте результат контрольным полётом: курс в HUD должен совпадать с реальным направлением, а в LOITER аппарат не должен уводить по кругу.
Почему MagFit точнее: CompassMot снимает данные в одной точке пространства при неподвижном аппарате и одном положении относительно магнитного поля Земли. MagFit использует записи реального полёта на разных курсах, высотах и токах, поэтому лучше разделяет постоянные смещения, масштабные искажения и влияние тока. Плюс он не требует раскручивать винты рядом с собой.
Не выполняйте обе процедуры подряд. Они пишут в одни и те же параметры. Если после CompassMot применить результат MagFit, поправки наложатся друг на друга и станет хуже, чем без компенсации. Выберите один способ; при переходе на другой сначала обнулите COMPASS_MOTCT и коэффициенты COMPASS_MOT_*.
Лучшее решение — механическое: Никакая программная компенсация не заменит правильного размещения. Внешний компас на мачте высотой 10–15 см над рамой, силовые провода скручены попарно, GPS-модуль с компасом вынесен от питания — и калибровка перестаёт быть проблемой.

Магнитное склонение

Параметр COMPASS_DEC (в радианах) учитывает разницу между магнитным и истинным севером. При включённой опции Automatic Declination значение подставляется автоматически по координатам GPS из встроенной модели. Оставьте автоматический режим включённым.

↑ К оглавлению

4. Практика

Задания выполняются в симуляторе SITL и не требуют реального аппарата. Симулятор позволяет безопасно внести искажение в датчик и посмотреть, как калибровка его исправляет, — на живом аппарате такой эксперимент не поставить.

Задание 10.1. Смещение акселерометра и его исправление

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Подключитесь к симулятору и запишите в CONFIG → Full Parameter List текущие значения INS_ACCOFFS_X, INS_ACCOFFS_Y, INS_ACCOFFS_Z, а также AHRS_TRIM_X и AHRS_TRIM_Y.
  • Проверьте исходное состояние: в HUD крен и тангаж около нуля, в DATA → Status поля ax и ay близки к нулю.
  • Внесите искусственное смещение: задайте SIM_ACC1_BIAS_X = 0.5 и запишите параметры. Это имитирует сбитый акселерометр.
  • Посмотрите, как изменились показания ax в Status и положение авиагоризонта.
  • Выполните SETUP → Mandatory Hardware → Accel Calibration и объясните, почему шестипозиционная процедура в симуляторе выполняется нажатием клавиш без физического переворота.
  • Верните SIM_ACC1_BIAS_X = 0 и сравните значения INS_ACCOFFS_* с исходными.

Задание 10.2. Искажения компаса

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Запишите текущие COMPASS_OFS_X, COMPASS_OFS_Y, COMPASS_OFS_Z — это результат заводской калибровки симулятора.
  • Задайте SIM_MAG1_OFS_X = 200 и запишите параметры. Так имитируется hard-iron: постоянный магнит или стальной крепёж рядом с датчиком.
  • Понаблюдайте за курсом в HUD при развороте аппарата в LOITER. Объясните, к какому типу помех из таблицы раздела 3 относится это искажение.
  • Дополнительно задайте SIM_MAG1_DIA_X = 1.2 — это уже soft-iron, искажение формы поля. Сравните характер ошибки с предыдущим случаем.
  • Верните оба параметра к исходным значениям: SIM_MAG1_OFS_X = 0, SIM_MAG1_DIA_X = 1.

Задание 10.3. Работа с несколькими компасами

Выполняется в симуляторе SITL, реальный аппарат не требуется.

  • Откройте SETUP → Mandatory Hardware → Compass и посмотрите, сколько компасов обнаружил симулятор и какие из них отмечены галочкой Use.
  • Найдите в CONFIG → Full Parameter List параметры COMPASS_USE, COMPASS_USE2, COMPASS_USE3 и сопоставьте их с галочками на экране.
  • Отключите второй компас и проследите за сообщениями во вкладке DATA → Messages после перезагрузки автопилота.
  • Проверьте состояние COMPASS_AUTODEC и объясните, почему автоматический режим предпочтительнее ручного ввода склонения.
  • Верните исходную конфигурацию компасов.
Параметры с префиксом SIM_ существуют только в симуляторе. Это модель поведения датчиков, а не настройки автопилота. На реальном аппарате их нет, и искать их там бессмысленно. Не переносите файл параметров из SITL на живой аппарат: кроме бесполезных SIM_ в нём чужие калибровки.
↑ К оглавлению

5. Проверьте себя

Сформулируйте ответ своими словами, прежде чем сверяться со справочником ответов.

  1. Чем полная шестипозиционная калибровка отличается от Calibrate Level и в каком случае достаточно второй?
  2. Почему нельзя держать аппарат в руках во время калибровки акселерометра?
  3. Чем hard-iron отличается от soft-iron: каков источник каждого искажения и как оно выглядит на сфере калибровки?
  4. Что означает значение fitness 20 по итогам калибровки компаса и что делать в этом случае?
  5. Почему один внешний компас часто лучше, чем внешний вместе с внутренним?
  6. Зачем при CompassMot переворачивать винты и переставлять их через один луч?
  7. Почему CompassMot бесполезен без работающего датчика тока?
  8. Уровень помехи по итогам CompassMot составил 45 процентов. Как это трактовать?
  9. Чем MagFit по логу точнее CompassMot и почему нельзя выполнять обе процедуры подряд?
  10. В каких единицах задаётся COMPASS_DEC и почему его обычно не трогают вручную?
↑ К оглавлению

6. Чек-лист самопроверки

Урок освоен, если каждый пункт выполнен на практике:

  • Акселерометр откалиброван, углы на ровной поверхности 0 ± 1°
  • Компас откалиброван вдали от металла, fitness не более 16
  • Лишние компасы отключены
  • Курс в HUD соответствует реальному направлению
Результат: все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

7. Что дальше

↑ К оглавлению
  • мод. : Понедельник, 24 августа 2026
Калибровка акселерометра и компаса