EMOS – The Embodied Operating System#

The open-source runtime for Physical AI.

EMOS turns a robot into a Physical AI Agent: one that sees, thinks, moves and adapts. The whole behavior lives in a single Python file called a Recipe, and the same Recipe runs on a wheeled AMR, a quadruped or a humanoid without a line changed.

_images/emos_any_robot_light.png _images/emos_any_robot_dark.png

Install EMOS Why EMOS? View on GitHub


What You Can Build#

Recipes cover every part of a Physical AI agent, from a conversation to a patrol.

Intelligent Agents

Wire vision, language, speech and memory into agentic workflows. Route requests by intent, answer questions about the surroundings, build a semantic map of the site, or let a decision model judge what to do next, all from one Python script.

See cognition recipes

Planning & Manipulation

Cortex, the agentic harness, turns a Recipe into an agent you talk to. It finds every capability the Recipe has, plans a goal as a sequence of tool calls, replans when one fails and writes the tools it is missing. VLAs handle end-to-end manipulation, with a VLM referee that stops an action once the task is done.

See planning recipes

Autonomous Navigation

GPU-accelerated planning and control for real-world mobility. Point-to-point navigation, multi-waypoint missions, path recording and vision-based following, across differential drive, Ackermann and omnidirectional platforms.

See navigation recipes

Runtime Adaptivity

Event-driven architecture lets agents reconfigure themselves at runtime. Hot-swap ML models on network failure, switch navigation algorithms when stuck, trigger recovery maneuvers from sensor events, or compose complex behaviors with logic gates.

See adaptivity recipes


A Recipe Is One Python File#

This is a complete Physical AI agent. It sees through a camera, reasons with a vision-language model and answers in text, and it runs as a managed ROS 2 lifecycle node:

from agents.clients.ollama import OllamaClient
from agents.components import VLM
from agents.models import OllamaModel
from agents.ros import Topic, Launcher

text_in  = Topic(name="text0", msg_type="String")
image_in = Topic(name="image_raw", msg_type="Image")
text_out = Topic(name="text1", msg_type="String")

model  = OllamaModel(name="qwen_vl", checkpoint="qwen2.5vl:latest")
client = OllamaClient(model)

vlm = VLM(
    inputs=[text_in, image_in],
    outputs=[text_out],
    model_client=client,
    trigger=text_in,
)

launcher = Launcher()
launcher.add_pkg(components=[vlm])
launcher.bringup()

A bigger Recipe is the same thing with more components wired together, and with the scenarios you want the robot to handle written next to them. The web UI comes for free, generated from the Recipe itself.

_images/emos_recipe_graph_light.png

Solid arrows show which component feeds which. Dashed red flags show what the robot should do when something happens.#

_images/emos_recipe_graph_dark.png

Solid arrows show which component feeds which. Dashed red flags show what the robot should do when something happens.#


What’s Inside#

EMOS is built on three open-source components:

Component

Role

EmbodiedAgents

Intelligence layer – perception, language, memory, Cortex and manipulation components

Kompass

Navigation layer – GPU-accelerated planning and control for any motion model

Sugarcoat

Architecture layer – the components, events and launch API everything else is built on

Every component in a Recipe comes from one of the three, and the emos CLI installs, updates and runs the lot.


Why EMOS

The problem EMOS solves – from custom R&D projects to universal, adaptive robot apps.

Why EMOS
Getting Started

Install EMOS and run your first Recipe in minutes.

Installation
Recipes & Tutorials

Build intelligent robot behaviors with step-by-step guides.

Recipes & Tutorials
Plugins & Mapping

Put EMOS on your robot with a plugin, and map the site with the robot itself.

Plugins
Core Concepts

Understand the architecture, components, events, and fallbacks.

Architecture
Dashboard

Zero-touch web console on the robot for browsing and running recipes.

EMOS Dashboard
CLI & Deployment

Package and run Recipes with the emos CLI.

EMOS CLI
AI-Assisted Coding

Get the llms.txt for your coding agent and let it write recipes for you.

llms.txt
API Reference

Every component, client and model, documented from the source.

API Reference