Professional Documents
Culture Documents
Prof.: S. Shiry
Mohsen gandomkar
M.Sc Artificial Intelligence
Department of Computer Eng. and IT
Amirkabir Univ. of Technology
(Tehran Polytechnic)
Basic Definition
Obstacles
Already occupied spaces of the world
In other words, robots cant go there
Free Space
Unoccupied space within the world
Robots might be able to go here
To determine where a robot can go, we need to
discuss what a Configuration Space is
Cfree
qgoal
Cobs
qstart
Forapointrobotmovingin2Dplane,Cspaceis R 2
Cfree
qgoal
Cobs
qstart
x
Forapointrobotmovingin3D,theC-space is R 3
What is the difference between Euclidean space and Cspace?
How to create it
First abstract the robot as a point object.
Then, enlarge the obstacles to account for
the robots footprint and degrees of
freedom
In our example, the robot was circular, so
we simply enlarged our obstacles by the
robots radius (note the curved vertices)
Free Space
Obstacles
Robot
x,y
Configuration Space:
Accommodate Robot Size
Free Space
Obstacles
x,y
Robot
(treat as point object)
Motion Planning
Inputs
Output
Algorithmic Approaches
Complete Algorithms
Probabilistic Algorithms
Heuristic Algorithms
Complete Algorithms
Probabilistic Algorithms
Heuristic Algorithms
Previous Approaches
Visibility Graphs
Voronoi Diagrams
Potential Fields
10d
free space
milestone
Multiple-Query PRM
Probabilistic Roadmaps for Path Planning in HighDimensional Configuration Spaces, L. Kavraki et al.,
1996.
Assumptions
Static obstacles
Many queries to be processed in the same
environment
Examples
Navigation in static virtual environments
Robot manipulator arm in a workcell
Enter PRMs
Free space
C-obstacle
Free space
C-obstacle
Free space
C-obstacle
milestones
Free space
C-obstacle
milestones
CLEAR(q)
Is configuration q
collision free or not?
LINK(q, q)
Is the straight-line path
between q and q
collision-free?
Uniform sampling
Input: geometry of the moving object & obstacles
Output: roadmap G = (V, E)
1: V and E .
2: repeat
3:
q a configuration sampled uniformly at random from C.
4:
if CLEAR(q)then
5:
Add q to V.
6:
Nq a set of nodes in V that are close to q.
6:
for each q Nq, in order of increasing d(q,q)
7:
8:
if LINK(q,q)then
Add an edge between q and q to E.
Difficulty
Resampling (expansion)
Failure rate
Weight
r (q)
w(q )
p r ( p)
Resampling probability
Pr (q ) w(q )
Resampling (expansion)
Query processing
Error
Single-Query PRM
Lazy PRM
Precomputation: roadmap
construction
Nodes
Randomly chosen configurations, which may or
may not be collision-free
No call to CLEAR
Edges
an edge between two nodes if the corresponding
configurations are close according to a suitable
metric
no call to LINK
Node enhancement
Bug algorithms
Bug algorithms
Assumptions:
Point robot
Contact sensor (Bug1,Bug2) or finite range sensor
(Tangent Bug)
Bounded environment
Robot position is perfectly known
Robot can measure the distance between two
points
Bug algorithms
Algorithm consists of two behaviors:
1. Motion to goal move toward the goal
Bug algorithms
2. Boundary following obstacle handeling
Bug1: circumnavigate the entire perimeter of the
obstacle, find the closest point to the goal on the
perimeter (leave point), move to that point .
Bug2: circumnavigate the obstacle until you reach
a new point on the line connecting start and goal,
that is closer to the goal (leave point).
Bug1 - example
q2L
q1L
qstart
q1H
q2H
qgoal
Motion to goal
Boundary following
Shortest path to goal
Bug2 - example
q2L
qgoal
q2H
q1L
qstart
q1H
Motion to goal
Boundary following
Line connecting start and goal
head-to-head comparison
WhatareworldsinwhichBug2does
betterthanBug1(andviceversa)?
Bug2beatsBug1
Start
Bug1beatsBug2
head-to-head comparison
WhatareworldsinwhichBug2does
betterthanBug1(andviceversa)?
Bug2beatsBug1
Bug1beatsBug2
Start
zipper
world
Problem
Bug2beatsBug1
Bug1beatsBug2
zipper
world
Problem
Adjustedbugalgorithm
BugM1 useBug2untiltherobotfinds
itselfontheSlinefartherfrom
thegoalthanitstarted
ifitdoes,reverttotoBug1for
thatobstacle
Problem
Adjustedbugalgorithm
BugM1
useBug2untiltherobotfinds
itselfontheSlinefartherfrom
thegoalthanitstarted
ifitdoes,reverttotoBug1for
thatobstacle
Bug2
Exhaustive search
Optimal leave point
Performs better with
complex obstacles
Path length :
n = # of obstacles
Pi = perimeter of obstacle i
n
Opportunistic (greedy)
search
Performs better with
simple obstacles
Path length :
Intervals of continuity
o1
o2
t=1
t=2
t=3
t=4
o2
Motion to goal
M
goal
qgoal
qstart
Motion to goal
Boundary following
Bug algorithms
Multi-Robot Planning
Multi-Robot Planning
Centralized Planning
Centralized Planning
Advantages
Disadvantages
Decoupled Planning
Decoupled Planning
Pairwise Coordination
Global Coordination
Decoupled Planning
Advantages
Disadvantages
Decoupled Planning
Failure Example
Decoupled Planning
Failure Example
Decoupled Planning
Failure Example
Implemented Planners
SBL Planner
Single-query
Bi-directional
Lazy collision-checking
Experimental Results
F = number of failures
Maximum of 50,000 milestones allowed per call
to SBL
Experimental Results
Experimental Results
Experimental Results
Conclusions
Conclusions Contd.
Sokoban
Objective of Robot:
To push boxes into their
storage locations without
getting himself or boxes
stuck.
Sokoban