feat: roboplan integration#2478
Conversation
Codecov Report❌ Patch coverage is
Flags with carried forward coverage won't be shown. Click here to find out more.
... and 19 files with indirect coverage changes 🚀 New features to boost your workflow:
|
Greptile SummaryThis PR integrates RoboPlan as an optional world and planner backend alongside the existing Drake backend. A new
Confidence Score: 5/5Safe to merge; the RoboPlan backend is opt-in and the default Drake path is unchanged. All concerns flagged in previous review rounds are resolved in this version: SRDF temp dirs now use tempfile.TemporaryDirectory scoped to the world object, empty planner results are caught and returned as NO_SOLUTION, path waypoints always carry names from robot.config.joint_names, and every TypeError fallback attempt in _has_collisions is individually wrapped. The dependency URL is HTTPS (not SSH), so CI without SSH keys will work. The lock file pins to a specific commit, preserving reproducibility. The only remaining finding is a P2: obstacle.color is silently replaced with a hardcoded value. dimos/manipulation/planning/world/roboplan_world.py — the _call_first_obstacle_method ignores obstacle.color Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[ManipulationModuleConfig\nworld_backend / planner_name] --> B[validate_backend_combination]
B --> C{world_backend?}
C -->|drake| D[DrakeWorld]
C -->|roboplan| E[RoboPlanWorld]
E --> F{planner_name?}
D --> G{planner_name?}
F -->|rrt_connect| H[RRTConnectPlanner\nuses RoboPlanWorld collision checks]
F -->|roboplan| I[RoboPlanWorld\nacts as its own PlannerSpec]
G -->|rrt_connect| J[RRTConnectPlanner\nuses DrakeWorld]
I --> K[roboplan.rrt.RRT\nnative planner]
H --> L[PlanningResult]
J --> L
K --> L
Reviews (6): Last reviewed commit: "fix: continue RoboPlan collision fallbac..." | Re-trigger Greptile |
Integrate roboplan into manipulation module. One class implements roboplan's worldspec+plannerspec, achieving composition of
roboplan world+roboplan planner/generic planner.Better merge after #2413 since we resurfaced creation of world/planner specs.
Design choices:
How to Test
launch coordinator and pass argument for roboplan world/planner.
Contributor License Agreement