Skip to content

Harden Go2 LAN teleop setup#3

Draft
kezaer wants to merge 1 commit into
feat/go2-startup-autodetectfrom
feat/go2-teleop-lan-setup
Draft

Harden Go2 LAN teleop setup#3
kezaer wants to merge 1 commit into
feat/go2-startup-autodetectfrom
feat/go2-teleop-lan-setup

Conversation

@kezaer
Copy link
Copy Markdown
Owner

@kezaer kezaer commented Jun 6, 2026

Stack:

  1. Add Go2 local Wi-Fi doctor dimensionalOS/dimos#2378 - Add Go2 local Wi-Fi doctor
  2. Add blueprint preflight hooks #1 - Add reusable blueprint/hardware preflight infrastructure
  3. Autodetect Go2 startup connectivity #2 - Apply startup preflights to Go2 connectivity
  4. This PR - Harden Go2 LAN teleop/browser setup

Summary:

  • Add phone and Quest LAN UI preflights that warn when motion-capable browser UIs are loopback-only, without auto-exposing them to the LAN.
  • Keep --listen-host 0.0.0.0 explicit for control UI exposure on trusted local networks.
  • Serve phone and Quest browser payloads locally as JSON instead of relying on CDN @dimos/msgs resolution.
  • Accept legacy binary LCM payloads and JSON payloads in phone/Quest teleop modules.
  • Make Quest Joy decoding tolerate missing optional buttons while keeping axes strict.
  • Publish decoded Go2 teleop cmd_vel from JSON and binary paths.
  • Generate SAN-aware local HTTPS certificates for teleop clients under DimOS state.
  • Improve Rerun/dashboard serving paths and add web/server tests.
  • Add a Go2 local Wi-Fi teleop troubleshooting guide and docs navigation entry.

Why:

  • Startup autodetection gets the robot connection right; this branch makes the local browser control path work reliably without silently broadening network exposure.
  • Phone/Quest teleop should be self-contained on an operator LAN, including offline/local browser loads.

Validation:

  • Top of stack: /Users/kezaer/Git/dimos/.venv/bin/python -m pytest dimos/core/coordination/test_blueprints.py dimos/core/coordination/test_module_coordinator.py dimos/hardware/test_preflight.py dimos/robot/unitree/go2/test_connectivity.py dimos/robot/unitree/go2/test_startup.py dimos/robot/unitree/go2/cli/test_doctor.py dimos/teleop/phone/test_blueprints.py dimos/teleop/phone/test_phone_teleop_module.py dimos/teleop/quest/test_blueprints.py dimos/teleop/quest/test_quest_teleop_module.py dimos/web/dimos_interface/api/test_server_certs.py dimos/web/templates/test_rerun_dashboard.py dimos/web/websocket_vis/test_websocket_vis_module.py dimos/robot/cli/test_cli_startup.py -q (175 passed)
  • /Users/kezaer/Git/dimos/.venv/bin/ruff check ...
  • /Users/kezaer/Git/dimos/.venv/bin/mypy dimos/
  • node --check dimos/teleop/quest/web/static/teleop.js
  • phone teleop inline module script through node --check
  • git diff --check

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