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

Drift in ICM20948 IMU. #143

Open
abhilashv-ign opened this issue Jun 5, 2024 · 4 comments
Open

Drift in ICM20948 IMU. #143

abhilashv-ign opened this issue Jun 5, 2024 · 4 comments

Comments

@abhilashv-ign
Copy link

abhilashv-ign commented Jun 5, 2024

I'm using ICM20948 IMU. This is the driver used

Expected output
The visualization should remain stationary when the IMU is at rest.
Actual output
The visualization is rotating about z-axis even when the IMU is at rest.

@abhilashv-ign
Copy link
Author

I'm using the ICM20948 IMU for getting the angular rotation of a robot. I'm using complementary filter for calculating the q values and the viasualization is done using rviz2.
The accurracy of the IMU sensor seems to be on point. When i rotate the IMU 90 degrees I'm getting 90degree rotation in visualization as well. The deviation in performance is when I'm keeping the IMU at rest.
The visualization is supposed be stable and not moving. But the output that I'm getting is a slight drift. i.e the visualization rotates about z-axis over time. The rate of rotation is minute but over the course of a minute a significant drift is visible.
I have tried adjusting the sensitivity as well.
The DMP is disabled and the sampling mode is set to continuous mode.

Thank you for the suggestions.

@nemccarthy
Copy link

Did you have any luck with this issue?

@timonkobusch
Copy link

Maybe I understand something incorrectly, but the gyrosensor will always have a drift see: https://electronics.stackexchange.com/questions/445787/what-actually-causes-gyroscope-drift-in-imu
I am not sure about calibrating the hardware, but for the project of my bachelor thesis, we programmed a kalman Filter (also sperate Particle Filter) in combination with the acceleration sensor to cancel out the drift. I think it is the common approach to handle the gyrosensor drift.

@timonkobusch
Copy link

For more Information about the topic and parts of an IMU see:
https://headtracker.gitbook.io/head-tracker/getting-started/imu-calibration-and-drift

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

3 participants