отслеживать небольшие движения iphone без GPS

Мне нужно написать приложение для iphone, которое отслеживает движение самого iphone, учитывая его начальное положение, даже не используя GPS. То есть я могу использовать только данные гироскопа и акселерометра. Расстояния, которые мне нужно измерить, довольно малы, а точность, которую я ищу, составляет максимум 40-50 см (~ 2 фута).

Это возможно? Если да, то как лучше всего это сделать? Кроме того, знаете ли вы о каких-либо существующих проектах (и, возможно, с открытым исходным кодом), которые уже реализовали это?

Большое спасибо!


person Ricky Robinson    schedule 27.05.2011    source источник
comment
если это имеет значение, то это для iphone4   -  person Ricky Robinson    schedule 28.05.2011
comment
Это, безусловно, возможно, и я бы сказал, что примерно на 2 фута вы можете полностью забыть о введенных ошибках.   -  person Anurag    schedule 28.05.2011


Ответы (1)


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

Вот объяснение почему (Google Tech Talk) в 23:20. Я очень рекомендую это видео.

Я ответил на аналогичный вопрос здесь и здесь.

person Ali    schedule 27.05.2011
comment
@Ali, не могли бы вы объяснить или привести пример кода двойной интеграции ускорения? - person David Seek; 25.04.2016
comment
@DavidSeek Что касается введения, я бы порекомендовал метод прямоугольника; это самый простой способ численного интегрирования. Если вы сначала примените метод прямоугольника к данным об ускорении, которые вы получаете от датчика, вы получите скорость. Если вы повторите ту же процедуру для только что полученной скорости, вы получите позицию. Это бесполезно, как уже сказано в ответе. - person Ali; 25.04.2016
comment
спасибо за подсказку. но в соответствии с это , должна быть возможность... потому что приложение почти идеально точное... - person David Seek; 25.04.2016
comment
@DavidSeek О, конечно, есть и другие способы получить эту должность. В этом ответе я только утверждаю, что вы не можете сделать это, дважды интегрируя ускорение. Веб-сайт, на который вы ссылаетесь, рассказывает мне, насколько потрясающим это приложение, но ничего не говорит о технических особенностях. Мне нужно было увидеть это приложение в действии; тогда я мог бы сделать некоторые обоснованные предположения, как это могло бы работать. - person Ali; 25.04.2016
comment
@DavidSeek Я озадачен. У вас есть доступ к его приложению? Можешь попробовать? Есть куча вещей, которые я бы попробовал. Что произойдет, если я полностью закрою обе камеры, например. с темной лентой? Как камера выставляет фокус при фотографировании, есть ли у нее какой-нибудь инфракрасный датчик для измерения расстояния? Что произойдет, если в здании нет приема GPS? Что произойдет, если я коснусь стен в случайном порядке? Что произойдет, если я пройдусь по комнате каждый раз, прежде чем коснуться стены? - person Ali; 25.04.2016
comment
У меня есть приложение, и я полностью протестировал его сегодня. приложению не нужны камеры. я провел пальцами по нему. GPS не использовался, потому что я был в комнате внутри большого здания. я проверял это 10 раз в одном и том же здании в разном порядке стен. назад вперед. разница была между 10-20 см в комнате площадью 45 кв.м ... так что это довольно круто ... вам нужно приложить телефон к стене на пару секунд (я думаю, поэтому один из датчиков имеет постоянное значение) и затем идите от стены к стене. A-B-C-D-A-B сделано. точный... - person David Seek; 25.04.2016
comment
@DavidSeek У моего дяди было устройство еще в 1980-х годах, которое, по сути, делало то же самое, что и это приложение, но тогда у нас не было iPhone. :) Это устройство излучало ультразвук и рассчитывало расстояния по времени, которое потребовалось эху, чтобы вернуться. Конечно, как человек, вы ничего не слышали. iPhone, вероятно, мог бы сделать то же самое. Скорее всего, вы можете сделать что-то подобное и с волнами WiFi и измерить расстояние от помех. Итак, есть куча способов сделать это, но мне нужно было бы возиться с этим приложением, чтобы перепроектировать его. Во всяком случае, мне очень любопытно, как это работает. - person Ali; 25.04.2016
comment
@Ali интересная теория с волнами Wi-Fi. но просто для пробы я перевел свой телефон в режим полета, и он отлично справился со своей задачей в моей маленькой комнате. так что нет вайфая. нет GPS. нет гмс. нет блютуза. - person David Seek; 25.04.2016
comment
@DavidSeek Спасибо за картинку! Устройство может точно измерять ориентацию, что неудивительно, я тоже реализовал это 6 лет назад. Однако я понятия не имею, откуда взялась эта позиция. Уж точно не от двойного интегрирования ускорения. До сих пор это были мои предположения: ультразвук, помехи сигнала WiFi, инфракрасный датчик, GPS, камера. Какие еще датчики есть в вашем iPhone? - person Ali; 26.04.2016
comment
пожалуйста. ну, мы можем точно исключить Wi-Fi и GPS из-за режима полета. мы не можем? инфракрасный? не знал, что у 6S это есть. у меня 6s - person David Seek; 26.04.2016
comment
@DavidSeek Моя камера измеряет расстояние с помощью инфракрасного датчика, прежде чем сделать снимок. Отчасти так он устанавливает фокус, и это дешевая камера, ничего особенного. Я предполагаю, что любой телефон, который может делать снимки, имеет нечто подобное. УЗИ по-прежнему возможно; iPhone, безусловно, имеет микрофон и может издавать звуки. Но я озадачен. - person Ali; 26.04.2016
comment
@DavidSeek Мне все еще интересно, как работает это приложение. Есть ли похожий на strace инструмент для iPhone? Возможно, это может быть полезно для Frida или Cydia? (Я не знаю, я никогда не занимался разработкой для iPhone, извините.) Кроме того, у меня есть несколько идей, которые, возможно, стоит протестировать, но было бы гораздо лучше на самом деле отследить это приложение и выяснить, какие датчики оно использует. Мне интересно. - person Ali; 28.04.2016
comment
@DavidSeek Я предполагаю, что приложение похоже на это: Автономный роботизированный самолет летит в помещении Массачусетского технологического института но вместо лазерного сканирования приложение использует что-то другое для сканирования стен, и таким образом оно получает расстояния. Итак, как я спрашивал в своем предыдущем посте: можно ли как-то отследить, какие части (датчики, камеры, микрофон, динамики, GPS и т. д.) телефона использует это приложение? В качестве альтернативы я мог бы предложить два эксперимента, которые могли бы исключить определенные возможности, если вы все еще заинтересованы. - person Ali; 28.04.2016
comment
@Ali для firda или cydia мне нужно сначала сделать джейлбрейк моего телефона? на самом деле это не вариант для меня ... или, по крайней мере, я должен исследовать, не вызовет ли это у меня проблемы с планом разработки или что-то в этом роде ... но у меня есть iphone 6S, купленный наличными за 1 тысячу евро с 3-летним Apple. забота осталась. не хочу ничего испортить. Apple не очень весело, когда дело доходит до джейлбрейка. Завтра я изучу, какие у меня есть возможности отслеживать, какие части используются во время использования или приложения. если есть, я могу исключить некоторые части, такие как камера, микрофон, динамик, GPS и т. д., закрыв их или снова отправив телефон в полет. - person David Seek; 28.04.2016
comment
и, конечно, мне все еще интересно. здесь почти 12 часов дня и время спать, но если вы хотите, чтобы я попробовал некоторые эксперименты, просто скажите мне. - person David Seek; 28.04.2016