• ROS
  • IMU axes different from /tf_static?

Hi, we observed some unexpected behavior when comparing the IMU orientation published on the topic /tf_static and the published values on the topic /oak/imu/data. More specifically, reversing the x and z axes made the IMU behave in line with other stereo + IMU cameras such as the RealSense ones. The configuration parameter camera_i_publish_tf_from_calibration was set to false. The camera is an OAK-D Pro Wide PoE.

Is this nominal behavior?

If more information is desired, please let know.

    magikEye

    The IMU should behave the same way (right hand coordinate system). Not sure why it would be any different in ROS. cc @Luxonis-Adam

    Thanks,
    Jaka

    So, to clarify, in RViz the IMU's x-axis points downwards. Therefore, rotating the camera clockwise around its vertical axis, the angular velocity's x component must be positive (angular velocity as reported on the /oak/imu/data topic). However, the reported value is negative.

    Is this just an interpretation error on our side, or could there be something amiss with the ROS driver or the camera unit itself?

    jakaskerl So according to the PCB, the x-axis points downwards (I assume the PCB is mounted in the camera such that the text isn't bottom up)?

    That does not match the behavior that we observe, here's a video with the camera being moved and the x-axis angular velocity being plotted simultaneously.

    Hi @magikEye
    Nono, the image is correctly oriented. The X axis points up (don't ask me why the text is upside-down). The video you sent shows expected results (negative when clockwise, positive when anticlockwise).

    Thanks,
    Jaka

    Interesting. The observed behavior thus matches the PCB lettering. However, it still doesn't match the TF (RViz screenshot, x = red, green = x, blue = y):

    Could it be an issue with the published TF?

    Great, thanks for pointing to that resource. W're using an OAK-D Wide Pro PoE, so it's this file?

    I assume the axis system orientation is (when looking at the back of the camera) x right, y down and z forward? Could you also elaborate on the mapping from RPY to XYZ, and whether the orientation is expressed as an intrinsic or an extrinsic rotation?