Я работал с mpu6050, и, видимо, его гирометр просто перестал работать.
2 дня назад он отлично давал значения высоты тона / рыскания / крена, а теперь значения просто идутСумасшедший, когда я двигаю датчик, или даже когда я не двигаюсь.
Я также пытался использовать онлайн-коды, которые должны работать, я получаю те же результаты.
Я хотел бы знать, не сломался ли мой датчик.
Вот мой код:
// Get new values
// m_vAngularSpeed = m_sensors.GetFilteredAngularSpeed();
m_vAngularSpeed = m_sensors.GetNormalizedAngularSpeed();
m_vAcceleration = m_sensors.GetNormalizedAcceleration(); // We know the filter for the acceleration works, so we can use it
// Calculate the angles from acceleration
GetRollPitch(m_vAcceleration, m_vAccAngles);
// Calculate angles from angular speed
m_vAngSpeedAngles.x = m_vAngles.x + m_vAngularSpeed.x * delta;
m_vAngSpeedAngles.y = m_vAngles.y + m_vAngularSpeed.y * delta;
// We use the complimentary filter to get a better precision
m_vAngles.x = 0.98 * m_vAngSpeedAngles.x + 0.02 * m_vAccAngles.x;
m_vAngles.y = 0.98 * m_vAngSpeedAngles.y + 0.02 * m_vAccAngles.y;
Я контролировал углы, рассчитанные по ускорению, они в порядке, а гироскоп - нет.
Полученные значения: Значения расчетных углов