juniorrojas/algovivo

An energy-based formulation for soft-bodied virtual creatures

解決する課題

複雑な力関数を手動で導出したり、明示的な位置更新ルールを記述したりすることなく、ソフトボディの仮想生物をシミュレートする方法を提供します。代わりに、エネルギーベースの定式化を使用して、変形体の物理シミュレーションを処理します。

仕組み

このシステムは、微分可能なエネルギー関数の勾配ベースの最適化を通じて物理演算を実装しています。自動微分(Enzymeを使用)を利用して力と導関数を計算します。シミュレーションには、neo-Hookean三角形、制御可能な筋肉、重力、地形衝突、摩擦、慣性という6つの特定のエネルギー関数が含まれています。コアロジックはC++で記述され、WebAssembly (WASM) にコンパイルされ、ブラウザ実行用のJavaScriptライブラリとしてラップされています。

対象ユーザー

ソフトボディ物理学、仮想生物シミュレーション、およびロボット工学と微分可能物理学の交差領域に関心のある研究者や開発者向けに設計されています。

ハイライト

  • 微分可能物理学: 自動微分を使用してエネルギー関数から力を計算します。
  • ニューラル制御: 事前学習済みの MLP (Multi-Layer Perceptron) コントローラーを使用して、固有受容信号を筋肉コマンドにマッピングし、移動をサポートします。
  • Web対応: WebAssemblyにコンパイルされており、ブラウザ上で直接高性能なシミュレーションが可能です。
  • エネルギーベースの定式化: 摩擦、重力、地形衝突を含むさまざまな物理的制約を実装しています。

関連

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