iphone accelerometer speed and distance

14,089

You can use the acceleration values from the accelerometer to measure the velocity and distance. There is really good paper (Implementing Positioning Algorithms Using Accelerometers) which explains the errors you get from the accelerometer and the techniques to get the velocity and position from the acceleration values.

Some pseudo code:

velocity[i] = (acceleration[i] + acceleration[i-1])/2 * interval + velocity[i-1] distance[i] = (velocity[i] + velocity[i-1])/2 * interval + distance[i-1]

interval is the time between acceleration/velocity[i] and acceleration/velocity[i-1] which is related to the update frequency of the accelerometer.

To increase accuracy you have to filter the acceleration values in the forehand. I've implemented such an algorithm on an iPhone 3GS and it worked pretty good. The accelerometer let's you measure distances of 30 cm with an error of approximately 1 cm. I didn't tested longer distances yet.

Share:
14,089
Ruchir Shah
Author by

Ruchir Shah

-- Software Engineer -- iPhone Developer -- Social Networking Consultant

Updated on June 04, 2022

Comments

  • Ruchir Shah
    Ruchir Shah almost 2 years

    I want to find distance traveled and velocity from accelerometer events. Like iphone's gMeter application is doing.

    Any suggestion, by which value or formula I should use for that?

    Thanks in advance.