CORRUPTED SDK INSTALLATION - isaac sim ROS2

Hello,

I am trying to connect isaac sim to ROS2 but the command ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zedx sim_mode:=true fails and so ros2 launch zed_display_rviz2 display_zed_cam.launch.py camera_model:=zedx sim_mode:=true

[component_container_isolated-2] [WARN] [1744736779.746563411] [zed.zed_node]: Error connecting to the simulation server: CORRUPTED SDK INSTALLATION
[component_container_isolated-2] [ERROR] [1744736779.746645987] [zed.zed_node]: Camera detection timeout
[component_container_isolated-2] [2025-04-15 17:06:19 UTC][ZED][ERROR] [Object Detection]  Object detection model is corrupted or unreadable
[component_container_isolated-2] [2025-04-15 17:06:19 UTC][ZED][ERROR] [ZED] [Depth]  NEURAL CORRUPTED MODEL
[component_container_isolated-2] [2025-04-15 17:06:19 UTC][ZED][WARNING] CORRUPTED SDK INSTALLATION in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)
[ERROR] [component_container_isolated-2]: process has died [pid 16779, exit code 1, cmd '/opt/ros/humble/lib/rclcpp_components/component_container_isolated --use_multi_threaded_executor --ros-args --log-level info --ros-args -r __node:=zed_container -r __ns:=/zed'].
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[robot_state_publisher-1] [INFO] [1744736796.783467939] [rclcpp]: signal_handler(signum=2)
[INFO] [robot_state_publisher-1]: process has finished cleanly [pid 16777]

However I can visualize the data through ZED_Depth_Viewer

[2025-04-15 17:18:33 UTC][ZED][INFO] Logging level INFO
[Streaming] Warning : receiving port 30000 is not available (already used)... switching to port 30002. Retrying...
[Streaming] Metadata timeout. the size is equal to 196 instead of 21960. Skipping.
[Streaming] Metadata timeout. the size is equal to 196 instead of 21960. Skipping.
[Streaming] No backward compatibility required.
[2025-04-15 17:18:33 UTC][ZED][INFO] [Init]  Depth mode: NEURAL
[2025-04-15 17:18:33 UTC][ZED][INFO] [Init]  Serial Number: S/N 40976320
[2025-04-15 17:18:33 UTC][ZED][WARNING] Simulated ZED camera used.
[2025-04-15 17:18:33 UTC][ZED][WARNING] [Init]  Invalid calibration file. On Linux, call export LC_ALL="C" and restart your application.
[2025-04-15 17:18:33 UTC][ZED][WARNING] Self Calibration Disabled.

ZED_Diagnostic file
ZED_Diagnostic_Results.json (4.9 KB)

ZED_Explorer capture


 ** [SVO] Hardware compression (NVENC) available **
[Streaming] Warning : receiving port 30000 is not available (already used)... switching to port 30002. Retrying...
[Streaming] Metadata timeout. the size is equal to 196 instead of 21960. Skipping.
[Streaming] No backward compatibility required.
[Streaming] Warning: Corrupted frame chunk received (recv: 196 / expect 4112)  from ip : 127.0.0.1 at ts 1744737112447(ms)

Can you please help me to solve this issue ?

Hi @efesendil
it seems that the ZED SDK is not properly installed on your PC.

Can you please run the ZED Diagnostic tool and send me the diagnostic report that it generates?

Hi,
thanks for the reply.
Here is the report

ZED_Diagnostic_Results.json (4.9 KB)

According to the report, the software on your PC is correctly installed.

Can you try to open the virtual stream with ZED Depth Viewer and check that the depth is correctly extracted?

Actually I sent you the screenshots from ZED tools in my first post, I wanted to send them in advance in case if needed. Can you please check the first post for the screenshots and the terminal loggings ?

It seems like ZED_Depth_Viewer can correctly show the depth.

Thanks.

Hello,

Can you please provide me any solution ideas to this ?

Hi,

Can you run

glxinfo | grep "OpenGL vendor"

and tell me if it outputs your Nvidia GPU or not please?

if not, run:

sudo prime-select nvidia
sudo reboot

Stereolabs Support

Hi,

thanks for the reply,
glxinfo | grep "OpenGL vendor" outputs
OpenGL vendor string: NVIDIA Corporation

Hello again,

