草庐IT

NICE-SLAM

全部标签

实操指南:ORB-SLAM3的编译运行

前面我们提到,ORB-SLAM3作为常用的机器人建图与定位技术,是当前最优秀的基于特征点的视觉SLAM系统之一。它支持单目、双目、单目惯导、双目惯导、RGB-D等多种相机模式,兼具精度和鲁棒性,是机器人SLAM算法工程师的一项「必备技能」。为了更好地帮助大家学习和理解ORB-SLAM3,小智计划进行一系列理论与实践相结合的深度技术分享。而这些,都是我们在实践过程中总结出来的宝贵经验。具体内容包括:1.ORB-SLAM3论文导读与整体算法流程梳理2.ORB-SLAM3中的跟踪线程2.1特征点提取、匹配,以及地图初始化2.2IMU预积分原理及代码梳理2.3跟踪模式详解:参考关键帧跟踪、恒速模型跟踪

ORB-SLAM2算法6之D435i双目IR相机运行ROS版ORB-SLAM2并发布位姿pose的rostopic

文章目录0引言1D435i相机配置2新增发布双目位姿功能2.1新增d435i_stereo.cc代码2.2修改CMakeLists.txt2.3新增配置文件D435i.yaml3编译运行和结果3.1编译运行3.2结果3.3可能出现的问题0引言ORB-SLAM2算法1已成功编译安装ROS版本ORB-SLAM2到本地,以及ORB-SLAM2算法5成功用EuRoc、TUM、KITTI开源数据来运行ROS版ORB-SLAM2,并生成轨迹。但实际ROS视觉SLAM工程落地时,一般搭配传感器实时发出位姿pose的rostopic,本篇就以D435i相机的双目IR相机作为输入,运行ROS版ORB-SLAM2

一起自学SLAM算法:4.2 激光雷达

连载文章,长期更新,欢迎关注:写在前面第1章-ROS入门必备知识第2章-C++编程范式第3章-OpenCV图像处理第4章-机器人传感器     4.1惯性测量单元        4.2激光雷达        4.3相机        4.4带编码器的减速电机第5章-机器人主机第6章-机器人底盘第7章-SLAM中的数学基础第8章-激光SLAM系统第9章-视觉SLAM系统第10章-其他SLAM系统第11章-自主导航中的数学基础第12章-典型自主导航系统第13章-机器人SLAM导航综合实战每当说起雷达,很多人可能想到的就是军事领域探测敌机那种庞然大物。其实,雷达是指利用探测介质探测物体距离的设备,比

【视觉SLAM入门】5.1. (基于特征点的视觉里程计)特征提取和匹配--FAST,ORB(关键点描述子),2D-2D对极几何,本质矩阵,单应矩阵,三角测量,三角化矛盾

"不言而善应"0.基础知识1.特征提取和匹配1.1FAST关键点1.2ORB的关键点--改进FAST1.3ORB的描述子--BRIEF1.4总结2.对极几何,对极约束2.1本质矩阵(对极约束)2.1.1求解本质矩阵2.1.2恢复相机运动R,tR,tR,t2.1.3本质矩阵调整2.1.3遗留问题2.2单应矩阵(特别提一下)2.3三角测量(Triangulation)---深度信息为什么重要?我们是在做什么事?特征提取和匹配:首先是两幅图像的特征提取,然后是对应特征点的匹配。接下来的工作是根据得到的匹配点对,估计相机的运动,具体根据相机分为三种方法:单目相机:2D-2D:对极几何方法双目或者RGB

高翔视觉SLAM十四讲(第二版)各种软件、库安装的以及报错解决方法

目录前言系统版本下载高翔视觉SLAM十四讲第二版的源代码一、安装Vim二、安装g++三、安装KDevelop以及汉化1.安装2.汉化 四、安装Eigen库五、安装Pangolin库六、安装Sophus库七、安装OpenCV库1.安装依赖项2.下载OpenCV源码八、安装Ceres库九、安装g2o库十、安装Meshlab软件十一、安装DBoW库十二、安装一个依赖项十三、安装PCL库十四、安装octomap库十五、安装gflags十六、安装glog1.下载源码2.安装依赖项3.编译安装 报错继续执行3.编译安装十七、安装gtest前言自己不小心把Ununtu系统搞崩了,只好重装Ununtu系统,写

