Tools

Simulation plays a vital role in optimization and in understanding evolutionary dynamics. SimER focuses on rigid-body dynamics, but we’ve listed a few related ideas below as well.

Creating a simulation is called “modeling.” In robotics, modeling is used for simulation, state estimation, prediction, and model-based algorithms (e.g., model predictive control, model-based reinforcement learning).

Broadly, we can list the following forms of simulation as it relates to evolutionary robotics (ER)

Often, an increase in accuracy comes at the cost of an increase in complexity and compute time. Analytical simulations are often only useful for toy problems (i.e., they are not even expressive enough to simulate a double pendulum system). Numerical systems are much broader—in some sense, they encapsulate rigid-body and soft-body dynamics—but they are often slower and less powerful compared to rigid-body and soft-body simulators. For example, a nonholonomic system cannot be described by a closed-form solution. In this case, a numerical or physical simulation is required.

Here are things to consider when selecting your simulation tool:

Robot Simulators

Game Engines

Physics Engines

Numerical Engines

Soft-Body Engines

Rendering Engines

Visualization Tools

Configuration Language

Authoring Tools

Physics Engine Development