Skip to main content
Helpers for the ZED cameras attached to the host machine over GMSL. Requires pyzed — install it with axol zed.install (see zed.install). The cameras themselves are opened by the LeRobot wrappers in almond_axol.lerobot.camera.

list_zed_devices()

Enumerates the ZED cameras currently visible to the SDK — both mono (ZED-X One, sl.CameraOne) and stereo (ZED X, sl.Camera) — and returns a list of ZedDevice dicts sorted by serial number:

stereo_serials()

Returns the serial numbers of the connected stereo (ZED X) cameras as a set[int]. This is how the SDK auto-detects whether a configured camera is stereo from its serial alone — so teleop and the control panel never make the operator flag it by hand:
Best-effort: any enumeration failure (pyzed missing, daemon down) returns an empty set, in which case callers treat every camera as mono.

restart_zed_daemon()

Restarts the zed_x_daemon systemd service and blocks ~5 s while it re-enumerates the GMSL links. The daemon only scans for cameras when it starts, so a camera plugged in after boot stays invisible to the SDK until the daemon restarts — call this (or use the Restart daemon button in the control panel’s Cameras settings tab) before opening cameras when in doubt.
Runs systemctl restart zed_x_daemon via passwordless sudo when not root (raises RuntimeError if that fails — e.g. headless without sudo rights).