1 问题提出

首先假设一个场景,在下图的机器人上,你如何让它自由行走?也就是说,拥有自主运动能力?

当然,增加轮子和电机是必不可少的。然而,有了轮子和电机,它只能乱跑乱撞,因为缺少规划和控制。如何才能拥有规划和控制?首先需要增加相机,通过相机捕获周边环境信息。

然而,相机虽可以感知环境,归根到底要知道环境的啥信息,要干啥?答案是,至少需要解决两个问题:

1 周边环境什么样子?构建环境地图。(建图)

2 清楚知道,我在哪里?(定位)

回顾一下,在没有提出SLAM之前,或者说如果不用SLAM,如何能够解决以上两个基本问题?其方案有:

  • 地上标注黄线,让机器沿黄线运动。
  • 在墙上贴上二维码做地标
  • 用无线定位设备。
  • 户外用GPS

而SLAM方案与以上所列有所不同,它是通过如下配置完成:轮式编码器、相机、激光传感器来完成定位和构图的。这里对比一下,非SLAM方案与SLAM比较存在啥区别:

  • 非SLAM方案将建图和定位安装在机器人的外端,与环境构成一体。
  • SLAM将定位和地图,安装在移动机器人上,与机器人构成一体。

以上两种方案的优缺点比较:

  • 非SLAM方案优点,构成简单,容易实现。缺点是条件限制太多,太多的限制将不足以实现机器人的自主行走。
  • SLAM方案优点,定位系统独立于环境,不受环境限制,能实现自主行动。缺点:对环境测量不是直接的,是迂回的,要求算法必须足够高级。

2 视觉测量传感器--相机

SLAM的相机有三种:1)单目相机 2)双目相机 3)RGB-D深度相机。单目相机,就是普通的相机,输出的是图片。双目相机,是由两个单目相机构成,因此,能同时拍摄两张图片,这两张图片相差一个视角,因此密切相关,通过对极几何、三角测量等原理换算出距离。注意,换算景物距离,不仅仅是个障碍规避问题,更重要的是能换算出相机移动的距离向量,从而实现自身定位。RGB-D是2010年才出现的相机,是彩色,双目,能测量景物深度的相机。由于双目相机计算量大,耗时,因此业内注重单目相机,因为单目移动一个距离后,前后两个图片也可以实现双目相同的计算。

3 经典SLAM框架

如果将环境限定成:静态、刚体、光照变化不显著、没有人为干扰。那么,目前的SLAM已经相当成熟。而环境如果是动态的、光干扰明显、物体形状可变(如布料),则挑战骤然升级。以下我们列出目前较成型的SLAM框架结构:

1)传感器信息读取:说白了就是把现场图片导入内存。加上必要的预处理图像。

2)前端(视觉里程机):通过两次相机采样,换算出相机走过的距离向量。也就是处理STEP的问题。

3)后端(非线性优化):将前端形成的每一步移动,并产生全局轨迹地图。解决ROUTER问题。

4)回环检测:是计算相机移动中,是否产生回路。

5) 建图:根据后端所生成的轨迹,以及及环境信息,构成全局地图。

参考资料:《视觉SLAM十四讲》高翔

2021-04-15 深入理解SLAM技术 【2】 SLAM的框架相关推荐

  1. 社招面经: 联易融Java开发一面2021.04.15

    项目介绍 项目使用的架构技术体系SpringCloud.Spring.SpringMVC.Springboot.Mybatis.Mybatis-plus(该公司招聘需求上有就介绍了).Nacos.Re ...

  2. (四十四:2021.04.15)《Methodology Camp》——Chapter 2:Pieces

    <Methodology Camp :Pieces> 讲在前面 **问题一**:工作时别人给我手机发消息,要不停看手机,我想在pc上操作我的手机,怎么办? **问题二**:作为一个编程领域 ...

  3. 学习Go之前你应该知道的10件事 | Gopher Daily (2021.04.21) ʕ◔ϖ◔ʔ

    每日一谚:Don't use an interface if it's not clear how the interface makes the code better. Go技术生态 编写好的单元 ...

  4. SLAM技术综述与入门

    本文主要对SLAM技术进行介绍,叙述了VSLAM的框架及关键技术和方法,并总结了目前已有的VSLAM系统和相关资料,最后介绍kinect相机在ROS下的配置,实现rgb图像和深度图像的检测. SLAM ...

  5. 视觉SLAM技术应用

    视觉SLAM技术应用 · SLAM技术背景 SLAM技术全称Simultaneous localization and mapping,中文为"同时定位与地图构建".SLAM可以在 ...

  6. 解析|一文读懂AGV的关键技术——激光SLAM与视觉SLAM的区别

    来源:新机器视觉 移动机器人(AGV)是工业机器人的一种.它由计算机控制,具有移动.自动导航.多传感器控制.网络交互等功能,在实际生产中最主要的用途是搬运,可以说只要有搬运需求的地方,就有移动机器人的 ...

  7. 国内SLAM技术发展现状大解析

    导语:被很多学者认为是实现真正全自主移动机器人关键的SLAM技术,已经开始逐步走入人们的视野,过去几年扫地机器人的盛行让它名声大燥,而AGV.无人机等行业的兴起则让其找到了更加广阔的市场.今天,我们就 ...

  8. 激光slam_激光SLAM与视觉SLAM的特点

    激光SLAM与视觉SLAM的特点 目前,SLAM技术被广泛运用于机器人.无人机.无人驾驶.AR.VR等领域,依靠传感器可实现机器的自主定位.建图.路径规划等功能.由于传感器不同,SLAM的实现方式也有 ...

  9. 2021-03-15 深入理解SLAM技术【1】 基础知识

    1 啥是SLAM? SLAM是真正的3d技术,是解决移动车辆的定位和动态地图生成的问题的.比如说,你要构造一个自主机器人,能实现路面行走,障碍规避,而且理解三维透视场景,甚至将这种场景翻译成几何场景, ...

  10. 2021-04-17 深入理解SLAM技术 【3】 数学基础概述

    SLAM技术是需要一些抽象的数学,虽有一些难度,但还没到了"坚不可摧"的地步.这一章我们专门梳理一下,到底需要哪些数学知识和数学概念,这些知识用到哪些恰当的地方,也就是这些数学概念 ...

最新文章

  1. 100道 Dubbo面试题及答案(2021最新)
  2. 解开一个困扰自己多时的小问题
  3. 网页中获取网络mp3文件的时常
  4. 防雪崩利器:熔断器 Hystrix 的原理与使用
  5. elasticsearch解决同步删除数据库中不存在的数据
  6. 【广搜】Keyboarding
  7. 转:【微信小程序】实现锚点定位楼层跳跃的实例
  8. Python数据结构实战——数(Tree)
  9. (windows关灯模式/黑屏模式)专注于当前的工作窗口
  10. 京东大数据技术白皮书
  11. java docx转pdf_在java中将docx转换为pdf
  12. 基于微博热搜生成词云图
  13. 动词变名词的变化规则_动词变名词的规则?(要求完整)
  14. worksheet怎么读_worksheet是什么意思_worksheet怎么读_worksheet翻译_用法_发音_词组_同反义词_工作表_学习单-新东方在线英语词典...
  15. Footprint Analytics: NEO 主网上线 5 年,现状如何?
  16. 蚂蚁区块链BaaS平台应用开发指南(四):JavaSDK的接入
  17. MTK芯片技术资料大全,各个型号都有,包括原理图数据表等
  18. Linux网络——套接字编程
  19. (笔记)yolov5自适应anchors
  20. AE基础教程第一阶段——07 区域显示,透明网格

热门文章

  1. 线性代数笔记:Frobenius 范数
  2. 文巾解题 319. 灯泡开关
  3. MATLAB从入门到精通-机械动力学仿真-Amesim仿真实例:对于任意的外力作用下的机械动力学仿真
  4. 多面性的打赏功能,由直播行业引发的一点思考
  5. 基于 Kafka 与 Debezium 构建实时数据同步
  6. matlab中step_使用MATLAB中bertool进行通信仿真
  7. Google AutoML最新技术解析:AutoML-Zero,从0构建模型
  8. 肖仰华:基于知识图谱的用户理解
  9. LIBSVM -- A Library for Support Vector Machines--转
  10. The declared package does not match the expected package