2015-08-26 12 views
2

У нас есть устройство XSENS MTi IMU и использование ROS-Framework (Ubuntu/Fuerte). Подпишитесь на IMU-Data, и все данные выглядят хорошо, кроме Ориентация.IMU Ориентация постоянно меняется

В Euler-Outputmode, как в Quaternion-Outputmode, значения постоянно меняются. Не случайно, они увеличиваются или уменьшаются медленно с более или менее постоянной скоростью, и иногда я наблюдал изменение сглаживания, а затем изменял его направление.

Когда значение второй X может быть:

x: 7.79210457616 
y: -6.58661204898 
z: 41.2841955308 

Зет значение изменяется в диапазоне от приблизительно 10 в течение нескольких секунд (10-20 секунд, кажется).

Что может вызвать подобное поведение? Неправильно ли мы интерпретируем данные или что-то не так с драйвером? Странная вещь, это также случилось с двумя другими драйверами и еще одним устройством IMU (у нас есть 2). Те же результаты в каждой комбинации.

Не стесняйтесь запрашивать более точные данные или все, что вы хотели бы знать, которые могут помочь нам. Мы участвуем в Кубке Космического бокса в ноябре, поэтому было бы очень полезно получить ИДУ. :)

ответ

1

Если у вас версия IMU, я предполагаю, что на устройстве не было обработано никаких сигналов. (но я не знаю продукт). Таким образом, данные, которые вы получаете для ориентации, должны быть только интегралом данных гироскопа.

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

Чтобы исправить этот дрейф, мы обычно используем алгоритм AHRS или VRU (в зависимости от необходимости исправленного рыскания). Это алгоритм датчика слияния, который принимает гравитацию от акселерометра и данных магнитометра (для AHRS) для коррекции этого дрейфа.

Часто используемые алгоритмы - это Kalman filter и complementary filter (Madgwick/Mahony).

Это не простая работа, и просить немного читать и экспериментировать на Matlab/питон, чтобы настроить эти фильтры :)

1

совершенно нормально, если у вас нет магнитометр, чтобы дать исправленный заголовок.

Только гироскоп измеряет скорость вращения и не имеет представления о ориентации в любой момент времени на любой оси. Интеграция скорости поворота дает заголовок, если вы знаете начальный заголовок, а гироскоп на 100% точнее. В любом случае, он дрейфует, даже если он полностью откалиброван, поскольку вы отбираете дискретные интервалы, а не непрерывно.

Добавление акселерометра будет по крайней мере фиксировать направление вниз (поскольку оно измеряет гравитацию, которая направлена ​​к центру Земли). Это приведет к тому, что решение оси Z будет выровнено по вертикали, но оно не будет фиксировать горизонтальное направление (заголовок или рыскание). Это будет продолжаться, как вы видите.

Добавление магнитометра будет фиксировать заголовок относительно магнитного поля Земли. Это даст вам курс относительно магнитного Севера. Вам нужно будет применить сдвиг для локального магнитного склонения, чтобы получить «Истинный Север». Они обычно доступны в режиме онлайн и достаточно постоянны в течение десятков километров. Google ITREF.

Некоторые встроенные датчики не имеют магнитометра. Вот почему курс дрейфует. Такие устройства, как MPU6050, имеют встроенное микропрограммное обеспечение и могут получить доступ к магнитометру, но обычная прошивка не использует его, поэтому в любом случае вы должны использовать Madgwick и т. Д. На вашем микроконтроллере или подключенном ПК. У Bosch есть новый единый модуль с встроенным процессором. Надеюсь, он использует 9 DOF, а не 6, которые вы получаете с DMP на MPU6050.

Магнитные датчики с точностью до 2 градусов. Локальные поправки магнитного склонения также имеют ошибку. Вы можете выполнить дополнительные калибровки, используя GPS на длинной базовой линии, чтобы получить лучшие результаты. Также стоит отметить, что курс и курс, сделанный хорошо, часто различны, из-за бокового или поперечного течений.

Алгоритм Madgwick довольно стабилен и прост в реализации и использует меньше ресурсов, чем фильтр Калмана, который должен выполнять инверсию матрицы. Он по-прежнему дает незначительный дрожание, но незначительное сглаживание результатов не должно вызывать слишком большого запаздывания.

 Смежные вопросы

  • Нет связанных вопросов^_^