Install » History » Version 4
Jules Waldhart, 2017-04-28 10:11
add HOME_MOVE3D
1 | 1 | Jules Waldhart | h1. Install |
---|---|---|---|
2 | |||
3 | 2 | Jules Waldhart | 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). |
4 | |||
5 | **Check the Dependencies appendix** bellow if you never installed move3d on your computer. |
||
6 | |||
7 | {{toc}} |
||
8 | |||
9 | 1 | Jules Waldhart | h2. From robotpkg |
10 | |||
11 | Please refer to the "openrobots wiki":https://www.openrobots.org/wiki/move3d. |
||
12 | |||
13 | 2 | Jules Waldhart | Note that it will **not** use the sources found here, but former ones (updated on a less frequent basis). |
14 | 1 | Jules Waldhart | |
15 | h2. From latest sources |
||
16 | |||
17 | This repo is the one we use for publishing the latest developments. |
||
18 | |||
19 | 2 | Jules Waldhart | 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). |
20 | |||
21 | 1 | Jules Waldhart | Clone the corresponding projects onto your computer, e.g. in your "@src@" directory, git clone the following repos: |
22 | |||
23 | <pre> |
||
24 | git://redmine.laas.fr/laas/users/jwaldart/move3d/libmove3d.git |
||
25 | git://redmine.laas.fr/laas/users/jwaldart/move3d/hri.git |
||
26 | git://redmine.laas.fr/laas/users/jwaldart/move3d/planners.git |
||
27 | git://redmine.laas.fr/laas/users/jwaldart/move3d/studio.git |
||
28 | </pre> |
||
29 | |||
30 | 2 | Jules Waldhart | Then create a build directory in each one, run cmake and make (see appendices for tuning): |
31 | 1 | Jules Waldhart | |
32 | 2 | Jules Waldhart | <pre><code> |
33 | cd libmove3d #then hri, planners |
||
34 | mkdir build; cd build |
||
35 | 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. |
||
36 | # you can add -DCMAKE_BUILD_TYPE=Debug to build with debug information |
||
37 | 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) |
||
38 | </code></pre> |
||
39 | 1 | Jules Waldhart | |
40 | 2 | Jules Waldhart | Reproduce these steps for hri, and then planners. |
41 | For studio, you need to give some more parameters to cmake: |
||
42 | |||
43 | <pre> |
||
44 | cmake .. -DMOVE3D_QT=ON -DCMAKE_INSTALL_PREFIX=${ROBOTPKG_BASE} |
||
45 | </pre> |
||
46 | |||
47 | 3 | Jules Waldhart | h2. Needed data |
48 | 1 | Jules Waldhart | |
49 | 3 | Jules Waldhart | Whatever the way of installing move3d you picked, it needs some specific data to run. |
50 | |||
51 | 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) : |
||
52 | <pre> |
||
53 | 1 | Jules Waldhart | git://redmine.laas.fr/laas/users/jwaldart/move3d/assets.git |
54 | 3 | Jules Waldhart | </pre> |
55 | 1 | Jules Waldhart | |
56 | 3 | Jules Waldhart | And then some more data, mainly configuration files, you have to clone (by default in ~/openrobots/data) : |
57 | <pre> |
||
58 | git://redmine.laas.fr/laas/users/jwaldart/move3d/data.git |
||
59 | </pre> |
||
60 | 1 | Jules Waldhart | |
61 | 4 | Jules Waldhart | 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): |
62 | <pre> |
||
63 | export HOME_MOVE3D=~/openrobots/data/BioMove3d |
||
64 | </pre> |
||
65 | |||
66 | 1 | Jules Waldhart | |
67 | h2. Appendices |
||
68 | 2 | Jules Waldhart | |
69 | h3. Dependencies |
||
70 | |||
71 | 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. |
||
72 | |||
73 | <pre> |
||
74 | 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 |
||
75 | </pre> |
||
76 | |||
77 | The list is based on a minimal ubuntu distribution (12.04), most of them are probably already installed on your computer. |
||
78 | |||
79 | 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: |
||
80 | <pre> |
||
81 | ./configure --prefix=$ROBOTPKG_BASE --with-pic --enable-shared |
||
82 | make && make install |
||
83 | </pre> |
||
84 | |||
85 | h3. Tuning the configuration |
||
86 | |||
87 | 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. |
||
88 | |||
89 | h4. Boost on Ubuntu 12.04 |
||
90 | |||
91 | 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. |
||
92 | |||
93 | Add this to the cmake command of libmove3d-planners: |
||
94 | |||
95 | <pre> |
||
96 | -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 |
||
97 | </pre> |
||
98 | |||
99 | And this to the cmake command of move3d-studio: |
||
100 | <pre> |
||
101 | -DBoost_INCLUDE_DIR=${ROBOTPKG_BASE}/include -DBoost_LIBRARY_DIRS=${ROBOTPKG_BASE}/lib |
||
102 | </pre> |
||
103 | |||
104 | h4. ROS |
||
105 | |||
106 | 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: |
||
107 | <pre> |
||
108 | USE_ROS_URDF=ON |
||
109 | USE_ROBOTMODELPARSER=OFF |
||
110 | </pre> |
||
111 | |||
112 | h4. URDF |
||
113 | |||
114 | If you don't use ROS but want to use URDF files inside move3d, you need to set in libmove3d: |
||
115 | <pre> |
||
116 | USE_ROBOTMODELPARSER=ON |
||
117 | </pre> |
||
118 | It will require one more dependency, found in "robotpkg/wip":http://robotpkg.openrobots.org/robotpkg-wip.html : robotModelParser-libs |