# ManhattanSLAM
**Authors:** Raza Yunus, Yanyan Li and Federico Tombari
ManhattanSLAM is a real-time SLAM library for **RGB-D** cameras that computes the camera pose trajectory, a sparse 3D
reconstruction (containing point, line and plane features) and a dense surfel-based 3D reconstruction. Further details
can be found in the related publication. The code is based on [ORB-SLAM2](https://github.com/raulmur/ORB_SLAM2).
<a href="https://www.youtube.com/embed/UE8A6mUOPLE" target="_blank"><img
src="https://img.youtube.com/vi/UE8A6mUOPLE/0.jpg"
alt="ManhattanSLAM" width="240" height="180" border="10" /></a>
### Related Publication:
Raza Yunus, Yanyan Li and Federico Tombari, **ManhattanSLAM: Robust Planar Tracking and Mapping Leveraging Mixture of
Manhattan Frames**, *in 2021 IEEE International Conference on Robotics and Automation (ICRA)
.* **[PDF](https://arxiv.org/pdf/2103.15068.pdf)**.
# 1. License
ManhattanSLAM is released under
a [GPLv3 license](https://github.com/razayunus/ManhattanSLAM/blob/master/License-gpl.txt). For a list of all
code/library dependencies (and associated licenses), please
see [Dependencies.md](https://github.com/razayunus/ManhattanSLAM/blob/master/Dependencies.md).
If you use ManhattanSLAM in an academic work, please cite:
```
@inproceedings{yunus2021manhattanslam,
author = {R. Yunus, Y. Li and F. Tombari},
title = {ManhattanSLAM: Robust Planar Tracking and Mapping Leveraging Mixture of Manhattan Frames},
year = {2021},
booktitle = {2021 IEEE international conference on Robotics and automation (ICRA)},
}
```
# 2. Prerequisites
We have tested the library in **Ubuntu 16.04** and **Ubuntu 20.04**, but it should be easy to compile on other platforms. A powerful
computer (e.g. i7) will ensure real-time performance and provide more stable and accurate results. Following is the list
of dependecies for ManhattanSLAM and their versions tested by us:
- **OpenCV:** 3.3.0, 3.4.3
- **PCL:** 1.7.2, 1.10
- **Eigen3:** 3.3
- **DBoW2:** Included in Thirdparty folder
- **g2o:** Included in Thirdparty folder
- **Pangolin**
- **tinyply:** 2.3.2
# 3. Building and testing
Clone the repository:
```
git clone https://github.com/razayunus/ManhattanSLAM
```
There is a script `build.sh` to build the *Thirdparty* libraries and *ManhattanSLAM*. Please make sure you have
installed all required dependencies (see section 2). Execute:
```
cd ManhattanSLAM
chmod +x build.sh
./build.sh
```
This will create **libManhattanSLAM.so** in *lib* folder and the executable **manhattan_slam** in *Example* folder.
To test the system:
1. Download a sequence for one of the following datasets and uncompress it:
- **TUM RGB-D: https://vision.in.tum.de/data/datasets/rgbd-dataset**
- **ICL-NUIM: https://www.doc.ic.ac.uk/~ahanda/VaFRIC/iclnuim.html**
- **TAMU RGB-D: http://telerobot.cs.tamu.edu/MFG/rgbd/livo/data.html**
2. Associate RGB images and depth images using the python
script [associate.py](http://vision.in.tum.de/data/datasets/rgbd-dataset/tools). You can generate an associations
file by executing:
```
python associate.py PATH_TO_SEQUENCE/rgb.txt PATH_TO_SEQUENCE/depth.txt > associations.txt
```
**Note:** For ICL-NUIM sequences, the association files are already given but the association is defined as ``depth > rgb`` rather than ``rgb > depth``. This can be changed by transforming ``associations.txt`` as:
```
cat associations.txt | sed 's/depth/temp/g;s/rgb/depth/g;s/temp/rgb/g' | tee associations.txt > /dev/null
```
3. Execute the following command. Change `Config.yaml` to ICL.yaml for ICL-NUIM sequences, TAMU.yaml for TAMU RGB-D
sequences or TUM1.yaml, TUM2.yaml or TUM3.yaml for freiburg1, freiburg2 and freiburg3 sequences of TUM RGB-D
respectively. Change `PATH_TO_SEQUENCE_FOLDER`to the uncompressed sequence folder. Change `ASSOCIATIONS_FILE` to the
path to the corresponding associations file.
```
./Example/manhattan_slam Vocabulary/ORBvoc.txt Example/Config.yaml PATH_TO_SEQUENCE_FOLDER ASSOCIATIONS_FILE
```
没有合适的资源?快使用搜索试试~ 我知道了~
部署运行成的ManhattanSLAM代码压缩包
共432个文件
h:91个
o:60个
cpp:51个
需积分: 0 1 下载量 186 浏览量
2024-03-07
19:32:50
上传
评论
收藏 125.7MB ZIP 举报
温馨提示
部署运行成的ManhattanSLAM代码压缩包
资源推荐
资源详情
资源评论
收起资源包目录
部署运行成的ManhattanSLAM代码压缩包 (432个子文件)
feature_tests.bin 12KB
feature_tests.bin 12KB
feature_tests.bin 12KB
feature_tests.bin 12KB
CMakeDetermineCompilerABI_CXX.bin 8KB
CMakeDetermineCompilerABI_C.bin 8KB
ompver_CXX.bin 8KB
ompver_C.bin 8KB
CMakeDetermineCompilerABI_CXX.bin 8KB
CMakeDetermineCompilerABI_CXX.bin 8KB
CMakeDetermineCompilerABI_CXX.bin 8KB
CMakeDetermineCompilerABI_C.bin 8KB
CMakeDetermineCompilerABI_C.bin 8KB
CMakeDetermineCompilerABI_C.bin 8KB
CMakeCCompilerId.c 18KB
CMakeCCompilerId.c 18KB
CMakeCCompilerId.c 18KB
CMakeCCompilerId.c 16KB
os_specific.c 2KB
feature_tests.c 1KB
feature_tests.c 688B
feature_tests.c 688B
feature_tests.c 688B
OpenMPCheckVersion.c 605B
OpenMPTryFlag.c 93B
Tracking.cc 77KB
ORBextractor.cc 44KB
Optimizer.cc 37KB
ORBmatcher.cc 30KB
PnPsolver.cc 30KB
LocalMapping.cc 30KB
Frame.cc 25KB
KeyFrame.cc 21KB
System.cc 15KB
MapPoint.cc 11KB
MapDrawer.cc 10KB
Map.cc 9KB
Viewer.cc 7KB
FrameDrawer.cc 7KB
MapPlane.cc 6KB
KeyFrameDatabase.cc 6KB
manhattan_slam.cc 5KB
Converter.cc 4KB
cmake.check_cache 85B
cmake.check_cache 85B
cmake.check_cache 85B
cmake.check_cache 85B
Makefile.cmake 20KB
Makefile.cmake 14KB
FindBLAS.cmake 13KB
FindLAPACK.cmake 10KB
DependInfo.cmake 8KB
DependInfo.cmake 6KB
DependInfo.cmake 5KB
CMakeCXXCompiler.cmake 5KB
CMakeCXXCompiler.cmake 5KB
CMakeCXXCompiler.cmake 5KB
CMakeCXXCompiler.cmake 4KB
FindEigen3.cmake 3KB
FindEigen3.cmake 3KB
DependInfo.cmake 3KB
DependInfo.cmake 3KB
CMakeCCompiler.cmake 2KB
CMakeCCompiler.cmake 2KB
CMakeCCompiler.cmake 2KB
cmake_clean.cmake 2KB
Makefile.cmake 2KB
Makefile.cmake 2KB
CMakeCCompiler.cmake 2KB
cmake_clean.cmake 2KB
cmake_clean.cmake 2KB
cmake_install.cmake 2KB
cmake_install.cmake 2KB
cmake_install.cmake 1KB
cmake_install.cmake 1KB
DependInfo.cmake 1KB
CMakeDirectoryInformation.cmake 664B
CMakeDirectoryInformation.cmake 660B
CMakeDirectoryInformation.cmake 652B
CMakeDirectoryInformation.cmake 630B
cmake_clean.cmake 505B
CMakeSystem.cmake 402B
CMakeSystem.cmake 402B
CMakeSystem.cmake 402B
CMakeSystem.cmake 401B
cmake_clean.cmake 330B
cmake_clean.cmake 309B
config 273B
SurfelFusion.cpp 34KB
optimizable_graph.cpp 27KB
sparse_optimizer.cpp 20KB
CMakeCXXCompilerId.cpp 17KB
CMakeCXXCompilerId.cpp 17KB
CMakeCXXCompilerId.cpp 17KB
CMakeCXXCompilerId.cpp 16KB
SurfelMapping.cpp 16KB
LSDmatcher.cpp 14KB
3DLineExtractor.cpp 11KB
types_six_dof_expmap.cpp 11KB
estimate_propagator.cpp 10KB
共 432 条
- 1
- 2
- 3
- 4
- 5
资源评论
诗筱涵
- 粉丝: 4791
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 三维装箱问题(Three-Dimensional Bin Packing Problem,3D-BPP)是一个经典的组合优化问题
- 以下是一些关于Linux线程同步的基本概念和方法.txt
- 以下是一个简化的示例,它使用pygame库来模拟烟花动画的框架.txt
- Linux线程同步机制深度解析与实用指南.zip
- PTA题库C语言解题策略与实战.rar
- SVPWM控制技术的simulink建模与仿真【包括simulink模型,参考文献,操作步骤】
- AI高清修复图片画质易语言易语言源码易语言填表
- 映射窗口.ec易语言易语言模块CPU占用0%游戏监控窗口监控
- 易语言 361窗口模块高效、便捷、自封装、自用
- 易语言 窗口排列 模块 ,简单、高效、体积小
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功