two finger caging of concave polygon

47
Two Finger Caging Two Finger Caging of Concave Polygon of Concave Polygon Peam Pipattanasomporn Peam Pipattanasomporn Advisor: Attawith Sudsang Advisor: Attawith Sudsang

Upload: bebe

Post on 13-Jan-2016

40 views

Category:

Documents


1 download

DESCRIPTION

Two Finger Caging of Concave Polygon. Peam Pipattanasomporn Advisor: Attawith Sudsang. Outline. Objectives & Basic Concepts Maximal Cage Problem Minimal Cage Problem Discussion & Conclusion. Objectives & Basic Concepts. Definition of Caging. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Two Finger Caging of Concave Polygon

Two Finger Caging of Two Finger Caging of Concave PolygonConcave Polygon

Peam PipattanasompornPeam Pipattanasomporn

Advisor: Attawith SudsangAdvisor: Attawith Sudsang

Page 2: Two Finger Caging of Concave Polygon

OutlineOutline

Objectives & Basic Concepts Objectives & Basic Concepts Maximal Cage ProblemMaximal Cage Problem Minimal Cage ProblemMinimal Cage Problem Discussion & ConclusionDiscussion & Conclusion

Page 3: Two Finger Caging of Concave Polygon

Objectives & Objectives & Basic ConceptsBasic Concepts

Page 4: Two Finger Caging of Concave Polygon

Definition of CagingDefinition of Caging

Object is caged when it cannot escape to Object is caged when it cannot escape to infinity w/o penetrating obstacles.infinity w/o penetrating obstacles.

Our system:Our system: Rigid Object, represented with simple Rigid Object, represented with simple

polygons.polygons. 2 Point Fingers.2 Point Fingers. On a plane, 2D problem.On a plane, 2D problem.

Page 5: Two Finger Caging of Concave Polygon

ObjectivesObjectives

““Determine sets of configurations that can Determine sets of configurations that can cage the object with two fingers.”cage the object with two fingers.”

Page 6: Two Finger Caging of Concave Polygon

ObjectivesObjectives

Characterize ALL Characterize ALL maximal cages & maximal cages & minimal cages.minimal cages.

Page 7: Two Finger Caging of Concave Polygon

Previous WorkPrevious Work

Rimon & Blake’s: Two 1-DOF finger cagingRimon & Blake’s: Two 1-DOF finger caging Largest cage that leads to a certain immobilizing Largest cage that leads to a certain immobilizing

grasp.grasp. Topological change of Free (configuration) space.Topological change of Free (configuration) space.

Page 8: Two Finger Caging of Concave Polygon

Our WorkOur Work

Transform the Configuration space into a Search Transform the Configuration space into a Search graph.graph.

All largest possible cages.All largest possible cages. Not cage that leads to a specified immobilizing grasp.Not cage that leads to a specified immobilizing grasp.

Page 9: Two Finger Caging of Concave Polygon

Configuration SpaceConfiguration Space

System of 7-DOFSystem of 7-DOF 3-DOF rigid object orientation/position3-DOF rigid object orientation/position 2x2-DOF positions of the fingers2x2-DOF positions of the fingers However, However, whether the object is cagedwhether the object is caged is independent is independent

from choice of coordinates (3-DOF ambiguity.)from choice of coordinates (3-DOF ambiguity.)

Page 10: Two Finger Caging of Concave Polygon

Configuration SpaceConfiguration Space

Fix the rigid object’s Fix the rigid object’s orientation/position.orientation/position.

2x2-DOF positions of 2x2-DOF positions of the fingers (u, v).the fingers (u, v).

Analyze motion of Analyze motion of fingers relative to the fingers relative to the object.object.

Object is not caged Object is not caged when two fingers are at when two fingers are at the same point.the same point.

Page 11: Two Finger Caging of Concave Polygon

Maximal Cage ProblemMaximal Cage Problem

Page 12: Two Finger Caging of Concave Polygon

Maximal CageMaximal Cage

A connected set containing every configuration A connected set containing every configuration (u, v) that can cage the object.(u, v) that can cage the object.

A maximal cage is associated with ONE critical A maximal cage is associated with ONE critical distance ddistance d++..

Page 13: Two Finger Caging of Concave Polygon

Critical Distance dCritical Distance d++

Least separation distance between fingers that Least separation distance between fingers that allows object to escape.allows object to escape.

dd++(u,v)(u,v) Different dDifferent d++ implies implies

DifferentDifferentmaximal cage.maximal cage.

