CS686: Path Planning for Point Robots
Transcript of CS686: Path Planning for Point Robots
![Page 1: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/1.jpg)
CS686:Path Planning for Point Robots
Sung-Eui Yoon(윤성의)
Course URL:http://sgvr.kaist.ac.kr/~sungeui/MPA
![Page 2: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/2.jpg)
2
Class Objectives● Motion planning framework
● Representations of robots and space● Discretization into a graph ● Search methods● Ch. 2 of my book
● Last time● Class overview and grading policy w/ HWs:
research oriented course● Half lectures and half presentations from
students
![Page 3: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/3.jpg)
3
Some Announcement● Student stat.
● CS (70%), Robotics (30%), no ME/EE (this year)
● Expect to see diverse topics!!!● Think about possible team mates
● 1 member to 3 members for each team
● Quiz on the prior homework● https://forms.gle/9i8sh6eF6hiKVw5JA
![Page 4: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/4.jpg)
4 Courtesy of Prof. David Hsu
![Page 5: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/5.jpg)
5
free space
start
goal
free path
Problem
![Page 6: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/6.jpg)
6
semi-free path
Problem
![Page 7: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/7.jpg)
7
Types of Path Constraints● Local constraints
● Lie in free space ● Global constraints
● Have minimal length● Differential constraints
● Cannot change the car orientation instantly
See Ch. 4 (Kinematic Car Model) of my drafthttp://sgvr.kaist.ac.kr/~sungeui/mp/
![Page 8: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/8.jpg)
8
Configuration Space:Tool to Map a Robot to a Point
Workspace Configuration space(C-Space)
![Page 9: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/9.jpg)
9
Continuous representation(configuration space formulation)
Discretization(random sampling, processing critical geometric events)
Graph searching(blind, best-first, A*)
Motion-Planning Framework
![Page 10: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/10.jpg)
10
![Page 11: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/11.jpg)
11
Visibility Graph
● A visibility graph is a graph such that● Nodes: s, g, or obstacle vertices● Edges: An edge exists between nodes u and v if
the line segment between u and v is an obstacle edges or it does not intersect the obstacles
g
s
![Page 12: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/12.jpg)
12
Visibility Graph
● A visibility graph● Introduced in the late 60s● Can produce shortest paths in 2-D
configuration spaces
g
s
![Page 13: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/13.jpg)
13
Simple Algorithm● Input: s, q, polygonal obstacles● Output: visibility graph G
1: for every pair of nodes u, v2: if segment (u, v) is an obstacle edge then3: insert edge (u, v) into G;4: else5: for every obstacle edge e6: if segment (u, v) intersects e7: go to (1);8: insert edge (u, v) into G;9: Search a path with G using A*
// check collisions
![Page 14: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/14.jpg)
14
Computation Efficiency1: for every pair of nodes u, v2: if segment (u, v) is an obstacle edge then3: insert edge (u, v) into G;4: else5: for every obstacle edge e6: if segment (u, v) intersects e7: go to (1);8: insert edge (u, v) into G;
● Simple algorithm: O(n3) time● More efficient algorithms
● Rotational sweep O(n2 log n) time, etc.● O(n2) space
O(n2)O(n)
O(n)
![Page 15: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/15.jpg)
15
Continuous representation(configuration space formulation)
Discretization(random sampling, processing critical geometric events)
Graph searching(blind, best-first, A*)
Motion-Planning Framework
![Page 16: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/16.jpg)
16
Graph Search Algorithms● Breadth, depth-first, best-first● Dijkstra’s algorithm● A*
![Page 17: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/17.jpg)
17
![Page 18: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/18.jpg)
18
![Page 19: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/19.jpg)
19
![Page 20: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/20.jpg)
20
Traverse the graph by using the queue, resulting in the level-by-level traversal
![Page 21: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/21.jpg)
21
Dijkstra’s Shortest Path Algorithm● Given a (non-negative) weighted graph,
two vertices, s and g:● Find a path of minimum total weight between
them● Also, find minimum paths to other vertices● Has O (|V| lg|V| + |E|), where V & E refer
vertices & edges
![Page 22: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/22.jpg)
22
Dijkstra’s Shortest Path Algorithm● Set S
● Contains vertices whose final shortest-path cost has been determined
● DIJKSTRA (G, s): Input: G is an input graph, s is the source1. Initialize-Single-Source (G, s)2. S empty3. Queue Vertices of G4. While Queue is not empty5. Do u min-cost from Queue6. S union of S and {u}7. for each vertex v in Adj [u]8. do RELAX (u, v)
![Page 23: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/23.jpg)
23
Dijkstra’s Shortest Path Algorithm
0
3
10
1∞
∞0
3
10
13
100
3
10
13
4
Yellow vertices are in a set with shortest costsWhite vertices are in the queue.Shaded one is chosen for relaxation.
Compute optimal cost-to-come at each iteration
gs gs gs
![Page 24: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/24.jpg)
24
A* Search Algorithm● An extension of Dijkstra’s algorithm based
on a heuristic estimate● Conservatively estimate the cost-to-go from a
vertex to the goal● The estimate should not be greater than the
optimal cost-to-go● Sort vertices based on “cost-to-come + the
estimated cost-to-go”● Can find optimal solutions
with fewer steps
free space
s
g
![Page 25: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/25.jpg)
25
K* Algorithm (Video)● Recursive Path Planning Using Reduced
States for Car-like Vehicles on Grid Maps● IEEE Transactions on Intelligent Transportation
System
● A* and its variants are quite commonly used for its optimality and high performance
![Page 26: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/26.jpg)
26
![Page 27: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/27.jpg)
27
Computational Efficiency● Running time O(n3)
● Compute the visibility graph● Search the graph
● Space O(n2)
● Can we do better?● Lead to classical approaches such as roadmap
![Page 28: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/28.jpg)
28
Class Objectives were:● Motion planning framework
● Representations of robots and space● Discretization into a graph ● Search methods● Ch. 2 of my book
![Page 29: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/29.jpg)
29
Homework● Browse 2
ICRA/IROS/RSS/CoRL/WAFR/TRO/IJRR papers● Submit it online before the Tue. Class● https://forms.gle/2jdXkgYu5snyAb3s8
● Example of a summary (just a paragraph)Title: XXX XXXX XXXXConf./Journal Name: ICRA, 2020Summary: this paper is about accelerating the performance of collision detection. To achieve its goal, they design a new technique for reordering nodes, since by doing so, they can improve the coherence and thus improve the overall performance.
![Page 30: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/30.jpg)
30
Valid Papers for Paper Presentation● Related to the course theme
● Top-tier conf/journals● No arxiv paper, unless it has meaningful
citation counts (say, 10 per year)
● Recent ones● Published at 2016~2020
![Page 31: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/31.jpg)
31
Homework for Every Class● Go over the next lecture slides● Come up with one question on what we
have discussed today and submit at the end of the class● 1 for typical questions● 2 for questions with thoughts or that surprised
me
● Write a question two times before the mid-term exam● https://forms.gle/R2ZcS9pZ9me9RzmKA
![Page 32: CS686: Path Planning for Point Robots](https://reader030.fdocuments.us/reader030/viewer/2022012021/61689886d394e9041f70f5e3/html5/thumbnails/32.jpg)
32
Next Time….● Classic path planning algorithms