Title: Exact Arrangements and Motion Planning
1Exact Arrangementsand Motion Planning
2Planar Arrangements
Given a collection C of curves in the plane, the
arrangement of A(C) is the subdivision of the
plane into vertices, edges and faces induced by
the curves in C.
3CGALs Arrangement Package(Ezra, Flato, Fogel,
Hanniel, Hirsch, Nechushtan)
CGALs arrangement package handles the topology
of planar arrangements and separates it from the
geometry of the curves
- It constructs the underlying DCEL and maintains
the connection between the half-edges and their
generating curves. - The arrangement may either be constructed
incrementally,or using a sweep-line algorithm. - Point-location queries are supported.
4Robustness Issues
The package is designed to handle all sorts of
degenerate inputs, such as
Assuming correctness of the geometric methods.
5The Arrangement Traits Concept
The geometric predicates and constructions are
supplied by a so-called traits class, which
should
- Divide a curve to x-monotone sub-curves.
- Compare two sub-curves at a given x-coordinate.
- Compare two sub-curves next to their
intersection. - Determine if a given point is above, below or on
a sub-curve. - Compute the intersection points (or overlaps) of
two curves.
6Existing Arrangement Traits
7More Robustness Issues
The traits classes implement robust predicate and
exact constructions (e.g. of intersection points)
using exact arithmetic and exact number types
- The segment traits and the polyline traits use
rational numbers with unbounded integers. - The conic traits class uses algebraic numbers
(from the LEDA or the CORE libraries). - Filters are massively used for speed-ups.
8Translating Polygonal Robot
9Translating Polygonal Robot(E. Flato, 2000)
- Divide the robot into convex polygons Q1, , Qm.
- For each obstacle P(k)
- Divide into convex polygons P1(k), , Pnk(k).
- Compute
- Compute the union of the C(k) polygons and
construct the vertical decomposition into
pseudo-trapezoids. - Construct the connectivity graph for the
pseudo-trapezoids.
10Translating Disc Robot
11Translating Disc Robot(S. Hirsch and E.
Leiserowitz, 2001)
- Infalte each obstacle P(k) by the radius of the
robot and obtain C(k), whose boundary is a
collection of line segment and circular arcs. - Compute the union of the C(k) pseudo-polygons and
construct the vertical decomposition into
pseudo-trapezoids. - Construct the connectivity graph for the
pseudo-trapezoids.
12Hybrid Motion Planning Two Discs Moving among
Polygonal Obtacles(S. Hirsch and D. Halperin,
2002)
There are 4 degrees of freedom. The problem is
reduced to simpler planar motion planning
problems, then lifted back to ?4.
13The Configuration Space
14Configurations for Two Discs
- Let D1 and D2 denote the two disc robots.
- Compute Cfree(1) and Cfree(2), the free
configuration for each robot (disregarding the
other robot).
- Let c1(1),, cm1(1) and c1(2),, cm2(2) be
the decomposition of Cfree(1) and Cfree(2) to
pseudo-discs.
- Let us denote Cijci(1)?cj(2), and Cfree
?i,jCi,j
- Denote Cfree- ?i,jCi,j (ci(1)?D1) ?
(cj(2)?D2) ?
15Hybrid Roadmap Construction
- Construct Cfree(1) and Cfree(2) exactly, and
compute the vertical decompositions c1(1),,
cm1(1) and c1(2),, cm2(2).
- In-cell connection For each cell Cijci(1)?cj(2)
construct its connectivity graph Gij using a
local planner.
- Inter-cell connection For each pair of adjacent
cells Cij and Ckl, connect connected components
of Gij and Gkl.
- Stitching For each pair Vi and Vj of connected
components of the initial roadmap G, try to merge
the two components into a single connected
component.
16Features of HyMP
- Reliance on exact computation wherever possible.
- The explicit representation of Cfree allows us
to provide disconnection proofs.
- Insensitivity to narrow passages (and sometimes
even tight passages).
17Experimental Results
18Coordinating a Milling CutterComputing the Lower
Envelope of Line Segments and Hyperbolic
Arcs(Ongoing work with G. Elber and O. Ilusihin)
Motion planning for a CAD application.
19Motivation
A milling cutter rotating in an environment of
polyhedral surfaces, and should be moved without
touching those surfaces.
20Exact Solution
- Select a plane that contains the symmetry axis of
the rotating cutter.
- Compute the lower envelope of the collection and
check whether it intersects with the cutter.
21Implementation Details
- A new CGAL package was developed for computing
the lower (and upper) envelope of a collection of
curves. - The package employs the divide-and-conquer
algorithm for computing the lower envelope in O(n
logn) time. - However, no general position assumptions are
made - Curves may overlap.
- Vertical segments are supported, etc.
- The package also separates the topology for the
geometry. It makes use of a traits class with the
same predicates and methods as the one use by the
Arrangement package.
22Preliminary Results
Using exact computation, the lower envelope of
500 hyperbolic arcs is computed in 8 seconds
(where about 50 curves form the lower envelope).