470 likes | 481 Views
This research paper discusses the problem of caging a rigid object using two fingers and finding maximal and minimal cage configurations. It presents a solution using graph representation and shortest path algorithms.
E N D
Two Finger Caging of Concave Polygon Peam Pipattanasomporn Advisor: Attawith Sudsang
Outline • Objectives & Basic Concepts • Maximal Cage Problem • Minimal Cage Problem • Discussion & Conclusion
Definition of Caging • Object is caged when it cannot escape to infinity w/o penetrating obstacles. • Our system: • Rigid Object, represented with simple polygons. • 2 Point Fingers. • On a plane, 2D problem.
Objectives • “Determine sets of configurations that can cage the object with two fingers.”
Objectives • Characterize ALL maximal cages & minimal cages.
Previous Work • Rimon & Blake’s: Two 1-DOF finger caging • Largest cage that leads to a certain immobilizing grasp. • Topological change of Free (configuration) space.
Our Work • Transform the Configuration space into a Search graph. • All largest possible cages. • Not cage that leads to a specified immobilizing grasp.
Configuration Space • System of 7-DOF • 3-DOF rigid object orientation/position • 2x2-DOF positions of the fingers • However, whether the object is caged is independent from choice of coordinates (3-DOF ambiguity.)
Configuration Space • Fix the rigid object’s orientation/position. • 2x2-DOF positions of the fingers (u, v). • Analyze motion of fingers relative to the object. • Object is not caged when two fingers are at the same point.
Maximal Cage • A connected set containing every configuration (u, v) that can cage the object. • A maximal cage is associated with ONE critical distance d+.
Critical Distance d+ • Least separation distance between fingers that allows object to escape. • d+(u,v) • Different d+impliesDifferentmaximal cage.
Problem Definition • Characterize all Maximal Cages. • Set Description • Describe configurations in a maximal cage. • By a configuration in the maximal cage and its d+. • Point Inclusion • Which maximal cage a configuration (u, v) is in? • If so, what is d+ of the maximal cage?
Determining d+(u, v) • To characterize a maximal cage, we need: • A configuration (u,v) inside a maximal cage. • d+ of such configuration. • How to determine d+(u,v), least upper-bound separation distance that allows the object to escape? • Consider an escape motion starting from (u,v). u v
d+(u, v) • Consider all possible escape motions starting from (u, v) for least separation distance. • Infinitely many motions.
5 8 P Solution Overview • R4 Config’ Space Finite Graph • A Fingers’ Motion A Path in the Graph • Configuration (u, v) State P, (u,v) P • Separation distance Transition distance u v Upper-bound separation distance Upper-bound Transition Distance
R4 Config’ Space Finite Graph A Fingers’ Motion A Path in the Graph Configuration (u, v) State P, (u,v) P Separation distance Transition distance d+(u, v) d+P To determine d+ of a configuration is to determine d+ of a state. Solution Overview
Graph Construction • States • Partition R4 Configuration Pieces Pi (States)
Graph Construction • States’ Representatives: • Each representative is a certain configuration (u, v) inP, d+P = d+(u, v). • Finding d+ of all representatives (d+P for all P) is sufficient to characterize all maximal cages.
Configuration Space Partitioning*** • Configuration that squeezes to the same pair of edges is in the same configuration piece. • State Configuration Piece • State can be referred by an edge pair: {ei, ej} ei ej
Piece’s Property • From any (u, v) in a piece P:{ei, ej}, there exists a “non-increasing separation distance” finger motion from (u, v) to a local minimum of P.
Piece Property • FACT: Each piece partition this way is associated with at most ONE maximal cage. • FACT: If a configuration in piece is in a maximal cage, then its local minimum is as well.
Piece Property • Use the state’s local minimum as state’s representative. • Consequently: Computing d+ of all representatives is sufficient for characterizing all maximal cages.
Transitions • Two nearby pieces P, Q in R4 is linked with PQ. • Represents Fingers’ Motion from local minimum of P to that of Q with least upper-bound separation distance. • Transition distance [PQ] = Least upper-bound separation distance of such Motion.
Transition Concatenation • Concatenating a series of transitions from P to a piece associated with {ek, ek} (k is a constant) to obtain an Escape Path. • An Escape Path implies An Escape Motion.
d+ of Piece • d+P is obtained from an Escape Path with least upper-bound transition distance.
Reduction to Shortest Path Prob. • Use Dijkstra’s Algorithm to solve this problem. • With an upper-bound fact: • d+P ≤ max(d+Q, [PQ]) • Instead of: • d+P ≤ d+Q + |PQ| • Start from any {ek, ek}
Running Time Analysis • O(n2) states. (n = # edges) • Partitioning requires O(1) for each state O(n2). • Dijkstra’s Algorithm takes: O(n2 lg n + t), t = number of transitions. • Only “basic transitions” should be included in the graph.
Basic Transitions • At most 3 basic transitions for each distinct pair of edge ei and vertex v. • Link between edges sharing v (ej, ek). • Link between an edge w/ v as an end point and em. • x is a projection of v on ei
Transition Distance • = |v – x| • Transition: Sliding fingers from one local minimum to the other. • Candidates: fingers’ motion on edges. • v must be included in the motion. • Transit between pieces at (v, x) is minimal. • Recall: “Piece’s Property”
Basic Transitions are Sufficient • Possible non-basic transition (a). • Replace such with sequence of basic transitions w/ equal (or less) upper-bound separation distance.
Basic Transitions • Require a ray-shoot for em . • O((√k) lg n) for each ray-shoot query. • Ray-shoot algorithm require O(n2) pre-computation time. • (k = # simple polygons.) • By Hershberger & Suri.
Running Time Analysis • Total time required: O(n2 (√k) lg n) • O(n2 (√k) lg n) for pre-computation • O(n2 lg n) for d+ propagation w/ Dijkstra’s. • O((√k) lg n) for maximal cage query.
Maximal Cage Query • If d+ of local minimum of P (d+P) is known. • Given (u, v) in piece P. • If |u-v| < d+P , (u, v) is in a maximal cage. • Squeeze (u,v) toan edge pair tofind (u,v)’s containing piece P. • O((√k) lg n)
Critical Distance d- • Greatest separation distance that allows object to escape. • d-(u,v)
Problem Definition • Characterize all Minimal Cages. • Set Description • Describe configurations in a minimal cage. • By a configuration in the minimal cage and its d-. • Point Inclusion • Which minimal cage a configuration (u, v) is in? • If so, what is d- of the minimal cage?
Grouping Configurations • Configuration that stretches to the same pair of vertices is in the same piece. • A piece P is associated with a vertex pair: {vi, vj}(the local maximum) • Every (u, v) in P can move to the local maximum of P with non-decreasing separation motion.
Characterize Minimal Cages • After the graph construction • Piece - pair of vertices • Transitions - basic transitions • Solve all d- with Dijkstra’s Algorithm in the same manner.
Algorithm • Combinatorial Search Algorithm. • n = # vertices, k = # simple polygons • O(n2 √k lg n) pre-computation time (characterize all maximal/minimal cages.) • O(√k lg n) optimal cage query time.
(4.2) Improvement • In characterizing all Maximal Cages. • Partition free space (R2) into ‘r’ Convex Regions. • Pieces are cartesian product of a pair of convex regions.
Improvement • O(n2 +r2 lg r), pre-computation time • O(lg n), maximal cage query time. • Can be applied to characterizing all maximal cages in 3D.