Датчики Android - PullRequest
       11

Датчики Android

1 голос
/ 05 декабря 2010

У меня есть очень простой вопрос о датчиках:

Магнитные датчики возвращают показания относительно начальной ориентации телефона или относительно мировых координат?

А как насчет акселерометров?Возвращают ли они значения по сравнению со своими предыдущими показаниями или каждое значение является независимым ускорением относительно мировой системы координат?

Я знаю, что гироскопы возвращают показания относительно начальной ориентации телефона.Итак, как мне преобразовать показания рыскания и тангажа с гироскопа в азимут, показания тангажа и крена с магнитного датчика смартфона (я использую HTC hero)

Ответы [ 2 ]

0 голосов
/ 03 июня 2012

Как уже упоминалось, гироскоп измеряет угловую скорость. Третье возвращаемое значение (values ​​[2]) - это угловая скорость относительно ось z Вы можете использовать это значение вместе с начальным значением от магнитометра до рассчитать текущий курс: Theta (i + 1) = Theta (i) + Wgyro * deltaT

Вы можете получить начальную ориентацию курса из измерения «Ориентация» (значения [0]) Это измерение зависит только от магнитометра. (вы можете положить магнит или второй телефон рядом со смартфоном и смотреть, как вывод сходит с ума)

Второе и третье значения «Ориентация» зависят от показаний Акселерометр. Поскольку акселерометр измеряет силу тяжести, можно рассчитать углы наклона и крена из показаний акселерометра по осям Y и X.

Надеюсь, это поможет

Ariel

0 голосов
/ 04 марта 2011

Датчики Android (вплоть до FroYo) предоставляют приложению «необработанные» данные.
Существует минимум «приготовления» (т.е. обработки).

Устройство ускорения и компаса обеспечивает абсолютное ускорение и магнитные данные соответственно.
Гироскоп обеспечивает относительную угловую скорость.

Гироскопы НЕ предоставляют относительные данные относительно какого-либо конкретного состояния / положения.
Что вам нужно понять, так это то, что гироскопические данные имеют угловую скорость.
Угловая скорость - это просто скорость вращения телефона (в градусах в секунду).
Так что, как только вы держите его неподвижно, гироскоп говорит (0,0,0) &
вращаясь, вы получаете скорость его вращения.
Это продолжается до тех пор, пока вы снова не остановите его
когда показания гироскопа снова становятся (0,0,0).

Теоретически гироскоп можно использовать для "калибровки" компаса.
Но для этого потребуется много экспериментов с вашей стороны.
Идеальным местом для игры будет датчик-HAL.

ПРИМЕЧАНИЕ. Необходимо включить все датчики, даже если
Требуются ТОЛЬКО данные компаса. Как вы будете делать перекрестные ссылки
данные гироскопа / ускорения для этого. Это будет означать большее энергопотребление &
крайне плохое время автономной работы. Все датчики, включенные непрерывно, могут
разрядите батарею стандартного телефона Android за 4-5 часов.

Вы можете узнать больше Датчики Android здесь .

...