Razor-AHRS / razor-9dof-ahrs

AHRS Firmware for the SparkFun 9DOF Razor IMU and SparkFun 9DOF Sensor Stick
Other
450 stars 264 forks source link

Drift Issues #11

Open ghost opened 10 years ago

ghost commented 10 years ago

Hi,

I've ported the Razor IMU code over to a custom ARM platform. All the sensors seem to be working correctly and, having calibrated the accelerometer, gyro and magnetometer I am now getting significant drift on the yaw component.

Having verified that the sensor orientations are the same as the Razor IMU board and having verified that the magnetometer calibration has been successful via Matlab, I'm a little bit confused as I would have expected my platform to be virtually identical.

As an example, if I point my platform such that it reads 0deg yaw and then rotate (either clockwise or anti-clockwise) to 90deg, the yaw reads roughly 60-70deg before slowly returning back towards 30deg.

Could this be an error due to mag calibration? The platform which my 3 sensors on will have some soft-iron and hard-iron interference due to power supply ferrites, inductors, etc.

Any tips or hints would be greatly received.

Regards, Kevin

ghost commented 10 years ago

Further to the above, I've repeated the extended mag calibration several times.

The most recent calibration has given me this output:

// These values incur a lot of yaw drift const float magn_ellipsoid_center[3] = {53.7539, -9.75125, 1.49475}; const float magn_ellipsoid_transform[3][3] = {{0.999067, 0.00823031, -0.00783739}, {0.00823031, 0.850694, -0.00213156}, {-0.00783739, -0.00213156, 0.867889}};

Whereas a previous bad calibration (where I failed to rotate the platform through a complete ellipsoid) gives me this output yet works much much better in terms of hardly any drift, and more precise yaw readings:

const float magn_ellipsoid_center[3] = {223.304, -5.25646, -21.1669}; const float magn_ellipsoid_transform[3][3] = {{0.861399, -0.00808717, 0.0160237}, {-0.00808717, 0.839166, 0.0110241}, {0.0160237, 0.0110241, 0.997513}};

I'm more than a little confused!

racosilver commented 9 years ago

I'm having yaw drift issues as well. I have 10 of these sensors and 5 are currently being used. All have gone through the calibration sequence (accel., extended mag, gyro).

When I use the extended magnitometer vales for drift correction, my yaw drift is next to none. But when a sudden movement has been made in the yaw axis there is alot of overshoot then a return to what appears to be a magnetic heading.

With the drift correction turned off, no overshoot in yaw axis. Yet the drift is present.

I am having this problem with 3 of 5 sensors. The 2 that are neither experiencing drift nor overshoot are running the firmware with the drift correction turned off.

I'm going to check the remaining 5 to determine common problems. I'm starting to wonder if this might be a component problem.

Kwebser83 -- have you had any luck?

msfarhan commented 5 years ago

had any luck ?im facing same

RoopanJK commented 1 year ago

Same Issue hear, no calibration done. The board worked fine out of the box, and after 2 weeks all of sudden yaw drifts are causing a problem. Board used - Sparkfun Openlog Artemis DEV- 16382

Need Help, Thanks in advance.