Libraries & Source Code
Contents
- 2D-MR-Sim
- DiffPD
- DiffTaiChi
- DiffVineSim
- DisMech
- Elastica
- EvoGym
- GradSim
- IPC
- SOFA
- SoftZoo
- SoMo
- Warp
- VoxCraft
2D-MR-Sim
2D-MR-Sim (2-dimensional multi-robot simulator) is a framework for experimenting with the evolutionary optimization of 2D simulated robotic agents. It is built on top of 2D-VSR-Sim, a Java framework for experimenting with a 2D voxel-based soft robots. 2D-MR-Sim provides consistent interfaces for all the voxel-based soft robot (VSR) aspects suitable for optimization and considers by design the presence of sensing, i.e., the possibility of exploiting the feedback from the environment for controlling the VSR. Specifically, 2D-MR-Sim allows one to simulate more kinds of robots (not only Voxel-based Soft Robots, better models the concept of modularity, and is decoupled from the inner physics simulator.
Resources
DiffPD
DiffPD (Differentiable Projective Dynamics) is a differentiable soft-body simulator intended for learning and control applications. Optimized for speed, DiffPD uses implicit time integration with projective dynamics (PD) and exploits a pre-factorized Cholesky decomposition to speed up backpropagation. Thus, DiffPD can prioritize speed while still managing a small sim2real gap.
Resources
DiffTaiChi
DiffTaiChi is built on top of Taichi Lang, an open-source, imperative, parallel programming language for high-performance numerical computation. DiffTaichi significantly boosts the performance and productivity of differentiable physical simulators. DiffTaichi generates gradients of simulation steps using source code transformations that preserve arithmetic intensity and parallelism. A light-weight tape is used to record the whole simulation program structure and replay the gradient kernels in a reversed order, for end-to-end backpropagation.
Resources
DiffVineSim
DiffVineSim (Differentiable Vine Simulator) is a differentiable forward-dynamics simulator for an extendable, soft vine robot. Occupying a promising niche in the field of soft robotics, soft-growing robots such as vine robots allow for navigation and growth in tightly confined environments. DiffVineSim presents a differentiable approach to vine robot simulation, with more complex parameter fitting and multiple simultaneous rollouts.
Resources
DisMech
DisMech is a discrete differential geometry-based physical simulator for elastic rod-like structures and soft robots. Based on the Discrete Elastic Rods framework, it can be used to simulate soft structures for a wide variety of purposes such as robotic deformable material manipulation and soft robot control. DisMech Combines a fully implicit discrete differential geometry-based physics solver with fast and accurate contact handling.
Resources
Elastica
Elastica is a simulation environment for simulating assemblies of one-dimensional soft, slender structures using Cosserat rod theory. The theory of Cosserat rods is a method of modeling 1D, slender rods accounting for bend, twist, stretch, and shear; allowing all possible modes of deformation to be considered under a wide range of boundary conditions. It models the rod as a deformable curve with attached deformable vectors to characterize its orientation, and evolves the system using a set of coupled second-order, nonlinear partial differential equations.
Resources
EvoGym
EvoGym is a simulation platform for evolving the bodies and brains of soft robots-morphology and control. Robots are built from simple blocks called voxels, which can be rigid, soft, or actuated, hence enabling dynamic designs. EvoGym allows these robots to “learn” how to perform tasks like walking or carrying objects using algorithms inspired by evolution and reinforcement learning.
Resources
GradSim
GradSim focuses on the problem of estimating an object’s physical properties such as mass, friction, and elasticity directly from video sequences. This framework overcomes the dependence on 3D supervision by leveraging differentiable multiphysics simulation and differentiable rendering to jointly model the evolution of scene dynamics and image formation. By modeling the process by which physical objects map to pixels in a video, GradSim enables learning in challenging visuomotor control tasks, without relying on state-based (3D) supervision, while obtaining performance competitive to or better than techniques that rely on precise 3D labels.
Resources
IPC
IPC (Incremental Potential Contact) is a simulator which focuses on variationally solving implicitly time-stepped nonlinear elastodynamics. By allowing the user to select accuracy tolerances, desired accuracies for a simulation’s dynamics and geometry may be decoupled. Employing an implicit time-stepping method, the custom nonlinear solver addresses contact problems that are intersectionfree, inversion-free, and accurate, with speeds comparable to or faster than available methods that lack both convergence and feasibility.
Resources
SOFA
SOFA is an open-source framework designed for interactive mechanical simulations, with a strong focus on bio-mechanics and robotics. It provides advanced constitutive models and algorithms for efficiently computing both soft and rigid body dynamics. SOFA supports linear and non-linear elastic models, offers both explicit and implicit integration schemes, and includes traditional linear solvers. It integrates numerous algorithms and models, making it highly suitable for complex simulation needs in bio-mechanics and robotics. Compliance Robotics have developed a dedicated graphical user interface (GUI) for SOFA, tailored specifically for robotics applications.
Resources
SoftZoo
SoftZoo is a soft robot co-design platform for locomotion in diverse environments that supports an extensive, naturally-inspired material set, including the ability to simulate environments such as flat ground, desert, wetland, clay, ice, snow, shallow water, and ocean. SoftZoo provides a variety of tasks relevant for soft robotics, including fast locomotion, agile turning, and path following, as well as differentiable design representations for morphology and control. With this platform, it is possible to use a wide variety of prevalent representations and co-design algorithms, including control optimization with differentiable physics and reinforcement learning, as well as co-design with evolutionary algorithms.
Resources
SoMo
SoMo (SoftMotion) is a framework to facilitate the simulation of continuum manipulator (CM) motion in pybullet. In SoMo, continuum manipulators are approximated as a series of rigid links connected by spring-loaded joints. SoMo makes it easy to create URDFs of such approximated manipulators and load them into pybullet’s rigid body simulator. With SoMo, environments with various continuum manipulators, such as hands with soft fingers (xxx links), or snakes, can be created and controlled with only a few lines of code.
Resources
Warp
NVIDIA Warp is a Python framework for writing high-performance simulation and graphics code. Warp takes regular Python functions and JIT compiles them to efficient kernel code that can run on the CPU or GPU. Warp is designed for spatial computing and comes with a rich set of primitives that make it easy to write programs for physics simulation, perception, robotics, and geometry processing. In addition, Warp kernels are differentiable and can be used as part of machine-learning pipelines with frameworks such as PyTorch, JAX and Paddle.
Resources
VoxCraft
VoxCraft is a GPU-accelerated voxel-based physics engine. A voxel is a hollow silicone block that can expand and contract in volume. When multiple voxels are attached together they become a robot: a voxelbot. VoxCraft allows you to test robot designs before constructing them in real life.
Resources