Robogen with Source

Not sure about which version to use? Visit Installation page for more details.

Linux (Ubuntu)

Note: Reference Linux is Ubuntu 14.04 LTS, but you should be able to run on other versions of Linux as well. You could also use Windows 10’s Ubuntu bash terminal.

Note: We assume that as a Linux user you know how to use the terminal. Otherwise, we recommend looking at a tutorial.

Preparing your environment

Type the following on the command line to install the necessary dependencies and tools:

sudo apt-get install zlib1g zlib1g-dev libboost1.54-all-dev libprotobuf-dev protobuf-compiler \
gnuplot libopenscenegraph-dev libopenscenegraph99 cmake build-essential \
libtool automake libpng12-dev libjansson-dev git

Note: If you are using a different version of Ubuntu replace libboost1.54-all-dev and libopenscenegraph99 with the versions that are available in your repositories (tested with Boost 1.48 or newer and libopenscenegraph80). For ubuntu 15.04 use libopenscenegraph100v5 and libboost1.58-all-dev instead.

Note: If you wish to generate files to use with the WebGL Visualizer, we recommend installing the latest version of jansson from source.  This will allow you create significantly smaller simulation files.

Note: We also recommend installing nautilus-open-terminal (restart with ‘nautilus -q’ afterwards) so that you can open the terminal in a given directory with a right-click. For other distributions, package names may vary. 

Note: if you would like to be able to use scriptable scenarios for writing custom fitness functions and scenario configurations without needing to modify the code, then you will additionally need Qt5, since this functionality relies on QtScript. This can be done as follows.  (Without this, RoboGen will still build, but this functionality will be disabled).

sudo apt-get install qt5-default qtscript5-dev

Next, download the Open Dynamics Engine version 0.14 and extract it using the following commands.

wget "https://bitbucket.org/odedevs/ode/downloads/ode-0.14.tar.gz"
tar -zxvf ode-0.14.tar.gz

Install the ODE and configure it using following commands. (For further reference in installing use ‘BUILDING WITH AUTOTOOLS’ in INSTALL.txt ).

cd ode-0.14
./bootstrap
./configure --enable-double-precision --with-cylinder-cylinder=libccd 
sudo make install -j

Now Proceed to Compiling RoboGen on Mac/Linux.

Mac OS

Note: This has been tested on OS X version 10.8.4 (there are some comments for 10.6.8) and might work differently with other versions

Important: In the Mac terminal you need to type “./” in front of the name of a program located in the current directory to execute it.

Preparing your environment

First, you will need to install the command line tools for Mac, if you haven’t done so yet. We will be working out of the terminal, which you can find under Applications/Utilities. Type “gcc -v” to see whether you have the command line tools installed. If gcc is not found, you need to install the command line tools. To do so, go to https://developer.apple.com/downloads (you will need an Apple ID), browse for “command line tools” (for Mac 10.6: Xcode 3.2.6 and iOS SDK for Snow Leopard (skip iOS tools when installing – untick iOS in “essentials”)), download and install. Now, when you type “gcc -v”, you should see some information about your freshly installed gcc compiler.

To install the dependencies that will be used for RoboGen, we are going to use the Brew package manager. If you already have macports or fink installed, you should use those. To install brew, type:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

You can view a basic brew help typing “brew help”. As the brew installation suggests, we will run the brew self-checks before doing anything else:

brew doctor

If possible, you should fix all warnings before continuing. Next, we install all dependencies that are available through brew. We must first change the owner of /usr/local though:

sudo chown -R `whoami` /usr/local

Installing libraries

brew install cmake libpng boost protobuf gnuplot open-scene-graph open-scene-graph jansson ode \
--enable-double-precision --enable-libccd

During the installation, you might be prompted to obtain XQuartz. Get it from http://xquartz.macosforge.org/landing/ and re-run the installation command.

Now Proceed to Compiling RoboGen on Mac/Linux.

Compiling RoboGen on Mac/Linux.

Get the source code

Now you can either download the latest release from github, or clone the repository for the most bleeding edge code:

Clone from Git

Open the directory where you want to install RoboGen in the terminal and clone the repository:

git clone https://github.com/lis-epfl/robogen

Compilation

cd to the robogen/build directory and execute:

cmake -DCMAKE_BUILD_TYPE=Release -G"Unix Makefiles" ../src/
make -j3

Note: The -j flag of make enables parallel build. We have observed that fully parallelizing can make the system lag, so we recommend using one instance less, which is 3 for a four-core system.

