Skip to content

Fix Go2 phone teleop routing#2376

Open
kezaer wants to merge 1 commit into
dimensionalOS:mainfrom
kezaer:fix/go2-teleop-wiring
Open

Fix Go2 phone teleop routing#2376
kezaer wants to merge 1 commit into
dimensionalOS:mainfrom
kezaer:fix/go2-teleop-wiring

Conversation

@kezaer
Copy link
Copy Markdown

@kezaer kezaer commented Jun 6, 2026

Summary:

  • Route browser/Rerun tele_cmd_vel commands to the Go2 cmd_vel input in the direct teleop-phone-go2 stack.
  • Expose Go2 color_image over JPEG-LCM so the Rerun bridge can render camera frames.
  • Add blueprint transport tests for command and video routing.

Tests:

  • /Users/kezaer/Git/dimos/.venv/bin/python -m pytest dimos/teleop/phone/test_blueprints.py -q
  • /Users/kezaer/Git/dimos/.venv/bin/ruff check dimos/teleop/phone/blueprints.py dimos/teleop/phone/test_blueprints.py

No robot motion commands were sent while validating this change.

@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented Jun 6, 2026

Greptile Summary

This PR fixes the teleop_phone_go2 blueprint so that browser/Rerun keyboard tele_cmd_vel commands reach the Go2's cmd_vel LCM topic, and exposes color_image over JPEG-LCM so the Rerun bridge can render camera frames.

  • Adds .transports() to teleop_phone_go2 mapping ("tele_cmd_vel", Twist)LCMTransport("/cmd_vel", Twist) and ("color_image", Image)JpegLcmTransport("/color_image", Image).
  • Adds test_blueprints.py with two unit tests that verify the transport map entries (topic name and LCM type) for both the command and video routing.

Confidence Score: 5/5

Safe to merge — the change is a small, targeted addition to a single blueprint with matching unit tests, and no robot motion was affected during validation.

Both transport entries are consistent with how the rest of the codebase wires LCM topics: LCMTransport('/cmd_vel', Twist) correctly targets the same topic that GO2Connection.cmd_vel resolves to at runtime, and JpegLcmTransport('/color_image', Image) replaces the platform-specific pSHMTransport override from unitree_go2_basic on macOS — JPEG compression more than compensates for the UDP bandwidth concern that motivated the original pSHMTransport workaround. The two unit tests cover both entries with precise assertions on topic name and LCM type.

No files require special attention.

Important Files Changed

Filename Overview
dimos/teleop/phone/blueprints.py Adds .transports() to teleop_phone_go2 with two entries: LCMTransport for tele_cmd_vel→/cmd_vel and JpegLcmTransport for color_image→/color_image; no issues found.
dimos/teleop/phone/test_blueprints.py New test file with two tests validating transport_map keys, topic names, and LCM types for the two new transport entries; assertions are correct.

Sequence Diagram

sequenceDiagram
    participant Browser as Browser / Rerun UI
    participant TV as tele_cmd_vel stream<br/>(LCMTransport /cmd_vel)
    participant Go2 as GO2Connection<br/>cmd_vel: In[Twist]
    participant Phone as SimplePhoneTeleop<br/>cmd_vel: Out[Twist]
    participant CI as color_image stream<br/>(JpegLcmTransport /color_image)
    participant RR as RerunBridge<br/>(LCM subscriber)

    Browser->>TV: keyboard / joystick Twist
    TV-->>Go2: LCM /cmd_vel → move()
    Phone->>Go2: direct in-process Twist (cmd_vel)
    Go2->>CI: publish Image frame
    CI-->>RR: JPEG-compressed frame on /color_image
Loading

Reviews (1): Last reviewed commit: "Fix Go2 phone teleop routing" | Re-trigger Greptile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant