В настоящее время я работаю над устройством, которое использует постоянно включенный 3D-акселерометр (с использованием шкалы + -2g) и 3D-гироскоп (с использованием шкалы + -250g).
Я могу прочитать все возможные векторы (X, Y, Z) и их ускорение (g) и угловую скорость (dps), а также угол, в котором находится устройство в данный момент. Но моя проблема заключается в том, что когда устройство находится на наклоне (0g, когда нет наклона), ускорение находится между (вниз) 0g -> - 1g или между (вверх) 0g-> 1g в зависимости от того, под каким углом устройство находится в данный момент. Ниже картина, которая, надеюсь, проясняет идею.
Устройство будет находиться в автомобиле и должно измерять ускорение при замедлении автомобиля (торможение). Однако, если устройство уже наклона, акселерометр будет измерять некоторое ускорение, которое вызывает наклон, что затрудняет определение того, действительно ли устройство имеет некоторое ускорение, или это просто наклон, который вызывает ускорение.
Оси X и Y дают 0g, а ось Z составляет 1g, когда устройство не имеет наклона и находится на плоской поверхности. Наклон заставляет показание оси X двигаться в направлении 1g, если наклон направлен вверх, и до -1g, когда вниз. + -1g достигается, когда устройство находится на 90 * градус от исходного положения
Я думал о том, как устранить то ускорение, которое вызывает наклон, и измерить только реальное ускорение устройства, но просто не могу придумать выход из этой проблемы со следующими данными, которые я могу произвести.
По сути, я думаю, что если бы я мог измерить только ускорение оси X (изображение), даже если датчик наклонен, как на рисунке.
Надеюсь, это сообщение не слишком сложно понять из-за моих навыков английского и того, как я пытаюсь объяснить свою проблему.