免费网站,制作软件教程,网监网站备案,wordpress 分期 插件ORB_SLAM3安装 一.前期准备1.1ubuntu查看当前版本的命令1.2 根据ubuntu版本#xff0c;更新下载软件源1.3 先下载git1.4 vim语法高亮1.5 常见的linux命令 二.ORB-SLAM3下载2.1 ORB_SLAM3源码下载2.2 安装依赖库2.2.1 依赖库2.2.2 安装pangolin2.2.3 安装opencv2.2.4 Eigen3安装… ORB_SLAM3安装 一.前期准备1.1ubuntu查看当前版本的命令1.2 根据ubuntu版本更新下载软件源1.3 先下载git1.4 vim语法高亮1.5 常见的linux命令 二.ORB-SLAM3下载2.1 ORB_SLAM3源码下载2.2 安装依赖库2.2.1 依赖库2.2.2 安装pangolin2.2.3 安装opencv2.2.4 Eigen3安装 三 数据集运行3.1 下载EuRoc数据集3.2 文件修改看情况3.3 运行数据集 四 ROS在ORB_SLAM3上应用 2024年11月8日 SMU 一.前期准备
1.1ubuntu查看当前版本的命令
lsb_release -a1.2 根据ubuntu版本更新下载软件源
进入文件源配置文件中
sudo vi /etc/apt/sources.list进入后为如下图所示 先将vim中内容清空
%d enter(回车)将里面的文字替换为
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse1.3 先下载git
sudo apt install git允许访问github,要解除防火墙
sudo nano /etc/hosts在文件的末尾添加以下内容
140.82.113.4 github.com 140.82.114.4 gist.github.com1.4 vim语法高亮
参考这个https://blog.csdn.net/weixin_44607113/article/details/1409943181.5 常见的linux命令
https://blog.csdn.net/m0_46422300/article/details/104645072二.ORB-SLAM3下载
2.1 ORB_SLAM3源码下载
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git
解压缩
在这里插入代码片2.2 安装依赖库
2.2.1 依赖库
sudo apt install libgl1-mesa-dev //opengl
sudo apt install libglew-dev //glew
sudo apt-get install libepoxy-dev //epoxy
sudo apt install python3//python3
sudo apt install python3-pip//python3 pip
pip install numpy //numpy
sudo apt install cmake //cmake2.2.2 安装pangolin
git clone https://github.com/stevenlovegrove/Pangolin.git
cd Pangolin
mkdir build
cd build
cmake ..
make -j4
sudo make install安装pangolin成功
2.2.3 安装opencv
首先在windows下载opencv4.4.0版本 然后再解压缩安装opencv相关依赖项
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-configopencv下建立build文件
mkdir build
cd build然后运行
sudo cmake -D CMAKE_BUILD_TYPERelease -D CMAKE_INSTALL_PREFIX/usr/local ..编译
sudo make -j8
sudo make installopencv环境配置 打开/etc/ld.so.conf
sudo vi /etc/ld.so.conf并在最后一行加入include /usr/loacal/lib
运行sudo ldconfig,修改/etc/bash.bashrc 文件
sudo ldconfig
sudo vi /etc/bash.bashrc 在文件末尾加入
PKG_CONFIG_PATH$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH进入opencv build目录
sudo make install
pkg-config --modversion opencv4 2.2.4 Eigen3安装
sudo apt-get update
sudo apt-get install libeigen3-dev在根目录下运行命令
cd ORB_SLAM3
chmod x build.sh
./build.sh出现
/home/yq/orb-slam3/ORB_SLAM3/Thirdparty/DBoW2/DBoW2/BowVector.h:17:10: fatal error: boost/serialization/serialization.hpp: 没有那个文件或目录17 | #include boost/serialization/serialization.hpp| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~表明缺少Boost库中的serialization模块
sudo apt-get install libboost-all-dev出现错误
/usr/local/include/sigslot/signal.hpp:946:10: error: ‘decay_t’ in namespace ‘std’ does not name a template type; did you mean ‘decay’?946 | std::decay_tPtr ptr;表明要使用C14 将cmake.txt中
# Check C11 or C0x support
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG(-stdc11 COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG(-stdc0x COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -stdc14)add_definitions(-DCOMPILEDWITHC11)message(STATUS Using flag -stdc14.)
elseif(COMPILER_SUPPORTS_CXX0X)set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -stdc0x)add_definitions(-DCOMPILEDWITHC0X)message(STATUS Using flag -stdc0x.)
else()message(FATAL_ERROR The compiler ${CMAKE_CXX_COMPILER} has no C14 support. Please use a different C compiler.)
endif()更改为
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_EXTENSIONS OFF)
add_definitions(-DCOMPILEDWITHC11)出现错误
/home/yq/orb-slam3/ORB_SLAM3/src/System.cc:26:10: fatal error: openssl/md5.h: 没有那个文件或目录26 | #include openssl/md5.h
说明编译过程中缺少OpenSSL库中的md5.h头文件
sudo apt-get install libssl-dev可以编译成功了
三 数据集运行
3.1 下载EuRoc数据集
数据集地址https://projects.asl.ethz.ch/datasets/doku.php?idkmavvisualinertialdatasets#downloads 在ORB_SLAM3文件下新建一个dataset数据集 把数据集文件解压放到里面 在ORB_SLAM3下运行
3.2 文件修改看情况
如果是单目相机特别要注意要去mono_euroc.cc下修改文件中的false改为true
3.3 运行数据集
然后回到ORB_SLAM3目录下运行
chmod x build.sh
./build.sh这表明重新生成了可执行文件 然后运行这个
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/euroc_dataset/MH_01_easy ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt上述结构为
可执行文件./Examples/Monocular/mono_euroc
词汇文件./Vocalbulary/ORBvoc.txt
摄像头配置文件./Examples/Monocular/EuRoC.yaml
Euroc数据集./dataset/euroc_dataset/MH_01_easy
Euroc时间戳 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt效果如下
四 ROS在ORB_SLAM3上应用
由于orb_slam作者的更新ROS示例被放到了Examples_old位置而Examples没有,所以进入Examples_old
添加ROS环境变量 ROS的路径
/home/yq/orb-slam3/ORB_SLAM3/Examples_old/ROS
然后进入配置里面
vi ~/.bashrc加入ROS路径在最后一行进行环境变量的添加
export ROS_PACKAGE_PATH${ROS_PACKAGE_PATH}:PATH/ORB_SLAM3/Examples_old/ROS进行配置刷新并输出ROS环境变量路径来验证是否配置正确
source ~/.bashrc
echo $ROS_PACKAGE_PATH运行build_ros.sh
chmod x build_ros.sh
./build_ros.sh