EmbodiedAgents Developer Docs

EmbodiedAgents is the intelligence layer of the EMOS ecosystem. It provides AI component abstractions, model client integrations, and semantic memory for building physical AI agents on ROS 2.

This site contains developer documentation for contributors extending the framework with new components, clients, models, or message types.

Looking for usage documentation?

Tutorials, installation guides, and usage documentation are on the EMOS Documentation site.


Understand the Framework

Architecture

Component hierarchy, the _execution_step() pattern, input/output validation, trigger system, and the model/client/component layering.

Architecture Overview

Extend & Customize

Custom Components

Build new AI components with managed I/O, trigger wiring, and model client integration.

Creating a Custom Component
Custom Model Clients

Integrate new inference backends by implementing the ModelClient or DBClient contracts.

Creating a Custom Model Client
Custom Models

Wrap new model serving platforms with attrs-based model specs and initialization parameters.

Creating a Custom Model Wrapper
Custom Message Types

Define new ROS messages, callbacks, and SupportedType wrappers for the type system.

Custom ROS Message Types
Adding a New Modality

End-to-end guide: wire a new data modality from ROS message through callback, type wrapper, config, and component.

Adding a New Modality End-to-End
Advanced Components

Health status, fallback recovery, model client hot-swapping, local model fallbacks, and the event/action system.

Advanced: Health Status, Fallbacks & Events