DSPRelated.com
Forums

IMU Sensor Calibration Tricks?

Started by Randy Yates July 18, 2013
The straightfoward way to measure offset and gain errors in linear
acceleration sensors is via the so-called "six-point tumble test."
However, this test requires a very expensive fixture that can rotate the
DUT very precisely.

Are there any tricks for doing such a calibration without requiring an
expensive fixture and/or precise knowledge of the positions?
-- 
Randy Yates
Digital Signal Labs
http://www.digitalsignallabs.com
>The straightfoward way to measure offset and gain errors in linear >acceleration sensors is via the so-called "six-point tumble test." >However, this test requires a very expensive fixture that can rotate the >DUT very precisely. > >Are there any tricks for doing such a calibration without requiring an >expensive fixture and/or precise knowledge of the positions? >-- >Randy Yates >Digital Signal Labs >http://www.digitalsignallabs.com >
You can do a tumble test on a vrey flat granite table, assuming the accel is mounted in a box (aluminum), that is also very flat...not sure if that will work for you. _____________________________ Posted through www.DSPRelated.com
On 7/18/2013 4:25 PM, Randy Yates wrote:
> The straightfoward way to measure offset and gain errors in linear > acceleration sensors is via the so-called "six-point tumble test." > However, this test requires a very expensive fixture that can rotate the > DUT very precisely. > > Are there any tricks for doing such a calibration without requiring an > expensive fixture and/or precise knowledge of the positions?
There is no necessity to know position or set to exact position. Just collect many data points randomly over entire sphere; then solve for gain/offset corrections. After that, you only need to establish reference direction once. Vladimir Vassilevsky DSP and Mixed Signal Designs www.abvolt.com
Vladimir Vassilevsky <nospam@nowhere.com> writes:

> On 7/18/2013 4:25 PM, Randy Yates wrote: >> The straightfoward way to measure offset and gain errors in linear >> acceleration sensors is via the so-called "six-point tumble test." >> However, this test requires a very expensive fixture that can rotate the >> DUT very precisely. >> >> Are there any tricks for doing such a calibration without requiring an >> expensive fixture and/or precise knowledge of the positions? > > There is no necessity to know position or set to exact position. Just > collect many data points randomly over entire sphere; then solve for > gain/offset corrections. After that, you only need to establish > reference direction once.
Thanks Vlad. I can see how that would allow you to solve for offsets - just average each of X, Y, and Z, assuming the average of the positions are zero-mean. But how can you get gain data from this type of a test? Seems like to get the gain, one has to measure one position, then turn it precisely 180 degrees and measure again. -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com
On 7/18/2013 5:23 PM, Randy Yates wrote:
> Vladimir Vassilevsky <nospam@nowhere.com> writes: > >> On 7/18/2013 4:25 PM, Randy Yates wrote: >>> The straightfoward way to measure offset and gain errors in linear >>> acceleration sensors is via the so-called "six-point tumble test." >>> However, this test requires a very expensive fixture that can rotate the >>> DUT very precisely. >>> >>> Are there any tricks for doing such a calibration without requiring an >>> expensive fixture and/or precise knowledge of the positions? >> >> There is no necessity to know position or set to exact position. Just >> collect many data points randomly over entire sphere; then solve for >> gain/offset corrections. After that, you only need to establish >> reference direction once. > > Thanks Vlad. > > I can see how that would allow you to solve for offsets - just average > each of X, Y, and Z, assuming the average of the positions are > zero-mean.
No. All data ponts should belong to a sphere with radius of G. Just solve a system of equations for best matching gains and offsets. You can solve for axis misalignment, too.
> But how can you get gain data from this type of a test? Seems like to > get the gain, one has to measure one position, then turn it precisely > 180 degrees and measure again.
Vladimir Vassilevsky DSP and Mixed Signal Designs www.abvolt.com
Randy Yates <yates@digitalsignallabs.com> wrote:
> Vladimir Vassilevsky <nospam@nowhere.com> writes:
>> On 7/18/2013 4:25 PM, Randy Yates wrote: >>> The straightfoward way to measure offset and gain errors in linear >>> acceleration sensors is via the so-called "six-point tumble test." >>> However, this test requires a very expensive fixture that can rotate the >>> DUT very precisely.
(snip)
>> There is no necessity to know position or set to exact position. Just >> collect many data points randomly over entire sphere; then solve for >> gain/offset corrections. After that, you only need to establish >> reference direction once.
(snip)
> I can see how that would allow you to solve for offsets - just > average each of X, Y, and Z, assuming the average of the > positions are zero-mean.
> But how can you get gain data from this type of a test? > Seems like to get the gain, one has to measure one position, > then turn it precisely 180 degrees and measure again.
If you measure enough directions, the offsets should average out, and the gains should also be visible. One way to see the gains is to average the square, such that you compute the RMS value for each one. Seems to me that you should be careful to avoid systematic errors, though. If all orientations aren't equally probable, then the averages won't be correct. If, for example, you put it inside a ball and let it roll around randomly, and the mass was off center, it wouldn't be equally likely in all directions. But fixing that might be much cheaper than fancy alignment equipment. -- glen
On Thu, 18 Jul 2013 17:25:19 -0400, Randy Yates
<yates@digitalsignallabs.com> wrote:

