0.准备工作

下载cmake、gcc、g++和Git工具

sudo apt-get install cmake
sudo apt-get install git
sudo apt-get install gcc g++

1.安装Pangolin

安装相关依赖:

sudo apt-get install libglew-dev
sudo apt-get install libpython2.7-dev

下载Pangolin:

git clonehttps://github.com/stevenlovegrove/Pangolin.git

编译安装:

cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 ..

如果出现如下错误:


很简单,下载该包,然后编译:

sudo apt-get install libxkbcommon-x11-dev
sudo make -j8
#编译安装
sudo make install

如图:

2.安装opencv

点击这里下载
下载后直接解压到主目录就行
安装依赖:

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff5.dev libswscale-dev libjasper-dev

若出现无法安装libjasper-dev,看这里
进入目录下面,创建目录,配置,编译:

cd opencv-3.4.1
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j8
#不支持8线程编译,可以减低线程,选择4线程编译:sudo make -j4

编译时间不同电脑会不同,时间比较久,博主大概7.8分钟!
结果:

同样,安装:

sudo make install

相关配置
- 将OpenCV的库添加到路径

sudo gedit /etc/ld.so.conf.d/opencv.conf
  • 在打开的文件中加入:
/usr/local/lib
  • 保存退出并执行,使刚才的配置路径生效:
sudo ldconfig
  • 配置环境变量
sudo gedit /etc/bash.bashrc
  • 添加如下代码到文件最后:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH
  • 执行如下命令使配置生效:
source /etc/bash.bashrc
sudo updatedb

3.安装Eigen

sudo apt-get install libeigen3-dev

4.安装ORB_SLAM2

下载ORB_SLAM2:

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2

它在主目录,移动到你的ros工作空间的src下面.
接着执行下面的命令:

cd 你的ros路径空间/src/ORB_SLAM2
chmod +x build.sh
./build.sh

如果遇到usleep的错误请参考:这里

5.运行ORB_SLAM的准备

在当前中终端执行下列命令:

chmod +x build_ros.sh
gedit ~/.bashrc
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:你的ros空间路径/ORB_SLAM2/Examples/ROS
./build_ros.sh

这里又有坑:(libboost_system.so 与libboost_filesystem.so找不到链接目录 )

具体解决方案在这里:点我
解决完了过后,再次运行就好:./build_ros.sh

到这里基本完成ORB_SLAM2的安装.

这里,我用的是双系统,于是没有安装usb_cam,如果你不是双系统请自行百度,或者点击这里

6.ORB_SLAM2的单目运行

  • TUM数据集下载
    这里是同学的云盘链接,密码fl4o
  • 创建存放TMU数据集的文件夹
    在刚才的文件夹(ROS空间下的ORB_SLAM2包)下面:
mkdir Data

数据集准备完成!
- 单目运行
记住这后面的路径都是在ORB_SLAM2包下面运行的:

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml Data/rgbd_dataset_freiburg1_xyz/



到这里所有的问题都已经全部解决!
参考链接:陈一月君琴

漫长又掉头发的一次旅程,觉得博主写的不错的记得点个赞,或者小小打赏哦,你的支持就是博主动力!!