Page 14: Two Finger Caging of Concave Polygon

Problem DefinitionProblem Definition

Characterize all Maximal Cages.Characterize all Maximal Cages. Set DescriptionSet Description

Describe configurations in a maximal cage.Describe configurations in a maximal cage. By a configuration in the maximal cage and its dBy a configuration in the maximal cage and its d++..

Point InclusionPoint Inclusion Which maximal cage a configuration (u, v) is in?Which maximal cage a configuration (u, v) is in? If so, what is dIf so, what is d++ of the maximal cage? of the maximal cage?

Page 15: Two Finger Caging of Concave Polygon

Determining dDetermining d++(u, v)(u, v)

To characterize a maximal cage, To characterize a maximal cage, we need:we need: A configuration (u,v) inside a A configuration (u,v) inside a

maximal cage.maximal cage. d+ of such configuration.d+ of such configuration.

How to determine dHow to determine d++(u,v), least (u,v), least upper-bound separation upper-bound separation distance that allows the object to distance that allows the object to escape?escape? Consider an escape motion starting Consider an escape motion starting

from (u,v).from (u,v).

uu

vv

Page 16: Two Finger Caging of Concave Polygon

Upperbound Separation DistanceUpperbound Separation Distance

Page 17: Two Finger Caging of Concave Polygon

Upperbound Separation Upperbound Separation DistanceDistance

Page 18: Two Finger Caging of Concave Polygon

dd++(u, v)(u, v)

Page 19: Two Finger Caging of Concave Polygon

dd++(u, v)(u, v)

Consider all possible escape motions Consider all possible escape motions starting from (u, v) for least separation starting from (u, v) for least separation distance.distance.

Infinitely many motions.Infinitely many motions.

Page 20: Two Finger Caging of Concave Polygon

Solution OverviewSolution Overview RR4 4 Config’ SpaceConfig’ Space Finite GraphFinite Graph A Fingers’ MotionA Fingers’ Motion A Path in the GraphA Path in the Graph Configuration (u, v)Configuration (u, v) State P, (u,v) State P, (u,v) P P Separation distanceSeparation distance Transition distanceTransition distance

uu

vv

Upper-bound separation distance Upper-bound separation distance Upper-bound Transition Distance Upper-bound Transition Distance

PP

55

88

Page 21: Two Finger Caging of Concave Polygon

Solution OverviewSolution Overview R4 Config’ SpaceR4 Config’ Space Finite GraphFinite Graph A Fingers’ MotionA Fingers’ Motion A Path in the GraphA Path in the Graph Configuration (u, v)Configuration (u, v) State P, (u,v) State P, (u,v) P P Separation distanceSeparation distance Transition distanceTransition distance

dd++(u, v) (u, v) dd++PP

To determine dTo determine d++ of a configuration is to determine d of a configuration is to determine d++ of a of a state.state.

Page 22: Two Finger Caging of Concave Polygon

Graph ConstructionGraph Construction

StatesStates Partition R4 Partition R4

Configuration Pieces Configuration Pieces PPii (States) (States)

Page 23: Two Finger Caging of Concave Polygon

Graph ConstructionGraph Construction

States’ States’ Representatives:Representatives: Each Each representative representative is a is a

certain configuration certain configuration (u, v) in(u, v) in P, P, dd++

P P = d= d++(u, v)(u, v)..

Finding dFinding d+ + of all of all representatives (drepresentatives (d++

PP for for

all P) is sufficient to all P) is sufficient to characterize all maximal characterize all maximal cages.cages.

Page 24: Two Finger Caging of Concave Polygon

Configuration Space Configuration Space Partitioning***Partitioning***

Configuration that Configuration that squeezes to the same squeezes to the same pair of edges is in the pair of edges is in the same configuration same configuration piece.piece.

State State Configuration Configuration PiecePiece

State can be referred by State can be referred by an edge pair: {ean edge pair: {e ii, e, ejj}}

eeii

eejj

Page 25: Two Finger Caging of Concave Polygon

Piece’s PropertyPiece’s Property

From any (u, v) in a piece P:{eFrom any (u, v) in a piece P:{e ii, e, ejj}, there exists }, there exists

a “non-increasing separation distance” finger a “non-increasing separation distance” finger motion from (u, v) to a local minimum of P.motion from (u, v) to a local minimum of P.

Page 26: Two Finger Caging of Concave Polygon

Piece PropertyPiece Property

