Android / iOS, как определить небольшие изменения в расстоянии с помощью датчиков? - PullRequest
1 голос
/ 18 февраля 2011

Я провел небольшое исследование, но не могу найти способ определения небольших расстояний (сантиметров и метров) с помощью датчиков в устройствах Android или iOS.Bluetooth кажется слишком неточным и требует более одного устройства, GPS работает только при больших изменениях расстояния, а небольшие изменения в вращении делают использование акселерометра практически невозможным.позволил бы мне сделать такую ​​вещь?Я знаком с Calculus, поэтому использование интегралов для определения расстояния на основе изменений во времени и скорости / ускорения не проблема для меня, я просто не знаю, как определить эти вещи.

Спасибо.

Ответы [ 3 ]

3 голосов
/ 18 февраля 2011

В этих устройствах нет датчика, который может дать вам необходимую точность без помощи извне.

Если ваш вариант использования допускает небольшую внешнюю настройку, вот несколько идей:

Вы можете использовать камеру и компьютерное зрение для расчета движения устройства.Например, вы можете использовать ARToolkit для измерения расстояния до визуального тега, прикрепленного к стене.На близких расстояниях вы можете получить довольно высокую точность (мм), используя эту технику.

Другая идея заключается в измерении расстояния до твердого объекта, такого как стена, с помощью короткого звукового сигнала с использованием динамика ивремя, пока эхо не достигнет микрофона.Это был бы скорее исследовательский проект.

1 голос
/ 05 марта 2011

Вы МОЖЕТЕ использовать акселерометр для измерения пройденного расстояния
(если задействовано ТОЛЬКО абсолютное смещение).

Пусть пользователь удерживает устройство на ровном месте и идет от точки А к точке Б.
Пользователь нажимаеткнопка «Пуск» в вашем приложении, когда он начинает с А, и
нажимает кнопку «Конец» в вашем приложении, когда он достигает B.

Вычисляет двойное интегрирование AccelX и AccelY отдельно по времени
между 2 нажатиями кнопок.Это будут distX и distY соответственно.

Суммарное смещение будет равно sqrt ((distXsquared) + (distY square)).

GoodLUCK !!

С уважением
CVS@ 2600Hertz

0 голосов
/ 18 февраля 2011

Так же, как мысленный эксперимент, вы должны быть в состоянии сделать это, используя комбинацию акселерометра и компаса на каждом устройстве.

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

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