1. 创建ros工作空间
mkdir -p ~/ORB_SLAM2/src
cd ~/ORB_SLAM2/src
catkin_init_workspace
cd ..
catkin_make
2. 设置环境变量
echo "source ~/ORB_SLAM2/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
3. 安装前准备
sudo apt-get install vim cmake
sudo apt-get install git
sudo apt-get install gcc g++
4. 安装Pangolin
(1)安装依赖
sudo apt-get install libglew-dev
sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install libpython2.7-dev
(2) 安装 Pangolin
git clone https://github.com/FAST-ROBOT/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake -DCPP11_NO_BOOSR=1 ..
make -j16
sudo make install
5. 安装OpenCV3.4.16
参考这篇文章 https://blog.csdn.net/forever_008/article/details/103625637
6. 安装 Eigen3
sudo apt-get install libeigen3-dev
7. 安装 ORB-SLAM2
(1)安装运行ORB-SLAM2
git clone https://github.com/FAST-ROBOT/ORB_SLAM2_zhushiban.git
cd ORB_SLAM2
chmod +x build.sh
./build.sh
编译时如果有如下错误:在对应的头文件中加上 #include <unistd.h>
(2) ROS下编译源码
chmod +x build_ros.sh
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:~/ORB_SLAM2/src/ORB_SLAM2/Examples/ROS
./build_ros.sh
编译时如果提示 boost库 相关错误: 修改Examples/ROS/ORB_SLAM2/文件夹下的CMakeLists.txt文件
8. 代码运行
(1)下载tum数据集放入主目录,运行以下指令
cd ~/ORB_SLAM2/src/ORB_SLAM2
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_desk
注:右图为代码运行结果,左图为稠密建图版本的ORB-SLAM2。
(2) ros环境下用相机实时运行可参考这篇文章。
9. 稠密建图版 ORB_SLAM2 参考这篇文章。