2017-02-17 9 views
2

В настоящее время я использую устройства Android для разработки приложения, которое использует значения датчиков для получения информации об окружающей среде. Я использую Samsung S6 Edge и планшет Nexus 7, а значения датчиков, которые я получаю от устройств, сильно отличаются.Почему значения датчиков различаются по всем устройствам?

Один пример: Gyroscope Values from 2 Devices

Эти значения гироскоп (ось х) от обоих устройств до сих пор сидят на столе. Это одно из лучших значений сходства, большинство из них даже не близко.

Несколько плохих сходстве значений:

Магнитное поле: enter image description here

Акселерометр: enter image description here

Я задаюсь вопросом, почему значения столь разные на разных устройствах?

Спасибо.

+1

Если я прав, то это слишком маленькие значения (0.001 - 0.002). Кстати, какая единица этих чисел? это G? м/с2? или что? Что касается меня, то эти различия очень хороши, поскольку они очень малы. Датчики устройства не подходят для точных измерений. –

ответ

2

Мне интересно, почему значения различаются по всем устройствам?

Они не отличаются друг от друга. Это значения в радианах/секунду, где «поворот на 360 градусов» составляет ~ 6.28 радианов. Ваши значения варьируются от ~ -0.002 до +0.004. ~ 0,004 радиан/с составляет ~ 0,229 градуса/с. Это крошечный. IOW, ваши ценности похожи на 0.

Plus, а the documentation состояний:

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

В целом, у другого оборудования будут разные датчики от разных производителей.

Что касается акселерометра, снова ваши значения крошечные. Плотность земли 9,8 м/с ; ваши значения находятся между ~ 0,15 и ~ -0,05.

Что касается магнитного поля ... ваш Samsung кажется испорченным.

+0

Спасибо за ответ. Я полагаю, что использование хороших ценностей было плохим способом предложить этот вопрос. Я добавил магнитное поле и акселерометр. Поле Mag - это путь, который выключен. – Waddas

+0

@Waddas: см. Обновленный ответ. Это одна из причин, по которой приложения иногда просят пользователей «откалибровать» различные датчики (например, поочередно поворачивать устройство вдоль каждой оси), чтобы вы могли понять, какой диапазон значений имеет смысл для вас. Но, это также одна из причин, почему я не очень много работаю с сенсорным набором Android ... :-) – CommonsWare

+0

Метод калибровки, похоже, требуется, но, к сожалению, это невозможно в моем приложении. Я предполагаю, что есть много способов пойти с точки зрения гетерогенности в вычислениях. – Waddas

Смежные вопросы