Skip to content

EMOS v0.6.0

Choose a tag to compare

@github-actions github-actions released this 20 Mar 08:12

EMOS v0.6.0 — Built-in Local Models & Native Install Hardening

EMOS v0.6.0 focuses on offline resilience and installation reliability. Robots can now fall back to built-in local models when remote servers are unavailable — no cloud access, no external dependencies, just one line of code. The native installer and CLI have also been substantially hardened.


Built-in Local Models

EmbodiedAgents now ships with lightweight models that run directly on-device. No model server required.

Component Local Model Framework Default Checkpoint
LLM LocalLLM llama-cpp-python Qwen3 0.6B (GGUF)
VLM LocalVLM llama-cpp-python Moondream2 (GGUF)
SpeechToText LocalSTT sherpa-onnx Whisper tiny.en
TextToSpeech LocalTTS sherpa-onnx Kokoro EN
Vision LocalVision onnxruntime DEIM detector

Models are auto-downloaded from HuggingFace on first use. GPU-accelerated variants available for llama-cpp-python and onnxruntime.

Zero-Config Fallback

Two lines turn any remote-backed component into a self-healing one:

switch_to_local = Action(method=llm_component.fallback_to_local)
llm_component.on_component_fail(action=switch_to_local, max_retries=3)

If the cloud API drops, the component automatically switches to its built-in local model and keeps running. Works for LLM, VLM, STT, and TTS components.

Alternatively, enable local models directly in config with enable_local_model=True, or point to a custom checkpoint via local_model_path.

CLI Self-Update

emos update now checks for newer CLI releases on GitHub and replaces its own binary before updating the stack. No more re-running the install script to get CLI fixes.

Native Install Improvements

The native installer (emos install --mode native) received significant hardening:

  • Two-phase colcon build matching the Docker build pattern — localization dependencies first, then EMOS packages
  • Submodule handling — proper --recurse-submodules on clone and submodule update on pull
  • Package validation — verifies package.xml exists before attempting build
  • kompass-core GPU install integrated into the native flow

Enhanced emos status

Native mode status now performs deep health checks:

  • Verifies Python package imports (ros_sugar, agents, kompass, kompass_core) inside the ROS environment
  • Lists installed ROS packages (automatika_ros_sugar, automatika_embodied_agents, kompass, kompass_interfaces)
  • Clear per-package pass/fail output

Docker Images

Local model dependencies (llama-cpp-python, sherpa-onnx, onnxruntime, huggingface-hub) are now pre-installed in all EMOS Docker images. Multi-arch (amd64 + arm64) for Humble, Jazzy, and Kilted:

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

CI

New native-install.yml workflow tests the full native installation pipeline across Humble, Jazzy, and Kilted on every push to stack/.

Stack Updates

  • EmbodiedAgents: Local model support (LLM, VLM, STT, TTS, Vision), think-token stripping, developer docs
  • Kompass: v0.4.1, developer docs reorganization

Links