All language subtitles for 01_3-1-introduction-to-probabilistic-road-maps.en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic Download
hy Armenian Download
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,000 --> 00:00:02,953 [MUSIC] 2 00:00:02,953 --> 00:00:10,080 In the previous module, we talked about configuration space, and 3 00:00:10,080 --> 00:00:15,458 we discussed the idea of a collision check function 4 00:00:15,458 --> 00:00:20,584 that could be used to decide whether a given point 5 00:00:20,584 --> 00:00:25,730 in configuration space was in free space or not. 6 00:00:25,730 --> 00:00:30,267 By checking whether that configuration led to a collision with the obstacles in 7 00:00:30,267 --> 00:00:31,780 the work space. 8 00:00:31,780 --> 00:00:36,325 We also talked about the idea of a simple planning scheme that worked by using 9 00:00:36,325 --> 00:00:40,730 the collision check function to sample the configuration space at a set of 10 00:00:40,730 --> 00:00:43,660 regularly spaced discreet locations on a grid. 11 00:00:43,660 --> 00:00:46,732 Linking adjacent points in free space with edges, and 12 00:00:46,732 --> 00:00:49,756 then using this graph to plan pass through the space. 13 00:00:49,756 --> 00:00:54,970 This approach of discreetizing the configuration space evenly on a grid, 14 00:00:54,970 --> 00:01:00,320 can work well when the dimension of the space is small, say two or three. 15 00:01:00,320 --> 00:01:04,150 But the number of samples required can grow to be frighteningly large 16 00:01:04,150 --> 00:01:08,860 as we increase the dimension of the space to five, six, eight, ten, or beyond. 17 00:01:09,930 --> 00:01:14,440 An alternative idea for dealing with these situations is to choose the points 18 00:01:14,440 --> 00:01:18,400 in the configuration space randomly instead of uniformly. 19 00:01:18,400 --> 00:01:20,980 In the hope that we will choose a set of configurations that 20 00:01:20,980 --> 00:01:23,990 capture the underlying structure of the free space. 21 00:01:23,990 --> 00:01:26,970 This set of slides illustrates the basic idea 22 00:01:26,970 --> 00:01:29,360 on a two dimensional configuration space. 23 00:01:29,360 --> 00:01:34,680 On every iteration, the system chooses a configuration in the configuration space 24 00:01:34,680 --> 00:01:39,080 at random, and tests whether it is in free space using the collision check function. 25 00:01:40,250 --> 00:01:43,200 In this figure, the new random node is the green dot. 26 00:01:44,870 --> 00:01:50,060 If it is in free space, it then tries to see if it can forge routes 27 00:01:50,060 --> 00:01:54,830 between this new configuration and the closest existing samples in the graph. 28 00:01:55,840 --> 00:01:59,910 Every path that it creates is recorded as a new edge in the graph 29 00:01:59,910 --> 00:02:00,770 that the system is building. 30 00:02:02,300 --> 00:02:03,100 In this figure, 31 00:02:03,100 --> 00:02:07,710 the solid green lines correspond to new links that are added, while the dashed 32 00:02:07,710 --> 00:02:11,710 green line represents a connection that failed due to collision with the obstacle. 33 00:02:12,810 --> 00:02:15,487 Here's the basic outline of the procedure in pseudo code. 34 00:02:17,320 --> 00:02:22,160 Again, our goal here is to construct a graph of configuration space points and 35 00:02:22,160 --> 00:02:25,320 edges that capture the underlying topology of the freespace. 36 00:02:26,670 --> 00:02:30,050 We can think of the edges between the random samples as roadways 37 00:02:30,050 --> 00:02:32,990 that form a network that hopefully spans this freespace. 38 00:02:35,010 --> 00:02:39,750 This helps to explain why we call this procedure the Probabilistic Road Map 39 00:02:39,750 --> 00:02:41,660 method, or PRM for short. 40 00:02:41,660 --> 00:02:47,080 Probabilistic to reflect the stochastic nature of the process and road map for 41 00:02:47,080 --> 00:02:51,550 the graph that the procedure constructs which we hope will serve as a road map for 42 00:02:51,550 --> 00:02:52,930 the freespace. 43 00:02:52,930 --> 00:02:55,970 Note that this procedure requires two ingredients. 44 00:02:55,970 --> 00:02:59,910 Firstly, a distance function that considers the configuration space 45 00:02:59,910 --> 00:03:05,360 coordinates of two points, x1 and x2, and returns a real number 46 00:03:05,360 --> 00:03:09,510 which is supposed to be reflective of the distance between those two configurations. 47 00:03:11,170 --> 00:03:15,896 Often, this can be done pretty simply by computing standard functions like the L1 48 00:03:15,896 --> 00:03:17,730 or L2 distances as shown here. 49 00:03:21,380 --> 00:03:23,760 For robots that involve rotational joints, 50 00:03:23,760 --> 00:03:27,890 you usually need to be a bit more careful to handle wrap around correctly so that 51 00:03:27,890 --> 00:03:32,480 your distance function correctly captures the topology of the configuration space. 52 00:03:33,530 --> 00:03:38,849 For example, if theta 1 and theta 2 are two angular values in degrees between 53 00:03:38,849 --> 00:03:44,249 0 and 360, you may choose to use a distance function like this that captures 54 00:03:44,249 --> 00:03:49,260 the fact that 0 and 360 actually correspond to the same orientation. 55 00:03:53,060 --> 00:03:56,722 The other element of the PRM procedure is a local planner, 56 00:03:56,722 --> 00:04:01,220 which decides whether there is a path between two points, x1 and x2. 57 00:04:01,220 --> 00:04:06,068 A common way to handle this is to construct a set of evenly spaced 58 00:04:06,068 --> 00:04:11,300 samples on a straight line between the two configurations. 59 00:04:11,300 --> 00:04:13,900 And to use the collision check function to check that 60 00:04:13,900 --> 00:04:16,970 all of these intermediate configurations are collision free. 61 00:04:18,040 --> 00:04:22,830 So in this example, the local planet would decide that there is a path 62 00:04:22,830 --> 00:04:24,372 between the two points in question. 63 00:04:26,680 --> 00:04:29,810 While in the second case, it would decide that there isn't. 64 00:04:32,570 --> 00:04:35,870 If the sampling between the two endpoints is fine enough, 65 00:04:35,870 --> 00:04:38,530 this procedure is usually sufficient. 66 00:04:38,530 --> 00:04:41,200 Once the PRM procedure has generated 67 00:04:41,200 --> 00:04:45,630 what we believe to be a sufficient sampling of the configuration space, 68 00:04:45,630 --> 00:04:50,920 we can try to generate paths between designated start and end configurations. 69 00:04:50,920 --> 00:04:53,920 We start off by attempting to connect the start and 70 00:04:53,920 --> 00:04:57,040 goal configurations to nearby nodes on the roadmap. 71 00:04:58,360 --> 00:05:00,420 If this step succeeds, 72 00:05:00,420 --> 00:05:03,880 one can then attempt to find a path between the start and 73 00:05:03,880 --> 00:05:09,666 end nodes via the road map using our usual suite of graph-based planning algorithms. 74 00:05:09,666 --> 00:05:13,260 Like [INAUDIBLE] method or A star. 75 00:05:13,260 --> 00:05:17,660 This second phase, where we are planning a path between two specific locations 76 00:05:17,660 --> 00:05:20,250 is referred to as the query phase. 77 00:05:20,250 --> 00:05:23,830 This first slide shows the original probabilistic road map 78 00:05:23,830 --> 00:05:25,480 constructing via random sampling. 79 00:05:27,430 --> 00:05:31,685 The next slide shows the road map augmented with the start and end notes, 80 00:05:31,685 --> 00:05:35,050 which are attached to the road map using the green edges. 81 00:05:37,577 --> 00:05:42,230 This final version shows the path planned through this augmented graph. 82 00:05:46,141 --> 00:05:49,186 Note that once the road map has been constructed, 83 00:05:49,186 --> 00:05:53,330 it can be used to answer various path planning problems. 84 00:05:53,330 --> 00:05:55,840 So the cost of constructing the road map graph 85 00:05:55,840 --> 00:05:59,010 can be amortized over multiple queries. 86 00:05:59,010 --> 00:06:01,940 This is great if you're going to be running your robot back and 87 00:06:01,940 --> 00:06:03,160 forth through the same environment.8091

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.