We are using a 3-axis accelerometer, and wish to detect our true
linear velocity, say as a black box situated inside a car. What is the
best algorithm or method to do this, assuming we want a high accuracy
speed value, and cannot allow drift or errors to slowly increase our
speed estimate to 1000km/h and more for example.
We can measure gravity, and measure the tilt & roll angle 'at rest'
(IE including when travelling constant velocity).
When the device is set in motion, how can we keep a gravity reference
under changes in velocity (IE starts moving), so we can measure
exactly how much acceleration occurs in the three planes?
We can assume for real-world purposes that the vertical acceleration
(z-axis) is expected to be low, and that we are almost never
travelling at a velocity directly opposite to gravity - IE apart from
the odd speed hump (or Judder bar for New Zealand folk), we can assume
our true z-axis velocity is always zero. Of course the z-axis sensor
will show change as we go up and down hills, but when resolved for
orientation, it should be zero as we are detecting terrestrial
movement and not that of a freely moving spacecraft. Perhaps this
limitation will enables us to better fix our 2D linear velocity in the
X,Y plane (IE corrected for the earth orientation, and then relative
to roads etc)
We can also detect the vehicle is stationary, being a very low value
for variations on all 3 accelerometers - IE we can use this to provide
some correction factor, but would still need to show an accurate speed
/ velocity value for a vehicle that may travel for an hour without
stopping (and hence receiving a velocity correction back to zero)
In summary, we can measure x,y,z acceleration in an object that may be
orientated in any way (Such that the axis needs to be translated to
the earth relative values instead of device relative vlaues). We can
also detect when our obeject is stationary, to enable occasional
absolute speed corrections.
The question is HOW do we best use the above values to measure our
velocity relative to the road / earth? |