Framework for modular robotics locomotion and control research and testing.
This is part of my Bachelor's thesis work.
Author: David Estevez Fernandez
- 1.Introduction
- 2.Compile and run
- 2.0.Disclaimer
- 2.1.Dependencies
- 2.2.Compiling
- 3.Doxygen documentation
- 4.More info
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.
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.
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:
CMake can be installed from the repositories:
$ sudo apt-get install cmake
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.
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
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
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
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
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
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.
There is doxygen-generated documentation available for hormodular here.
More info, as well as the whole Bachelor's Thesis, can be found at (link here).