Afrikaans
Akan
Albanian
Amharic
Armenian
Azerbaijani
Basque
Belarusian
Bemba
Bengali
Bihari
Bosnian
Breton
Bulgarian
Cambodian
Catalan
Cebuano
Cherokee
Chichewa
Chinese (Simplified)
Chinese (Traditional)
Corsican
Croatian
Czech
Danish
Dutch
English
Esperanto
Estonian
Ewe
Faroese
Filipino
Finnish
French
Frisian
Ga
Galician
Georgian
German
Greek
Guarani
Gujarati
Haitian Creole
Hausa
Hawaiian
Hebrew
Hindi
Hmong
Hungarian
Icelandic
Igbo
Indonesian
Interlingua
Irish
Italian
Japanese
Javanese
Kannada
Kazakh
Kinyarwanda
Kirundi
Kongo
Korean
Krio (Sierra Leone)
Kurdish
Kurdish (Soranî)
Kyrgyz
Laothian
Latin
Latvian
Lingala
Lithuanian
Lozi
Luganda
Luo
Luxembourgish
Macedonian
Malagasy
Malay
Malayalam
Maltese
Maori
Marathi
Mauritian Creole
Moldavian
Mongolian
Myanmar (Burmese)
Montenegrin
Nepali
Nigerian Pidgin
Northern Sotho
Norwegian
Norwegian (Nynorsk)
Occitan
Oriya
Oromo
Pashto
Persian
Polish
Portuguese (Brazil)
Portuguese (Portugal)
Punjabi
Quechua
Romanian
Romansh
Runyakitara
Russian
Samoan
Scots Gaelic
Serbian
Serbo-Croatian
Sesotho
Setswana
Seychellois Creole
Shona
Sindhi
Sinhalese
Slovak
Slovenian
Somali
Spanish
Spanish (Latin American)
Sundanese
Swahili
Swedish
Tajik
Tamil
Tatar
Telugu
Thai
Tigrinya
Tonga
Tshiluba
Tumbuka
Turkish
Turkmen
Twi
Uighur
Ukrainian
Urdu
Uzbek
Vietnamese
Welsh
Wolof
Xhosa
Yiddish
Yoruba
Zulu
Previously, we have seen a localization method based on
particles that have a three-dimensional state of x, y, and eo.
This captures a ground robot.
However, when not constrained to the ground,
a post has six degrees of freedom which requires exponentially more
points to be sampled in order to produce reasonable registration performance.
Instead of relying on particles, we can use a direct optimization
to find the registration between our measurements and the map.
After reviewing what we have learned in the previous weeks,
I will introduce the ICP, Iterative Closest Point algorithm,
as well as odometry for three dimensional localization.
Let us start with a brief review of the expectation maximization
algorithm from week one.
We have seen that this algorithm is useful for complicated optimizations,
such as the gaussian mixture model parameter estimation problem.
With the introduction of an initial guess coupled with the latent variable,
usually expressing membership.
We are able to obtain a local optimal solution for a given problem.
We will shortly see that the iterative closest point algorithm
works in the same fashion.
What we learned in week 3 is as follows.
First we observe a 3D point cloud from 3D sensors.
This figure shows an example from a depth camera.
A 3D map is usually represented as a tree structure instead of as a full grid
as done in two dimensions.
This is in order to have efficient means.
The map can keep the full precision of point location.
Due to the special organization, we can speed up the finding
of the closest point to a given point in each map update.
Now we will look at this in detail, we have two sets of points,
one of them is a point cloud as a measurement and
the other is a point cloud of the map model.
Our goal is to put the newly measured points into the right place on
the map model.
In order to do so, we need to find a rotation and
translation that move the measured points to match the model points.
Additionally, we need to know which measurement points correspond to
which points in the model.
We can visually detect the corresponding parts in this example.
However, for a robot with tens of thousands of noisy points it
is not obvious to see the possible matching pattern.
Now let's look at how ICP handles these
two problems in an expectation maximization framework.
The strategy of the ICP algorithm takes an optimistic
assumption that the point sets are close enough.
In this way we have a good prior of the rotation r and translation, t.
Under this assumption,
the correspondence of a point will be the closest point to that one.
In this way,
we will find closest points of all measured points corresponding to the map.
When a map has a tree structure,
this process is much faster than a brute force search.
Once we have our correspondences, we can enhance our estimate of R and
t, by solving this optimization.
If you are interested,
the cited paper gives details of the solution in order to obtain R and t.
It's good practice.
After each iteration We will have better and
better correspondences in addition to better registrations.
We iterate this until it converges.
Once it does, we can obtain the rotation and
translation between the two sets of points.
Let me show you an example with two sequential point clouds obtained from
a depth camera while a quadrotor is flying in a room.
Since the robot was moving in the yellow direction,
the scene from the body looks rotated around the z axis.
Now, we want to register the two sets to become a single, consistent point cloud.
This short animation shows how the ICP algorithm
converges to a local minimum after an iteration.
Through registration, we are computing the motion increment of the robot.
As we did in scan matching in the previous lecture, this gives a reference
location for the robot with respect to points that are known.
Although we need a pretty close initial alignment this algorithm
is widely used in many robotic applications,
including three dimensional simultaneous localization and mapping.
We have seen how the ICP algorithm could be used for localization with 3D sensors.
There are many variants of this algorithm according to
different optimization formulas different ways to choose correspondences and
different ways to reject bad points.
In general this has been a good overview of many different localization techniques.
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.