Ceci est une ancienne révision du document !
Table des matières
OrbSlam
Installation sur Ubuntu 14.04:
Suivre pas à pas les recommendations du lien suivant :
https://github.com/raulmur/ORB_SLAM
En résumé, installer les librairies nécessaires, libBoost en premier :
sudo apt-get install libboost-all-dev
Puis installer ROS indigo (pour ubuntu 14.04), suivre les instructions sur :
http://wiki.ros.org/indigo/Installation/Ubuntu
(Facultatif ) Installer g2o, DBoW2, qui sont en théorie installées avec ROS.
Ensuite cloner le dépôt:
git clone https://github.com/raulmur/ORB_SLAM.git ORB_SLAM
Ajouter ROS_PACKAGE_PATH dans votre .bashrc
Compiler g2o dans le dossier:
cd ORB_SLAM/Thirdparty/g2o/ mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release make
Compiler DBoW2
cd ORB_SLAM/Thirdparty/g2o/ mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release make
IMPORTANT, pour ROS INDIGO, Enlever dans le manifest.xml la dépendance à opencv2 Compiler ORB_SLAM dans le répertoire racine
mkdir build cd build cmake .. -DCMAKE_BUILD_TYPE=Release make
Utilisation
Pour lancer ORB_SLAM, lancer tout d'abord ROS
roscore
Lancer pour INDIGO
roslaunch ExampleGroovyOrNewer.launch
Cette exemple lance ORB_SLAM, image_view et Rviz. Télécharger ensuite un rosbag d'exemple à l'adresse suivante :
http://webdiis.unizar.es/~raulmur/orbslam/downloads/Example.bag.tar.gz.
Décompressez et éxecuter ensuite la commande suivante afin de charger le vocabulaire et les param caméra:
rosrun ORB_SLAM ORB_SLAM /Data/ORBvoc.txt /Data/Settings.yaml
Exécuter enfin l'exemple (appuyer ensuite sur espace pour démarrer):
rosbag play --pause Example.bag
LSD-SLAM
Pour ROS INDIGO et Ubuntu 14.04
sudo apt-get install python-rosinstall mkdir ~/rosbuild_ws cd ~/rosbuild_ws rosws init . /opt/ros/indigo mkdir package_dir rosws set ~/rosbuild_ws/package_dir -t . echo "source ~/rosbuild_ws/setup.bash" >> ~/.bashrc bash cd package_dir
Pour éxécuter l'exemple fourni à l'adresse suivante:
http://vision.in.tum.de/research/vslam/lsdslam
Lancer les commandes suivantes après avoir décompresser l'archive:
roscore rosrun lsd_slam_viewer viewer rosrun lsd_slam_core live_slam image:=/image_raw camera_info:=/camera_info rosbag play LSD_room.bag
Pour lancer une séquence
rosrun lsd_slam_core dataset_slam _files:=images/ _hz:=0 _calib:=pinhole_example_calibWS.cfg
Avec _files le chemin vers un dossier contenant les images, ou un fichier contenant le chemin/nom des images, _hz la fréquence des images, et _calib un fichier de calibration ( Voir LSD_SLAM github pour la forme du fichier)
Exemple
Sur la séquence roomBag.bag de test:
Sur la séquence fr1desk2, fail du tracking entre 25 et 100 frames suivant la fréquence renseignée:
Sur une séquence crée avec tablette Samsung :
= NB =
Les auteurs ont réussi à exécuter ce slam sur smartphone (sony Xperia Z1). Voir le papier
Semi-Dense Visual Odometry for AR on a Smartphone (T. Schöps, J. Engel, D. Cremers), In International Symposium on Mixed and Augmented Reality, 2014.
Et la vidéo de démonstration :
https://www.youtube.com/watch?feature=player_embedded&v=X0hx2vxxTMg
BagFromImages
Cet outils sert à créer un ros bag à partir d'un ensemble d'images
git clone https://github.com/raulmur/BagFromImages.git BagFromImages
cd BagFromImages mkdir build cd build cmake .. make
Créer un ros bag à partir de l'ensemble d'image en utilisant :
rosrun BagFromImages BagFromImages PATH_TO_IMAGES IMAGE_EXTENSION FREQUENCY PATH_TO_OUPUT_BAG
NOTES
Il y a de nombreux problèmes à gérer pour l'installation concurrente de ORB_SLAM et LSD_SLAM
Pour un éventuel soucis avec g2o ( Orbslam ne parvient pas à initialiser et erreur undefined symbol: _ZN3g2o17EdgeSE3ProjectXYZC1Ev) voir :
https://github.com/raulmur/ORB_SLAM/issues/17
Il est également nécessaire de gérer les ROS_PATH qui change en fonction du soft à utiliser.
DPPTAM
Suivre l'installation depuis :
https://github.com/alejocb/dpptam
Il est nécessaire d'installer ROS, PCL et BOOST.
Installation
Aller dans votre répertoire source catkin :
cd ~/catkin_ws/src
Puis cloner le dépôt depuis github :
git clone https://github.com/alejocb/dpptam.git
Compilation
Retourner dans le dossier racine de catkin
cd ~/catkin_ws catkin_make --pkg dpptam
DPPSLAM utilise un soft tiers pour les superpixels, basée sur le papier
Efficient Graph-Based Image Segmentation. P. Felzenszwalb, D. Huttenlocher. International Journal of Computer Vision, Vol. 59, No. 2, September 2004
Il faut donc le compiler :
cd ~/catkin_ws/src/dpptam/ThirdParty/segment make
NB: thirdparty semblait déjà compilé dans mon cas, éventuellement faire make clean puis make.
Utilisation
Pour utiliser dpptam, il faut se mettre dans le répertoire racine catkin:
cd ~/catkin_ws
Lancer dpptam
rosrun dpptam dpptam
Si le package dpptam n'existe pas ou n'est pas trouvé par ros, lancer la commande
source devel/setup.bash
Lancer le visualisateur d'image ( ne fonctionne pas chez moi pour le moment)
rosrun image_view image_view image:=/dpptam/camera/image
Lancer rviz:
rosrun rviz rviz
Voir le lien suivant pour la configuration de rviz: https://www.dropbox.com/s/pymufqi2i2aixys/visualization_rviz.png?oref=e&n=314995776
Le global Status ne sera pas Ok tant que le rosbag ne sera pas lancer:
rosbag play yourRosBag.bag
Fichier de config Yaml
Il est nécessaire également de configurer le fichier dpptam/src/data.yml. Par exemple pour le rosbag lab_unizar.bag fourni par les auteurs:
camera_path:"/camera/rgb/image_color" cameraMatrix: !!opencv-matrix rows: 3 cols: 3 dt: d data: [ 520.908620, 0., 325.141442, 0., 521.007327 , 249.701764, 0., 0., 1. ] distCoeffs: !!opencv-matrix rows: 5 cols: 1 dt: d data: [ 0.231222, -0.784899, -0.003257, -0.000105, 0.917205 ]
Il faut mettre à jour le camera_path avec celui ou se trouve les images brutes, et également les coefficients caméra.
Fermer et relancer dpptam pour prendre en compte les modifications.