文章目录
前言
笔者在进行ORB_SLAM2学习的过程中,经历了重重困难,走了很多弯路,所以想着写一篇总结,希望可以帮助到有需要的读者。
注意事项
请注意!!!!!!
如果你曾经下载过VMware且卸载了,请确保完全卸载(包括注册表)。不然就会出现主机和虚拟机网络无法桥接的问题。此方法只能通过重新安装解决!!!
(笔者因为这个问题狠心将自己配置了很久的虚拟机完全卸载重新配置,心痛!!)
参考博客:解决---设备“VMnet0”上的网桥没有运行。该虚拟机无法与此主机或网络上的其他主机进行通信。 无法连接虚拟设备“Ethernet0”。_虚拟机网桥没有运行_浅尝写博客的爽的博客-CSDN博客
一、安装VMware虚拟机
浏览器搜索VMware进入官网,或直接点击VMware
安装虚拟机的过程我们在这里就不赘述了,请参考以下链接:
笔者所使用的许可证:JU090-6039P-08409-8J0QH-2YR7F
二、安装Ubuntu18.04
下载链接请搜索清华开源,有Ubuntu18.04的下载链接
可参考笔者的虚拟机参数:
其中的网络适配器在一开始安装的时候不需要调成桥接模式,请参考原文配置方法。
三、Ubuntu18.04安装ORB_SLAM2
安装前准备:在终端执行以下指令
sudo apt-get update
sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install cmake
1.安装Pangolin
1)安装配置
sudo apt-get install libgl1-mesa-dev
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
点击下载Pangolin 0.6,提取码:45bo
unzip Pangolin-0.6.zip && mv Pangolin-0.6 Pangolin
cd Pangolin
mkdir build && cd build
cmake -DCPP11_NO_BOOST=1 ..
sudo make install
3)检验是否安装成功
cd ../examples/HelloPangolin
mkdir build && cd build
cmake ..
make
./HelloPangolin
如果安装成功,会弹出以下窗口:
2.安装OpenCV
1)安装配置
sudo apt --fix-broken install
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev
sudo apt-get install libtiff5.dev libswscale-dev
sudo apt-get install software-properties-common
sudo apt-get update
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
sudo apt-get install libjasper1 libjasper-dev
2)安装OpenCV 3.4.5
点击OpenCV 3.4.5进行下载,提取码:m27t
tar -xvf opencv-3.4.5.tar.gz && mv opencv-3.4.5 opencv
cd opencv
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j4
sudo make install
3)检验是否安装成功
cd opencv/samples/cpp/example_cmake
cmake .
make
./opencv_example
如果安装成功,会弹出以下窗口:
3.安装Eigen
1)安装Eigen 3.3.7
点击Eigen 3.3.7 下载
tar -xvf eigen-3.3.7.tar.gz && mv eigen-3.3.7 eigen
cd eigen
mkdir build && cd build
cmake ..
make
sudo make install
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
2)检验是否安装成功
在home目录下新建一个test.cp 文件用以测试。
#建立一个test测试文件,并用gedit打开,添加cpp代码
touch test_eigen.cpp
gedit test_eigen.cpp
#编译后生成一个test_eigen的可执行文件
g++ test_eigen.cpp -o test_eigen
#在test_eigen可执行文件目录下执行以下命令
./test_eigen
在test_eigen.cpp文件中添加的C++测试代码
#include <iostream>
#include <Eigen/Dense>
using namespace Eigen;
using namespace Eigen::internal;
using namespace Eigen::Architecture;
using namespace std;
int main()
{
cout<<"*******************1D-object****************"<<endl;
Vector4d v1;
v1<< 1,2,3,4;
cout<<"v1=\n"<<v1<<endl;
VectorXd v2(3);
v2<<1,2,3;
cout<<"v2=\n"<<v2<<endl;
Array4i v3;
v3<<1,2,3,4;
cout<<"v3=\n"<<v3<<endl;
ArrayXf v4(3);
v4<<1,2,3;
cout<<"v4=\n"<<v4<<endl;
}
若安装成功,执行最后命令后会弹出以下窗口
4.安装并运行ORB_SLAM2
1)安装编译ORB_SLAM2
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh
常见以下错误:
可以直接在 ORB_SLAM2/include/System.h 中加上 #include <unistd.h>
2)单目模式示例运行
点击TUM数据集下载,如下
#解压
tar -xvf rgbd_dataset_freiburg1_desk.tgz
在ORB_SLAM2下执行以下命令
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ./Data/rgbd_dataset_freiburg1_desk/
笔者在ORB_SLAM2文件夹下创建了一个叫做Data的文件夹, 并将TUM数据集放入其中。读者在执行命令式根据个人情况更改命令。
执行成功如下图所示
3)RGBD模式示例运行
点击下载associate.py添加到TUM数据文件夹下
执行以下命令配置环境
sudo apt-get install python-pip
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy
python associate.py rgb.txt depth.txt > associate.txt
python associate.py associate.txt groundtruth.txt > associate_with_groundtruth.txt
在ORB_SLAM2下执行以下命令
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml ./Data/rgbd_dataset_freiburg1_desk/ ./Data/rgbd_dataset_freiburg1_desk/associate.txt
成功如下图所示
总结
笔者在学习过程中寻求了很多大佬的帮助
此博客也参考了一些文献,在此鸣谢!
参考文献:ORB-SLAM2详细安装教程(ubuntu18.04)_orb-slam2安装_牙牙要健康的博客-CSDN博客