Skip to content

feat(teleop): add translation scaling - #3406

Open
ruthwikdasyam wants to merge 5 commits into
mainfrom
ruthwik/feat/teleop-scaling
Open

feat(teleop): add translation scaling#3406
ruthwikdasyam wants to merge 5 commits into
mainfrom
ruthwik/feat/teleop-scaling

Conversation

@ruthwikdasyam

@ruthwikdasyam ruthwikdasyam commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Contribution path

  • Small, safe change that does not need a tracking issue

Problem

Quest controller position deltas and hosted arm keyboard velocity commands have no consistent, UI-adjustable motion ratio.

Closes DIM-1261

Solution

Add a finite, positive translation_scale to QuestTeleopConfig, defaulting to 1.0, and apply it in the shared Quest pose-delta path. Add an opt-in enable_ui_scaling gate to the hosted arm command module. When enabled, the reliable state-plane command {"type":"teleop_scale","scale":<positive finite number>,"nonce":...} updates the active scale and returns a cmd_ack.

Hosted arms apply the scale to Quest position deltas and browser keyboard end-effector twists. Arm robot state reports teleop_scale; disabled or invalid UI requests are rejected. Orientation is unchanged. Go2 remains unchanged.

How to Test

uv run pytest dimos/teleop/hosted/test_arm_command.py dimos/teleop/hosted/test_go2_command.py dimos/teleop/quest/test_quest_teleop_module.py

AI assistance

OpenCode with gpt-5.6-terra implemented the change and tests; the author reviewed the implementation.

Checklist

  • I have read and approved the CLA.

@codecov

codecov Bot commented Aug 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.33962% with 3 lines in your changes missing coverage. Please review.
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
dimos/teleop/hosted/arm_command.py 82.35% 3 Missing ⚠️
@@           Coverage Diff           @@
##             main    #3406   +/-   ##
=======================================
  Coverage   76.09%   76.09%           
=======================================
  Files        1189     1190    +1     
  Lines      115284   115333   +49     
  Branches    10366    10368    +2     
=======================================
+ Hits        87720    87766   +46     
- Misses      24553    24556    +3     
  Partials     3011     3011           
Flag Coverage Δ
OS-ubuntu-24.04-arm 70.16% <94.33%> (+<0.01%) ⬆️
OS-ubuntu-latest 72.16% <94.33%> (+<0.01%) ⬆️
Py-3.10 72.15% <94.33%> (+<0.01%) ⬆️
Py-3.11 72.15% <94.33%> (+0.01%) ⬆️
Py-3.12 72.15% <94.33%> (+0.01%) ⬆️
Py-3.13 72.15% <94.33%> (-0.01%) ⬇️
Py-3.14 72.15% <94.33%> (+0.01%) ⬆️
Py-3.14t 72.14% <94.33%> (-0.01%) ⬇️
SelfHosted-Large 29.66% <28.30%> (+0.02%) ⬆️
SelfHosted-Linux 35.83% <28.30%> (-0.02%) ⬇️

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

Files with missing lines Coverage Δ
dimos/teleop/hosted/test_arm_command.py 99.43% <100.00%> (+0.03%) ⬆️
dimos/teleop/quest/quest_teleop_module.py 56.25% <100.00%> (+1.20%) ⬆️
dimos/teleop/quest/test_quest_teleop_module.py 100.00% <100.00%> (ø)
dimos/teleop/hosted/arm_command.py 81.90% <82.35%> (+0.04%) ⬆️

... and 8 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.

@ruthwikdasyam
ruthwikdasyam marked this pull request as ready for review August 8, 2026 21:20
@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Aug 8, 2026
@ruthwikdasyam

Copy link
Copy Markdown
Contributor Author

@greptile you alive?

@greptile-apps

greptile-apps Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Yep, alive and well! Anything you'd like me to look into on this PR?

@ruthwikdasyam

Copy link
Copy Markdown
Contributor Author

Yep, alive and well! Anything you'd like me to look into on this PR?

@greptile review pls

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

Labels

ready-to-merge Required CI checks have passed on this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant