-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
FPS drop and stream latency on Jetson ROS #9879
Comments
Hi @nkorenicFR The RealSense ROS wrapper version used should ideally be matched as closely as possible with the librealsense SDK version listed for that particular wrapper in its release notes. The librealsense version to match with wrapper 2.31 is 2.48.0. There is not a wrapper for matching with 2.49.0, and the next wrapper version should be for upcoming librealsense version 2.50.0. In regard to GLSL, it is not enabled in RealSense applications by default and has to be deliberately incorporated into programs, like it is in the RealSense Viewer. |
Hi @MartyG-RealSense , Thank you for your fast response. I will try with librealsense 2.48.0. |
I am not personally aware of anyone who has tried adjusting the rs2:: instructions in the ROS wrapper to convert them to rs2::gl:: instructions. The key lines in the wrapper's base_realsense_node.cpp to look at for each type of rs2:: operation are likely to be the ones below (I say 'likely' as I am not involved in the wrapper's development). |
Same behavior with RealSense SDK 2.48.0, the issue is still present. Any idea what else could we try? Does Intel have any benchmark results on ROS jetson that can be used for comparison? Is this expected behavior on the Jetson platform? |
Hi @nkorenicFR Dips in performance when enabling pointcloud or align in the RealSense ROS wrapper with Jetson boards is an issue that has previously been reported by a small number of Jetson users, as mentioned in #9519 (comment) There are not ROS benchmark results available from Intel that compare pointcloud and align performance on Jetson with non-Jetson systems. Intel did publish a CPU performance table of alignment with CUDA versus non-CUDA when CUDA support was first introduced in the librealsense SDK though. That table can be found at the link below. |
Issue Description
Stream FPS drop and latencies (hundreds of microseconds up to a few seconds) occur in ROS Jetson when pointcloud or align depth is enabled.
The issue can be reproduced by running
roslaunch realsense2_camera rs_camera.launch
. Below are given some cases which reproduce the issue. FPS drop was measured withrostopic hz <topic>
and latencies are observed by displaying stream withrosurun rviz rviz
androsrun image_view image_view image:=<image topic>
.LibRealSense
Realsense is built from source with CUDA support
cmake .. -DBUILD_EXAMPLES=true -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=false -DBUILD_WITH_CUDA=true
. Native kernel drivers are used and the L4T kernel is patched with./scripts/patch-realsense-ubuntu-L4T.sh
.ROS launch
Lunch enables two camera streams: RGB (1280x720, RGB8, 30FPS) and, depth (848x480, Z16, 30FPS)
The launch is built and run with librealsense v2.49.0.
CPU load
On the issue, the system has increased CPU consumption (sometimes one core is fully loaded). Our Jetson AGX system is configured to full power mode (30W) with all cores enabled.
CPU load when pointcloud and align depth used
CPU load when pointcloud and align depth not used
Reproducing in RealSense Viewer
In the viewer, similar could be reproduced when GLSL processing and rendering were disabled. Is it possible that ROS uses LibRealSense without GLSL support?
Similar issues
A similar issue has already been reported #9519, but it is closed without an adequate solution.
The text was updated successfully, but these errors were encountered: