ORBSLAM2安装与运行.docx

上传人:b****7 文档编号:25469521 上传时间:2023-06-09 格式:DOCX 页数:6 大小:16.98KB
下载 相关 举报
ORBSLAM2安装与运行.docx_第1页
第1页 / 共6页
ORBSLAM2安装与运行.docx_第2页
第2页 / 共6页
ORBSLAM2安装与运行.docx_第3页
第3页 / 共6页
ORBSLAM2安装与运行.docx_第4页
第4页 / 共6页
ORBSLAM2安装与运行.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

ORBSLAM2安装与运行.docx

《ORBSLAM2安装与运行.docx》由会员分享,可在线阅读,更多相关《ORBSLAM2安装与运行.docx(6页珍藏版)》请在冰豆网上搜索。

ORBSLAM2安装与运行.docx

ORBSLAM2安装与运行

ORB_SLAM2安装与运行

1.安装C++11编译器

ORB_SLAM2使用了C++11的线程和时间控制函数。

[javascript]viewplaincopyprint?

$sudoapt-getinstallgccg++

2.安装Pangolin

ORB_SLAM2使用Pangolin构建可视化用户界面.参见

[javascript]viewplaincopyprint?

$sudoapt-getinstalllibglew-dev#安装Glew$sudoapt-getinstallcmake#安装CMake#安装Boost$sudoapt-getinstalllibboost-devlibboost-thread-devlibboost-filesystem-dev$sudoapt-getinstalllibpython2.7-dev#安装Python2/Python3#下载、编译、安装Pangolin:

$gitclone$cdPangolin$mkdirbuild$cdbuild$cmake-DCPP11_NO_BOOST=1..$make$sudomakeinstall

3.安装OpenCV2.4.13

ORB_SLAM2使用OpenCV处理图像以及特征.参见:

http:

//opencv.org/downloads.htm.至少需要2.4.3的版本.本测试用OpenCV2.4.13.(注:

OpenCV2.4.11与cuda8.0不兼容,若需要GPU加速(使用cuda8.0,cuda8.0以前的版本不支持GTX1080),则需要安装OpenCV2.4.13)

[javascript]viewplaincopyprint?

$sudoapt-getinstallbuild-essentiallibgtk2.0-devlibjpeg-devlibtiff4-devlibjasper-devlibopenexr-devcmakepython-devpython-numpypython-tklibtbb-devlibeigen2-devyasmlibfaac-devlibopencore-amrnb-devlibopencore-amrwb-devlibtheora-devlibvorbis-devlibxvidcore-devlibx264-devlibqt4-devlibqt4-opengl-devsphinx-commontexlive-latex-extralibv4l-devlibdc1394-22-devlibavcodec-devlibavformat-devlibswscale-dev$unzipopencv-2.4.13.zip$cdopencv-2.4.13;mkdirbuild;cdbuild;$cmake-DCMAKE_BUILD_TYPE=RELEASE-DCMAKE_INSTALL_PREFIX=/usr/local-DWITH_TBB=ON-DBUILD_NEW_PYTHON_SUPPORT=ON-DWITH_V4L=ON-DINSTALL_C_EXAMPLES=ON-DINSTALL_PYTHON_EXAMPLES=ON-DBUILD_EXAMPLES=ON-DWITH_QT=ON-DWITH_OPENGL=ON-DCUDA_GENERATION=Kepler..$make$sudomakeinstall

[javascript]viewplaincopyprint?

#在其中写入:

/usr/local/libsudogedit/etc/ld.so.conf.d/opencv.conf#在文件末尾写入:

#PKG_CONFIG_PATH=$PKG_CONFIG_PATH:

/usr/local/lib/pkgconfig#exportPKG_CONFIG_PATHsudoldconfigsudogedit/etc/bash.bashrc#source此脚本source/etc/bash.bashrc

4.安装Eigen3.1.0

g2o需要Eigen,下载和安装Eigen3的方法可以看这儿:

http:

//eigen.tuxfamily.org.需要3.1.0及以上。

(Opencv2.4.13编译时依赖此模块,最好在OpenCV2.4.13编译前安装)

提供以下功能模块:

1)密集矩阵和数组操作

2)解密集线性方程组和矩阵分解

-求解线性最小二乘系统

-密集矩阵分解(Cholesky,LU,QR,SVD,特征值分解)

3)解稀疏线性方程组和矩阵分解

-稀疏矩阵操作

-求解稀疏线性最小二乘系统

-稀疏矩阵分解(SpareCore,OrderingMethods,SpareCholesky,SpareLU,SparseQR,迭代线性求解)

4)空间变换

-2D旋转(角度)

-3D旋转(角度+轴)

-3D旋转(四元组:

quaternion)

-N维缩放

-N维平移

-N维仿射变换

-N维线性变换(旋转、平移、缩放)

[javascript]viewplaincopyprint?

$sudoapt-getinstalllibeigen3-dev

5.BLASandLAPACK

g2o需要BLAS和LAPACK

(1)BLAS:

BasicLinearAlgebraSubprograms

提供了基本的向量和矩阵操作:

-Level-1BLAS:

支持标量、向量、向量-向量操作

-Level-2BLAS:

支持矩阵-向量操作

-Level-3BLAS:

支持矩阵-矩阵操作

(2)LAPACK:

LinearAlgebraPACKage

