two finger caging of concave polygon
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 PresentationTRANSCRIPT
![Page 1: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/3.jpg)
Objectives & Objectives & Basic ConceptsBasic Concepts
![Page 4: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/6.jpg)
ObjectivesObjectives
Characterize ALL Characterize ALL maximal cages & maximal cages & minimal cages.minimal cages.
![Page 7: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/11.jpg)
Maximal Cage ProblemMaximal Cage Problem
![Page 12: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/16.jpg)
Upperbound Separation DistanceUpperbound Separation Distance
![Page 17: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/17.jpg)
Upperbound Separation Upperbound Separation DistanceDistance
![Page 18: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/18.jpg)
dd++(u, v)(u, v)
![Page 19: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/22.jpg)
Graph ConstructionGraph Construction
StatesStates Partition R4 Partition R4
Configuration Pieces Configuration Pieces PPii (States) (States)
![Page 23: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/39.jpg)
Minimal CageMinimal Cage
![Page 40: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/44.jpg)
Discussion & ConclusionDiscussion & Conclusion
![Page 45: Two Finger Caging of Concave Polygon](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/46.jpg)
(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](https://reader036.vdocuments.site/reader036/viewer/2022062322/56814654550346895db36ac6/html5/thumbnails/47.jpg)
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.