0. 简介 对于ORB-SLAM3而言。如何将代码融入Wheel和GPS是一个挺有意思的事情。通过GPS和Wheel可以非常有效的约束视觉里程计结果。Wheel这块主要就是将速度等信息融合到前端中,类似IMU和视觉帧间的关系。而GPS由于频率不是很高,所以基本是用于全局修正的作用。这部分我们经常使用松耦合的形式,当然也有工作去做了紧耦合相关的工作。 1. Wheel特征添加 这一部分主要的其实就是
0. 简介 精确且长期稳定的定位对于停车场内的行车任务,如自动驾驶或自动代客泊车等,至关重要。现有方法依赖于固定且内存效率低下的地图,缺乏强大的数据关联方法,不适用于精确的定位或长期地图维护。《LESS-Map: Lightweight and Evolving Semantic Map in Parking Lots for Long-term Self-Localization》一文提出了一种
0. 简介 在众多机器人应用中,通过最近邻搜索建立新采集点与历史累积数据(即地图)之间的对应关系至关重要。然而,静态树数据结构不足以实时处理大型且动态增长的地图。为了解决这个问题,我们在文中《i-Octree: A Fast, Lightweight, and Dynamic Octree for Proximity Search》提出了i-Octree,一个动态八叉树数据结构,它既支持快速最近邻
0. 简介 LinK3D、CSF、BALM这几个都是非常方便去插入到激光SLAM框架的。这里我们会分别从多个角度来介绍如何将每个框架插入到SLAM框架中 1. LinK3D:三维LiDAR点云的线性关键点表示 LinK3D的核心思想和基于我们的LinK3D的两个LiDAR扫描的匹配结果。绿色线是有效匹配。当前关键点(黑色,CK)的描述符用其相邻关键点来表示。描述符的每个维度对应于扇区区域。第一维度
0. 简介 在本文中,我们关注移动机器人定位的可靠性问题。蒙特卡罗定位(MCL)广泛用于移动机器人的定位。然而,由于缺乏判定MCL估计可靠性的方法,其安全性仍难以保证。本文提出了一种新型定位框架,能够同时实现鲁棒的定位、可靠性估计和快速重新定位。该方法的实现方式与MCL的估计方式相似。通过在定位过程中估计已知和未知障碍,该方法可以增强对环境变化的定位鲁棒性;然而,不可预见的错误仍可能导致定位失败。
0. 简介 Camera与LiDAR之间的外部标定研究正朝着更精确、更自动、更通用的方向发展,由于很多方法在标定中采用了深度学习,因此大大减少了对场景的限制。然而,数据驱动方法具有传输能力低的缺点。除非进行额外的训练,否则它无法适应数据集的变化。随着基础模型的出现,这个问题可以得到显著缓解,通过使用分割任意模型(Segment Anything Model,SAM),我们这次提出了一种新的激光雷达
0. 简介 各位也知道,我们在之前的博客中,介绍了很多回环的方法,比如Scan Context,Lris, BoW3D等方法。之前作者也在《重定位解析与思考》一文中,给到了一些回环检测算法的介绍。最近林博新开源了一个回环检测算法《STD: A Stable Triangle Descriptor for 3D place recognition》。我们从小乌坞博主中的实验中发现,确实效果不错,同
0. 简介 现有很多LiDAR里程计都依赖于某种形式的ICP估计帧间位姿,例如CT-ICP, LOAM等。现有的系统设计需要对机器人的运动(CT-ICP)和环境的结构(LeGO-LOAM)有一些特定的假设。而且几乎没有系统能够不需要调参(例如特征提取、面特征拟合、法向量估计、畸变矫正)就能用于不同的场景、不同的LiDAR、不同的运动模式、以及不同种类的机器人。为此《KISS-ICP: In De
0. 简介 作为一个SLAMer来说,整个SLAM过程可以分为预处理(包含相机、激光的畸变去除,以及IMU的预积分都属于这部分操作),前端优化(这部分主要做的就是帧间匹配【scan-to-scan】,帧与地图匹配【scan-to-submap】,划窗优化,提取关键帧),后端优化(回环检测,后端地图优化)这些步骤。而上面这些我已经讲了很多了,比如划窗优化这块也是给出了对应的代码,我们这里将从cer
0. 简介 对于视觉而言,想要获得比较精细的地图信息,这离不开地图的三维重建。三维重建(3D Reconstruction)的定义就是,从一堆二维图像中恢复物体的三维结构,并进行渲染,最终在计算机中进行客观世界的虚拟现实的表达。一般的步骤如下 输入无序图像 Unstructured Images 图像对齐(Assoc.),筛选图像,构建场景图(也称为连接图)。 稀疏
0. 简介 之前我们在之前的博客中说了很多关于如何通过帧与地图匹配完成重定位,从而完成位置识别的。同时也有一篇专门用于介绍重定位的博客《定位解析与思考》。目前基于LiDAR的位置识别方法通常是基于无序点或距离像等点云的表示。这些方法实现了很高的检索召回率,但在视图变化或场景变化的情况下,它们的性能可能会下降。而《BEVPlace: Learning LiDAR-based Place Recog
0. 简介 神经隐式表示近年来在SLAM中,特别是在稠密视觉SLAM中,成为一种流行的表示方法。然而,此前在这一方向上的工作要么依赖于RGB-D传感器,要么需要单独的单目SLAM方法进行相机跟踪,并且不能产生高精度、高密度3D场景重建。在本文中,我们提出了NICER-SLAM,这是一个稠密的RGB SLAM系统,同时优化相机位姿和分层神经隐式地图表示,这也允许高质量的新视图合成。 为了促进地图
0. 简介 在slam当中,我们在回环的时候会使用关键帧的概念,而关键帧怎么样去可视化,并将可视化的关键帧在RVIZ中显示,对于我们理解这一概念非常重要,当然目前有很多SLAM算法中已经插入了这一点,但是这一点的操作仍然值得我们去了解学习。一般在论文中我们称这类方法为Covisibility Graph可视化,它是一个无向有权图(graph),这个概念最早来自2010的文章《Closing Lo
0. 简介 在之前,作者曾经转过一篇《一文详解ORB-SLAM3》的文章。那篇文章中提到了ORB-SLAM3是一个支持视觉、视觉加惯导、混合地图的SLAM系统,可以在单目,双目和RGB-D相机上利用针孔或者鱼眼模型运行。与ORB-SLAM2相比,ORB-SLAM3在处理大视差和长时间未观测到的场景时效果更好。它还提供了更准确的帧间运动估计和更快的处理速度。此外,ORB-SLAM3还支持更多的传感
0. 简介 我们在日常使用激光SLAM算法的时候,常常会发现现有的算法只会和一些比较经典或者前作去进行比较,很多时候我们更希望对主流的激光SLAM方法进行性能比较。之前作者转载过一篇文章《常见不同3D激光SLAM方案对比》。但是对比的算法有限。现在瑞典Lule科技大学评估9种最常用的激光SLAM方法。我们下面主要来看一下性能对比部分的内容。 1. 总览所有激光slam 所有SLAM方法,所需
0. 简介 我们知道,在SLAM中,最主要也最关键的就是如何对我们设计出来的非线性问题进行求解,并计算出最优解。而在这个过程中我们用的最多的就是Ceres,之前作者在《SLAM本质剖析-Ceres》。而我们这一篇文章就来讨论一下如何使用Ceres来完成常见的优化。 1. Ceres中点到点的距离残差 下面的部分就是我们最常用的两个点到点的计算公式,其中Eigen_MAKE_ALIGNED_O
0. 简介 作为SLAM中常用的方法,其原因是因为SLAM观测不只考虑到当前帧的情况,而需要加入之前状态量的观测。就比如一个在二维平面上移动的机器人,机器人可以使用一组传感器,例如车轮里程计或激光测距仪。从这些原始测量值中,我们想要估计机器人的轨迹并构建环境地图。为了降低问题的计算复杂度,位姿图方法将原始测量值抽象出来。具体来说,它创建了一个表示机器人姿态的节点图,以及表示两个节点之间的相对变换
0. 简介 对于Gazebo而言,我们知道其是可以通过与ROS的连接完成机器人建图导航的,那我们是否可以通过Unity来完成相同的工作呢,答案是肯定的。这一讲我们就来讲述使用Unity的“Turtlebot3”模拟环境,来运行ROS2中的“Navigation 2”以及“slam_toolbox”。 1. 代码编译 安装步骤如下所示,首先先下载“Navigation 2 SLAM Examp
0. 简介 这几个月,博主已经从SLAM算法的使用向着算法的数学推导进行了记录和分享,之前也分享了李群李代数关注核心一文,从现象中解释了李群和李代数表达的含义。但是这还不够,所以这次作者作为SLAM本质剖析的番外,来介绍李群李代数的微分和导数。 1. 旋转点求导 李群或者李代数上叠加微小量的情况呢?传统的求导过程中,我们常见的做法是对自变量添加一个微小值来进行: f'(x) =
0. 简介 SLAM算法在加入回环检测与修正后,效果会显著提高。而很多人就会思考,有没有一个比较稳健的方法,能够让机器人跟丢之后重新找回当前的姿态。虽然二者目的不同,重定位主要为了恢复姿态估计,而回环为了解决飘移,提高全局精度。但是二者在匹配帧上可以共享一些算法。 1. 视觉重定位回顾 比如说对于单目VSLAM算法用的比较多的还是基于BoW的匹配方案(ORB-SLAM,VINS等),也有基于
slam的基础到slam的进阶,你想到的都可以看
博客
泡泡
积分
勋章
ORB-SLAM3如何加入GPS和Wheel轮速约束
精选经典文献阅读之--LESS-Map(长期定位轻量级和逐渐演进的语义地图方案)
经典文献阅读之--i-Octree(用于最近邻搜索的快速、轻量级和动态的八叉树)
如何插入LinK3D、CSF、BALM来直接插入各个SLAM框架中
经典文献阅读之--als_ros(移动机器人的可靠蒙特卡罗定位)
精选经典文献阅读之--Calib Anything(使用SAM的无训练标定雷达相机外参)
精选经典文献阅读之--STD(激光SLAM回环检测算法)
精选经典文献阅读之--KISS-ICP(简单准确且鲁棒的激光里程计)
精选三大后端优化方法(Ceres&G2O&>SAM)
精选视觉三维重建第一课
精选经典文献阅读之--LBEVPlace(鸟瞰图的LiDAR的位置识别)
精选经典文献阅读之--NICER-SLAM (RGB神经隐式的稠密的SLAM)
精选如何在SLAM中绘制关键帧的关联
精选ORB-SLAM3整体流程详解
经典文献阅读之--Evaluation of Lidar-based 3D SLAM algorithms (激光SLAM性能比较)
Ceres 常用的优化手段
位姿图优化(Ceres& G2O& GTSAM)
Unity-ROS与Navigation 2(四)
SLAM本质剖析番外-李群李代数的微分和导数
重定位解析与思考
Sophus降维、升维与欧拉角、旋转向量的爱恨情仇
经典文献阅读之--OV2SLAM(高速视觉slam)
PCL 点云配准衡量指标
经典论文阅读之-GICP(ICP大一统)
ROS1可视化利器---Webviz
SLAM本质剖析-Boost之Geometry函数大全(一)
激光雷达动态障碍物滤除-调研与展望
自动驾驶-激光雷达预处理/特征提取
PCL补充之滤波、提取、配准方法
VSLAM特征之线特征&面特征
cartographer中的反光板定位
SLAM 中的 Kalman Filter 推导
Scan Context回环检测解读和使用
一看就懂的单目特征点恢复深度信息(三角化)
SLAM之划窗优化
SLAM本质剖析-Boost
Cartographer中的线程池操作
基于Sophus的Ceres优化
从LVI-SAM来看激光与视觉的紧耦合系统
大型点云地图裁剪及定位的通用流程
SLAM—逆深度
SLAM本质剖析-Open3D
矩阵并行加速之NENO与SSE
李群李代数关注核心
sim3相较于se3的好处
点云聚类及匹配(KD-Tree & OCTree)
LEGO-LOAM改进思路以及代码
SLAM外参标定
SLAM本质剖析-GTSAM
SLAM本质剖析-PCL
SLAM各种并行加速方法
紧耦合后端非线性优化-局部优化(Marginalization)
SLAM本质剖析-Sophus
SLAM本质剖析-G2O
SLAM本质剖析-Eigen
SLAM本质剖析-Ceres
VINS-FUSION 前端后端代码全详解
SC-LEGO-LOAM 扩展以及深度解析(三)
SC-LEGO-LOAM 扩展以及深度解析(二)
SC-LEGO-LOAM 扩展以及深度解析(一)
使用ORBSLAM2进行kineticV2稠密建图,实时转octomap建图以及导航
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信