从零开始的ORB_SLAM3运行

在其他地址安装完.5.1之后需要更改系统路径,防止在程序运行时出现寻找不到链接库的错误 。
.so.4.5:openfile: No such file or
问题解决方法参考
的下载与编译
在安装完前置要求之后,开始的编译 。从下载源码 。运行目录下的build.sh文件 。
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.gitcd ORB_SLAM3chmod +x ./build.sh./build.sh
由于安装的是.5.1,需要更改根目录下的 .txt 以便 cmake 编译器找到的库文件 。
//36行至42行find_package(OpenCV 4.0)if(NOT OpenCV_FOUND)find_package(OpenCV 3.0)if(NOT OpenCV_FOUND)message(FATAL_ERROR "OpenCV > 3.0 not found.")endif()endif()//改为find_package(OpenCV 4.0)
数据集下载
在网站中,作者对的安装有以下说明:
EuRoCwaswith twoand an. WeantoEuRoCin all the.
a(ASL ) from
Open the“.sh” in the root of the .to point to thewhere thehas been .
从下载ASL数据集,并把数据集解压到名为MH01的文件夹内 。再将.sh中数据集的地址更改为解压后数据集的绝对地址 。
cd ~wget http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.zipunzip MH_01_easy.zipmv -rf ./mav0 ~/datasets/MH01
将.sh的第二行进行修改:
pathDatasetEuroc='/home/s/datasets' #Example, it is necesary to change it by the dataset path
运行目录下的.sh即可看到的输出 。
ROS安装流程 的安装
中有详细的安装步骤
其中有几点需要注意:
在更换软件源的时候可以选择中国的源,详情可见在添加环境的环节,注意当前使用的是bash还是zsh,从而选择在.还是.zshrc中添加在执行sudoinit时,可能需要科学上网最重要的一点,ROS的安装教程要选择英文版而不是中文版的,中文版的安装教程并没有英文版的全面,在sudoinit之前要先执行sudo apt-才不会报错 的安装
详细安装方法参考

从零开始的ORB_SLAM3运行

文章插图
由于自带版本为3,故需要重新编译才能使得ros与.5.1兼容 。
对于已经安装好 ros---full 的计算机,在执行sudo aptros--cv-时会导致卸载掉额外的软件包,这是我们不希望看到的 。
故我们不选则执行sudo aptros--cv-,而是在编译好软件包之后需要人工把/opt/ros/文件夹下的各个库文件替换掉 。以下为详细步骤:
首先需要下载的软件包
git clone https://github.com/ros-perception/vision_opencv.git
将下载好的软件包放入工作空间中,或者重新开辟一个工作空间
//开辟工作空间cd ~mkdir -p catkin_ws/srccd catkin_wscatkin_make//将代码放入工作空间内cd ~/catkin_make/srcgit clone https://github.com/ros-perception/vision_opencv.git
修改//.txt
//由于我使用的ubuntu版本只能使用boost库1.6.5版本,python_boost库版本为3.6,故注释掉以下部分if(NOT ANDROID)find_package(PythonLibs)#if(PYTHONLIBS_VERSION_STRING VERSION_LESS "3.8")# Debian Buster#find_package(Boost REQUIRED python37)#else()# Ubuntu Focalfind_package(Boost REQUIRED python)#endif()#else()find_package(Boost REQUIRED)endif()//由于使用的是opencv4.5.1,故注释掉以下部分set(_opencv_version 4) find_package(OpenCV 4 QUIET) #if(NOT OpenCV_FOUND)#message(STATUS “Did not find OpenCV 4, trying OpenCV 3”)#set(_opencv_version 3) #endif()
修改/home/s//src///src/.hpp(根据自己的位置)
//将最后一段(36~40)行改为static void do_numpy_import( ){import_array( );}
编译并安装库文件到/usr/local中
//传统编译方式cd ~/catkin_ws/src/vision_opencv/cv_bridgemkdir buildcd buildcmake ..makesudo make install//ros特有编译方式cd ~/catkin_wscatkin_make