Getting Started
Revolve2 is research software designed for the optimization of modular robot designs, both in terms of their physical structures (bodies) and their behaviour (brains). It primarily employs evolutionary algorithms for optimization, although other techniques can be used as well. Furthermore, Revolve2 offers capabilities to test these robots in simulation as well as in the real-world.
The software comes with several packages. Depending on your research needs, you may choose to work with a specific subset of these packages. This tutorial will guide you through the key steps to initiate your studies and research using Revolve2 efficiently.
Step 1: Installation
The first step is to install Revolve2. For this follow the detailed tutorial from Installation Guide. Keep in mind that installation can vary depending on the release you choose. This documentation matches the latest release of Revolve2.
Step 2: Play with the examples
Based on your research topic, certain functionalities in Revolve2 may be of interest to you. A good starting point to delve deeper into Revolve2’s inner workings is the example directory found in the repository. Some examples come in two versions: one with and one without a database. It is recommended to explore the examples without the database first to better grasp the significance of this addition. The examples are structured in order of progression. Starting from the beginning will give you a good understanding once you reached the part that is relevant to you. You will find a more thorough explanation of the examples in their respective readme`s.
Example |
Contents |
Prerequisite examples |
---|---|---|
1 Simulator Basics |
||
1a simulate single robot |
Simulate and visualize a single modular robot. |
- |
1b custom terrain |
Design your own terrain and test it in simulation |
|
2 Modular Robot Basics |
||
2a custom brain |
Design your own brain and test it in simulation. |
|
2b brain with feedback |
Design a custom brain that takes sensory input. |
|
3 Experiment Foundation |
||
3a experiment setup |
Set up your first experiment. |
- |
3b evaluate single robot |
Evaluate a robot by simulating it and calculating its displacement. |
|
3c evaluate multiple isolated robots |
Evaluate multiple non-interacting robots concurrently. |
|
3d evaluate multiple interacting robots |
Evaluate multiple interacting robots. |
|
4 Example Experiment Setups |
||
4a simple ea xor |
Use an evolutionary algorithm to train a neural network to perform XOR. |
|
4b simple ea xor database |
Similar to |
|
4c robot bodybrain ea |
Optimize the bodies and brains of modular robots using an evolutionary algorithm. |
|
4d robot bodybrain ea database |
Similar to |
|
4e robot brain cmaes |
Optimize the brains of modular robots using CMA-ES. |
|
4f robot brain cmaes database |
Similar to |
|
5 Physical Modular Robots |
||
5a physical robot remote |
Learn how to use your evolved robots in the physical world. |
|
5b compare simulated and physical robot |
Learn how to use your evolved robots in the physical world. |
|