ORBSLAM2
MetaSmiles
智能机器人 视觉slam 计算机视觉,软件开发
展开
-
ORBSLAM2理论与实战(1) SLAM认识
1、SLAM(同步定位与建图): SLAM是Simultaneous Localization and Mapping的缩写,意为“同时定位与建图”。它是指运动物体根据传感器的信息,一边计算自身位置,一边构建环境地图的过程。目前,SLAM的应用领域主要有机器人、虚拟现实和增强现实。其用途包括传感器自身的定位,以及后续的路径规划、场景理解。随着传感器种类和安装方式的不同,SLAM...原创 2019-05-18 12:44:52 · 1069 阅读 · 0 评论 -
ORBSLAM2理论与实战(18) 代码解读Track.cpp
马上整理原创 2019-05-19 08:29:04 · 345 阅读 · 0 评论 -
ORBSLAM2理论与实战(19) 代码解读LocalMapping.cpp
马上整理原创 2019-05-19 08:29:16 · 220 阅读 · 0 评论 -
ORBSLAM2理论与实战(20) 代码解读loopclosing.cpp
马上整理原创 2019-05-19 08:29:27 · 157 阅读 · 0 评论 -
ORBSLAM2理论与实战(21) 代码解读MapDrawer类
MapDrawer类MapDrawer.h#ifndef MAPDRAWER_H#define MAPDRAWER_H#include"Map.h"#include"MapPoint.h"#include"KeyFrame.h"#include<pangolin/pangolin.h>#include<mutex>namespace ORB...原创 2019-05-19 08:29:42 · 1084 阅读 · 0 评论 -
ORBSLAM2理论与实战(17) 代码解读MapPoint类
MapPoint是一个地图点MapPoint类MapPoint.h#ifndef MAPPOINT_H#define MAPPOINT_H#include"KeyFrame.h"#include"Frame.h"#include"Map.h"#include<opencv2/core/core.hpp>#include<mutex>n...原创 2019-05-20 14:23:45 · 919 阅读 · 0 评论 -
ORBSLAM2理论与实战(22) 代码解读FrameDrawer类
FrameDrawer类FrameDrawer.h#ifndef FRAMEDRAWER_H#define FRAMEDRAWER_H#include "Tracking.h"#include "MapPoint.h"#include "Map.h"#include<opencv2/core/core.hpp>#include<opencv2/feat...原创 2019-05-20 14:24:03 · 1050 阅读 · 0 评论 -
ORBSLAM2理论与实战(23) 代码解读PnPsolver类
PnPsolver类PnPsolver.h#ifndef PNPSOLVER_H#define PNPSOLVER_H#include <opencv2/core/core.hpp>#include "MapPoint.h"#include "Frame.h"namespace ORB_SLAM2{class PnPsolver { public: ...原创 2019-05-20 14:24:10 · 2328 阅读 · 0 评论 -
ORBSLAM2理论与实战(24) 代码解读Sim3solver类
Sim3solver类Sim3solver.h#ifndef SIM3SOLVER_H#define SIM3SOLVER_H#include <opencv2/opencv.hpp>#include <vector>#include "KeyFrame.h"namespace ORB_SLAM2{class Sim3Solver{...原创 2019-05-20 14:24:17 · 1163 阅读 · 0 评论 -
ORBSLAM2理论与实战(25) 地图保存和加载
地图保存和加载 orbslamhttps://unordered.org/timelines/5a22883642000000原创 2019-05-20 14:24:31 · 746 阅读 · 0 评论 -
ORBSLAM2理论与实战(26) 学习ORBSLAM结语
马上整理原创 2019-05-20 14:24:37 · 247 阅读 · 0 评论 -
ORBSLAM2理论与实战(8) ORBSLAM2整体框架(下)
自己一点理解,欢迎纠错哈ORBSLAM2 代码框架:├── build_ros.sh --使用ROS接口编译,支持ROS;├── build.sh --非ROS接口,编译;├── CMakeLists.txt ...原创 2019-05-21 16:03:15 · 339 阅读 · 0 评论 -
ORBSLAM2源码学习之1-argv and argc
针对与slam 读取数据时的函数时argc[ ]LoadImages(string(argv[3]), vstrImageFilenames, vTimestamps)实例解释:#include <iostream> using namespace std;int main(int argc, char* argv[]) { int ...原创 2018-09-19 12:33:43 · 190 阅读 · 0 评论 -
ORBSLAM2理论与实战(16) 代码解读Map类
Map类管理整个地图,因此其具有的属性是所有的地图点和关建针,即普通的帧是不管的,另外还有一些帧编号之类的东西,该类具有添加、删除关键帧的方法和添加、删除地图点的方法,另外就是一个返回属性的函数。Map类Map.h#ifndef MAP_H#define MAP_H#include "MapPoint.h"#include "KeyFrame.h"#inclu...原创 2019-05-19 08:28:48 · 470 阅读 · 0 评论 -
ORBSLAM2理论与实战(15) 代码解读KeyFrameBase类
这个类是关键帧的数据库,主要用于计算闭环检测和重定位时的候选帧,类中维护一个每个元素都是链表的vector容器,容器的每个元素是预先训练好的特征词汇,然后对应的连表上放的都是关键帧,包含这个词汇的关键帧。KeyFrameBase类KeyFrameBase.h#ifndef KEYFRAMEDATABASE_H#define KEYFRAMEDATABASE_H#include...原创 2019-05-19 08:28:36 · 305 阅读 · 0 评论 -
ORBSLAM2理论与实战(2) SLAM资料搜集
书籍:1.必读经典Thrun S, Burgard W, Fox D. 《Probabilistic robotics》[M]. Cambridge, USA: MIT Press, 2005《Principles of Robot Motion Theory,Algorithms and Implementation》2.有很多期,跟着会议一起出的文集《Robotics: S...原创 2019-05-18 12:45:54 · 930 阅读 · 1 评论 -
ORBSLAM2理论与实战(3) SLAM常用术语
第2章 初始SLAMVSLAM 同步建图与定位 前段VO:视觉里程计 后端:非线性优化 地图: Mapping 回环检测 :place recognition第3章 三维空间刚体运动 pose :位姿 旋转向量 欧拉角 RPY 旋转矩阵 罗德里格斯公式 四元数 相似变换 欧式变...原创 2019-05-18 12:46:43 · 562 阅读 · 0 评论 -
ORBSLAM理论与实战(4) SLAM基础知识
马上整理原创 2019-05-18 12:47:42 · 235 阅读 · 0 评论 -
ORBSLAM2理论与实战(5) 运行实战
运行ORBSLAM2 需要1.ubuntu (本人使用ubuntu16.04.6)2.ROS(可选) (与ubuntu16.04 相对于的kinetic)3.第三方库(pangolin opencv Sophus Eigen)1.ubuntu安装为了方便,安装双系统,参考本人另一篇博文https://blog.csdn.net/weixi...原创 2019-05-18 12:48:19 · 325 阅读 · 0 评论 -
ORBSLAM2理论与实战(7) 数据集制作
https://blog.csdn.net/u010128736/article/details/53079964https://blog.csdn.net/avinswang/article/details/89020561https://blog.csdn.net/ykwjt/article/details/88090573https://blog.csdn.net/zhangqi...原创 2019-05-18 12:50:33 · 1550 阅读 · 0 评论 -
ORBSLAM2理论与实战(8) ORBSLAM2整体框架(上)
1.简介: ORB-SLAM是由Raul Mur-Artal,J. M. M. Montiel和Juan D. Tardos于2015年发表在IEEE Transactions on Robotics。 (1)项目主页网址为:ORB-SLAM; (2)论文地址为:ORB-SLAM: A Versatile and Accurate Monocular SLAM System...原创 2019-05-18 12:51:25 · 964 阅读 · 0 评论 -
ORBSLAM理论与实战(9) 特征点提取 ORBextractor类
ORBSLAM2看了一段时间啦,看大佬博客,抽时间总结一下。欢迎指正目录1.基础知识2.特征点理论3.ORBextractor类3.1 ORBextractor.h3.1 ORBextractor.cpp1.基础知识特征点由关键点(Key-point)和描述子(Descriptor)两部分组成。ORB特征点(Oriented FAST and Rotate...原创 2019-05-18 12:53:34 · 1222 阅读 · 0 评论 -
ORBSLAM理论与实战(10) 特征点匹配 ORBmatcher类
ORBmatcherORBmatcher.h#ifndef ORBMATCHER_H#define ORBMATCHER_H#include<vector>#include<opencv2/core/core.hpp>#include<opencv2/features2d/features2d.hpp>#include"MapPoin...原创 2019-05-18 12:54:59 · 1450 阅读 · 0 评论 -
ORBSLAM2理论与实战(11) 数据格式互相转化 Convert类
主要参考吴博大神的代码主要关于Opencv 和 g2o Eigen数据格式的转化#ifndef CONVERTER_H#define CONVERTER_H#include<opencv2/core/core.hpp>#include<Eigen/Dense>#include"Thirdparty/g2o/g2o/types/types_six_d...原创 2019-05-19 08:27:28 · 908 阅读 · 0 评论 -
ORBSLAM2理论与实战(12) 单目初始化initializer类
Initializer类主要负责SLAM系统的初始化,在ORBSLAM2中初始化非常重要。主要是单目初始化问题,这里同时计算两个模型:用于平面场景的单应性矩阵H和用于非平面场景的基础矩阵F,然后通过一个评分规则来选择合适的模型,恢复相机的旋转矩阵R和平移向量t。/** * @brief 单目的地图初始化 * * 并行地计算基础矩阵和单应性矩阵,选取其中一个模型,恢复出最开始两帧之间的相...原创 2019-05-19 08:27:44 · 922 阅读 · 0 评论 -
ORBSLAM2理论与实战(13) 代码解读Frame类
这次是Frame类,Frame类应该可以说是SLAM系统中处理的一个基本单元,它将一副(或双目)图像包装成一个类,给他增加基本的信息,如这幅图的位姿、编号、特征点、对应的参考帧等重要信息,还包含一些设置参数、获取参数的方法。主要在吴博代码注释上进一步加上自己的理解。Frame类Frame.h#ifndef FRAME_H#define FRAME_H#includ...原创 2019-05-19 08:28:06 · 1160 阅读 · 2 评论 -
ORBSLAM2理论与实战(14) 代码解读KeyFrame类
KeyFrame是SLAM中的关键的帧,对于恢复地图非常重要,关键帧由普通帧构造,什么样的普通帧、以及什么时候插入关键帧,在tracking模块中实现。KeyFrame类KeyFrame.h#ifndef KEYFRAME_H#define KEYFRAME_H#include "MapPoint.h"#include "Thirdparty/DBoW2/DBoW2/Bow...原创 2019-05-19 08:28:21 · 1450 阅读 · 0 评论 -
ORBSLAM2 研究资料
ORBSLAM2学习中参考博文 ,感谢大佬无私,后期再会加蚁族的坚持sylvester0510Leather_Wang达达MFZ波波菠菜Xuefeng_BUPT金木炎EwenWanWORB-SLAM2 ORB特征点法SLAM 支持单目、双目、rgbd相机Rap_God哀酱o_ha_yo_yepeng...原创 2019-05-23 14:31:56 · 755 阅读 · 0 评论