Positional data derived from accelerometers

Discussion about the official guide to the Parallax Propeller: "Programming and Customizing the Multicore Propeller Microcontroller"

Positional data derived from accelerometers

Postby robots » Tue Apr 06, 2010 1:16 am

Hi Hanno,

Congratulations on your excellent Propeller Official Guide manual! It’s easy to read and packed full of useful information and strategies of how to incorporate the Propeller in many diverse applications.

I have programmed computers for many years, but I am relatively new on the hardware-software integration side.

I have an application that I would like to incorporate accelerometer(s) in order to keep track of positional changes of a device that will move in various x,y,z directions within an area of approx 18in length x 12in width x 8”height.

I noted on page 145 of the Guide that MEMS accelerometers may be “ … used to indicate velocity and position…”. I studied the Freescale Semiconductor application note found at http://cache.freescale.com/files/sensor ... df?fsrch=1
which indicates that positional data may be obtained from acceleration data by performing two integrations. From this article and reading various other articles it appears that obtaining accurate positional data from accelerometers may be compromised because of various sensitivity issues related to accelerometers as well as errors accumulated by the double integration.

I read your fascinating account of how you managed to achieve accurate tilt data by use of the Kalman filter along with gyroscopic and accelerometer sensors. Would the same procedure using either one or multiple accelerometer sensors achieve accurate results, or is there some other method perhaps using other devices in place of or in addition to accelerometers that would enable obtaining accurate positional data?

In advance, many thanks for your help!
robots
 
Posts: 2
Joined: Tue Apr 06, 2010 12:35 am

Re: Positional data derived from accelerometers

Postby Hanno » Fri Apr 09, 2010 10:27 pm

Hi,
Thanks for the post! Using a kalman filter with an accelerometer and gyroscope to calculate tilt works very well because:
- the gyro is great for determining how quickly the bot's tilt is changing- it provides a very clean signal of the tilt's derivative. Integrating it gets you tilt which suffers from drift.
- the accelerometer is great for determining which way is down (if you average the reading for long times)
- the kalman filter is great for "fusing" two sensors when one of which is the derivative of the other. It roughly low-pass filters the accelerometer and high-pass filters the gyro.

Now, you want to use the accelerometer to measure position. You can integrate once to get velocity (with some error) and twice to get position (with a lot of error). You could use a kalman filter that fuses the accelerometer with a velocity sensor. Even if you were only able to measure your velocity accurately rarely, this combination would still provide you with an accurate velocity. Then, if you had a way to measure position rarely, you could kalman filter the accurate velocity to get accurate position. I've never heard of anyone doing this, but theoretically it should work...
Hanno
Hanno
Site Admin
 
Posts: 282
Joined: Sat Apr 12, 2008 12:33 am

Re: Positional data derived from accelerometers

Postby robots » Sat Apr 10, 2010 6:13 pm

Hi Hanno,

Many thanks for your detailed reply!
robots
 
Posts: 2
Joined: Tue Apr 06, 2010 12:35 am


Return to Parallax Propeller: The Official Guide

Who is online

Users browsing this forum: No registered users and 1 guest

cron