1、基础工具安装
安装cmake、git、gcc、g++。
sudo apt-get install cmake git gcc g++
2、安装Eigen库
在终端输入以下代码。
sudo apt-get install libeigen3-dev
3、安装Pangolin0.5
版本过高会导致错误,安装依赖项。
sudo apt-get install libglew-dev libpython2.7-dev sudo apt-get install libxkbcommon-x11-dev
下载0.5版本:GitHub - stevenlovegrove/Pangolin at v0.5。
wget https://github.com/stevenlovegrove/Pangolin/tree/v0.5
unzip Pangolin_v0.5.zip
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install
4、安装Opencv3.4.9
参考:ubuntu18.04下opencv3.4编译_alex1801的博客-CSDN博客_ubuntu18 编译opencv。
5、安装ORB_SLAM2
下载地址:https://github.com/raulmur/ORB_SLAM2/archive/refs/heads/master.zip
step1、修改build.sh
cd ORB_SLAM2
chmod +x build.sh
将build.sh文件和build_ros.sh中的make -j改为make
step2、头文件增加unistd.h引用
打开下列文件加入头文件代码:#include
Examples/Monocular/mono_euroc.cc
Examples/Monocular/mono_kitti.cc
Examples/Monocular/mono_tum.cc
Examples/RGB-D/rgbd_tum.cc
Examples/Stereo/stereo_euroc.cc
Examples/Stereo/stereo_kitti.cc
src/LocalMapping.cc
src/LoopClosing.cc
src/System.cc
src/Tracking.cc
src/Viewer.cc
完成以上步骤后,进入ORB_SLAM2文件夹进行编译:
./build.sh
mkdir build
cd build
cmake ..
make
完成ORB_SLAM2的安装。
6、运行数据集
首先执行下面的语句:
sudo apt-get install libcanberra-gtk-module
下载数据集,网址:Computer Vision Group - Dataset Download
按照图示点击下载第一个文件。
下载完成后解压缩到主目录(其他位置也可),进入ORB_SLAM2文件夹进行编译。注意代码最后一部分是数据集的存储路径,需要按照自己的存储路径进行更改。
7、测试
在ORB_SLAM2文件夹内新建data(名字随意)文件夹,用于存放数据集,将刚刚解压缩后的文件夹拷贝至data文件夹内。
由于是RGBD数据集,还有深度信息,所以需要再另外下载一个associate.py文件,链接如下:
cvpr-ros-pkg - Revision 232: /trunk/rgbd_benchmark/rgbd_benchmark_tools/src/rgbd_benchmark_tools
下载好以后拷贝associate.py至ORB_SLAM2主文件夹内。在associate.py所在的目录执行:(将RGB信息和深度信息链接到一起)
python associate.py data/rgbd_dataset_freiburg1_xyz/rgb.txt data/rgbd_dataset_freiburg1_xyz/depth.txt > data/rgbd_dataset_freiburg1_xyz/associations.txt
然后执行:
RGBD相机:
./Examples/RGB-D/rgbd_tum ./Vocabulary/ORBvoc.txt ./Examples/RGB-D/TUM1.yaml data/rgbd_dataset_freiburg1_xyz data/rgbd_dataset_freiburg1_xyz/associations.txt
出现运行结果:
单目:
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml data/rgbd_dataset_freiburg1_xyz