Project

General

Profile

Install » History » Revision 3

Revision 2 (Jules Waldhart, 2016-12-07 15:18) → Revision 3/6 (Jules Waldhart, 2016-12-07 16:03)

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/users/jwaldart/move3d/libmove3d.git 
 git://redmine.laas.fr/laas/users/jwaldart/move3d/hri.git 
 git://redmine.laas.fr/laas/users/jwaldart/move3d/planners.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 also for the way of installing move3d you picked, it needs some specific data to run. (in your ~/openrobots/data/) 
 git://redmine.laas.fr/laas/users/jwaldart/move3d/data.git 

 First of all and for 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 assets (by default in ~/openrobots/shared/assets) 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> 


 



 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