serial | 0 | Serial number of the camera to open. 0 is the “unassigned” sentinel: collect-data / run-policy seed all three slots and drop the ones left at 0 (AxolRobotConfig.select_assigned_cameras()), so you only assign the cameras you have (at least one). A real ZED serial is positive. List connected cameras with list_zed_devices(). |
fps | 60 | Capture frame rate. None adopts the camera default on connect. |
width | 960 | Frame width (SVGA). With height, must name a supported ZED resolution (SVGA 960×600, HD1080 1920×1080, HD1200 1920×1200). None auto-detects on connect. |
height | 600 | Frame height (SVGA). |
color_mode | RGB | Output color channel order. |
warmup_s | 1 | Seconds to read frames during connect() before returning |
stereo | False | Open the camera as a stereo ZED X carrying both eyes on one grab. Auto-detected from the serial at startup (apply_detected_stereo()), so it’s rarely set by hand. |
eyes | "both" | Which eye(s) of a stereo camera to expose as recorded observations: "both" → X_left and X_right (the head convention); "left" / "right" → that single eye under the plain name X, so it looks like a mono camera downstream (the wrist convention). apply_detected_stereo() sets this to "both" for the overhead and "left" for any other slot. Ignored when stereo=False. |
stream_eyes | None | Which eye(s) of a stereo camera to stream to the headset, independently of eyes. None follows eyes (the coupled default); set it to decouple the headset feed from the recording — e.g. stream "both" for depth in teleop while recording only "left". Honored by the collect-data / teleop relay only (run-policy streams no video). Ignored when stereo=False. |
record | True | Whether this camera is recorded to the dataset at all. False drops it from observation_cameras() while still allowing it to stream. |
stream | True | Whether this camera is streamed to the headset at all. False drops it from the relay’s encoded feed while still allowing it to be recorded. |