マルチフィジックスエンジン、フォトリアルなレンダラー、クロスプラットフォームコンパイラーをPythonインターフェースで統合した、ロボティクスと身体性AI向けシミュレーションプラットフォーム。
dora-rs/dora
ノードを有向データフローグラフとして構成し、リアルタイムのロボティクスやAIアプリケーションを構築できる、Rust製ミドルウェアフレームワークです。
- スター
- 4,034
- フォーク
- 463
- 未解決の Issue
- 111
- 最終コミット
- 4 時間前
これは何?
Dora(Dataflow-Oriented Robotic Architecture)は、有向グラフで接続した独立したノードを組み合わせて、ロボティクスやAIアプリケーションを構築するためのフレームワークです。各ノードはRust、Python、C、C++のいずれかで記述された独立プロセスで、YAMLファイルで宣言した型付きの入力・出力を通じてデータをやり取りします。複数のマシンにまたがる場合も含め、プロセスの起動、メッセージのルーティング、ライフサイクル管理をフレームワークが担います。
カメラフレームや点群などデータ量の多いワークロードでは、同じマシン上のノード間にゼロコピーの共有メモリを使い、マシン間通信にはZenohを利用します。メッセージ形式にはApache Arrowを採用しています。CLIでは、ローカルでのデータフロー実行、分散環境向けのコーディネーターとデーモンの起動、トピック・ログ・リソース使用状況の確認ができます。メッセージの記録と再生、ノードごとの再起動ポリシー、ROS2ブリッジにも対応しています。
また、カメラ、YOLO検出器、LLM、TTSなど、バージョンを指定して再利用可能なノードを取得できるノードハブに加え、軽量な変換処理向けのインプロセス・オペレーターモデルも備えています。
主な機能
- 01Rust、Python、C、C++で記述したノードを、宣言的なYAMLで定義する有向グラフ形式のデータフロー。
- 02同じマシン上のノード間ではゼロコピーの共有メモリを使用し、マシン間ではZenohのPub/Subで通信。
- 03エンドツーエンドでApache Arrowメッセージ形式を採用。
- 04ローカル実行、分散クラスター、ログ、トピックの確認、リソース監視をまとめて扱える単一のCLI。
- 05データフローメッセージの記録と再生、およびノードごとの再起動ポリシー。
- 06トピック、サービス、アクションに対応したROS2ブリッジ。
ユースケース
- カメラ映像の取得、物体検出、可視化のノードをつなぎ、ロボットの認識パイプラインを構築する。
- Python製AIモデルとRustまたはC++製の制御コンポーネントを、ひとつのデータフローで連携させる。
- ノードのライフサイクルを連携させながら、複数マシンで動作するロボットやセンサーシステムを運用する。
- 既存のROS2システムを、新しいAI駆動型ノードとブリッジする。
クイックスタート
- 1
crates.ioからdora CLIをインストールする
cargo install dora-cli - 2
Python node APIとサンプルの依存関係をインストールする
pip install dora-rs numpy pyarrow - 3
リポジトリをクローンして、そのディレクトリに移動する
git clone https://github.com/dora-rs/dora.git && cd dora - 4
Pythonのsender-transformer-receiverサンプルのdataflowを実行する
dora run examples/python-dataflow/dataflow.yml
使う前に知っておきたいこと
- READMEではNode Hubは不安定と記載されています。
- コーディネーターの再起動後に実行中のdataflowを再取得する機能は、一部のみサポートされています。
収録されている特集
トピック
よくある質問
- dora とは?
- ノードを有向データフローグラフとして構成し、リアルタイムのロボティクスやAIアプリケーションを構築できる、Rust製ミドルウェアフレームワークです。 Dora(Dataflow-Oriented Robotic Architecture)は、有向グラフで接続した独立したノードを組み合わせて、ロボティクスやAIアプリケーションを構築するためのフレームワークです。各ノードはRust、Python、C、C++のいずれかで記述された独立プロセスで、YAMLファイルで宣言した型付きの入力・出力を通じてデータをやり取りします。複数のマシンにまたがる場合も含め、プロセスの起動、メッセージのルーティング、ライフサイクル管理をフレームワークが担います。
- dora は無料で使えますか?ライセンスは?
- dora は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- dora は今もメンテナンスされていますか?
- 活発にメンテナンス中。dora の最終コミットは 2026年10月22日 です。
- dora は何に使えますか?
- カメラ映像の取得、物体検出、可視化のノードをつなぎ、ロボットの認識パイプラインを構築する。 Python製AIモデルとRustまたはC++製の制御コンポーネントを、ひとつのデータフローで連携させる。 ノードのライフサイクルを連携させながら、複数マシンで動作するロボットやセンサーシステムを運用する。 既存のROS2システムを、新しいAI駆動型ノードとブリッジする。
- dora のインストール方法は?
- crates.ioからdora CLIをインストールする: cargo install dora-cli Python node APIとサンプルの依存関係をインストールする: pip install dora-rs numpy pyarrow リポジトリをクローンして、そのディレクトリに移動する: git clone https://github.com/dora-rs/dora.git && cd dora Pythonのsender-transformer-receiverサンプルのdataflowを実行する: dora run examples/python-dataflow/dataflow.yml
- dora はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/dora-rs/dora
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
NVIDIAのオープンな視覚・言語・行動基盤モデル(GR00T N1.7)。汎用ヒューマノイドやロボットの操作スキル向けに、ファインチューニングとデプロイ用ツールを提供します。
LLMプランナー、VLA操作モデル、メモリを使い、シミュレーターや実機でロボットタスクを実行するエンボディドエージェント構築用のオープンフレームワーク。
ApxInf Rust推論エンジン向けのPythonバインディングとロボットポリシー層。Jetson Thor/OrinやRTX GPUでVLAモデルを実行
アルゴリズム、インフラ、制御、ハードウェアを網羅した中国語の身体性AIナレッジベース兼キュレーション索引。RoboTwin 2.0の実践チュートリアルも収録。
バイナリデータを解析・展開せずに直接読み取れる、クロスプラットフォームのシリアライズライブラリです。