Skip to content

fix(g1): give the teleop arm model the acceleration limit the planner… - #4148

Merged
KrishnaH96 merged 4 commits into
mainfrom
krishna/fix/rel-g1-teleop-accel-limit
Sep 15, 2026
Merged

KrishnaH96 merged 4 commits into
mainfrom
krishna/fix/rel-g1-teleop-accel-limit

Conversation

@KrishnaH96

Copy link
Copy Markdown
Contributor

Problem

unitree-g1-groot-wbc and unitree-g1-teleop cannot start: "ControlCoordinator/start: Joint 'g1/left_shoulder_pitch' is missing an acceleration limit". Sim and hardware.

Root cause

#3844 made joint acceleration limits mandatory and added the default to G1_MANIPULATION_MODEL, but not to G1_TELEOP_ARM_MODEL, which the GR00T blueprint hands to the coordinator. The same PR removed the test that pinned that model.

Solution

G1_TELEOP_ARM_MODEL gets .with_default_joint_acceleration_limit(2.0), same value as the manipulation model. Test prepares the GR00T model config through the planner validation.

How to test

uv run dimos --simulation mujoco run unitree-g1-groot-wbc starts and the G1 stands.
uv run pytest dimos/robot/unitree/g1/test_g1_teleop.py

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.

TomCC7
TomCC7 previously approved these changes Sep 14, 2026
@greptile-apps

greptile-apps Bot commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

No blocking issue was identified in the change, but the focused startup preparation check could not complete without git-lfs.

What we checked:

  • Authored a narrow probe that imports the actual G1 GR00T WBC coordinator model and invokes planning preparation. T-Rex
  • Ran the probe under both the production configuration and a version with the acceleration default removed to compare behavior. T-Rex
  • Observed that both runs halted during LFS-backed model resolution with the error RuntimeError: Missing required tools: git-lfs, as shown in the linked logs. T-Rex

Summary

This change gives the G1 teleoperation arm model the planner-required default joint acceleration limit and adds focused planning-preparation coverage for the coordinator model.

T-Rex validation blocked

The focused G1 planning-preparation check could not reach joint-space validation because resolving the LFS-backed G1 URDF requires the unavailable git-lfs executable.

Reviews (1) · Last reviewed commit: "fix(g1): give the teleop arm model the a..."

aclauer
aclauer previously approved these changes Sep 14, 2026
@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    #4148   +/-   ##
=======================================
  Coverage   79.05%   79.06%           
=======================================
  Files        1466     1466           
  Lines      138916   138920    +4     
  Branches    11962    11962           
=======================================
+ Hits       109825   109831    +6     
+ Misses      25688    25684    -4     
- Partials     3403     3405    +2     
Components Coverage Δ
Tests 94.99% <100.00%> (-0.01%) ⬇️
Flag Coverage Δ
OS-ubuntu-24.04-arm 75.02% <75.00%> (+<0.01%) ⬆️
OS-ubuntu-latest 75.71% <75.00%> (-0.01%) ⬇️
Py-3.10 75.49% <75.00%> (-0.01%) ⬇️
Py-3.11 75.69% <75.00%> (-0.01%) ⬇️
Py-3.12 75.70% <75.00%> (+<0.01%) ⬆️
SelfHosted-Large 30.75% <75.00%> (-0.01%) ⬇️
SelfHosted-Linux 36.20% <100.00%> (+<0.01%) ⬆️
SelfHosted-macOS 35.53% <100.00%> (+<0.01%) ⬆️

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

Files with missing lines Coverage Δ
dimos/robot/unitree/g1/manip_config.py 100.00% <ø> (ø)
dimos/robot/unitree/g1/test_g1_teleop.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.

@KrishnaH96
KrishnaH96 dismissed stale reviews from aclauer and TomCC7 via 1e510c9 September 15, 2026 02:50
@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

@TomCC7 @aclauer the only change since your approvals moves the new test to the self-hosted runner, it needs the LFS URDF. Could you re-approve? Auto-merge is armed.

@TomCC7
TomCC7 added this pull request to the merge queue Sep 15, 2026
@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Sep 15, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Sep 15, 2026
@KrishnaH96
KrishnaH96 added this pull request to the merge queue Sep 15, 2026
Merged via the queue into main with commit de19e89 Sep 15, 2026
42 of 49 checks passed
@KrishnaH96
KrishnaH96 deleted the krishna/fix/rel-g1-teleop-accel-limit branch September 15, 2026 23:25
@github-actions

Copy link
Copy Markdown
Contributor

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.

3 participants