Can't call rosservice start_svo_recording

I’m running the ROS wrapper with

roslaunch zed_wrapper zed2i.launch svo_file:=/absolute/path/to/test.svo

I’ve made no changes to any file.
When I run rosservice list, this is all it returns:

/rosout/get_loggers
/rosout/set_logger_level
/zed2i/zed2i_state_publisher/get_loggers
/zed2i/zed2i_state_publisher/set_logger_level
/zed2i/zed_node/get_loggers
/zed2i/zed_node/list
/zed2i/zed_node/load_nodelet
/zed2i/zed_node/set_logger_level
/zed2i/zed_node/unload_nodelet

Most of the services described here are not present either.

Do I need to modify something to allow the start_svo_recording rosservice?

I’m running ZED SDK for JetPack 5.0 (L4T 35.1)4.0 (Jetson Xavier, Orin AGX, CUDA 11.4); technically, both CUDA 11.4 and 12.0 are installed; the SDK installer didn’t throw any errors because it found 11.4, but building with catkin_make shows that it found 12.0, no errors or warnings though.

Edit: If I run roslaunch zed_wrapper zed2i.launch (without specifying the svo file path), then the service appears when running rosservice list. If I then try to run rosservice call /zed2i/zed_node/start_svo_recording, I get:

ERROR: Unable to load type [zed_interfaces/start_svo_recording].
Have you typed 'make' in [zed_interfaces]?

I followed the installation instructions here:

$ cd ~/catkin_ws/src
$ git clone --recursive https://github.com/stereolabs/zed-ros-wrapper.git
$ cd ../
$ rosdep install --from-paths src --ignore-src -r -y
$ catkin_make -DCMAKE_BUILD_TYPE=Release
$ source ./devel/setup.bash

I’m a brain genius and didn’t call source devel/setup.bash in the terminal I was calling the rosservice from. Ran source devel/setup.bash.

roslaunch zed_wrapper zed2i.launch svo_file:=/absolute/path/to/test.svo

still doesn’t work, but

roslaunch zed_wrapper zed2i.launch

from one terminal and

rosservice call /zed2i/zed_node/start_svo_recording "svo_filename: '/absolute/path/to/test.svo'"

or

rosservice call /zed2i/zed_node/start_svo_recording "/absolute/path/to/test.svo"

from another (both after sourcing devel/setup.bash) does.

1 Like