Калибровка Сенсоров

В модулях инерционного трекера используются три типа сенсоров:

  • Гироскоп

  • Акселерометр

  • Магнитометр

Рассмотрим, для чего нужны эти сенсоры и для чего нужна их калибровка.


Гироскоп

Гироскоп является "сердцем" трекера. Гироскоп обеспечивает точную и быструю обработку поворотов. Калибровка Гироскопа влияет на поведение модуля именно во время вращения. Уменьшение смещения Гироскопа после калибровки уменьшает ошибку отслеживания траектории вращения и остаточную ошибку после поворота.

Как правило, смещение Гироскопа даже без калибровки не превышает 3,00°/s. То есть обзор при отсутствии коррекции от Акселерометра и Магнитометра, будет дрейфовать, и опишет полный круг за время 360°/3,00°/s = 120 секунд. Это достаточно небольшой дрейф и он не требует калибровки, он будет легко скомпенсирован Акселерометром и Магнитометром. Но бывает, попадаются модули с намного большим смещением. Например, у меня имеется один модуль GY-521, в котором смещение Гироскопа превышает 45,00°/s! То есть полный оборот обзор совершает менее, чем за 8 секунд. По сути, это откровенный заводской брак. Но, после калибровки, смещение сенсора стало менее 1,00°/s, и он успешно работал в трекере.

Калибровка Гироскопа является самой простой. Процесс калибровки описан здесь:

Калибровка Гироскопа

Гироскоп обеспечивает точную и быструю обработку поворотов, но, к сожалению, при его работе накапливаются ошибки. Исправить эти ошибки помогают Акселерометр и Магнитометр.


Акселерометр

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

Акселерометр измеряет сумму вектора ускорения относительно Земли и вектора Гравитации. Нас интересует только Гравитация, то есть вертикаль. Понятно, что акселерометр выдаёт направление гравитации только в покое или при равномерном прямолинейном не ускоренном движении. Поэтому в алгоритме трекера есть весовая функция, которая помогает оценить, насколько можно доверять направлению, выданному Акселерометром. Если длина вектора Акселерометра равна единице, то датчик неподвижен, и вектор Акселерометра можно использовать в полной мере. Чем больше это значение отличается от единицы, тем более искажено направление вектора Акселерометра от вертикали, и тогда вектор Акселерометра можно использовать только с меньшим коэффициентом, или нельзя временно использовать.

Поэтому важно, чтобы длина вектора Акселерометра в покое была около единицы, в диапазоне 0,95 ... 1,05.

Обычно заводская калибровка Акселерометра удовлетворяет этим требованиям и калибровать Акселерометр не нужно. Тем более, что эта калибровка является наиболее трудоёмкой. Но, если вы решились калибровать, то процесс калибровки описан здесь:

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

Акселерометр исправляет ошибки Гироскопа по Roll и Pitch. Благодаря Акселерометру трекер “знает”, где верх, где низ. Но этого недостаточно. Остаётся дрейф по Yaw. Эта проблема решается применением Магнитометра.

Магнитометр

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

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

Поэтому калибровка Магнитометра является самой востребованной. Она устраняет “пружину по Yaw”. “Пружина по Yaw” проявляется как смещение обзора по Yaw по направлению к одному или двум положениям точки обзора после завершения поворота.

Калибровку Магнитометра следует проводить, уже закрепив окончательно датчик на оголовье наушников, и именно в той точке пространства, где будет ваша голова во время управления самолётом. При правильной калибровке стальной каркас наушников не страшен.

Калибровка Магнитометра не сложна и описана здесь:

Калибровка Магнитометра

Как правильно калибровать Магнитометр


Модули "Head" и "Neck"

Если в вашем трекере несколько модулей сенсоров, то не забудьте выполнить калибровку для сенсоров каждого из модулей. Переключение между настройками модулей в версии Razor_AHRS_5DOF осуществляется комбобоксом [Head/Neck]:

Выводы

Исходя из моего опыта, подведу итог:

  • Магнитометр следует откалибровать обязательно. Даже если вам кажется, что всё работает хорошо, после калибровки Магнитометра вы увидите, что стало просто отлично. После калибровки выберите [(x)Extended].

  • Акселерометр обычно нет необходимости калибровать. Только если значение длины его вектора отличается от единицы более, чем на 10%. Эта калибровка влияет на точность углов Roll и Pitch. После калибровки выберите [(x)Standard].

  • Гироскоп стоит калибровать, если смещение Гироскопа превышает 3,00°/s. Эта калибровка увеличивает точность отслеживания траектории поворота. Калибровка Гироскопа не сложна, и поэтому имеет смысл её выполнить. Не забывайте, что калибровка Гироскопа зависит от температуры, поэтому выполняйте её в последнюю очередь, чтобы дать чипу время на самопрогрев после включения питания. После калибровки выберите [(x)Standard].

Калибровка Магнитометра

Как правильно калибровать Магнитометр

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

Калибровка Гироскопа

Не забудьте записать результаты калибровки в Ардуино:

[Arduino…] , [Write Arduino…] , [OK].