Launching multiple cameras does not work

Getting the following error when launching multiple cameras:

[component_container_isolated-2] [2025-01-28 23:36:40 UTC][ZED][INFO] Logging level INFO
[component_container_isolated-2] [2025-01-28 23:36:40 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[component_container_isolated-2] [2025-01-28 23:36:40 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[component_container_isolated-2] [WARN] [1738107400.041873084] [camera_front.zed_node_0]: Error opening camera: CAMERA NOT DETECTED
[component_container_isolated-2] [INFO] [1738107400.041958971] [camera_front.zed_node_0]: Please verify the camera connection
[component_container_isolated-2] [2025-01-28 23:36:40 UTC][ZED][WARNING] CAMERA NOT DETECTED in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)
[component_container_isolated-2] [2025-01-28 23:36:45 UTC][ZED][INFO] Logging level INFO
[component_container_isolated-2] [2025-01-28 23:36:45 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[component_container_isolated-2] [2025-01-28 23:36:45 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[component_container_isolated-2] [WARN] [1738107405.542829394] [camera_front.zed_node_0]: Error opening camera: CAMERA NOT DETECTED
[component_container_isolated-2] [INFO] [1738107405.542923921] [camera_front.zed_node_0]: Please verify the camera connection
[component_container_isolated-2] [2025-01-28 23:36:45 UTC][ZED][WARNING] CAMERA NOT DETECTED in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)
[component_container_isolated-2] [2025-01-28 23:36:51 UTC][ZED][INFO] Logging level INFO
[component_container_isolated-2] [2025-01-28 23:36:51 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[component_container_isolated-2] [2025-01-28 23:36:51 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[component_container_isolated-2] [WARN] [1738107411.043618478] [camera_front.zed_node_0]: Error opening camera: CAMERA NOT DETECTED
[component_container_isolated-2] [INFO] [1738107411.043717741] [camera_front.zed_node_0]: Please verify the camera connection
[component_container_isolated-2] [2025-01-28 23:36:51 UTC][ZED][WARNING] CAMERA NOT DETECTED in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)
[component_container_isolated-2] [2025-01-28 23:36:56 UTC][ZED][INFO] Logging level INFO
[component_container_isolated-2] [2025-01-28 23:36:56 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[component_container_isolated-2] [2025-01-28 23:36:56 UTC][ZED][ERROR] [ZED] sl::Camera::Open has not been called, no Camera instance running.
[component_container_isolated-2] [2025-01-28 23:36:56 UTC][ZED][WARNING] CAMERA NOT DETECTED in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)
[component_container_isolated-2] [WARN] [1738107416.544449005] [camera_front.zed_node_0]: Error opening camera: CAMERA NOT DETECTED
[component_container_isolated-2] [INFO] [1738107416.544607211] [camera_front.zed_node_0]: Please verify the camera connection

Context:

  • Running the multi-camera launch from here: zed-ros2-examples/tutorials/zed_multi_camera at master · stereolabs/zed-ros2-examples · GitHub
  • Launching zed_wrapper separately for each camera works
  • Launching individual zed_wrapper for all cameras in multiple terminal sessions in parallel works also, though the second camera launch starts logging the following warning: [component_container_isolated-2] [ZED-X][Warning] Failed to connect to zed_x_daemon.
  • Restarting zed_daemon doesn’t change this
  • Setup uses 3 cameras (one ZED X + two monocular)
  • ZED SDK 4.2, Jetpack 6.0 / L4T 36.3.0, latest Quad link drivers
  • ROS2 Humble
  • ZED_Explorer also detects and runs all cameras
  • Already did the Middleware + Network tuning

EDIT 1:
It seems there must be some race condition → small edits to the launch file to add a 1s delay for each additional launch (using TimerAction) works. It’s not an actual fix, rather a workaround.

Hi @Myzhar , any suggestions on this, please?

Hi @dh662
can you post the command that you are using and the full log?

Ran the zed_multi_camera launch file from the zed-ros2-examples repo: zed-ros2-examples/tutorials/zed_multi_camera/launch/zed_multi_camera.launch.py at master · stereolabs/zed-ros2-examples · GitHub

You can comment out the Robot State Publisher for simplicity like this:
zed_multi_camera.launch.py (5.7 KB)

Running:

ros2 launch zed_multi_camera zed_multi_camera.launch.py cam_names:="[camera_front,camera_left,camera_right]" cam_models:="[zedx,zedxonegs,zedxonegs]" cam_serials:="[<sn1>, <sn2>, <sn3>]"

Output:
logs.txt (116.9 KB)

In this case camera_left failed to start with:

[component_container_isolated-4] [WARN] [1738363130.919734046] [camera_left.zed_node_1]: Error opening camera: CAMERA NOT DETECTED                                                                                                                        
[component_container_isolated-4] [INFO] [1738363130.919881079] [camera_left.zed_node_1]: Please verify the camera connection                                                                                                                              
[component_container_isolated-4] [2025-01-31 22:38:50 UTC][ZED][WARNING] CAMERA NOT DETECTED in sl::ERROR_CODE sl::CameraOneImpl::open(const sl::InitParametersOne&) 

ros2 node list only shows camera_front and camera_right.

Other times, it might be the front one or the right one that fails. Sometimes 2 out of 3 fail with this error. Again, running each camera individually works, all cameras show up in ZED_Explorer and restarting zed_x_daemon has no impact. All cameras work if you add incremental sleep before each subsequent launch to simulate sequential launch.

Hi @dh662
the multicamera example is not made to work with hybrid configurations.
It was designed to work only with multiple stereo cameras.

The README file does not mention anything about stereo camera only, in fact it states: “system equipped with multiple different models of ZED cameras”.

Point being, it would be nice if this was documented so you don’t send people down a rabbit hole. Also, mentioned our setup uses one ZED X + two monocular cameras in my initial post, unclear why you asked for command + logs :grinning:

It doesn’t strike me as an issue related to the mix of plugins between ZedCamera and ZedCameraOne. For what it’s worth, the same error occurs when trying to launch just the two monocular cameras.

Anyway, we found a work around when launching sequentially. Consider this user feedback.

That’s because the tutorial was created before the release of the ZED X One model.
We will update the README accordingly.

Normally customers using two monocular cameras create virtual stereo rigs.
I wrongly assumed you were doing the same.

What version of the ZED SDK are you using?

That’s because the tutorial was created before the release of the ZED X One model.
We will update the README accordingly.

Sounds good, thank you.

What version of the ZED SDK are you using?

ZED SDK 4.2.3 ZED_SDK_Tegra_L4T36.3_v4.2.3.zstd.run
Quad link 1.2.1 stereolabs-zedlink-quad_1.2.1-SL-MAX96712-all-L4T36.3.0_arm64.deb

I will try a similar setup to exclude eventual problems.

We identified a potential issue when opening GMSL2 cameras by using the serial number to select which camera to open.

The team is working on a fix

1 Like