Skip to content

EMOS v0.5.0

Choose a tag to compare

@github-actions github-actions released this 17 Mar 09:19

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_follower

Two 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 just python3 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

Docker Images

Multi-arch (amd64 + arm64) for Humble, Jazzy, and Kilted:

docker pull ghcr.io/automatika-robotics/emos:jazzy-latest

License

MIT. Built in collaboration between Automatika Robotics and Inria. Contributions welcome.