What is OpenRoIS?
OpenRoIS lets operator applications control robots, avatars, and digital agents over the internet through a single SDK. The host paradigm is hidden behind a gateway. A scenario written once can drive a ROS 2 robot, a Unity avatar, or a distributed AI service without code changes.
The primary demonstrated path is a Unity operator application controlling a ROS 2 robot over WebSocket. The same interfaces also drive in-process avatars and distributed services.
What OpenRoIS provides
RoIS Interfaces
Transport-independent types derived from the OMG IDL. Authored as Python (Pydantic), exported to JSON Schema, generated into C# and TypeScript.
RoIS Engine + Gateway
Bus-independent runtime (Python) that manages components and exposes them remotely over WebSocket.
RoIS BusAdapters
Pluggable bindings: ROS 2 (robot), InProcess (avatar), gRPC (services). All implement one four-method contract.
RoIS Components
The 17 basic HRI components with per-paradigm backends (YOLO, MediaPipe, Whisper, Nav2, Piper).
RoIS Client SDKs
C# for Unity (primary), TypeScript for web, Python for scripting. Identical behavior regardless of host paradigm.
Status
Alpha, pre-1.0, unstable API. The interface types (M0) are complete and stable. The engine, gateway, bus adapters, components, and SDKs are under construction.
| Milestone | Theme | Status |
|---|---|---|
| M0 | Paradigm-Neutral Interfaces | done |
| M1 | Engine and In-Process Bus | todo |
| M2 | Remote Gateway | todo |
| M3 | ROS 2 Bus Adapter | todo |
| M4 | Mock ROS 2 Robot Components | todo |
| M5 | SDK and Robot MVP (v0.1.0) | todo |
| M8 | Real Component and Mixed Paradigm | todo |
| M9 | Auth and Bus Security | todo |
| M10 | WebRTC Media | todo |
| M11 | Full Component Library (v1.0) | todo |
License
Apache-2.0. The normative files retain their upstream copyright (JARA, ETRI, KAR, OMG) and are not modified.