Install » History » Revision 5
Revision 4 (Jules Waldhart, 2017-04-28 10:11) → Revision 5/6 (Matthieu Herrb, 2017-05-02 19:01)
h1. 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. {{toc}} h2. From robotpkg Please refer to the "openrobots wiki":https://www.openrobots.org/wiki/move3d. Note that it will **not** use the sources found here, but former ones (updated on a less frequent basis). h2. From latest sources This repo is the one we use for publishing the latest developments. We assume you have setup "openrobots":https://openrobots.org 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: <pre> git://redmine.laas.fr/laas/move3d/libmove3d.git git://redmine.laas.fr/laas/users/jwaldart/move3d/libmove3d.git git://redmine.laas.fr/laas/move3d/hri.git git://redmine.laas.fr/laas/users/jwaldart/move3d/hri.git git://redmine.laas.fr/laas/move3d/planners.git git://redmine.laas.fr/laas/users/jwaldart/move3d/planners.git git://redmine.laas.fr/laas/move3d/studio.git git://redmine.laas.fr/laas/users/jwaldart/move3d/studio.git </pre> Then create a build directory in each one, run cmake and make (see appendices for tuning): <pre><code> 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) </code></pre> Reproduce these steps for hri, and then planners. For studio, you need to give some more parameters to cmake: <pre> cmake .. -DMOVE3D_QT=ON -DCMAKE_INSTALL_PREFIX=${ROBOTPKG_BASE} </pre> h2. 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) : <pre> git://redmine.laas.fr/laas/users/jwaldart/move3d/assets.git </pre> And then some more data, mainly configuration files, you have to clone (by default in ~/openrobots/data) : <pre> git://redmine.laas.fr/laas/users/jwaldart/move3d/data.git </pre> 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): <pre> export HOME_MOVE3D=~/openrobots/data/BioMove3d </pre> h2. Appendices h3. 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. <pre> 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 </pre> 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":http://ab-initio.mit.edu/wiki/index.php/NLopt. You will need to build with some options: <pre> ./configure --prefix=$ROBOTPKG_BASE --with-pic --enable-shared make && make install </pre> h3. 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. h4. 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: <pre> -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 </pre> And this to the cmake command of move3d-studio: <pre> -DBoost_INCLUDE_DIR=${ROBOTPKG_BASE}/include -DBoost_LIBRARY_DIRS=${ROBOTPKG_BASE}/lib </pre> h4. ROS If you are using ROS, and want to use move3d libraries inside ROS nodes (e.g. through "move3d_ros_lib":https://github.com/laas/move3d_ros_lib), you need to set the following options in libmove3d: <pre> USE_ROS_URDF=ON USE_ROBOTMODELPARSER=OFF </pre> h4. URDF If you don't use ROS but want to use URDF files inside move3d, you need to set in libmove3d: <pre> USE_ROBOTMODELPARSER=ON </pre> It will require one more dependency, found in "robotpkg/wip":http://robotpkg.openrobots.org/robotpkg-wip.html : robotModelParser-libs