Я пытался найти (или вниз, что было бы не намного сложнее найти, просто умножить на -1) на андроид без хорошего решения. Мне нужен вектор, направленный вверх в той же системе координат, что и тот, который используется акселерометром. Таким образом, я буду в состоянии:Как найти вверх или вниз с помощью датчика ориентации устройства?
- удалить силу добавленный под действием силы тяжести на выходе акселерометра
- детерминированной, если устройство встряхивали в вертикальном направлении или нет.
Датчик силы тяжести: Во-первых, я думал, используя датчик силы тяжести, который был бы самым простым решением. Но! мое устройство не имеет датчик силы тяжести ...
Магнитный датчик Область: Таким образом, я думал использовать датчик магнитного поля, чтобы найти два вектора, указывающие на север в двух различных положениях, но с той же ориентацией, после того, что я вычислил поперечное произведение обоих векторов, чтобы попытаться найти вектор, направленный вверх или вниз. Это не сработало (или казалось, что это не так).
Магнитное поле с акселерометром: Затем я подумал о том, чтобы сделать кросс-продукт, но на этот раз с вектором, созданным датчиком магнитного поля, и одним, предусмотренным акселерометром. Я не мог найти, как, потому что акселерометр немного наклоняется вниз, когда пользователь ускоряется из-за гравитационного притяжения.
Итак, я пришел к выводу, что мне нужно будет использовать датчик ориентации, чтобы сделать это, или только полагаться на низкочастотный фильтр ....
Проще говоря, как я детерминированным, что это вектор направлен вверх, в системе координат, используемой акселерометром, если у меня есть эти датчики:
- ориентация
- акселерометр
- магнитное поле
Я доволен этим ответом, хотя он не дает конкретного решения, которое не упоминалось ранее, поскольку оно подтверждает, что трудно отличить гравитационную силу и что фильтр нижних частот, вероятно, является способом идти. Спасибо, что подтвердили! – Slackware
Нет проблем :) На боковой ноте вам может быть интересна быстрая запись, которую я сделал на сенсорном оборудовании: http://www.reddit.com/r/Android/comments/1rd8ja/how_much_have_sensors_improved_since_the_nexus_s/ – TheIT