2015-09-04 3 views
1

В iOS легко получить доступ к линейному ускорению, которое равно вычитанию Gravity от ускорения Raw.Оценка положения для iOS с использованием акселерометра

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

Затем я сделал двойную интеграцию в Matlab, используя cumtrapz, но когда я занимаю позицию, она растет со временем.

Что я делаю неправильно? Я ожидал, что позиция должна быть 0.

+0

Большинство коммерческих акселерометров имеют ** слишком много ** ошибку смещения и шум вокруг нулевой уровень для этого типа вычислений. Только датчики **, специально разработанные для инерциальной навигации, позволят вам это сделать. Даже тогда это часто слишком шумно для использования в одиночку, поэтому, когда это возможно, оно используется вместе с другим индикатором положения (обычно GPS), и оба набора данных объединяются/фильтруются с использованием фильтра Калмана. – Hoki

+0

Применения, которые используют только инерциальную навигацию, нуждаются в 6-осевых датчиках (3-осевое ускорение и 3-осевой гироскоп), чтобы выполнить даже половину правильно ... Эти датчики обычно встроены в петлю обратной связи аппаратуры для устранения шума и компенсируют ошибку на летать. Датчики, способные делать это, начинаются с 5000 долларов поп (и могут легко достигать 20 000 долларов). Не типичный акселерометр в вашем iPhone. Плюс эти типы датчиков - это то, что используется в баллистике и оружии, поэтому их распределение довольно ограничено. Если у iPhone были эти возможности, вы не могли бы продавать iPhone так широко, как сейчас. – Hoki

+0

https://www.youtube.com/watch?v=_q_8d0E3tDk – Jacksonkr

ответ

1

Из того, что я читал, это слишком подвержено ошибкам, чтобы быть полезным. Расчеты на основе акселерометра основаны на небольших ошибках дрейфа, которые накапливаются с течением времени. (Если телефон путешествует с постоянной скоростью 100 км/ч, когда ваше приложение запускается первым, вы не можете сказать.) Все, что вы можете измерить, - это ускорение.

0

Всегда были ошибки смещения от датчиков, которые со временем могут расти вместе с интеграцией. Можете ли вы рассчитать дрейф датчика, когда устройство находится в покое ?. И затем попытайтесь взять среднее значение дрейфа и вычесть его из входа, чтобы датчик показывал 0 в покое, Затем попытайтесь удвоить его интеграцию

Смежные вопросы