From 7abfc68c0a94e8c5091b7b3ed76df1d0d7d353ea Mon Sep 17 00:00:00 2001 From: Vladimir Yakunin Date: Fri, 11 Sep 2026 21:06:31 +0000 Subject: [PATCH 1/2] Say that zed_2i_second is a ZED-M placeholder for a second ZED 2i Serial 13785037 is a ZED-M. It stands in for a second ZED 2i that is on the way. The name stays; the serial changes when the camera arrives. Ticket: Positronic-Robotics/internal#1297 #refs --- positronic/cfg/hardware/camera.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/positronic/cfg/hardware/camera.py b/positronic/cfg/hardware/camera.py index 07acc4b5a..a38298191 100644 --- a/positronic/cfg/hardware/camera.py +++ b/positronic/cfg/hardware/camera.py @@ -33,12 +33,15 @@ def zed(**kwargs): zed_m = zed.override(serial_number=17521925) zed_2i = zed.override(serial_number=39567055) +# Serial 13785037 is a ZED-M at present. It stands in for a second ZED 2i, which is on the way. The name is +# for that ZED 2i; the serial changes to the new camera's when it arrives, and the name stays. zed_2i_second = zed.override(serial_number=13785037) _DROID_STREAM = {'view': 'left', 'resolution': 'hd720', 'fps': 30, 'image_enhancement': False} droid = {keys.WRIST_IMAGE: zed_m.override(**_DROID_STREAM), keys.EXTERIOR_IMAGE: zed_2i.override(**_DROID_STREAM)} +# `exterior_2` is the ZED-M placeholder for now (see `zed_2i_second`), so its optics differ from `exterior`. droid_3cam = {**droid, keys.EXTERIOR_IMAGE_2: zed_2i_second.override(**_DROID_STREAM)} # YAM station (brunello): ZED X overhead + two ZED X One wrist cameras on the ZED Link Duo. From 78c1783813962946694953bd14f25fc4bd5738c6 Mon Sep 17 00:00:00 2001 From: Vladimir Yakunin Date: Sat, 12 Sep 2026 12:08:32 +0000 Subject: [PATCH 2/2] Say what the camera is, and leave the replacement to the ticket Both comments predicted a future state: the second ZED 2i arriving, the serial changing with it, and `exterior_2` holding a placeholder "for now". Each goes stale on the day the camera lands, and nothing brings a reader back to correct it. The durable fact is that serial 13785037 is a ZED-M while the name says ZED 2i. The comment states that and points at the ticket, which is where the replacement is tracked. Ticket: Positronic-Robotics/internal#1297 #refs --- positronic/cfg/hardware/camera.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/positronic/cfg/hardware/camera.py b/positronic/cfg/hardware/camera.py index a38298191..4680ec72a 100644 --- a/positronic/cfg/hardware/camera.py +++ b/positronic/cfg/hardware/camera.py @@ -33,15 +33,14 @@ def zed(**kwargs): zed_m = zed.override(serial_number=17521925) zed_2i = zed.override(serial_number=39567055) -# Serial 13785037 is a ZED-M at present. It stands in for a second ZED 2i, which is on the way. The name is -# for that ZED 2i; the serial changes to the new camera's when it arrives, and the name stays. +# Serial 13785037 is a ZED-M, so the name and the hardware disagree (Positronic-Robotics/internal#1297). zed_2i_second = zed.override(serial_number=13785037) _DROID_STREAM = {'view': 'left', 'resolution': 'hd720', 'fps': 30, 'image_enhancement': False} droid = {keys.WRIST_IMAGE: zed_m.override(**_DROID_STREAM), keys.EXTERIOR_IMAGE: zed_2i.override(**_DROID_STREAM)} -# `exterior_2` is the ZED-M placeholder for now (see `zed_2i_second`), so its optics differ from `exterior`. +# `exterior_2` runs on `zed_2i_second`, a ZED-M, so its optics differ from `exterior`. droid_3cam = {**droid, keys.EXTERIOR_IMAGE_2: zed_2i_second.override(**_DROID_STREAM)} # YAM station (brunello): ZED X overhead + two ZED X One wrist cameras on the ZED Link Duo.