Note: On Mac 10.6 Snow Leopard you’ll need to go into src/cmake/CustomPath.cmake and change set (PNG_LIBRARY “${UTILS_PATH}/lib/libpng.a”) to set (PNG_LIBRARY “${UTILS_PATH}/opt/libpng/lib/libpng.a”)

If everything compiles you can continue to usage examples to start using RoboGen.

If anything goes wrong, it is possible that your dependencies are installed in different directories than ours. The first place to look for solutions is robogen/src/cmake/CustomPath.cmake, which specifies the locations of various dependencies.  If you can’t figure it out on your own, head on over to our Google Group and ask for help.

Windows Source Install

Preparation

Install the following software:

  • Visual Studio Express 2010 (you are welcome to try a newer version and report how it worked out)
  • git-scm
  • Cmake

Get the source code

Now you can either download the latest release from github, or clone the repository for the most bleeding edge code:

Clone from Git

Open git bash and cd into the directory where you want to clone the source code (note: use the “Insert” button to paste in git bash). Perform:

git clone https://github.com/lis-epfl/robogen

Download robogen-dev-Windows.zip and unzip it into your Robogen folder.

Support for Scriptable Scenarios

If you would like to be able to use scriptable scenarios for writing custom fitness functions and scenario configurations without needing to modify the code, then you will additionally need Qt5, since this functionality relies on QtScript.  Some of the options for Qt5 are provided here: http://www.npcglib.org/~stathis/blog/precompiled-qt4-qt5/

Once you have the appropriate Qt downloaded, you should simply uncomment line 7 of robogen/src/cmake/CustomPath.cmake and modify the path to point to the Qt5.5 instance you just downloaded.

If you do not do this, everything else will still work, but you will not be able to use scriptable scenarios.

Compilation

In robogen/src/cmake/CustomPath.cmake, modify line 6 “set(UTILS_PATH “D:/robogen/utils”)” to point to the folder of the same name in the folder you just extracted.

Open CMAKE GUI, enter the ROBOGEN_HOME/src in “Where to find the source” and ROBOGEN_HOME/build in “Where to build the source”. Click on Configure and when done, on Generate to create a solution for Visual Studio. If you get some errors, it is very likely that the path in your ‘CustomPath.cmake’ is still defined incorrectly.

Then, from Visual Studio open the solution “RoboGen.sln” that can be found in ROBOGEN_HOME/build.

In robogen/build open RoboGen.sln. If you will be asked to choose the application – press OK. In the ‘Solution Explorer’ window right-click on the ‘ Solution ‘RoboGen’ (6 projects)’ and select ‘Rebuild Solution’. This will allow you to compile the whole solution file with 6 projects. If you want to compile a particular project, right-click on it and select ‘Project Only’ then ‘Rebuild Only YourProject’. The compilation of the whole solution might take a few minutes.

Locate the compiled executables – unlike in Mac or Linux, they should be in a folder robogen/build/Debug or robogen/build/Release, then copy the executables in the robogen/run directory  – it contains all the necessary dlls. Alternatively, you can Debug the program straight from Visual Studio:

Debugging straight from Visual Studio

You can configure Visual Studio to Debug with “run” as working directory. Right-click on the project you want to configure for this and select ‘Properties’. On the left side you will find a tree where properties of this project can be defined. Select ‘Configuration Properties’ then ‘Debugging’. On the right side modify the value of the field ‘Working Directory’ from ‘$(ProjectDir)’ to ‘$(ProjectDir), ./../../run’ (without quotes) now when you run your executable file, it will view the ‘run’ directory as its working directory and so it will be able to look at .dll and any other files located in this directory without specifying the path. Now you can also modify the field of ‘Command Arguments’ to set program arguments you want to use for the Debugging or testing of your changes. Run the current project with F5.

If you run into difficulties, with any of this, head on over to our Google Group and ask for help.

Modifying The Source Code

If you plan on modifying the source code, we recommend installing Eclipse with the C/C++ development tools

On Ubuntu

sudo apt-get install eclipse eclipse-cdt

For other OSes, download the “Eclipse IDE for C/C++ Developers” from http://www.eclipse.org/downloads/ .

Then, rerun CMake to generate the proper project files and set you up to be able to debug:

cmake -DCMAKE_BUILD_TYPE=Debug -G"Eclipse CDT4 - Unix Makefiles" ../src/

If successful, you can now import the robogen project into any Eclipse workspace by selecting “File”->”Import”->”General”->”Existing projects into workspace”. Select robogen/build as the root directory and click “finish”.

You will now be able to compile the code from Eclipse or by simply typing in robogen/build:

make -j3