tutorial8

Motion Planning
Majd Srour
Definition

Motion planning refers to the
computational process of moving from
one place to another in the presence of
obstacles.
Work space

The physical space in which the robot
of finite-size. – Real world
Configuration Space (Only
translation)


The configuration space is a
transformation from the physical space
in which the robot is of finite-size into
another space in which the robot is
treated as a point.
The configuration space is obtained by
shrinking the robot to a point, while
growing the obstacles by the size of the
robot.
Work space vs Configuration
space
Free Space

The free space of a configuration space
simply consists of the areas not
occupied by obstacles. Any
configuration within this space is called
a free configuration.
Free Path

The free path between an initial
configuration and a goal configuration is
the path which lies completely in free
space and does not come into contact
with any obstacles.
Motion Planning

Problems (from easy to hard) :




Completely known static Obstacles
Completely known dynamic Obstacles
Partially Known static Obstacles
Partially Known dynamic Obstacles
Roadmap Approach

Visibility Graph

Voronoi method

Cell Decomposition
Visibility Graph

A visibility graph is a graph of
intervisible locations, typically for a set
of points and obstacles in the Euclidean
plane
Visibility Graph

Given a set S of disjoint (open)
polygons..
Visibility Graph

Let V(S) be the vertex of S
Visibility Graph

Let V(S) be the vertex of S

Let G
vis
( S )  (V ( S ), Evis )
be the visibility graph of S.
Visibility Graph



Let V(S) be the vertex of S
Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
Visibility Graph



Let V(S) be the vertex of S
Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
Visibility Graph



Let V(S) be the vertex of S
Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
u sees v  uv  C free
Visibility Graph



Let V(S) be the vertex of S
Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
u sees v  uv  C free  ( R 2 |  S )
Visibility Graph



Let V(S) be the vertex of S
Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
u sees v  uv  C free  ( R 2 |  S )
Visibility Graph



Let V(S) be the vertex of S
Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
u sees v  uv  C free  ( R 2 |  S )
Visibility Graph

Let V(S) be the vertex of S
Pgoal
Pstart


Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
u sees v  uv  C free  ( R 2 |  S )
Visibility Graph

Let V(S) be the vertex of S
Pgoal
Pstart


Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
V ( S )  V ( S )  {Pstart , Pgoal }
Visibility Graph

Let V(S) be the vertex of S
Pgoal
Pstart


Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
V ( S )  V ( S )  {Pstart , Pgoal }
Visibility Graph

Let V(S) be the vertex of S
Pgoal
Pstart


Let G (S )  (V (S ), E ) be the visibility graph of S.
Where: E  {uv |u, v V ( S ), u sees v}
vis
vis
vis
V ( S )  V ( S )  {Pstart , Pgoal }
Visibility Graph

Corollary: The shortest path between
P_start and P_goal corresponds to a
shortest path in G (S )  (V (S ), E )
vis
vis
Pgoal
Pstart
Finding the shortest path




We’ll use Dijkstra algorithm in order to
find the shortest path in G
For each uv  E do w(uv )  d (u, v)
vis
  DIJKSTRA(Gvis , w, Pstart , Pgoal )
return

Euc .
Dijkstra






Assign to every node a distance value of infinity, and to the first
node 0
Mark all nodes as unvisited, set initial node as current
For current node, consider all of its unvisited neighbors and
calculate their tentative distances
When we are done considering all of the neighbors of the
current node, mark the current node as visited and remove it
from the unvisited set. A visited node will never be checked
again; its distance recorded now is final and minimal.
If the destination node has been marked visited then stop.
Set the unvisited node marked with the smallest tentative
distance as the next "current node" and go back to step 3.
Example

Find shortest path from a to z

http://www.youtube.com/watch?v=UG7VmPWkJmA