Can't launch isaac_ros_h264_encoder ZED example

I’m following the tutorial on how to run the isaac_ros_h264_encoder with ZED camera.

I installed the ZED ROS2 wrapper inside the isaac_ros devcontainer succesfully and the ZED X camera gets recognized by ZED_Explorer.
I also installed the isaac_ros_h264_encoder and isaac_ros_h264_decoder packages, but when running the isaac_ros_example node using this command:

ros2 launch isaac_ros_examples isaac_ros_examples.launch.py \
launch_fragments:=zed_stereo_rect,stereo_h264_encoder \
interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_h264_encoder/zedx_quickstart_interface_specs.json

I get the following error:

[INFO] [launch]: All log files can be found below /home/admin/.ros/log/2024-12-03-15-07-54-874817-ubuntu-24222
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [1733234874.951646414] [isaac_ros_examples]: Info: Interface spec "camera_model" is overridden. The value from the overriding file will be used
[INFO] [1733234874.952788593] [isaac_ros_examples]: Info: Interface spec "camera_frame" is overridden. The value from the overriding file will be used
[INFO] [1733234874.953870676] [isaac_ros_examples]: Info: Interface spec "camera_resolution" is overridden. The value from the overriding file will be used
[ERROR] [launch]: Caught exception in launch (see debug for traceback): package 'zed_wrapper' found at '/workspaces/isaac_ros-dev/install/zed_wrapper', but libexec directory '/workspaces/isaac_ros-dev/install/zed_wrapper/lib/zed_wrapper' does not exist

I would be grateful for hints, on how to fix this problem.
The ZED ROS2 wrapper is working properly, running ros2 launch zed_wrapper zed_camera.launch.py camera_model:='zedx' launches the ZED Wrapper succesfully.

Hi @lvkaleo

Welcome to the Isaac ROS forum.

Have you also followed this tutorial? Isaac ROS ZED Setup — isaac_ros_docs documentation

If your response is true and is not still working, before running the h264 example, load the sources:

source ${ISAAC_ROS_WS}/install/setup.bash

and after

ros2 launch isaac_ros_examples isaac_ros_examples.launch.py \
launch_fragments:=zed_stereo_rect,stereo_h264_encoder \
interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_h264_encoder/zedx_quickstart_interface_specs.json

Best,
Raffaello

Hi Raffaello,

yes, I followed the ISAAC ROS ZED Setup tutorial, and the ZED X camera gets detected inside the Docker Container.

After launching the ISAAC ROS container I run the following commands:

sudo apt update && sudo apt-get install -y ros-humble-isaac-ros-h264-encoder
sudo apt-get install -y ros-humble-isaac-ros-examples ros-humble-isaac-ros-stereo-image-proc ros-humble-isaac-ros-zed
source ${ISAAC_ROS_WS}/install/setup.bash
ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:=zed_stereo_rect,stereo_h264_encoder interface_specs_file:=${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_h264_encoder/zedx_quickstart_interface_specs.json

but unfortunately I still get the same error as shown above.

This error is related to the zed_wrapper library, which may not be installed or does not exist in the folder. Please verify if the ZED is properly installed.

Best,
Raffaello

I just cleared the workspace and rebuilt the ZED ROS2 wrapper. It builds without any errors:

Finished <<< zed_msgs [26.7s]
Starting >>> zed_components
[Processing: zed_components]
[Processing: zed_components]
[Processing: zed_components]
Finished <<< zed_components [1min 57s]
Starting >>> zed_wrapper
Finished <<< zed_wrapper [4.58s]

Summary: 3 packages finished [2min 29s]
  1 package had stderr output: zed_msgs

After sourcing and launching the isaac_ros_examples node I get the same error.

Strangely, I can run ros2 launch zed_wrapper zed_camera.launch.py camera_model:='zedx' succesfully, which indicates that the ZED ROS2 wrapper is installed properly.