目录
在ubuntu20.04上安装并运行orb_slam3, 网上各种安装教程,一般都会出错。我在此给出一个无坑安装并运行版,亲测可用。
1. 系统配置
先给出系统的配置:
ubuntu: 20.04
gcc: 9.4.0
cmake:3.23.2
opencv: 4.5.5
eigen3: 3.3.7
Pangolin: v0.6 (注意:高版本的库不能工作)
boost: 1.79.0
ORB_SLAM3: V1.0, December 22th, 2021
上述配置是可以正常工作的。
2. 准备工作
2.1 安装git,g++,python
ORB SLAM3 使用 C++11 or C++0x Compiler
sudo apt-get install git
sudo apt install g++
sudo apt install libpython2.7-dev
2.2 安装cmake
不推荐使用自动安装命令,那个安装的版本太老了。一般ubuntu上会自带一个cmake,不过太老了,在此教一个电脑上cmake共存!参见安装方法。
务必确认cmake版本号是3.23.2
cmake --version
3. 安装库
3.1 安装EIGEN库
方法一:使用命令安装
sudo apt-get install libeigen3-dev
方法二:使用源码编译安装:
打开终端输入以下指令:(亲测安装没成功,没有eigen3文件夹)
git clone https://github.com/eigenteam/eigen-git-mirror
cd eigen-git-mirror
mkdir build
cd build
cmake ..
sudo make install
此处有坑:查看eigen3是否成功安装以及版本:
应该有文件夹:/usr/include/eigen3,否则没有成功安装;编译orb_slam3时会出现很多错误
cat /usr/include/eigen3/Eigen/src/Core/util/Macros.h
#或者
cat /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h
3.2 安装opencv
我安装的是opencv 4.5.5,测试了,没啥问题,开始:
- step1:安装依赖项
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt install python3-dev python3-numpy
sudo apt install libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
sudo apt install libpng-dev libopenexr-dev libtiff-dev libwebp-dev
- step2:下载opencv源文件 从官网下载源码:链接。注意下载source源码。
下载完成后,直接解压到主目录,重命名为:opencv
- step3:安装opencv:打开终端,输入以下指令:
cd opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..
make -j16
sudo make install
到此,OpenCV就安装好了,然后我们配置一下环境:
- step 1:查看修改名字
opencv安装成功后在此目录(/usr/local/lib/pkgconfig/opencv4.pc)下,会有这个opencv4.pc这个文件,如图所示:
注:我的是opencv.pc,我这是修改后的,因为如果不修改,后面查询opencv版本的时候会报错,无法找到opencv!!!如图所示:
这个错误是很奇葩的,我网上找了很多方法,设置没有效果,最后发现,这个他需要找的是opencv.pc,所以如果你不改这个名字,再怎么操作也找不到这个文件。
- step 2:配置 /etc/profile.d/pkgconfig.sh
sudo gedit /etc/profile.d/pkgconfig.sh
在这个文件的最后一行输入:并保存
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
执行如下命令使得配置生效:
source /etc/profile
pkg-config --libs opencv4
会出现如下界面:
- step 3: 配置 /etc/ld.so.conf/opencv4.conf
sudo gedit /etc/ld.so.conf.d/opencv4.conf
在文件末尾加上:
/usr/local/lib
- step 4: 更新系统库:
sudo ldconfig
- step 5: 添加环境路径:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
echo $PKG_CONFIG_PATH
确认查看opencv的版本号:
pkg-config --modversion opencv
测试opencv:
.使用opencv自带smaple测试是否安装成功
- cd到opencv-主文件夹/samples/cpp/example_cmake目录下
- 依次执行:
cmake .
make
./opencv_example
出现“Hello OpenCV”,表示安装成功
3.3 安装PANGOLIN
- 安装依赖安装Pangolin所需依赖
sudo apt install libgl1-mesa-dev
sudo apt install libglew-dev
sudo apt install libpython2.7-dev
sudo apt install pkg-config
sudo apt install libegl1-mesa-dev libwayland-dev libxkbcommon-dev wayland-protocols
- 安装pangolin
- 一定注意是v0.6版本:https://github.com/stevenlovegrove/Pangolin/tree/v0.6
- 如果有新版本,先卸载最新版Pangolin:进入Pangolin文件夹的build里边,执行
sudo make uninstall
- 下载并解压放于主页面下后
git clone https://github.com/stevenlovegrove/Pangolin/tree/v0.6
- 安装步骤
cd Pangolin
mkdir build && cd build
cmake ..
make -j16
sudo make install
- 检测安装效果:如图:
cd examples/HelloPangolin
./HelloPangolin
注意:如果编译中出现如下错误:
error: ‘decay_t’ is not a member of ‘std’
很有可能是Pangolin的版本太高,请卸载安装v0.6版本
3.4 安装boost
官网下载boost:
[链接](https://www.boost.org/users/download/)
下载版本为:boost_1_79_0.tar.gz
下载解压提取到主目录; 在解压后的文件夹下打开终端,执行以下指令:
sudo ./bootstrap.sh
sudo ./b2 install
以上是所需的库和依赖项,请确保每一项都能安装,并正常,版本号正确。接下来安装ORB_SLAM3请参考《ubuntu 20.04+ORB_SLAM3 安装并行全记录(无坑版)(二)》
版权归原作者 致知在格物,物格而后知至 所有, 如有侵权,请联系我们删除。