В чем разница между акселерометром, гироскопом и датчиком магнитометра?

Я начинаю работать с миром Arduino и создаю автономный умный автомобиль.

Итак, после нескольких недель создания и настройки транспортного средства, я дошел до того момента в этом проекте, что хочу регистрировать его движения. Разговаривая с другом, он показал мне датчик Gyro/Accel, и я действительно думаю, что это будет отличное обновление для моего автомобиля

Прочитав несколько статей, я не могу понять разницу между Датчиком акселерометра, Гироскопическим датчиком и Датчиком магнитометра< /п>

Так в чем же основная разница между этими датчиками?

, 👍5


2 ответа


Лучший ответ:

5

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

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

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

Гравитация — лучший ориентир для определения углового положения, поскольку она не дрейфует, как гироскоп, а поскольку ваш робот работает в море магнитных возмущений (и вызывает их), использовать север рискованно. Однако это не сработает, если вы испытываете значительное ускорение.

Самый простой код просто использует акселерометр для вращения вокруг x и y, магнит для z и игнорирует возмущения. Основная идея такова: «Я знаю, что гравитация на самом деле уменьшена, но она измеряется по оси X ускорения, поэтому меня нужно наклонить на некоторую величину». Алгоритмы Better Sensor Fusion будут использовать акселерометр/магнитометр для коррекции дрейфа гироскопа, но большую часть информации о положении вращения получают от гироскопа.

Отслеживание бокового положения с помощью стандартного 9-степенного IMU невозможно. Только акселерометр вообще измеряет боковое движение, и его нужно интегрировать дважды, чтобы определить положение. Ошибка возникает так быстро, что оценка позиции становится полной ерундой за считанные секунды.

Отслеживание углового положения возможно, поскольку все три датчика так или иначе его измеряют. Однако углы сложны, потому что они не коммутативны. Если гироскоп измеряет отклонение на 90 градусов, а затем на 90 градусов с севера, вы находитесь лицом вниз; если он измеряет угол наклона 90 градусов, а затем отклонение на 90 градусов с севера, вы смотрите на восток и поворачиваетесь на бок. Будьте осторожны с математикой или загрузите библиотеку IMU для Arduino, которая позаботится обо всем за вас.

,

4

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

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

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

Поэтому, как правило, все три используются вместе, чтобы получить преимущества от всех и в некоторой степени свести на нет их недостатки.

Например, гироскоп плохо измеряет инерцию, но хорошо измеряет изменения углов. Но эти изменения углов со временем смещаются, и вы теряете точность. Магнитометр хорошо определяет точный угол, но для получения точного результата требуется больше времени, и он не очень хорош для точного изменения угла. Так магнитометр используется для коррекции дрейфа гироскопа, а акселерометр — для измерения инерции.

Итак, подведем итоги:

  • Акселерометр для изменения скорости
  • Гироскоп для изменения угла.
  • Магнитометр для коррекции гироскопа.
,