FACT:FACT: Each piece partition this way is associated Each piece partition this way is associated with at most ONE maximal cage.with at most ONE maximal cage.

FACT: FACT: If a configuration in piece If a configuration in piece is in a maximal is in a maximal cagecage, then its, then its local minimum is as well local minimum is as well..

Page 27: Two Finger Caging of Concave Polygon

Piece PropertyPiece Property

Use the state’s local minimum as state’s Use the state’s local minimum as state’s representativerepresentative..

Consequently: Consequently: Computing dComputing d++ of all of all representatives is sufficient for representatives is sufficient for characterizing all maximal cages.characterizing all maximal cages.

Page 28: Two Finger Caging of Concave Polygon

TransitionsTransitions

Two nearby pieces P, Q in RTwo nearby pieces P, Q in R44 is linked is linked with Pwith PQ.Q.

Represents Fingers’ Represents Fingers’ MotionMotion from local from local minimum of P to that of Q with least upper-minimum of P to that of Q with least upper-bound separation distance.bound separation distance.

Transition distance [PTransition distance [PQ] = Least upper-Q] = Least upper-bound separation distance of such bound separation distance of such MotionMotion..

Page 29: Two Finger Caging of Concave Polygon

Transition ConcatenationTransition Concatenation

Concatenating a series of Concatenating a series of transitions from P to a piece transitions from P to a piece associated with {eassociated with {ekk, e, ekk} (k is } (k is

a constant) to obtain an a constant) to obtain an Escape PathEscape Path..

AnAn Escape Path Escape Path implies implies An An Escape MotionEscape Motion..

Page 30: Two Finger Caging of Concave Polygon

dd++ of Piece of Piece

dd++PP is obtained from an is obtained from an

Escape Path with least Escape Path with least upper-bound transition upper-bound transition distance.distance.

Page 31: Two Finger Caging of Concave Polygon

Reduction to Shortest Path Prob.Reduction to Shortest Path Prob.

Use Dijkstra’s Algorithm to Use Dijkstra’s Algorithm to solve this problem.solve this problem.

With an upper-bound fact:With an upper-bound fact: dd++

PP ≤ max(d ≤ max(d++QQ, [P, [PQ])Q])

Instead of:Instead of: dd++

PP ≤ d ≤ d++QQ + |P + |PQ|Q|

Start from any {eStart from any {ekk, e, ekk}}

Page 32: Two Finger Caging of Concave Polygon

Running Time AnalysisRunning Time Analysis

