Ubuntu 20.04 安装 ORB_SLAM3(包含ROS版)

这篇博客详细介绍了在Ubuntu20.04上安装Eigen3、OpenCV、Pangolin、realsense2以及ORB_SLAM3的步骤,并提供了ROS版本的ORB_SLAM3的安装和示例。通过修改CMakeLists.txt和配置环境变量,使得ORB_SLAM3能在ROS Noetic环境下运行。此外,还展示了如何使用ROS播放EuRoC数据集并运行ORB_SLAM3进行视觉惯性导航。
摘要由CSDN通过智能技术生成

一、普通版本

1. Eigen3

# 默认版本是3.3.7
sudo apt install libeigen3-dev

2. OpenCV

# 默认版本是 4.2.0
sudo apt install libopencv-dev

3. Pangolin

官网 下载稳定版本V0.6(master版本与其他库使用时出错)。安装指令如下所示:

# 安装依赖项
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
# 解压缩后
cd Pangolin 
mkdir build && cd build
cmake ..
make -j
sudo make install

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

4. ORB_SLAM3

# 下载
git clone https://github.com/UZ-SLAMLab/ORB_SLAM3.git ORB_SLAM3
# 编译
cd ORB_SLAM3
chmod +x build.sh
./build.sh

5. EuRoC 示例

5.1 下载数据包

打开官网,下载如图所示的多个数据包。
在这里插入图片描述下载完成后解压缩,如下图所示
在这里插入图片描述按Ctrl+L可查看数据文件夹当前路径,我这里是/media/cgnerds/ECA4B49EA4B46D28/Data/EuRoC,在ORB_SLAM3根目录下建立datasets文件夹,打开终端,输入如下命令建立软链接。

ln -s /media/cgnerds/ECA4B49EA4B46D28/Data/EuRoC EuRoC

建立完成后如下所示:
在这里插入图片描述

5.2 单一数据包示例

在Examples文件夹下,打开终端,输入如下命令。

./Monocular-Inertial/mono_inertial_euroc ../Vocabulary/ORBvoc.txt ./Monocular-Inertial/EuRoC.yaml ../datasets/EuRoC/MH_01_easy ./Monocular-Inertial/EuRoC_TimeStamps/MH01.txt dataset-MH01_monoi

在这里插入图片描述

5.3 多个数据包示例

./Monocular-Inertial/mono_inertial_euroc ../Vocabulary/ORBvoc.txt ./Monocular-Inertial/EuRoC.yaml ../datasets/EuRoC/MH_01_easy ./Monocular-Inertial/EuRoC_TimeStamps/MH01.txt ../datasets/EuRoC/MH_02_easy ./Monocular-Inertial/EuRoC_TimeStamps/MH02.txt ../datasets/EuRoC/MH_03_medium ./Monocular-Inertial/EuRoC_TimeStamps/MH03.txt ../datasets/EuRoC/MH_04_difficult ./Monocular-Inertial/EuRoC_TimeStamps/MH04.txt ../datasets/EuRoC/MH_05_difficult ./Monocular-Inertial/EuRoC_TimeStamps/MH05.txt dataset-MH01_to_MH05_monoi

在这里插入图片描述

二、ROS版本

1. ROS安装

按照官网安装。首先设置raw.githubusercontent.com。

# 在终端运行如下命令,打开hosts文件
sudo gedit /etc/hosts
# 在打开的文件添加如下行,添加完成后关闭
199.232.68.133  raw.githubusercontent.com
# 在终端运行如下命令,添加source.list
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# 设置key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

如果返回OK,则说明设置成功。
在这里插入图片描述正式安装

sudo apt update
sudo apt install ros-noetic-desktop-full
# 在使用ROS的每个bash终端中获取此脚本的源代码
# 环境配置(二选一即可)
## Bash
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
## zsh
echo "source /opt/ros/noetic/setup.zsh" >> ~/.zshrc
source ~/.zshrc
# 安装工具
sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
sudo rosdep init
rosdep update

2. ORB_SLAM3 ROS版本编译

修改 Examples/ROS/ORB_SLAM3 下的 CMakeLists.txt 中的OpenCV 版本为 4.0,如下所示:
在这里插入图片描述
设置

# 将  Examples/ROS/ORB_SLAM3 添加到环境变量 ROS_PACKAGE_PATH
gedit ~/.zshrc
# 将 PATH替换为ORB_SLAM3路径,再将以下语句添加到 ~/.zshrc 末尾
source /opt/ros/noetic/setup.zsh
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/cgnerds/Dev/ORB_SLAM3/ORB_SLAM3/Examples/ROS

设置如下所示:
在这里插入图片描述编译

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

在这里插入图片描述

3. ROS示例

3.1 查看数据集topic信息

在数据集路径下打开终端,输入如下命令

rosbag info MH_01_easy.bag  

输出如下:
在这里插入图片描述
根据topics信息,修改 ros_mono_inertial.cc 文件中的相应代码,如下所示

  ros::Subscriber sub_imu = n.subscribe("/imu0", 1000, &ImuGrabber::GrabImu, &imugb);
  ros::Subscriber sub_img0 = n.subscribe("/cam0/image_raw", 100, &ImageGrabber::GrabImage, &igb);

之后再次编译

3.2 运行

打开第一个终端,启动roscore,如下所示

roscore

打开第二个终端,在Example文件夹下执行

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

打开第三个终端,在数据集文件夹下执行

rosbag play MH_01_easy.bag 

运行时,如下所示:
在这里插入图片描述

参考链接:Ubuntu 20.04 安装 ROS Noetic

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 ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值