Procedure to install the Drone / GenoM / Fiacre-Tina-Hippo simulation experiment.
This procedure as been tested with Ubuntu 18.04. Your mileage may vary if you try it with other setup. As a guideline, we propose to install these software in the following directory:
-
System wide software are installed as usual, using
apt-get install
(this includes ROS, Gazebo, Rviz, etc). -
all the robotic software available under
robotpkg
will be installed in${HOME}/openrobots
(but the source and build directory is still${HOME}/robotpkg
) -
while all the other software (specific genom3 templates, genom3 components, etc) will be installed in
${HOME}/work
.
All the GenoM3 modules we are using are in fact available under robotpkg, but we need to install them individually
to synthesize the Fiacre formal model. Indeed, for this wee need the .gen file, and the corresponding codels library
(which will be linked to the Fiacre model and Hippo engine).
|
The Gazebo Drone simulator
One needs to install gazebo
on your machine. Unless you have a strong reason not to, use the robotpkg install procedure (see below).
One also needs to install two gazebo plugins given here for reference, but again, unless you have a strong reason not to, use the robotpkg install procedure (see below):
-
mrsim-gazebo for multi-rotor simulation.
-
optitrack-gazebo that emulates an OptiTrack Motion Capture system.
Installing robotpkg, Gazebo plugins and GenoM3 modules
Installing robotpkg
Follow the instructions on the robotpkg install page, which we sum up here:
First, make sure that you have the gnu-make software available on your system (version 3.81 or later required), as well as a working C compiler chain.
In short:
cd ${HOME} git clone git://git.openrobots.org/robots/robotpkg cd robotpkg/bootstrap ./bootstrap --prefix=${HOME}/openrobots
This will set up robotpkg
to install new robotpkg package in ${HOME}/openrobots
At this point, you must modify your ${HOME}/.bashrc
file to setup a number of environment variables. These environement variables are not
all required for now, but they will be for the rest of the installation.
export PATH=${HOME}/work/bin:${HOME}/work/sbin:${HOME}/openrobots/sbin:${HOME}/openrobots/bin:${PATH} export PKG_CONFIG_PATH=${HOME}/work/lib/pkgconfig:${HOME}/work/lib/pkgconfig/genom/pocolibs:${HOME}/openrobots/lib/pkgconfig:${PKG_CONFIG_PATH} export PYTHONPATH=${HOME}/work/lib/python2.7/site-packages:${HOME}/openrobots/lib/python2.7/site-packages:${PYTHONPATH} export GAZEBO_PLUGIN_PATH=${HOME}/openrobots/lib/gazebo:${GAZEBO_PLUGIN_PATH} export GAZEBO_MODEL_PATH=${HOME}/openrobots/share/gazebo/models:${GAZEBO_MODEL_PATH} export GENOM_TMPL_PATH=${HOME}/work/share/genom/site-templates:${HOME}/openrobots/share/genom/site-templates
In case you are installing the software in other directories than the one proposed above, you will have to modify these variables accordingly. |
You need to start a new terminal/shell for these variables to take effect. |
Installing robotpkg packages
As a general rule, to install a robotpkg
package, you must locate it in the ${HOME}/robotpkg
directory, cd
in this
directory and then execute make update
. Example, to install genom3
, which is located in
${HOME}/robotpkg/architecture/genom3
, you need to type:
cd ~/robotpkg/architecture/genom3 make update
Chances are that some system tools/programs may be missing. robotpkg will warn you and ask you to install them
before proceeding. It will even give you the name of the package for your specific Linux distribution. For example if
bison is missing, robotpkg will report it, and you need to install it with:
|
sudo apt-get install bison
Using robotpkg
, you need to install: (for each of them, execute make update
in the proper directory)
-
genom3-pocolibs ~/robotpkg/architecture/genom3-pocolibs (as a side effect of the dependencies, this will install
genom3
). This package includes the genom3 pocolibs templates. -
eltclsh ~/robotpkg/shell/eltclsh
-
genomix ~/robotpkg/net/genomix
-
tcl-genomix ~/robotpkg/supervision/tcl-genomix. This package includes the tcl code to interact with genom3 modules from an eltclsh shell.
-
openrobots2-idl ~/robotpkg/interfaces/openrobots2-idl . This package includes a number of IDL definitions used in most of the modules bellow.
-
mrsim-gazebo ~/robotpkg/simulation/mrsim-gazebo
-
optitrack-gazebo ~/robotpkg/simulation/optitrack-gazebo
-
libkdtp ~/robotpkg/path/libkdtp
Installing the GenoM modules used for the Drone experiment
In case they are not already installed, install vcs
and libudev-dev`with (with ubuntu 20.04 it is `python3-vcstool
):
sudo apt install python-vcstool libudev-dev
All the remaining components are git cloned, compiled and installed in ~/work
mkdir -p ~/work/drone cd ~/work/drone git clone git://redmine.laas.fr/laas/users/felix/drone-v-v-install.git install
vcs will extract the five modules at once.
vcs import -w 1 <install/drone-genom3.repos
Still in ~/work/drone
, execute the shell script. This will build all the modules and install them in ${HOME}/work
.
./install/bootstrap.sh
Depending of your machine, you can get one or more cup of coffee.
For your information, for most of the modules, we are executing:
cd <module-dir> autoreconf -vif mkdir build cd build ../configure --prefix=${HOME}/work --with-templates=pocolibs/server,pocolibs/client/c make install
After this, you may need to install tmux
(a unix terminal tool to handle asynchronous output in multiple panes and windows) if it is no already installed.
Try:
tmux -V
If you get an error, install it:
sudo apt-get install tmux
At this point, everything you need to run the regular Drone experiment has been installed, and you can move to the How to run the simulation experiment page, or How to run the experiment on a real drone page.