Starting the ZED node fails

camera type: ZedX mini
hardware: Jetson Orin NX Developer kit
i am following the example in the github page for ROS2 wrapper. I have built the zed_ros2_wrapper package as a colcon package i followed

mkdir -p ~/ros2_ws/src/ # create your workspace if it does not exist
cd ~/ros2_ws/src/ #use your current ros2 workspace folder
git clone  --recursive https://github.com/stereolabs/zed-ros2-wrapper.git
cd ..
sudo apt update
rosdep install --from-paths src --ignore-src -r -y # install dependencies
colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release --parallel-workers $(nproc) # build the workspace
echo source $(pwd)/install/local_setup.bash >> ~/.bashrc # automatically source the installation in every new bash (optional)
source ~/.bashrc

and i built it succesfully with some warnings:

airbud@airbud-desktop:~/ros2_ws$ colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release --parallel-workers $(nproc)
[5.068s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/airbud/ros2_ws/install/zed_ros2' in the environment variable AMENT_PREFIX_PATH doesn't exist
[5.068s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/airbud/ros2_ws/install/zed_wrapper' in the environment variable AMENT_PREFIX_PATH doesn't exist
[5.068s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/airbud/ros2_ws/install/zed_components' in the environment variable AMENT_PREFIX_PATH doesn't exist
[5.068s] WARNING:colcon.colcon_ros.prefix_path.ament:The path '/home/airbud/ros2_ws/install/zed_interfaces' in the environment variable AMENT_PREFIX_PATH doesn't exist
[5.069s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/airbud/ros2_ws/install/zed_ros2' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[5.069s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/airbud/ros2_ws/install/zed_wrapper' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[5.069s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/airbud/ros2_ws/install/zed_components' in the environment variable CMAKE_PREFIX_PATH doesn't exist
[5.069s] WARNING:colcon.colcon_ros.prefix_path.catkin:The path '/home/airbud/ros2_ws/install/zed_interfaces' in the environment variable CMAKE_PREFIX_PATH doesn't exist
Starting >>> zed_interfaces
[Processing: zed_interfaces]                              
Finished <<< zed_interfaces [31.4s]                    
Starting >>> zed_components
[Processing: zed_components]                                 
[Processing: zed_components]                                      
[Processing: zed_components]                                       
[Processing: zed_components]                                       
--- stderr: zed_components                                          
In file included from /home/airbud/ros2_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.hpp:19,
                 from /home/airbud/ros2_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:22:
/usr/local/zed/include/sl/Fusion.hpp:68:64: note: #pragma message: ~ FUSION SDK is distributed in Early Access ~
   68 | #pragma message("~ FUSION SDK is distributed in Early Access ~")
      |                                                                ^
---
Finished <<< zed_components [2min 18s]
Starting >>> zed_wrapper
--- stderr: zed_wrapper                                     
In file included from /home/airbud/ros2_ws/install/zed_components/include/zed_components/zed_camera_component.hpp:19,
                 from /home/airbud/ros2_ws/src/zed-ros2-wrapper/zed_wrapper/src/zed_wrapper.cpp:17:
/usr/local/zed/include/sl/Fusion.hpp:68:64: note: #pragma message: ~ FUSION SDK is distributed in Early Access ~
   68 | #pragma message("~ FUSION SDK is distributed in Early Access ~")
      |                                                                ^
---
Finished <<< zed_wrapper [18.8s]
Starting >>> zed_ros2      
Finished <<< zed_ros2 [1.40s]                        

Summary: 4 packages finished [3min 13s]
  2 packages had stderr output: zed_components zed_wrapper

and when i try to start the zed node i get this error and i am not able to proceed:

airbud@airbud-desktop:~/ros2_ws$ ros2 launch zed_wrapper zed_camera.launch.py camera_model:=zedxm
/opt/ros/humble/bin/ros2:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import load_entry_point
[INFO] [launch]: All log files can be found below /home/airbud/.ros/log/2024-01-30-15-40-52-802472-airbud-desktop-9962
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): executed command showed stderr output. Command: xacro /home/airbud/ros2_ws/install/zed_wrapper/share/zed_wrapper/urdf/zed_descr.urdf.xacro camera_name:=zed camera_model:=zedxm 
Captured stderr output:
/opt/ros/humble/bin/xacro:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import load_entry_point

Hi @castel
did you install all the required dependencies?
xacro is a run dependency, you can install it by sudo apt install ros-${ROS_DISTRO}-xacro

hello @Myzhar
I believe i installed all the dependencies.

airbud@airbud-desktop:~$ sudo apt install ros-humble-xacro
[sudo] password for airbud: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ros-humble-xacro is already the newest version (2.0.8-1focal.20231218.191814).
ros-humble-xacro set to manually installed.
The following packages were automatically installed and are no longer required:
  apt-clone archdetect-deb bogl-bterm busybox-static cryptsetup-bin
  dctrl-tools dpkg-repack gir1.2-goa-1.0 gir1.2-timezonemap-1.0 gir1.2-xkl-1.0
  grub-common libavresample-dev libavresample4 libdc1394-22-dev
  libdebian-installer4 libexif-dev libfwupdplugin1 libgdcm-dev libgphoto2-dev
  libilmbase-dev libopencv4.2-java libopencv4.2-jni libopenexr-dev
  libraw1394-dev libtimezonemap-data libtimezonemap1 libxmlb1 libyaml-cpp0.6
  os-prober python3-icu python3-pam rdate tasksel tasksel-data
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
airbud@airbud-desktop:~$ source /opt/ros/humble/setup.bash
airbud@airbud-desktop:~$ source ~/ros2_ws/install/setup.bash
airbud@airbud-desktop:~$ ros2 launch zed_display_rviz2 display_zed_cam.launch.py camera_model:=zedxm
/opt/ros/humble/bin/ros2:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import load_entry_point
[INFO] [launch]: All log files can be found below /home/airbud/.ros/log/2024-01-31-12-45-34-109294-airbud-desktop-5426
[INFO] [launch]: Default logging verbosity is set to INFO
[ERROR] [launch]: Caught exception in launch (see debug for traceback): executed command showed stderr output. Command: xacro /home/airbud/ros2_ws/install/zed_wrapper/share/zed_wrapper/urdf/zed_descr.urdf.xacro camera_name:=zed camera_model:=zedxm 
Captured stderr output:
/opt/ros/humble/bin/xacro:6: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
  from pkg_resources import load_entry_point

I still get the same error

How did you install humble on Jetson Orin NX Developer kit?
Are you using the Jetpack 6?

Thank you! when you asked me that it was brought to my attention that since i was running jetpack 5.1.2 i had to install humble in a specific way and got it to work.

1 Like