Introduction to Robot Motion Planning

Robot Motion Planning
Robotics meet Computer Science
Motion Planning
Information required
• Knowledge of spatial arrangement of wkspace.
E.g., location of obstacles
• Full knowledge
• Partial knowledge
and execution
full motion planning
combine planning
motion planning = collection of problems
Motion problem
• The Problem:
– Given an initial position POinit
– Given a goal position POgoal
– Generate: continuous path t from POinit to POgoal
• t is a continuous sequence of Pos’
Work Space and Configuration Space
A robot R is moving in
2
, called work space,
consisting of a set S  P1 ,
, Pt  of obstacles.
R  9,7 
R  9,7, 45
45
Reference
Point
R  0,0 
2 Degrees of freedom
R  0,0,0
3 Degrees of freedom
5
Components of the problem
• A: single rigid object - the robot - moving in
Euclidean space W (the wkspace).
W = RN, N=2,3
• Bi , I=1,…,q. Rigid objects in W. The obstacles
B1
A
B2
The Environment of Motion
Planning and Obstacle
Avoidance
Configuration Space Idea
1. represent robot as point in space
2. map obstacles into this space
3. transform problem from planning object
motion to planning point motion
B1
A
B2
Obstacles in C (cont.)
• Def: Connected Component
q1, q2 belong to the same connected component
of Cfree iff they are connected by a free path
Objective of Motion Planning:
generate a free path between 2 configurations if
one exists or report that no free path exists.
Classic Path Planning
Approaches
• Roadmap – Represent the connectivity of the
free space by a network of 1-D curves
• Cell decomposition – Decompose the free
space into simple cells and represent the
connectivity of the free space by the
adjacency graph of these cells
• Potential field – Define a potential function
over the free space that has a global
minimum at the goal and follow the
Slide 10
steepest
descent of the potential function
Planning Approaches
1- Roadmap
Captures connectivity of Cfree in a network of 1-D
curves called “the roadmaps.”
Once a roadmap is constructed: use a standard
path.
Roadmap Construction Methods: 1) Visibility
Graph, 2) Voronoi Diagram, 3) Freeway Net
and 4) Silhouette.
Roadmaps Examples
qgoal
qinit
qinit
qgoal
Visibility graph in 2D CS. Nodes:
initial and final config + vertices of
C-obstacles.
Voronoi diagram with
polygonal C-obstacles
Roadmap
• Visibility graph
Shakey Project, SRI
[Nilsson, 1969]
• Voronoi Diagram
Introduced by
computational
geometry researchers.
Generate paths that
maximizes clearance.
Applicable mostly to 2D configuration
spaces.
Cell Decomposition
• Decompose the free space into simple regions
called cells
• Construct a non-directed graph representing
adjacencies: the conectivity graph
• Search for a path forming a “channel”
• Two variations:
– Exact: union of cells is exactly the free space
– Approximate: union included in the free space
Cell Decomposition: Example
6
3 4
8
5
2
11 12
9
1
7
10
6
qinit
3
1
qgoal
2
4
7
5
8
10
9
1
1
12
Trapezoidal Decomposition
Adjacency Graph
• Nodes: cells
• Edges: There is an edge between every
pair of nodes whose corresponding cells
are adjacent.
Quadtree Decomposition
Octree Decomposition
Approximation Cell Decomposition
• Full cell
Configuration Space
full
mixed
• Empty cell
• Mixed cell
– Mixed
– Uncertain
empty
Potential Fields
• Initially proposed for real-time collision
avoidance [Khatib 1986]. Hundreds of papers
published.
• A potential field is a scalar function over the free
space.
• To navigate, the robot applies a force
proportional to the negated gradient of the
potential field.
• A navigation function is an ideal potential field that
– has global minimum at the goal
– has no local minima
– grows to infinity near obstacles
Slide 21
– is smooth
Attractive & Repulsive Fields
Slide 22
A* Algorithm
“I believe this is this way takes me shortest to the
destination…. Lets give it a try”
“Hey I got struck… I’ll choose another path”
• Add all possible moves in an open list.
• Make the best move as per open list status
• Add all executed moves in the closed list
Chromosome -
representation
• Chromosome
– An encoded expression of
potential solutions. (usually in
the form of string)
• Path representation
– Encode the order of visiting
points as a string
• Example
– 0-1-2-6-9-11-15-17-22-25-26
– 0-4-8-10-15-20-23-26
Chromosome -
population
• Population – a set of chromosomes
• Chromosomes are generated randomly.
i.e. the population contains a set of
random solutions
• Each robot is equipped with one
population
0-1-2-6-9-11-15-1722-25-26
0-4-8-10-15-20-23-26
Operator -
Crossover
• Exchange information from two selected
chromosomes
– Crossover point: the first identical node in
both parents
– Example:
Parent1: 0-1-2-6-9-11-15-17-22-25-26
Parent2: 0-4-8-10-15-20-23-26
Child1: 0-1-2-6-9-11-15-20-23-26
Child2: 0-4-8-10-15-17-22-25-26
Operator -
Mutation
• Mutation rate is low
(for escaping local
optimum)
1. Randomly selects
one gene (node) to
mutate
2. Its following nodes
are picked randomly
from sequentially
connected nodes
Evaluation -
Fitness
• Fitness = Tour Length + Waiting Time
(Static)
(Dynamic)
ANN with Back Propagation
Algorithm
“Whenever this type of situation arrives… Always
make this move”
“Hey rules failed… I’m struck…
OK make random moves till you are out”
• Frame input/output pairs for every situation
comprising of robot position, goal position and
environment
• Learn these and use them in decision making
• Make random moves when position deteriorates
Genetic Algorithms
“Show me some random paths so that I may
decide”
“OK this path is the best to go till a point and this
path the best for the other part of the journey…
Let me mix them both…”
• Generate random complete and incomplete
solutions: source to nowhere, nowhere to goal
and source to goal
• Try to mix paths to attain optimality
Problem Formulation for
Point Robot
• Input
– Robot represented as a
point in the plane
– Obstacles represented
as polygons
– Initial and goal
positions
• Output
– A collision-free path
between the initial and
goal positions
Breadth-First Search
Breadth-First Search
Breadth-First Search
Breadth-First Search
Breadth-First Search
Breadth-First Search
Breadth-First Search
Breadth-First Search
Path Non-existence Problem
Robot
Initial
Obstacle
Obstacle
Goal
Slide 40
Find planning path from o to x
initial position (1, 1), goal symbol * and
obstacles are marked by boxes