Вы можете использовать значения ускорения от акселерометра для измерения скорости. Есть действительно хорошая статья ( Реализация алгоритмов позиционирования с использованием акселерометров ), в которой объясняются ошибки, которые вы получаете от акселерометра, и методы получения скорости и положения из значений ускорения. Чтобы получить время, необходимое для разгона автомобиля с 0 до 100 км / ч, вам нужно измерить время, пока вы не достигнете определенной скорости.
Основные шаги, которые вы должны предпринять, чтобы получить скорость из значений ускорения:
- получить значения ускорения
- интегрировать по значениям, чтобы получить скорость
Некоторый намек:
velocity[i] = (acceleration[i] + acceleration[i-1])/2 * interval + velocity[i-1]
interval
- это время между acceleration[i]
и acceleration[i-1]
, которое связано с частотой обновления акселерометра.
Чтобы повысить точность, вы должны отфильтровать значения ускорения в правой части.
PS: Я реализовал такой алгоритм на iPhone 3GS, и он работал довольно хорошо. Акселерометр позволяет измерять расстояния 30 см с погрешностью примерно 1 см. Я еще не тестировал большие расстояния.