Linear Acceleration Calibration

I have a way of calibrating the raw accelerometer data to compensate for the offsets and cross axis sensitivity. I use the fact that when the IMU is completely stationary, it's acceleration vector length should be equal to g. So I leave the IMU stationary at 10+ different orientations and then solve the system of equations to give me my calibration matrices. My corrected acceleration will be of the form A_c = M * (A - B) where M is essentially slopes correcting the cross axis sensitivity and B will be the linear offsets and A is the raw accelerometer data. For example my B may be:
-0.0289
0.0184
0.0309 

and M may be:
0.9944   -0.0092   -0.0070
-0.0092    0.9983   -0.0016
-0.0070   -0.0016    0.9878

I am happy with calibrating the accelerometer this way and I get satisfactory results as during an actual tests I'm doing when the IMU is stationary, the mean acceleration vector is equal to almost exactly 1g.

Now the problem arises when I start using sensor fusion and take linear accelerations. Linear accelerations I get are offset by as much as 0.015g. I've tried calibrating it the same way I would with using raw accelerometer data, but I don't get appropriate results because of how that linear acceleration is calculated (I think). 

So I have the following questions: is there a way to calibrate linear accelerations to make sure they have a mean that is closer to zero when IMU is stationary. If that is not possible, I want to know if I can log both raw accelerometer and fusion data as using the MetaBase app, if I select accelerometer, fusion sensors disappear and vice versa. I have metamotion C,R and metawear CPro sensors if that helps.

Comments

  • Which sensor fusion mode are you using?  NDOF uses the magnetometer which may require calibrating before use (drawing figure 8s).

    You can log accelerometer and sensor fusion simultaneously.  MetaBase does not allow this as it is not a recommended use case but you can write a simple app to log both.


  • I don't think I can choose fusion mode when just using metabase, so I assume it's using NDoF. I will try calibrating it, but I think that would only improve orientation, not accelerations.

    Yeah, I will work on writing a simple app, thanks.
This discussion has been closed.