курс, крен, шаг - PullRequest
       4

курс, крен, шаг

3 голосов
/ 30 марта 2010

Хотелось бы узнать, как получить углы наклона, тангажа, крена, которые определяют положение устройства Android, если это возможно. Не учитывайте детали, зависящие от устройства. Ссылки на полезную документацию также ценны. Спасибо!

1 Ответ

2 голосов
/ 30 марта 2010

У меня нет точного решения, но полнопроходное решение включает алгоритм TRIAD для объединения вектора из магнитометра (компаса) и акселерометра. Эта статья в Википедии подробно рассказывает о ней.

С концептуальной точки зрения лучший способ думать о проблеме состоит в том, что ваш вектор акселерометра представляет собой «вниз» и определяет плоскость, на которую указывает устройство. Наклон этого самолета даст вам «крен» и «тангаж». Затем вы можете использовать свой вектор магнитометра, чтобы определить, куда в этой плоскости указывает ваше устройство, и это даст вам «направление».

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

РЕДАКТИРОВАТЬ: Нашли в Android-документах что-то, что обеспечивает то, что вы хотите. Вам необходимо получить Sensor объект TYPE_ORIENTATION из SensorManager . Это может обеспечить азимут, крен и шаг. Я не знаю, какие устройства предоставляют эту функцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...