IOS: точность перемещения в 3D пространстве

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

Я планирую написать приложение, в котором пользователи будут перемещаться со своими телефонами в любом направлении, но нужно только перемещаться на несколько футов. Есть ли какой-либо метод, возможно, с помощью акселерометра и гироскопа, которые позволили бы достичь такой степени точности?

Например, пользователь держит телефон плоским (так, что нижняя часть телефона работает параллельно с полом). На экране что-то нарисовано, что не движется "с экраном", когда человек идет вперед, назад и бок о бок. Таким образом, объект кажется неуправляемым и доступен только при наличии телефона в правильном положении в трехмерном пространстве.

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

Спасибо!

Дерек

Ответ 1

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

Вот объяснение, почему (Google Tech Talk) в 23:20.

На самом деле вы могли бы открыть свой "скрытый объект", изменив ориентацию телефона. Это очень хорошо работает с акселерометрами и компасом. Это именно то, что вы видите в видео, опубликованном colechristensen.

Ответ 2

Посмотрите http://www.readwriteweb.com/archives/impressive_augmented_reality_demo_shows_off_sensor_fusion.php

Можно значительно увеличить местоположение путем объединения выходов с различных датчиков с помощью "слияния датчиков". Самая интересная концепция, я думаю, использует вывод с камеры для обнаружения и записи движения (в сочетании с гироскопами, акселерометрами и GPS). Вы должны написать фильтр Kalman для объединения.

Проблема заключается в том, что это находится на уровне инженера-градиента, который много лет изучал такие вещи. Не невозможно, но будьте готовы к вызову.