Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gyro drift related to sensor movement #466

Open
richard9999999999 opened this issue Aug 26, 2021 · 7 comments
Open

Gyro drift related to sensor movement #466

richard9999999999 opened this issue Aug 26, 2021 · 7 comments

Comments

@richard9999999999
Copy link

Hello Kris,

I am playing with MPU9250 and your library (BTW thanks much for your great effort).
Generally it works well however I experience a weird thing.. I will speak about raw gyro/accel data only in the next: they seems to be correct, startup calibration works e.t.c. so when I am turning board on various edges I see 1g on one axis and 0g on another two, gyros seems to report correct angular speed in degrees/s on all 3 axes..
However I noticed strange thing in raw gyro data:
When I am moving the sensor (in straight move) e.g. along Y axis, I see a drift in X axis gyro output (and similar with another two axes). The drift is positive when moving one direction vs. negative for opposite direction. The drift looks not be related to acceleration (it seems to be rather related to velocity (?) or related change of acceleration (?) )
So let's say when I am moving whole board to left (along sensor's Y axis) in straight direction by cca 0.2m/s, I see up to 10deg/s drift of X axis gyro..
What could be a reason? A defective MPU9250? Haven't you seen that before?

Thanks much
Richard

@kriswiner
Copy link
Owner

kriswiner commented Aug 26, 2021 via email

@richard9999999999
Copy link
Author

I have one unit only at the moment (purchased locally however origin is in China for sure). This "crosstalk" between accelerometer and gyro seems to be fairly high and I think it draws the device unusable for any a bit more precision task. I will try to obtain another one and check..
Thank you for the answer.

@kriswiner
Copy link
Owner

kriswiner commented Aug 26, 2021 via email

@richard9999999999
Copy link
Author

richard9999999999 commented Aug 26, 2021

I see much less gyro drift than1dps per minute (device running in the desk, occasional moves).. Of course now I am not speaking about effect I described above.
I am trying to make an attitude indicator for aircraft. Have used Madgwick filter and it seems it performs well when trying to move/rotate the device in hands (magnetometer is calibrated by your routine (lazy 8-ths)) and results are stored into serial EEPROM and read/used on each startup, gyros/accelerometers are calibrated on each startup ).
However when I tested the device in car, it reacts on car's turns (turn pure on Z axis) besides correct heading change also as a roll/tilt(X axis) and on acceleration/braking as a change of pitch (Y axis)
When I tested the device in aircraft, it almost doesn't indicate tilt(roll) in proper turn (turn with acceleration forces towards device bottom)..
On ground in hands the reaction is correct on first view (with the exception I am getting roll indicated when moving the device left/right without tilt)..
OK, I suppose the filter is not tuned for the purpose (slow changes) and probably more advanced fusion algorithm should be used here however I supposed it will work better. I think the reason is could be that "gyro drift with move" effect I observe?

@kriswiner
Copy link
Owner

kriswiner commented Aug 26, 2021 via email

@richard9999999999
Copy link
Author

richard9999999999 commented Aug 26, 2021

I don't think the problem is based on magnetometer disturbance. It will cause just incorrect heading indication. I tried also version of filter without magnetometer input and I see about the same..

Plus if used in an aircraft or any vehicle where
inertial forces approach or exceed gravity, all
IMYU-based orientation estimation is fubar.

Please, could you explain above? What is IMYU?
For sure MEMS gyro/accelometer based IMUs are used to cotrol UAV-s, quadrocopters, RC helicopters, and those sensors (probably higher grade ones) are used in some commercial aircraft attitude indicators where probably extended Kalman filter with fusion of GPS and/or airspeed data (instead of magnetometer) is used.

@kriswiner
Copy link
Owner

kriswiner commented Aug 26, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants