View my account

[CLOSED] D435i IMU - Gyroscope - non symmetrical behaviour

Comments

13 comments

  • MartyG

    Hi Fulvio Diluzio  RealSense cameras equipped with an IMU can use a Python-based tool to calibrate the IMU by proceeding through a six stage process where the camera is placed in different rotational orientations, such as straight ahead and 90 degrees on its side.

    IMU calibration tool

    https://github.com/IntelRealSense/librealsense/tree/master/tools/rs-imu-calibration

    Documentation

    https://dev.intelrealsense.com/docs/imu-calibration-tool-for-intel-realsense-depth-camera

    0
    Comment actions Permalink
  • Fulvio Diluzio

    Dear MartyG,


    Thank you for your reply but this does not answer my post. We already used the Python package for IMU calibration but, as mentioned above, does not affect the described scenario.

    0
    Comment actions Permalink
  • MartyG

    Have you tried swapping the USB cable of the camera that has good results onto one of the other two cameras to confirm whether or not the USB cable is a factor in the problem, please?

    0
    Comment actions Permalink
  • Fulvio Diluzio

    Dear MartyG,

    Yes, we tried but no difference has been observed.

    0
    Comment actions Permalink
  • MartyG

    Is the orientation rendered accurately when turning clockwise if you run the RealSense SDK official IMU example program rs-motion 

    https://github.com/IntelRealSense/librealsense/tree/master/examples/motion

    0
    Comment actions Permalink
  • Fulvio Diluzio

    The rs-motion pkg implements a complementary filter which fuses accelerometer and gyroscope to estimate roll and pitch but not yaw. Therefore, I cannot give you a proper reply to this question.

    0
    Comment actions Permalink
  • MartyG

    A RealSense team member explains the lack of extractable yaw angles here:

    https://github.com/IntelRealSense/librealsense/issues/4391#issuecomment-510369366

     

    It is known that the IMU can lose tracking if the camera turns too sharply.  As far as I am aware there have not been previous reports of problems related to turning in one particular direction though.

    0
    Comment actions Permalink
  • Fulvio Diluzio

    Dear MartyG,

    That is in line with my previous post. Here the problem is not the ability or not to correct yaw, but having consistent measurements.

    By the way, robot maximum angular velocity is 0.7 rad/s (~40 deg/s) which is far lower than the available range, and that velocity is reached with a low angular acceleration for the purpose of avoiding sharp movements.

    0
    Comment actions Permalink
  • MartyG

    At the link below a RealSense team member advises that you may be able to do without wheel encoders if the ground that the robot is traveling on is stable and there is not high vibration.

    https://github.com/IntelRealSense/librealsense/issues/5555#issuecomment-572175625

     

    Though the comment refers to the RealSense T265 Tracking Camera model, T265 used the same IMU as the D435i.

    0
    Comment actions Permalink
  • Fulvio Diluzio

    Dear MartyG,

    That is a good point but unfortunately does not explain the big differences we observe in different cameras (yes, we are testing on the same floor for being able to compare results). 

    0
    Comment actions Permalink
  • MartyG

    In the #4391 GitHub case that I linked to earlier, the RealSense team member handling that case said to that case's RealSense user, "It seem that the gyro is not working properly.  With gyro streaming normally there should be no issue of tracking left / right.  Actually gyro has no notion of "left / right" it just tracks attitude in 3D inertial frame".

    https://github.com/IntelRealSense/librealsense/issues/4391#issuecomment-527190133

     

    So there should not be a difference between turning clockwise and turning anti-clockwise if the gyro does not know the difference between left and right.

     

    Of the set of three cameras, is the one that turns clockwise correctly newer than the other two cameras?  After early 2022, RealSense cameras changed their IMU component from the 'BMI055' to the similar 'BMI085' component that had a default minimum accel speed of 100 instead of the 63 that the BMI055-equipped units had.

     

    0
    Comment actions Permalink
  • Fulvio Diluzio

    Dear MartyG,

    We put the camera on a platform to make it not perceive vibration but no improvement has been observed. Furthermore, probably due to the default sensitivity, the slower the robot rotates the worse becomes the sensed angular velocity of the IMU (probably due to signal-strenght/noise ratio). Therefore, we currently decided to suspend (not definitely at least) any development on this camera with integrated IMU.

    I kindly thank you for your support and all the time spent for this argument.

    I am going to mark this post as closed.

    0
    Comment actions Permalink
  • MartyG

    You are very welcome.  Thanks very much for the update.

    0
    Comment actions Permalink

Please sign in to leave a comment.