PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf ·...
Transcript of PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf ·...
![Page 1: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/1.jpg)
Ioannis Rekleitis
Path Planning
![Page 2: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/2.jpg)
Outline
• Path Planning – Visibility Graph – Potential Fields – Bug Algorithms – Skeletons/Voronoi Graphs – C-‐Space
2 CSCE-574 Robotics
![Page 3: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/3.jpg)
Mo+on Planning • The ability to go from A to B
– Known map – Off-‐line planning – Unknown Environment –Online planning – Static/Dynamic Environment
CSCE-574 Robotics 3
qgoalqinit
qgoal
qgoalqinit
qinit
![Page 4: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/4.jpg)
Path Planning
Robot Map
World
4 CSCE-574 Robotics
![Page 5: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/5.jpg)
Path Planning
Robot Map
World
• Indoor/Outdoor • 2D/2.5D/3D • Static/Dynamic • Known/Unknown • Abstract (web)
5 CSCE-574 Robotics
![Page 6: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/6.jpg)
Path Planning
Robot Map
World
• Mobile Ø Indoor/Outdoor Ø Walking/Flying/Swimming
• Manipulator • Humanoid • Abstract
6 CSCE-574 Robotics
![Page 7: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/7.jpg)
Path Planning
Robot Map
World
• Topological • Metric • Feature Based • 1D,2D,2.5D,3D
7 CSCE-574 Robotics
![Page 8: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/8.jpg)
Path Planning
Robot Map
World
• Topological • Metric • Feature Based • 1D,2D,2.5D,3D
• Mobile Ø Indoor/Outdoor Ø Walking/Flying/Swimming
• Manipulator • Humanoid • Abstract
• Indoor/Outdoor • 2D/2.5D/3D • Static/Dynamic • Known/Unknown • Abstract (web)
8 CSCE-574 Robotics
![Page 9: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/9.jpg)
Path Planning: Assump+ons • Known Map • Roadmaps (Graph representations) • Polygonal Representation
qgoal
qinit
9 CSCE-574 Robotics
![Page 10: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/10.jpg)
Visibility Graph • Connect Initial and goal locations with all the visible vertices
qgoal
qinit
10 CSCE-574 Robotics
![Page 11: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/11.jpg)
Visibility Graph • Connect initial and goal locations with all the visible vertices • Connect each obstacle vertex to every visible obstacle vertex
qgoal
qinit
11 CSCE-574 Robotics
![Page 12: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/12.jpg)
Visibility Graph • Connect initial and goal locations with all the visible vertices • Connect each obstacle vertex to every visible obstacle vertex • Remove edges that intersect the interior of an obstacle
qgoal
qinit
12 CSCE-574 Robotics
![Page 13: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/13.jpg)
Visibility Graph • Connect initial and goal locations with all the visible vertices • Connect each obstacle vertex to every visible obstacle vertex • Remove edges that intersect the interior of an obstacle • Plan on the resulting graph
qgoal
qinit
13 CSCE-574 Robotics
![Page 14: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/14.jpg)
Visibility Graph • An alternative path • Alternative name: “Rubber band algorithm”
qgoal
qinit
14 CSCE-574 Robotics
![Page 15: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/15.jpg)
Major Fault • Point robot • Path planning like that guarantees to hit the obstacles
15 CSCE-574 Robotics
![Page 16: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/16.jpg)
Path PlanningPotential Field methods
• compute a repulsive force away from obstacles
CSCE-574 Robotics 16
![Page 17: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/17.jpg)
Local techniques Potential Field methods
• compute a repulsive force away from obstacles
• compute an attractive force toward the goal
CSCE-574 Robotics 17
![Page 18: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/18.jpg)
Local techniques Potential Field methods
• compute a repulsive force away from obstacles
• compute an attractive force toward the goal
let the sum of the forces control the robot
key advantages?CSCE-574 Robotics 18
![Page 19: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/19.jpg)
Local techniques Potential Field methods
• compute a repulsive force away from obstacles
• compute an attractive force toward the goal
let the sum of the forces control the robot
To a large extent, this is computable from sensor readings
CSCE-574 Robotics 19
![Page 20: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/20.jpg)
Sensor Based Calculations
CSCE-574 Robotics 20
![Page 21: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/21.jpg)
Major Problem?
CSCE-574 Robotics 21
![Page 22: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/22.jpg)
Local Minima!
Fobst
Fgoal
CSCE-574 Robotics 22
![Page 23: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/23.jpg)
Simulated Annealing
• Every so often add some random force
CSCE-574 Robotics 23
![Page 24: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/24.jpg)
Limited-knowledge path planning
• known direction to goal
• otherwise local sensing
walls/obstacles encoders
• “reasonable” world 1. finitely many obstacles in any finite
disc
2. a line will intersect an obstacle finitely many times
Goal
Start
• Path planning with limited knowledge– Insect-inspired “bug” algorithms
24 CSCE-574 Robotics
![Page 25: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/25.jpg)
Not truly modeling bugs...��� Insects do use several cues for navigation:
neither are the current bug-sized robots
visual landmarks
polarized light
chemical sensing
Other animals use information from
magnetic fields
electric currents
temperature
they’re not ears...
migrating bobolink bacteria 25 CSCE-574 Robotics
![Page 26: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/26.jpg)
Bug Strategy
“Bug 0” algorithm
• known direction to goal
• otherwise only local sensing walls/obstacles encoders
1) head toward goal
2) follow obstacles until you can head toward the goal again
3) continue
Insect-inspired “bug” algorithms
CSCE-574 Robotics 26
assume a left-turn robot
![Page 27: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/27.jpg)
Does It Work?
27 CSCE-574 Robotics
![Page 28: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/28.jpg)
“Bug 1” algorithm
• known direction to goal
• otherwise only local sensing walls/obstacles encoders
1) head toward goal
Insect-inspired “bug” algorithms
Bug 1
CSCE-574 Robotics 28
![Page 29: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/29.jpg)
“Bug 1” algorithm
• known direction to goal
• otherwise only local sensing walls/obstacles encoders
1) head toward goal
2) if an obstacle is encountered, circumnavigate it and remember how close you get to the goal
Insect-inspired “bug” algorithms
Bug 1
CSCE-574 Robotics 29
![Page 30: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/30.jpg)
“Bug 1” algorithm
• known direction to goal
• otherwise only local sensing walls/obstacles encoders
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
Insect-inspired “bug” algorithms
Vladimir Lumelsky & Alexander Stepanov Algorithmica 1987
Bug 1
CSCE-574 Robotics 30
![Page 31: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/31.jpg)
Distance Traveled What are bounds on the path length that the robot takes?
Lower and upper bounds?
Available Information:D = straight-line distance from start to goal
Pi = perimeter of the i th obstacle
Lower bound:
Upper bound:
Bug 1 analysis
CSCE-574 Robotics 31
D
P1
P2
![Page 32: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/32.jpg)
Distance Traveled What are bounds on the path length that the robot takes?
Lower and upper bounds?
Available Information:D = straight-line distance from start to goal
Pi = perimeter of the i th obstacle
Lower bound: DUpper bound:
Bug 1 analysis
CSCE-574 Robotics 32
D
P1
P2
![Page 33: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/33.jpg)
Distance Traveled What are bounds on the path length that the robot takes?
Lower and upper bounds?
Available Information:D = straight-line distance from start to goal
Pi = perimeter of the i th obstacle
Lower bound: D
Upper bound: D + 1.5 Σ Pii
How good a bound?
How good an algorithm?
Bug 1 analysis
CSCE-574 Robotics 33
D
P1
P2
![Page 34: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/34.jpg)
Bug Mapping
34 CSCE-574 Robotics
![Page 35: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/35.jpg)
“Bug 2” algorithmCall the line from the starting point to the goal the s-line
A better bug?
CSCE-574 Robotics 35
![Page 36: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/36.jpg)
“Bug 2” algorithmCall the line from the starting point to the goal the s-line
1) head toward goal on the s-line
A better bug?
CSCE-574 Robotics 36
![Page 37: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/37.jpg)
“Bug 2” algorithmCall the line from the starting point to the goal the s-line
1) head toward goal on the s-line
2) if an obstacle is in the way, follow it until encountering the s-line again.
A better bug?
CSCE-574 Robotics 37
![Page 38: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/38.jpg)
“Bug 2” algorithm
1) head toward goal on the s-line
2) if an obstacle is in the way, follow it until encountering the s-line again.
3) Leave the obstacle and continue toward the goal
OK ?
s-line
A better bug?
CSCE-574 Robotics 38
![Page 39: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/39.jpg)
“Bug 2” algorithm
1) head toward goal on the s-line
2) if an obstacle is in the way, follow it until encountering the s-line again closer to the goal.
3) Leave the obstacle and continue toward the goal
OK ?
A better bug?
CSCE-574 Robotics 39
Goal
Start
![Page 40: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/40.jpg)
Distance Traveled What are bounds on the path length that the robot takes?
Lower and upper bounds?
Available Information:D = straight-line distance from start to goal
Pi = perimeter of the i th obstacle
Lower bound:
Upper bound:
Bug 2 analysis
CSCE-574 Robotics 40
Goal
Start
![Page 41: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/41.jpg)
Distance Traveled What are bounds on the path length that the robot takes?
Lower and upper bounds?
Available Information:D = straight-line distance from start to goal
Pi = perimeter of the i th obstacle
Lower bound: Upper bound:
Ni = number of s-line intersections with the i th obstacle
Bug 2 analysis
CSCE-574 Robotics 41
Goal
Start
![Page 42: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/42.jpg)
Distance Traveled What are bounds on the path length that the robot takes?
Lower and upper bounds?
Available Information:D = straight-line distance from start to goal
Pi = perimeter of the i th obstacle
Lower bound: D Upper bound:
Ni = number of s-line intersections with the i th obstacle
Bug 2 analysis
CSCE-574 Robotics 42
Goal
Start
![Page 43: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/43.jpg)
Distance Traveled What are bounds on the path length that the robot takes?
Lower and upper bounds?
Available Information:D = straight-line distance from start to goal
Pi = perimeter of the i th obstacle
Lower bound: D
Upper bound: D + 0.5 Σ Ni Pi
Ni = number of s-line intersections with the i th obstacle
i
Bug 2 analysis
CSCE-574 Robotics 43
Goal
Start
![Page 44: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/44.jpg)
head-to-head comparisonWhat are worlds in which Bug 2 does
better than Bug 1 (and vice versa) ?
Bug 2 beats Bug 1
or thorax-to-thorax, perhaps
Bug 1 beats Bug 2
CSCE-574 Robotics 44
![Page 45: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/45.jpg)
head-to-head comparisonWhat are worlds in which Bug 2 does
better than Bug 1 (and vice versa) ?
Bug 2 beats Bug 1
or thorax-to-thorax, perhaps
Bug 1 beats Bug 2
CSCE-574 Robotics 45
“zipper world”
![Page 46: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/46.jpg)
Other bug-like algorithms The Pledge maze-solving algorithm 1. Go to a wall
2. Keep the wall on your right
3. Continue until out of the maze
46 CSCE-574 Robotics
![Page 47: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/47.jpg)
Other bug-like algorithms The Pledge maze-solving algorithm 1) Go to a wall
2) Keep the wall on your right
3) Continue until out of the maze
mazes of unusual origin
int a[1817];main(z,p,q,r){for(p=80;q+p-80;p=2*a[p]) for(z=9;z--;)q=3&(r=time(0)+r*57)/7,q=q?q-1?q-2?1-p%79?-1:0:p%79-77?1:0:p<1659?79:0:p>158?-79:0,q?!a[p+q*2]?a[p+=a[p+=q]=q]=q:0:0;for(;q++-1817;)printf(q%79?"%c":"%c\n"," #"[!a[q-1]]);}
################################################################################ # ### # # # # # # # # # # # # # ## # ####### ##### ##### # ####### # # ### ### # ##### ##### # ### ##### # ### ## # # # # # # # # # # # # # # # # # # ## ##### # # # # # # ##### ##### # ### ### # # # ### ### ### ##### # ### ##### ## # # # # # # # # # # # # # # ## # ### ##### ### ##### ##### ### # ### # # # # ### ##### ### ##### # ##### #### # # # # # # # # # # # # # # # # # # # # ########## ##### # # # ########### ### ########### ### ##### ##### # # # ### # ## # # # # # # # # # # # # # # # # # # # # #### ### ##### ####### ### # # ### # # # # ##### # # ##### # # # ### # # ##### ## # # # # # # # # # ### # # # # # # # # #### # ### # ##### ### # ##### # # # ##### ##### ### ### ####### # ##### # ### ## # # # # # # # # # # # # # # # # # # # # # ## # # ########### ### ### ### ####### # # ### # ####### ### ##### ### ### ###### # # # # # # # # # # # # # # ## # # ### ##### ##### # ####### # ### ####### ### # ### ####### ### ##### ### ## # # # # # # # # # # # # # # # # # # # ## # # ### ### ### # # # # ### # # # ### # ####### # # ####### # # # # # # ### ## # # # # # # # # # # # # # # # # ## # # # # ### ##### ####### # ##### # ##### ### ### # # # ### ##### ### # ### ## # # # # # # ### # # # # # # # # # # # # ################################################################################
IOCCC random maze generator
discretized RRT 47 CSCE-574 Robotics
![Page 48: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/48.jpg)
Tangent Bug • Limited Range Sensor • Tangent Bug relies on finding endpoints of
finite, continues segments of the obstacles
48 CSCE-574 Robotics
![Page 49: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/49.jpg)
Tangent Bug
49 CSCE-574 Robotics
![Page 50: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/50.jpg)
Contact Sensor Tangent Bug
1. Robot moves toward goal until it hits obstacle 1 at H1 2. Pretend there is an infinitely small sensor range and the direction which
minimizes the heuristic is to the right 3. Keep following obstacle until robot can go toward obstacle again 4. Same situation with second obstacle 5. At third obstacle, the robot turned left until it could not increase heuristic 6. D_followed is distance between M3 and goal, d_reach is distance between
robot and goal because sensing distance is zero 50 CSCE-574 Robotics
![Page 51: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/51.jpg)
Limited Sensor Range Tangent-Bug
51 CSCE-574 Robotics
![Page 52: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/52.jpg)
Infinite Sensor Range Tangent Bug
52 CSCE-574 Robotics
![Page 53: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/53.jpg)
Known Map
Brushfire Transform
CSCE-574 Robotics 53
![Page 54: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/54.jpg)
The Wavefront Planner: Setup
CSCE-574 Robotics 54
![Page 55: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/55.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
CSCE-574 Robotics 55
![Page 56: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/56.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
CSCE-574 Robotics 56
![Page 57: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/57.jpg)
The Wavefront in Action (Part 3) • Repeat
CSCE-574 Robotics 57
![Page 58: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/58.jpg)
The Wavefront in Action (Part 3) • Repeat
CSCE-574 Robotics 58
![Page 59: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/59.jpg)
The Wavefront in Action (Part 3) • Until Done
– 0’s would only remain in the unreachable areas
CSCE-574 Robotics 59
![Page 60: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/60.jpg)
The Wavefront in Action • 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 CSCE-574 Robotics 60
![Page 61: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/61.jpg)
An alternative roadmap
CSCE-574 Robotics 61
![Page 62: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/62.jpg)
Voronoi diagrams
These line segments make up the Voronoi diagram for the four points shown here.
Solves the “Post Office Problem”
CSCE-574 Robotics 62
![Page 63: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/63.jpg)
Voronoi diagrams
These line segments make up the Voronoi diagram for the four points shown here.
Solves the “Post Office Problem”
or, perhaps, more important problems...
CSCE-574 Robotics 63
![Page 64: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/64.jpg)
Voronoi diagrams
“true” Voronoi diagram
generalized Voronoi diagramWhat is it?
(isolates a set of points)
CSCE-574 Robotics 64
![Page 65: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/65.jpg)
Voronoi diagrams
Let B = the boundary of Cfree .
Let q be a point in Cfree . ( )
Cfree
q
B
CSCE-574 Robotics 65
![Page 66: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/66.jpg)
Voronoi diagrams
Let B = the boundary of Cfree .
Let q be a point in Cfree .
Cfree
q
Define clearance(q) = min { | q - p | }, for all p ∈ B
B
CSCE-574 Robotics 66
![Page 67: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/67.jpg)
Voronoi diagrams
Let B = the boundary of Cfree .
Let q be a point in Cfree .
Cfree
q
Define clearance(q) = min { | q - p | }, for all p ∈ B
B
Define near(q) = { p ∈ B such that | q - p | = clearance(q) }
CSCE-574 Robotics 67
![Page 68: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/68.jpg)
Voronoi diagrams
Let B = the boundary of Cfree .
Let q be a point in Cfree .
Cfree
q
Define clearance(q) = min { | q - p | }, for all p ∈ B
B
Define near(q) = { p ∈ B such that | q - p | = clearance(q) }
q is in the Voronoi diagram of Cfree if | near(q) | > 1 number of set elements
+ maximizes distance from obstacles
+ reduces to graph search
+ can be used in higher-dimensions
- nonoptimal
- real diagrams tend to be noisy
Evaluation
CSCE-574 Robotics
68
![Page 69: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/69.jpg)
Generalized Voronoi Graph (GVG)
Free Space CSCE-574 Robotics 69
![Page 70: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/70.jpg)
Generalized Voronoi Graph (GVG)
Free Space with Topological Map (GVG)
CSCE
-574
Rob
otic
s
70
![Page 71: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/71.jpg)
Generalized Voronoi Graph (GVG)
Free Space with Topological Map (GVG)
• Access GVG
71 CSCE-574 Robotics
![Page 72: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/72.jpg)
Generalized Voronoi Graph (GVG)
Free Space with Topological Map (GVG)
• Access GVG • Follow Edge
CSCE-574 Robotics 72
![Page 73: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/73.jpg)
Generalized Voronoi Graph (GVG)
Free Space with Topological Map (GVG)
• Access GVG • Follow Edge
• Home to the MeetPoint
CSCE-574 Robotics 73
![Page 74: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/74.jpg)
Generalized Voronoi Graph (GVG)
Free Space with Topological Map (GVG)
• Access GVG • Follow Edge
• Home to the MeetPoint • Select Edge
CSCE-574 Robotics 74
![Page 75: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/75.jpg)
• Nomadic Scout
• Sonar (GVG navigation)
• Camera with omni-directional mirror (feature detection)
• Onboard 1.2 GHz processor
GVG construction using sonar
CSCE-574 Robotics 75
![Page 76: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/76.jpg)
GVG construction using sonar
CSCE-574 Robotics 76
![Page 77: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/77.jpg)
GVG construction using sonar
CSCE-574 Robotics 77
![Page 78: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/78.jpg)
Slammer in Action
CSCE-574 Robotics 78
![Page 79: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/79.jpg)
Removing Edges
CSCE-574 Robotics 79
![Page 80: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/80.jpg)
Meetpoint Detection
• 3σ uncertainty ellipse of explored meetpoints • Meetpoint degree (branching factor) • Distances to local obstacles • Relative angle bearings • Edge signature
– Edge length – Edge Curvature
• Vertex signal CSCE-574 Robotics 80
![Page 81: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/81.jpg)
Ear-based Exploration
CSCE-574 Robotics 81
![Page 82: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/82.jpg)
Uncertainty Reduction
CSCE-574 Robotics 82
Before Loop-closure After Loop-closure
![Page 83: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/83.jpg)
Simulation
CSCE-574 Robotics 83 Code available online at https://github.com/QiwenZhang/gvg
![Page 84: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/84.jpg)
Real Environment
CSCE-574 Robotics 84
![Page 85: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/85.jpg)
Voronoi applications
Skeletonizations resulting from constant-speed curve evolution
A retraction of a 3d object == “medial surface” what?
in 2d, it’s called a medial axisCSCE-574 Robotics 85
![Page 86: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/86.jpg)
skeleton shape
again reduces a 2d (or higher) problem to a question about graphs...
curve evolution centers of maximal diskswhere wavefronts collide
CSCE-574 Robotics 86
![Page 87: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/87.jpg)
skeleton shape
again reduces a 2d (or higher) problem to a question about graphs...
curve evolution centers of maximal diskswhere wavefronts collide
graph matchingCSCE-574 Robotics 87
![Page 88: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/88.jpg)
Problems
The skeleton is sensitive to small changes in the object’s boundary.
- graph isomorphism (and lots of other graph questions) : NP-completeCSCE-574 Robotics 88
![Page 89: PathPlanning - Computer Science & Engineeringyiannisr/574/2015/Lectures/09-PathPlanning.pdf · PathPlanning Robot Map World •Topological •Metric ... Call the line from the starting](https://reader031.fdocuments.us/reader031/viewer/2022030909/5b5433da7f8b9a45298cb0ff/html5/thumbnails/89.jpg)
Roadmap problemsIf an obstacle decides to roll away... (or wasn’t there to begin with)
recomputing in less than O(N2) time?CSCE-574 Robotics 89