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?
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.
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.
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.