Hi,

I am interested in calculating the speed of an object using the data from an accelerometer. I have a LSM303DLM accelerometer and a gyroscope that I am using to estimate the tilt using a complementary filter (using both the accelerometer's and gyroscope's data). Now I need to know the average speed and an estimation of how far the object traveled.

I know that integrating the accelerometer's data might not be too accurate because of the accelerometer's error. However, I'd like to know the speed of my IMU at very small intervals of time (less than one second). I will be accelerating the object that has the accelerometer for small intervals of time, then it will stop for approximately that same time, then it will keep going and so forth. I know when the unit is going to be at rest, so I am planning on resetting the velocity to zero everytime I know it's at rest, then start integrating again for just that small interval of time.

My question is, is the fact that I will be integrating for just short periods of time going to help? I am planning on averaging those speeds later on to know how far the object traveled, displacement=v*t, where v = (v1+v2+...vn)/n and t would be the total elapsed time (that time can be hours). I know that if I continuously double integrate the accelerometer's data, the resulting displacement is going to be unreliable because of the error.

So by integrating for short periods of time, and knowing when the object is at rest to reset the values would help? Or would I have the same problem that the error is going to make the data unreliable?

Thanks in advance.