KavrakiLab/vamp

SIMD-Accelerated Sampling-based Motion Planning

何を解決するか

VAMP(Vector-Accelerated Motion Planning)は、ロボット工学におけるサンプリングベースの運動計画の計算上のボトルネックに対処します。特に、衝突検出と前向き運動学(FK)の高コストが、複雑な環境におけるロボットアームの衝突のない経路を見つけるプロセスを遅くしている点に注目しています。

動作方法

VAMPは、CPUのSIMD(Single Instruction, Multiple Data)命令(x86向けのAVX2やARM向けのNEONなど)を活用して、前向き運動学と衝突検出の計算を並列化します。衝突検出を点群に対して高速化するために、専用の空間データ構造である「衝突許容点木(CAPT)」を使用し、数千点のシーンにおいてクエリ時間を10ナノ秒未満にまで短縮します。このシステムは、RRT-Connect、PRM、FCIT*、AORRTCなど複数の計画アルゴリズムをサポートしており、経路の簡略化と滑らか化のためのツールも提供しています。

対象ユーザー

点群ベースの環境で作業する際、ロボットアーム(Franka Emika Panda、UR5、Fetch、Baxterなど)またはカスタムロボット向けに、極めて高速でリアルタイムの運動計画が必要なロボット工学の研究者や開発者向けに設計されています。

特徴

  • 極めて高速: 消費者向けCPUコア1つで、Pandaロボットの運動計画問題を中央値35マイクロ秒で解決。
  • ハードウェア加速: x86(AVX2)およびARM(NEON)アーキテクチャ、およびブラウザ上で実行可能なWebAssembly(WASM)をネイティブでサポート。
  • SIMD最適化: ベクトル化されたサンプリングにより、前向き運動学と衝突検出の両方を加速。
  • 効率的な点群処理: 大規模な点群に対して瞬時に衝突クエリを実行するため、CAPTを使用。
  • 多様な計画アルゴリズム: RRT-Connect、PRM、およびFCIT*やAORRTCなどの漸近的に最適な計画アルゴリズムの実装を含む。

関連

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