Dora AI
Rustで構築されたAIロボティクスアプリケーション向けデータフローミドルウェア
ライセンス
Apache-2.0
概要
Dataflow-Oriented Robotic Architecture(dora-rs)は、AIベースのロボティクスアプリケーションの作成を効率化・簡素化するために設計されたミドルウェアです。パフォーマンスと信頼性のためにRustで構築され、ゼロオーバーヘッドのメッセージ転送とマシンおよびロボット間のスケーラビリティを提供します。
Dora(Dataflow-Oriented Robotic Architecture)は、ゼロオーバーヘッドのメッセージ転送とスケーラビリティをロボティクスアプリケーションにもたらす最新のロボティクスフレームワークです。100% Rustで構築されたDoraは、ROS 2よりも10〜17倍高速に設計されており、マルチAIおよびマルチハードウェアアプリケーションをサポートします。
Apache Arrowを使用したゼロコピー通信により、シリアライゼーションのオーバーヘッドなしにノード間で効率的なデータ共有が可能です。このアーキテクチャによりPyTorchとのCUDAゼロコピー統合が実現し、AIを活用したロボティクスアプリケーションに最適です。
DoraはYAMLベースの宣言的データフロー定義とホットリロードによる高速プロトタイピングをサポートします。OpenTelemetry統合によるログ、トレース、メトリクスで完全な可観測性を備えており、量産環境でのロボティクスアプリケーションのデバッグと監視が容易です。
このフレームワークはクロスプラットフォームで、Linux、MacOS、Windows、Docker、Nixで動作し、Rust、Python、C、C++のマルチ言語サポートを備えています。これにより、Doraはロボティクス開発者、AI実践者、ホビイストにとってアクセスしやすいものとなっています。
重要な理由
Doraは、性能とシンプルさを重視したROSの現代的な代替です。Rustで構築されており、ROSの複雑さによるオーバーヘッドなしに、ロボティクスに必要なデータフローアーキテクチャを提供します。そのため、量産向けのAIロボットを構築するチームにとって魅力的な選択肢となっています。
解決する課題
ROSは従来型のロボティクス向けに設計されており、AIファーストのロボットには不要な複雑さを抱えています。Doraは、現代のAIロボットが必要とするデータ集約型の通信パターンに特化した、合理化されたミドルウェアを提供します。
主なポイント
- 性能のためにRustで構築された、データフロー指向のロボティクスミドルウェア
- AI中心のロボットアプリケーションにおいてROSよりシンプルなアーキテクチャ
- ノード間のゼロコピーデータ共有による高スループット
- MLフレームワークと容易に統合できるPython API
- AIロボティクスとエンボディドAIの分野で採用が拡大中
対象
- AIファーストのロボットシステムを構築するチーム
- 自分の用途にはROSが複雑すぎると感じている開発者
- MLパイプラインとロボットハードウェアを組み合わせる研究者
- 量産向けロボットソフトウェアスタックを構築する企業
制限事項
- ROSよりエコシステムが小さく、既製のパッケージが少ない
- Rustのコアはロボティクス開発者にとってなじみが薄い場合がある
- 従来型のロボティクス用途ではROSほど成熟していない
- コミュニティとドキュメントはまだ発展途上