Ubuntu20.04配置ORB_SLAM3环境

本机是在安装视觉SLAM十四讲例程所需依赖的前提下进行ORB_SLAM3环境的配置,视觉SLAM十四讲依赖库安装参考:https://blog.csdn.net/qq_30196905/article/details/125733019

ORB_SLAM3源码地址:GitHub - UZ-SLAMLab/ORB_SLAM3: ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM

带注释版本:

GitHub - electech6/ORB_SLAM3_detailed_comments: Detailed comments for ORB-SLAM3

参考以下博客:

1.Ubuntu20.04 —新系统从头安装ORB-SLAM3过程(2022年)_@曾记否的博客-CSDN博客_orb-slam3安装

2.Ubuntu20.04配置ORB_SLAM3并简单运行_Leonard2021的博客-CSDN博客_ubuntu运行orbslam

3.Ubuntu20.04安装并运行ORB_SLAM3(一路顺风版)_9527风先生的博客-CSDN博客_ubuntu运行orbslam

4.Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM2+Gazebo仿真运行ORB-SLAM2+各种相关库的安装_ZARD帧心的博客-CSDN博客_orbslam2和orbslam3

一、各类依赖库

1、Pangolin(推荐0.6,我装的0.8)

2、OpenCV3(我装的3.4.15)

3、Eigen3(二进制安装)

4、G2O

5、Sophus

(前面1~5在视觉SLAM十四讲里已经安装过了,这里不再安装,查看ORB_SLAM3编译脚本,可以发现各个第三方库只有make编译命令,而没有make install,表明当前库只是安装在当前文件夹下,而不影响系统中已经安装过的库,所以不需要修改,可以把make -j 改为make -j12)

6、DBoW2

在源码包的ThirdParty下有,build.sh里面已经写好安装命令

二、修改Cmakelists文件

1.找到find_package(OpenCV 4.4),删除它,如果使用OpenCV3.4.15,则加上以下代码:

# 使用OpenCV3.4.15
set(CMAKE_PREFIX_PATH "/usr/local/OpenCV3") 
find_package(OpenCV 3 REQUIRED)
   if(NOT OpenCV_FOUND)
      message(FATAL_ERROR "OpenCV 3 not found.")
   endif()

如果使用3.0的版本,编译时会报警告G2O依赖4.2版本,所以还是用4.2,则加上以下代码:

# 使用OpenCV4.2
find_package(OpenCV 4 REQUIRED)
   if(NOT OpenCV_FOUND)
      message(FATAL_ERROR "OpenCV 4 not found.")
   endif()

2.在find_package(Eigen3 3.1.0 REQUIRED)后面加上include_directories("/usr/include/eigen3")。

3.找到Check C++11 or C++0x support的位置,把到endif()的语句全部注释掉,换成:

参考:ubuntu20.04 编译orb-slam3踩坑_神人掌观山河的博客-CSDN博客_orbslam3编译

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_EXTENSIONS OFF)
add_definitions(-DCOMPILENDWITHC11)

4.把Examples和Examples_old文件夹里面的.cc文件里面monotonic_clock全部替换成steady_clock

5.运行ORB_SLAM3的时候,可能没有画面,是因为程序中没有打开可视化界面:

打开mono_euroc.cc的第83行,把false改为true
ORB_SLAM3::System SLAM(argv[1],argv[2],ORB_SLAM3::System::MONOCULAR, true);

6.修改G2O的Cmakelists文件(否则后面运行ROS版本的会出现问题):

参考链接:ORB_SLAM3运行时segment fault_iri_descent的博客-CSDN博客

Thirdparty/g2o/CMakeLists.txt中,把以下语句后面的-march native句子删除

SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O3")

 三、编译源码

cd ORB_SLAM3
chmod +x build.sh
./build.sh

四、ROS接口编译

 参考链接:ORB_SLAM3 + ROS采坑实录(从零开始的毕设生活第一弹)_藏原走的博客-CSDN博客

sudo gedit ~/.zshrc

添加以下语句:
# 配置ORB_SLAM3的ROS环境
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/traveller/CLionProjects/ORB_SLAM3/Examples_old/ROS

# 打开build_ros.sh 脚本,修改内容如下(修改cd命令后面的路径):
echo "Building ROS nodes"

cd Examples_old/ROS/ORB_SLAM3
mkdir build
cd build
cmake .. -DROS_BUILD_TYPE=Release
make -j12

# 执行build_ros.sh 脚本
chmod +x build_ros.sh
./build_ros.sh

