2012-06-06 6 views
7

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

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

Я нашел эту бумагу, ALLOT полезной информации Accelerometer physics

Проблема заключается в том, что мы, скорее всего, не будет иметь время калибровки, чтобы начать с нуля .. однако предполагается, что водитель, начиная с 0. Мы будем использовать GPS-позиционирование для определения местонахождения транспортного средства, отслеживая данные о местоположении с отметкой времени, которые мы должны вычислить, когда было сделано приглашение, а затем используя данные акселерометра с меткой времени, которые мы должны иметь возможность рассчитать их реакцию на подсказку.

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

+1

Вы только пишете ускорение и замедление в своем сообщении. Зачем вам нужна скорость? Для чего? – Ali

+0

Возможный дубликат [Точность акселерометра Android (Инерциальная навигация)] (http: //stackoverflow.com/questions/7829097/android-accelerometer-accuracy-inertial-navigation) –

+0

Скорость важна для определения до и после ответа на запрос. Я ожидаю, что GPS даст относительно точный результат, но если мы можем вычислить ставку более точную модель, которая была бы предпочтительнее – Monergy

ответ

4

Интересное приложение.

Вам не хватает важного момента. Вам необходимо либо реализовать так называемый датчик fusion, либо использовать слияние датчиков, предоставляемое на используемой вами платформе. У Android и iPhone есть один.

Для вас должно быть достаточно TYPE_LINEAR_ACCELERATION (Android, SensorManager) или userAcceleration (iPhone).

Что касается связанного PDF, don't try integrating the acceleration, вы получите очень плохие результаты. Хотя этот ответ касается положения, скорость будет уже неточной. Вместо этого я попытаюсь использовать GPS.

+0

Большое спасибо! Я вижу, что Android API работает только для версии 10 и более поздней версии. Так вот, только около полутора лет. Слияние сенсора может быть сделано вручную в более ранних версиях нет? – Monergy

+0

Вы можете достичь этого, пока у вас есть акселерометр и датчик магнитного поля. Вы, к сожалению, обычно не получаете лучшего результата, делая это сами. В этом конкретном случае я не считаю, что калибровка будет вашим первым делом, поскольку шум и точность будут. GPS поможет вам в этом плохо. Я думаю, что ^^ – PeterGriffin

+0

@Monergy Да, вы можете сделать [sensor fusion] (http://stackoverflow.com/a/5895189/341970) самостоятельно. Это нетривиальная и очень трудоемкая задача, я реализовал ее на платформе Shimmer. – Ali

0

Я знаю, что это очень старый вопрос, но поскольку я недавно работал над подобным проектом, позвольте мне поделиться тем, что мы сделали в нашей компании. Мы просто использовали OBD-II dongle, чтобы получить скорость автомобиля. Есть много API, которые возвращают информацию об автомобиле.

PID010D возвращает скорость транспортного средства. Я использую этот PID для вычисления расстояния между точками A и B, так как нет возврата PID. Одометр :(

Существует несколько библиотек на github, которые вы можете легко найти по поиску. This mine. Это не библиотека, но после на вашем устройстве вы можете увидеть, как это работает.

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