SLAM学习
LilyNothing
不会写文章的程序员不是好的摄影师
展开
-
google cartographer的论文《real-time loop closure in 2D LIDAR SLAM》翻译
cartographer论文翻译初衷因为自己看了两天论文毫无头绪,就想着那就先把这篇论文翻译一下,然后加上自己的一些理解。看看能不能得出点啥来。摘要便携式激光测距仪(也就是LIDAR)以及实时定位和绘图(slam)都是比较有效的一种建立平面图的方法。实时生成和绘制平面图能很好的评估捕获的数据的质量。因此建立一个在有限的资源下可接入的平台是非常有必要的。这篇论文提供了一种在mapping 平台后台使用原创 2017-03-08 16:57:31 · 22580 阅读 · 10 评论 -
使用ros中的image_transport API将自己的数据集做成rosbag
因为很多的slam代码是有ROS版的,ROS版的一般数据的输入都是rosbag的形式,所以为了使用,测试新的数据集,需要将没有rosbag的数据集转为rosbag的形式,其实这里涉及的就是将普通的照片转为ros的图片,使用一个节点发布这写图片流,然后使用rosbag进行记录,然后生成一个rosbag的包.整体就是这样的思路.ROS的官网上也有相关的Tutorials.Tutorials 里面命令有原创 2018-02-08 14:42:17 · 8554 阅读 · 14 评论 -
CPD算法源码的研究
引言: 因为近期在研究扫地机的匹配算法,所有用到了CPD算法,但是CPD算法在我们的项目中总会出错,但是我们对于出错的原因并不是很了解,于是便开启看源码的坑。。。一. CPD代码的整个调用框架 CPD算法按照论文中的算法流程(rigid的情况): 如上图的左边的算法流程所示,接下来记录的也是针对左边的算法流程。 整个CPD的调用是采用matlab来调用C语言的代码。主要的实现实在c原创 2017-06-15 11:02:53 · 9482 阅读 · 7 评论 -
cartographer对应论文的琢磨(2)
以下内容是我在学习cartographer的时候做的一些笔记,排版什么的可能会比较乱,先放上来,有时间再来整理一下。因为之后学习的时候通过其它大神的一些博客学到了一些东西,我也希望自己的笔记对其它人有帮助,同时也希望能找到一起学习的小伙伴,当然能找到大神纠正我的一些错误理解更是求之不得啦。1)scan 和submap的匹配。在论文中,对于地图的表示采用的是栅格地图,地图上存储的原创 2017-06-26 10:15:00 · 7926 阅读 · 3 评论 -
Point set registration:CPD && ICP
前言:因为在项目中会用到点集的匹配,点集的匹配用到的算法主要有两种:一是CPD,二是ICP。通过研读论文来发现他们的优缺点,进行比较。对于CPD只看rigid变化的部分,因为我们目前还未涉及到nonrigid部分。点集的匹配其实就是找到两个点集之间的关系,然后将其中一个进行转换映射到另一个点集上CPD: Coherent Point Drift既然point set registration是找到两原创 2017-03-28 08:57:19 · 10848 阅读 · 3 评论 -
Cartographer 代码逻辑
先在此声明一下:这篇文章是在泡泡机器人的公众号文章Cartographer理论及实现浅析的基础上进行学习的,所以必须先感谢一下泡泡机器人对这一块的贡献!整体理论概述还是先放一张图: 大家看一下这张图,里面有scan与submap的匹配,这部分的匹配方法是有scan_matching 中的RealTimeCorrelationScanMatcher实现的。还有一个匹配是在完成闭环检测的全局位姿优化的原创 2017-03-14 08:51:25 · 6382 阅读 · 7 评论 -
cartographer中的SparsePoseGraph
需要弄清楚到底在这个优化过程中需要的constraints来自于哪些东西?什么submaps,submap,matching_submap,insert_submap这些都是用来干什么的?KartoSLAM的解析如下:http://blog.csdn.net/zrjust1043/article/details/66970557KartoSLAM和Carto的比较如下:http://blo原创 2017-06-07 15:03:51 · 4817 阅读 · 0 评论 -
tinySLAM阅读笔记
tinySLAM阅读笔记初衷:tinySLAM是openSLAM中实现最为简单的一个SLAM方法,相比于ORB-SLAM之类的,这个代码的核心实现没有超过两百行,所以还是相对简单一些,对于我这样一个新手,拿来入门,深刻理解SLAM的工作原理,还是很有帮助的。我的导师希望我把这篇文章2010年发表在ICARCV的论文(CoreSLAM:a SLAM Algorithm in less than 200原创 2017-03-14 15:09:22 · 6821 阅读 · 0 评论 -
tinySLAM代码逻辑结构
tinySLAM的代码逻辑结构前言&&吐槽:在这里先提前声明,我是在我自己理解的基础上写下这些东西的,如果我的理解有误,还是希望大神们能帮忙我解答一下,至少不要让我处于不明不白中。上面说的是自己理解有误,对于tinySLAM这篇文章,但是如果没有理解有误的情况下,我要吐槽一下这篇文章了。下面是吐槽部分,大家可以忽略,但是如果你对于这篇文章也很不明白,那么欢迎来看看我的吐槽。文章当中说了这是一个不超过原创 2017-03-17 09:34:33 · 5103 阅读 · 3 评论 -
kalman滤波以及EKF
之前在看tinySLAM的时候就涉及到了PF(粒子滤波),现在在看google的cartographer的代码的时候又遇到了EKF这个滤波的方法,所以还是值得学习一下的。EKF的学习是参考,这是一篇关于SLAM的基本普及的文献,对于基本知识还是有很大作用的,建议在开始SLAM之前可以先阅读这篇文章。Kalman滤波的公式解析关于卡尔曼滤波的简单介绍参见这个文档,这个文档里面的PPT详细的介绍了卡曼尔原创 2017-03-27 08:42:17 · 8136 阅读 · 0 评论 -
ICP算法重读
今天面试的时候被问到了ICP的内容,想想之前自己做了那么多的工作,竟然忘记了,所以决定来重读一下。打算是以Q&A的形式来进行回顾,这样才能清楚的知道到底是哪儿不明白。Q1: ICP用的最多的是点云的匹配,一般都是PCL中的ICP算法直接进行实现了,那具体ICP的基本过程到底是怎么样的呢? A1: ICP算法包括以下步骤: 1) 根据点集P1中的点坐标,在曲面S...原创 2018-05-02 19:15:09 · 4862 阅读 · 3 评论