SLAM学习策略和前期准备
1、SLAM相关教材书目
——————入门——————
《视觉SLAM十四讲》★
《一起学习RGBDSLAM》
《自主移动机器人导论》
《ROS入门》
——————进阶——————
《概率机器人》
《计算机视觉中的多图几何》
《机器人学中的状态估计》
《机器人感知》
——————交叉领域相关——————
《机器学习》、《深度学习》 《PYTHON3X》、《点云库PCL》(倘若做语义地图方向,可能会有所涉及)
2.前期准备工作
SLAM系统可以分成以下几块:传感器数据,视觉里程计,后端优化,建图,以及回环检测。其中视觉里程计属于前端,后端优化包括非线性优化
同时我们也会接触一些数学理论和许多的编程知识,会用到Eigen,OpenCV,PCL,g2o,Ceres等数据库,掌握Linux操作系统中的使用方法。
推荐几个学习SLAM的书和资源。高翔博士的Slam14讲和他发表的一起学习RGBD-SLAM.能够快速地入门和学习,其他资源等到学习到之后,在和大家分享。
源代码托管在GitHub上:
https://github.com/gaoxiang12/slambook
对于SLAM的研究,我们需要具备:
1. 高等数学,线性代数,概率论等数学知识的积累;
2. C++语言基础;
3. Linux基础;
4. ROS系统;
5. Cmake,vim/emacs及一些编程工具;
6. 会用Eigen,OpenCV,PCL,g2o,Ceres等第三方库。
SLAM的研究根据学术大佬的的总结,可以说“花开五朵,各表一枝”.
1. 基础理论(Bsic Theroy);
2. 传感器(Sensor);
3. 建图(Mapping);
4. 回环检测(Loop Detection);
5. 高级问题(Advanced Topic).
SLAM算法实现,要考虑七个方面:
1. 地图标识问题;
2. 信息感知问题;
3. 数据关联问题;
4. 定位和构图问题;
5. 回环检测问题;
6. 探索问题;
7. 绑架问题。
3、学习策略
明确目标:对研究者而言,最紧迫的是用最少的时间和精力,写出足够水平的论文。
因此在学习SLAM的时候,切忌贪多求全、目的不明。
可参考以下学习流程:了解基础→会做→找点→去做自己的工作并写论文
①【了解基础】入门教材(《视觉SLAM十四讲》,理论了解+代码实践)
②【会做】已有的知名SLAM方法:
ORB SLAM,LSD SLAM,DSO SLAM,SVO SLAM
可以ORB SLAM为范本重点学习,看对应的论文+源代码,并去复现一遍。
③【找点】看一些新的知名期刊文献,寻找自己的研究点。该领域发展迅速,期刊论文上的成果一般较老,最新的会议论文和最新发布的开源代码可重点关注;此外,追踪关注一些知名课题组的研究成果。
在文献调研阶段,如需要,可穿插进行知识补充,一些需要深入了解的知识,在“了解基础”阶段只掌握了大概,可针对性地补充学习。
4.SLAM开源代码链接
MonoSLAM 单目 https://github.com/hanmekim/SceneLib2
PTAM 单目 http://www.robots.ox.ac.uk/~gk/PTAM/
ORB-SLAM 单目为主 http://webdiis.unizar.es/~raulmur/orbslam/
LSD-SLAM 单目为主 http://vision.in.tum.de/research/vslam/lsdslam
SVO 单目 https://github.com/uzh-rpg/rpg_svo
DTAM RGB-D https://github.com/anuranbaka/OpenDTAM
DVO RGB-D https://github.com/tum-vision/dvo_slam
DSO 单目 https://github.com/JakobEngel/dso
RTAB-MAP 双目/RGB-D https://github.com/introlab/rtabmap
RGBD-SLAM-V2 RGB-D https://github.com/felixendres/rgbdslam_v2
Elastic Fusion RGB-D https://github.com/mp3guy/ElasticFusion
Hector SLAM 激光 http://wiki.ros.org/hector_slam
GMapping 激光 http://wiki.ros.org/gmapping
OKVIS 多目+IMU https://github.com/ethz-asl/okvis
ROVIO 单目+IMU https://github.com/ethz-asl/rovio
5.学习参考
博客链接:https://blog.csdn.net/electech6/article/details/82597882
半闲居士博客链接:https://www.cnblogs.com/gaoxiang12/p/4633316.html
SLAM14讲笔记博客链接:https://blog.csdn.net/dahailuoa6/article/details/90675711
SLAM学习策略和前期准备相关推荐
- 最新语义视觉SLAM综述:面向应用的移动机器人自主导航解决方案
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 论文名称: A survey of image semantics-based visual simu ...
- AAAI 2021 | 用于旋转目标检测的动态锚框学习策略
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:AI科技评论 AI博士笔记系列推荐 周志华<机器学习& ...
- 三维空间刚体运动5:详解SLAM中显示机器人运动轨迹及相机位姿(原理流程)
三维空间刚体运动5:详解SLAM中显示机器人运动轨迹及相机位姿(原理流程) 一.显示运动轨迹原理讲解 二.前期准备 三.git管理子模块及克隆源代码 1.学习使用Git Submodule 2.克隆源 ...
- 参加第一届“SLAM技术及应用”暑期学校暨研讨会和全国SLAM技术论坛有感
哈哈,先是一段官话啦! 2018年7月24日至7月27日,第一届"SLAM技术与应用"暑期学校与研讨会在浙江紫金港校区的蒙民伟楼225报告厅成功举行.本次暑期学校由浙江大学CAD& ...
- 一起自学SLAM算法:11.5 强化学习与自主导航
连载文章,长期更新,欢迎关注: 写在前面 第1章-ROS入门必备知识 第2章-C++编程范式 第3章-OpenCV图像处理 第4章-机器人传感器 第5章-机器人主机 第6章-机器人底盘 第7章-SLA ...
- 从零开始跑ORB_SLAM2(一) 前期准备与环境配置
前期准备 工作环境: PC:i5-8265U 8GRAM 核显 弟弟CPU 相机:Intel-Realsense D435 环境:Ubuntu16.04 LTS+ ROS Kinect 如何安装Ubu ...
- SLAM综述阅读笔记六:基于图像语义的SLAM调研:移动机器人自主导航面向应用的解决方案 2020
转自[[论文阅读]A survey of image semantics-based visual simultaneous localization and mapping 语义视觉SLAM综述 - ...
- 从零完成slam实战,以Vins-Fusion为例
写在前面 1.本文以vins-fusion为例,是因为其框架正统.简单清晰,易于调试和后续改进:camera-imu外参及同步时间td可实时估计:已有融合gps方案且较为容易可添加融合其它传感器. 2 ...
- SLAM图优化g2o
SLAM图优化g2o 图优化g2o框架 图优化的英文是 graph optimization 或者 graph-based optimization, "图"其实是数据结构中的gr ...
最新文章
- 解析激光雷达中时序融合的研究现状和发展方向
- cocos2d-x游戏循环与调度
- SAP S/4 Hana On-premise Edition 1511做了哪些简化
- jsp工程防止外部注入_防止 jsp被sql注入的五种方法
- 2019长江课堂作业答案_“绝户网”捕捞长江鳗鱼苗 检察机关:“全链条”担责...
- 虚拟机vCPU和vNUMA调整大小-经验法则
- 20一个自定义集合的自述
- 机器学习的数学(三)范数的简单介绍
- STM32之红外接收
- struts2架构网站漏洞修复详情与利用漏洞修复方案
- Google开源Live Transcribe的语音引擎
- Tree-shaking
- BUUCTF MISC刷题笔记(五)
- 数据库是什么,它是做什么用的?
- (调试)图像调试基本术语
- 为什么抖音张同学这么火爆?用 Python 分析 1w+条评论数据,我发现了其中的秘密
- 编写游戏开始界面与结束提示(含素材视频教程)
- 简简单单做一个带过期时间的内存缓存
- c语言输入123输出112233,C语言程序的设计 第3章 程序语言基础1.pdf
- spring占位符无法替换的报错排查
热门文章
- 前端获取本机ip_前端开发者必须明白的浏览器工作原理
- icpc西部区域赛_信息学子在ACMICPC 2020中国(西部)大学生程序设计竞赛中喜获佳绩...
- linux参考文献_linux常用指令
- linux spf13 vim安装,Linux 下安装 spf13-VIM
- python循环练习_Python循环练习
- Swagger:后端文档生成工具
- Swiper4.5在vue项目中的使用方法
- js (查重)键值对数组(一维数组),并归类计数
- phpcms底部版权信息修改教程——修改“开发团队”信息
- ubuntu安装python3.6_Ubuntu16.04安装python3.6.5步骤详解