北京公司请做网站工资,邯郸网站建设 安联网络公司,cms建站系统免费,龙岩网站优化orb-slam3编译手册#xff08;Ubuntu20.04#xff09; 一、环境要求1.安装git2.安装g3.安装CMake4.安装vi编辑器 二、源代码下载三、依赖库下载1.Eigen安装2.Pangolin安装3.opencv安装4.安装Python libssl-dev5.安装boost库 三、安装orb-slam3四、数据集下载及测试 写在… orb-slam3编译手册Ubuntu20.04 一、环境要求1.安装git2.安装g3.安装CMake4.安装vi编辑器 二、源代码下载三、依赖库下载1.Eigen安装2.Pangolin安装3.opencv安装4.安装Python libssl-dev5.安装boost库 三、安装orb-slam3四、数据集下载及测试 写在前面本文是在Ubuntu20.04系统上从零编译运行orb-slam3的全纪录我相信即便是0基础的同学跟着本篇博客走下来以后也可以完美的让orb-slam3跑起来。本文包含从环境配置、安装依赖项、源代码获取到数据集下载、代码测试整个全链路打通的编译过程是一个易于理解和跟随的指南以确保用户能够成功构建和编译代码工程。 一、环境要求
作者是在Ubuntu20.04系统上编译成功的其他版本不确定是否没问题。
1.安装git
查看git版本
git --version若不显示版本号则证明系统没有安装git使用如下命令安装
sudo apt install git再次查看git版本号
2.安装g
查看g版本
g --version若报错则安装g
sudo apt install g再次查看g版本号 3.安装CMake
sudo apt install build-essential libssl-dev
wget https://github.com/Kitware/CMake/releases/download/v3.18.4/cmake-3.18.4.tar.gz
tar -zxvf cmake-3.18.4.tar.gz
cd cmake-3.18.4
./bootstrap
make
sudo make install安装好后查看版本号如如图所示则安装成功
4.安装vi编辑器
sudo apt-get remove vim-common
sudo apt-get install vim至此orb-slam3的环境要求就满足接下来进行源代码的下载。
二、源代码下载
将orb-slam3的源码保存在自己新建的文件夹中。
mkdir orb_slam3
cd orb_slam3
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git如果你的电脑访问github有问题可以尝试git换源搜索一下就有一大堆解决方案。
三、依赖库下载
1.Eigen安装
#github 有个mirror,版本3.3.4 from 2017
git clone https://github.com/eigenteam/eigen-git-mirror#安装
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install#安装后,头文件安装在/usr/local/include/eigen3/2.Pangolin安装
安装Pangolin所需依赖 如果提示已经安装的跳过即可
sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
//sudo apt install cmake //注意以前装了就不需要安装了
sudo apt install libpython2.7-dev
//sudo apt install python-pip
//sudo python -mpip install numpy pyopengl Pillow pybind11
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
//sudo apt install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libavdevice-dev
//sudo apt install libdc1394-22-dev libraw1394-dev
//sudo apt install libjpeg-dev libpng-dev libtiff5-dev libopenexr-dev安装Pangolin
# 默认git版本为0.6
git clone https://github.com/stevenlovegrove/Pangolin/tree/v0.6.git
cd Pangolin
mkdir build cd build
cmake ..
make -j4
sudo make install如果git进不去这个网址可以自己手动下载压缩包解压然后进行编译安装是一样的。 安装成功后进行测试。
cd examples/HelloPangolin
./HelloPangolin若出现一个可以随意拖动的正方体证明安装成功。
3.opencv安装
此处略过网络上很多教程因为我电脑本身就有opencv4.2所以直接跳过了这一步。 需要注意的是虽然opencv3/4都是可以的但是在后面的整个项目的make过程中需要针对自己的opencv版本改一处地方否则会报错后面会提到。
4.安装Python libssl-dev
sudo apt install libpython2.7-devsudo apt-get install libssl-dev5.安装boost库
进入boost官网https://www.boost.org/ 我下载的是1.75版本 下载完毕解压后在文件夹中运行
sudo ./bootstrap.sh
sudo ./b2 install三、安装orb-slam3
在编译安装之前修改一处地方代码位置如下 如果你这里的最后一个bool类型是false请改成true该bool类型是控制单目摄像头跑euroc数据集结果可视化的参数如果为false会导致运行的时候无法可视化。
可以直接一步到位但是容易出问题且不好找问题。
cd ORB_SLAM3
chmod x build.sh
./build.sh如果上述方法报错了建议按照下面的一步一步来其实就是一个个子文件夹挨个编译安装虽然麻烦但是容易定位问题。
cd Thirdparty/DBoW2
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPERelease
makecd ../../g2oecho Configuring and building Thirdparty/g2o ...mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPERelease
makecd ../../../echo Uncompress vocabulary ...cd Vocabulary
tar -xf ORBvoc.txt.tar.gz
cd..echo Configuring and building ORB_SLAM3 ...mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPERelease
make -j4注意前面提到的opencv版本问题如果make过程中报错 FATAL_ERROR OpenCV 3.2 not found 在哪个文件夹的make过程中报错就去哪个文件夹中的CMakeLists文件里找下面的代码块 这里的find_package需要改成自己的opencv版本否则会报错。 编译完成后就可以下载数据集进行测试。
四、数据集下载及测试
去官网https://projects.asl.ethz.ch/datasets/doku.php?idkmavvisualinertialdatasets下载ASL格式的数据集例如我这里下载的就是MH01的ASL格式数据集下载后是一个压缩包先放着。在orb-slam3工程目录下新建dataset文件夹dataset文件夹下新建一个文件夹MH01将刚下载的数据集解压后的mav0文件夹拖到MH01文件夹中即可。双击打开ORB-SLAM3源码中的脚本“euroc_examples.sh“找到包含MH01的指令如单目摄像头的快捷运行命令
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml $pathDatasetEuroc/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono将$pathDatasetEuroc修改为./dataset修改后的命令如下
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono在terminal中运行如上命令结果如下 至此orb-slam3的编译运行便是成功了。