Exact Cell Decomposition

 

Overview :

To decompose the robots free space Cfree  into a collection of non-overlapping regions, called cells such that the union of all the  cells exactly equals the free space, C-Space.

 

Desired Charecterestics:

·       Geometry of the cells should be simple enough so that it is easy to compute a path between any two configurations of the cell.

·       It should be easy to test the adjacency of two cells, i.e. whether they share a common boundary.

·       It should be easy to find a path crossing the portion of the boundary of two adjacent cells.

 

 

The cell boundaries are the critical regions in C, i.e,  significant changes occur when the boundary is crossed. However no such criticalities in C occur for points within the cell.

 

 

 

 

Drawbacks of Exact Cell Decompostion

·       The primary difficulty is in the decomposition of C-free to cells.

·       Simple sweep-line methods exists for simple cases like when C=R2  , CB is a polygonal region , but it is harder with both translation and rotation.

 

   Exact Cell Decomposition for C= R2   

Assumptions :

·       The robot A and all the obstacles Bi’s are polygonal

·       C-free is bounded

 

Definitions :

  A convex polygonal decomposition K of C-free is a finite collection of convex polygons , called cells, such that the interiors of any two cells do not intersect and the union of al the cells is exactly C-free.

Two cells K, K’ are adjacent iff  K ∩ K’ is a line segment of non-zero length.

The connectivity graph associated with a conves polygonal decomposition K of C-free is an undirected graph G where

·       nodes in G correspond to cells in K

·       nodes connected by edge in G iff corresponding cells adjacent in K

 

Path Planning with a Convex Polygonal Decomposition

Input : configurations qinit and qgoal, and CB, which has to be a polygonal region

Output : a path in C-free connecting qinit and qgoal

1.    Build K, the convex polygonal decomposition of CB.

2.    Construct the connectivity graph G of K.

3.    Locate the cells kinit and kgoal in K containing qinit and qgoal .

4.    Find a path in G between the nodes corresponding to kinit and kgoal –corresponds to a sequence of cells forming a channel in C-free.

5.    Find a free path from qinit to qgoal in the channel.

 

Getting a path from a channel

Let k1,k2,….,kp denote the channel in C-free, where k1 = kinit and kp = kgoal

Goal : find a path ( 1-dimentional curve) from qinit to qgoal that is contained in the interior of the channel.

Solution : Use midpoints of cell boundaries as crossing points between cells.

Let Qi denote the midpoint of the line segment common to both ki and ki+1 in the channel, i.e., Qi is the midpoint of kiki+1

Then qinit, Q1,Q2,…,Qp-1,qgoal is a path in the channel.

 

 

 

Building K – Trapezoidal Decomposition

Basic Idea : at every vertex of CB, extend a vertical line up and down in C-free until it touches a C-obstacle or the boundary of C-free.

 

SweepLine Algorithm : Build Trapezoidal Decomposition

Input : boundary representation of CB

Output : trapezoidal decomposition of CB

1.     sort the vertices of CB by x-coordinates

2.    ‘sweep’ a vertical line L from left to right, stopping at each vertex v in CB.

 

 

 

 

 

 

 

 

 

 

 

Exact Decomposition for moving a ladder in a plane

The robot A is a line segment of length (called a ladder) which can translate and rotate in a plane.

The workspace W=R2 , and obstacles are polygons and so B is a polygon region

The configuration space C=R2 x [0,2∏)

 

The Critical curve method of Schwartz and Sharir

