fix(manipulation): upgrade RoboPlan to 0.6 - #3370
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
Greptile SummaryThis PR upgrades the manipulation stack to RoboPlan 0.6 and aligns DimOS with its revised Cartesian-planning API.
Confidence Score: 5/5The PR appears safe to merge with no actionable defects identified in the changed behavior. The dependency declaration and lockfile are synchronized, removed options are consistently dropped from configuration and adapter forwarding, and the intentional default-mode change remains explicitly overridable for callers requiring Cartesian caps. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart LR
A[Cartesian targets] --> B[RoboPlanCartesianPathConfig]
B --> C[Resolve geometric joint path]
C --> D[TOPP-RA timing]
D --> E{Speed mode}
E -->|time_optimal default| F[Joint-limit-constrained trajectory]
E -->|bounded opt-in| G[Retimed for Cartesian caps]
F --> H[DimOS trajectory conversion]
G --> H
Reviews (1): Last reviewed commit: "fix(manipulation): default Cartesian pla..." | Re-trigger Greptile |
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## main #3370 +/- ##
==========================================
- Coverage 75.80% 75.79% -0.01%
==========================================
Files 1172 1172
Lines 113568 113548 -20
Branches 10258 10257 -1
==========================================
- Hits 86090 86064 -26
- Misses 24492 24495 +3
- Partials 2986 2989 +3
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 5 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Contribution path
Problem
RoboPlan 0.6.0 removed two Cartesian planner options and changed Cartesian planning to resolve a geometric joint path before TOPP-RA timing. DimOS still exposed and forwarded the removed options, so upgrading the dependency would fail before planning.
DimOS also defaulted Cartesian requests to bounded mode. RoboPlan 0.6 implements bounded mode by globally slowing and re-timing the initial TOPP-RA trajectory to meet Cartesian caps, which made default Viser trajectories unnecessarily slow.
Solution
limit_ratio_toleranceandmax_attempts_per_stepfrom the DimOS Cartesian path configuration and adapter.toppra_blend_deviationas non-negative.time_optimalthe default speed mode; callers can still opt intoboundedwhen they require Cartesian speed and acceleration caps.How to Test
Run the real RoboPlan 0.6.0 Cartesian integration tests:
Additional validation completed:
uv run pytest dimos/manipulation -m 'not (self_hosted or mujoco or self_hosted_large)'AI assistance
Codex with GPT-5 investigated the upstream API change, implemented the migration, updated tests and documentation, ran validation, and drafted this PR description. The author should review and understand every change before merging.
Checklist