赞
踩
SLAM 是什么?
SLAM 是同步定位与地图构建 (Simultaneous Localization And Mapping) 的缩写,最早由 Hugh Durrant-Whyte 和 John J.Leonard 提出。SLAM 主要用于解决移动机器人在未知环境中运行时定位导航与地图构建的问题。
SLAM 实际上是一个典型的军转民用的技术,探测器登陆未知环境的星球进行科研研究时,面对复杂的大规模环境,而无法对其进行实时遥控时,必须通过实现同步定位与地图创建才能完成导航任务,例如美国“机遇号”、“勇气号”以及“好奇号”等火星探测器。如果放在当今社会消费级市场来理解的话,扫地机器人没有 SLAM 技术,就无法实现自主移动。
1)这个领域的知识是什么样的?
整个 SLAM 大概可以分为前端和后端,前端的功能是根据相邻两帧图像(视觉 SLAM )或者两片点云(激光 SLAM )的匹配与比对,计算出传感器相邻时刻的位置和姿态变化,进而对机器人或者无热车进行定位;根据传感器不一样,分为激光点云、图像、RGB-D 拼接几种,其中图像配准中又分基于稀疏特征 (Sparse) 的和稠密 (Dense) 的两种。后端则主要是对前端出结果进行优化,利用滤波理论或者优化理论,最终得到最优的位姿估计。
2)确定学习方向
SLAM 是一个包含技术点范围很广的应用方向,涉及到计算机视觉,优化方法,3D ….,每项之内又会分成更多的点,如果没有目标去学习很容易迷失其中,因此确定目标是非常重要的!
RGB-D Camera 选择
目前的主流视觉深度传感器方案主要分结构光,Time-of-Flight 和纯双目三类。双目跟结构光一样,都是使用三角测量法根据物体匹配点的视差反算物体距离,只是双目是用自然光,而结构光是用主动光发射特定图案的条纹或散斑。ToF 是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。
曾经红极一时的 Kinect 1,2 代(现已停产)采用的是结构光和 ToF,ToF 和结构光都属于主动光,容易受可见光和物体表面干扰,所以更适合室内和短距离的应用场景。
图 | 「视觉+结构光+惯性导航」融合的双目方案效果更好
将双目和结构光的优点结合起来,用双目的相差计算方法加上红外的结构光对黑暗和无纹理的情况作辅助,小觅智能采用了「视觉+结构光+惯性导航」融合的双目结构光深度惯导相机方案,可在无纹理的物体(像是白墙)和全黑情况及室内外条件下使用。
作者:小觅智能
链接:https://www.zhihu.com/question/58214449/answer/499085817
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
5)推荐阅读的书籍
6)推荐的视频
7)SLAM 相关学习文章(持续更新中)
ORB-SLAM 学习笔记zhuanlan.zhihu.comVINS 学习笔记zhuanlan.zhihu.com
8)欢迎点赞和分享小觅智能 | VINS 学习笔记(持续更新中)8)欢迎点赞和分享
据说知乎有个不成文的规定:只收藏不点赞和分享就是耍流氓!
SLAM的发展:
SLAM近年来发展衍生出的一些其他类型的变种有:非刚性SLAM,多目标模型SLAM,动态SLAM,语义SLAM等。
SLAM的一些开源项目:
在项目代码方面,当前比较具有代表性的一些开源SLAM方案有:
Dense SLAM: KinectFusion, ElasticFusion,BundleFusion,InfiniTAM,MaskFusion
Semi-Dense SLAM: LSD-SLAM
Sparse SLAM: ORB-SLAM
SLAM的一些开发工具:
开发SLAM常用到的工具库主要包括:
OpenNI:用于与视觉传感器的交互操作;OpenCV:用于图像处理;PCL:用于点云处理;Eigen:用于矩阵运算;Sophus:用于李群李代数计算;Ceres Solver:用于非线性优化;g2o:用于图优化;DBoW:用于处理词袋模型;OpenGL:用于模型渲染;CUDA toolkit:用于并行计算,等等。
参考文献:
1.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。