I’ve managed to solve the issue, i can now visualize the data through RVIZ. Thanks for your support !
I only have one quick question please, i can publish data to /zed/zed_node/path_map and /zed/zed_node/pose however the camera doesn’t move, it kinda draws the path on rviz but the camera doesn’t following the path? What could be the reason ?

Can you please provide information concerning the cause of the issue and how you solved? This will be useful for other customers facing the same problem.

Can you please provide more information? A video recording, for example, will be very useful to understand the problem.

Yes, definitely.

  • Make sure you’re up to date with the repository: GitHub - stereolabs/zed-ros2-wrapper: ROS 2 wrapper for the ZED SDK
  • Run the build command in the repo and source install/setup.bash
  • Wait until “ros2 launch zed_wrapper zed_camera.launch.py camera_model:=<camera_model>” finishes the installation before launching “ros2 launch zed_display_rviz2 display_zed_cam.launch.py camera_model:=zedx sim_mode:=true”

@Myzhar, this is not a bug, but being able to see the installation steps during this process would be helpful. I’ve noticed that you can only see the percentage and remaining installation time when you launch ZED_Depth_Viewer in another terminal. However, it only displays the status at launch and doesn’t update the terminal, which is probably why I thought my command had frozen the process.

About the issue on rviz;
here is the rviz and isaac sim


  • then on another termianl, i’m running
ros2 topic pub /zed/zed_node/path_map nav_msgs/msg/Path "{
  header: {
    frame_id: 'map',
    stamp: {sec: 0, nanosec: 0}
  },
  poses: [
    {
      header: {
        frame_id: 'map',
        stamp: {sec: 0, nanosec: 0}
      },
      pose: {
        position: {x: 0.0, y: 0.0, z: 0.0},
        orientation: {x: 0.0, y: 0.0, z: 0.0, w: 1.0}
      }
    },
    {
      header: {
        frame_id: 'map',
        stamp: {sec: 0, nanosec: 0}
      },
      pose: {
        position: {x: 0.0, y: 0.0, z: 1.0},
        orientation: {x: 0.0, y: 0.0, z: 0.0, w: 1.0}
      }
    },
    {
      header: {
        frame_id: 'map',
        stamp: {sec: 0, nanosec: 0}
      },
      pose: {
        position: {x: 1.0, y: 1.0, z: 1.0},
        orientation: {x: 0.0, y: 0.0, z: 0.0, w: 1.0}
      }
    }
  ]
}"

and on the terminal i have

publisher: beginning loop
publishing #1: nav_msgs.msg.Path(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), poses=[geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=0.0, y=0.0, z=0.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0))), geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=0.0, y=0.0, z=1.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0))), geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=1.0, y=1.0, z=1.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0)))])

publishing #2: nav_msgs.msg.Path(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), poses=[geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=0.0, y=0.0, z=0.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0))), geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=0.0, y=0.0, z=1.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0))), geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=1.0, y=1.0, z=1.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0)))])

publishing #3: nav_msgs.msg.Path(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), poses=[geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=0.0, y=0.0, z=0.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0))), geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=0.0, y=0.0, z=1.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0))), geometry_msgs.msg.PoseStamped(header=std_msgs.msg.Header(stamp=builtin_interfaces.msg.Time(sec=0, nanosec=0), frame_id='map'), pose=geometry_msgs.msg.Pose(position=geometry_msgs.msg.Point(x=1.0, y=1.0, z=1.0), orientation=geometry_msgs.msg.Quaternion(x=0.0, y=0.0, z=0.0, w=1.0)))])

and i can actually see the path generated on rviz, but the camera doesnt moving there. And I wonder if there could be a parameter or something else that blocks it.

Thanks !

We are finding a way to solve this problem indeed. It’s caused by a wrong handling of the “carriage return” in the ROS 2 console log.

Concerning the new problem, it’s still not clear.
How are you moving the camera? Are you sending commands to ISAAC Sim?

I cannot understand the purpose of this command
ros2 topic pub /zed/zed_node/path_map nav_msgs/msg/Path [...]

My goal is to move the camera around the room and perform mapping.
I was trying to send commands directly to the camera node—actually, I was trying to understand which message to publish to move the camera.
Should I have sent the commands to Isaac Sim by adding new components to my action graph?

The ZED Node does not have this feature.
You must move the camera in the simulator environment to see the camera move. The ZED SDK Localization module will process the information and track the movements and the ZED ROS2 Wrapper will update the TF and the pose and odom messages

Yes, exactly :slight_smile: