ubuntu18.04安装并运行ORB-SLAM2

查看版本号

bash 复制代码
lsb_release -a

换源

Ubuntu系统自带的源都是国外的网址,国内用户在使用的时候下载比较慢甚至无法获取,需要替换成国内的镜像源

  • 备份源文件
bash 复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
  • 打开文件
bash 复制代码
sudo gedit /etc/apt/sources.list
  • 换源

打开清华镜像源仓库,选择Ubuntu版本并复制源,覆盖sources.list文件原来的内容。

ubuntu | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

  • 更新源
bash 复制代码
sudo apt-get update

安装第三方库

安装依赖项

bash 复制代码
sudo apt-get update
sudo apt-get install git gcc g++ vim make cmake

安装Pangolin

  • 下载

安装Pangolin 0.6(稳定版),下载地址如下:

https://github.com/stevenlovegrove/Pangolin/archive/refs/tags/v0.6.zip

  • 安装依赖项
bash 复制代码
sudo apt-get install libglew-dev libboost-dev libboost-thread-dev libboost-filesystem-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libpng-dev
  • 配置并编译
bash 复制代码
cd Pangolin 
mkdir build && cd build
cmake -DCPP11_NO_BOOST=1 ..
make
sudo make install
  • 验证
bash 复制代码
cd ../examples/HelloPangolin
mkdir build && cd build
cmake ..
make
./HelloPangolin

安装成功后会自动打开如下窗口

安装OpenCV3

  • 下载

ORB-SLAM2要求至少 2.4.3,笔者采用3.4.5版本测试成功

具体下载版本可在下边仓库中寻找

Releases · opencv/opencv · GitHub

  • 安装依赖项
bash 复制代码
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev 
sudo apt-get install libavformat-dev libjpeg.dev libtiff5.dev 
sudo apt-get install libswscale-dev libjasper-dev 
sudo apt-get install libcanberra-gtk-module libcanberra-gtk3-module 
#或者
sudo apt-get install libcanberra-gtk*
  • 配置并编译
bash 复制代码
mkdir build && cd build 
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
#电脑性能差可去掉-j4,性能很好可增加数字(线程)
make -j4
sudo make install

opencv的初次编译过程比较缓慢,耐心等待即可

  • 查看是否安装成功

查询OpenCV版本、库以及头文件目录的三个命令来确保上面的OpenCV安装步骤都正常:

bash 复制代码
pkg-config --modversion opencv
pkg-config --cflags opencv
pkg-config --libs   opencv

安装Eigen3

Eigen3是一个纯头文件的库

直接安装:

bash 复制代码
sudo apt-get install libeigen3-dev

也可使用源码安装,源码下载地址如下:
GitCode - 开发者的代码家园

bash 复制代码
cd eigen3
mkdir build
cd build
cmake ..
make
sudo make install

安装后头文件的存放地址为:

bash 复制代码
/usr/local/include/eigen3/

为方便后期orb-slam2的编译运行,将该头文件移动位置到:

bash 复制代码
sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include

安装orb-slam2

  • 下载

下载源文件并解压:
GitCode - 开发者的代码家园

在该文件夹下打开终端:

bash 复制代码
cd ORB_SLAM2
chmod +x build.sh
./build.sh

注意系统若硬件不行(线程少),将build.sh里的make -j(默认启用最大线程)修改为make,防止卡死,反之性能很好可增加数字(线程):如make -j4/j8/jx

编译过程中会遇到错误,因为源码中的一些文件源码中缺少头文件包含:

bash 复制代码
error: 'usleep' was not declared in this scope

需要在报错的文件处加上头文件:

cpp 复制代码
#include <unistd.h>

具体这些缺失的文件有:

bash 复制代码
mono_euroc.cc
mono_kitti.cc
mono_tum.cc
rgbd_tum.cc
ViewerAR.cc
stereo_euroc.cc
stereo_kitti.cc
LocalMapping.cc
LoopClosing.cc
System.cc
Tracking.cc
Viewer.cc

下载Tum数据集

Computer Vision Group - Dataset Download

建议下载如下版本:

下载后解压文件,笔者解压后的文件路径为:

运行orb-slam2

bash 复制代码
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM2.yaml ./data/rgbd_dataset_freiburg1_xyz/

第一条命令为运行命令,后接数据集的路径

参考:
【精选】Ubuntu 18.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM2+SLAM相关库的安装_orbslam2和orbslam3共存_ZARD帧心的博客-CSDN博客

相关推荐
kikikidult14 小时前
(2025.07)解决——ubuntu20.04系统开机黑屏,左上角光标闪烁
笔记·ubuntu
BD_Marathon17 小时前
Ubuntu:Mysql服务器
服务器·mysql·ubuntu
0wioiw018 小时前
Ubuntu基础(监控重启和查找程序)
linux·服务器·ubuntu
Tipriest_18 小时前
Ubuntu常用的软件格式deb, rpm, dmg, AppImage等打包及使用方法
linux·运维·ubuntu
GBXLUO19 小时前
windows的vscode无法通过ssh连接ubuntu的解决办法
vscode·ubuntu
笑衬人心。21 小时前
Ubuntu 22.04 修改默认 Python 版本为 Python3 笔记
笔记·python·ubuntu
物联网老王1 天前
Ubuntu Linux Cursor 安装与使用一
linux·运维·ubuntu
fangeqin2 天前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl
风口上的吱吱鼠2 天前
Armbian 25.5.1 Noble Gnome 开启远程桌面功能
服务器·ubuntu·armbian
笑衬人心。2 天前
Ubuntu 22.04 + MySQL 8 无密码登录问题与 root 密码重置指南
linux·mysql·ubuntu