All language subtitles for 03_3-2-3-handling-range-sensor.en

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
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:04,521 --> 00:00:09,380 In this lecture, I will continue talking about occupancy grid mapping. 2 00:00:10,460 --> 00:00:15,251 We will see how to incorporate range sensors. 3 00:00:15,251 --> 00:00:16,889 In the previous lecture, 4 00:00:16,889 --> 00:00:20,470 we had this example of two sequential updates of the map. 5 00:00:21,930 --> 00:00:27,080 This example, you readily localize the robot on the global map 6 00:00:27,080 --> 00:00:29,520 assuming the pose of the robot is known. 7 00:00:30,910 --> 00:00:36,030 We are going to keep the assumption in order to focus on the mapping problem. 8 00:00:36,030 --> 00:00:39,580 However, we still need to transform the sensor data 9 00:00:39,580 --> 00:00:42,570 measured in the body frame into the global map frame. 10 00:00:43,800 --> 00:00:48,244 If you're familiar with coordinate transformations between 2 different frames 11 00:00:48,244 --> 00:00:51,617 and dealing with 2D arrays, then you may skip this lecture. 12 00:00:53,939 --> 00:00:56,310 Let me show what coordinate frames we have. 13 00:00:57,590 --> 00:01:00,730 This is the map and the coordinate frame is attached to it. 14 00:01:02,070 --> 00:01:05,458 The origin does not need to be the top left corner. 15 00:01:05,458 --> 00:01:09,490 This follows the MATLAB convention represent an image array. 16 00:01:11,930 --> 00:01:13,260 This is our mobile robot. 17 00:01:14,490 --> 00:01:17,820 We may assign a body fix coordinate frame as shown. 18 00:01:19,870 --> 00:01:21,250 This example, 19 00:01:21,250 --> 00:01:26,180 the ray from the range sensor is emitted along the first axis of the body frame. 20 00:01:27,530 --> 00:01:31,330 Let's imagine that we received a distance measurements d. 21 00:01:32,730 --> 00:01:35,730 Then, how can we tell which cell is hit by the ray, and 22 00:01:35,730 --> 00:01:37,740 which cells are observed to be free? 23 00:01:39,740 --> 00:01:45,030 To answer the questions, we will first consider a continuous version of the map. 24 00:01:45,030 --> 00:01:48,164 And we turn to the discretizedmap later. 25 00:01:50,243 --> 00:01:53,839 If we know where the robot is located on the map, and 26 00:01:53,839 --> 00:01:59,460 which direction it is heading, then we can place the robot on the map like this. 27 00:02:02,010 --> 00:02:05,130 To find the coordinates of the obstructing point, 28 00:02:05,130 --> 00:02:08,840 we use the distance measurements in the known pose of the robot. 29 00:02:10,720 --> 00:02:15,410 Up to this point, we use the continuous representation for the position. 30 00:02:17,910 --> 00:02:22,510 However, the map we are going to build should be represented as 31 00:02:22,510 --> 00:02:25,730 discretized cells of a certain resolution. 32 00:02:27,520 --> 00:02:31,614 Let's think about how to express a location on the grid. 33 00:02:33,309 --> 00:02:39,140 Consider a 1D case and take the example where the grid resolution is 10 centimeters. 34 00:02:41,000 --> 00:02:42,929 Any point between 0 and 35 00:02:42,929 --> 00:02:47,505 10 on the continuous domain will be mapped to the index 1. 36 00:02:49,350 --> 00:02:54,624 In this example, we follow the MATLAB convention where an index starts from 1. 37 00:02:56,830 --> 00:03:02,665 A point between 10 and 20 centimeters will be mapped to the index 2. 38 00:03:05,230 --> 00:03:09,940 We can continue to obtain the index of any point within the given line segment. 39 00:03:12,370 --> 00:03:16,750 Or another example, the grid revolution can be 7 centimeters. 40 00:03:17,920 --> 00:03:22,863 In this case, any point between 0 and 7 centimeters on 41 00:03:22,863 --> 00:03:27,819 the continuous domain, will be mapped to the index 1. 42 00:03:27,819 --> 00:03:33,170 A point between 7 and 14 will be mapped to the index 2. 43 00:03:33,170 --> 00:03:37,028 For a given r, the index of a point x is 44 00:03:37,028 --> 00:03:41,644 computed as the ceiling integer of x over r. 45 00:03:44,361 --> 00:03:49,526 To generalize, if a line segment starts from some other value than 0, 46 00:03:49,526 --> 00:03:55,380 then we just need to subtract the minimum value from x, when we compute the index. 47 00:03:57,790 --> 00:04:02,270 Getting back to our 2D map, computing the position of the grid map does 48 00:04:02,270 --> 00:04:06,850 not get more complicated than the 1D case. 49 00:04:06,850 --> 00:04:11,444 Each component, X1 and X2, can be treated independently for 50 00:04:11,444 --> 00:04:14,941 the computation of the index pair, I1 and I2. 51 00:04:17,600 --> 00:04:24,857 Let me summarize how to obtain the 2D grid indices of the occupied cell. 52 00:04:24,857 --> 00:04:29,050 What is given is the distance measurement d and the pose of the robot. 53 00:04:31,120 --> 00:04:34,840 From that, we can first compute the location of 54 00:04:34,840 --> 00:04:37,680 the obstructing point on the continuous domain. 55 00:04:39,250 --> 00:04:44,110 Then, we compute the indices of the point on the discretized map of resolution R. 56 00:04:46,553 --> 00:04:51,880 Next, we will need to calculate the indices of free empty cells. 57 00:04:53,390 --> 00:04:59,277 For each, we are going to use Bresenham's line algorithm. 58 00:04:59,277 --> 00:05:02,110 We will now talk about the algorithm itself here. 59 00:05:02,110 --> 00:05:07,900 An implementation of this algorithm will be provided as a helper function. 60 00:05:10,350 --> 00:05:16,460 Basically the algorithm takes two points as the input argument and returns a list of 61 00:05:16,460 --> 00:05:21,280 cells that forms an approximation for a line segment between the two points. 62 00:05:24,610 --> 00:05:29,050 So far we have treated a sensor as a single ray. 63 00:05:29,050 --> 00:05:31,140 But in more realistic settings, 64 00:05:31,140 --> 00:05:34,640 it has multiple rays emitted in different directions. 65 00:05:36,110 --> 00:05:37,180 Let's look at those cases. 66 00:05:39,560 --> 00:05:46,230 Let's say the sensor emits five rays in the indicated heading angles alphas. 67 00:05:46,230 --> 00:05:47,680 With respect to the body frame. 68 00:05:50,240 --> 00:05:52,750 Each ray gives the distance as shown. 69 00:05:55,270 --> 00:05:58,730 If the poles of the robot is known as before, 70 00:05:58,730 --> 00:06:03,460 the position of the cells hit by the rays can be computed in the same way. 71 00:06:05,150 --> 00:06:10,005 But in this case, the direction of each ray is taken into the computation. 72 00:06:16,645 --> 00:06:23,520 You can use the Bresenham's algorithm for individual ways to find free empty cells. 73 00:06:23,520 --> 00:06:24,860 And take the union of them. 74 00:06:26,630 --> 00:06:30,730 We have seen examples to learn how to interpret range sensor readings. 75 00:06:31,900 --> 00:06:36,070 Now, I suppose you are ready to start the programming assignment for this week. 76 00:06:37,120 --> 00:06:41,614 I will also continue to introduce how 3D mapping differs from 2D 77 00:06:41,614 --> 00:06:43,667 mapping in the next lecture.7062

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