When setting D405 to 848x480 resolution in ROS2 launch file, crashing with "Parameter was not internally declared"
I have a D405 camera (with FW 5.13.0.50) that I launch using a ROS2 Galactic launch file. When I launch the camera with depth_module.profile=(1280, 720, 30) and rgb_camera.profile=(1280,720,30), everything works great. However, when I try to change the camera resolution to depth_module.profile=(848,480,30) and rgb_module.profile=(848,480,30), the file crashes after a long stream of "Parameter was not internally declared" warnings. I'm trying to run at 848x480 resolution to reduce pipeline traffic and because I read somewhere that that is the best resolution for depth performance for the D405 (but please correct me if that is wrong).
Why am I getting these errors, and what is the solution?
-
Hi Toni Divic I have not seen that particular warning message before. Which version of the RealSense ROS2 wrapper are you using, please?
The appropriate librealsense SDK and RealSense ROS wrapper combination to use with firmware 5.13.0.50 is librealsense 2.51.1 and wrapper 4.51.1.
If you are using the current latest SDK 2.54.2 then you should use wrapper 4.54.1 and firmware version 5.15.1.0.
You could reduce the amount of data bandwidth being used by the camera by using 15 FPS with 1280x720 instead of 30 FPS.
-
848x480 is the optimal resolution for depth accuracy on most RealSense 400 Series camera models including D405, but using 1280x720 should not significantly impact accuracy and so it should be fine to use instead of 848x480. Using a different resolution would be a problem only if you were using a lower one such as 640x480, since accuracy will reduce as the resolution is reduced.
The ROS wrapper version is listed at the top of the second half of the launch log. Below is an example of what the section of the log containing the information looks like.
[INFO] [realsense2_camera_node-1]: process started with pid [12056]
[realsense2_camera_node-1] [INFO] [1688191117.827538616] [camera.camera]: RealSense ROS v4.51.1
[realsense2_camera_node-1] [INFO] [1688191117.828183104] [camera.camera]: Built with LibRealSense v2.51.1
[realsense2_camera_node-1] [INFO] [1688191117.828385347] [camera.camera]: Running with LibRealSense v2.51.1 -
Got it, when I look at the launch log for the versions it says I'm running with the following
RealSense ROS v4.51.1
Built with LibRealSense v2.51.1
Running with LibRealSense v2.51.1However when I run realsense-viewer, that shows me with LibRealSense v2.54.2. So it seems like the launch file is launching with the correctly match versions (between FW, ROS, and librealsenseSDK), correct? If that's the case, is there another cause for the parameter issue?
-
Possibly you have two versions of librealsense (2.54.1 and 2.54.2) installed on your computer. Whilst this is not ideal as different installations of librealsense can conflict, if you do have two versions of librealsense installed then it does not seem to be causing you serious problems at the moment.
Is your computer Linux or Windows, please?
-
Found my issue: I had changed the resolution of depth_module and rgb_camera to 848x480, but I forgot that I was also setting the depth_module.auto_exposure_roi manually and had left the right value at 1279 and bottom value at 719. Changing those to 847 and 479 respectively fixed my issue. Thanks for your help!
Please sign in to leave a comment.
Comments
9 comments