210 likes | 340 Views
How do I get there?. Roadmap Methods. Visibility Graph Voronoid Diagram. The Roadmap Idea. Capture the connectivity of C free in a network of 1-D curves: the roadmap. Visibility Graph Method (VGM). No rotation!. Polygonal robot A translating at fix orientation.
E N D
How do I get there? Roadmap Methods • Visibility Graph • Voronoid Diagram
The Roadmap Idea Capture the connectivity of Cfree in a network of 1-D curves: the roadmap
Visibility Graph Method (VGM) No rotation! • Polygonal robot A translating at fix orientation • Polygonal obstacle in R2 • VGM: construct a semi-free path as a simple polygonal line connecting qinit to qgoal
Main Proposition • CB a polygonal region of the plane There exists a semi-free path between qinitand qgoal There exists a simple polygonal line lying in cl(Cfree) with end points qinitand qgoal and such that its vertices are certices of CB
Example qgoal qinit
Visibility Graph - Definition The visibility graph is the non-directed graph G specified as: • Nodes: qinit, qgoal and vertices of CB • Edges: 2 nodes connected if either the line segment joining them is an edge of CB, or it lies entirely in Cfreeat endpoints Algorithm of the visibility graph method: • Construct visibility graph G • Search G for a path from qinit to qgoal • If a path is found, return it; otherwise failure
Constructing the VG: Naïve Approach • X, X’: qinit, qgoal or CB vertices • If X, X’ endpoints of same edge of CB, then the nodes are connected by a link • Otherwise X, X’ are connected by a link iff the line passing through them does not intersect CB • Complexity of algorithm O(n3)
The Visibility Graph in Action (Part 1) • First, draw lines of sight from the start and goal to all “visible” vertices and corners of the world. goal start
The Visibility Graph in Action (Part 2) • Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. goal start
The Visibility Graph in Action (Part 3) • Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. goal start
The Visibility Graph in Action (Part 4) • Second, draw lines of sight from every vertex of every obstacle like before. Remember lines along edges are also lines of sight. goal start
The Visibility Graph (Done) • Repeat until you’re done. goal start
Constructing the VG: Improvement • Variation of sweep-line algorithm • For each X, compute the orientation i of every half-line from X to another point Xi. Sort these orientations. • Rotate half-line from X, from 0 to 2. Stop at each i. At each stop, update intersection with CB • Algorithm is O(n2logn)
Retraction Approach • Def.: X a topological space, Y a subspace of X. A surjective map XY is a retraction iff it is continuous and its restriction to Y is the identity • Def.: the retraction preserves connectivity iff for all xX, x and (x) are in the same path-connected component. • Proposition: Let :Cfree R, where R Cfree is a network of 1D curves, be a CPR. There exists a free-path between qinitand qgoal iff there exists a path in R between (qinit)and (qgoal )
Voronoid Diagram • Def.: let =Cfree. For any q in Cfree, define Clearance(q)=minp d(q,p) Near(q)={p / d(q-p)=clearance(q)} • The Voronoid diagram of Cfreeis the set: Vor(Cfree)={q Cfree/ card(near(q))>1}
General Voronoid Graph A GVG is formed by paths equidistant from the two closest objects This generates a very safe roadmap which avoids obstacles as much as possible
Voronoi Diagram (L2) Note the curved edges
Voronoi Diagram (L1) Note the lack of curved edges