Ros2 wrapper ZED X One multi cameras SVO recording problem

Hi

I’m trying to recording svo file using ros2-wrapper and I follow below page

Before running above, I already checked cameras are connected well through ZED_Explorer

As guided for multi camera svo recording I executed below:

Launch the ZED ROS 2 Wrapper

ros2 launch zed_multi_camera zed_multi_camera.launch.py \ cam_names:=‘[cam0, cam1]’ \ cam_models:=‘[zedxonegs, zedxonegs]’ \ cam_serials:=‘[305180703, 304969548]’

Start recording an SVO file

ros2 service call /zed_multi/cam0/start_svo_rec zed_msgs/srv/StartSvoRec "{svo_filename: ‘251118_cam0.svo2’, compression_mode: 1}”
ros2 service call /zed_multi/cam1/start_svo_rec zed_msgs/srv/StartSvoRec “{svo_filename: ‘251118_cam1.svo2’, compression_mode: 1}”

But I met **“waiting for service to become available…
**
Actually, I found start_svo_rec service is ope after commanded service call
and below is service list:
/zed_multi/cam0/describe_parameters
/zed_multi/cam0/enable_streaming
/zed_multi/cam0/get_parameter_types
/zed_multi/cam0/get_parameters
/zed_multi/cam0/list_parameters
/zed_multi/cam0/set_parameters
/zed_multi/cam0/set_parameters_atomically
/zed_multi/cam0/start_svo_rec
/zed_multi/cam0_state_publisher/describe_parameters
/zed_multi/cam0_state_publisher/get_parameter_types
/zed_multi/cam0_state_publisher/get_parameters
/zed_multi/cam0_state_publisher/list_parameters
/zed_multi/cam0_state_publisher/set_parameters
/zed_multi/cam0_state_publisher/set_parameters_atomically
/zed_multi/cam1/describe_parameters
/zed_multi/cam1/enable_streaming
/zed_multi/cam1/get_parameter_types
/zed_multi/cam1/get_parameters
/zed_multi/cam1/list_parameters
/zed_multi/cam1/set_parameters
/zed_multi/cam1/set_parameters_atomically
/zed_multi/cam1/start_svo_rec
/zed_multi/cam1_state_publisher/describe_parameters
/zed_multi/cam1_state_publisher/get_parameter_types
/zed_multi/cam1_state_publisher/get_parameters
/zed_multi/cam1_state_publisher/list_parameters
/zed_multi/cam1_state_publisher/set_parameters
/zed_multi/cam1_state_publisher/set_parameters_atomically
/zed_multi/state_publisher/describe_parameters
/zed_multi/state_publisher/get_parameter_types
/zed_multi/state_publisher/get_parameters
/zed_multi/state_publisher/list_parameters
/zed_multi/state_publisher/set_parameters
/zed_multi/state_publisher/set_parameters_atomically

How can I fix this problem and record svo file??
please let me know the way ASAP

Thanks

Is the node running? Have you checked with Diagnostic?

Yes, node is running

I’ve checked Diagnostic and there’s no problem

Is there anything else I can check??

Please send a screenshot of the diagnostic.

Have you tried to use rqt to call the service instead of a CLI command?

the file is diagnostic report and rqt screen which doesn’t look like there’s problem

ZED_Diagnostic_Results.json (22.5 KB)

Actually, what I want to do is

  1. recording svo with two zed x one cameras for extracting depth map using zed neural depth api
  2. recording lidar rosbag
  3. synchronizing svo and lidar rosbag on timestamp

and now I’m stucking on first step..

Please take a screenshot of the Node Diagnostic in rqt and share it here.

It looks like Diagnostics viewer(Robot monitor) is substitute for Runtime monitor for ROS2 Humble

For using Diagnostic viewer in Robot tools, I installed like below:

sudo apt update
sudo apt install ros-humble-diagnostic-updater \
                 ros-humble-diagnostic-aggregator \
                 ros-humble-rqt-robot-monitor

but monitoring gui is not working like this,

and below is result of

ros2 topic echo /diagnostics
header:
  stamp:
    sec: 1764052827
    nanosec: 275764065
  frame_id: ''
status:
- level: "\0"
  name: 'cam0: ZED XOne GS'
  message: Camera grabbing
  hardware_id: 'Stereolabs ZED XOne GS - ''cam0'' - S/N: 305180703'
  values:
  - key: Uptime
    value: 0 days, 0 hours, 11 min, 42.5326 sec
  - key: Capture
    value: 'Mean Frequency: 30.0 Hz (99.9%)'
  - key: Capture
    value: 'Tot. Processing Time: 0.033323 sec (Max. 0.033 sec)'
  - key: Frame Drop rate
    value: 41/21081 (0.194488%)
  - key: Input mode
    value: Live Camera
  - key: Image
    value: Topic not subscribed
  - key: TF IMU
    value: DISABLED
  - key: IMU Sensor
    value: Topics not subscribed
  - key: Camera Temp.
    value: 37.0 °C
  - key: Streaming Server
    value: NOT ACTIVE
---
header:
  stamp:
    sec: 1764052827
    nanosec: 289049332
  frame_id: ''
status:
- level: "\0"
  name: 'cam1: ZED XOne GS'
  message: Camera grabbing
  hardware_id: 'Stereolabs ZED XOne GS - ''cam1'' - S/N: 304969548'
  values:
  - key: Uptime
    value: 0 days, 0 hours, 11 min, 43.2728 sec
  - key: Capture
    value: 'Mean Frequency: 30.0 Hz (100.0%)'
  - key: Capture
    value: 'Tot. Processing Time: 0.033301 sec (Max. 0.033 sec)'
  - key: Frame Drop rate
    value: 0/21039 (0%)
  - key: Input mode
    value: Live Camera
  - key: Image
    value: Topic not subscribed
  - key: TF IMU
    value: DISABLED
  - key: IMU Sensor
    value: Topics not subscribed
  - key: Camera Temp.
    value: 35.1 °C
  - key: Streaming Server
    value: NOT ACTIVE

No, this is a diagnostic collector. For single node diagnostic you must install and use “Runtime monitor”: sudo apt install ros-humble-rqt-runtime-monitor

below is runtime mornitor screeshot

1 Like

The ZED X One nodes are working as expected, but you cannot record SVOs using the ZED ROS2 Wrapper because this feature is not enabled for the ZedCameraOne component.

You can use ZED_Studio to record synchronous SVOs.

SVO support will be added to the ZedCameraOne component in a few days.
It has been previously removed because of a few issues with the versions of the ZED SDK older than v5.1.