UBUNTU16.04下ORB-SLAM3的安装与运行

前言

在ORB-SLAM2的基础上的扩充和改进,提出了可搭载更多种类传感器,且准确性和鲁棒性都更好。即使在较严重的抖动相机和较大幅转弯的情况下,ORB-SLAM3的定位跟踪仍可继续,且构建的轨迹也吻合实际情况,效果教原ORB-SLAM2有较大的改进。

一、准备工作

与ORB-SLAM2的相同,需要安装以下依赖:

1. Pangolin
2. OpenCV>=3.0
3. Eigen>=3.1.0
4. Python
sudo apt install libpython2.7-dev
5. ROS(medolic)
6. DBoW2和g2o (已经集成在源码中的第三方库中,不需要自己安装)

二、编译

1. clone到本地

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

2. 编译

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

编译时可能出错:

g++: internal compiler error: Killed (program cc1plus)

原因,内存不足 使用交换分区来解决。

sudo dd if=/dev/zero of=/swapfile bs=64M count=128
#count的大小就是增加的swap空间的大小,64M是块大小,所以空间大小是bs*count=16GB
sudo mkswap /swapfile      #把刚才空间格式化成swap格式
sudo swapon /swapfile      #使用刚才创建的swap空间

然后,继续编译。编译完毕后,删除交换分区。

sudo swapoff /swapfile
sudo rm /swapfile

三、运行

1.下载数据集

wget http://robotics.ethz.ch/~asl-datasets/ijrr_euroc_mav_dataset/machine_hall/MH_01_easy/MH_01_easy.zip

解压数据集,在下载到本地的ORB-SLAM3目录下新建一个空的dataset文件夹,并将解压后的文件夹移动到ORB-SLAM3/dataset文件夹下,也就是ORB-SLAM3/dataset/mav0

2.run
开启终端,进入下载到本地的ORB-SLAM3目录下,运行下面的指令就能成功运行。

./Examples/Monocular/mono_euroc ./Vocabulary/ORBvoc.txt ./Examples/Monocular/EuRoC.yaml ./dataset ./Examples/Monocular/EuRoC_TimeStamps/MH01.txt dataset-MH01_mono
 

查看ROS的订阅信息

rostopic list

 

你可能感兴趣的:(UBUNTU16.04下ORB-SLAM3的安装与运行)