Return to Video

Graph SLAM - Artificial Intelligence for Robotics

  • 0:00 - 0:04
    让我来讲讲我最喜欢的 SLAM 方法 也就是 Graph SLAM
  • 0:04 - 0:09
    这是很多 SLAM 方法中的一个 而且是目前最容易解释的一个
  • 0:09 - 0:11
    假设我们有一个机器人
  • 0:11 - 0:17
    随便定一个初始位置x等于零 y等于零
  • 0:17 - 0:20
    在这个例子中 我们假设这个机器人有一个完美的指南针
  • 0:20 - 0:23
    而且为了简单起见 我们不考虑朝向
  • 0:23 - 0:29
    假设机器人向右边 也就是x方向 移动了10 所以现在到了这里
  • 0:29 - 0:34
    在完美的世界中 我们会知道 移动后的位置 x1
  • 0:34 - 0:40
    等于x0加10 而y1等于y0
  • 0:40 - 0:44
    但是我们从各种各样的卡尔曼滤波器课程中学到
  • 0:44 - 0:47
    这个位置其实是不确定的
  • 0:47 - 0:52
    我们不会假设机器人在(x y)坐标系中精确地向右移动了10
  • 0:52 - 0:58
    而是知道实际位置以(10 0)为中心的一个高斯分布
  • 0:58 - 1:00
    所以机器人有可能在别的地方
  • 1:00 - 1:03
    还记得我们的高斯函数的公式吗?
  • 1:03 - 1:06
    这是只考虑x变量时的样子
  • 1:06 - 1:11
    我们不会去让x1等于x0加10 而是用一个
  • 1:11 - 1:14
    两个参数一样的高斯分布来表达
  • 1:14 - 1:18
    如果我们用x1减去x0和10
  • 1:18 - 1:22
    把它用平方的格式转换成高斯函数
  • 1:22 - 1:27
    我们就得到一个x1关于x0的概率分布
  • 1:27 - 1:29
    同样的过程可以应用到y上
  • 1:29 - 1:32
    因为我们的机器人在y轴上没有移动
  • 1:32 - 1:37
    所以我们会让y1和y0尽可能靠近
  • 1:37 - 1:41
    现在 这两个高斯函数的乘积就是我们的约束关系
  • 1:41 - 1:50
    我们希望在x0的位置为(0 0)时 最大化x1位置的似然度
  • 1:50 - 1:59
    Graph SLAM 所做的就是利用一系列这样的约束来定义我们的概率
  • 1:59 - 2:03
    比如说我们有一个在某个空间中移动的机器人
  • 2:03 - 2:07
    每个位置都用矢量x0
  • 2:07 - 2:13
    矢量x1 矢量x2和矢量x3来表示 通常 它们都是3维矢量
  • 2:13 - 2:18
    Graph SLAM需要初始位置 这里是(0 0 0)
  • 2:18 - 2:20
    虽然这里看上去有些不一样
  • 2:20 - 2:23
    非常重要的是 很多相关的约束
  • 2:23 - 2:28
    都是关于每次的机器人位置相对于上次机器人位置的
  • 2:28 - 2:30
    我们称之为相对运动约束
  • 2:30 - 2:32
    你可以把它们想象为橡皮筋
  • 2:32 - 2:38
    想象一下 这个橡皮筋将会像机器人一样感知到位移
  • 2:38 - 2:43
    但实际上 它有可能需要变弯一点点 使得地图的一致性更好
  • 2:43 - 2:47
    说到地图 让我们使用地标作为例子
  • 2:47 - 2:50
    假设这里有一个地标 这个地标可以
  • 2:50 - 2:54
    被机器人看见并测量出到它的距离——z0, z1
  • 2:54 - 2:58
    可能机器人在时刻2时没有看见地标 所以这是z3
  • 2:58 - 3:01
    所有这些都是相对约束
  • 3:01 - 3:03
    非常像之前的那些约束条件
  • 3:03 - 3:07
    再次重申 测量结果是用高斯分布来表征的 而且我们使用相对测量约束
  • 3:07 - 3:11
    其中的一个约束是每个时刻 机器人会看到一个地标
  • 3:11 - 3:15
    我们将会看到 Graph SLAM 使用这些约束
  • 3:15 - 3:19
    这些约束条件非常容易测量 它只需放松这些橡皮筋
  • 3:19 - 3:25
    就能找到沿着地标走过的最佳路径
  • 3:25 - 3:27
    这就是建图的过程
  • 3:27 - 3:30
    让我来问你一个需要思考一下的问题
  • 3:30 - 3:35
    假设我们六个机器人姿态 也就是一个初始状态和5个运动结果
  • 3:35 - 3:39
    我们有测量了8个能看见的地标
  • 3:39 - 3:42
    这些可能是多个地标 有时机器人能看见多于一个的地标
  • 3:42 - 3:46
    现在的问题是总共有多少个约束?
  • 3:46 - 239:59
    如果我们把每个约束都当做一个约束的话
Title:
Graph SLAM - Artificial Intelligence for Robotics
Description:

more » « less
Video Language:
English
Team:
Udacity
Project:
CS373 - Artificial Intelligence
Duration:
03:51

Chinese, Simplified subtitles

Revisions Compare revisions