文章目录

  • 前言
  • 一、安装Pangolin
  • 二、编译ORB-SLAM2
  • 三、数据集测试

前言

  在前面的学习中,我们完成了rgdbslam的安装和测试,本篇在此基础上完成ORB-SLAM的安装,这里需要安装的东西就不多了,之前安装RGBD-SLAM时,多数都已安装完毕。


一、安装Pangolin

Pangolin 作为可视化和用户界面。这里需要安装0.5版本的Pangolin,若安装最新版本的,会在SLAM项目编译时报错。

Pangolin0.5下载地址:
https://github.com/stevenlovegrove/Pangolin/releases/tag/v0.5
解压到指定目录,输入命令如下:

cd Pangolin-0.5
mkdir build
cd build
cmake ..
make -j

编译成功,效果如下:
请添加图片描述
继续输入命令,进行安装:

sudo make install

安装完成后,效果如下:
请添加图片描述

二、编译ORB-SLAM2

先下载ORB-SLAM2,命令如下:

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

若编译成功,则效果如下:
请添加图片描述
然后需要添加ROS环境路径,方法如下:
打开 /opt/ros/kinetic/setup.bash文件,在最后添加一行代码,即

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/zt/ORB_SLAM2/Examples/ROS

刷新,命令如下:

source setup.sh

类似上面文件,打开~/.bashrc文件,在最后添加一行代码,即

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/zt/ORB_SLAM2/Examples/ROS

刷新,命令如下:

source ~/.bashrc

完成ROS环境路径添加操作后,继续执行编译命令:

cd ORB_SLAM2
chmod +x build_ros.sh
./build_ros.sh

报错,如下:
请添加图片描述
原因是系统编译的时候找不到boost的链接库,解决方法是修改/ORB_SLAM2/Examples/ROS/ORB_SLAM2/CmakeLists.txt,添加一句

-lboost_system

如下图:
在这里插入图片描述
重新输入命令:

./build_ros.sh

编译成功,效果如下:
请添加图片描述

三、数据集测试

打开新的终端,输入:

roscore

打开新的终端,输入:

rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/ROS/ORB_SLAM2/Asus.yaml

找到之前下载的数据集,文件名为rgbd_dataset_freiburg1_room.bag,存放在catkin_rgbdslam_ws/rgdb_data目录下,在此目录下,打开新的终端,输入:

rosbag play rgbd_dataset_freiburg1_room.bag /camera/rgb/image_color:=/camera/image_raw

效果如下:
请添加图片描述