Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
1
00:00:05,677 --> 00:00:09,924
Previously, we have seen
a localization method based on
2
00:00:09,924 --> 00:00:14,884
particles that have a three-dimensional
state of x, y, and eo.
3
00:00:14,884 --> 00:00:17,258
This captures a ground robot.
4
00:00:17,258 --> 00:00:20,829
However, when not
constrained to the ground,
5
00:00:20,829 --> 00:00:25,919
a post has six degrees of freedom
which requires exponentially more
6
00:00:25,919 --> 00:00:32,007
points to be sampled in order to produce
reasonable registration performance.
7
00:00:32,007 --> 00:00:36,997
Instead of relying on particles,
we can use a direct optimization
8
00:00:36,997 --> 00:00:41,820
to find the registration between
our measurements and the map.
9
00:00:41,820 --> 00:00:46,369
After reviewing what we have
learned in the previous weeks,
10
00:00:46,369 --> 00:00:51,185
I will introduce the ICP,
Iterative Closest Point algorithm,
11
00:00:51,185 --> 00:00:55,574
as well as odometry for
three dimensional localization.
12
00:00:55,574 --> 00:01:00,066
Let us start with a brief review
of the expectation maximization
13
00:01:00,066 --> 00:01:01,904
algorithm from week one.
14
00:01:01,904 --> 00:01:07,135
We have seen that this algorithm is
useful for complicated optimizations,
15
00:01:07,135 --> 00:01:11,804
such as the gaussian mixture model
parameter estimation problem.
16
00:01:11,804 --> 00:01:17,024
With the introduction of an initial
guess coupled with the latent variable,
17
00:01:17,024 --> 00:01:19,364
usually expressing membership.
18
00:01:19,364 --> 00:01:24,941
We are able to obtain a local optimal
solution for a given problem.
19
00:01:24,941 --> 00:01:29,644
We will shortly see that
the iterative closest point algorithm
20
00:01:29,644 --> 00:01:31,694
works in the same fashion.
21
00:01:31,694 --> 00:01:34,270
What we learned in week 3 is as follows.
22
00:01:34,270 --> 00:01:38,937
First we observe a 3D point
cloud from 3D sensors.
23
00:01:38,937 --> 00:01:43,581
This figure shows an example
from a depth camera.
24
00:01:43,581 --> 00:01:48,537
A 3D map is usually represented as a tree
structure instead of as a full grid
25
00:01:48,537 --> 00:01:50,357
as done in two dimensions.
26
00:01:50,357 --> 00:01:54,870
This is in order to have efficient means.
27
00:01:54,870 --> 00:01:58,317
The map can keep the full
precision of point location.
28
00:01:58,317 --> 00:02:02,907
Due to the special organization,
we can speed up the finding
29
00:02:02,907 --> 00:02:07,144
of the closest point to a given
point in each map update.
30
00:02:07,144 --> 00:02:11,939
Now we will look at this in detail,
we have two sets of points,
31
00:02:11,939 --> 00:02:15,539
one of them is a point
cloud as a measurement and
32
00:02:15,539 --> 00:02:18,890
the other is a point
cloud of the map model.
33
00:02:20,650 --> 00:02:25,490
Our goal is to put the newly measured
points into the right place on
34
00:02:25,490 --> 00:02:26,634
the map model.
35
00:02:26,634 --> 00:02:30,495
In order to do so,
we need to find a rotation and
36
00:02:30,495 --> 00:02:36,337
translation that move the measured
points to match the model points.
37
00:02:36,337 --> 00:02:41,113
Additionally, we need to know which
measurement points correspond to
38
00:02:41,113 --> 00:02:42,951
which points in the model.
39
00:02:42,951 --> 00:02:46,916
We can visually detect the corresponding
parts in this example.
40
00:02:49,087 --> 00:02:54,050
However, for a robot with tens
of thousands of noisy points it
41
00:02:54,050 --> 00:02:58,354
is not obvious to see
the possible matching pattern.
42
00:02:58,354 --> 00:03:01,296
Now let's look at how ICP handles these
43
00:03:01,296 --> 00:03:05,677
two problems in an expectation
maximization framework.
44
00:03:05,677 --> 00:03:10,340
The strategy of the ICP
algorithm takes an optimistic
45
00:03:10,340 --> 00:03:14,697
assumption that the point
sets are close enough.
46
00:03:14,697 --> 00:03:21,351
In this way we have a good prior of
the rotation r and translation, t.
47
00:03:21,351 --> 00:03:23,241
Under this assumption,
48
00:03:23,241 --> 00:03:28,374
the correspondence of a point will
be the closest point to that one.
49
00:03:28,374 --> 00:03:29,402
In this way,
50
00:03:29,402 --> 00:03:35,487
we will find closest points of all
measured points corresponding to the map.
51
00:03:35,487 --> 00:03:38,059
When a map has a tree structure,
52
00:03:38,059 --> 00:03:42,451
this process is much faster
than a brute force search.
53
00:03:42,451 --> 00:03:48,082
Once we have our correspondences,
we can enhance our estimate of R and
54
00:03:48,082 --> 00:03:50,951
t, by solving this optimization.
55
00:03:50,951 --> 00:03:52,616
If you are interested,
56
00:03:52,616 --> 00:03:57,621
the cited paper gives details of
the solution in order to obtain R and t.
57
00:03:57,621 --> 00:03:58,921
It's good practice.
58
00:04:00,901 --> 00:04:03,905
After each iteration We
will have better and
59
00:04:03,905 --> 00:04:08,297
better correspondences in
addition to better registrations.
60
00:04:08,297 --> 00:04:11,251
We iterate this until it converges.
61
00:04:11,251 --> 00:04:13,900
Once it does,
we can obtain the rotation and
62
00:04:13,900 --> 00:04:16,631
translation between
the two sets of points.
63
00:04:16,631 --> 00:04:21,287
Let me show you an example with two
sequential point clouds obtained from
64
00:04:21,287 --> 00:04:24,661
a depth camera while a quadrotor
is flying in a room.
65
00:04:24,661 --> 00:04:28,699
Since the robot was moving
in the yellow direction,
66
00:04:28,699 --> 00:04:33,027
the scene from the body looks
rotated around the z axis.
67
00:04:33,027 --> 00:04:38,427
Now, we want to register the two sets to
become a single, consistent point cloud.
68
00:04:38,427 --> 00:04:42,609
This short animation shows
how the ICP algorithm
69
00:04:42,609 --> 00:04:46,901
converges to a local
minimum after an iteration.
70
00:04:46,901 --> 00:04:51,627
Through registration, we are computing
the motion increment of the robot.
71
00:04:51,627 --> 00:04:56,349
As we did in scan matching in the previous
lecture, this gives a reference
72
00:04:56,349 --> 00:05:00,321
location for the robot with
respect to points that are known.
73
00:05:00,321 --> 00:05:04,693
Although we need a pretty close
initial alignment this algorithm
74
00:05:04,693 --> 00:05:07,793
is widely used in many
robotic applications,
75
00:05:07,793 --> 00:05:12,654
including three dimensional
simultaneous localization and mapping.
76
00:05:12,654 --> 00:05:17,834
We have seen how the ICP algorithm could
be used for localization with 3D sensors.
77
00:05:17,834 --> 00:05:21,067
There are many variants of
this algorithm according to
78
00:05:21,067 --> 00:05:25,849
different optimization formulas different
ways to choose correspondences and
79
00:05:25,849 --> 00:05:28,110
different ways to reject bad points.
80
00:05:28,110 --> 00:05:32,703
In general this has been a good overview
of many different localization techniques.7081
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.