-
Notifications
You must be signed in to change notification settings - Fork 78
Problem reading accurate motorbike tilt angle #77
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
Comments
Hi @fralbo , By default, the DMP code in the ICM-20948 library puts the accelerometers into 4g mode (and the gyros into 2000dps mode): SparkFun_ICM-20948_ArduinoLibrary/src/ICM_20948.cpp Lines 1228 to 1241 in 486fdbf
Maybe more g would help? Please take a look at issue #64. Best wishes, |
There is some helpful info in #51 too: |
Your idea is to decrease the effect of g correction to x/y orientation ? |
So, I made the test but that doesn't change the problem. |
I tried to use an implementation not using the DMP but it's really really not good! |
Ok so, according to my tests, tilt measurement on motorbike and certainly drones, as they turn banking like a motorcycle, we do not have to use acceleration but gyro only. |
Hi @fralbo , Thank you for the update. I am glad that is working for you! Best wishes, |
Hello,
I try to reading motorbike tilt angle and I experiment a problem I also have with MPU-6050 in fact.
These chip seem to work well on desktop but using it on vehicle seem to be a challenge.
As ICM-20948 seems to be usable on drone, I though it was dedicated to give accurate tilt angle but it seems to be more complicated than it appears.
First, I tested it on my desktop, applying the same movements to my Samsung S10+ (embedding a LSM6DSO) and the ICM-20948 breakout.
The result is this one
as you can see, the waveforms perfectly match.
Here, I did the same mounting both devices on my motorbike.
Between 547 and 807, I really was in stable turn, with the same tilt angle as given by my S10+. But the ICM-20948 was seriously drifting to 0 and the offset accumulated at 807 seems to appear at 911.
Between 1639 and 1925, I was accelerating as the turn decreases. S10+ gives an understandable value from my S10, but the ICM-20948 dramatically drift to 0, probably while the z accel increases.
I guess the problem could come from the pitch drift correction made with the g acceleration. And as on motorbike, as well as on drone, a turn cause the g acceleration to increase, maybe this algorithm causes the pitch reading to be false.
I hope I was clear enough, do you have an idea about the problem and how to solve it?
Using Sparkfun ICM 20948 v 1.2.7 library and Example7_DMP_Quat6_EulerAngles.ino sketch running on ESP32 FireBeetle, no filter enable.
The text was updated successfully, but these errors were encountered: