前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SLAM初探(一)

SLAM初探(一)

作者头像
Pulsar-V
发布2018-04-18 16:33:33
1.3K0
发布2018-04-18 16:33:33
举报
文章被收录于专栏:Pulsar-V

#经典SLAM过程

什么是SLAM

SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。

SLAM技术的应用

1)室内机器人 国内的科沃斯、塔米扫地机通过用SLAM算法结合激光雷达或者摄像头的方法,让扫地机可以高效绘制室内地图,智能分析和规划扫地环境,从而成功让自己步入了智能导航的阵列。

2)AR 目前基于SLAM技术开发的代表性产品有微软的Hololens,谷歌的Project Tango以及同样有名的Magic Leap

经典SLAM框架

  • 传感器数据 (=>)回环检测 (=>) 后端非线性优化
  • 前端视觉里程设计(VO Visual Odometry)
  • 后端非线性优化(Optimization)
  • 建图(Mapping)

几个目前比较有名的SLAM算法:PTAM,MonoSLAM, ORB-SLAM,RGBD-SLAM,RTAB-SLAM,LSD-SLAM。

传感器类型

代码语言:javascript
复制
1. 码盘
2. 摄像头
   RGB-D 红外结构光摄像机
   双目摄像机
3. 惯性传感器

前端视觉里程设计(VO)

基本的VO:特征提取和匹配 根据输入的图像,计算相机运动和特征点位置。在两两帧间的位姿估计,仅凭两帧的估计是不够的。需要把征点缓存成一个小地图,计算当前帧与地图之间的位置关系。

后端非线性优化

优化过程主要使用在SLAM的噪声问题(传感器噪声,数据噪声,自然光,人为因素等)

  1. 无约束非线性最优化问题常用算法: 梯度法(最速下降法)、共轭梯度法、变尺度法和步长加速法.其中,前三个要用到函数的一阶导数或二阶导数,适用于函数表达式导数存在且求导简单的情况,而步长加速法则相反,适用于函数表达示复杂,甚至无解析表达式,或导数不存在情况.
  2. 约束非线性最优化问题常用算法: 按照是否化成无约束问题可分为 可行方向法、制约函数法(外点法和内点法),其中内点法适用于目标函数在可行域外性质复杂情况,外点法则相反.后者根据罚函数或障碍函数的构造不同,又有不同的变形.

建图

数据噪声的处理

单目视觉SLAM方法在是否引入概率框架方面分为基于概率框架的方法和基于非概率框架的方法。其中前者的代表方法是基于Kalman滤波(KF)的方法,基于粒子滤波(PF)的方法等;后者的代表方法是基于关键帧和稀疏捆绑调整优化的方法,基于图优化的方法等。 线性高斯系统(Liner Gaussian LG)中使用卡尔曼滤波器(Kalman Filter KF)来进行data的无偏最优估计。在非线性高斯系统中(Non-Liner Non-Gaussian,NLNG系统)将会使用拓展卡尔曼滤波器(Extended Kalman Filter EKF),后期的SLAM采用粒子滤波器(Particle Filter)进行数据的滤波处理。

参考资料 : Probabilistic Robotics by Sebastian Thrun, Wolfram Burgard and Dieter Fox with a clear overview of SLAM. SLAM For Dummies (A Tutorial Approach to Simultaneous Localization and Mapping). Andrew Davison research page at Imperial College London about SLAM using vision. Autonomous and Perceptive Systems research page at University of Groningen about visual SLAM. openslam.org A good collection of open source code and explanations of SLAM. Matlab Toolbox of Kalman Filtering applied to Simultaneous Localization and Mapping Vehicle moving in 1D, 2D and 3D. SLAM Example using Processing.js of Feature-Based Navigation. FootSLAM research page at DLR including the related Wifi SLAM and PlaceSLAM approaches. SLAM lecture Online SLAM lecture based on Python. SLAM in use for indoor positioning and navigation.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是SLAM
  • SLAM技术的应用
  • 经典SLAM框架
  • 传感器类型
  • 前端视觉里程设计(VO)
  • 后端非线性优化
  • 建图
  • 数据噪声的处理
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档