View my account

Realsense D455: Motion Module Failure

Comments

13 comments

  • MartyG

    It is a known issue that problems can occur for some RealSense users when enabling all three streams in the RealSense Viewer.  The trigger is always the enabling of the Motion Module, so changing the order in which the streams are enabled does not make a difference.  It is not known why it occurs on some computers but not others.  

     

    The most common symptom that occurs is 'No Frames Received!' on the RGB stream, though the depth or IMU stream can be affected instead on rarer occasions.  On computers that are affected by this issue, there is no fix available in the RealSense Viewer other than to avoid enabling Depth, RGB and Motion Module simultaneously.  The RealSense SDK's rs-capture example program can though display Depth, RGB and IMU simultaneously.

     

    When creating your own programs that enable these three stream types, a workaround is to use callbacks (C++) or to create two separate pipelines, with IMU alone on one pipeline and Depth + RGB on the other pipeline (Python).

    0
    Comment actions Permalink
  • 775702962

    Thank you MartyG. 

    I noticed another post (https://support.intelrealsense.com/hc/en-us/community/posts/360050995094-Realsense-D435i-Motion-data-freezes-after-sometime ) in community, so I tried to enable them separately.  Sadly, even enable Motion Module itself could occur the same  'ERROR' ,so it seems that this is another problem.

    I created my own program on my Jetson, one pipeline with IMU alone to test if this would work, and it failed. The error is 'No Frames Received!'. As my whole project is expected to be finished on Jetson, I'm a little depressed。

    And also, thank you for your guidance in teaching me how to enable all these streams simultaneously. Follow your guidance, I succeed in enabling all these streams simultaneously with my PC (Python). 

    What should I do next? Thank you.

    0
    Comment actions Permalink
  • MartyX Grover

    Which method did you use to install the RealSense SDK on your Jetson, please?

    Also, which JetPack version are you using?

     

     

     

     

     

     

     

     

     

    0
    Comment actions Permalink
  • 775702962

    Thank you MartyG.

    • I remembered I use this method.
    sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
    cd ~/librealsense
    sudo apt-get install git libssl-dev libusb-1.0-0-dev pkg-config libgtk-3-dev 
    sudo apt-get install libglfw3-dev
    cd ~/librealsense
    chmod -x ./scripts/patch-realsense-ubuntu-L4T.sh  
    ./scripts/patch-realsense-ubuntu-L4T.sh
    chmod -x ./scripts/setup_udev_rules.sh
    ./scripts/setup_udev_rules.sh 
    cd ~/librealsense
    mkdir build && cd build
    cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=false -DBUILD_WITH_CUDA=true && make-j$(($(nproc)-1)) && sudo make install
    • JetPack Version 4.5.1 [L4T 32.5.2]

     

    0
    Comment actions Permalink
  • MartyX Grover

    At the time of writing this, the most recent JetPack version that the RealSense SDK officially supports is L4T version 32.5.1.  It does not have L4T 32.5.2 support (32.5.2 was an identical version to 32.5.1 that added security fixes, according to the JetPack release notes).  

    SDK 2.50.0 added support for the later 32.6.1 thanks to an update submitted by a RealSense user.

     

    It appears that you build the SDK from source code using the Jetson instructions at the link below.

    https://github.com/IntelRealSense/librealsense/blob/master/doc/installation_jetson.md#building-from-source-using-native-backend

     

    I note that in your version of the instructions, two of the steps are reversed.  In the official instructions, the patch script /scripts/patch-realsense-ubuntu-L4T.sh is run before this line:

    sudo apt-get install git libssl-dev libusb-1.0-0-dev libudev-dev pkg-config libgtk-3-dev -y
    ./scripts/setup_udev_rules.sh  

    In your instructions though, you run /scripts/patch-realsense-ubuntu-L4T.sh after the sudo apt-get instruction.

    0
    Comment actions Permalink
  • 775702962

    Thank you MartyG.

    So I'd better uninstall realsense-viewer first and then install it again by following the correct steps to check if it works on L4T 32.5.2. And if it doesn't work, I should consider to flash L4T 32.5.1 or 32.6.1 on my Jetson and install realsense-viewer again, right?

    I find it strange that I don't know why my L4T version is 32.5.2, I think it should be 32.5.1 if I flash JetPack 4.5.1.  

     

    0
    Comment actions Permalink
  • MartyX Grover

    I am uncertain on this point.  As JetPack provides the Jetson kernel, it may be worth flashing L4T 32.5.1 and then running the /scripts/patch-realsense-ubuntu-L4T.sh patch script again due to the possibility that flashing the new JetPack overwrites the previously patched kernel with an unpatched one.

    I would recommend trying that first and not removing your RealSense SDK build, and see whether the Motion Module is now able to receive frames after the update when only the Motion Module is enabled.

     

    If you continue to have problems then there is the option to build the SDK with the RSUSB installation method, which is not dependent on Linux versions or kernel versions and does not require patching.  To enable RSUSB, you set -DFORCE_RSUSB_BACKEND=true in the CMake build instruction.

    0
    Comment actions Permalink
  • 775702962

    Thank you for your guidance and I will try it later to see if this method works.

    0
    Comment actions Permalink
  • MartyG

    A RealSense user at the link below with IMU problems on a Jetson Xavier NX, including the Motion Module Failure error, reported that using JetPack 4.5.1 resolved their problem.

    https://github.com/IntelRealSense/realsense-ros/issues/2213#issuecomment-1008126279

    0
    Comment actions Permalink
  • 775702962

    Thank you MartyG!!!

    In the end I choose to flash my Jetson.

    Now my JetPack version is 4.6 and L4T is 32.6.1. Everything seems to be smooth now. Every single stream works good. But another sad thing comes... I need to make pyrealsense2 available again, I remembered I paid a lot time in installing this package. Do you know  easier method to install pyrealsense2?

    0
    Comment actions Permalink
  • 775702962

    In addition, though I can see the Accel stream and Gyro stream, it can still occur the same Error: notifications.cpp:511 - Motion Module failure. The realsense-viewer seems running okay but I am a little bit upest by the same error.

    0
    Comment actions Permalink
  • MartyG

    That's excellent news that you were successful after flashing the JetPack!

     

    In the link below, a RealSense user shared an instruction guide that they wrote for installing pyrealsense2 on a Jetson NX.

    https://github.com/IntelRealSense/librealsense/issues/7722

    0
    Comment actions Permalink
  • MartyG

    In the Viewer, the Motion Module typically continues functioning normally and providing gyro and accel data even after a Motion Module Failure error occurs and so it can be considered to be a small annoyance rather than a serious problem.

    0
    Comment actions Permalink

Please sign in to leave a comment.