Skip to content

Commit 351c444

Browse files
committed
updated blueprints to use global ip config
1 parent f9e88da commit 351c444

2 files changed

Lines changed: 33 additions & 7 deletions

File tree

dimos/manipulation/blueprints.py

Lines changed: 27 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
from dimos.agents.mcp.mcp_server import McpServer
3434
from dimos.control.coordinator import ControlCoordinator
3535
from dimos.core.blueprints import autoconnect
36+
from dimos.core.global_config import global_config
3637
from dimos.core.transport import LCMTransport
3738
from dimos.hardware.sensors.camera.realsense.camera import RealSenseCamera
3839
from dimos.manipulation.manipulation_module import ManipulationModule
@@ -46,7 +47,11 @@
4647
from dimos.robot.foxglove_bridge import FoxgloveBridge # TODO: migrate to rerun
4748

4849
# Single XArm6 planner (standalone, no coordinator)
49-
_xarm6_planner_cfg = _catalog_xarm6(name="arm")
50+
_xarm6_planner_cfg = _catalog_xarm6(
51+
name="arm",
52+
adapter_type="xarm" if global_config.xarm6_ip else "mock",
53+
address=global_config.xarm6_ip or None,
54+
)
5055

5156
xarm6_planner_only = ManipulationModule.blueprint(
5257
robots=[_xarm6_planner_cfg.to_robot_model_config()],
@@ -61,8 +66,18 @@
6166

6267
# Dual XArm6 planner with coordinator integration
6368
# Usage: Start with coordinator_dual_mock, then plan/execute via RPC
64-
_left_arm_cfg = _catalog_xarm6(name="left_arm", y_offset=0.5)
65-
_right_arm_cfg = _catalog_xarm6(name="right_arm", y_offset=-0.5)
69+
_left_arm_cfg = _catalog_xarm6(
70+
name="left_arm",
71+
adapter_type="xarm" if global_config.xarm6_ip else "mock",
72+
address=global_config.xarm6_ip or None,
73+
y_offset=0.5,
74+
)
75+
_right_arm_cfg = _catalog_xarm6(
76+
name="right_arm",
77+
adapter_type="xarm" if global_config.xarm6_ip else "mock",
78+
address=global_config.xarm6_ip or None,
79+
y_offset=-0.5,
80+
)
6681

6782
dual_xarm6_planner = ManipulationModule.blueprint(
6883
robots=[
@@ -78,9 +93,13 @@
7893
)
7994

8095

81-
# Single XArm7 planner + mock coordinator (standalone, no external coordinator needed)
82-
# Usage: dimos run xarm7-planner-coordinator
83-
_xarm7_cfg = _catalog_xarm7(name="arm")
96+
# Single XArm7 planner + coordinator (uses real hardware when XARM7_IP is set)
97+
# Usage: XARM7_IP=<ip> dimos run xarm7-planner-coordinator
98+
_xarm7_cfg = _catalog_xarm7(
99+
name="arm",
100+
adapter_type="xarm" if global_config.xarm7_ip else "mock",
101+
address=global_config.xarm7_ip or None,
102+
)
84103

85104
xarm7_planner_coordinator = autoconnect(
86105
ManipulationModule.blueprint(
@@ -150,6 +169,8 @@
150169

151170
_xarm7_perception_cfg = _catalog_xarm7(
152171
name="arm",
172+
adapter_type="xarm" if global_config.xarm7_ip else "mock",
173+
address=global_config.xarm7_ip or None,
153174
pitch=math.radians(45),
154175
add_gripper=True,
155176
tf_extra_links=["link7"],

dimos/robot/manipulators/piper/blueprints.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,19 @@
2424

2525
from dimos.control.coordinator import ControlCoordinator
2626
from dimos.core.blueprints import autoconnect
27+
from dimos.core.global_config import global_config
2728
from dimos.core.transport import LCMTransport
2829
from dimos.manipulation.manipulation_module import ManipulationModule
2930
from dimos.msgs.geometry_msgs.PoseStamped import PoseStamped
3031
from dimos.msgs.sensor_msgs.JointState import JointState
3132
from dimos.robot.catalog.piper import PIPER_FK_MODEL, piper as _catalog_piper
3233
from dimos.teleop.keyboard.keyboard_teleop_module import KeyboardTeleopModule
3334

34-
_piper_cfg = _catalog_piper(name="arm")
35+
_piper_cfg = _catalog_piper(
36+
name="arm",
37+
adapter_type="piper" if global_config.can_port != "can0" else "mock",
38+
address=global_config.can_port,
39+
)
3540

3641
# Piper 6-DOF mock sim + keyboard teleop + Drake visualization
3742
keyboard_teleop_piper = autoconnect(

0 commit comments

Comments
 (0)