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

af Afrikaans
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
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
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
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.