Giter VIP home page Giter VIP logo

hormodular's Introduction

hormodular

Framework for modular robotics locomotion and control research and testing.

This is part of my Bachelor's thesis work.

Author: David Estevez Fernandez

Index

  • 1.Introduction
  • 2.Compile and run
    • 2.0.Disclaimer
    • 2.1.Dependencies
    • 2.2.Compiling
  • 3.Doxygen documentation
  • 4.More info

1. Introduction

Hormodular is a framework developed to find and test locomotion gaits for modular robots using evolutionary algorithms, as well as to develop and validate different controllers for discovering the robot configuration and selecting the correct gaits.

2. Compile and run


2.0 Disclaimer

This software was developed on 2014, so the instructions to compile and run it might be outdated / incomplete. It might require a bit of extra work on your side to get the code to compile.

2.1. Dependencies

This software has currently support only for GNU/Linux systems, and it is not guaranteed to work on Windows or Mac platforms.

The requirements for compiling and using the software are:

2.1.1. CMake

CMake can be installed from the repositories:

$ sudo apt-get install cmake

2.1.2. OpenRAVE

Detailed instructions for installing OpenRAVE can be found here. In a Ubuntu-based GNU/Linux system, the commands for installing OpenRAVE from the repositories are:

$ sudo add-apt-repository ppa:openrave/release
$ sudo apt-get update
$ sudo apt-get install openrave

Nevertheless, OpenRAVE can also be compiled from sources following the following instructions.

2.1.3. OpenMR plugin

The original code for OpenMR can be found here, although it is no longer maintained by the author, so we recommend downloading the latest version from our repository

2.1.4. ECF

Complete instructions for installing ECF can be found here

  • Download latest ECF (min. 1.3.2) and unzip

  • Install boost:

     sudo apt-get install libboost-dev
    
  • Compile and install ECF:

     $ ./configure [ --prefix=DIR ]
     $ make
     $ make install
    

Note: for me, this whole procedure didn't work, but fortunately there is a handy script called 'ecf_install.sh' in the ECF help folder that did work.

  • If you get some error related to the shared library not being found, run this:

     export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    

2.1.5. TinyXML2

The source for TinyXML2 can be found here and can be downloaded using git:

$ git clone https://github.com/leethomason/tinyxml2

Once it is downloaded, the following commands are used to install it:

$ mkdir build
$ cd build
$ cmake ..
$ make
$ sudo make install

2.1.5. Eigen3

If Eigen3 is available on the repositories, it can be installed with a single command:

$ sudo apt-get install libeigen3-dev

Otherwise, the soure code can be downloaded from their website, and installed using CMake (no compilation is required, as Eigen is a template library):

$ mkdir build
$ cd build
$ cmake ..
$ sudo make install

2.2 Compiling

2.2.1. Using CMake

The folder structure used is the typical of a CMake project. In order to compile the project open a terminal in the build directory (hormodular/build) and run this commands:

    $ cmake ..
    $ make

2.2.1. Using QtCreator

To open the software as a QtCreator project, the only thing needed is to open the main CMakeLists.txt (hormodular/CMakeLists.txt) with QtCreator. This will parse the whole project. Afterwards, press the "build" icon to build the project.

3. Doxygen documentation

There is doxygen-generated documentation available for hormodular here.

4. More info

More info, as well as the whole Bachelor's Thesis, can be found at (link here).

hormodular's People

Contributors

david-estevez avatar

Stargazers

 avatar  avatar

Watchers

 avatar  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.