motion planning, part ii16311/current/schedule/ppp/lec10-motion... · denotes the i’th obstacle,...
TRANSCRIPT
![Page 1: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/1.jpg)
Motion Planning, Part II
Howie Choset
![Page 2: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/2.jpg)
Motion Planning Statement
If W denotes the robot’s workspace,
And Ci denotes the i’th obstacle,
Then the robot’s free space, FS, is
defined as:
FS = W \ ( U Ci )
And a path c is c : [0,1] g FS
where c(0) is qstart and c(1) is qgoal
![Page 3: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/3.jpg)
What is a good path?
Completeness
![Page 4: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/4.jpg)
Basics: Metrics
• There are many different ways to measure a
path: • Time
• Distance traveled
• Expense
• Distance from obstacles
• Etc…
![Page 5: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/5.jpg)
Start-Goal Algorithm:
Lumelsky Bug Algorithms
![Page 6: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/6.jpg)
1) head toward goal
2) if an obstacle is encountered,
circumnavigate it and remember
how close you get to the goal
3) return to that closest point (by
wall-following) and continue
Bug 1
“Bug 1” algorithm
Vladimir Lumelsky & Alexander Stepanov: Algorithmica 1987
But some computing power! • known direction to goal
• otherwise local sensing
walls/obstacles & encoders
![Page 7: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/7.jpg)
A better bug?
1) head toward goal on the m-line
2) if an obstacle is in the way,
follow it until you encounter the m-
line again closer to the goal.
3) Leave the obstacle and continue
toward the goal
“Bug 2” Algorithm
Better or worse than Bug1?
![Page 8: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/8.jpg)
Bug 2 Spiral
![Page 9: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/9.jpg)
Start-Goal Algorithm:
Potential Functions
![Page 10: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/10.jpg)
Attractive/Repulsive Potential Field
– Uatt is the “attractive” potential --- move to the
goal
– Urep is the “repulsive” potential --- avoid
obstacles
![Page 11: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/11.jpg)
Artificial Potential Field Methods:
Attractive Potential
)(
)()(
goal
attatt
qk
qUqF
Quadratic Potential
![Page 12: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/12.jpg)
Distance
RRRd 22:
||||),( yyxx bababad
22 )()(),( yyxx bababad
![Page 13: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/13.jpg)
Path Length
Which is shortest?
![Page 14: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/14.jpg)
Path Length
Depends on metric
![Page 15: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/15.jpg)
Distance to Obstacle(s)
)(min)( qdqD i
![Page 16: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/16.jpg)
The Repulsive Potential
![Page 17: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/17.jpg)
Total Potential Function
+ =
)()()( repatt qUqUqU
)()( qUqF
![Page 18: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/18.jpg)
Local Minimum Problem with the Charge Analogy
![Page 19: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/19.jpg)
The Wavefront Planner
• A common algorithm used to determine the shortest paths between two points
– In essence, a breadth first search of a graph
• For simplification, we’ll present the world as a two-dimensional grid
• Setup:
– Label free space with 0
– Label start as START
– Label the destination as 2
![Page 20: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/20.jpg)
Representations
• World Representation – You could always use a large region and distances
– However, a grid can be used for simplicity
![Page 21: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/21.jpg)
Representations: A Grid
• Distance is reduced to discrete steps
– For simplicity, we’ll assume distance is uniform
• Direction is now limited from one adjacent cell to another
– Time to revisit Connectivity (Remember Vision?)
![Page 22: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/22.jpg)
Representations: Connectivity
• 8-Point Connectivity • 4-Point Connectivity – (approximation of the L1 metric)
![Page 23: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/23.jpg)
The Wavefront Planner: Setup
![Page 24: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/24.jpg)
The Wavefront in Action (Part 1)
• Starting with the goal, set all adjacent cells with
“0” to the current cell + 1
– 4-Point Connectivity or 8-Point Connectivity?
– Your Choice. We’ll use 8-Point Connectivity in our example
![Page 25: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/25.jpg)
The Wavefront in Action (Part 2)
• Now repeat with the modified cells
– This will be repeated until no 0’s are adjacent to cells with values >= 2
• 0’s will only remain when regions are unreachable
![Page 26: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/26.jpg)
The Wavefront in Action (Part 3)
• Repeat again...
![Page 27: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/27.jpg)
The Wavefront in Action (Part 4)
• And again...
![Page 28: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/28.jpg)
The Wavefront in Action (Part 5)
• And again until...
![Page 29: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/29.jpg)
The Wavefront in Action (Done)
• You’re done
– Remember, 0’s should only remain if unreachable regions exist
![Page 30: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/30.jpg)
The Wavefront, Now What?
• To find the shortest path, according to your metric, simply always
move toward a cell with a lower number
– The numbers generated by the Wavefront planner are roughly proportional to their
distance from the goal
Two
possible
shortest
paths
shown
![Page 31: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/31.jpg)
This is really a Continuous Solution
Not pixels
Waves bend
L1 distance
![Page 32: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/32.jpg)
Pretty Wavefront
![Page 33: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/33.jpg)
The Configuration Space
• What it is
– A set of “reachable” areas constructed from
knowledge of both the robot and the world
• How to create it
– First abstract the robot as a point object. Then,
enlarge the obstacles to account for the robot’s
footprint and degrees of freedom
– In our example, the robot was circular, so we
simply enlarged our obstacles by the robot’s radius
(note the curved vertices)
![Page 34: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/34.jpg)
Example of a World (and Robot)
Obstacles
Free Space
Robot
x,y
![Page 35: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/35.jpg)
Configuration Space: Accommodate Robot Size
Obstacles
Free Space
Robot
(treat as point object) x,y
![Page 36: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/36.jpg)
Translate-only, non-circularly
symmetric
Pick a reference point…
![Page 37: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/37.jpg)
Translate-only, non-circularly
symmetric
Pick a reference point…
![Page 38: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/38.jpg)
With Rotation: how much distance to rotate
Pick a reference point…
![Page 39: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/39.jpg)
Where do we put ?
Configuration Space “Quiz”
An obstacle in the robot’s workspace
b
a
270
360
180
90
0 180 360 270 90
qA
b
a
qB
A
B
Torus
(wraps horizontally and vertically)
![Page 40: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/40.jpg)
Where do we put ?
Configuration Space “Quiz”
An obstacle in the robot’s workspace
b
a
270
360
180
90
0 90 180 135 45
qA
b
a
qB
A
B
Torus
(wraps vertically)
![Page 41: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/41.jpg)
Configuration Space Obstacle
An obstacle in the robot’s workspace
b
a
270
360
180
90
0 90 180 135 45
qB
qA
The C-space representation
of this obstacle…
b
a
How do we get from A to B ?
A
B
Reference configuration
![Page 42: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/42.jpg)
Two Link Path
Thanks to Ken Goldberg
![Page 43: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/43.jpg)
Two Link Path
![Page 44: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/44.jpg)
Rapidly-Exploring Random Tree
![Page 45: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/45.jpg)
Path Planning with RRTs
(Rapidly-Exploring Random Trees)
BUILD_RRT (qinit) {
T.init(qinit);
for k = 1 to K do
qrand = RANDOM_CONFIG();
EXTEND(T, qrand)
}
EXTEND(T, qrand)
qnear
qnew
qinit
qrand
[ Kuffner & LaValle , ICRA’00]
![Page 46: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/46.jpg)
Path Planning with RRTs
(Some Details)
BUILD_RRT (qinit) {
T.init(qinit);
for k = 1 to K do
qrand = RANDOM_CONFIG();
EXTEND(T, qrand)
}
EXTEND(T, qrand)
qnear
qnew
qinit
qrand
STEP_LENGTH: How far to sample
1. Sample just at end point
2. Sample all along
3. Small Step
Extend returns
1. Trapped, cant make it
2. Extended, steps toward node
3. Reached, connects to node
STEP_SIZE
1. Not STEP_LENGTH
2. Small steps along way
3. Binary search
![Page 47: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/47.jpg)
Grow two RRTs towards each other
qinit
qgoal
qnew
qtarget
qnear
[ Kuffner, LaValle ICRA ‘00]
![Page 48: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/48.jpg)
Map-Based Approaches:
Roadmap Theory • Properties of a roadmap:
– Accessibility: there exists a collision-free
path from the start to the road map
– Departability: there exists a collision-free
path from the roadmap to the goal.
– Connectivity: there exists a collision-free
path from the start to the goal (on the
roadmap).
a roadmap exists a path exists
Examples of Roadmaps – Generalized Voronoi Graph (GVG)
– Visibility Graph
![Page 49: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/49.jpg)
Roadmap: Visibility Graph
• Formed by connecting all “visible” vertices, the
start point and the end point, to each other
• For two points to be “visible” no obstacle can
exist between them
– Paths exist on the perimeter of obstacles
• In our example, this produces the shortest path
with respect to the L2 metric. However, the close
proximity of paths to obstacles makes it dangerous
![Page 50: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/50.jpg)
The Visibility Graph in Action (Part 1)
• First, draw lines of sight from the start and goal to all
“visible” vertices and corners of the world.
start
goal
![Page 51: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/51.jpg)
The Visibility Graph in Action (Part 2)
• Second, draw lines of sight from every vertex of every obstacle
like before. Remember lines along edges are also lines of sight.
start
goal
![Page 52: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/52.jpg)
The Visibility Graph in Action (Part 3)
• Second, draw lines of sight from every vertex of every obstacle
like before. Remember lines along edges are also lines of sight.
start
goal
![Page 53: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/53.jpg)
The Visibility Graph in Action (Part 4)
• Second, draw lines of sight from every vertex of every obstacle
like before. Remember lines along edges are also lines of sight.
start
goal
![Page 54: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/54.jpg)
The Visibility Graph (Done)
• Repeat until you’re done.
start
goal
![Page 55: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/55.jpg)
Visibility Graph Overview
• Start with a map of the world, draw lines of sight from the
start and goal to every “corner” of the world and vertex of
the obstacles, not cutting through any obstacles.
• Draw lines of sight from every vertex of every obstacle
like above. Lines along edges of obstacles are lines of
sight too, since they don’t pass through the obstacles.
• If the map was in Configuration space, each line
potentially represents part of a path from the start to the
goal.
![Page 56: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/56.jpg)
Graph Search
• Who knows it?
![Page 57: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/57.jpg)
Roadmap: GVG
• A GVG is
formed by paths
equidistant from
the two closest
objects
• Remember
“spokes”, start
and goal
• This generates a very safe roadmap which avoids obstacles as
much as possible
![Page 58: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/58.jpg)
Distance to Obstacle(s)
)(min)( qdqD i
![Page 59: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/59.jpg)
Two-Equidistant • Two-equidistant surface
}0)()(:{ free xdxdQxS jiij
iQO
jQO
![Page 60: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/60.jpg)
More Rigorous Definition
Going through obstacles
Two-equidistant face
},),()()(:{ jihxdxdxdSSxF hjiijij
iQO
jQO )()()( xdxdxd jik ij SS
kQO
![Page 61: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/61.jpg)
General Voronoi Diagram
U U1
1 1
GVD
n
i
n
ij
ijF
![Page 62: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/62.jpg)
What about concave obstacles?
vs
![Page 63: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/63.jpg)
What about concave obstacles?
vs
id
jd
id
jd
![Page 64: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/64.jpg)
What about concave obstacles?
vs
id
jd
id
jd
id
jd
jd
id
![Page 65: Motion Planning, Part II16311/current/schedule/ppp/Lec10-Motion... · denotes the i’th obstacle, Then the robot’s free space, FS, is defined as: FS = W \ ( U C i) And a path c](https://reader033.vdocument.in/reader033/viewer/2022042022/5e796e76adeabb17d277e1cb/html5/thumbnails/65.jpg)
Two-Equidistant • Two-equidistant surface
Two-equidistant surjective surface
Two-equidistant Face
}0)()(:{ free xdxdQxS jiij
jC
iC
ij S
id
jd
)}()(:{ xdxdSxSS jiijij
}),()(:{ ihxdxdSSxF hiijij
U U1
1 1
GVD
n
i
n
ij
ijF