半闲居士视觉SLAM十四讲笔记(2)初识 SLAM- part 1 基础理论

来源:互联网 发布:浙江广信数据有限公司 编辑:程序博客网 时间:2024/04/29 19:12

本系列文章由 youngpan1101 出品,转载请注明出处。
文章链接: http://blog.csdn.net/youngpan1101/article/details/71085276
作者:宋洋鹏(youngpan1101)
邮箱: yangpeng_song@163.com


-W350_2.gif-2.gif
该讲详细资料下载链接 【Baidu Yun】【Video】【Code】

若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买】
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买】
若您觉得本博文对您有帮助,请支持高博的新书《视觉SLAM十四讲》,【点击购买】


理论部分

机器人自主运动基本问题

  1. 机器人的例子

    1.1 这里以下图室内服务机器人为例来说明机器人的主要模块:

    • 底盘:差速轮结构,运动避障主要依靠红外或超声波(这种方式更适合于扫地机,对于一定高度的服务机器人需要结合视觉避障)
    • 语音交互:麦克风阵列,现在最为自然的人机交互方式就是语音,从今年 Amazon Echo 的销量就可以看出语音交互未来前景广阔
    • 相机,即机器人的眼睛,是机器人探索周围环境的入口,也可以用于拍下美的瞬间
      robot_xiaowu_01.jpg

    1.2 定位与建图的关系

    机器人探索一个陌生的环境,比如说在一个布置精美的客厅里自主地运动,它至少需要知道两件事:

    • 定位:自己在哪里?(侧重于对自身的了解)
    • 建图:周围的环境是怎样的?(侧重于对外在的了解)

    定位与建图是相互 耦合 的,即

    • 准确的定位需要精确的地图
    • 精确的地图来自准确的定位

——————————– 分割线<< >>分割线 ——————————–


SLAM 传感器

  1. 传感器分类

    安装于环境中的传感器 安装于机器人本体上的传感器 二维码(比如 AprilTags) 、GPS、导轨、磁条 IMU(惯性测量单元)、激光、相机

    SLAM 的问题往往是针对未知环境的,这意味着无法在环境中去安置传感器来进行机器人的定位,只能通过间接的方法,即使用机器人自身携带的传感器来解决机器人的定位与建图的问题。(以室内家庭服务机器人为例,如果要在用户家里贴二维码或者铺磁条,肯定会影响用户体验的)

  2. 两种常用的 SLAM 传感器:激光 VS 相机

    Laser Camera 精度高、响应快、研究得比较透彻、
    重量偏重、价格高 便宜、轻便、信息丰富、计算量大、
    需要一定的工作条件(光线、无遮挡、有纹理)
  3. 相机的种类

    相机类别 特点 备注 单目 Monocular 1) 无深度
    2) 移动相机后才能得知相机的运动和场景的结构
    3) 尺度的不确定性
    双目 Stereo 1) 通过左右视图的视差计算深度
    2) 获得深度图的计算量大
    HUMAN+ Depth-VPU、 ii science 双目模块、ZED、DUO 深度 RGB-D 1) 结构光、TOF(Time of Flight)
    2) 主动测量,功耗偏大
    3) 所测深度值较准确
    4) 易受太阳光的影响 Orbbec Camera、华捷艾米深度相机 其他 鱼眼、全景(Dyson 360°吸尘机器人)、Event Camera 等

    共同点:

    • 近处物体的像运动快,远处物体的像运动慢
    • 利用图像和场景的几何关系,计算相机运动(Motion)和场景结构(Structure)
    • 需要处理连续的图像帧

——————————– 分割线<< >>分割线 ——————————–


视觉 SLAM 框架

slam_frame.jpg

  1. 视觉里程计 Visual Odometry

    • 定义:通过分析处理相邻图像序列来确定机器人的位置和姿态
    • 入门必读
      • Visual Odometry Part I: The First 30 Years and Fundamentals
      • Visual Odometry Part II: Matching, Robustness, Optimization, and Applications
  2. 后端优化

    • 从带有噪声的数据中优化轨迹和地图(状态估计问题)
    • 最大后验概率估计(MAP)
    • 前期以 EKF 为代表,现在以 图优化 为代表
  3. 回环检测

    • 检测相机是否回到早先位置
    • 识别曾经到过的场景
    • 计算图像间的相似性
    • 方法:词袋模型
  4. 建图

    • 用于导航、规划、通讯、可视化、交互等
      4_mapping-2.jpg
  5. SLAM 问题的数学描述

    两个基本方程:
    运动方程 (考虑从 k1 时刻到 k 时刻,相机的位置是如何变化的)

    xk=f(xk1,uk,wk)

    式中 xk ——t=k  时刻相机所处的位置
    xk1 ——t=k1  时刻相机所处的位置
    uk ——t=k 时刻的输入量(运动传感器的读数,如码盘、IMU)
    wk ——t=k 时刻输入量的噪声

    观测方程k 时刻相机在 xk 位置上看到某个路标点 yj,产生了一个观测数据 zk,j

    zk,j=h(xk,yj,vk,j)

    式中 vk,j ——t=k  时刻观测里的噪声
    也就是说,当我们知道运动测量读数 u 和传感器读数 z 时,求解定位问题(估计 x)和建图问题(估计 y)。
    这里将 SLAM 问题建模成一个状态估计问题,即如何通过带有噪声的测量数据,估计内部的状态变量。
    linear_gaussion_system_figure_01.png

2 0
原创粉丝点击