syswonder/robonix
The Agentic Operating System for Robots
Robonix – 具現化AIのための自律型オペレーティングシステム
概要 – Robonixは、自然言語コマンドで多種多様なロボットを制御できるオープンソースの汎用オペレーティングシステムです。大規模言語モデル/視覚言語モデル(LLMs/VLMs)とロボットハードウェアの間に位置し、ユーザーの要求をロボットが実行する Robot Task Description Language (RTDL) プログラムに変換します。
重要性 – 階層的な抽象化(プリミティブ → サービス → スキル → タスク)を通じてハードウェアとソフトウェアを分離することで、同じ高レベルコードを車輪型ベース、四足歩行、アーム、ハンド、あるいはシミュレーション上のアバターで実行できます。これにより、プラットフォーム間での認識、計画、操作機能の再利用が容易になり、LLMがロボット固有の計画を即座に生成できるようになります。
基本概念とアーキテクチャ
| レイヤー | 役割 |
|---|---|
| Primitive | バージョン管理されたインターフェースを介して公開される直接的なハードウェアI/O(センサー、アクチュエーター)。 |
| Service | Robonixインターフェースを実装する再利用可能なソフトウェア(例:SLAM、ナビゲーション、物体検出)。 |
| Skill | 実行可能なユニットとしてパッケージ化された学習済みモデルやアルゴリズム(例:ピック&プレース、注ぎ込み、VLAモデル)。 |
| Task | 制約と成功基準を持つユーザーレベルの目標。 |
システムはいくつかの主要コンポーネントを中心に構築されています(READMEのアーキテクチャ図を参照):
- Liaison – Keystone を介してユーザーを認証し、自然言語リクエストを受け取るフロントエンド。
- Pilot – LLM/VLMに要求されたタスクのRTDLプログラムを作成させ、検証し、Executor に転送するオーケストレーター。
- Executor – ロボット上でRTDLプログラムを実行する。
- Sentinel – 安全性と健全性のために実行を監視する。
- Scene – 物体のセマンティックマップと環境の空間マップを維持する。
- Atlas, Nexus, Chronos, Scribe, Vitals – サービスディスカバリ、メッセージング、タイミング、ログ記録、健全性チェックのインフラストラクチャを提供。
- Soma – ロボットの形状と提供するプリミティブを記述するボディ抽象化(URDF + YAML)。
すべてのコンポーネントは Atlas にバージョン管理されたコントラクトを登録するため、呼び出し元は具体的な実装ではなくコントラクトにバインドされます。これにより、高レベルのコードを変更することなくスキルやサービスを交換したり、タスクを別のロボットボディに移動したりすることが可能になります。
クイックスタート(READMEより)
- 前提条件のインストール – Rust、Pythonツール
uv、Docker(Webotsシミュレーター用)、NVIDIA Container Toolkit(NVIDIA GPUがある場合)、および標準的なビルドツール(build-essential、pkg-config、OpenSSLヘッダー、ALSA utils)。 - クローンとビルド
git clone --recursive https://github.com/syswonder/robonix.git cd robonix make install # Rustコンポーネントと `rbnx` CLIをビルド - シミュレーターの実行(Webotsの例)、1つのターミナルで:
export DISPLAY=:0 bash examples/webots/sim/start.sh - Robonixの起動、別のターミナルで、OpenAI互換のVLMエンドポイントを指定:
export RMW_IMPLEMENTATION=rmw_zenoh_cpp export VLM_BASE_URL=https://api.openai.com/v1 export VLM_API_KEY=sk-… export VLM_MODEL=your-model-name cd examples/webots rbnx build && rbnx boot - ロボットとのチャット – 3つ目のターミナルを開き
rbnx chatを実行。go to room 101、what can you see?、explore the officeなどのコマンドを試してください。
開発者向けには、Robonixパッケージテンプレート (template-rbnx) が提供されており、ロボットハードウェアなしでビルドおよび実行可能なモックのプリミティブ、サービス、スキルが含まれています。rbnx caps でライブ機能プロバイダーをリストし、rbnx chat でそれらと対話できます。
サポートされているロボットとエコシステム
Robonixは、すぐに使用できるロボットマニフェストをリストした パッケージカタログ (https://packages.robonix.ai) を提供しています。READMEには、以下を含む数十の実機およびシミュレーションプラットフォームが示されています:
- AgileX Ranger Mini v3, DEEP Robotics Lite3 & Lynx S10, Unitree Go2, Yobotics Y20W, MirrorMe BPX, Wheeltec R550, Yahboom ROSMASTER X3, Hantewin Benben, BeingBeyond D1, AUBO i5H, LinkerHand O6 など。
- Webots TIAGo Lite, Minecraft Bot, MuJoCoベースのRanger+Piper, Unitree Go2などのシミュレーションボディ。
各ロボットのエントリは、ハードウェアドライバーを含むリポジトリと、プリミティブ、サービス、スキルを詳述したカタログページにリンクしています。すべてのロボットが同じRobonixコントラクトを公開しているため、同じ高レベルのRTDLプログラムをどのロボットでも実行できます。
ライセンス
プロジェクトは Mulan PSL-2.0 ライセンスの下でリリースされています(READMEのバッジを参照)。
結論 – Robonixは、LLMが実行可能なロボットプログラムを生成し、ハードウェアの違いを抽象化し、ロボット固有のパッケージライブラリを拡大できる、モジュール式でコントラクト駆動型のスタックを提供します。自然言語で指示され、実行前に検証可能な「自律型」ロボットを構築したい研究チームや製品チームのための基盤として位置付けられています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト