-
Notifications
You must be signed in to change notification settings - Fork 1.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
D405 fps #2486
Comments
Hi @DaphnaNanovel Do you experience the FPS drop with the D405 camera model if you launch with ros2 run instead of ros2 launch, please?
|
Hi @MartyG-RealSense, |
Thank you very much for the feedback. What happens with ros2 launch if you use 90 FPS for the 640x480 rgb_camera profile and 30 for the depth? |
The log says that the color is using 30 FPS instead of 90 FPS. |
yes, but you can see the command above: |
What happens if you remove enable_sync:=true ? |
Okay, thanks. So enable_sync being disabled does not make a difference when using ros2 launch. And you get good performance with ros2 run but have the problem of how to set a custom stream configuration. |
Correct |
Are you able to configure the streams with ros2 run using the instruction below? ros2 run realsense2_camera realsense2_camera_node --ros-args -p depth_width:=640 -p depth_height:=480 -p depth_fps:=30.0 -p color_width:=640 -p color_height:=480 -p color_fps:=30.0 |
Okay, that likely means that the custom configuration was deemed invalid by the launch and the camera's default stream configuration was applied instead. Thanks very much for your patience during this support process! |
Going back to ros2 launch, let's next try setting the pointcloud texture to mode '0' instead of the default '2'. ros2 launch realsense2_camera rs_launch.py rgb_camera.profile:=640,480,30 depth_module.profile:=640,480,30 pointcloud.stream_filter:=2 |
You are not using a pointcloud anyway so that setting would not make a difference. Apologies for that! |
Given that the ros2_beta wrapper documentation suggests expressing the profile with 'x' between the stream settings instead of commas, can we try it with x's please just to eliminate it as a cause of the problem (as the launch works normally with D435, it probably is not the cause). ros2 launch realsense2_camera rs_launch.py rgb_camera.profile:=640x480x30 depth_module.profile:=640x480x30 |
Yes, I saw it in the readme and tried it. As you assumed, that's not the problem... |
The ros2_beta wrapper was updated to 4.51.1 for matching with 2.51.1 about a week ago. Wrapper 4.0.4 was stable with 2.51.1 but it was designed for use with 2.50.0. https://github.com/IntelRealSense/realsense-ros/releases/tag/4.51.1 |
Hi @DaphnaNanovel Do you require further assistance with this case, please? Thanks! |
Hi @MartyG-RealSense, yes we do.. |
Were you able to test with librealsense 2.51.1 and wrapper 4.51.1 and found that the same problem was occurring? |
Yes.. It says it is running with 30 FPS but actually when we check with ros2 topic hz we get at max 15 FPS (tested on a PC and not on Jetson) |
In tests with the D405 I observed that the FPS could halve from 30 to 15 if auto-exposure became disabled. Please test launching with auto-exposure enabled via the launch instruction to see whether the FPS becomes 30. ros2 launch realsense2_camera rs_launch.py rgb_camera.profile:=640x480x30 depth_module.profile:=640x480x30 enable_auto_exposure:=true |
Device USB Type is reported as '2.1' in the log, indicating that it is detecting the camera as being on a slower USB 2.1 connection instead of a full-speed USB 3 connection. If the D405 is plugged into a USB 3 port, please add initial_reset:=true to reset the camera at launch to see whether this corrects the detected USB connection to 3.1 or 3.2. ros2 launch realsense2_camera rs_launch.py rgb_camera.profile:=640x480x30 depth_module.profile:=640x480x30 enable_auto_exposure:=true initial_reset:=true |
I'm now trying your suggestions, and I see that it says we are connected to USB 2.1. But if you scroll up to the previous messages you will see that it was detected with USB 3 when I used another Jetson or my PC |
@MartyG-RealSense |
Hi @DaphnaNanovel My sincere apologies for the delay in responding further. The log image reports UVC metadata payloads not available. This suggests that a kernel patch might not have been applied. What methods do you use to install librealsense and the ROS wrapper on Jetson and on PC, please? |
@MartyG-RealSense, It indeed can be the problem because we used the "classical" way to install both librealsense and ROS wrapper. Is there some kernel patch we have missed during the installation? |
If you installed librealsense from packages using the distribution_linux.md instructions then the patch is included within the packages and not need to be applied separately. Those instructions work for PC but are not suitable for Jetson boards though. Jetson boards have their own dedicated package installation procedure at the installation_jetson.md link below. The Jetson packages contain the Jetson kernel patch. |
Hi @DaphnaNanovel Do you require further assistance with this case, please? Thanks! |
Hi @MartyG-RealSense, unfortunately the installation procedure with the installation_jetson.md didn't solve the problem. We are getting the same fps problem. Also on a computer with ros foxy. |
When using the D435 you were using ros2 topic hz with the /camera/color/image_raw topic, whilst on D405 you checked the hz of /camera/color/image_rect_raw Is /camera/color/image_raw published when launching the ROS wrapper with D405, and if it is then what is its hz rate? |
You said at #2486 (comment) that when launching with ros2 run you could achieve 20 FPS on Jetson and 30 FPS on PC. Whilst with ros2 launch you can only achieve around 8 FPS on average. This suggests that the camera is capable of operating relatively normally (not a problem with the camera hardware, firmware driver, USB or Jetson) and that something resulting from the rs_launch.py launch file is reducing the FPS to 8. In the log image above, depth and color is reported at the launch's conclusion ('RealSense Node is Up!') as being 30 FPS, so the drop is likely occurring after launch. Exposure being changed automatically to a high value could cause this kind of FPS drop but D435 does not experience FPS problems when launched with the same method. A difference between D435 and D405 is that D405 is not equipped with an IR projector to help to illuminate the scene. However, if a good FPS can be achieved by D405 with ros2 run then this suggests that the camera is not having problems with insufficient illumination on the observed object / surface. We could next try disabling auto_exposure and setting different manual depth exposure values to determine whether it affects the FPS.
|
Hi @DaphnaNanovel After discussing the issue of 15 FPS on D405 but 30 FPS on D435 with my Intel RealSense colleagues, an bug report has been created to investigate the issue officially. This case should be kept open whilst the bug report is active. |
Hello @MartyG-RealSense , |
You are very welcome, @DaphnaNanovel - thanks very much for the update! |
I'm also having major issues with FPS with D455, 20.04, foxy, using either ros2 run or ros2 launch. Has anyone been able to get RS working in ROS2 at all? I have the ROS1 realsense package working just perfectly. |
Hi @dheera Please create a new case for your problem by visiting the link below and clicking the green New Issue button. Thanks! |
See my comment in #2507 for more information. |
Could you provide information on the progress of the bug report you mentionned about setting the FPS rate on D405 ? I am also facing the issue. Thank you |
Hi @lifeisgood-ai This bug report is currently being actively worked on by the RealSense ROS developer team at the time of writing this. So work on it is progressing but I cannot provide a time estimate for release of a fix, unfortunately. |
Hi @lifeisgood-ai , @DaphnaNanovel, @dheera My name is Samer and I'm a developer in the RealSense SW team. You might have to add "depth_module.enable_auto_exposure" to the launch file (which is missing from the launch file currently, and might cause not loading auto_exposure parameter correctly) with default value "True", like this: Let me know if the above suggestions helped you. Thanks, |
Hi everyone, is there anybody on this case who requires further assistance after the fix implemented by @SamerKhshiboun at #2612 and merged into the ros2_development ROS2 wrapper? |
Hi Samer @SamerKhshiboun Thank you for taking the issue. I have been through your comment #2507 (comment) and applied what you suggest in your #2486 (answer). I made a quick acquisition of RGB images to a ros bag using rs_launch.py adapting the Simply adding the following line is not enough :
Commenting the two lines helps :
Running rs_launch,
I get 30 fps ! 👍
I also get 30 fps using the ros command line
This is good for me. I will test with multi cameras later this week if I get time. Another point that might not be related is a warning of version differences. I compiled librealsense v2.53.1 as I run a Ubuntu 22.04 and my realsense-ros is built over librealsense 2.51.1
Thanks |
hi @MartyG-RealSense @SamerKhshiboun |
Hi @lifeisgood-ai, Regarding your librealsense version issue, I guess you might have multiple librealsense versions installed in your system, and our wrapper is finding the first installed version first, according to its search path. Thanks, |
Hi @SamerKhshiboun , @MartyG-RealSense , |
Hi, I wrote this comment from another account by mistake. Thanks again! |
That's great news that it worked for you, @DaphnaNanovel - thanks very much for the update! |
Hello,
we switched from D435 to D405 and faced very strange issue - we can't run D405 faster than 15 FPS.
We tested in both on Jetson NX and on PC.
We installed the ros2_beta and we run the
ros2 launch realsense2_camera rs_launch.py
When we run this on D435 we get 30 FPS on topic /camera/color/image_raw
The same command on D405 provides only 15 FPS on topic /camera/color/image_rect_raw
And any tries to run the command with rgb_camera.profile:=640,480,60 (or 30) also gives only 15FPS.
Moreover, camera reports 30/60 fps by ros logger.
We measure the FPS with ros2 topic hz command
Any suggestions?
The text was updated successfully, but these errors were encountered: