KavrakiLab/vamp

SIMD-Accelerated Sampling-based Motion Planning

解決する問題

VAMP(Vector-Accelerated Motion Planning)は、ロボット工学におけるサンプリングベースのモーション計画の計算ボトルネックに対処します。具体的には、複雑な環境でロボットアームの有効な経路を見つけるプロセスを通常遅くする、衝突チェックと順運動学(FK)の高コストを対象としています。

仕組み

VAMP は、CPU の SIMD(Single Instruction, Multiple Data)命令を活用して、計画パイプラインの最もコストのかかる部分を並列化および高速化します。Collision-Affording Point Tree(CAPT)と呼ばれる専用の空間データ構造を使用して、点群に対する非常に高速な衝突チェックを実現し、クエリ時間は 10 ナノ秒未満です。このシステムは、x86(AVX2)や ARM(NEON)などのさまざまなアーキテクチャでハードウェアアクセラレーションされるように設計されており、ブラウザベースの実行のために WebAssembly にコンパイルすることもできます。

対象者

リアルタイムまたはほぼリアルタイムのモーション計画を必要とするロボット研究者やエンジニア(Franka Emika Panda、UR5、Fetch、Baxter などのロボットアーム向け)、および高密度点群環境表現を扱う人々向けに設計されています。

ハイライト

  • 極限の速度:単一のコンシューマー CPU コアで、MotionBenchMaker の問題を Panda ロボットに対して中央値 35 マイクロ秒で解決します。
  • ハードウェア最適化:x86 AVX2 および ARM NEON 命令をネイティブサポート。
  • 複数のプランナー:RRT-Connect、PRM、FCIT*、AORRTC の実装を含みます。
  • 効率的な点群処理:CAPT を使用して、数千の点に対する超高速衝突クエリを実現。
  • クロスプラットフォーム:C++、Python、WebAssembly(WASM)ターゲットをサポート。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト