MSF: Installation et lancement
##Révisions
Auteure : Eva
Date : 29 decembre 2015
Idiot-proofé par :
Source: https://pixhawk.org/dev/ros/visual_estimation
ORB SLAM Setup (ou n’importe quel autre algo de navigation visuelle)
Wiki(s) à venir
- Calibration cameras
- clone
- unzip voc
MSF Setup
Installation des dépendances
À l’intérieur du fichier src du workspace:
git clone https://github.com/ethz-asl/asctec_mav_framework
git clone https://github.com/ethz-asl/catkin_simple
git clone https://github.com/ethz-asl/gflags_catkin.git
git clone https://github.com/ethz-asl/glog_catkin
git clone https://github.com/ethz-asl/geodetic_utils.git
Installation de MSF
Encore à l’intérieur du fichier src du workspace:
git clone https://github.com/evter95/ethzasl_msf.git
Ceci est mon fork contenant les modifications nécessaires du code original suivant: https://github.com/ethz-asl/ethzasl_msf
Remove asctec_hl_gps dans le fichier asctec_mav_framework
catkin_make -j2
add launch file
##Changes in ORB SLAM
On veut que ORB SLAM publit un topic de type geometry_msgs/PoseStamped
Les changements nécessaires pour ce faire sont situés dans le pull request suivant: https://github.com/raulmur/ORB_SLAM/pull/33
Vous pouvez faire les modifications vous-mêmes ou utiliser mon fork
Dans inlcude/tracking.h:
Ajouter:
- debut:
#include geometry_msgs/PoseStamped.h" - ligne 186:
ros::NodeHandle n; ros::Publisher PosPub = n.advertise<geometry_msgs::PoseStamped>("ORB_SLAM/pose", 5);
Dans src/tracking.cc:
Ajouter:
- ligne 318:
geometry_msgs::PoseStamped poseMSG;
poseMSG.pose.position.x = tfTcw.getOrigin().x();
poseMSG.pose.position.y = tfTcw.getOrigin().y();
poseMSG.pose.position.z = tfTcw.getOrigin().z();
poseMSG.pose.orientation.x = tfTcw.getRotation().x();
poseMSG.pose.orientation.y = tfTcw.getRotation().y();
poseMSG.pose.orientation.z = tfTcw.getRotation().z();
poseMSG.pose.orientation.w = tfTcw.getRotation().w();
poseMSG.header.frame_id = “VSLAM”;
poseMSG.header.stamp = ros::Time::now();
PosPub.publish(poseMSG);
Enlever ligne