fix(go2): route phone teleop command and video streams#2376
Conversation
Greptile SummaryThis PR fixes the
Confidence Score: 5/5Safe to merge — both transports are additive configuration on an existing blueprint, with no behavioral changes to other stacks. The change is narrowly scoped: two transport entries are wired into teleop_phone_go2 and two corresponding tests verify the configuration. The fleet and standalone variants are untouched, the transport classes are already well-tested in the codebase, and the tests are deterministic (no I/O or LCM connections opened at assertion time). No files require special attention. Important Files Changed
Sequence DiagramsequenceDiagram
participant BrowserRerun as Browser / Rerun
participant PhoneTeleop as SimplePhoneTeleop
participant LCM as LCMTransport(/cmd_vel)
participant Go2Conn as Go2Connection
participant Camera as Go2 Camera
participant JpegLCM as JpegLcmTransport(/color_image)
participant RerunBridge as RerunBridge
BrowserRerun->>PhoneTeleop: publish tele_cmd_vel (Twist)
PhoneTeleop->>LCM: route via transport_map
LCM->>Go2Conn: /cmd_vel (Twist over LCM)
Camera->>PhoneTeleop: publish color_image (Image)
PhoneTeleop->>JpegLCM: route via transport_map
JpegLCM->>RerunBridge: /color_image (JPEG-encoded Image over LCM)
Reviews (2): Last reviewed commit: "Fix Go2 phone teleop routing" | Re-trigger Greptile |
a4055e6 to
7b71396
Compare
Summary
tele_cmd_velcommands to the Go2cmd_velinput in the directteleop-phone-go2stack.color_imageover JPEG-LCM so the Rerun bridge can render camera frames.Why
The direct Go2 phone teleop stack should be independently usable: the browser control path needs to reach the Go2 command stream, and the camera stream needs to be visible to Rerun without depending on a larger navigation stack.
Safety
Validation
uv run pytest dimos/teleop/phone/test_blueprints.py -quv run ruff check dimos/teleop/phone/blueprints.py dimos/teleop/phone/test_blueprints.py