SLAM概述¶
SLAM概述¶
SLAM,全称是Simultaneous Localization and Mapping,即同时定位与建图。所以我们能看到SLAM的主要工作是定位以及建图。SLAM目前有很多实现方法,主要分为激光雷达和视觉传感器两个方向。视觉SLAM(Visual SLAM)包括使用单目SLAM、双目SLAM和以Kinect为代表的使用深度摄像头的RGB-D SLAM。视觉SLAM常见的优秀框架有:
单目SLAM:
- PTAM(2007.Parallel Tracking And Mapping)
- DTAM(2011.Dense tracking and mapping in real-time)
- LSD-SLAM(2014.Large-Scale Direct Monocular SLAM)
- SVO (2014.Semi-direct Visual Odometry)
- ORB-SLAM(2015.Oriented FAST and Rotated BRIEF SLAM)
- DSO (2016.Direct Sparse Odometry)
双目SLAM:
- ORB-SLAM2(2017)
- RTAB-MAP(2018)
RGB-D SLAM:
- KinectFusion(2011)
- RGBD-SLAM2(2014)
- ElasticFusion(2015)
- ORB-SLAM2(2017)
- RTAB-MAP(2018)
定位与建图¶
当你第一天去上大学的时候,为了快速熟悉校园环境并且找到宿舍和食堂时,你会做以下的事情:
1、用眼睛一直观察周围的教学楼、篮球场、喷泉等标志性建筑物,并且记住它们的特征。(数据采集-特征提取)
2、根据你刚才眼睛观察到的信息,在脑海里把这些有特征的标志性建筑物建立成一个地图。(建图)
3、继续行走时,又看到了一些如咖啡店、健身房等新的标志性建筑物,再把它们加到脑海中的地图里面校对一下。(状态更新)
4、根据你前一段时间行走获得的标志性建筑物,确定自己的位置。(定位-路径规划)
5、当你走了很长一段路的时候,和脑海中的以往标志性建筑物进行匹配,看一看是否走回了原路。(回环检测)
SLAM框架¶
视觉SLAM主要分为几个模块:
- 传感器数据采集 - 通过相机
- TOF相机、结构光相机、双目相机
- 单目相机、鱼眼全景相机
- 前端视觉里程计(Visual Odometry) - 定位
- 采集特征点及描述子
- 进行特征匹配
- 通过图像估计相机位姿
- 估计两个时刻机器人的相对运动
- 后端非线性优化 - 减少误差
- 降噪、优化轨迹
- 图优化
- 建图(Mapping)
- 栅格地图
- 拓扑地图
- 可用于导航、路径规划、可视化
- 回/闭环检测(Loop closure detection)
- 词袋
- 计算图像的相似性
- 识别场景是否到达过