# Is it possible to measure constant velocity using accelerometer/Gyro

I have a board that has a gyro and a 3-axis mems accelerometer. Is it possible to measure constant velocity using accelerometer/Gyro. I find velocity by integrating (summing) acceleration over time. Now if the body is moving with constant velocity, acceleration will be zero, and so velocity will come out 0 (falsely, since it might be some other constant also). What do I do, what is the alternate method I can use?

• By definition, you can't measure the magnitude of a constant velocity using an accelerometer. You need a separate sensor. Commented May 29, 2013 at 8:49
• You probably should add what you're tracking. Things like GPS or the odometer input on a vehicle may be options. Commented May 29, 2013 at 9:08

Integration of an acceleration is not a velocity alone, but velocity due to acceleration over time, plus the constant initial velocity.

Therefore the rationale of integrating acceleration to determine velocity is invalid, unless the initial velocity is provable to be zero.

The answer: No, an accelerometer, or a gyroscope, can not be used to determine constant velocity, without some additional sensor, or baseline data i.e. initial velocity.

• You can determine constant velocity without any additional sensors if you know the initial velocity ;) Commented May 29, 2013 at 10:56
• @MikeJ-UK That's precisely what my answer states: "without some additional sensor, or baseline data i.e. initial velocity" Commented May 29, 2013 at 12:11
• Only kidding Anindo. The way I read this, the velocity at any time is the initial velocity (since it's constant). Commented May 29, 2013 at 14:04

Accurately? No, not without some sort of aiding from other sensors.

Consider the case of white noise on the sensor. Integrating (acceleration + noise) will result in not only velocity, but a Random Walk which will forever grow with time.

That's before we consider bias, non-linear effects, bandwidth and everything else that affects "real" accelerometers. Furthermore, unless the accelerometer is held in exactly the same orientation, then you'll get errors too unless you precisely know your angular orientation.

That's before we consider the earth's rotation!

There's good reasons why Inertial Navigation Systems cost hundreds of thousands of dollars - because it's so hard to make it precise.

You'll find it much easier to find another sensor.

• The noise will integrate to zero over time, so the size of the random walk part will hopefully be very small compared to the velocities of interest. Bias and drifts, however will accumulate. Commented May 29, 2013 at 16:21
• The expected value will be zero (i.e. the average of a run number of sequences of random walks), but the variance will monotonically increase with time. That is, you cannot expect any individual random walk sequence to "average out" to zero - an individual run will drift. You can see this in the wikipedia example Commented May 30, 2013 at 7:49
• Yes, that is just what it will look like if you have no acceleration outside your noise floor. If you do, the random walk will be orders of magnitude below the integration of the real signal, and will be absolutely swamped by even a small bias. Try to talk about such effects in order of large to small, or you'll get somebody looking for info hung up on second or third order effects. Commented May 30, 2013 at 11:08
• Bias, noise, misalignment (i.e. error in your knowledge of attitude), scale factor errors, errors in your knowledge gravity will all cause the position to drift as a function of time squared. This accumulated position error will actually then cause you to incorrectly estimate gravity which will then cause an exponential error in position. The take-home message here is unless you have very tight control over all the error sources in an accelerometer, you'll struggle to get a useful result. Commented May 30, 2013 at 11:20

Also, the gyro has nothing to do with translational acceleration. If you were talking about angular velocities, however, the gyro will give you a good readout of constant angular velocity.

• Gyros do matter, if the attitude (i.e. angular orientation) is not held exactly the same, which is true for any practical system. One needs to integrate the gyros to get angle. Once the angle is calculated, one can rotate the accelerometer measurements into the navigation frame. Once in the navigation frame, they can be integrated twice to obtain position.... assuming the sensors are good enough to do this without significant error. Commented May 30, 2013 at 7:52
• For the same reason that you can't simply integrate acceleration to get velocity, you can't simply integrate a gyro to yield angular position. Far easier to use the DC values of the 3 axis accelerometer to get the coordinates of the accelerometer. The OP did not specify the accelerometer would be changing orientation, and a gyro cannot capture the initial position. Yes, if the orientation is changing, you can algorithmically use the gyros to improve the position estimates. Commented May 30, 2013 at 11:02
• An accelerometer on the surface of the earth travelling at a "constant velocity" (e.g. a highway) is actually rotating at 15deg/hr. So, unless it's constant velocity in inertial space, it will be rotating and hence gyros (or some other means of estimating rotation) is absolutely required. Commented May 30, 2013 at 11:06
• That's incorrect. The inertial frame of the accelerometer is referenced to gravity, and thus stays constant in your example. If the car goes up a hill, that's a different story, but then I suppose the car will be moving at constant speed and not velocity. Commented May 30, 2013 at 11:23
• Unless, of course, you're talking about zeroing out the centripetal acceleration caused by traversing the surface of the earth at automobile speeds, but again, third order. Commented May 30, 2013 at 11:30