Technical:Accelerometer Fundamentals

From Openmoko

Revision as of 19:40, 14 May 2007 by Johan (Talk | contribs)

Jump to: navigation, search
  • AFAIK, you should be able to achieve the equivalent of a 3-axis accelerometer and a gyro by using three two-axis ones, and some software...
    • To tell which way the phone is spun, you need three gyros (to measure spin around the long axes and around the USB plug, and around an axes in and out of the screen). To tell which way the phone is accelerating, you need 3 accelerometers - this is a total of 6 independent variables.
    • You can't quite derive all 6 from 3 2-axis accelerometers, as apart from geometric problems (you tend to end up with axes that coincide) the sensitivity for rotation in some axes really quite sucks. (consider the size of the gravity vector, and consider the noise of the accelerometers).
    • Having said this, there is a big trade off between 'good enough' and cost. With smart software, it may be possible to get useful function without having to have the full optimal set of hardware that would make the function perfect.

An example of an accelerometer that might be used is the one in the Wiimote, as documented in this page . This page gives the sensitivity of the accelerometer as around 300ug/sqrt(Hz).

This is almost useless unfortunately. Though it implies - given adequate filtering - that you can get a position of a meter or better over 24 hours, the very high temperature sensitivity means that even stabilising the temperature to .1C, you get a bias of up to 1mm/s^2, or 100m/s after a day, or 8600Km. (1Km in around half an hour) In real use, in a phone, without a little oven to keep the temperature stable, 3cm/s^2 or so is probably achievable, or 1Km uncertainty in around 3 minutes.

References

Personal tools
  • AFAIK, you should be able to achieve the equivalent of a 3-axis accelerometer and a gyro by using three two-axis ones, and some software...
    • To tell which way the phone is spun, you need three gyros (to measure spin around the long axes and around the USB plug, and around an axes in and out of the screen). To tell which way the phone is accelerating, you need 3 accelerometers - this is a total of 6 independent variables.
    • You can't quite derive all 6 from 3 2-axis accelerometers, as apart from geometric problems (you tend to end up with axes that coincide) the sensitivity for rotation in some axes really quite sucks. (consider the size of the gravity vector, and consider the noise of the accelerometers).
    • Having said this, there is a big trade off between 'good enough' and cost. With smart software, it may be possible to get useful function without having to have the full optimal set of hardware that would make the function perfect.

An example of an accelerometer that might be used is the one in the Wiimote, as documented in this page . This page gives the sensitivity of the accelerometer as around 300ug/sqrt(Hz).

This is almost useless unfortunately. Though it implies - given adequate filtering - that you can get a position of a meter or better over 24 hours, the very high temperature sensitivity means that even stabilising the temperature to .1C, you get a bias of up to 1mm/s^2, or 100m/s after a day, or 8600Km. (1Km in around half an hour) In real use, in a phone, without a little oven to keep the temperature stable, 3cm/s^2 or so is probably achievable, or 1Km uncertainty in around 3 minutes.

References