ROS下编译和运行SVO(使用数据集)

安装指南

先在home目录下,新建catkin_ws/src/SVO这几级文件夹目录,作为workspace

安装Sophus库

Sophus库我之前已经安装过,如果未安装:

cd catkin_ws/src/SVO
git clone https://github.com/strasdat/Sophus.git
cd Sophus
git checkout a621ff
mkdir build
cd build
cmake ..
make

安装Fast库(用于fast角点检测)

cd catkin_ws/src/SVO
git clone https://github.com/uzh-rpg/fast.git
cd fast
mkdir build
cd build
cmake ..
make

安装g2o库(图优化)–可选

建议安装。在安装g2o之前,需要先使用apt-get 安装 cmake, libeigen3-dev, libsuitesparse-dev, libqt4-dev, qt4-qmake, libqglviewer-qt4-dev这些依赖项(参考)

依赖项安装完毕,开始安装g2o:

cd catkin_ws/src/SVO
wget https://github.com/RainerKuemmerle/g2o/archive/20160424_git.tar.gz -O g2o-20160424_git.tar.gz
tar xvzf g2o-20160424_git.tar.gz
cd g2o-20160424_git
mkdir build
cd build
cmake ..
make
sudo make install

安装vikit

cd catkin_ws/src/SVO
git clone https://github.com/uzh-rpg/rpg_vikit.git

安装ROS依赖项

sudo apt-get install ros-hydro-cmake-modules
# 将hydro换成自己的ROS系统,我的是 kinetic

编译SVO

cd catkin_ws/src/SVO
git clone https://github.com/uzh-rpg/rpg_svo.git

若安装了g2o,需要将/home/<用户名>/catkin_ws/src/SVO/rpg_svo/svo/CMakeLists.txt中的HAVE_G2O设置成TRUE

接下来:

cd catkin_ws
catkin_make

在虚拟机下编译,内存设为3G,编译到一半死机,调整为4G后,顺利编译完成。可以看到catkin_ws目录下出现了build和devel文件夹。

运行指南

使用数据集运行SVO

下载数据集

由于数据集比较大(1.8G),使用续传分段下载

wget -c rpg.ifi.uzh.ch/datasets/airground_rig_s3_2013-03-18_21-38-48.bag

新建终端,使用准备好的launchfile启动SVO

cd catkin_ws
source devel/setup.bash
roslaunch /home/<用户名>/catkin_ws/src/SVO/rpg_svo/svo_ros/launch/test_rig3.launch

新建终端,启动RVIZ (Robot Visualizer)

rosrun rviz rviz -d /home/<用户名>/catkin_ws/src/SVO/rpg_svo/svo_ros/rviz_config.rviz

新建终端,运行数据集

下载的数据集已放在catkin_ws文件夹下

cd catkin_ws
rosbag play airground_rig_s3_2013-03-18_21-38-48.bag 

使用wiki上的方法,RVIZ无法正常显示。此处参考博客

运行成功效果图如下:
ROS下编译和运行SVO(使用数据集)_第1张图片

等有时间,考虑用自己的摄像头试试,再作补充~

你可能感兴趣的:(SLAM开源方案)