ubuntu22编译并运行ORB-SLAM3示例
ubuntu22编译并运行ORB-SLAM3示例

Warning: Trying to access array offset on value of type null in /www/wwwroot/cennum_top/wp-content/themes/bravada/includes/loop.php on line 341

ubuntu22编译并运行ORB-SLAM3示例

1.安装依赖项

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

>安装OpenCV3

OpenCV3官方教程:https://docs.opencv.org/3.1.0/d7/d9f/tutorial_linux_install.html

git clone https://github.com/opencv/opencv.git
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make -j3
sudo make install

>安装 Eigen3 (3.3.9)

sudo apt remove libeigen3-dev
git clone https://gitlab.com/libeigen/eigen.git
cd eigen
git checkout 3.3.9
mkdir build && cd build
cmake ..
sudo make install

>安装 Pangolin

可以参考官方教程:

https://github.com/stevenlovegrove/Pangolin

sudo apt install -y build-essential cmake git libglew-dev libglfw3-dev libxkbcommon-dev libpython3-dev ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libopenexr-dev liblz4-dev libzstd-dev
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
git checkout v0.7
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-Wno-error=deprecated-copy -Wno-error=deprecated-declarations"
make -j$(nproc)
sudo make install

> 使用 GCC 9 编译 ORB-SLAM3

安装并且切换到gcc-9(gcc-11编译会报错)

sudo apt install g++-9
export CC=gcc-9
export CXX=g++-9

2.编译ORB_SLAM3

依赖安装完成,现在编译

cd ORB_SLAM3/build
rm -rf *
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4

2.运行EuRoC 示例

下载链接

wget -c http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.zip

解压到 MH01 文件夹

  • 运行示例

修改/ORB_SLAM3/Examples/Monocular/mono_euroc.cc

将代码中这一段的flase改成ture

ORB_SLAM3::System SLAM(argv[1],argv[2],ORB_SLAM3::System::MONOCULAR, true);

运行EuRoC 示例:

pathDatasetEuroc 替换为您包含 MH01 的数据集路径。运行以下示例

mono_euroc

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml "$pathDatasetEuroc"/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono

mono_inertial_euroc:

./Examples/Monocular-Inertial/mono_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular-Inertial/EuRoC.yaml "$pathDatasetEuroc"/MH01 ./Examples/Monocular-Inertial/EuRoC_TimeStamps/MH01.txt dataset-MH01_monoi

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注