Failure on Zed camera's `.open()`

Hi there,

I have a system that runs with 3 cameras in production, all started in immediate succession. I am running the ZED SDK 5.2.3 on a Jetson Orin AGX 64 GB. My program is written in Python.

The issue I am facing is that one of the cameras (changes which one) often fails to start. The logs are usually:

[ZED][ERROR] [Init] Corrupted frames were detected. Please verify that your camera is properly connected.
[ERROR] FAILURE in sl::ERROR_CODE sl::Camera::open(sl::InitParameters)

The error comes after calling cam.open(init_params), where my init_params are defined like this:

def _init_params(self, sn: str) -> sl.InitParameters:
        init_params = sl.InitParameters()
        init_params.set_from_serial_number(sn)
        init_params.camera_image_flip = sl.FLIP_MODE.AUTO
        init_params.coordinate_units = sl.UNIT.METER
        init_params.depth_mode = sl.DEPTH_MODE.NEURAL_LIGHT
        init_params.camera_resolution = sl.RESOLUTION.SVGA
        init_params.coordinate_system = sl.COORDINATE_SYSTEM.RIGHT_HANDED_Y_UP
        init_params.camera_fps = 30
        init_params.depth_maximum_distance = 20
        return init_params

The interesting thing is that on each startup, it is generally a different camera which errors out (seems to be a random one of the three). I’d say about 50% of the time it’s one of the cameras, 50% it’s none of them. I’ve yet to see 2+ error on the same run.

The fact that each camera takes turns erroring on startup makes me think it is not a hardware/connection issue.

Is startup failure a known issue with the 5.2.3 SDK? Or is there something funky with my init parameters? Or do I need to wait longer before I start each camera?

Any insight is welcome.

Thanks!