Интерпретировать значения акселерометра Android, чтобы получить перевод телефона по осям в реальном мире - PullRequest
3 голосов
/ 15 февраля 2011

Я искал, но не мог найти ответ; При интерпретации значений акселерометра Android, как можно перевести эти значения в реальный телефонный перевод по осям X / Y / Z?

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

Я думал, если мы возьмем величину трехмерного вектора, который возвращается акселерометром - он будет равен 9,8 или больше, а затем мы вычтем гравитацию, чтобы получить фактическую величину ускорения. Но тогда вектор, возвращаемый событием акселерометра, будет неточным из-за движения телефона + направление силы тяжести, распределенное по всем 3 осям ...

Пожалуйста, помогите!

Спасибо

1 Ответ

4 голосов
/ 15 февраля 2011

Отказ от ответственности: я не знаю каких-либо особенностей Android, скорее всего, это также специфично для телефона.Я просто говорю из физики.

Вам нужно будет интегрировать ускорение в скорость и интегрировать скорость в смещение (положение).

Вы будете страдать от интеграционного дрейфа.Каждый раз, когда вы интегрируете, будет введена константа интеграции.Множественные интегрирования усугубляют эту ошибку.

Вам также нужно беспокоиться об угловом ускорении.то есть.Что происходит, когда телефон поворачивается, но остается в том же физическом положении?

Существуют способы помочь уменьшить эти источники ошибок.

Если имеется несколько акселерометров, вы можете сравнить их, чтобыпопытаться определить любые угловые компоненты.

Если есть гироскопы, вы можете использовать гироскопы, чтобы помочь отменить угловые компоненты.

Если компас достаточно точен, вы можете попытаться отменить хотя бы компоненты в горизонтальной плоскости.

GPS можно использовать для устранения ошибок интеграции смещения.Когда GPS говорит, что вы остановились, обнулите константы интеграции.

Вам нужно будет начать смотреть на алгоритмы численного интегрирования и фильтрации.Без аппаратного ускорения это может быть в вычислительном отношении дорогостоящим.

В какой момент вы действительно должны начать задавать себе вопрос, действительно ли вашей проблеме нужны точные измерения смещения?Достаточно ли смещения GPS?Можете ли вы достичь того же результата только с ускорением?

Вы должны попробовать прочитать:

http://en.wikipedia.org/wiki/Inertial_navigation_system

...