- 高速で安定したロボットを開発するための、ユーザーフレンドリーなランタイムエンジン
- ゲーム向けの「ゲームエンジン」のように、ロボット向けの「ロボットエンジン」
- 容易さ: 高水準のConfigurationシステムと自然なRust APIを提供
- 高速性: RustのZero-Cost抽象化とデータ指向アプローチを用い、市販ハードウェアで1マイクロ秒未満のレイテンシを達成し、実行中のヒープ割り当てを回避
- 信頼性: Rustの所有権、型システム、並行性モデルを活用してバグを最小化し、スレッドセーフ性を保証
- プロダクト志向: 非常に予測可能なランタイムを生成し、後期段階でのインフラ統合問題を防ぐことを目標とする
- Linux (x86_64, armv7, aarch64 & riscv64) と MacOS (arm64) でテスト済み
技術概要
- Copperは、以下のコンポーネントを提供するデータ指向のロボットSDK:
- Task Graph: RON(Rusty Object Notation)で記述されたとおりにシステムのトポロジーを構成して通信するタスクを指定し、ノードとメッセージの型を設定
- Runtime Generator: グラフのメタデータに基づいて実行計画を決定。実行中の逐次メモリアクセスを最大化するために「Copper List」を事前割り当て
- Zero-Copy Data Logging: データをコピーせずにタスク間のすべてのメッセージを記録し、効率的なロギングを保証
- Fast Structured Logging: InternとIndexはコンパイル時に文字列をロギングし、ランタイムでの文字列構築を避けて高速なテキストロギングを保証
- 実機ロボットがない場合は、Bevy(Rustゲームエンジン) + Avian3d(Rust物理エンジン) で開発されたシミュレーション環境を利用可能
まだコメントはありません。