Перейти к содержанию

Смещение нуля гироскопа

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

Обновлено Редакция GAW

Смещение нуля гироскопа (zero-rate offset, gyro bias) — угловая скорость, которую показывает неподвижный гироскоп. Это аналог напряжения смещения усилителя: постоянная ошибка, которая есть даже без сигнала.

Значения из даташитов Bosch:

ДатчикСмещение нуляУсловия
BMI160±3 °/с25 °C, без быстрой компенсации
BMI270±0,5 °/спосле пайки, за срок службы

Почему это важно. Угол поворота по гироскопу получают интегрированием угловой скорости. Постоянное смещение интегрируется вместе с ней и растёт линейно:

Δφ=ωсмещ⋅t.\Delta\varphi = \omega_\text{смещ} \cdot t.

При 0,5 °/с ошибка за минуту — 30°, при 3 °/с — 180°. Поэтому «просто проинтегрировать гироскоп» можно лишь на коротких отрезках времени.

Шум и смещение — разные вещи. Шум — быстрые случайные колебания; у BMI160 при плотности 0,007 °/с/√Гц и фильтре 74,6 Гц это 0,07 °/с среднеквадратично. Он уменьшается усреднением. Смещение — сдвиг среднего значения, и усреднение его не трогает.

Как бороться:

  • Калибровка в покое. При включении держат устройство неподвижным, усредняют показания гироскопа и вычитают результат из последующих.
  • Встроенная компенсация. У BMI160 по даташиту есть быстрая компенсация смещения (FOC), настраиваемая регистром FOC_CONF.
  • Учёт температуры. Bosch отдельно нормирует изменение смещения с температурой — значит, калибровка при одной температуре со временем устаревает.
  • Слияние данных. В долгой работе угол наклона корректируют по акселерометру, курс — по магнитометру, и смещение гироскопа перестаёт накапливаться.

Подробнее о выборе датчиков — в статье об акселерометрах и гироскопах.

Частые вопросы

Почему угол по гироскопу уходит, даже когда датчик неподвижен?

Из-за смещения нуля. Гироскоп в покое показывает небольшую скорость поворота, а угол получают интегрированием скорости, поэтому ошибка растёт линейно со временем. При смещении 0,5 °/с, как у BMI270 по даташиту, через минуту угол уйдёт на 30°, через 10 минут — на 300°.

Как уменьшить смещение нуля?

Измерить его в покое и вычесть. Простейший способ — при старте усреднить показания неподвижного гироскопа за секунду-другую. У BMI160 по даташиту есть встроенная быстрая компенсация смещения (FOC), которая делает это аппаратно. Смещение меняется с температурой, поэтому в долгой работе его уточняют с помощью акселерометра — слиянием данных.

Чем смещение нуля отличается от шума?

Шум — быстрые случайные колебания вокруг среднего, он уменьшается усреднением и узкой полосой фильтра: у BMI160 0,07 °/с при фильтре 74,6 Гц. Смещение — постоянная ошибка среднего значения, усреднение его не убирает. Для угла смещение опаснее: оно накапливается при интегрировании.

Источники

  1. Bosch Sensortec. BMI160 Data Sheet (BST-BMI160-DS000-09, Revision 1.0, November 2020) — смещение нуля гироскопа ±3 °/с при 25 °C без быстрой компенсации; шум 0,007 °/с/√Гц, 0,07 °/с ср. кв. при фильтре 74,6 Гц; быстрая компенсация смещения FOC настраивается регистром FOC_CONF
  2. Bosch Sensortec. BMI270 Data Sheet (BST-BMI270-DS000-08, Revision 1.6) — смещение нуля гироскопа ±0,5 °/с после пайки за срок службы; отдельно задано изменение смещения с температурой; шум 0,007 °/с/√Гц в режиме производительности

Нашли ошибку?