Jetson AGX Xavier安装ORB_SLAM2(无ROS)

1. 安装依赖项

sudo apt-get install libglew-dev
sudo apt-get install cmake
sudo apt-get install libpython2.7-dev
sudo apt-get install ffmpeg libavcodec-dev libavutil-dev libavformat-dev libswscale-dev
sudo apt-get install libdc1394-22-dev libraw1394-dev
sudo apt-get install libjpeg-dev libtiff5-dev libopenexr-dev

2. 安装Pangolin

git clone https://github.com/stevenlovegrove/Pangolin
cd Pangolin
mkdir build
cd build
cmake ..
make
sudo make install

3. 安装OpenCV

参考:https://www.cnblogs.com/gloria-zhang/p/13819297.html

4. 安装eigen3

sudo apt-get install libeigen3-dev

5. DBoW2和g2o包

这两个包含在ORG-SLAM2中,不用单独装。

6. 安装ORB-SLAM2

git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
cd ORB_SLAM2
chmod +x build.sh
./build.sh

7. 解决问题

在Jetson AGX Xavier上调用./build.sh会报错,error:'usleep'。

解决方法是在几个文件中添加头文件

#include <unistd.h>

文件列表:

目录ORB_SLAM2/src下的Tracking.cc,Viewer.cc,System.cc,LoopClosing.cc,LocalMapping.cc

目录ORB_SLAM2/Examples/Monocular下的mono_euroc.cc,mono_tum.cc,mono_kitti.cc

目录ORB_SLAM2/Examples/RGB-D下的rgbd_tum.cc

目录ORB_SLAM2/Examples/Stereo下的stereo_euroc.cc,stereo_kitti.cc

更改后再调用./build.sh。

8. 验证

下载数据集,我只下载了TUM数据集中的第一个rgbd_dataset_freiburg1_xyz,0.42G的。

解压数据集,把文件夹rgbd_dataset_freiburg1_xyz放在ORG_SLAM2目录下。

终端调用

./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml rgbd_dataset_freiburg1_xyz

其中,TUM1.yaml也可以改成TUM2.yaml或TUM3.yaml。

结果显示

posted @ 2020-10-16 16:13  格格_gloria  阅读(570)  评论(0编辑  收藏  举报