O(nO(n22) states. (n = # edges)) states. (n = # edges) Partitioning requires O(1) for each state Partitioning requires O(1) for each state

O(nO(n22).). Dijkstra’s Algorithm takes: O(nDijkstra’s Algorithm takes: O(n22 lg n + t), lg n + t),

t = number of transitions.t = number of transitions. Only “basic transitions” should be included Only “basic transitions” should be included

in the graph.in the graph.

Page 33: Two Finger Caging of Concave Polygon

Basic TransitionsBasic Transitions

At most 3 basic At most 3 basic transitions for each transitions for each distinct pair of edge edistinct pair of edge e ii and vertex v.and vertex v. Link between edges Link between edges

sharing v (esharing v (ejj, e, ekk).). Link between an edge Link between an edge

w/ v as an end point w/ v as an end point and eand emm..

x is a projection of v x is a projection of v on eon eii

Page 34: Two Finger Caging of Concave Polygon

Transition DistanceTransition Distance

= |v – x|= |v – x| Transition: Sliding fingers Transition: Sliding fingers

from one local minimum from one local minimum to the other.to the other.

Candidates: fingers’ Candidates: fingers’ motion on edges.motion on edges.

v must be included in the v must be included in the motion.motion.

Transit between pieces at Transit between pieces at (v, x) is minimal.(v, x) is minimal.

Recall: “Piece’s Property”Recall: “Piece’s Property”

Page 35: Two Finger Caging of Concave Polygon

Basic Transitions are SufficientBasic Transitions are Sufficient

Possible non-basic transition (a).Possible non-basic transition (a). Replace such with sequence of basic Replace such with sequence of basic

transitions w/ equal (or less) upper-bound transitions w/ equal (or less) upper-bound separation distanceseparation distance..

Page 36: Two Finger Caging of Concave Polygon

Basic TransitionsBasic Transitions

Require a ray-shoot for eRequire a ray-shoot for emm

.. O((√k) lg n) for each ray-O((√k) lg n) for each ray-

shoot query.shoot query. Ray-shoot algorithm Ray-shoot algorithm

require O(nrequire O(n22) pre-) pre-computation time.computation time.

(k = # simple polygons.)(k = # simple polygons.) By Hershberger & Suri.By Hershberger & Suri.

Page 37: Two Finger Caging of Concave Polygon

Running Time AnalysisRunning Time Analysis

Total time required: O(nTotal time required: O(n2 2 (√k) lg n)(√k) lg n) O(nO(n2 2 (√k) lg n) for pre-computation(√k) lg n) for pre-computation O(nO(n22 lg n) for d lg n) for d++ propagation w/ Dijkstra’s. propagation w/ Dijkstra’s. O((√k) lg n) for maximal cage query.O((√k) lg n) for maximal cage query.

Page 38: Two Finger Caging of Concave Polygon

Maximal Cage QueryMaximal Cage Query

If dIf d++ of local minimum of P (d of local minimum of P (d++PP) is known.) is known.

Given (u, v) in piece P.Given (u, v) in piece P.

If |u-v| < dIf |u-v| < d++PP , (u, v) is in a maximal cage. , (u, v) is in a maximal cage.

Squeeze (u,v) toSqueeze (u,v) toan edge pair toan edge pair tofind (u,v)’s find (u,v)’s containing piece P.containing piece P.

O((√k) lg n)O((√k) lg n)

Page 39: Two Finger Caging of Concave Polygon

Minimal CageMinimal Cage

Page 40: Two Finger Caging of Concave Polygon

Critical Distance dCritical Distance d--

Greatest separation distance that allows object to Greatest separation distance that allows object to escape.escape.

dd--(u,v)(u,v)

Page 41: Two Finger Caging of Concave Polygon

Problem DefinitionProblem Definition

Characterize all Minimal Cages.Characterize all Minimal Cages. Set DescriptionSet Description

Describe configurations in a minimal cage.Describe configurations in a minimal cage. By a configuration in the minimal cage and its dBy a configuration in the minimal cage and its d--..

Point InclusionPoint Inclusion Which minimal cage a configuration (u, v) is in?Which minimal cage a configuration (u, v) is in? If so, what is dIf so, what is d-- of the minimal cage? of the minimal cage?

Page 42: Two Finger Caging of Concave Polygon

Grouping ConfigurationsGrouping Configurations

Configuration that Configuration that stretches to the same stretches to the same pair of vertices is in the pair of vertices is in the same piece.same piece.

A piece P is associated A piece P is associated with a vertex pair: {vwith a vertex pair: {vii, v, vjj}}(the local maximum)(the local maximum)

Every (u, v) in P can Every (u, v) in P can move to the local move to the local maximum of P with non-maximum of P with non-decreasing separation decreasing separation motion.motion.

Page 43: Two Finger Caging of Concave Polygon

Characterize Minimal CagesCharacterize Minimal Cages

After the graph constructionAfter the graph construction Piece - pair of verticesPiece - pair of vertices Transitions - basic transitionsTransitions - basic transitions

Solve all dSolve all d-- with Dijkstra’s Algorithm in the with Dijkstra’s Algorithm in the same manner.same manner.

Page 44: Two Finger Caging of Concave Polygon

Discussion & ConclusionDiscussion & Conclusion

Page 45: Two Finger Caging of Concave Polygon

AlgorithmAlgorithm

Combinatorial Search Algorithm.Combinatorial Search Algorithm. n = # vertices, k = # simple polygonsn = # vertices, k = # simple polygons O(nO(n22 √k lg n) pre-computation time √k lg n) pre-computation time

(characterize all maximal/minimal cages.)(characterize all maximal/minimal cages.) O(√k lg n) optimal cage query time.O(√k lg n) optimal cage query time.

Page 46: Two Finger Caging of Concave Polygon

(4.2) Improvement(4.2) Improvement

In characterizing all Maximal Cages.In characterizing all Maximal Cages. Partition free space (RPartition free space (R22) into ‘r’ Convex Regions.) into ‘r’ Convex Regions. Pieces are cartesian product of a pair of convex Pieces are cartesian product of a pair of convex

regions.regions.

Page 47: Two Finger Caging of Concave Polygon

ImprovementImprovement

O(nO(n2 2 ++ rr22 lg r), pre-computation time lg r), pre-computation time O(lg n), maximal cage query time.O(lg n), maximal cage query time. Can be applied to characterizing all Can be applied to characterizing all

maximal cages in 3D.maximal cages in 3D.