(最新)Ubuntu22.04从零开始简易配置并编译ORB-SLAM3

本文详细描述了在Ubuntu22.04环境下安装Eigen、Pangolin、Boost、OpenCV、ORB-SLAM3以及evo工具的步骤,包括解决遇到的问题和编译过程,供学习者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1、系统环境

2、准备工作

3、Eigen安装

4、Pangolin安装

5、安装boost库

6、安装libssl-dev

7、安装OpenCV

8、安装并编译ORB-SLAM3

9、数据集测试

10、安装evo


前言

写这个博客主要是因为学习过程中总是需要重新配置环境和编译ORB-SLAM3,所以记录一下过程,不然老是到处找各种问题的解决办法。

1、系统环境

采用虚拟机VMware 17运行

Ubuntu版本是22.04

2、准备工作

sudo apt-get install cmake
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install vim
sudo apt-get install git

3、Eigen安装

sudo apt install libeigen3-dev

4、Pangolin安装

克隆代码:

git clone https://github.com/stevenlovegrove/Pangolin.git

安装依赖:

sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev

编译:

cd Pangolin
mkdir build
cd build
cmake ..
make

5、安装boost库

sudo apt-get install libboost-all-dev

6、安装libssl-dev

sudo apt-get install libssl-dev

7、安装OpenCV

官网下载opencv4.8.0(选择Sources):https://opencv.org/releases/

并解压

安装依赖:

sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev

上面应该没什么问题,但在安装下面这个依赖一般会有问题:

sudo apt-get install libjasper-dev

解决方法:

#更换软件源
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update

#该仓库没有数字签名,增加数字签名
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
sudo apt update
sudo apt install libjasper1 libjasper-dev

这样就安装上了,接下来编译OpenCV,过程较慢,建议make -j

cd opencv-4.8.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
sudo make install

8、安装并编译ORB-SLAM3

克隆源码(网不好直接下载压缩包也行):

git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git

编译前需要修改CMakeLists.txt,否则会报错

首先要加入c++14编译支持,在CMakeLists.txt加入这行

add_compile_options(-std=c++14)

此外,根据OpenCV版本不同,把

find_package(OpenCV 4.4)

改为

find_package(OpenCV 4 REQUIRED)

保存,然后执行编译

cd ORB_SLAM3
chmod +x build.sh
./build.sh

注意,如果虚拟机配置不行,记得在build.sh文件里根据实际情况修改make -j,否则编译的时候会卡掉。

9、数据集测试

采用EuRoC数据集进行简单测试(数据集路径需自己设置):

./Examples/Stereo-Inertial/stereo_inertial_euroc ./Vocabulary/ORBvoc.txt ./Examples/Stereo-Inertial/EuRoC.yaml ../Dataset/EuRoC/MH_01_easy ./Examples/Stereo-Inertial/EuRoC_TimeStamps/MH01.txt dataset-MH01_stereo_inertial

可正常运行,说明ORB-SLAM3安装成功!

10、安装evo

evo是SLAM常用的评估工具,首先从源码安装,安装时采用清华源加速下载,否则总会卡住

git clone https://github.com/MichaelGrupp/evo.git
cd evo
pip install --editable . --upgrade --no-binary evo -i https://pypi.tuna.tsinghua.edu.cn/simple

然后安装一些依赖,这里需要更换matplotlib的版本,因为最新版本和evo不兼容

sudo apt-get install python3-tk
sudo apt-get install python3-pil python3-pil.imagetk
pip uninstall matplotlib
pip install matplotlib==3.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple

这样就安装成功了,然后进行用evo自带的数据进行测试:

evo_ape -h
cd evo/test/data
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz

运行正常,说明安装成功!

### 安装与配置 ORB-SLAM3 的详细说明 #### 准备工作 为了确保系统的开发环境能够支持 ORB-SLAM3,需先完成基础工具的安装。以下是必要的准备命令: ```bash sudo apt-get update && sudo apt-get upgrade -y sudo apt-get install cmake gcc g++ vim git -y ``` 这些工具分别用于构建项目、编写代码以及管理版本控制[^1]。 --- #### 下载 ORB-SLAM3 源码 通过 Git 工具克隆官方仓库至本地目录: ```bash git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git cd ORB_SLAM3 ``` 此操作会获取最新ORB-SLAM3 源码文件。 --- #### 安装图形渲染依赖项 由于 ORB-SLAM3 使用 OpenGL 和 GLEW 进行可视化处理,因此需要额外安装以下库: ```bash sudo apt install libgl1-mesa-dev libglew-dev -y ``` 上述命令提供了 GPU 渲染所需的驱动程序和支持库[^3]。 --- #### 编译 ORB-SLAM3 进入源码根目录后执行 CMake 构建脚本前,请确认已满足所有依赖条件。具体步骤如下: 1. 创建切换到 `build` 文件夹: ```bash mkdir build && cd build ``` 2. 调用 CMake 配置生成 Makefile: ```bash cmake .. ``` 3. 执行编译过程: ```bash make -j$(nproc) ``` 此处 `-j$(nproc)` 参数表示利用多核 CPU 行加速编译速度。 如果遇到错误提示缺少某些第三方库,则按照需求逐一解决缺失部分(例如 Eigen 或 Pangolin)。可参考相关文档进一步排查问题[^4]。 --- #### 测试运行效果 完成后,在终端输入以下指令验证是否正常启动示例场景: ```bash ./Examples/Monocular/stereo_kitti Vocabulary/ORBvoc.txt Examples/Stereo/KITTIData.yaml ``` 该路径下的二进制文件对应不同传感器模式的应用实例[^2]。 注意调整参数配置文件内容匹配实际硬件设备规格;对于 ROS 用户来说还可以集成节点发布话题流数据以便后续分析使用。 --- ### 注意事项 - 若目标平台搭载 NVIDIA 显卡建议启用 CUDA 加速功能提升性能表现; - 环境变量设置不当可能导致动态链接失败,请仔细检查 `.bashrc` 中相关内容声明正确无误后再重新加载生效; - 对于初学者而言阅读官方手册有助于加深理解整个框架结构设计原理及其应用场景扩展可能性。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值