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 orientation... #3

Open
hellooutthere2 opened this issue Oct 13, 2020 · 5 comments
Open

Gyro orientation... #3

hellooutthere2 opened this issue Oct 13, 2020 · 5 comments

Comments

@hellooutthere2
Copy link

Using your fusion example, and after applying calibration values, I noticed that my adafruit ICM20948 heading wouldn't settle very quickly. In addition the heading would jump in the opposite direction upon rotation. I changed the sign for gy, gz in the call to the filter and it performed well. I'm not sure what is correct here. Any advice?

@borland1
Copy link

I think the 3D orientation standard was drawn on the side of a bridge in the UK by William Hamilton in 1883, but someone thought it was graffiti and erased it, leaving the standard lost in perpetuity.

Just define your own orientation frame of reference. However, if you look at Wikipedia for conversion between Euler and Quaternions, you'll see reference to JPL Quaternion reference being used there; and also for Euler angles, they use Tate-Bryan angle convention commonly used for aviation flight dynamics (yaw, pitch, roll).

The ICM20948 datasheet shows the orientation of the coordinate axis relative to the pin 1 chip marker. Note that the magnetometer orientation is inverted from that of the gyro/accel. I guess that is because the earths magnetic field actually dips down at ground level relative to the horizon.

@sf116
Copy link

sf116 commented Feb 5, 2021

Hello,Have you noticed that roll and yaw drift when pitch>80 or <-80?

@hellooutthere2
Copy link
Author

hellooutthere2 commented Feb 5, 2021 via email

@sf116
Copy link

sf116 commented Feb 6, 2021

Thank you for your sharing.I have tested LSM6DSL+LIS2MDL, MPU9250, ICM20948. Except for pitch>80 or <-80, roll and Yaw drift have no other problems.It should be noted that all MAG needs to be calibrated, and the effect of spherical fitting method is good at present.

@drcpattison
Copy link
Owner

Hi all, please try using this library: https://github.com/isouriadakis/Arduino_ICM20948_DMP_Full-Function

It utilises the ICM-20948's onboard DMP to provide the sensor fusion data. In addition, the DMP automatically calibrates the magnetometer on start-up so no manual calibration is required.

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

4 participants