Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions dimos/agents/agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -259,8 +259,3 @@ def _append_image_to_history(agent: Agent, skill: SkillInfo, uuid_: str, result:
]
)
)


agent = Agent.blueprint

__all__ = ["Agent", "AgentSpec", "agent"]
4 changes: 2 additions & 2 deletions dimos/agents/demo_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

from dimos.agents.agent import Agent
from dimos.core.blueprints import autoconnect
from dimos.hardware.sensors.camera.module import camera_module
from dimos.hardware.sensors.camera.module import CameraModule
from dimos.hardware.sensors.camera.webcam import Webcam
from dimos.hardware.sensors.camera.zed import compat as zed

Expand All @@ -31,7 +31,7 @@ def _create_webcam() -> Webcam:

demo_agent_camera = autoconnect(
Agent.blueprint(),
camera_module(
CameraModule.blueprint(
hardware=_create_webcam,
),
)
5 changes: 0 additions & 5 deletions dimos/agents/mcp/mcp_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,8 +304,3 @@ def _append_image_to_history(
]
)
)


mcp_client = McpClient.blueprint

__all__ = ["McpClient", "McpClientConfig", "mcp_client"]
5 changes: 0 additions & 5 deletions dimos/agents/skills/demo_calculator_skill.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,3 @@ def sum_numbers(self, n1: int, n2: int, *args: int, **kwargs: int) -> str:
"""

return f"{int(n1) + int(n2)}"


demo_calculator_skill = DemoCalculatorSkill.blueprint

__all__ = ["DemoCalculatorSkill", "demo_calculator_skill"]
12 changes: 6 additions & 6 deletions dimos/agents/skills/demo_google_maps_skill.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from dimos.agents.agent import agent
from dimos.agents.skills.demo_robot import demo_robot
from dimos.agents.skills.google_maps_skill_container import google_maps_skill
from dimos.agents.agent import Agent
from dimos.agents.skills.demo_robot import DemoRobot
from dimos.agents.skills.google_maps_skill_container import GoogleMapsSkillContainer
from dimos.core.blueprints import autoconnect

demo_google_maps_skill = autoconnect(
demo_robot(),
google_maps_skill(),
agent(),
DemoRobot.blueprint(),
GoogleMapsSkillContainer.blueprint(),
Agent.blueprint(),
)
12 changes: 6 additions & 6 deletions dimos/agents/skills/demo_gps_nav.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from dimos.agents.agent import agent
from dimos.agents.skills.demo_robot import demo_robot
from dimos.agents.skills.gps_nav_skill import gps_nav_skill
from dimos.agents.agent import Agent
from dimos.agents.skills.demo_robot import DemoRobot
from dimos.agents.skills.gps_nav_skill import GpsNavSkillContainer
from dimos.core.blueprints import autoconnect

demo_gps_nav = autoconnect(
demo_robot(),
gps_nav_skill(),
agent(),
DemoRobot.blueprint(),
GpsNavSkillContainer.blueprint(),
Agent.blueprint(),
)
6 changes: 0 additions & 6 deletions dimos/agents/skills/demo_robot.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,3 @@ def stop(self) -> None:

def _publish_gps_location(self) -> None:
self.gps_location.publish(LatLon(lat=37.78092426217621, lon=-122.40682866540769))


demo_robot = DemoRobot.blueprint


__all__ = ["DemoRobot", "demo_robot"]
8 changes: 4 additions & 4 deletions dimos/agents/skills/demo_skill.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@
# See the License for the specific language governing permissions and
# limitations under the License.

from dimos.agents.agent import agent
from dimos.agents.skills.demo_calculator_skill import demo_calculator_skill
from dimos.agents.agent import Agent
from dimos.agents.skills.demo_calculator_skill import DemoCalculatorSkill
from dimos.core.blueprints import autoconnect

demo_skill = autoconnect(
demo_calculator_skill(),
agent(),
DemoCalculatorSkill.blueprint(),
Agent.blueprint(),
)
5 changes: 0 additions & 5 deletions dimos/agents/skills/google_maps_skill_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,3 @@ def get_gps_position_for_queries(self, queries: list[str]) -> str:
results.append(f"no result for {query}")

return json.dumps(results)


google_maps_skill = GoogleMapsSkillContainer.blueprint

__all__ = ["GoogleMapsSkillContainer", "google_maps_skill"]
6 changes: 0 additions & 6 deletions dimos/agents/skills/gps_nav_skill.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,9 +98,3 @@ def _convert_point(self, point: dict[str, float]) -> LatLon | None:
return None

return LatLon(lat=lat, lon=lon)


gps_nav_skill = GpsNavSkillContainer.blueprint


__all__ = ["GpsNavSkillContainer", "gps_nav_skill"]
5 changes: 0 additions & 5 deletions dimos/agents/skills/navigation.py
Original file line number Diff line number Diff line change
Expand Up @@ -321,8 +321,3 @@ def _get_goal_pose_from_result(self, result: dict[str, Any]) -> PoseStamped | No
orientation=Quaternion.from_euler(make_vector3(0, 0, theta)),
frame_id="map",
)


navigation_skill = NavigationSkillContainer.blueprint

__all__ = ["NavigationSkillContainer", "navigation_skill"]
5 changes: 0 additions & 5 deletions dimos/agents/skills/osm.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,8 +78,3 @@ def map_query(self, query_sentence: str) -> str:
distance = int(distance_in_meters(latlon, self._latest_location)) # type: ignore[arg-type]

return f"{context}. It's at position latitude={latlon.lat}, longitude={latlon.lon}. It is {distance} meters away."


osm_skill = OsmSkill.blueprint

__all__ = ["OsmSkill", "osm_skill"]
5 changes: 0 additions & 5 deletions dimos/agents/skills/person_follow.py
Original file line number Diff line number Diff line change
Expand Up @@ -311,8 +311,3 @@ def _send_stop_reason(self, query: str, reason: str) -> None:
def _decode_base64_image(b64: str) -> Image:
bgr_array = TurboJPEG().decode(base64.b64decode(b64))
return Image(data=bgr_array, format=ImageFormat.BGR)


person_follow_skill = PersonFollowSkillContainer.blueprint

__all__ = ["PersonFollowSkillContainer", "person_follow_skill"]
5 changes: 0 additions & 5 deletions dimos/agents/skills/speak_skill.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,3 @@ def set_as_complete_e(_e: Exception) -> None:
subscription.dispose()

return f"Spoke: {text}"


speak_skill = SpeakSkill.blueprint

__all__ = ["SpeakSkill", "speak_skill"]
5 changes: 0 additions & 5 deletions dimos/agents/vlm_agent.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,8 +121,3 @@ def query_image(
response = self._invoke_image(image, query, response_format=response_format)
content = response.content
return content if isinstance(content, str) else str(content)


vlm_agent = VLMAgent.blueprint

__all__ = ["VLMAgent", "vlm_agent"]
5 changes: 0 additions & 5 deletions dimos/agents/vlm_stream_tester.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,8 +173,3 @@ def _run_rpc_queries(self) -> None:
except Exception as exc:
logger.warning("RPC query_image failed", error=str(exc))
time.sleep(self._query_interval_s)


vlm_stream_tester = VlmStreamTester.blueprint

__all__ = ["VlmStreamTester", "vlm_stream_tester"]
5 changes: 0 additions & 5 deletions dimos/agents/web_human_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,3 @@ def stop(self) -> None:
if self._human_transport:
self._human_transport.lcm.stop()
super().stop()


web_input = WebInput.blueprint

__all__ = ["WebInput", "web_input"]
4 changes: 2 additions & 2 deletions dimos/control/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ dimos/control/
## Configuration

```python
from dimos.control import control_coordinator, HardwareComponent, TaskConfig
from dimos.control import ControlCoordinator, HardwareComponent, TaskConfig

my_robot = control_coordinator(
my_robot = ControlCoordinator.blueprint(
tick_rate=100.0,
hardware=[
HardwareComponent(
Expand Down
12 changes: 6 additions & 6 deletions dimos/control/blueprints/basic.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@
from __future__ import annotations

from dimos.control.blueprints._hardware import mock_arm, piper, xarm6, xarm7
from dimos.control.coordinator import TaskConfig, control_coordinator
from dimos.control.coordinator import ControlCoordinator, TaskConfig
from dimos.core.transport import LCMTransport
from dimos.msgs.sensor_msgs.JointState import JointState

# Minimal blueprint (no hardware, no tasks)
coordinator_basic = control_coordinator(
coordinator_basic = ControlCoordinator.blueprint(
tick_rate=100.0,
publish_joint_state=True,
joint_state_frame_id="coordinator",
Expand All @@ -40,7 +40,7 @@
)

# Mock 7-DOF arm (for testing)
coordinator_mock = control_coordinator(
coordinator_mock = ControlCoordinator.blueprint(
hardware=[mock_arm()],
tasks=[
TaskConfig(
Expand All @@ -57,7 +57,7 @@
)

# XArm7 real hardware
coordinator_xarm7 = control_coordinator(
coordinator_xarm7 = ControlCoordinator.blueprint(
hardware=[xarm7()],
tasks=[
TaskConfig(
Expand All @@ -74,7 +74,7 @@
)

# XArm6 real hardware
coordinator_xarm6 = control_coordinator(
coordinator_xarm6 = ControlCoordinator.blueprint(
hardware=[xarm6()],
tasks=[
TaskConfig(
Expand All @@ -91,7 +91,7 @@
)

# Piper arm (6-DOF, CAN bus)
coordinator_piper = control_coordinator(
coordinator_piper = ControlCoordinator.blueprint(
hardware=[piper()],
tasks=[
TaskConfig(
Expand Down
8 changes: 4 additions & 4 deletions dimos/control/blueprints/dual.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@
from __future__ import annotations

from dimos.control.blueprints._hardware import mock_arm, piper, xarm6, xarm7
from dimos.control.coordinator import TaskConfig, control_coordinator
from dimos.control.coordinator import ControlCoordinator, TaskConfig
from dimos.core.transport import LCMTransport
from dimos.msgs.sensor_msgs.JointState import JointState

# Dual mock arms (7-DOF left, 6-DOF right)
coordinator_dual_mock = control_coordinator(
coordinator_dual_mock = ControlCoordinator.blueprint(
hardware=[mock_arm("left_arm", 7), mock_arm("right_arm", 6)],
tasks=[
TaskConfig(
Expand All @@ -51,7 +51,7 @@
)

# Dual XArm (XArm7 left, XArm6 right)
coordinator_dual_xarm = control_coordinator(
coordinator_dual_xarm = ControlCoordinator.blueprint(
hardware=[xarm7("left_arm"), xarm6("right_arm")],
tasks=[
TaskConfig(
Expand All @@ -74,7 +74,7 @@
)

# Dual arm (XArm6 + Piper)
coordinator_piper_xarm = control_coordinator(
coordinator_piper_xarm = ControlCoordinator.blueprint(
hardware=[xarm6("xarm_arm"), piper("piper_arm")],
tasks=[
TaskConfig(
Expand Down
6 changes: 3 additions & 3 deletions dimos/control/blueprints/mobile.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,15 +23,15 @@

from dimos.control.blueprints._hardware import mock_arm, mock_twist_base
from dimos.control.components import make_twist_base_joints
from dimos.control.coordinator import TaskConfig, control_coordinator
from dimos.control.coordinator import ControlCoordinator, TaskConfig
from dimos.core.transport import LCMTransport
from dimos.msgs.geometry_msgs.Twist import Twist
from dimos.msgs.sensor_msgs.JointState import JointState

_base_joints = make_twist_base_joints("base")

# Mock holonomic twist base (3-DOF: vx, vy, wz)
coordinator_mock_twist_base = control_coordinator(
coordinator_mock_twist_base = ControlCoordinator.blueprint(
hardware=[mock_twist_base()],
tasks=[
TaskConfig(
Expand All @@ -49,7 +49,7 @@
)

# Mock arm (7-DOF) + mock holonomic base (3-DOF)
coordinator_mobile_manip_mock = control_coordinator(
coordinator_mobile_manip_mock = ControlCoordinator.blueprint(
hardware=[mock_arm(), mock_twist_base()],
tasks=[
TaskConfig(
Expand Down
18 changes: 9 additions & 9 deletions dimos/control/blueprints/teleop.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@
xarm7,
)
from dimos.control.components import make_gripper_joints
from dimos.control.coordinator import TaskConfig, control_coordinator
from dimos.control.coordinator import ControlCoordinator, TaskConfig
from dimos.core.transport import LCMTransport
from dimos.msgs.geometry_msgs.PoseStamped import PoseStamped
from dimos.msgs.sensor_msgs.JointState import JointState
from dimos.teleop.quest.quest_types import Buttons

# XArm6 teleop - streaming position control
coordinator_teleop_xarm6 = control_coordinator(
coordinator_teleop_xarm6 = ControlCoordinator.blueprint(
hardware=[xarm6()],
tasks=[
TaskConfig(
Expand All @@ -62,7 +62,7 @@
)

# XArm6 velocity control - streaming velocity for joystick
coordinator_velocity_xarm6 = control_coordinator(
coordinator_velocity_xarm6 = ControlCoordinator.blueprint(
hardware=[xarm6()],
tasks=[
TaskConfig(
Expand All @@ -80,7 +80,7 @@
)

# XArm6 combined (servo + velocity tasks)
coordinator_combined_xarm6 = control_coordinator(
coordinator_combined_xarm6 = ControlCoordinator.blueprint(
hardware=[xarm6()],
tasks=[
TaskConfig(
Expand All @@ -105,7 +105,7 @@


# Mock 6-DOF arm with CartesianIK
coordinator_cartesian_ik_mock = control_coordinator(
coordinator_cartesian_ik_mock = ControlCoordinator.blueprint(
hardware=[mock_arm("arm", 6)],
tasks=[
TaskConfig(
Expand All @@ -127,7 +127,7 @@
)

# Piper arm with CartesianIK
coordinator_cartesian_ik_piper = control_coordinator(
coordinator_cartesian_ik_piper = ControlCoordinator.blueprint(
hardware=[piper()],
tasks=[
TaskConfig(
Expand All @@ -150,7 +150,7 @@


# Single XArm7 with TeleopIK
coordinator_teleop_xarm7 = control_coordinator(
coordinator_teleop_xarm7 = ControlCoordinator.blueprint(
hardware=[xarm7(gripper=True)],
tasks=[
TaskConfig(
Expand All @@ -177,7 +177,7 @@
)

# Single Piper with TeleopIK
coordinator_teleop_piper = control_coordinator(
coordinator_teleop_piper = ControlCoordinator.blueprint(
hardware=[piper()],
tasks=[
TaskConfig(
Expand All @@ -201,7 +201,7 @@
)

# Dual arm teleop: XArm6 + Piper with TeleopIK
coordinator_teleop_dual = control_coordinator(
coordinator_teleop_dual = ControlCoordinator.blueprint(
hardware=[xarm6("xarm_arm"), piper("piper_arm")],
tasks=[
TaskConfig(
Expand Down
Loading
Loading