EMOS v0.5.0
EMOS v0.5.0 — The Embodied Operating System
EMOS is the missing operating system for Physical AI. It's the open-source layer that turns any robot — quadrupeds, humanoids, mobile platforms — into an intelligent agent that can see, think, move, and adapt. All from a single Python script.
Today we're releasing EMOS as a unified open-source platform for the first time.
The Problem
Building intelligent robots today means stitching together a dozen frameworks: one for perception, another for navigation, a third for manipulation, plus launch files, lifecycle management, failure recovery, and deployment tooling. Each piece speaks a different dialect. And when something fails at 2 AM on a security patrol, your robot just... stops.
The EMOS Approach
Write a Recipe. Deploy it on any robot. No code changes.
A Recipe is a pure Python script that describes a complete robot behavior — perception, reasoning, navigation, manipulation — wired together through a declarative component graph:
from agents.components import VLM, SpeechToText, TextToSpeech
from agents.clients.ollama import OllamaClient
from agents.models import OllamaModel, Whisper, SpeechT5
from agents.ros import Topic, Launcher
# A conversational robot that listens, sees, and speaks
audio_in = Topic(name="audio0", msg_type="Audio")
image_in = Topic(name="image_raw", msg_type="Image")
text_out = Topic(name="text1", msg_type="String")
stt = SpeechToText(inputs=[audio_in], outputs=[query], model_client=whisper_client, trigger=audio_in)
vlm = VLM(inputs=[query, image_in], outputs=[text_out], model_client=ollama_client, trigger=query)
tts = TextToSpeech(inputs=[text_out], outputs=[audio_out], model_client=tts_client, trigger=text_out)
launcher = Launcher()
launcher.add_pkg(components=[stt, vlm, tts])
launcher.bringup()Under the hood, each component runs as a managed ROS2 lifecycle node with health monitoring, automatic fallbacks, and event-driven reconfiguration. If the cloud API goes down, the system switches to a local model. If the navigation controller gets stuck, an event fires a recovery maneuver. Failure is a control flow state, not a crash.
What's Inside
EMOS unifies three battle-tested open-source frameworks into a single stack:
| Layer | Package | Highlights |
|---|---|---|
| Intelligence | EmbodiedAgents | LLMs, VLMs, VLAs, speech-to-text, text-to-speech, vision, semantic memory, semantic routing, tool calling |
| Navigation | Kompass | GPU-accelerated planning & control (up to 3,106x faster than CPU). Cross-vendor GPU support via SYCL — runs on NVIDIA, AMD, Intel |
| Foundation | Sugarcoat | Lifecycle-managed components, parallel event engine with microsecond reaction times, Pythonic launch API that replaces XML |
Each of these has been shipping independently for months. This release brings them together under one roof with a unified CLI and documentation.
The CLI
One binary. Full lifecycle management.
# Install
curl -sSL https://raw.githubusercontent.com/automatika-robotics/emos/main/stack/emos-cli/scripts/install.sh | sudo bash
# Set up EMOS (container mode — no ROS needed, or native mode for full integration)
emos install
# Discover, inspect, and run recipes
emos recipes
emos info vision_follower # AST-based sensor introspection — NEW in v0.5.0
emos run vision_followerTwo deployment modes:
- Container — Docker-based, no ROS 2 required. Pull and run in minutes.
- Native — Builds and installs directly into
/opt/ros/{distro}/. After setup, run recipes with justpython3 recipe.py.
20+ Ready-to-Use Recipes
The documentation includes complete, working recipes for:
- Conversational agents with speech I/O
- Visual question answering with prompt engineering
- Semantic routing for multi-capability agents
- Spatio-temporal semantic mapping
- Tool calling and function execution
- Vision-Language-Action (VLA) manipulation
- Point-to-point navigation with GPU-accelerated planning
- Vision-based target following (RGB and RGBD)
- Runtime model fallbacks and self-healing agents
- Event-driven cognition loops
- ...and more
Every recipe runs as-is. No glue code. No launch files.
Auto-Generated Web UI
Every recipe automatically gets a fully functional web dashboard — real-time telemetry, video feeds, component settings, and controls. Zero frontend code required.
AI-Friendly
EMOS publishes an llms.txt covering the full documentation. Feed it to Claude, GPT, or your preferred coding assistant and have it write Recipes for you.
Get Started
curl -sSL https://raw.githubusercontent.com/automatika-robotics/emos/main/stack/emos-cli/scripts/install.sh | sudo bash
emos install- Documentation: emos.automatikarobotics.com
- Quick Start: emos.automatikarobotics.com/getting-started/quickstart
- GitHub: github.com/automatika-robotics/emos
- Discord: discord.gg/B9ZU6qjzND
Docker Images
Multi-arch (amd64 + arm64) for Humble, Jazzy, and Kilted:
docker pull ghcr.io/automatika-robotics/emos:jazzy-latestLicense
MIT. Built in collaboration between Automatika Robotics and Inria. Contributions welcome.