Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:02,303 --> 00:00:12,303
[MUSIC]
2
00:00:15,570 --> 00:00:17,602
Hi, my name is CJ Taylor.
3
00:00:17,602 --> 00:00:21,782
I'm going to be your instructor for this
section on Computational Motion Planning.
4
00:00:21,782 --> 00:00:24,818
I thought I'd begin by talking a little
bit about the kinds of problems you're
5
00:00:24,818 --> 00:00:26,110
going to be solving in this module.
6
00:00:27,390 --> 00:00:30,180
Motion planning is actually
a specialized version with
7
00:00:30,180 --> 00:00:31,831
more general AI planning problem.
8
00:00:32,960 --> 00:00:35,380
The goal of a general
purpose planning problem
9
00:00:35,380 --> 00:00:38,770
is to come up with a sequence of
actions that accomplish a given goal.
10
00:00:39,930 --> 00:00:43,550
Consider for example the problem that
we would be facing if we were trying to
11
00:00:43,550 --> 00:00:45,950
design a robot that was
supposed to do our laundry.
12
00:00:47,010 --> 00:00:50,824
We would love for that robot to be able
to come up with the entire sequence of
13
00:00:50,824 --> 00:00:53,420
actions that needed to be
performed on it's own.
14
00:00:53,420 --> 00:00:56,900
From finding laundry,
taking it downstairs,
15
00:00:56,900 --> 00:01:02,646
putting it in the washing machine,
taking it out; folding it; etc., etc.
16
00:01:02,646 --> 00:01:05,970
The Motion Planning Problem
is actually more specifically
17
00:01:05,970 --> 00:01:10,970
concerned with coming up with plans to
move a robot from one location to another.
18
00:01:10,970 --> 00:01:13,020
To get it from Point A to Point B.
19
00:01:14,270 --> 00:01:18,500
In many cases, this boils down
to a kind of geometry problem.
20
00:01:18,500 --> 00:01:22,540
Where the goal is to guide the robot
through a particular trajectory that
21
00:01:22,540 --> 00:01:25,900
avoids all the obstacles that we
know about in the environment.
22
00:01:25,900 --> 00:01:30,840
This basic approach can be applied
to a wide variety of robotic systems
23
00:01:30,840 --> 00:01:35,900
including relatively simple robots that
roll around on the ground, to robotic
24
00:01:35,900 --> 00:01:39,649
arms with multiple degrees of freedom, to
systems like these quadrotors shown here.
25
00:01:40,970 --> 00:01:43,740
Let's begin our explanation
with a simple example, PacMan.
26
00:01:44,760 --> 00:01:47,990
I'm betting that many of you've played
this game once or twice in your life.
27
00:01:47,990 --> 00:01:51,780
And you remember that when your noble
PacMan eats one of those computer
28
00:01:51,780 --> 00:01:56,510
generated ghosts, those ghosts would
automatically run back to their lair
29
00:01:56,510 --> 00:01:58,919
to regenerate and then come back and
hunt you down again.
30
00:02:00,510 --> 00:02:03,440
I was never very good at this time, so
the end always came quickly for me.
31
00:02:04,550 --> 00:02:08,420
But I was always impressed by how quickly
and efficiently the computer was able to
32
00:02:08,420 --> 00:02:12,630
guide the ghosts back from wherever
they got eaten to the goal.
33
00:02:12,630 --> 00:02:15,320
So this is a problem that we're going
to consider in the next set of slides.
34
00:02:17,430 --> 00:02:20,099
On this slide, we see a simple
depiction of a Pac-Man problem.
35
00:02:21,330 --> 00:02:25,760
In this picture the robots are constrained
to move around on a grid of cells.
36
00:02:25,760 --> 00:02:30,310
At any point in time,
our ghost can move north, south, east or
37
00:02:30,310 --> 00:02:32,220
west to any adjacent cell.
38
00:02:33,780 --> 00:02:37,500
The limitations are that it cannot
go outside the playing area or
39
00:02:37,500 --> 00:02:39,480
enter any of the black grid cells.
40
00:02:39,480 --> 00:02:41,324
These correspond to
obstacles in our world.
41
00:02:42,560 --> 00:02:47,197
Our goal then is to come up with a
sequence of steps that will take the robot
42
00:02:47,197 --> 00:02:52,533
from the starting location, the green
cell, to the goal location, the red cell.
43
00:02:52,533 --> 00:02:56,078
Now, if we think each of
the unoccupied grid cells as a node,
44
00:02:56,078 --> 00:02:59,208
and draw lines between
adjacent nodes as shown here,
45
00:02:59,208 --> 00:03:02,491
we end up with a mathematical
structure called a graph.
46
00:03:05,369 --> 00:03:09,629
A graph is composed of a set of nodes
typically denoted by the letter V and
47
00:03:09,629 --> 00:03:13,960
a set of edges denoted by the letter E,
which link those nodes together.
48
00:03:15,380 --> 00:03:18,760
Graphs are a mathematical contract
which are actually very useful for
49
00:03:18,760 --> 00:03:21,449
modeling a wide variety of
maps in the real world.
50
00:03:22,750 --> 00:03:26,718
For instance, this transit map can be
thought of as a graph where the nodes
51
00:03:26,718 --> 00:03:28,254
corresponds to stations and
52
00:03:28,254 --> 00:03:31,525
the edges correspond to rail
links between those stations.
53
00:03:34,681 --> 00:03:38,531
Next figure shows a form of a mileage
chart where the nodes correspond to cities
54
00:03:38,531 --> 00:03:41,169
and the edges correspond
to toll roads between them.
55
00:03:42,240 --> 00:03:45,140
Here we may be interested
in finding a path
56
00:03:45,140 --> 00:03:49,200
from one city to the other that minimizes
the amount of money that we have to pay.
57
00:03:49,200 --> 00:03:51,540
The world wide web is
actually a form of a graph.
58
00:03:51,540 --> 00:03:55,380
Where the nodes are web pages and
the edges are links between them.
59
00:03:55,380 --> 00:03:56,320
In many situations,
60
00:03:56,320 --> 00:04:00,150
we may choose to associate numbers
with the edges in the graph.
61
00:04:00,150 --> 00:04:04,190
For example, in the Toll Chart example
that we were talking about previously,
62
00:04:04,190 --> 00:04:06,970
we chose to associate numerical
values with each of those
63
00:04:06,970 --> 00:04:10,700
edges which corresponded to
the tolls that we would have to pay.
64
00:04:10,700 --> 00:04:14,910
We're going to be doing this quite a bit
in our various motion planning problems
65
00:04:14,910 --> 00:04:16,170
where these edge-awaits,
66
00:04:16,170 --> 00:04:21,209
we'll refer to costs or distances that
we might be interested in minimizing.
67
00:04:23,520 --> 00:04:27,440
If we go back to our pacman problem,
we can implicitly associate
68
00:04:27,440 --> 00:04:31,950
a unit distance or cost with each of the
edges between adjacent nodes in our graph.
69
00:04:34,350 --> 00:04:38,430
Now that we've abstracted our
PacMan problem to a graph,
70
00:04:38,430 --> 00:04:41,400
our problem is one of finding
a path from one node in the graph,
71
00:04:41,400 --> 00:04:44,720
the start node to another node,
the end node.
72
00:04:45,720 --> 00:04:49,660
In this setting a path is simply
a sequence of consecutive edges
73
00:04:49,660 --> 00:04:51,270
that lead from one node to another.
74
00:04:53,020 --> 00:04:56,070
Immediately, you'll notice that there
may be many different paths that would
75
00:04:56,070 --> 00:04:56,850
solve this problem.
76
00:04:58,130 --> 00:05:03,640
Often we are interested in finding
a path that minimizes some cost or
77
00:05:03,640 --> 00:05:04,990
distance metric.
78
00:05:04,990 --> 00:05:09,279
So, for instance, we may be interested in
finding the path from the start node to
79
00:05:09,279 --> 00:05:12,009
the end node that uses
the minimum number of edges.7458
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.