I was originally thinking of using it to place onto my iRobot Create to form the basis for determining position. Past that point, I haven't really given this that much thought. As I am doing some research on how to use the thing, I am starting to realize that there is much that I do not know about how to use it. There are many articles on correcting the drift errors apparent from each of these devices. Never mind that I haven't put together an I2C interface so that I can check it out. In order to get distances from the accelerometer, you will need to do double integrations which are subject to drift in and of themselves. Some of the more interesting articles include:
- http://www.varesano.net/blog/fabio/simple-gravity-compensation-9-dom-imus which shows a gravity compensation for the accelerometer. Mentioned in this article was the use of Quaternions, which minimize the accumulated round-off error of normal digital calculations.
- http://theboredengineers.com/2012/05/the-quadcopter-basics/ and http://theboredengineers.com/2012/09/the-quadcopter-get-its-orientation-from-sensors/ which outline how to get orientation (pitch, roll, and yaw) from the various sensors. This article is in reference to some basic elements of getting a quad-copter up and running.
- http://www.x-io.co.uk/node/8 contains a fusion filter discussion.
- http://www.starlino.com/imu_guide.html and http://www.starlino.com/imu_kalman_arduino.html contain some additional information about the use of accelerometers and gyros together to measure distance.
More later.