refactored manipulation blueprints for better organization#2553
refactored manipulation blueprints for better organization#2553mustafab0 wants to merge 4 commits into
Conversation
❌ 1 Tests Failed:
View the full list of 1 ❄️ flaky test(s)
To view more test analytics, go to the Test Analytics Dashboard |
Greptile SummaryThis PR reorganizes manipulation blueprints from scattered files (
Confidence Score: 5/5This is a well-structured refactoring with no functional regressions; all entry-point names are preserved, and simulation/CAN-port handling is correctly delegated to hardware helpers throughout. The refactoring consistently applies the new trajectory_task() / coordinator() / planner() helpers across xArm, OpenArm, A-750, and most of piper. The one inconsistency (piper basic coordinator hardcodes traj_piper rather than deriving via the helper) is a cosmetic/future-proofing concern that does not affect any currently registered blueprint. The previously flagged xArm task-name mismatch and the dual-arm simulation bypass have been addressed. dimos/robot/manipulators/piper/blueprints/basic.py — trajectory task name is inconsistent with the xArm pattern and would silently fail if a ManipulationModule planner is ever paired with this coordinator. Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
subgraph common["dimos.robot.manipulators.common"]
BP["blueprints.py\ntrajector_task / cartesian_ik_task\nteleop_ik_task / coordinator / planner"]
SIM["sim.py\nmujoco_if_sim()"]
MIXED["mixed.py\ncoordinator_piper_xarm\ncoordinator_teleop_dual"]
MOCK["mock.py\ncoordinator_mock\ncoordinator_dual_mock"]
end
subgraph xarm["dimos.robot.manipulators.xarm"]
XCFG["config.py\nxarm7_hardware / xarm6_hardware\nmake_xarm_model_config"]
XBASIC["blueprints/basic.py\ncoordinator_xarm7/6\nxarm7_planner_coordinator"]
XTELEOP["blueprints/teleop.py\ncoordinator_teleop_xarm7/6"]
XAGENT["blueprints/agentic.py\nxarm_perception_agent"]
end
subgraph piper["dimos.robot.manipulators.piper"]
PCFG["config.py\npiper_hardware\nmake_piper_model_config"]
PBASIC["blueprints/basic.py\ncoordinator_piper"]
PTELEOP["blueprints/teleop.py\ncoordinator_teleop_piper"]
end
ALL["robot/all_blueprints.py\nentry-point registry"]
BP --> XBASIC & XTELEOP & PBASIC & PTELEOP
SIM --> XBASIC & XTELEOP & PBASIC & PTELEOP
XCFG --> XBASIC & XTELEOP & MIXED
PCFG --> PBASIC & PTELEOP & MIXED
XBASIC --> XAGENT
XBASIC & XTELEOP & PBASIC & PTELEOP & MIXED & MOCK --> ALL
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
subgraph common["dimos.robot.manipulators.common"]
BP["blueprints.py\ntrajector_task / cartesian_ik_task\nteleop_ik_task / coordinator / planner"]
SIM["sim.py\nmujoco_if_sim()"]
MIXED["mixed.py\ncoordinator_piper_xarm\ncoordinator_teleop_dual"]
MOCK["mock.py\ncoordinator_mock\ncoordinator_dual_mock"]
end
subgraph xarm["dimos.robot.manipulators.xarm"]
XCFG["config.py\nxarm7_hardware / xarm6_hardware\nmake_xarm_model_config"]
XBASIC["blueprints/basic.py\ncoordinator_xarm7/6\nxarm7_planner_coordinator"]
XTELEOP["blueprints/teleop.py\ncoordinator_teleop_xarm7/6"]
XAGENT["blueprints/agentic.py\nxarm_perception_agent"]
end
subgraph piper["dimos.robot.manipulators.piper"]
PCFG["config.py\npiper_hardware\nmake_piper_model_config"]
PBASIC["blueprints/basic.py\ncoordinator_piper"]
PTELEOP["blueprints/teleop.py\ncoordinator_teleop_piper"]
end
ALL["robot/all_blueprints.py\nentry-point registry"]
BP --> XBASIC & XTELEOP & PBASIC & PTELEOP
SIM --> XBASIC & XTELEOP & PBASIC & PTELEOP
XCFG --> XBASIC & XTELEOP & MIXED
PCFG --> PBASIC & PTELEOP & MIXED
XBASIC --> XAGENT
XBASIC & XTELEOP & PBASIC & PTELEOP & MIXED & MOCK --> ALL
Reviews (2): Last reviewed commit: "fixed greptile comments" | Re-trigger Greptile |
Problem
Manipulation blueprints have been all over the place as the project has evolved
Closes DIM-1033
Solution
refactored blueprint to match existing robot blueprint format
Contributor License Agreement