>The straightfoward way to measure offset and gain errors in linear >acceleration sensors is via the so-called "six-point tumble test." >However, this test requires a very expensive fixture that can rotate the >DUT very precisely. > >Are there any tricks for doing such a calibration without requiring an >expensive fixture and/or precise knowledge of the positions? >-- >Randy Yates >Digital Signal Labs >http://www.digitalsignallabs.com
Build your own fixture for cheap: http://www.gcdataconcepts.com/calibration.html If you're very handy at all or have a neighbor/friend who is, this is not difficult to build. Eric Jacobsen Anchor Hill Communications http://www.anchorhill.com
On Thu, 18 Jul 2013 16:48:07 -0500, jacobfenton wrote:

>>The straightfoward way to measure offset and gain errors in linear >>acceleration sensors is via the so-called "six-point tumble test." >>However, this test requires a very expensive fixture that can rotate the >>DUT very precisely. >> >>Are there any tricks for doing such a calibration without requiring an >>expensive fixture and/or precise knowledge of the positions? >>-- >>Randy Yates Digital Signal Labs http://www.digitalsignallabs.com >> > You can do a tumble test on a vrey flat granite table, assuming the > accel is mounted in a box (aluminum), that is also very flat...not sure > if that will work for you.
Or check the Enco or McMaster-Carr catalogs for big 1-2-3 blocks. Put the IMU inside, or sump'tin. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com
Am 18.07.2013 23:25, schrieb Randy Yates:
> The straightfoward way to measure offset and gain errors in linear > acceleration sensors is via the so-called "six-point tumble test." > However, this test requires a very expensive fixture that can rotate the > DUT very precisely. > > Are there any tricks for doing such a calibration without requiring an > expensive fixture and/or precise knowledge of the positions?
Instead of assuming that each axis points precisly upwards and downwards, you can just measue the points and fit an ellipoid through the surface points. That's what I did. This boils down to a linear equation system. Make sure that this system is well-conditioned. You might have to do some scaling in order to reduce the condition number. In my case I converted the raw 16bit measurements to (approximate) g forces. So the ellipsoid is expected to have radii around 1. After the ellipsoid fit, you can correct shift and scale for each axis.
SG <sgesemann@gmail.invalid> writes:

> Am 18.07.2013 23:25, schrieb Randy Yates: >> The straightfoward way to measure offset and gain errors in linear >> acceleration sensors is via the so-called "six-point tumble test." >> However, this test requires a very expensive fixture that can rotate the >> DUT very precisely. >> >> Are there any tricks for doing such a calibration without requiring an >> expensive fixture and/or precise knowledge of the positions? > > Instead of assuming that each axis points precisly upwards and > downwards, you can just measue the points and fit an ellipoid through > the surface points. That's what I did. This boils down to a linear > equation system. Make sure that this system is well-conditioned. You > might have to do some scaling in order to reduce the condition number. > In my case I converted the raw 16bit measurements to (approximate) g > forces. So the ellipsoid is expected to have radii around 1. After the > ellipsoid fit, you can correct shift and scale for each axis.
Hi SG, This sounds precisely like what Vlad was suggesting, with the exception of the geometry - you say ellipsoid, Vlad said sphere. Sphere makes sense to me - where do you come up with an ellipsoid? Is it because of varying gains in the X, Y, and Z? -- Randy Yates Digital Signal Labs http://www.digitalsignallabs.com