Skip to content

syswonder/robonix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

860 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robonix

Robonix — The Embodied AI Operating System

An EAIOS that turns the robot body into a uniform, capability-first runtime — so models, sensors, and actuators plug in once and reuse everywhere.

License Contributors Code size Repo size Top language


robonix-v0.1-demo-github.mp4

Status

Warning

Robonix is in early development. APIs, IDL layouts, and internal designs may change without notice. No API stability until a versioned release.

What it is

Robonix is the operating system between a robot's hardware and an embodied LLM/VLM/VLA/WAM brain. It standardises how device drivers, runtime services, user skills, and the planner discover and talk to each other; it owns identity, configuration, time, transport, logging, health, body model, scene model, execution, and safety as named, replaceable components.

Component Responsibility Status (v0.1)
atlas Capability discovery: the catalog of every registered capability and its contract Implemented
chronos Unified time source with PTP / IEEE-1588 alignment across sensors and hosts Stub
executor Plan execution: validates Pilot plans and dispatches each step to capability providers Implemented
keystone Body identity, persistent configuration, and policy Stub
liaison Human–machine interaction gateway: chat, voice, and TUI Implemented
nexus Transport libraries for gRPC / MCP / ROS 2 (a library, not a process) Implemented
pilot VLM-driven planning and decision making, memory, and world model Implemented
scene Live environment estimate: object registry, semantic relations, and occupancy grid Implemented
scribe Structured, persistent, replayable system journal for audit Stub
sentinel Safety supervision over capability calls Merged into executor
soma Body model: device topology and primitive abstraction Stub
vitals Liveness and health aggregation across all running components Partial (via atlas)

On top of system, three open categories — provided as contracts (61 standard interfaces in capabilities/) and reference implementations alongside the system:

  • primitive — one device per package (camera, lidar, chassis, arm). Lives in deployment repos and per-example folders (e.g. examples/webots/primitives/).
  • service — runtime functionality (mapping, navigation, semantic map, memory, speech, voiceprint). Default reference implementations ship in services/; each can be swapped out by a deployment.
  • skill — user-defined reusable execution flows (grasp, place, explore, fold-clothes …). Lives wherever the deploy/integrator wants.

Supported platforms

Arch OS / Distribution Status
x86_64 Ubuntu 22.04 ✅ Tested
x86_64 Debian 13 ✅ Tested
arm64 NVIDIA Jetson — JetPack 6.2 (L4T 36.4.3, Ubuntu 22.04) ✅ Tested
x86_64 / arm64 Ubuntu 24.04 and newer 🚧 Planned
x86_64 / arm64 Arch Linux 🚧 Planned
arm64 macOS 🚧 Planned

"Tested" means the full Robonix pipeline runs end-to-end on that platform — in simulation or on a real robot: voice & interaction, task execution, body movement, scene & mapping (semantic map + spatial map), navigation, and skill execution. Other Linux distributions will likely work but are not regularly verified.

Relationship with ROS 2. Robonix itself does not depend on ROS 2 — it is one of the transports nexus offers, not a requirement of the system. If a capability provider needs the ROS 2 communication libraries and the host OS has no ROS 2 support, run that provider in a Docker container. Within a single Robonix deployment, all ROS 2-based capability providers must use the same ROS 2 distribution (Foxy / Humble / Jazzy); Humble is recommended.

Quickstart

git clone --recursive https://github.com/syswonder/robonix
cd robonix
make install   # builds the Cargo workspace and installs
               # rbnx + robonix-{atlas,pilot,executor,liaison,codegen}
               # to ~/.cargo/bin, then registers this clone via `rbnx setup`

The Webots Tiago example (examples/webots/) is the standard end-to-end demo. Two terminals — the simulator and Robonix itself.

# (1) — simulation environment (Webots GUI; not a Robonix package — just docker compose)
bash examples/webots/sim/start.sh

# (2) — Robonix: system services + Tiago primitives + Nav2 + scene
export VLM_BASE_URL=https://api.openai.com/v1   # any OpenAI-compatible endpoint
export VLM_API_KEY=sk-...
export VLM_MODEL=gpt-5.5
cd examples/webots
rbnx build       # first run pulls model weights + docker images, may take a while
rbnx boot

Once rbnx boot reports the stack is up:

# (3)
rbnx caps          # list registered capabilities + interfaces
rbnx chat          # interactive TUI chat with the pilot

Tear-down:

cd examples/webots && rbnx shutdown    # reads rbnx-boot/state.json,
                                       # SIGTERMs each component's PGID
bash examples/webots/sim/stop.sh       # then stop the Webots container

Full first-run walkthrough: docs/src/getting-started/quickstart.md.

Repository layout

system/         system components, one directory each
services/       default reference service implementations (memsearch, voiceprint, speech)
pylib/          Python SDK (robonix-api on PyPI)
capabilities/   contract TOMLs + ROS-style IDL tree (capabilities/lib/)
tools/          dev tooling — rbnx CLI + codegen
examples/       end-to-end deployments (webots, test_ci)
docs/           mdBook developer guide (submodule)
Cargo.toml      workspace for the Rust components (4 in system/, 2 in tools/)
Makefile        top-level orchestrate (build / install / fmt / check)

system/<name>/ and services/<name>/ and tools/<name>/ are each self-contained packages — Rust ones carry their own Cargo.toml, Python ones their own pyproject.toml. There is no top-level rust/ / python/ split; the runtime role is what determines where a component lives, not the implementation language.

Architecture

Dive deeper:

Ecosystem

Tools

Primitives

Services

Skills

Full Robot Deployment Examples

Contributors

All Contributors

Thanks goes to these wonderful people:

wheatfox
wheatfox

💻 🚧
Zhaobo Zhang
Zhaobo Zhang

💻
Guowei Li
Guowei Li

💻
wuzheng
wuzheng

💻
Kaile Liu
Kaile Liu

💻
Feiyang Li
Feiyang Li

💻
MuJue
MuJue

💻
Zhenyu Zhang
Zhenyu Zhang

💻
lhw2002426
lhw2002426

💻
Zihao Zheng
Zihao Zheng

🔧 🔣
qingfeng123
qingfeng123

🔧 🔣

This project follows the all-contributors specification. Contributions of any kind welcome!

License

Mulan Permissive Software License, Version 2 (MulanPSL-2.0). See LICENSE.

Contributors