·       decompose the set of positions of P(the x-y plane corresponding to positions of A’s origin into two-decomposition non-critical regions

·       the structure of the C-obstacles is ‘constant’ in the θ direction above a non-critical region, i.e. the set of C-surfaces intersected by a line perpendicular to x-y plane does not change .

·       boundaries of non-critical regions in the x-y plane are critical curves

·       ‘lift’ 2d non-critical regions into 3d cells (cylinders)

·       compute the adjacency relationships between the cells (connectivity graph)

 

 

 

 

 

Properties of critical curves

·       critical curves partition the x-y plane into non-critical regions

·       within each non-critical region, a line perpendicular to the x-y plane intersects the same set of C-surfaces

·       at a critical curve, the set of C-surfaces intersected by a line perpendicular to the x-y plane changes

·       within a non-critical region, the value of θ determines the allowed configurations

Critical curves for a Ladder

·       Type-A surface : segment PQ contains an obstacle vertex

·       Type-B surface : P or Q is contained in an obstacle edge

The critical curves are projections onto the x-y plane of the following curves in R2 x [0,2∏)

1.    projections  of curves that bound C-obstacle faces (i.e., C-obstacle edges)

2.    projections of curves in C-obstacle faces where the tangent plane to the face is perpendicular to the x-y plane

 

 

 

Methods to find critical curves

·       compute a boundary representation of CB, project all the edges onto the x-y plane, and find all faces with tangent planes perpendicular to the x-y plane and project the curves in these faces to the x-y plane

·       construct the critical curves by working directly with the obstacles in W , i.e., consider all possible contacts

 

Exact Decomposition of Cfree  

·       Partition cylinders into cells

Definition  :

·       F(x,y) is the set of all free orientations of PQ when P is at a non-critical position (x,y), i.e.,

F(x,y) = { θ | (x,y,θ) ε Cfree }

If all orientations of PQ at position (x,y) are free, then F(x,y) =[0,2∏) .

·       A stop is the vertex or edge of B that PQ contacts at the limiting orientations in an interval in F(x,y). Each interval in F(x,y) has two stops – a clockwise stop and a counterclockwise stop.

·       1(x,y,s) is the value of θ where PQ contacts clockwise stop s with P in position (x,y). 2(x,y,s’) is the value of θ for counterclockwise stop s’

·       σ(x,y) is the set of all pairs of stops associated with intervals in F(x,y). If F(x,y) = [0,2∏), then σ(x,y) =[Ω,Ω].

 

·       Let R be a non-critical region, and let (x,y) and (x’,y’) be any two positions in R. Then the intervals in F(x,y) and F(x’,y’) have the same set of stops, i.e., σ(x,y)=σ(x’,y’). Let σ(R) denote this set of stops.

·       Let R be a non-critical region, and let [s1,s2] ε σ(R).

 (R,s1,s2) = { (x,y,θ) | (x,y) ε R and θ ε (1(x,y,s1),2(x,y,s2)) } is called a cell, i.e., cell(R, s1,s2) is the set of all points in the ‘cylinder’ above R such that PQ is oriented between the two stops s1 and s2. It is a open connected subset of Cfree.

 

Building a connectivity graph

Definition : cells cell(R,s1,s2)  and cell(R,s1’,s2’) are adjacent iff

(i)                           the boundaries of R and R’ ,R and R’ share a critical curve segment β , and

(ii)                        (x,y) ε int(β),

(1(x,y,s1),2(x,y,s2)) ∩ (1(x,y,s1’),2(x,y,s2’)) 0

Thus if two cells k and k’ are adjacent, then any configuration in k can be connected to any configuration in k’ by a free path whose projection onto the x-y plane crosses β transversely, with a constant orientation is some neighborhood of the crossing point.  

 

 

 

 

Computing adjacent cells

Let R and R’ be two non-critical regions such that β is a critical curve section common to the boundaries of both R and R’ .

An exclusive case analysis would show that whenever int(β) is crossed transversely the set σ(x,y) changes in one of thew following ways

·       one new pair of stops appears in σ(x,y)

·       one old pair of stops disappears from σ(x,y)

·       one of the stops in a pair [s1,s2] currently in σ(x,y) changes, i.e., [s1,s2] is replaced by [s1’,s2’] and either s1=s1’ or s2=s2’

 

 

Crossing rule for β

1.        for each [s1,s2] ε σ(R) ∩ σ(R’),

          cell(R,s1,s2) is adjacent to cell(R’,s1,s2)

2.        for each [s1,s2] =σ(R) – σ(R’) and [s1’,s2’] =σ(R’) – σ(R) (if they exist), cell(R,s1,s2) is adjacent to cell(R’,s1’,s2’).

In this case, one of the following conditions hold :

(a)            s1 = s1’ , or

(b)            s2 = s2’ , or

(c)            s1 = s2 = Ω or s1’ = s2’ = Ω

 

 

 

The connectivity graph and motion planning

Definition : The connectivity graph corresponds to the exact decomposition of Cfree into cells is an undirected graph  in which

·       nodes corresponds to cells(R, s1,s2), where R is a non-critical region and [s1,s2] ε σ(R)

·       two nodes are connected by an edge iff their corresponding cells are adjacent.

 

Motion Planning

1.    enumerate all the critical curves

2.    compute their arrangements

3.    find the non-critical regions and their stops

4.    determine the cell adjacencies

5.    locate the cells containing qinit and qgoal

6.    find a path in G between the nodes corresponding to the cells containing qinit and qgoal