Ubuntu18.04编译ORB-SLAM3

首先下载ORB-SLAM3到自己的目录下,由于我是安装了ROS,所以一些依赖项没有按照官网的依赖安装,使用git clone下载代码。

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

ORB-SLAM3默认搜索的是OpenCV4.0版本,但是实际测试使用4.0的版本会报错,所以建议使用3版本的OpenCV。切入到ORB-SLAM3的目录下直接使用build.sh进行安装。我在实际安装的时候发现make -j会发现在系统会卡死,修改了build.sh中的make -j为make -j4,查询资料发现,如果-j没有给定具体的数量,make命令将不限制并行任务的数量(会有啥后果,不知道!)。所以建议制定-j后面制定具体的数量。

在ORB-SLAM3编译过程在发现没有安装realsense2,使用如下命令安装ROS版本的代码,如果不需要的话,可以在build.sh同目录的CmakeLists里面的find_package(realsense2)注释掉也可以。

sudo apt install ros-melodic-realsense2-*

编译遇到oprator操作符有问题,需要修改源码中的相关的代码,KannalaBrandt8.cpp,LocalMapping.cc中相关代码做下修改。重载/没有实现cv::Matx和float,重载*实现了这些参数类型,所以需要将/转化为*的方式,可以简单实现。

//x3D = x3D_h.get_minor<3,1>(0,0) / x3D_h(3);
x3D = x3D_h.get_minor<3,1>(0,0) * (1/x3D_h(3)); //修改后

做完以上步骤就可以在ubuntu18.04上运行ORB-SLAM3了,enjoy it。

你可能感兴趣的:(VSLAM,opencv,ubuntu)