Skip to content

fix(g1): route planner and teleop velocities to the sim connection - #4150

Merged
aclauer merged 2 commits into
mainfrom
krishna/fix/rel-g1-sim-movement-manager
Sep 15, 2026
Merged

aclauer merged 2 commits into
mainfrom
krishna/fix/rel-g1-sim-movement-manager

Conversation

@KrishnaH96

Copy link
Copy Markdown
Contributor

Problem

dimos --simulation run unitree-g1-sim boots but the humanoid never moves: click-to-go plans a path and WASD does nothing.

Root cause

The planner publishes nav_cmd_vel and the Rerun panel publishes tele_cmd_vel; G1SimConnection listens on cmd_vel. Every other nav blueprint has a MovementManager merging the two, unitree_g1_basic_sim never got one. Same since Nav Stack 0.1, shipped broken in 0.0.13.

Solution

Add MovementManager.blueprint() to unitree_g1_basic_sim, as unitree_g1_nav_simple does.

How to test

uv run dimos --simulation run unitree-g1-sim, click a goal or use WASD: the G1 walks.

AI assistance

Claude Code (Fable 5.1) assisted extensively with implementation, tests and the PR description under my direction. All hardware validation was done by me on the robot.

Checklist

  • I have read and approved the CLA.

@codecov

codecov Bot commented Sep 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ All tests successful. No failed tests found.

@@            Coverage Diff             @@
##             main    #4150      +/-   ##
==========================================
- Coverage   79.05%   79.05%   -0.01%     
==========================================
  Files        1466     1466              
  Lines      138916   138917       +1     
  Branches    11962    11962              
==========================================
- Hits       109825   109818       -7     
- Misses      25688    25693       +5     
- Partials     3403     3406       +3     
Components Coverage Δ
Tests 94.98% <ø> (-0.02%) ⬇️
Flag Coverage Δ
OS-ubuntu-24.04-arm 75.01% <100.00%> (-0.01%) ⬇️
OS-ubuntu-latest 75.71% <100.00%> (+<0.01%) ⬆️
Py-3.10 75.48% <100.00%> (-0.01%) ⬇️
Py-3.11 75.69% <100.00%> (-0.01%) ⬇️
Py-3.12 75.70% <100.00%> (+<0.01%) ⬆️
SelfHosted-Large 30.74% <ø> (-0.01%) ⬇️
SelfHosted-Linux 36.19% <ø> (-0.01%) ⬇️
SelfHosted-macOS 35.53% <ø> (-0.01%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...nitree/g1/blueprints/basic/unitree_g1_basic_sim.py 100.00% <100.00%> (ø)

... and 3 files with indirect coverage changes

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@greptile-apps

greptile-apps Bot commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The validated authentication and cockpit credential flows behave correctly, with no actionable issue identified.

What we checked:

  • Ran authentication tests against the relay with missing, invalid, mismatched, and valid robot and viewer credentials, verifying that unauthorized sessions receive auth_failed and valid credentials receive a welcome, and that protected /api/stats requests return 401 without a viewer bearer and 200 with one. T-Rex
  • Rendered the cockpit authentication-failure state in Chromium, then validated that submitting a valid viewer token stores it and reloads into an authenticated viewer state, and that logging out clears the stored token and returns to the token entry form. T-Rex
  • Changed the relay endpoints and gates and updated the Python bridge client token contract, then ran the integration checks again to confirm the same auth behavior and status codes; environment prepared with Deno installed in a temporary location and all commands exited cleanly. T-Rex
  • Executed the corrected Playwright evidence command and it exited 0, confirming that token storage, reload/reconnect state, and credential clearing completed successfully. T-Rex

Summary

  • Adds authenticated relay support for robot keys and viewer tokens, including credential handling in the Python bridge and relay protocol.
  • Adds cockpit token entry, reconnect, and logout behavior for authenticated viewer sessions.
  • Masks secret configuration values in CLI output and excludes them from persisted run metadata.

The changes are safe to merge.

Reviews (1) · Last reviewed commit: "fix(g1): route planner and teleop veloci..."

@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Sep 15, 2026
@github-actions github-actions Bot removed the ready-to-merge Required CI checks have passed on this PR label Sep 15, 2026
@KrishnaH96

Copy link
Copy Markdown
Contributor Author

@paul-nechifor one-line blueprint fix, unitree-g1-sim had no MovementManager so the humanoid never moved. Could you review?

@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Sep 15, 2026
@aclauer
aclauer added this pull request to the merge queue Sep 15, 2026
@aclauer

aclauer commented Sep 15, 2026

Copy link
Copy Markdown
Collaborator

Problem

dimos --simulation run unitree-g1-sim boots but the humanoid never moves: click-to-go plans a path and WASD does nothing.

Root cause

The planner publishes nav_cmd_vel and the Rerun panel publishes tele_cmd_vel; G1SimConnection listens on cmd_vel. Every other nav blueprint has a MovementManager merging the two, unitree_g1_basic_sim never got one. Same since Nav Stack 0.1, shipped broken in 0.0.13.

Solution

Add MovementManager.blueprint() to unitree_g1_basic_sim, as unitree_g1_nav_simple does.

How to test

uv run dimos --simulation run unitree-g1-sim, click a goal or use WASD: the G1 walks.

AI assistance

Claude Code (Fable 5.1) assisted extensively with implementation, tests and the PR description under my direction. All hardware validation was done by me on the robot.

Checklist

* [ ]  I have read and approved the [CLA](https://github.com/dimensionalOS/dimos/blob/main/CLA.md).

What hardware validation was done haha, isn't this a sim only PR?

Merged via the queue into main with commit 8bfa120 Sep 15, 2026
30 of 31 checks passed
@aclauer
aclauer deleted the krishna/fix/rel-g1-sim-movement-manager branch September 15, 2026 23:48
@github-actions

Copy link
Copy Markdown
Contributor

Successfully created backport PR for release/0.0.14:

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

Labels

backport release/0.0.14 ready-to-merge Required CI checks have passed on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants