Currently I just finished the characterization for MinIMU-9 (L3G4200D and LSM303DLM Carrier) from Pololu. I used a technique called Allan variance which can characterize different errors. I found my measured white noise for the gyro is [0.0466, 0.0958, 0.019] (deg/sqrt(s)), which is closed to the value 0.03 (deg/sqrt(s)) in the datasheet. And I also found the white noise for the accelerometer is [0.0341, 0.0351, 0.0369] (m/s2/sqrt(s)), which is not in the datasheet.
Then I did some basic tracking based on the stream obtained when the sensors are kept still (x,y is in the horizontal plane, and z is up). The tracking steps are as follows:
- initially, I set the board at the position P(0)=[0,0,0], and the rotation matrix between the body frame and the global frame is C(0) = I(3)
- each time a sample (the gyro and acc) is obtained, the rotation matrix is first updated to C(k+1). Then we project the newly obtained acceleration to the global frame with the rotation matrix C(k+1), subtract it with g (gravitational acceleration), and do twice integration to update P(k+1).
When I use 1 minute data from the sensor (50Hz, totally 3000 samples). The final position error is 14381m.
If I remove the gyro noise, i.e. always feed gyro values with [0,0,0], then the final position error is 47.8m.
I follow all steps in the attached report. However, I found my estimation result is much worse than the result in the report (the error is 150m and 3m).
In the report the author used the IMU called MTx from Xsens company (xsens.com/en/general/mtx). I checked the specification of the sensor. I think the gyro is not better than our sensor L3G4200D, but the accelerometer seems better.
Could you please help me to check whether MTx is better than L3G4200D and LSM303DLM? Because I am not sure I have the correct understanding of the parameters in the specification.
|mtx (white noise)||0.05 deg/s/√Hz||0.002 m/s²/√Hz|
|MinIMU-9 (white noise)||0.03 deg/s/√Hz||[0.0341, 0.0351, 0.0369] m/s2/sqrt(s) (measured)|
UCAM-CL-TR-696.pdf (919 KB)