Project

General

Profile

Actions

Install

Two ways to install move3d are presented. We recommend to start with the fist one (robotpkg will automatically install the dependencies, then you will be able to compile developer versions outside robotpkg easily).

Check the Dependencies appendix bellow if you never installed move3d on your computer.

From robotpkg

Please refer to the openrobots wiki.

Note that it will not use the sources found here, but former ones (updated on a less frequent basis).

From latest sources

This repo is the one we use for publishing the latest developments.

We assume you have setup openrobots already. If not, do it following the indications to install from robotpkg, or don't, but you'll need to tune everything (good understanding of UNIX and compilers required).

Clone the corresponding projects onto your computer, e.g. in your "src" directory, git clone the following repos:

git://redmine.laas.fr/laas/move3d/libmove3d.git
git://redmine.laas.fr/laas/move3d/hri.git
git://redmine.laas.fr/laas/move3d/planners.git
git://redmine.laas.fr/laas/move3d/studio.git

Then create a build directory in each one, run cmake and make (see appendices for tuning):


cd libmove3d #then hri, planners
mkdir build; cd build
cmake .. -DCMAKE_INSTALL_PREFIX=${ROBOTPKG_BASE} # According to want you want to do, you may need to add options here. Check before building to spare time.
         # you can add -DCMAKE_BUILD_TYPE=Debug to build with debug information
make install # we recommend to use the -jn option to use all your available cores for building (change the n to the number of cores, generally 4 or 8)

Reproduce these steps for hri, and then planners.
For studio, you need to give some more parameters to cmake:

cmake .. -DMOVE3D_QT=ON -DCMAKE_INSTALL_PREFIX=${ROBOTPKG_BASE}

Needed data

Whatever the way of installing move3d you picked, it needs some specific data to run.

First of all the environment and robot descriptions are made in p3d file format. For now they are all located in one repo that you need to clone on your machine (by default in ~/openrobots/shared/assets) :

git://redmine.laas.fr/laas/move3d/assets.git

And then some more data, mainly configuration files, you have to clone (by default in ~/openrobots/data) :

git://redmine.laas.fr/laas/move3d/data.git

You also need to set the environment variable HOME_MOVE3D to the path to the folder BioMove3d, e.g. (put this in your .bashrc or so):

export HOME_MOVE3D=~/openrobots/data/BioMove3d

Appendices

Dependencies

In any case, you will need the following packages (install via apt-get install). Missing some will cause following steps to ask you to install the packages.

build-essential libx11-dev libxml2-dev libgl1-mesa-dev libglu-dev libxpm-dev glpk libgsl0-dev libgts-dev libqhull-dev libqt4-dev libqwt-dev libformsgl-dev libforms-dev swig tcl-dev tk-dev libboost-dev libboost-filesystem-dev libboost-iostreams-dev libboost-math-dev libboost-thread-dev freeglut3-dev libeigen3-dev liblog4cxx10-dev libjsoncpp-dev

The list is based on a minimal ubuntu distribution (12.04), most of them are probably already installed on your computer.

You will also need nlopt. On ubuntu >=14.04, install via apt-get the package libnlopt-dev. On older versions, get the source code from NLopt website. You will need to build with some options:

./configure --prefix=$ROBOTPKG_BASE --with-pic --enable-shared
make && make install

Tuning the configuration

You can tune the configuration by settings some parameters via cmake. Using ccmake is a good GUI to do so. According to what you want to do or use move3d for, or what dependencies you want to use, you may need to tweak them.

Boost on Ubuntu 12.04

If you are on Ubuntu 12.04 and installed boost from robotpkg like in previous section ("From robotpkg"), and have boost also installed on your machine, you will have to specify to cmake where to get the good version.

Add this to the cmake command of libmove3d-planners:

-DBoost_INCLUDE_DIR=${ROBOTPKG_BASE}/include -DBoost_LIBRARY_DIRS=${ROBOTPKG_BASE}/lib -DBoost_THREAD_LIBRARY=${ROBOTPKG_BASE}/lib/libboost_thread-mt.so -DBoost_THREAD_LIBRARY_DEBUG=${ROBOTPKG_BASE}/lib/libboost_thread-mt.so -DBoost_THREAD_LIBRARY_RELEASE=${ROBOTPKG_BASE}/lib/libboost_thread-mt.so

And this to the cmake command of move3d-studio:

-DBoost_INCLUDE_DIR=${ROBOTPKG_BASE}/include -DBoost_LIBRARY_DIRS=${ROBOTPKG_BASE}/lib

ROS

If you are using ROS, and want to use move3d libraries inside ROS nodes (e.g. through move3d_ros_lib), you need to set the following options in libmove3d:

USE_ROS_URDF=ON
USE_ROBOTMODELPARSER=OFF

URDF

If you don't use ROS but want to use URDF files inside move3d, you need to set in libmove3d:

USE_ROBOTMODELPARSER=ON

It will require one more dependency, found in robotpkg/wip : robotModelParser-libs

Updated by Matthieu Herrb about 7 years ago · 6 revisions