Получение угловой скорости по данным кватернионов (BNO055)
Я могу получить данные кватерниона от датчика BNO055 и хотел бы преобразовать их в угловую скорость для моего проекта. Я знаю, что вы можете вытащить гироскоп непосредственно для данных, но из того, что я понимаю, использование кватернионов и преобразование их более надежно?
Я нашел функцию, которая делает это в хранилище Adafruit для датчика. Однако я не уверен, что переменная времени Дельта должна быть равна по отношению к частоте выборки. Может ли кто-нибудь посоветовать?
Вот код функции:
Vector<3> toAngularVelocity(double dt) const {
Vector<3> ret;
Quaternion one(1.0, 0.0, 0.0, 0.0);
Quaternion delta = one - *this;
Quaternion r = (delta / dt);
r = r * 2;
r = r * one;
ret.x() = r.x();
ret.y() = r.y();
ret.z() = r.z();
return ret;
}
А связь
1 ответ
Лучший ответ:
Я не знаю, как интерпретировать данные, полученные этим датчиком, но из
чтения кода смысл dt
довольно ясен.
Функция, которую вы показываете, предполагает, что датчик начал работать в опорной
ориентации (кватернион один
), затем вращался с постоянной угловой
скоростью до тех пор, пока не достиг текущей ориентации (кватернион *это
),
и это вращение происходило в течение времени dt
.
Тогда dt
-это время, необходимое для перехода от опорной ориентации
к ориентации, описываемой кватернионом *this
.
Вероятно, вам следует ознакомиться со спецификацией датчика для получения более подробной информации о том, как
обеспечивается ориентация.
Еще раз привет, Эдгар, и спасибо за твой ответ. Я проверю и уточню вопрос., @Zhelyazko Grudov
- Определение относительно точной скорости с помощью ИДУ
- Получение точных показаний скорости от IMU
- Лучший способ получить угловую скорость от датчика 9 DoF
- Получение стабильных измерений с помощью ИДУ BNO055
- Получить значения акселерометра от BNO055 с помощью Единой библиотеки датчиков adafruit
- Самый точный способ измерения линейного расстояния, пройденного колесом
- Не удалось найти подходящую библиотеку для MPU9250.
- Значения кватернионов из BNO055 недоступны.
Всем спасибо за потраченное время. Я действительно ценю это., @Zhelyazko Grudov