Outils pour utilisateurs

Outils du site


Action disabled: diff
orbslam

Ceci est une ancienne révision du document !


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

ORBSLAM2

Cette version d'OrbSlam n'utilise pas ROS et permet également d'être utilisée avec une paire stéréo Caméra ou une Kinect. La version monoculaire à été légérement amélioré.

Pour l'installation, suivre les instructions ici :

https://github.com/raulmur/ORB_SLAM2

Pour l'utilisation, il faut lancer un executable, soit créer de toute pièce, soit un des exemples :

/Examples/Monocular/mono_kitti Vocabulary/ORBvoc.txt Examples/Monocular/KITTIX.yaml PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER 

Vocabulary/ORBvoc.txt est le chemin vers le vocabulaire ( fourni à l'avance) Examples/Monocular/KITTIX.yaml est le fichier de config lié à votre éxécutable ( Param caméra et param Slam) PATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER est le chemin vers votre séquence

Avec Qtcreator

Afin de l'utiliser dans qtcreator, vous pouvez ouvrir directement le CMakelist.txt, et si vous voulez voir les sources dans l'éditeur, modifié le Cmakelist.txt eny ajoutant :

FILE(GLOB_RECURSE LibFiles "include/*.h")
add_custom_target(headers SOURCES ${LibFiles})

Vous pouvez également ajoutez de nouveau exécutable adaptés à chaque situation.

add_executable(mono_live
Examples/Monocular/mono_live.cc)
target_link_libraries(mono_live ${PROJECT_NAME})
add_executable(mono_calib
Examples/Monocular/mono_calib.cc)
target_link_libraries(mono_calib ${PROJECT_NAME})

Ici on rajoute dans le Cmakelist un exécutable pour le calibrage et un pour le fonctionnement en live

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.

orbslam.1454338379.txt.gz · Dernière modification : 2016/02/01 15:52 de pagohard