SLAM PP 06
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 76 | |
Author | ||
License | CC Attribution - NonCommercial - NoDerivatives 3.0 Germany: You are free to use, copy, distribute and transmit the work or content in unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/49044 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | |
Genre |
SLAM and path planning13 / 76
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
00:00
Sample (statistics)Implementation
00:08
Mathematical optimizationDijkstra's algorithmDiagram
00:16
Dijkstra's algorithmMathematical optimizationDiagram
00:20
Dijkstra's algorithmMathematical optimizationDirection (geometry)Sound effectMultiplication signThermal expansionMathematicsSet (mathematics)Maxima and minimaDijkstra's algorithmExtension (kinesiology)Mereology
01:04
Mathematical optimizationDijkstra's algorithmDiagram
01:09
Mathematical optimizationDijkstra's algorithmStatisticsDiagram
01:17
Mathematical optimizationDijkstra's algorithmSpacetimeDiagram
01:22
Mathematical optimizationDijkstra's algorithmSample (statistics)Diagram
01:27
Mathematical optimizationNumberCellular automatonArea
01:39
Dijkstra's algorithmMathematical optimizationSet (mathematics)DistanceDirection (geometry)Cellular automatonMeasurementCASE <Informatik>
02:05
Mathematical optimizationDijkstra's algorithmMaizeDiagram
02:12
Mathematical optimizationSample (statistics)Dijkstra's algorithmDiagram
02:20
Dijkstra's algorithmSample (statistics)XML
02:25
Mathematical optimizationDijkstra's algorithmAlgorithmXML
02:31
Sample (statistics)Dijkstra's algorithmXML
02:38
Mathematical optimizationDijkstra's algorithmDirection (geometry)AlgorithmMultiplication signDistanceMoment (mathematics)Point (geometry)
03:34
AlgorithmChi-squared distributionMereologyDirection (geometry)InformationPoint (geometry)Boundary value problemCASE <Informatik>DistanceDifferent (Kate Ryan album)Multiplication signMoment (mathematics)Set (mathematics)NeuroinformatikSystem callComputer animation
04:48
Set (mathematics)CASE <Informatik>DistanceResultantDirection (geometry)EstimatorGraph (mathematics)AlgorithmBoundary value problemLine (geometry)Object (grammar)Insertion lossComputer animation
Transcript: English(auto-generated)
00:00
We now have a pretty cool implementation of Dijkstra's algorithm So set the start, set the goal Now you will see not only all visited nodes but also the actual path that is taken from start to goal Let's set a different goal And now let me show you something interesting Say if you go from here to there
00:23
Then you have this total cost But as you see, Dijkstra's algorithm not only expands towards the goal But it also expands of course the same amount in every direction And so if I put an obstacle here This will not change anything regarding the total cost
00:42
It changes the search expansion down here of course But if you watched here, this frontier didn't actually change Now this changes when I start to force the minimum path to get longer Then not only this path is longer but also as you have seen if you watched carefully The set of visited nodes expands in all directions
01:05
And so this means it gets very costly If the path to the goal gets longer Especially say you have a kind of a dead end road Then you see search space expands so that for this slight detour here
01:32
We have to expand the huge number of cells in this left area here Also let me show something else which is quite interesting Say our goal is here
01:41
Then we get this path Now if I block this path You would assume that the set of visited cells gets larger in all directions But it doesn't This is because Due to our distance measure All those paths have exactly the same distance Until we hit this upper bound here
02:04
In which case the set of visited cells expands again Now just for fun let's do our maze again
02:23
And indeed as you see The algorithm works And shows us the shortest path From start to the goal Now let's come back to this situation Where we go from the start to the goal
02:41
And we see that the algorithm expands all the nodes Not only in the direction towards the goal But also in the opposite direction So this seems somehow strange Because by the very moment you are almost here You also look at nodes which are for example here And so it seems not possible that when you are almost at the goal here
03:02
That then another node which is expanded at the same time back here Will still have a chance to come up with a path that reaches the goal When this node is so far away In fact the direct distance from here to here Would be about two times the distance from start to goal
03:22
So how can we improve our search so that Nodes are expanded in the direction to the goal And not so much in the direction away from the goal Let's have a look Let's first have a look at the Dijkstra algorithm once more So at a certain point in time When we started at the start node
03:42
We arrived at a situation like this Where this is the set of visited nodes And all the nodes which are close to the boundary Have a similar cost And now if we ask ourselves if we should add this node next To the set of visited nodes We check for the minimum cost Where the cost in this case is the path from that node to the start
04:05
So using Dijkstra's criteria We will have a cost of this node Which we will call Chi for the moment Which is the cost from start to end And this is kind of backwards looking Because if this is the goal Then obviously the algorithm is expanding in the wrong direction
04:23
Which is due to the fact that any distance to the goal Is not part of our computation here But it makes sense to use this cost Because this is actually computed by the algorithm And it is exactly known Whereas I don't have any information Regarding how far it is from this node
04:42
To get to this goal Because I didn't see the goal yet So now let's think about a different solution Let's say we'll make a greedy solution So say I start here And my goal is to get here With nodes and edges being around here everywhere So what about the following? When looking at the direct neighbors of S
05:01
I pick the one which gets me closest to G And then starting from that node I'll check the neighbors And again I pick the one that gets me closest towards G Again I check the neighbors Pick the closest one And again pick the closest one And I reach my goal Now if you look at the boundary of my set of nodes in visited
05:21
You see that we expanded far less nodes Than we would have expanded in the case When we had used the Dijkstra algorithm So in the greedy case We use the following cost We'll just say this is H Well that's the distance to the goal But we don't know the distance to the goal So an estimate distance to the goal
05:41
And what we used here is The direct line Without knowing how the underlying graph actually looks like Now we expanded far less nodes here But on the other hand Is the result still optimal?