Giter VIP home page Giter VIP logo

tol-revolve's Introduction

Triangle of Life - Revolve (work in progress)

An implementation of the triangle of life using the Revolve robot evolution framework. It uses mostly the default components delivered by Revolve, and implements with it the body space of Robogen. Robots are generated in the Simulation Description Format to be simulated with Gazebo.

As with Revolve, the philosophy is to write only the parts that require high performance in C++, leaving the ability to write other pieces in a language of choice (because "if you don't require performance, why would you write C++?" - proper attribution for this quote will follow once I find out who said it). Gazebo provides a convenient plugin architecture and (publish / subscribe) communication framework with Protobuf messages that allows us to achieve just that.

Practically this means that this package provides the following:

  • An implementation of Revolve's default robot architecture using Robogen's body space
  • A genotype for these robots, along with a genotype => phenotype converter (relying heavily on Revolve)
  • A Gazebo world and world plugin, written in C++, that gathers relevant information and publishes it using Gazebo's communication channels. The idea here is to have the C++ plugin do some filtering to keep communication and analysis in Python to a minimum.
  • A Python server that basically manages the world - it keeps track of all the robots in it and communicates through Gazebo's channels to create new ones / destroy old ones. To do this might use the information provided by the world plugin and that published on other channels.

tol-revolve's People

Contributors

eltehupkes avatar raki123 avatar

Watchers

James Cloos avatar  avatar

Forkers

arashparnia

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.