# ORB-SLAM2
**Authors:** [Raul Mur-Artal](http://webdiis.unizar.es/~raulmur/), [Juan D. Tardos](http://webdiis.unizar.es/~jdtardos/), [J. M. M. Montiel](http://webdiis.unizar.es/~josemari/) and [Dorian Galvez-Lopez](http://doriangalvez.com/) ([DBoW2](https://github.com/dorian3d/DBoW2))
**13 Jan 2017**: OpenCV 3 and Eigen 3.3 are now supported.
**22 Dec 2016**: Added AR demo (see section 7).
ORB-SLAM2 is a real-time SLAM library for **Monocular**, **Stereo** and **RGB-D** cameras that computes the camera trajectory and a sparse 3D reconstruction (in the stereo and RGB-D case with true scale). It is able to detect loops and relocalize the camera in real time. We provide examples to run the SLAM system in the [KITTI dataset](http://www.cvlibs.net/datasets/kitti/eval_odometry.php) as stereo or monocular, in the [TUM dataset](http://vision.in.tum.de/data/datasets/rgbd-dataset) as RGB-D or monocular, and in the [EuRoC dataset](http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets) as stereo or monocular. We also provide a ROS node to process live monocular, stereo or RGB-D streams. **The library can be compiled without ROS**. ORB-SLAM2 provides a GUI to change between a *SLAM Mode* and *Localization Mode*, see section 9 of this document.
<a href="https://www.youtube.com/embed/ufvPS5wJAx0" target="_blank"><img src="http://img.youtube.com/vi/ufvPS5wJAx0/0.jpg"
alt="ORB-SLAM2" width="240" height="180" border="10" /></a>
<a href="https://www.youtube.com/embed/T-9PYCKhDLM" target="_blank"><img src="http://img.youtube.com/vi/T-9PYCKhDLM/0.jpg"
alt="ORB-SLAM2" width="240" height="180" border="10" /></a>
<a href="https://www.youtube.com/embed/kPwy8yA4CKM" target="_blank"><img src="http://img.youtube.com/vi/kPwy8yA4CKM/0.jpg"
alt="ORB-SLAM2" width="240" height="180" border="10" /></a>
### Related Publications:
[Monocular] Raúl Mur-Artal, J. M. M. Montiel and Juan D. Tardós. **ORB-SLAM: A Versatile and Accurate Monocular SLAM System**. *IEEE Transactions on Robotics,* vol. 31, no. 5, pp. 1147-1163, 2015. (**2015 IEEE Transactions on Robotics Best Paper Award**). **[PDF](http://webdiis.unizar.es/~raulmur/MurMontielTardosTRO15.pdf)**.
[Stereo and RGB-D] Raúl Mur-Artal and Juan D. Tardós. **ORB-SLAM2: an Open-Source SLAM System for Monocular, Stereo and RGB-D Cameras**. *IEEE Transactions on Robotics,* vol. 33, no. 5, pp. 1255-1262, 2017. **[PDF](https://128.84.21.199/pdf/1610.06475.pdf)**.
[DBoW2 Place Recognizer] Dorian Gálvez-López and Juan D. Tardós. **Bags of Binary Words for Fast Place Recognition in Image Sequences**. *IEEE Transactions on Robotics,* vol. 28, no. 5, pp. 1188-1197, 2012. **[PDF](http://doriangalvez.com/php/dl.php?dlp=GalvezTRO12.pdf)**
## SLAM 微服务化
### 安装
1. 安装原版ORB-SLAM2依赖库
2. 在~/.bashrc中添加Package声明,例如
```sh
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/rain/workspace/ORB_SLAM2
```
3. 将当前源码目录中mnorbslam_msgs消息包复制到catkin_ws工作区域中进行编译
### 运行
分别在三个端口中启动三个节点,根据自己的目录调整相应的路径
```sh
$ rosrun ORB_SLAM2 LocalMapping Vocabulary/ORBvoc.bin
$ rosrun ORB_SLAM2 LoopClosing Vocabulary/ORBvoc.bin
$ rosrun ORB_SLAM2 Tracking Vocabulary/ORBvoc.bin Examples/RGB-D/TUM2.yaml Examples/RGB-D/rgbd_dataset_freiburg2_desk Examples/RGB-D/rgbd_dataset_freiburg2_desk/associate.txt
```
### LoopClosing
1. SLAM分解为三个ROS节点,采用数据库作为Map数据容器,在LoopClosing线程中,进行闭环检测Sim3求解时需要配置LoopClosing.cc中446行,
```c++
pSolver->SetRansacParameters(0.99,5,300);
```
中将第二个参数从20改为5,这样才能检测到闭环,同时也容易造成误匹配。
2. KeyFrameDatabase类的数据在Loopclosing线程中没有进行处理,主要是因为从数据库中读取的KeyFrame数据关系原版本程序已经有不小的区别了。
### orb-slam环境配置方法指南
详情见项目附件
---
# 1. License
ORB-SLAM2 is released under a [GPLv3 license](https://github.com/raulmur/ORB_SLAM2/blob/master/License-gpl.txt). For a list of all code/library dependencies (and associated licenses), please see [Dependencies.md](https://github.com/raulmur/ORB_SLAM2/blob/master/Dependencies.md).
For a closed-source version of ORB-SLAM2 for commercial purposes, please contact the authors: orbslam (at) unizar (dot) es.
If you use ORB-SLAM2 (Monocular) in an academic work, please cite:
@article{murTRO2015,
title={{ORB-SLAM}: a Versatile and Accurate Monocular {SLAM} System},
author={Mur-Artal, Ra\'ul, Montiel, J. M. M. and Tard\'os, Juan D.},
journal={IEEE Transactions on Robotics},
volume={31},
number={5},
pages={1147--1163},
doi = {10.1109/TRO.2015.2463671},
year={2015}
}
if you use ORB-SLAM2 (Stereo or RGB-D) in an academic work, please cite:
@article{murORB2,
title={{ORB-SLAM2}: an Open-Source {SLAM} System for Monocular, Stereo and {RGB-D} Cameras},
author={Mur-Artal, Ra\'ul and Tard\'os, Juan D.},
journal={IEEE Transactions on Robotics},
volume={33},
number={5},
pages={1255--1262},
doi = {10.1109/TRO.2017.2705103},
year={2017}
}
# 2. Prerequisites
We have tested the library in **Ubuntu 12.04**, **14.04** and **16.04**, but it should be easy to compile in other platforms. A powerful computer (e.g. i7) will ensure real-time performance and provide more stable and accurate results.
## C++11 or C++0x Compiler
We use the new thread and chrono functionalities of C++11.
## Pangolin
We use [Pangolin](https://github.com/stevenlovegrove/Pangolin) for visualization and user interface. Dowload and install instructions can be found at: https://github.com/stevenlovegrove/Pangolin.
## OpenCV
We use [OpenCV](http://opencv.org) to manipulate images and features. Dowload and install instructions can be found at: http://opencv.org. **Required at leat 2.4.3. Tested with OpenCV 2.4.11 and OpenCV 3.2**.
## Eigen3
Required by g2o (see below). Download and install instructions can be found at: http://eigen.tuxfamily.org. **Required at least 3.1.0**.
## g2o
We use [g2o](https://github.com/RainerKuemmerle/g2o) library to perform non-linear optimizations. Download and install instructions can be found at: https://github.com/RainerKuemmerle/g2o
## DBoW2(Included in Thirdparty folder)
We use modified versions of the [DBoW2](https://github.com/dorian3d/DBoW2) library to perform place recognition(which are BSD) is included in the *Thirdparty* folder.
## ROS (optional)
We provide some examples to process the live input of a monocular, stereo or RGB-D camera using [ROS](ros.org). Building these examples is optional. In case you want to use ROS, a version Hydro or newer is needed.
# 3. Building ORB-SLAM2 library and examples
Clone the repository:
```
git clone https://github.com/raulmur/ORB_SLAM2.git ORB_SLAM2
```
We provide a script `build.sh` to build the *Thirdparty* libraries and *ORB-SLAM2*. Please make sure you have installed all required dependencies (see section 2). Execute:
```
cd ORB_SLAM2
chmod +x build.sh
./build.sh
```
This will create **libORB_SLAM2.so** at *lib* folder and the executables **mono_tum**, **mono_kitti**, **rgbd_tum**, **stereo_kitti**, **mono_euroc** and **stereo_euroc** in *Examples* folder.
# 4. Monocular Examples
## TUM Dataset
1. Download a sequence from http://vision.in.tum.de/data/datasets/rgbd-dataset/download and uncompress it.
2. Execute the following command. Change `TUMX.yaml` to TUM1.yaml,TUM2.yaml or TUM3.yaml for freiburg1, freiburg2 and freiburg3 sequences respectively. Change `PATH_TO_SEQUENCE_FOLDER`to the uncompressed sequence folder.
```
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUMX.yaml PATH_TO_SEQUENCE_FOLDER
```
## KITTI Dataset
1. Download the dataset (grayscale images) from http://www.cvlibs.net/datasets/kitti/eval_odometry.php
2. Execute the
没有合适的资源?快使用搜索试试~ 我知道了~
基于云机器人的视觉SLAM微服务化.rar

共294个文件
txt:84个
cc:68个
h:66个

需积分: 5 0 下载量 8 浏览量
2023-06-03
22:33:20
上传
评论
收藏 63.97MB RAR 举报
温馨提示
HALCON19是一款功能强大且专业性超强的标准机器视觉算法工具,该软件具有广泛应用的机器视觉集成开发环境,灵活的体系结构,可快速开发机器视觉、医学图像和图像分析等应用,并封装了许多方便、功能强大的图像处理算法,可以节约产品成本,缩短软件开发周期。而对于那些从事自动表面检测和其他相关行业的人来说,他们肯定是很熟悉的,因为自动表面检测几乎是制造操作中不可缺少的重要一步。它不仅能区分各种零件,而且能对其进行全方位的检验,对存在的缺陷进行分割,从而降低产品的缺陷率。但是,在正常情况下很难直接获得相关的缺陷图像,因此很难有丰富的数据进行标注和调查,也无法开展进一步的后续工作,导致效率低下。HALCON 19破解版软件可以完美解决这一问题,其最新的异常车辆检测功能可以让用户使用少量的优质图像进行训练检查,并可以依靠训练图像推断出产品中的类似问题进行修改和补救。
资源推荐
资源详情
资源评论






























收起资源包目录





































































































共 294 条
- 1
- 2
- 3
资源评论


野生的狒狒
- 粉丝: 3491
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于单片机的电动轮椅用手柄控制器设计-电子信息工程单片机课程设计.doc
- 数据库管理员需掌握技术.doc
- 基于深度学习的自然语言处理开源框架-文本分类-情感分析-机器翻译-问答系统-文本摘要-命名实体识别-知识图谱构建-智能客服-舆情监控-内容审核-智能写作助手-多语言处理-预训练模型.zip
- 毕业论文-基于IOS平台的语音智能应用--毕业论文.docx
- 销量同比分析Excel表格.xlsx
- 自动化毕业设计-毕业论文-电子称的硬件电路设计-毕业设计.doc
- 关于Visual-foxpro教学方法的一点思考-精度课文的教学方法思考.doc
- PLC语法错误.doc
- 分类组合图表Excel模板.xlsx
- 2020年自动化毕业论文开题报告范例.doc
- 基于单片机的密码锁的.doc
- 校园自助打印系统-基于SpringBoot和Vue的分布式打印服务平台-提供学生和教职工在线提交打印任务-支持文件上传-格式转换-支付结算-打印队列管理-设备状态监控-用户权限控制.zip
- 试析案例驱动的软件工程教学改革与实践论文.doc
- Java程序员的发展趋势分析.doc
- 智能家居设计方案毕业论文初稿.doc
- oracleerp采购管理模块操作手册.doc.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
