SLAM是Simultaneous Localization and Mapping的缩写,意为“同时定位与建图”。slam说白就一句话:同时解决精确定位和环境绘制问题。首先是开场白,这项技术同时解决定位和环境绘制的问题:定位是一种精确的定位,包含机器位置、朝向、高度,不同于GPS;环境绘制例如使用SLAM,可以进一步恢复出三维,例如我们绕着城市拍一圈,就可以重建出三维城市的地图。
SLAM是智能机器和增强混合现实的关键技术,用商业的话来说就是『刚需』。SLAM可以使用各种各样的传感器信息:从图像、多图像、深度信息、GPS、IMU、乃至车轮齿轮转了几圈,都可以作为SLAM的输入信息来达到目的。
如果SLAM技术加上各式各样的深度学习+识别技术,可以理解为一个智能机器具备了学习陌生环境、解决自己『在哪儿』,还通过识别解决了『这是什么』的两个基本问题。能解决这两个基本问题的软件算法,就像是智能机器的『大脑』一样,具备了一定程度的学习和反馈的基础。有了这样的基础,我们才能使机器更『聪明』的看懂这个世界,并进一步向我们所期待的反馈方式去开发更高层的功能。
主流开源SLAM方案
视觉传感器:
稀疏法(特征点):
ORB-SLAM(单目,双目,RGBD)[1](ORB-SLAM: a Versatile and Accurate Monocular SLAM System中文翻译)[2]
PTAM(单目)[3]
MonoSLAM(单目)[4]
半稠密法:
LSD-SLAM(单目,双目,RGBD)[5]
SVO(单目, 仅VO)[6]
稠密法:
DTAM(RGBD): Paper: [7] Open source code:[8]
Elastic Fusion(RGBD): Open source code:[9]
Kintinous(RGBD):Open source code: [10]
DVO: Open source code: [11]
RGBD-SLAM-V2: Open source code: [12]
RTAB-MAP: Code: [13]
其他
ScaViSLAM: Open source code [14]
激光传感器:
Hector SLAM[15]
Gmapping [16]
视觉(Visual)与IMU融合(VI)
Release of OKVIS: Open Keyframe-based Visual Inertial SLAM[17]
工具
g2o:[18]
ceres: [19]
入门资料推荐
关于Computer Vision
CMU computer vision 入门课件推荐(第16-19章关于visual odometry方面的基础知识推导非常清晰)。
Multiple View Geometry
Daniel Cremers的MVG课程视频。百度云分享链接
An Invitation to 3D Computer Vision
关于SLAM(状态最优估计)
State Estimation for Robotics, SLAM入门教材吐血推荐,对深入理解SLAM实质非常有帮助,下载链接:[20]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新