欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

在树莓派4上编译运行orbslam2

程序员文章站 2022-06-11 16:55:28
...

1. 环境

  • 硬件环境:
    树莓派4B 4G 32G sandisk tf card
  • 软件环境:
Linux pibot 5.4.0-1022-raspi #25~18.04.1-Ubuntu SMP PREEMPT Thu Oct 15 14:38:18 UTC 2020 aarch64 aarch64 aarch64 GNU/Linux
aaa@qq.com:~$ pkg-config --modversion opencv
3.2.0
aaa@qq.com:~$ pkg-config --modversion eigen3
3.3.4

cd Pangolin
git log --graph --decorate --oneline -1
#* 86eb497 (HEAD -> master, origin/master, origin/HEAD) cmake: Fix wayland option

cd ORB_SLAM2
git log --graph --decorate --oneline -1
# * f2e6f51 (HEAD -> master, origin/master, origin/HEAD) Update README.md

2. 编译Pangolin

sudo apt-get install libglew-dev
unzip Pangolin.zip
cd Pangolin
mkdir build && cd build
cmake ..
make -j4
sudo make install

3. 编译orb-slam2

3.1 修改头文件

include/System.h新增#include <unistd.h>以修复usleep未定义的错误

diff --git a/include/System.h b/include/System.h
index b377b45..b2e990c 100644
--- a/include/System.h
+++ b/include/System.h
@@ -25,7 +25,7 @@
 #include<string>
 #include<thread>
 #include<opencv2/core/core.hpp>
+#include <unistd.h>

 #include "Tracking.h"
 #include "FrameDrawer.h"
 #include "MapDrawer.h"

3.2 编译

cd ORB_SLAM2
git log --graph --decorate --oneline -1
# * f2e6f51 (HEAD -> master, origin/master, origin/HEAD) Update README.md
./build.sh

4. 测试

4.1 数据集测试

2.2 数据集准备

cd dataset
wget https://vision.in.tum.de/rgbd/dataset/freiburg1/rgbd_dataset_freiburg1_desk.tgz
wget https://svncvpr.in.tum.de/cvpr-ros-pkg/trunk/rgbd_benchmark/rgbd_benchmark_tools/src/rgbd_benchmark_tools/associate.py
tar xzvf rgbd_dataset_freiburg1_desk.tgz
# 使用associate.py处理rgb.txt和depth.txt,生成配对的文件associate.txt
cd rgbd_dataset_freiburg1_desk
python ../associate.py rgb.txt depth.txt > associate.txt

其他数据集下载地址

4.2 测试

cd ORB_SLAM2
cd Vocabulary
tar xzvf ORBvoc.txt.tar.gz # 解压得到ORBvoc.txt
cd ..
# Usage: ./rgbd_tum path_to_vocabulary path_to_settings path_to_sequence path_to_associatio
./Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt ./Examples/RGB-D/TUM1.yaml ../dataset/rgbd_dataset_freiburg1_desk ../dataset/rgbd_dataset_freiburg1_desk/associate.txt

效果如下
在树莓派4上编译运行orbslam2