The above algorithm assumed sublevel equivalence of free c-space,F, and contact space,U, as well as that ofU and the caging graph,G. This section first shows the sublevel equivalence ofU andG, using the convexity of the inter-finger distance function. It then considers the case when sublevel equivalence of U and F fails, and shows that simple changes can restore sublevel equivalence ofU andF.
3.9.1 Sublevel Equivalence of U and G
The caging graph depends on the following decomposition ofU having some useful properties.
Lemma 3.9.1 The function dpsq ||pps1, s2q pps3, s4q|| is a smooth convex function in each contact-space polychoron.
Proof Each contact-space polychoron,Pij, represents the placement of the fingers on two particular faces ofB. Consider the infinite planes underlying these faces. All non-parallel planes meet along a common line. Parameterize the position of a point on each plane as in Fig. 3.8, yielding p1 ps1, s2,0qandp2 ps3cosθ, s4, s3sinθq. The inter-finger distance function can be written in these coordinates asdpsq sTKs12
, where
K
1 0 cosθ 0
0 1 0 1
cosθ 0 1 0
0 1 0 1
.
The eigenvalues of K aret0,2,1cosθu, which are all non-negative. Thus K is positive semi- definite and dpsq ||K1{2s||. The function dpsq is thus a composition of the Euclidean norm (a convex function) with the linear functionK1{2s. Such a composition preserves convexity, and dpsq
is therefore convex in each polychoron,Pij. l
The next corollary follows from Lemma 3.9.1 and the definition of convexity.
Corollary 3.9.2 Let s ands1 be two points on the boundary of a single contact-space polychoron, Pij. The straight line path between these two points lies in a single connected component of the c-sublevel setU¤c wherecmaxtdpsq, dps1qu.
Definition 3.9.3 A c-sublevel set of the caging graph G is the set of nodes, v, given by G¤c tvpsq PG:dpsqq ¤cu.
s
2,s
4s
1s
3z y
x
θ
Figure 3.8: A parameterization of two infinite planes, which demonstrates the convexity ofdpsq. The following theorem asserts thatGpreserves the sublevel connectivity of contact space,U. Theorem 3.9.4 The caging graph G issublevel equivalent to contact space, U. That is, there exists a path in U between two nodes vi, vj PG, lying entirely in U¤c, if and only if there exists a path along the edges of Gbetweenvi andvj lying entirely inG¤c.
Proof For the forward direction, start with a path between two nodes, vi, vj PU, lying entirely in U¤c. Divide this path into segments such that each segment lies in one contact-space polychoron.
Next, replace each path segment with a straight line path between the segment’s endpoints. By the convexity of dpsq on the individual contact-space polychoron, the maximum value of dpsq on each straight line segment is upper bounded by the value of dpsqat its endpoints. The path connecting vi and vj is now piecewise linear. On each linear segment of this path, the value of dpsq is still upper bounded by caccording to Corollary 3.9.2. The two endpoints of each linear segment lie on the boundary of some polychoronPij. Shift each endpoint to the minimum point ofdpsqalong the same boundary edge ofPij, which is always a node ofG. This local shifting can onlydecreasethe value ofdpsq for that endpoint. The equivalent path inGthus lies entirely in the discrete sublevel setG¤c.
For the backwards direction, start with a discrete path between the nodesviandvjlying entirely in G¤c. For each pair of adjacent nodes along the path, connect the two nodes by a straight line segment inU. Each straight line segment lies in one polychoron,Pij. The maximum value ofdpsq along each segment is upper bounded by the value of dpsqat either endpoint, per Corollary 3.9.2.
The entire piecewise linear path thus lies inU¤c. l
The following corollary is a direct result of Theorem 3.9.4.
Corollary 3.9.5 The caging graphGhas the two properties:
1. The critical points of dpsq in each connected component of U¤c correspond to a connected subgraph of Gcontaining only the critical points lying in that component.
2. Every pair of sublevel sets ofdpsqinU that meet at a puncture point,vPU, correspond to two subgraphs of Gthat meet at the corresponding node,vPG.
3.9.2 The Sublevel Equivalence of U and F
To ensure sublevel set equivalence of U and F, we must consider the topological changes which occur in each. Above we analyzed the topological changes at point q0 pp01, p02qin free c-space, F, based on the topology of two regions ofF,M1andM2. Consider similar regions inU, namely the intersection of theboundary of the polyhedron and the medial region,M, around each of the finger placements. Denote these regionsM11 andM12. Note thatM1i is just the restriction ofMi to the boundary ofB.
The previous determination of the topology of Mi around contact points only assumes that if p1 p01 r1v1 lies outside (or on the boundary) of B, thenp01 αv1 also lies outside (or on the boundary) ofB, forαP p0, δq. This assumption is true when restricting the fingers to the boundary of B, so the resulting tests may be used to characterize U as well. Thus, if M11 and M12 are both empty, then at grasp q0, an isolated point of U appears, which did not exist in U¤d0, where d0dpq0q. This point would be an immobilizing grasp if finger motions were restricted toU. IfM11
is empty andM12 is disconnected, then atq0, two (or more) regions ofU which were disconnected in U¤d0 join to form a connected component inU¤d0. This point would be a puncture grasp if finger motions were restricted toU. If neither condition holds, then the topology of sublevel sets of U do not change atq0.
We must now consider when the topology of sublevel sets of U and F change, and when those changes differ. Each region, Mi and M1i may be either empty, connected, or disconnected. It can be shown that ifMi is empty, then M1i is also empty, and that if Mi is disconnected, then M1i is also disconnected. Thus, there are only two cases in which the topology ofMi andM1i may differ:
1)Mimay be connected whileM1i is disconnected, or 2)Mimay be connected whileM1i is empty.
Adding the three cases where the topology of Mi and M1i are the same (both empty, both connected, or both disconnected), there are five possibilities for the topology of the Mi-M1i pairs, resulting in 25 combinations when considering both contacts. Out of those 25 combinations, there are nine cases in which the topological changes of F and U differ, but these nine cases only take two forms, which we refer to asfalse immobilizing grasps andfalse puncture grasps. Both of these cases, and their effect on the sublevel equivalence of U and F will be considered in the following subsections.
Note that for aregular grasp at q0 pp01, p02q, each connected componentM1i is associated with exactly one connected component ofMi, specifically the portion of free space located between that component ofMi and the boundary plane,Ei. Thus, for aregular grasp, the topology change inU is the same as forF at every point.
3.9.3 Sublevel Equivalence at False Immobilizing Grasps
In a false immobilizing grasp,M11andM12are both empty, while eitherM1orM2is connected (or both). Thus, atq0, an isolated point appears inU, while no topological change occurs inF. InU, this appears to be an immobilizing grasp. The examples in Fig. 3.6 are false immobilizing grasps if the material lies above and below the contact points, rather than between them.
Consider the changes of topology in bothU andF around a false immobilizing grasp atq0. InU, the sublevel setU¤d0 is empty in a neighborhood ofq0. The sublevel set U¤d0 is the single point q0, andU¤d0 is a small region aroundq0. This cavity is isolated from other points inU. There is no change in the topology of sublevel sets ofF near q0, and U and F are not sublevel equivalent.
An isolated point appears inU, but this point must lie in a connected component ofF containing other double-contact points. The tunnel curve construction found below is essentially a constructive proof of this fact, and restores sublevel equivalence.
3.9.4 Sublevel Equivalence at False Puncture Grasps
In a false puncture grasp, M11 is empty and M12 is disconnected (or vice versa), while eitherM1 or M2 is connected. Thus, at q0, two disconnected regions inU join, while no topological change occurs inF. InU, this appears to be a puncture grasp. The examples in Fig. 3.7 are false puncture grasps if the material lies above and below the contact points, rather than between them.
At a false puncture grasp, the changes in topology of F¤c and U¤c are qualitatively different, but sublevel equivalence still holds. At these types of grasp, two disconnected regions inU join atq0, while the same regions are locally connected inF¤d0. However, ifU andFare sublevel equivalent fordpsq d0, then the two regions must already be connected inU¤d0. As long as sublevel equivalence is not violated for inter-finger distances smaller thand0, the changes in topology at q0will not violate sublevel equivalence.
3.9.5 Tunnel Curve Construction
To maintain sublevel equivalence between U and F at a false immobilizing grasp, we will add a tunnel curve, which is a path lying inF with endpoints inU, to both U and G. This additional connectivity will guarantee thatF,U, andGremain sublevel equivalent.
At a false immobilizing grasp, at least one finger can move away from objectBin a straight line towards the other finger. Retract this finger while holding the other finger fixed on B’s boundary, until the finger hits a new surface of B. Both fingers now contact the object along its boundary.
Slide both fingers simultaneously along the body while minimizingσ(i.e., squeeze the fingers), until reaching the unique minimum of the inter-finger distance on these surfaces. This defines the tunnel- curve’s endpoint. If, during the closing process, the fingers meet, the tunnel curve’s endpoint is any
escape point on the current contact-space polychoron. The start and end point of the tunnel curve are nodes of the caging graph,G. For each tunnel curve, add an edge to Gconnecting the nodes representing its endpoints.
The addition of these curves will restore the sublevel equivalence ofF,U, andG, which may be seen as follows. The only points at which the topology of sublevel sets inF andU become different is at a false immobilizing grasp, when an isolated point appears in U¤d0, which is not isolated in F¤d0. Once a tunnel has been added to this point in U (andG), it is not isolated in U¤d0 (orG) when it appears.