juniorrojas/algovivo

An energy-based formulation for soft-bodied virtual creatures

解决的问题

它提供了一种模拟软体虚拟生物的方法,无需手动推导复杂的力函数或编写明确的位置更新规则。相反,它使用基于能量的公式来处理可变形体的物理模拟。

运作原理

该系统通过可微分能量函数的基于梯度的优化来实现物理模拟。它使用自动微分(通过 Enzyme)来计算力和导数。该模拟包含六种特定的能量函数:neo-Hookean 三角形、可控肌肉、重力、地形碰撞、摩擦力和惯性。核心逻辑以 C++ 编写,编译为 WebAssembly (WASM),并封装在 JavaScript 库中以供浏览器执行。

目标对象

它专为对软体物理、虚拟生物模拟以及机器人学与可微分物理交叉领域感兴趣的研究人员和开发人员而设计。

特点

  • 可微分物理: 使用自动微分从能量函数计算力。
  • 神经控制: 支持使用预训练的 MLP (Multi-Layer Perceptron) 控制器将本体感觉信号映射到肌肉指令,以实现运动。
  • Web 就绪: 编译为 WebAssembly,可在浏览器中进行高性能模拟。
  • 基于能量的公式: 实现了多种物理约束,包括摩擦力、重力和地形碰撞。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目