草庐IT

激光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)方面有一定的进展,但现有方法会产生过度平滑的场景重建,并且难以扩展到大型场景。这些限制主要是由于其简单的全连接网络架构,未在观测中纳入本地信息

【学习总结】激光雷达与相机外参标定:原理与代码1

2023年2月重要补充这个代码我个人觉得不好用且坑太多,所以后来换了一个。推荐大家用新的代码。详见更新的一篇博客总结:【学习总结】激光雷达与相机外参标定:代码(cam_lidar_calibration)这一周多学习并调试了激光雷达和相机外参标定的代码,踩了一堆坑,特此记录。0.参考资料:代码来源:https://github.com/ankitdhall/lidar_camera_calibration参考论文:LiDAR-CameraCalibrationusing3D-3DPointcorrespondences修改后的代码:https://github.com/LarryDong/li

【学习总结】激光雷达与相机外参标定:原理与代码1

2023年2月重要补充这个代码我个人觉得不好用且坑太多,所以后来换了一个。推荐大家用新的代码。详见更新的一篇博客总结:【学习总结】激光雷达与相机外参标定:代码(cam_lidar_calibration)这一周多学习并调试了激光雷达和相机外参标定的代码,踩了一堆坑,特此记录。0.参考资料:代码来源:https://github.com/ankitdhall/lidar_camera_calibration参考论文:LiDAR-CameraCalibrationusing3D-3DPointcorrespondences修改后的代码:https://github.com/LarryDong/li

经典文献阅读之--VoxelMap(体素激光里程计)

0.简介作为激光里程计,常用的方法一般是特征点法或者体素法,最近Mars实验室发表了一篇文章《EfficientandProbabilisticAdaptiveVoxelMappingforAccurateOnlineLiDAROdometry》,同时还开源了代码在Github上。文中为雷达里程计提出了一种高效的概率自适应体素建图方法。地图是体素的集合,每个体素包含一个平面(或边缘)特征能够实现对环境的概率表示和新的激光雷达帧的精确配准。我们进一步分析了对粗到细体素建图的需要,然后使用了新颖的使用哈希表组织体素地图和八叉树来有效地构建和更新地图。我们将所提出的体素建图应用于一个迭代扩展卡尔曼滤

激光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在草地中行驶,草地中的点会