它调用BLAS来实现更高级的功能,支持以下操作:

-解线性方程组

-线性方程组的最小二乘解

-特征值问题和奇异值问题

-矩阵分解(LU,Cholesky,QR,SVD,Schur,generalizedSchur)

-支持密集和带状矩阵,但不支持一般的稀疏矩阵

-支持单精度和双精度

[javascript]viewplaincopyprint?

$sudoapt-getinstalllibblas-dev$sudoapt-getinstallliblapack-dev

6.DBoW2andg2o(IncludedinThirdpartyfolder)

ORB_SLAM2使用修改版的DBoW2库进行位置识别,使用g2o库进行非线性优化.这两个修改版的库被放在第三方文件夹内.

7.编译ORB_SLAM2库和例子程序(单目、双目和RGB-D)

[javascript]viewplaincopyprint?

$gitcloneORB_SLAM2$cdORB_SLAM2$chmod+xbuild.sh$./build.sh生成的libORB_SLAM2.so位于lib目录下,可执行程序mono_tum,mono_kitti,rgbd_tum,stereo_kitti,mono_eurocandstereo_euroc位于Examples目录下。

8.运行例子程序

8.1Monocular实例

1)TUM数据集

从http:

//vision.in.tum.de/data/datasets/rgbd-dataset/download下载并解压一个序列,如:

rgbd_dataset_freiburg1_desk2.tgz

执行下面的命令(把TUMX.yaml修改为TUM1.yaml<freiburg1序列>,TUM2.yaml<freiburg2序列>orTUM3.yaml

<freiburg3序列>)

[javascript]viewplaincopyprint?

$./Examples/Monocular/mono_tumVocabulary/ORBvoc.txt./Examples/Monocular/TUMX.yamlPATH_TO_SEQUENCE_FOLDER#forexample$./Examples/Monocular/mono_tumVocabulary/ORBvoc.txt./Examples/Monocular/TUM1.yaml../tum_data/rgbd_dataset_freiburg1_desk2/

2)KITTI数据集

从把KITTIX.yaml修改为

KITTI00-02.yaml,KITTI03.yamlorKITTI04-12.yaml,这些*xx.yaml各自对应于序列0to2,3,and4to12.ChangePATH_TO_DATASET_FOLDERtotheuncompresseddatasetfolder.ChangeSEQUENCE_NUMBERto00,01,02,..,11.如有不明白的地方,看一下代码:

[javascript]viewplaincopyprint?

./Examples/Monocular/mono_kittiVocabulary/ORBvoc.txtExamples/Monocular/KITTIX.yamlPATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER

8.2Stereo实例

1)KITTI数据集

修改为KITTI00-02.yaml,KITTI03.yamlorKITTI04-12.yaml,这些*xx.yaml各自对应于序列0to2,3,and4to12.ChangePATH_TO_DATASET_FOLDERtotheuncompresseddatasetfolder.ChangeSEQUENCE_NUMBERto00,01,02,..,11.如有不明白的地方,看一下代码:

[javascript]viewplaincopyprint?

./Examples/Stereo/stereo_kittiVocabulary/ORBvoc.txtExamples/Stereo/KITTIX.yamlPATH_TO_DATASET_FOLDER/dataset/sequences/SEQUENCE_NUMBER

8.3RGB-D实例

1)TUM数据集

从http:

//vision.in.tum.de/data/datasets/rgbd-dataset/download下载并解压一个序列,如:

rgbd_dataset_freiburg1_desk2.tgz

运行RGB-D实例时需要RGBD(depth)图像和RGB图像,所以需要把每一张RGB图像与之对应的RGBD图像建立关联(在Examples/RGB-D/associations/目录下有一部分关联文件,可以直接使用),关联python文件associate.py(根据timestamp进行关联)。

[javascript]viewplaincopyprint?

$pythonassociate.pyPATH_TO_SEQUENCE/rgb.txtPATH_TO_SEQUENCE/depth.txt>associations.txt

执行下面的命令(把TUMX.yaml修改为TUM1.yaml<freiburg1序列>,TUM2.yaml<freiburg2序列>orTUM3.yaml<freiburg3序列>),把ASSOCIATIONS_FILE修改为对应的关联文件。

[javascript]viewplaincopyprint?

$./Examples/RGB-D/rgbd_tumVocabulary/ORBvoc.txtExamples/RGB-D/TUMX.yamlPATH_TO_SEQUENCE_FOLDERASSOCIATIONS_FILE#forexample$./Examples/RGB-D/rgbd_tumVocabulary/ORBvoc.txt./Examples/RGB-D/TUM1.yaml../tum-data/rgbd_dataset_freiburg1_desk2/./Examples/RGB-D/associations/fr1_desk2.txt

8.4ROS实例

8.4.1安装ROS9.SLAM和Localization模式

你可在GUI中切换至SLAM模式或Localization模式。

9.1SLAM模式

这是默认模式.此模式下,系统有三个线程并行运行:

Tracking,LocalMappingandLoopClosing。

系统不停地定位相机,构建新的地图,并且试图闭合环形路径。

9.2Localization模式

当你有一个好的工作区域地图时,你可以使用此模式。

在这种模式下,局部地图构建以及环路闭合检测将不工作。

系统在你提供的地图上定位相机(此地图不再更新),在必要时使用重定位(relocalization)。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1