|
33 | 33 | from dimos.agents.mcp.mcp_server import McpServer |
34 | 34 | from dimos.control.coordinator import ControlCoordinator |
35 | 35 | from dimos.core.blueprints import autoconnect |
| 36 | +from dimos.core.global_config import global_config |
36 | 37 | from dimos.core.transport import LCMTransport |
37 | 38 | from dimos.hardware.sensors.camera.realsense.camera import RealSenseCamera |
38 | 39 | from dimos.manipulation.manipulation_module import ManipulationModule |
|
46 | 47 | from dimos.robot.foxglove_bridge import FoxgloveBridge # TODO: migrate to rerun |
47 | 48 |
|
48 | 49 | # 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 | +) |
50 | 55 |
|
51 | 56 | xarm6_planner_only = ManipulationModule.blueprint( |
52 | 57 | robots=[_xarm6_planner_cfg.to_robot_model_config()], |
|
61 | 66 |
|
62 | 67 | # Dual XArm6 planner with coordinator integration |
63 | 68 | # 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 | +) |
66 | 81 |
|
67 | 82 | dual_xarm6_planner = ManipulationModule.blueprint( |
68 | 83 | robots=[ |
|
78 | 93 | ) |
79 | 94 |
|
80 | 95 |
|
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 | +) |
84 | 103 |
|
85 | 104 | xarm7_planner_coordinator = autoconnect( |
86 | 105 | ManipulationModule.blueprint( |
|
150 | 169 |
|
151 | 170 | _xarm7_perception_cfg = _catalog_xarm7( |
152 | 171 | name="arm", |
| 172 | + adapter_type="xarm" if global_config.xarm7_ip else "mock", |
| 173 | + address=global_config.xarm7_ip or None, |
153 | 174 | pitch=math.radians(45), |
154 | 175 | add_gripper=True, |
155 | 176 | tf_extra_links=["link7"], |
|
0 commit comments