编译可能会报错,需要修改路径ORB_SLAM3/Examples_old/ROS/ORB_SLAM3下的Cmakelists文件:

1.把C++11改为C++14:

# 改为C++14
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_EXTENSIONS OFF)
add_definitions(-DCOMPILENDWITHC11)

2.使用OpenCV4.2:

# 使用OpenCV4.2
find_package(OpenCV 4 REQUIRED)
   if(NOT OpenCV_FOUND)
      message(FATAL_ERROR "OpenCV 4 not found.")
   endif()

3.添加Eigen库头文件地址:

include_directories("/usr/include/eigen3")

4.添加Sophus库依赖:

在include_directories中加入:
${PROJECT_SOURCE_DIR}/../../../Thirdparty/Sophus

5.把AR部分注释掉:

# Node for monocular camera (Augmented Reality Demo)
# rosbuild_add_executable(MonoAR
# src/AR/ros_mono_ar.cc
# src/AR/ViewerAR.h
#src/AR/ViewerAR.cc
#)

#target_link_libraries(MonoAR
#${LIBS}
#)

五、下载数据集并运行测试

一般是下载ASL格式的文件,如果用ROS,则下载BAG类型的,参考博客:Ubuntu20.04 —— 新系统从头安装ORB-SLAM3过程(2022年)_@曾记否的博客-CSDN博客_orb-slam3安装

Tips:从官网下的时候把链接复制,用迅雷下载速度更快。

百度网盘:SLAM数据集(百度网盘)_熊猫飞天的博客-CSDN博客_data_odometry_velodyne.zip

//根据数据集路径直接运行以下代码
./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset/MH01 ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt

六、ROS版本运行测试:

参考链接:

Ubuntu 20.04 安装 ORB_SLAM3(包含ROS版)_cgnerds的博客-CSDN博客

ORB_SLAM3 + ROS采坑实录(从零开始的毕设生活第一弹)_藏原走的博客-CSDN博客

# setp01
roscore

# step02
rosrun ORB_SLAM3 Mono_Inertial Vocabulary/ORBvoc.txt Examples/Monocular-Inertial/EuRoC.yaml


# step03
# 其实就是把话题名称修改一下,否则订阅不到话题,也可以修改源码中的subscriber
# 数据集的地址修改为自己的
rosbag play dataset/MH_01_easy.bag /cam0/image_raw:=/camera/image_raw /imu0:=/imu

七、安装SLAM测评工具evo

evo是一个很好的测评工具,它可以根据时间戳将轨迹进行对齐,同时可以将不同尺度的轨迹按照你指定的标准轨迹进行拉伸对齐,并可以算出均方差等评定参数,用于测评slam算法性能。

参考:Ubuntu20.04安装evo(详细教程)【亲测有效】_学无止境的小龟的博客-CSDN博客_安装evo

Ubuntu 20.04配置ORB-SLAM2和ORB-SLAM3运行环境+ROS实时运行ORB-SLAM2+Gazebo仿真运行ORB-SLAM2+各种相关库的安装_ZARD帧心的博客-CSDN博客_orbslam2和orbslam3这里建议换源:

sudo pip install evo --upgrade --no-binary evo -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

使用方法参考:

Ubuntu 18.04 ——— VIO算法评测工具EVO的安装与使用_@曾记否的博客-CSDN博客

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Ubuntu 20.04上安装ORB_SLAM3的步骤如下: 1. 打开终端,并执行以下指令来安装依赖项: ``` sudo apt-get install libglew-dev doxygen sudo apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev sudo apt-get install libpng-dev ``` 2. 从ORB_SLAM3官网下载稳定版本V0.6(请避免使用master版本,因为它可能与其他库发生冲突)。 3. 解压缩下载的文件,进入解压后的目录: ``` cd Orb_SLAM3 ``` 4. 在终端中执行以下指令编译ORB_SLAM3: ``` chmod +x build.sh ./build.sh ``` 5. 安装realsense2库(可选): ``` # 注册public key sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE # 添加apt源 sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u # 安装 sudo apt install librealsense2-dkms librealsense2-utils librealsense2-dev ``` 完成以上步骤后,ORB_SLAM3将成功安装在Ubuntu 20.04上。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ubuntu20.04安装并运行ORB_SLAM3(一路顺风版)](https://blog.csdn.net/weixin_56566649/article/details/125280841)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Ubuntu 20.04 安装 ORB_SLAM3(包含ROS版)](https://blog.csdn.net/zhuxiaoyang2000/article/details/120716609)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

travellerss

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值