![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SLAM
文章平均质量分 86
happy_earth
做自己想做的事,奋力去闯,无所畏惧!
展开
-
LIFT: Learned Invariant Feature Points完整调试记录(一)安装NVIDIA英伟达显卡驱动
在一个知乎讨论中https://www.zhihu.com/question/66006923/answer/238755364,看到了用thenao框架解决特征点提取与匹配的问题,代码开源了,于是准备自己跑一遍,学习一下。论文:Kwang Moo Yi, Eduard Trulls, Vincent Lepetit, Pascal Fua, ” LIFT: Learned Invariant...原创 2018-04-27 17:18:08 · 1442 阅读 · 0 评论 -
从程序中学习EKF-SLAM(二)
三、ekf预测之前3.1 计算真实位姿这里通过仿真器计算观测信息,添加噪声后送入ekf滤波器,那么,这里先看看真实位姿的计算。个人觉得它的计算思想特别巧妙,可以熟悉熟悉编程方法。首先,这里贴出代码:void ekf_console::compute_steering(){ Eigen::Vector2d current_wp; current_wp = waypoints.col(i...原创 2018-11-30 19:55:55 · 2939 阅读 · 0 评论 -
从程序中学习EKF-SLAM(一)
在一次课程结课作业上,作业要求复写一个EKF-SLAM系统,我从中学到了好多知识。作为一个典型轻量级slam系统,这个小项目应该特别适合于slam系统入门,可以了解到经典卡尔曼滤波器在slam系统中的应用以及一个slam系统的重要组成部分。下面,我将以原理+代码形式来介绍这个project,如有问题,欢迎讨论;如有错误,欢迎指出。它的原代码是用matlab写的,已经上传GitHub:ekf_sl...原创 2018-11-28 20:51:51 · 10167 阅读 · 12 评论 -
从程序中学习EKF-SLAM(四)
六、数据关联数据关联的概念在之前的博客中已经解释了,这里就不在赘述了,这里重点说说程序中的两种实现,在本project里有两种数据关联:(1)已知数据关联,是指路标landmark的观测顺序已知,即观测的信息含有路标id代号(这一种方法,和之前的博客“UKS-SLAM入门”中的类似);(2)未知数据关联,是指landmark的观测顺序未知,也即观测信息只有距离和角度(本project中使用的...原创 2018-12-07 19:52:39 · 2106 阅读 · 4 评论 -
从程序中学习EKF-SLAM(三)
四、ekf预测ekf预测过程主要有两个重要过程:(1)机器人位姿的预测;(2)预测位姿的协方差更新。对应到伪代码里,就是开头两句:μ‾t=g(ut,μt−1)Σ‾t=GtvΣt−1GtvT+GtuQGtuT\overline{\mu }_t=g\left( u_t,\mu _{t-1} \right) \\\overline{\varSigma }_t=G_{t}^{v}\varS...原创 2018-12-05 15:24:20 · 1846 阅读 · 0 评论 -
从程序中学习EKF-SLAM(五)
七、状态更新在完成了数据关联后,就确定了路标是新路标还是旧路标,最后就能进行状态更新了。这里同样有新landmark下的状态更新和旧landmark下的状态更新。这里先介绍旧landmark下的状态更新,大致有下面几个步骤:(1)利用观测模型计算每个landmark的观测矩阵z^\hat{z}z^以及对应的协方差矩阵HHH(这一步骤和上一篇博客“从程序中学习EKF-SLAM(四)”中的一样,...原创 2018-12-08 22:00:50 · 1977 阅读 · 10 评论 -
EKFmonocularSLAM论文阅读笔记(一)
论文全名是:1-Point RANSAC for EKF Filtering. Application to Real-Time Structure from Motion and Visual Odometry论文下载链接,可以去这里下载!EKFmonocularSLAM系统介绍,有一个开源网址,可供参考。MATLAB源码可以参考官方提供的github。中文标题:单点RANSAC的EKF...原创 2018-12-16 15:07:06 · 2149 阅读 · 0 评论 -
EKFmonocularSLAM论文阅读笔记(二)
参考博客:Ubuntu下使用OpenCV显示中文,文件下载连接注意:这里的文件还是必须下载的,因为simhei.ttf文件必须要有,但是好多Ubuntu系统找不到,所以这里需要注意一下f...原创 2018-12-31 17:52:51 · 762 阅读 · 7 评论 -
Gmapping_slam源码框架分析
作为非常经典的激光slam系统,发展到现在,它基本上快要被遗弃了,但是仍然有值得学习的地方。同样因为经典,类似的分析类博客也是非常多了,这里仅从阅读源码入手,就当作是一次学习记录吧。参考论文:Improved Techniques for Grid Mapping with Rao-Blackwellized Particle Filters源码阅读详解GMapping原理分析gmapp...原创 2019-07-12 11:51:16 · 3202 阅读 · 0 评论 -
Hector_slam源码框架分析
这是另一个激光slam系统,特点是用IMU解决了激光的运动畸变问题,另外主要贡献还是对扫描匹配和栅格地图的构建提出了新的思路。下面,我将从阅读源码的角度,对该slam系统做一个简单的分析,也当作是个人的学习笔记。参考:Hector SLAM算法学习与代码解析...原创 2019-07-19 08:55:14 · 5586 阅读 · 6 评论 -
从程序中学习UKF-SLAM(一)
偶然间从GitHub上发现一个小项目,做的是一个基于UKF的状态估计,使用C++版本的mathplot做显示,编译之后却发现显示一直有问题,于是萌生了一个想法:能不能把它移植到ROS中?然后就有了接下来的学习过程,以此记录。如有问题,欢迎提出。这是需要复写的代码:在GitHub上它最终实现的效果如下:复写完成的代码请看最后一篇博客。在ROS中实现的效果如下:一、项目解决的问题首先解释...原创 2018-11-17 20:52:06 · 4161 阅读 · 4 评论 -
从程序中学习UKF-SLAM(三)
下面接着说UKF的更新部分,在这个环节里需要分开两种情况进行讲述:观测到已知路标时,需要对已有的所有的状态变量和协方差进行更新;观测到未知路标时,需要将新路标的信息添加到状态变量中,同时更新协方差(换句话说,就是需要对状态变量和协方差进行扩充);这里说到了已知路标和未知路标的问题,在SLAM领域就叫做数据关联。五、数据关联数据关联技术来源于多目标跟踪环境和传感器的观测过程之间的不确定...原创 2018-11-22 14:49:25 · 2027 阅读 · 10 评论 -
LIFT: Learned Invariant Feature Points完整调试记录(二)安装cuda8.0
接着上面的博客,对CUDA8.0的安装过程做一个简单的记录。参考网站:ubuntu14.04 + nvidia驱动安装+cuda8.0(显卡GTX1050TI) Ubuntu 14.04安装CUDA-8.01.安装环境系统:ubuntu14.04 显卡:GTX1050 CUDA版本:8.0 准备好NVIDIA CUDA Toolkit安装包,到这...原创 2018-04-27 19:32:02 · 694 阅读 · 0 评论 -
LIFT: Learned Invariant Feature Points完整调试记录(三)安装theano+Lasagne
基本环境到这里算是安装结束了,接下来就是安装论文所需的工具了,对这部分的过程也做一个简单记录。参考网址:LIFT: Learned Invariant Feature Points完整调试记录 ubuntu14.04安装theano配置GPU环境 ubuntu16.04安装lasagne 测试Theano使用GPU并行计算,以验证环境搭建是否成功依据第一篇参考博客所说的,LIFI所需...原创 2018-04-27 21:20:38 · 1377 阅读 · 2 评论 -
LIFT: Learned Invariant Feature Points完整调试记录(四)测试程序
相关的论文和开源代码,这里再次贴出一次, 论文:Kwang Moo Yi, Eduard Trulls, Vincent Lepetit, Pascal Fua, ” LIFT: Learned Invariant Feature Transform”, in ECCV 2016, https://arxiv.org/abs/1603.09114代码: alexgkendall/caffe-...原创 2018-04-27 22:32:29 · 2707 阅读 · 15 评论 -
Maplab开源VI-SLAM框架学习(一)Maplab框架介绍
最近开始学习上了一个VI-SLAM框架,现在将相关学习过程记录下来。Maplab框架介绍参考文章:Maplab框架介绍(一) Maplab框架官网 Maplab开源VI-SLAM框架介绍 Maplab框架介绍 github源码一、术语地图:通过地图...原创 2018-07-02 14:41:12 · 1912 阅读 · 0 评论 -
Maplab开源VI-SLAM框架学习(二)在Ubuntu 14.04上安装相关依赖环境
在Ubuntu 14.04上安装相关依赖环境参考网站:Installation Ubuntu——github一、安装所需的系统包系统环境:Ubuntu14.04系统+indigo版本的ROS打开终端输入如下指令: # Install framework dependencies. # NOTE: clang-format-3.8 is not available anymor...原创 2018-07-02 20:29:32 · 719 阅读 · 5 评论 -
开源体积映射库Voxblox框架学习(一)安装过程总结
参考网址:官方github一、概况Voxblox是一个主要基于截断的有符号距离场(TSDF)的体积映射库。它在以下方面与其他SDF库不同:仅限CPU,可以为某些集成商运行单线程或多线程 支持多种不同的图层类型(包含不同类型的体素) 使用protobufs进行序列化 在合并期间处理加权的不同方式 插入有关扫描的姿势信息的不同方式 紧密的ROS集成(在voxblox...原创 2018-07-18 13:01:01 · 4170 阅读 · 7 评论 -
Maplab开源VI-SLAM框架学习(三)使用ZR300
非常高兴拿到了ZR300,可以愉快地做实验了。首先用它跑了一下maplab框架的ROVIOLI部分,体验了一下,发现系统写的真是稳定啊,非常具有鲁棒性,怎么晃都没事。下面针对使用过程做一个简单的介绍。参考网址:maplab推荐驱动安装 maplab的ROVIOLI使用教程一、ZR300介绍1、参数2、官网提到的亮点一款集成鱼眼摄像头与一...原创 2018-09-04 20:19:00 · 2288 阅读 · 37 评论 -
在Gmapping中的Bresenham算法解析
引入在gmapping算法中,需要计算激光在每个粒子相应的位姿所扫描到的区域,这一步骤用到了Bresenham算法,他的实现函数是:void GridLineTraversal::gridLineCore( IntPoint start, IntPoint end, GridLineTraversalLine *line )刚好想了解一下这个算法具体实现流程,利用这个算法来完成其他工作。下...原创 2018-09-27 22:34:44 · 2336 阅读 · 2 评论 -
从程序中学习UKF-SLAM(二)
接下来具体说说UKF中的状态预测部分,将会从原理和代码两个方面来进行说明。四、状态预测1.UKF概述概括起来说,就是指解决一个高斯分布经过非线性变换后,怎么用另一个高斯分布近似它。假设x N(μx,Σxx),y=g(x)x~N\left( \mu _x,\varSigma _{xx} \right) ,y=g\left( x \right)x&amp原创 2018-11-19 14:58:58 · 2473 阅读 · 1 评论 -
Karto_slam源码框架分析
Karto_slam可以说第一次把因子图优化内容用于slam当中,是具有划时代意义的开源激光slam系统。它的主要贡献有两个:(1)提出了一个效果更好的扫描匹配过程;(2)利用观测信息、位姿关系构建因子图,求解最佳回环估计。参考:Karto_slam框架与代码解析Karto SLAM算法学习一、整体框架整体来说,看代码的话,karto代码框架还是比较整洁的,唯一的不好就是把多个类都放在...原创 2019-07-24 11:34:57 · 3094 阅读 · 0 评论