经典文献阅读之--PL-SLAM(点线SLAM)

0.简介之前作者基本都在围绕着特征点提取的路径在学习,最近看到了最近点云PCL推送的《StructurePLP-SLAM:EfficientSparseMappingandLocalizationusingPoint,LineandPlaneforMonocular,RGB-DandStereoCameras》。这个工作是基于OpenVSLAM架构的,但是由于OpenVSLAM被认为侵权,所以作者想从PL-SLAM开始,学习一下点线面SLAM的相关原理以及知识。(因为是基于ORB-SLAM2的)1.PL-SLAM文章贡献PL-SLAM是基于ORB-SLAM2框架和LSD(Linesegment

ORB-SLAM2 --- Tracking::Track 追踪线程解析

1.函数作用    ORB-SLAM2的三大线程之一---跟踪线程,负责估计运动信息、跟踪局部地图。    追踪线程的主要工作原理就是我们从数据集中读入一帧帧,刚开始的时候跟踪线程没有进行初始化(没有初始化不知道世界坐标系的原点和相机的位姿),我们初始化跟踪线程,初始成功之后把符合要求的第一帧的相机坐标作为世界坐标系的原点,在之后传进来的每帧,用三种跟踪方式计算相机的坐标,并生成地图点。    总体来说,ORB-SLAM2跟踪部分主要包括两个阶段,第一个阶段包括三种跟踪方法:用参考关键帧来跟踪、恒速模型跟踪、重定位跟踪,它们的目的是保证能够“跟的上”,但估计出来的位姿可能没那么准确。第二个阶段

ORB_SLAM2运行KITTI数据集

        在前文我们已经安装运行了ORB_SLAM2,下载和编译(包括报错)在文章:ORB_SLAM2下载编译及运行EuRoC数据集_浅梦语11的博客-CSDN博客_euroc数据集下载    并且我们使用运行了EuRoC数据集。今天利用框架运行KITTI数据集。    注意:如果没有运行成功EuRoC数据集,可能本教程并不适合,因为运行成功EuRoC数据集时,ORB_SLAM2已经成功编译了,在ros空间创建好后,直接将编译过的文件夹整个复制进去,之后再catkin_make等,然后运行数据集。    但是如果是从头开始,没有编译过ORBSLAM2而是刚刚下载,可以考虑这个教程试试:O

NICE-SLAM: Neural Implicit Scalable Encoding for SLAM论文阅读

论文信息标题:NICE-SLAM:NeuralImplicitScalableEncodingforSLAM作者:ZihanZhu,SongyouPeng,ViktorLarsson—ZhejiangUniversity来源:CVPR代码:https://pengsongyou.github.io/nice-slam时间:2022Abstract神经隐式(Neuralimplicitrepresentations)表示最近在同步定位和地图绘制(SLAM)方面有一定的进展,但现有方法会产生过度平滑的场景重建,并且难以扩展到大型场景。这些限制主要是由于其简单的全连接网络架构,未在观测中纳入本地信息

激光slam:LeGO-LOAM---代码编译安装与gazebo测试

激光slam:LeGO-LOAM---代码编译安装与gazebo测试LeGO-LOAM简介相比LOAM改进部分LeGO-LOAM代码编译安装LeGO-LOAMGazebo测试LeGO-LOAM简介LeGO-LOAM的英文全称是lightweightandgroundoptimizedlidarodometryandmapping。轻量化具有地面优化的激光雷达里程计和建图其框架如下,大体和LOAM是一致的LeGO-LOAM是基于LOAM的改进版本,其主要目的是为了实现小车在多变地形下的定位和建图,针对前端和后端都做了一系列的改进。在原本的LOAM中比如应用场景是:AGV在草地中行驶,草地中的点会