Procedure to install the OSMOSIS / GenoM / Fiacre-Tina-Hippo simulation experiment.
This procedure as been tested with Ubuntu 18.04 and ROS Melodic. 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
.
Installing the Robotnik simulator (and ROS).
The simulator can be installed following the instructions on this link: https://osmosis.gitlab.io/experiment/simulation.html. The only difference, is that we propose to install it in the ${HOME}/work/osmosis_ws
ROS catkin workspace.
-
First install ROS and the package needed by the simulator:
sudo apt install ros-melodic-desktop-full \ ros-melodic-gazebo-ros ros-melodic-gazebo-plugins \ ros-melodic-costmap-2d ros-melodic-robot-localization \ ros-melodic-mavros-msgs ros-melodic-gmapping \ ros-melodic-navigation ros-melodic-xacro \ ros-melodic-hector-gazebo-plugins \ ros-melodic-teb-local-planner \ ros-melodic-ros-controllers \ ros-melodic-jsk-rviz-plugins \ python-vcstool libsdl2-dev asciidoctor
-
Then create a ROS workspace for the simulation, and clone the necessary repositories:
source /opt/ros/melodic/setup.bash mkdir -p ${HOME}/work/osmosis_ws/src cd ${HOME}/work/osmosis_ws/src git clone https://gitlab.com/osmosis/osmosis_simulation vcs import < osmosis_simulation/osmosis.repos cd .. catkin_make
Unless it is already the case, it is probably a good idea to put the source /opt/ros/melodic/setup.bash in
your .bashrc so that ROS is configured as soon as you log in.
|
-
Launch the simulation
cd ${HOME}/work/osmosis_ws source devel/setup.bash roslaunch osmosis_simulation summit_xl_simulation.launch
The initial position of the robot is not in 0, 0 (at the center of the map), but near the building on the right. |
-
Controlling the robot
You can test the simulation by sending direct commands to the robot using ROS. For instance, in a terminal:
cd ${HOME}/work/osmosis_ws source devel/setup.bash rostopic pub /summit_xl_a/robotnik_base_control/cmd_vel geometry_msgs/Twist '[0.2, 0.0, 0.0]' '[0.0, 0.0, -0.1]'
The robot should move forward 0.2 m/s
circling clockwise -0.1 rad/s
.
Installing robotpkg, GenoM3, etc
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 (copy paste the
following code after the source /opt/ros/melodic/setup.bash
you added earlier). 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 ROS_PACKAGE_PATH=${HOME}/work/share:${HOME}/openrobots/share:${ROS_PACKAGE_PATH} export PYTHONPATH=${HOME}/work/lib/python2.7/site-packages:${HOME}/openrobots/lib/python2.7/site-packages:${PYTHONPATH} 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. -
genom3-ros ~/robotpkg/architecture/genom3-ros . This package includes the genom3 ROS templates.
-
openrobots2-idl ~/robotpkg/interfaces/openrobots2-idl . This package includes a number of IDL definitions used in most of the modules bellow.
-
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.
Installing the GenoM modules used for the OSMOSIS navigation
All the remaining components are git cloned, compiled and installed in ~/work
cd ~/work
Installing Utilities
Most of the needed GenoM modules use the following two utility packages:
-
felix-idl
which defines some specific IDL data structures shared by the modules. Some of these structure masquerade ROS msg to be then displayed in Rviz.
git clone git://redmine.laas.fr/laas/users/felix/felix-idl.git cd felix-idl autoreconf -vif mkdir build cd build ../configure --prefix=${HOME}/work make install
-
felix-g3utils
which defines some macros and log functions used in writting codels.
git clone git://redmine.laas.fr/laas/users/felix/felix-g3utils.git cd felix-g3utils autoreconf -vif mkdir build cd build ../configure --prefix=${HOME}/work make install
Installing OSMOSIS Components
All the remaining modules are installed in ~/work/osmosis
. Most of these modules are also used in the
Minnie experiment, and an overall description can be found here:
https://redmine.laas.fr/projects/minnie/gollum/modules
mkdir -p ${HOME}/work/osmosis cd ~/work/osmosis git clone git://redmine.laas.fr/laas/users/felix/osmosis-install install
vcs will extract the nine modules at once (this may take a while).
vcs import -w 1 <install/osmosis-genom3.repos
Still in ~/work/osmosis
, 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 OSMOSIS experiment has been installed, and you can move to the How to run the experiment page.