Giter VIP home page Giter VIP logo

evogym's Introduction

Evolution Gym

A large-scale benchmark for co-optimizing the design and control of soft robots. As seen in Evolution Gym: A Large-Scale Benchmark for Evolving Soft Robots (NeurIPS 2021).

teaser

Installation

Clone the repo and submodules:

git clone --recurse-submodules https://github.com/EvolutionGym/evogym.git

Requirements

On Linux only:

sudo apt-get install xorg-dev libglu1-mesa-dev

Either install Python dependencies with conda:

conda env create -f environment.yml
conda activate evogym

or with pip:

pip install -r requirements.txt

Build and Install Package

To build the C++ simulation, build all the submodules, and install evogym run the following command:

python setup.py install

Test Installation

cd to the examples folder and run the following script:

python gym_test.py

This script creates a random 5x5 robot in the Walking-v0 environment. The robot is taking random actions. A window should open with a visualization of the environment -- kill the process from the terminal to close it.

Usage

Examples

To see example usage as well as to run co-design and control optimization experiments in EvoGym, please see the examples folder and its README.

Tutorials

You can find tutorials for getting started with the codebase on our website. Completed code from all tutorials is also available in the tutorials folder.

Docs

You can find documentation on our website.

Design Tool

For instructions on how to use the Evolution Gym Design Tool, please see this repo.

Citation

If you find our repository helpful to your research, please cite our paper:

@article{bhatia2021evolution,
  title={Evolution gym: A large-scale benchmark for evolving soft robots},
  author={Bhatia, Jagdeep and Jackson, Holly and Tian, Yunsheng and Xu, Jie and Matusik, Wojciech},
  journal={Advances in Neural Information Processing Systems},
  volume={34},
  year={2021}
}

evogym's People

Contributors

jagdeepsb avatar yunshengtian avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.