Skip to content

output of imu_filter_madgwick is skewed over time #184

Open

Description

@phu251099

I am currently using a filter to filter out the raw IMU value from the D435i camera but it seems that the yaw value on the continuous Z increases (or decreases) over time even though the camera mounted on the robot is stationary. Can anyone help me with this problem? Thank you guys in advance.

1570495249995420378.mp4

Activity

  1. mintar commented on Aug 28, 2023

    @mintar
    Collaborator

    There's probably a drift in the IMU yaw angle of the D435i camera. You could plot the IMU output to find out.

  2. Kaiser-Wang commented on Sep 28, 2023

    @Kaiser-Wang

    I had the same issue. The D435i camera only outputs angular velocity and acceleration. It doesn't have a magnetometer and therefore the use_mag is set to false while using imu_filter_madgwick to get orientation.

    The angular velocity is not perfectly 0 rad/s and contains small noises (within 0.01 rad/s) when standing still. The acceleration is also not perfectly 9.81 m/s^2 when sitting on a flat table (it's about 9.7 m/s^2). Both angular velocity and acceleration are steady (don't drift over time) but the calculated orientation (especially yaw around world vertical axis) drifts over time (about a few degrees every minute).

    The inaccurate acceleration can lead to errors in the estimation of roll and pitch angles but shouldn't cause the yaw angle to drift over time. The angular velocity contains some noises that can accumulate errors in orientation over time but shouldn't these noises be filtered by the imu_filter_madgwick package?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions