Skip to content

feat(manipulation): simplify RoboPlan joint paths - #3325

Open
TomCC7 wants to merge 5 commits into
mainfrom
feat/cc/roboplan-simplify-path
Open

feat(manipulation): simplify RoboPlan joint paths#3325
TomCC7 wants to merge 5 commits into
mainfrom
feat/cc/roboplan-simplify-path

Conversation

@TomCC7

@TomCC7 TomCC7 commented Aug 2, 2026

Copy link
Copy Markdown
Member

Contribution path

  • Small, safe change that does not need a tracking issue
  • Linked issue or discussion: N/A

Problem

RoboPlan returns valid native joint-space RRT paths without applying its optional collision-aware shortcutting pass. The DimOS adapter did not expose the shortcutting settings, so users could not enable, tune, or disable path simplification through planner configuration.

Solution

Configure RoboPlan path shortcutting on the existing RoboPlanWorld class and apply it before converting native paths to DimOS joint states.

  • Enable shortcutting by default with RoboPlan-compatible typed settings under planner.path_shortcutting.
  • Forward all settings to PathShortcuttingOptions.
  • Preserve the original valid RRT path if shortcutting raises an error, returns an empty path, or changes either endpoint.
  • Keep configuration fixed once the world is finalized.
  • Document the current dynamic CLI syntax.

The implementation keeps the existing planner class and runs shortcutting under the scene lock used by native planning.

How to Test

uv run dimos run dual-xarm6-planner-coordinator and see how path got simpler now

AI assistance

OpenAI Codex with GPT-5 assisted substantially with implementation, unit tests, review cleanup, and PR text.

Checklist

  • I have read and approved the CLA.

@mintlify

mintlify Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
dimensional 🟢 Ready View Preview Aug 2, 2026, 1:57 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@codecov

codecov Bot commented Aug 2, 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    #3325      +/-   ##
==========================================
+ Coverage   75.46%   75.48%   +0.02%     
==========================================
  Files        1157     1157              
  Lines      111276   111390     +114     
  Branches    10073    10078       +5     
==========================================
+ Hits        83971    84085     +114     
- Misses      24417    24418       +1     
+ Partials     2888     2887       -1     
Flag Coverage Δ
OS-ubuntu-24.04-arm 69.49% <100.00%> (+0.02%) ⬆️
OS-ubuntu-latest 71.54% <100.00%> (+0.02%) ⬆️
Py-3.10 71.53% <100.00%> (+0.03%) ⬆️
Py-3.11 71.53% <100.00%> (+0.02%) ⬆️
Py-3.12 71.53% <100.00%> (+0.02%) ⬆️
Py-3.13 71.53% <100.00%> (+0.03%) ⬆️
Py-3.14 71.54% <100.00%> (+0.02%) ⬆️
Py-3.14t 71.53% <100.00%> (+0.02%) ⬆️
SelfHosted-Large 29.59% <24.80%> (-0.01%) ⬇️
SelfHosted-Linux 35.91% <25.58%> (-0.03%) ⬇️

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

Files with missing lines Coverage Δ
dimos/manipulation/planning/factory.py 77.77% <100.00%> (+2.46%) ⬆️
dimos/manipulation/planning/planners/config.py 100.00% <100.00%> (ø)
...imos/manipulation/planning/planners/test_config.py 100.00% <100.00%> (ø)
...imos/manipulation/planning/world/roboplan_world.py 81.40% <100.00%> (+0.99%) ⬆️
dimos/manipulation/test_planning_factory.py 98.01% <100.00%> (-0.02%) ⬇️
dimos/manipulation/test_roboplan_world.py 98.54% <100.00%> (+0.12%) ⬆️

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

Comment thread dimos/manipulation/planning/world/roboplan_world.py Outdated
Comment thread dimos/manipulation/planning/factory.py Outdated
Comment thread dimos/manipulation/planning/world/roboplan_world.py Outdated
@TomCC7
TomCC7 marked this pull request as ready for review August 2, 2026 02:17
@TomCC7
TomCC7 enabled auto-merge August 2, 2026 02:17
@github-actions github-actions Bot added the ready-to-merge Required CI checks have passed on this PR label Aug 2, 2026
@github-actions github-actions Bot added ready-to-merge Required CI checks have passed on this PR and removed ready-to-merge Required CI checks have passed on this PR labels Aug 3, 2026
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.

2 participants