2015-07-23 1 views
1

У нас есть XSens MTi и подписаться на IMU-данные через sensor_msgs :: IMU.Интерпретация IMU-данных (ROS & XSens MTi)

Выход linear_acceleration является:

х: 0,12 г : 0,02 г : 9.83

все меняется в небольшом диапазоне. Что мне говорят эти данные? Почему робот, по-видимому, ускоряется в направлении z. Робот стоит на месте.

Ориентация Данные хорошие, но линейное ускорение путает меня.

ответ

1

Ускорение в направлении z вызвано gravity of the earth, которое составляет около 9,81 Н/кг (или эквивалентно m/s²) с небольшим изменением в зависимости от фактического местоположения на земле. Если объект стоит неподвижно, он всегда ускоряется этим количеством на землю (вот почему все падает, если им нечего их удерживать). Поэтому, если вы хотите узнать ускорение робота относительно его окружения, вы должны вычесть это значение.

Некоторые последствия этого:

  1. Если г-ускорение равно нулю, это означает, что робот находится в свободном падении. Для вашего робота, вероятно, слишком поздно, но для некоторых приложений может быть полезно обнаружить это и активировать некоторые функции безопасности, чтобы предотвратить повреждение.
  2. Вы можете использовать этот факт для расчета ориентации датчика. Например, если у вас вдруг есть y = 9.81 и z = 0, это означает, что ваш робот упал сбоку. В вашем случае небольшие ненулевые значения x и y могут указывать на то, что датчик не ориентирован абсолютно горизонтально.