In-Hand Sliding Regrasp With Spring-Sliding Compliance and External Constraints

We investigate in-hand regrasping by pushing an object against an external constraint and allowing sliding at the ﬁngertips. Each ﬁngertip is modeled as attached to a multidimensional spring mounted to a position-controlled anchor. Spring compliance maps contact forces to spring compressions, ensuring the ﬁngers remain in contact, and sliding ‘‘compliance’’ governs the relationship between sliding motions and tangential contact forces. A spring-sliding compliant regrasp is achieved by controlling the ﬁnger anchor motions. We derive the ﬁngertip sliding mechanics for multiﬁngered sliding regrasps and analyze robust regrasping conditions in the presence of ﬁnger contact wrench uncertainties. The results are veriﬁed in simulation and experiment with a two-ﬁngered sliding regrasp designed to maximize robustness of the operation.


I. INTRODUCTION
In-hand manipulation, and specifically regrasping an object within the hand, offers the promise of increased manipulator dexterity [1], [2]. Regrasp can be achieved purely by forces applied by the fingers themselves, or it can be achieved by taking advantage of external forces on the object. As one example, in our previous work regrasp is achieved by accelerating the object such that the inertial load can no longer be resisted by friction with the fingers, causing sliding of the object [1]. Short bursts of such motion can be used to achieve controllable dynamic in-hand sliding regrasps.
In this paper, we focus on quasistatic sliding regrasps taking advantage of contacts between the object and a rigid environment. An example is shown in Fig. 1. After picking up a pair of chopsticks, often the ends of the chopsticks are misaligned, making the chopsticks difficult to use. One strategy is to push the chopsticks against a constraint, bringing the ends into alignment. During this operation, one (or both) of the chopsticks slides within the grasp.
We model each finger as a frictional point contact connected by a three-dimensional linear spring to an anchor point The associate editor coordinating the review of this manuscript and approving it for publication was Pedro Neto . whose motion is controlled in three linear directions. Given the stiffness matrix governing the multidimensional spring, by position-controlling the anchor we can control the force applied to the object and initiate sliding when the contact force reaches the boundary of its friction cone. External contacts provide forces that maintain object force balance during the quasistatic sliding regrasp.
Similar to spring compliance that governs the relationship between contact forces and displacements, frictional sliding is a kind of nonlinear damping ''compliance'' that governs the relationship between tangential frictional forces and tangential sliding velocities. Sliding compliance is a passive dissipative mechanical phenomenon, requiring no active VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ FIGURE 2. Two springy fingers grasp a trapezoid with two point contacts.
The spring anchors move down vertically and push the object against a fixed table. Lines at the contact points show friction cones and arrows show the contact forces applied to the object. When the anchors move from (a) to (b), the vertical springs are compressed and the contact forces increase in the vertical direction. The fingertips are still sticking since the contact forces are within the friction cones. As the anchors move to (c), the contact forces reach the edges of the friction cones and the fingertips start to slide on the contact surfaces. Contact forces from the table keep the object stationary and wrench-balanced.
feedback control. Spring-sliding compliance models are simple and compact (e.g., no finite-element elastic models) but can approximate many real-world contact interactions. Features of this model of contact interaction include: • Spring compliance ensures that fingers remain in contact while sliding over general surfaces. Spring compliance is passive, ensuring stability, and can be mechanically programmable [3], [4].
• With spring compliance, contact forces are determined by finger compressions, so contact force control can be achieved by controlling finger anchor motions and sensing the compression.
• Sliding compliance bounds the possible tangential contact forces and allows sliding for in-hand regrasp. Fig. 2 shows an example of an in-hand sliding regrasp of a trapezoid. When the anchors move down, at first the fingertips remain stationary, the finger springs compress, and the contact forces move toward the boundaries of the friction cones. Once the contact forces reach the friction cone boundaries, the fingertips begin to slide and the springs continue to compress. The grasped object is in quasistatic wrench balance if the sum of the gravitational wrench and contact wrench with the table balances the sum of the finger contact wrenches.
For a given object, robot hand, and rigid environment, we define a grasp configuration as the configuration of the object, the configuration of the fingertips relative to the object, and the configuration of the finger anchors. The goal of this work is to design a quasistatically consistent (forcebalanced at all times) set of finger anchor motions and the object motion relative to the rigid environment such that the fingertips achieve a desired new configuration relative to the object. In the general formulation, the object could slide or roll at its contacts with the environment during the sliding regrasp, but in this paper we focus particularly on the case where the object remains stationary against the environment. This allows us to design sliding regrasps that are robust to force disturbances, in a sense to be defined in Section VII.
After reviewing related work and the problem description, this paper has the following structure: • Finger spring compliance model (Section IV): This section, and the Appendix, describes finger designs and controls that fit the spring-compliance model.
• Finger contact mechanics (Section V): In this section we derive the mechanics of spring-sliding contact. In particular, given a grasp configuration and the object's motion, this section derives the relationship between anchor velocities and fingertip velocities.
• Object mechanics (Section VI): This section describes the quasistatic wrench-balance conditions considering the object's motion and wrenches due to the external contacts, fingertips, and gravity.
• Robustness analysis (Section VII): A planned sliding regrasp is robust to finger contact wrench uncertainty if the planned regrasp succeeds in the face of this uncertainty.
• Sliding regrasp planning (Section VIII): This section describes a general approach to finding feasible and robust object and finger anchor trajectories that realize a desired regrasp.
• Implementation (Section IX): We describe a particular spring-sliding regrasp motion planner for the case of a two-fingered regrasp, where the objective is to maximize robustness of the spring-sliding regrasp. Simulation and experimental results validating the approach are given. Section X concludes with directions for future research.

II. RELATED WORK A. COMPLIANT GRASPS
Spring-compliant grasps are a subset of spring-slidingcompliant grasps, as studied in this paper. Hanafusa and Asada modeled the spring compliance of frictionless elastic fingers and formulated a notion of grasp stability [3]. In their definition, a stable grasp means that the grasp restores the object to its initial configuration after a small configuration disturbance. Grasp stability is determined by finger stiffness and local contact geometry. Baker et al. further developed the stability conditions under the same assumptions [5]. More generally, Howard and Kumar classified categories of equilibrium grasps and derived conditions for stability [4]. Odhner and Dollar demonstrated in-hand rolling with an underactuated compliant hand [6]. Shapira et al. [7] analyzed the stability behavior of planar compliant multi-finger grasps. Equilibrium branches were derived as the solutions of the equilibrium grasp equation, which can signify the instability caused by coin snapping phenomenon. Cutkosky and Kao achieved a desired grasp stiffness by controlling finger joint stiffness [8]. Cutkosky and Kao also modeled sliding manipulation with spring compliance and limit surface frictional contacts [9]. The motions of the contact points were solved by assuming infinitesimal motions while the magnitude of the sliding velocity is fixed. In this paper we allow finite sliding velocities and solve for the sliding velocity using the 88730 VOLUME 8,2020 constraint that sliding contact forces are on the boundary of the friction cone.
Spring-compliant grasps have applications in assembly. The remote center of compliance (RCC) device is a mechanical solution to reduce mating forces and the chance of jamming in certain assembly operations [10]. Goswami and Peshkin generalized the idea by outlining a design strategy for passive devices to implement desired spring characteristics [11]. Schimmels and Peshkin derived conditions for accommodation control to yield error-corrective assembly with frictional contacts [12], [13]. Ji and Xiao explored methods to plan compliant assembly based on a contact state graph [14]. Meeussen et al. developed an approach to convert a contact path into a force-based task specification for executing the compliant path via hybrid position and force control [15]. Park et al. developed a procedure and a controller that yield compliant behavior using neither force feedback nor passive compliance mechanisms to solve the peg-in-hole assembly problem [16].

B. IN-HAND MANIPULATION
As described in pioneering early work, in-hand manipulation involves adjusting finger contacts relative to an object using rolling [17]- [19], gaiting [20], or sliding [21]. Li et al. [22] and Yoshikawa and Nagai [23] used rigid, rolling finger contacts to calculate grasp stability and manipulability, and to develop controllers for tracking a position trajectory while maintaining a desired grasp force. Trinkle and Hunter extended the dexterous manipulation planning problem to consider rolling and slipping contact modes [24]. The hybrid planning problem was further developed by Yashima et al. [25]. Brock addressed the problem of controlled inhand sliding by first generating a constraint state map which outlines constraints on a grasped object due to the contact types and forces [26]. By varying contact forces, controlled sliding was achieved in desired directions for a grasped cylinder. Sundaralingam and Hermans demonstrated in-hand rolling manipulation using only kinematic models [27]. To address inevitable errors or uncertainties in purely modelbased approaches, iterative learning control [28], adaptive optimal control [29], and reinforcement learning [30] has been applied to learn a specific in-hand manipulation task over a series of trials.
Expanding in-hand manipulation to include dynamics, Furukawa et al. demonstrated regrasping by tossing a foam cylinder and catching it [31]. Chavan-Dafle et al. tested handcoded regrasps that take advantage of external forces such as gravity, dynamic forces, and contact with the environment to regrasp objects using a simple manipulator [2]. Hou et al. studied dynamic planar pivoting of a pinched object driven by hand swing motion and contact normal force control [32]. Viña et al. showed that by using adaptive control with vision and tactile feedback, monodirectional pivoting of an object pinched by a pair of fingers can be achieved by changing the gripping forces [33]. Cruciani et al. derived a Dexterous Manipulation Graph to plan paths for a parallel-jaw gripper to slide along parallel surfaces of an object from one stable grasp to another [34]. Sintov and Shapiro developed an algorithm to swing up a rod by generating gripper motions, where the contact point was modeled as a pivot joint that can apply frictional torques [35]. In our prior work, we used inertial loads to achieve in-hand sliding regrasps [1].
Chavan-Dafle et al. explored in-hand manipulation of an object by external contacts with environmental constraints, as in this paper [36]- [38]. A laminar object is squeezed between two fingers and pushed against a constraint to cause sliding at the fingers. They showed that such actions are similar to pushing an object sliding on a planar surface [39], and that sequences of pushes can be planned to achieve an in-hand regrasp. In this paper, we explicitly model spring compliance so that in-hand sliding regrasp is possible with more complex 3D grasp configurations, where the object is not laminar and any number of fingers can be in contact.
In recent work, Dollar et al. demonstrated a simple and robust type of in-hand manipulation based on the clever use of fingers that can switch between two different friction coefficients: high, for rolling or sticking contact, and low, for sliding manipulation [40]. A laminar object, such as a square, is supported by a table and manipulated in the plane by two flat one-joint fingers. Depending on the friction coefficient employed at each finger, the object can be made to slide or roll in the two-finger hand, achieving in-hand manipulation.
In this paper, the mechanics of spring-sliding compliance for in-hand regrasp are derived for generic 3D object geometries with no restriction on the number of fingers in contact.

III. PROBLEM DESCRIPTION
An n-fingered hand grasps an object with n point contacts. Each finger consists of an individually motion-controlled anchor point that is connected by a three-dimensional linear spring to a point fingertip. The object contacts a rigid stationary environment with a total of m frictional point contacts 1 . A grasp configuration is defined by the positions of the finger anchors, the finger contact points, and the object's configuration. The problem can be described as: given (1) an initial grasp configuration where the object is in force balance and (2) a desired new grasp configuration, find quasistaticallyconsistent anchor and object motions that realize the regrasp.
A. ASSUMPTIONS 1) Gravity and contact wrenches are always balanced (quasistatic assumption). 2) Fingers contact the object at point fingertips.
3) Each finger is linearly springy and the stiffness is known. Each 3 × 3 stiffness matrix is symmetric and positive definite. 4) Each finger maintains a positive contact normal force. 5) The object is rigid, smooth, and of known geometry.

6) Dry
Coulomb friction applies at each point contact.
During sliding contact, the tangential friction force f t is aligned with the tangential sliding direction and has a magnitude µf N , where µ ≥ 0 is the friction coefficient and f N > 0 is the magnitude of the normal force; and during sticking contact, the total contact force is confined to a friction cone satisfying f t ≤ µf N . The friction coefficients at all contacts are known, though this assumption is relaxed in our robustness analysis. For convenience, we assume that finger contacts with the object have a friction coefficient µ and environment contacts with the object have a friction coefficient µ e . 7) The m external contact points are known and the environment is assumed rigid and stationary.

B. NOTATION
Vectors are written in bold lowercase letters, matrices are in bold capital letters, scalars are italicized, and coordinate frames are denoted with calligraphic letters. All variables are expressed in a world frame W unless noted otherwise in the superscripts. For example, p fi is the fingertip position of the ith finger in the world frame W and p B fi is the fingertip position in the object frame B. Frames of reference are typically chosen to simplify the mathematical expressions; standard transformations are used to move between frames. Fig. 3 illustrates some of the quantities for a single finger.

B
Frame attached to the object.

F i
Finger frame attached to the ith (i = 1, . . . , n) fingertip. The z-axis of F i is aligned with the contact normal pointing into the object.
R fi Rotation matrix representing the orientation of F i . p ai The ith anchor position, p ai = [x ai , y ai , z ai ] . d 0i The position of the ith fingertip relative to the ith anchor when there is zero force in the spring (at rest).
The displacement (compression) of the ith fingertip from its at-rest position, Stiffness matrix of the ith finger, K i ∈ R 3×3 , which may or may not depend on the finger joint configuration or other parameters.

3) CONTACT FORCES
The contact force applied to the object by the ith finger is The contact normal into the object is a function of the finger contact position in B, where the hat· means the vector is a unit vector. The contact normal force is the projection of f ci to the normal direction, and the contact tangential force is

C. PROBLEM DESCRIPTION
We define p f = [p f 1 , p f 2 , . . . , p fi ] to be the stacked vector of all the fingertip positions, and similarly p B f to be all the fingertip positions relative to the object and p a to be all the finger anchor positions. The duration of the regrasp is T .
Given: the initial grasp configuration {T o (0), p f (0), p a (0)}, the finger stiffness properties, the geometry of the rigid object and stationary environment, and the goal fingertip relative positions p B f , goal , Find: motions of the object T o (t) and finger anchors p a (t) such that p B f (T ) = p B f , goal and the rigid-body conditions and quasistatic force-balance conditions are satisfied at all times, If the task involves carrying the object away from the rigid environment after the regrasp, the goal fingertip and anchor positions p B f , goal and p a,goal should be chosen to achieve force closure on the object, or at least able to balance the object's gravitational wrench, without the benefit of the environmental contacts. Note also that the robot itself can provide all or a portion of the stationary, rigid environment, e.g., using its palm or another link of the robot arm.
Because we assume quasistatic mechanics, the time variable t in the problem formulation can be rescaled without affecting the spring-sliding regrasp.

IV. FINGER SPRING COMPLIANCE MODEL
The springy-finger model can represent several different mechanical finger designs and control strategies. For example, Fig. 4 shows two different types of fingers. In Fig. 4(a), 88732 VOLUME 8, 2020 there is a spring-mounted fingertip attached to the end of a position-controlled finger (e.g., a stiff, highly geared finger). The anchor point is at the attachment of the spring to the finger. This design directly matches our model provided the 3D stiffness of the spring is known. Fig. 4(b) represents the case where the fingertip is rigidly mounted to the finger. The effective stiffness may come from an active stiffness control law or from passive compliance at the joints (as with series elastic actuators) or at the links. Another interesting case occurs when passive compliance derives from open-loop torque-controlled joints of the finger. In this case, the anchor is the base of the finger and the entire finger acts as a nonlinear spring. Under certain circumstances, the linearized passive compliance at the contact is positive definite, as required by the assumptions. This case is examined in more detail in the Appendix.

V. FINGER CONTACT MECHANICS
This section answers the following question: given the object's motion and the ith finger anchor and contact positions, what is the relationship between the finger anchor velocityṗ ai and the corresponding fingertip velocityṗ fi ?
Given the anchor and contact locations, the contact force is determined by the spring compliance. The fingertip sticks to the object when (1) the contact force is in the interior of the friction cone or (2) the contact force is on the boundary of the friction cone but the anchor velocity results in a rate of change of the contact force that keeps it within the friction cone under the assumption of a stationary contact. If these conditions do not hold, the fingertip contact force is on the boundary of the friction cone and the tangential sliding velocity is aligned with the tangential contact force. For the sliding case, the forward mechanics problem is to find the contact point velocityṗ fi given the anchor velocityṗ ai , and the inverse mechanics problem is to find the set of anchor velocitieṡ p ai corresponding to a contact point velocityṗ fi . Forward mechanics is useful for simulation, and inverse mechanics is useful for motion planning.
The contact mechanics problems are illustrated by a simple example in Fig. 5.

A. STICKING CASE
When fingertip i sticks to the object, the fingertip follows the object's motion, i.e.,ṗ B fi = 0.
The transformations of the contact position and velocity from B to W can be written as Substituting (5) into (7), the fingertip velocity in W iṡ When sliding, the contact forces of the ith finger satisfy We define the finger sliding velocity relative to B aṡ which enforces the Coulomb friction assumption that the sliding velocity is in the direction of the tangential frictional force applied by the finger to the object. The positive scalar λ i , which must be solved for, relates the magnitudes of the friction force and the sliding velocity. Substituting (10) into (7), we havė where fi reflects the change of the contact point position due to the object motion, without sliding.
From (9), we find Then from (2) we havė where represents the curvature of the object at the contact point.
In some cases, such as a linear-spring-mounted fingertip as in Fig. 4(a), the finger's stiffness matrix K i is constant. In general, the stiffness matrix may be a function of the finger contact location p fi and other parameters σ used to control the stiffness (as in variable-stiffness actuators). In this case, the stiffness can be written K i (p fi , σ ), VOLUME 8, 2020 and taking the derivative of (1) and combining with (11) giveṡ where Taking the derivative of (3) and (4) and combining with (13) and (14) yieldṡ where g ti = g ci − g Ni and c ti = c ci − c Ni . Substituting (16) and (17) into (12) we can solve for λ i as In the numerator, since c Ni = c cin ini = (c ci ·n i )n i is along the contact normal, the term f Ni c Ni is equivalent to f Ni c ci . By where , and c λ i = a i h i /λ den,i . The finger contact sliding velocityṗ fi can be solved for by substituting λ i into (11).

2) INVERSE MECHANICS
The result of the forward mechanics, Equation (19), gives the finger sliding velocity for a given finger anchor velocity. For the inverse mechanics problem, we solve for the anchor motionsṗ ai that cause a desired finger contact sliding velocitẏ p fi . Since the object motion and the contact force are known, a desired finger contact sliding velocityṗ fi is equivalent to a desired λ i from (11). Therefore we can write all solutions to the inverse problem aṡ The vectorṗ * ai is a particular solution forṗ ai found using the pseudoinverse g † p ⊥ ai is any vector in the two-dimensional space spanned by I − g † λ i g λ i , the space of anchor velocities that have no impact on the fingertip sliding velocity. Fig. 6 illustrates the space of anchor velocity solutions for a 3D version of Fig. 5(c). 88734 VOLUME 8, 2020 FIGURE 6. A 3D version of Fig. 5(c). The direction of fingertip slidingṗ fi is determined by the current force on the boundary of the friction cone, and the magnitude ṗ fi of the desired sliding velocity places one constraint on the anchor velocity, resulting in a plane of anchor velocitiesṗ ai that achieve the desired fingertip sliding velocityṗ fi . This plane is defined by the sum of a particular solutionṗ * ai and anyṗ ⊥ ai in the two-dimensional space spanned by I − g † λ i g λ i (Equation (20)).

FIGURE 7.
A springy finger dragged over a rounded ledge may suddenly slide dynamically before quasistatic motion resumes.
For different solutions ofṗ ai , all the corresponding contact sliding velocities are the same but the changes of the contact forceḟ ci are different. By (14) we can solve the corresponding contact force changeḟ ci for eachṗ ai . The redundancy resolution in the choice ofṗ ai could be based on additional constraints on the anchor motions or optimization of desired contact force properties.

3) DEGENERATE CASES
In quasistatic sliding, Equation (19) (coupled with (11)) and (20) describe the relationship between the anchor motion and the contact point motion. Two degeneracies are possible, when (I) g λ i = 0 or (II) λ den,i = 0. For a degeneracy of type I, the anchor velocity has no impact on the sliding velocity of the fingertip. For a degeneracy of type II, the fingertip velocity becomes unbounded and the quasistatic assumption is violated. An example of a degeneracy of type II is shown in Fig. 7.
As shown in Proposition 1, a degeneracy of type I cannot occur under our assumptions.
Proposition 1: The 3-vector g λ i is nonzero under Assumptions 3) and 4) (the finger has a positive-definite stiffness matrix K i and maintains a positive contact normal force).
Proof: The vector g λ i is proportional to the product a i K i . By Assumption 4) the term a i = µ 2 f Ni − f ti will be nonzero. Proposition 1 holds since the matrix K i is full rank when it is positive definite.
Considering degeneracies of type II, many factors affect the value of λ den,i , including the local curvature of the object and variations in the finger stiffness. In the particular case that the stiffness K i is constant and the object surface has zero curvature, however, this type of degeneracy cannot occur under our assumptions.
Proposition 2: When the finger stiffness matrix K i is constant and the local curvature of the object at the contact is zero, λ den,i will be nonzero under Assumptions 3) and 4) (the finger has a positive-definite stiffness matrix K i and maintains a positive contact normal force).
Proof: When ∂K i ∂p fi = 0, ∂K i ∂σ = 0 and ∂n i ∂p B fi = 0, the key variables in (16) and (17) are Because g Ni and f Ni are both vectors in the direction ofn i , we have f Ni g Ni = − f Ni f ti K in i . Plugging (21) into (19), we have Since K i is symmetric, where f ti and a i are both nonzero due to Assumption 4). Similar to the proof of Proposition 1, since K i is positive definite, λ den,i is nonzero.

VI. OBJECT MECHANICS
The grasped object has m point contacts with the rigid stationary environment, and according to the planned object motion T o (t), t ∈ [0, T ], each contact could be sliding (relative motion at the point of contact) or rolling/sticking (no sliding at the contact). At each sliding contact, the total contact force applied to the object lies on a one-dimensional line on the boundary of the friction cone, such that the tangential frictional force is opposite the direction that the object slides relative to the environment and has a magnitude µf N (where f N is the normal force). At each sticking or rolling contact, the contact force lies somewhere inside the threedimensional circular friction cone. In other words, a sliding contact offers one force freedom and a sticking contact offers three force freedoms to satisfy quasistatic wrench balance, which requires the wrenches applied to the object by the environmental contacts, the finger contacts, and gravity to sum to zero. If the jth external contact with the environment is sticking or rolling, the friction cone can be approximated as an n c -sided polyhedral cone, i.e., the nonnegative linear combination of n c unit forces on the boundary of the circular friction cone,f jk , k = 1, . . . , n c . Given the contact location p ej expressed in W, each of these forces corresponds to a wrench w jk = [(p ej ×f jk ) ,f jk ] ∈ R 6 , and the nonnegative VOLUME 8, 2020 linear combination of the n c wrenches is the wrench cone WC ej . The contact wrench at the jth contact point can be expressed as where the nonnegative β jk coefficients multiply the wrench cone edges to yield the total contact wrench (see, e.g., [41], [42]). If the jth contact is sliding, the force is aligned with a single unit forcef j1 on the friction cone, which corresponds to a single contact wrench w j1 and a single free coefficient β j1 ≥ 0 multiplying it, i.e., w ej = β j1 w j1 .
We denote w e as the sum of all the external contact wrenches, where WC e is the wrench cone for all external contacts, W ∈ R 6×p consists of the p column vectors of the individual contact wrench cone edges, and β ∈ R p×1 is a column vector of the corresponding nonnegative wrench coefficients. For the finger contact force f ci , the corresponding wrench applied to the object is The object wrench-balance condition can be written as where w c = n i=1 w ci is the total finger contact wrench and w g is the gravitational wrench.

VII. ROBUSTNESS ANALYSIS
At a given time t during execution of a planned sliding regrasp, the expected finger contact wrench on the object is w c (t), but due to uncertainty in friction, anchor motions, and contact geometry, the actual contact wrench is assumed to be w c (t) =w c (t) + δw c (t), where δw c (t) is a disturbance.
Definition 1: A planned regrasp is robust to ε wrench uncertainty (or ε-robust for short) if, for all t ∈ [0, T ], there exists a w e (t) ∈ WC e (t) such that for any wrench disturbance δw c (t) with each of its six components in the range [−ε, ε], ε > 0.

Remark 1: The definition of ε-robustness does not differentiate between forces and moments in a wrench. Moments can be divided by a characteristic length-scale factor to have the same units as forces.
Remark 2: Since ε-robustness is based on full-dimensional wrench uncertainty at the fingertips, it also implies robustness to small wrench uncertainty at the environmental contacts.
A planar example is shown in Fig. 8. The four external basis wrench vectors give the external wrench cone WC e . For the nominally-required external wrenchw e , as long as the ε wrench uncertainty cube is within the external wrench cone WC e , the plan is robust to ε wrench uncertainty at this instant.
A necessary and sufficient condition for ε-robustness is that each of the 2 6 = 64 corners of the wrench disturbance hypercube lies within WC e . Proposition 3 gives a simple sufficient condition for ε-robustness.

Proposition 3: A planned regrasp is ε-robust if W(t) has rank six and the planned nominal fingertip wrenchw c (t) permits a nominal environmental wrench coefficient vector
88736 VOLUME 8, 2020 To satisfy the Coulomb friction assumption, we havē β + δβ 0.
Substituting (28) into (29) gives Since each component of δw c must be in the range [−ε, ε], and the robustness condition in the proposition follows by substituting (31) into (30). The robustness condition in Proposition 3 implies that ε-robustness can be obtained for larger values of ε if the environmental contact wrench coefficientsβ are larger. Since larger environmental wrenches imply larger fingertip wrenches by quasistatic wrench balance, fingers with greater force-generation capability are generally capable of larger values of ε-robustness.
ε-robustness requires a full-dimensional external wrench cone WC e , i.e., a wrench cone with a non-empty interior. This can be achieved by two frictional rolling/sticking contacts in the plane or three frictional rolling/sticking contacts in 3D. While it is possible to have a full-dimensional external wrench cone when one or more contacts roll or slide, such cases are exceptions, relying on very specific contact geometries. For this reason, in the remainder of the paper we focus on the case where ε-robustness is achieved by the object remaining stationary relative to the rigid environment during the regrasp.

VIII. SLIDING REGRASP PLANNING
The previous sections lay the foundation for sliding regrasp planning for arbitrary 3D geometries and finger contacts, as the constraints describing the finger and object mechanics must be satisfied by any sliding regrasp. A planner could be expressed as a constraint satisfaction problem or as a constrained optimization, as in Table 1. Table 1 the wrench-balance constraint 4) is redundant with the optimization criterion: if the maximum ε to which the plan is robust is greater than zero, then constraint 4) is automatically satisfied. The regrasp planning problem could be reformulated to encode a robustness condition in constraint 4) and to change the objective function to minimize forces applied by the fingertips, as a way of resolving the finger contact inverse mechanics redundancy. Or the objective function could be eliminated completely, turning the planning problem into a constraint satisfaction problem instead of an optimization.

As written in
Efficient implementation of a planner depends on properties of the robot hand and other details that may be taskspecific, and it is not the purpose of this paper to propose a single implementation for all tasks, objects, and robot hands. Choices that affect the efficiency of the implementation include how to represent the trajectories using finite parametrizations; whether to design the trajectories using local gradient-based optimization methods based on collocation or shooting, global optimization methods, or searchbased methods; etc. Instead of solving for both p f (t) and p a (t) and constraining them to be consistent, we could solve only for p a (t) and use forward mechanics (Section V-B.1) to determine the corresponding p f (t), or we could solve only for p f (t) and use inverse mechanics with redundancy resolution (Section V-B.2) to solve for p a (t). Also, in a typical regrasp plan, each fingertip starts out sticking while the anchor repositions itself to bring the contact force to the boundary of the friction cone; the fingertip transitions to sliding; and finally the fingertip reverts to sticking while the anchor is repositioned to bring the contact force to the interior of the friction cone, once the new grasp is achieved. The planner could treat these segments (with their different finger contact mechanics) separately, subject to continuity constraints at the transitions. Finally, we could restrict the object to be stationary (T o (t) = T o (0)) during the regrasp to achieve ε-robustness, following the discussion at the end of Section VII.
In the next section we describe a specific implementation of the regrasp planning approach in Table 1 for the case of a two-fingered regrasp.

IX. IMPLEMENTATION
In this section we describe a two-fingered sliding regrasp task and an implementation of the regrasp planner of Table 1. First we introduce the experimental setup; then we describe our methods for experimentally extracting relevant modeling parameters; and finally we give an implementation of the planning strategy outlined in Table 1 as well as simulation and experimental results.
The experimental regrasp task was designed to be simple enough to yield insight into the derivations of the previous sections and to allow graphical interpretation of the robustness condition. To satisfy ε-robustness, the fingers keep the object stationary during the regrasp.

A. EXPERIMENTAL REGRASP TASK
For our experiments, we used our ERIN manipulation system, consisting of a ten-camera OptiTrack high-speed vision system, a Barrett WAM 7-dof arm, and a four-fingered Allegro robot hand with replaceable fingertips [1] (Fig. 9). Two fingers of the hand grasp an object with smooth edges (Fig. 10). The object sits on a fixed table, and the motions of the hand are in the vertical plane. Fig. 10 shows an initial configuration of the fingertips near the top of the object and a desired regrasp configuration near the bottom. The friction coefficient between the object and the table is modeled as µ e = 1 and the gravitational force acting on the object is 10.1 N in the −y-direction.
Let H denote a frame attached to the hand with an origin at p h . The finger stiffnesses and anchor positions are assumed to be fixed in H, i.e., K H i and p H ai are constant. Therefore the anchor positions are uniquely determined by the hand configuration and in-hand sliding is realized by controlling the hand motion. For simplicity, we allow only (x, y) translational hand motions in the vertical plane, so the anchor velocities are identical and confined to a two-dimensional space. Under these constraints, the sliding inverse mechanics of Section V-B.2 yields unique anchor velocities: the redundancies in the possible anchor velocities from the sliding inverse mechanics are resolved by the limited motions available to the hand (and therefore the finger anchors). While the hand moves downward (in the −y-direction), the normal forces, relative sliding velocities at the two fingers, and ε-robustness can be modulated by the hand's motion in the x-direction.
The WAM arm controls the hand's motion at 500 Hz, and markers attached to the object and hand allow the vision system to track their 3D configurations at 360 Hz.
Each fingertip is a cone, yielding a well-defined contact point, and each finger consists of four joints individually controlled by geared DC motors. The fingers are joint-torque controlled at 333 Hz to achieve the desired fingertip springiness K H i . The constant virtual anchor location p H ai of finger i relative to the hand is the controlled location of the fingertip when it applies zero force. The rest length of the virtual spring is zero (i.e., d 0i = 0), so the extension of the virtual spring is given by p H ai − p H fi , where p H fi is the actual fingertip location, and this spring extension is turned into finger reference joint torques by the equation where τ i denotes the joint torques for finger i and J i denotes the finger's Jacobian matrix. Finger joint encoder feedback is used to evaluate p H fi and J i .

B. PARAMETER IDENTIFICATION
To test our controlled finger stiffnesses K H 1 and K H 2 , and to verify our estimate of friction µ between the fingertips and the object, we collected data from experiments where we manually configured the initial grasp of the object (similar to what is shown in Fig. 10) and commanded the hand to move in the −y-direction for 0.15 m. Using the forward contact mechanics from Section V-B.1, and using an SQP solver to adjust our estimates of K H 1 , K H 2 , and µ to minimize the sum of the absolute errors between simulated results and 5000 experimentally-measured finger contact positions, we found good agreement between our controlled finger stiffnesses and the experimentally-estimated finger stiffnesses (see Table 2). Fig. 11 shows a comparison between experimental results and simulated results with the fitted friction coefficient and finger stiffnesses.

C. ROBUST REGRASP PLANNING
For this regrasp task-where the finger anchors are rigidly attached to the hand, there are two velocity controls for the hand, and the object is stationary-if we know the sliding directions of each fingertip (downward or upward in this example), there exist unique one-to-one mappings between  To see this, we start by writing the mapping of anchor positions from H to W as where R h is the rotation matrix of H. Based on the previous assumptions, R h and p H ai are fixed. When the fingertips slide on the object, each f ci is along an edge of the fingertip's friction cone into the object. We denote ⊥f ci as the direction perpendicular to the contact force f ci , so Given a fingertip contact position, the direction ⊥f ci can be obtained from the object geometry, contact friction, and the sliding direction. Substituting (1) and (33) to (34), we can solve the hand position for a given pair of finger contact positions {p f 1 , p f 2 } as where i = ⊥f ci K i (p fi − R h p H ai ). Knowing p h , the fingertip contact forces can be solved using (1). Combined with (25) and (26), we can test if the fingertip contact wrenches can be balanced by the external contacts.

1) FINGER CONTACT POSITION MAP
For the given object, the fingertip contact positions can be parametrized by their y-positions in the object frame B. Fig. 12 shows the two-dimensional finger contact position map (FCmap), with axes defined by y B f 1 and y B f 2 , when both fingers slide downward on the object. For each point (y B f 1 , y B f 2 ) on the FCmap, we can uniquely calculate p f , p a , f c , and p h , as described above. Based on (25) and (26), we can test if the fingertip forces can be balanced by the external contacts with a linear program: If a solutionβ is found, the fingertip contact locations can satisfy the wrench-balance constraint. In Fig. 12, feasible contact point positions are colored green. Fig. 12 also shows an example regrasp task, where S corresponds to the initial fingertip configuration and G corresponds to the goal fingertip configuration. The regrasp is achievable by fingertips always sliding in the downward direction if and only if S and G are in the same green connected component.

2) PLANNING ALGORITHM
Sliding regrasp motion planning is divided into two phases: Phase 1 (t ∈ [0, T 1 ]), where the fingertips stick to the object and the anchors are repositioned to bring contact forces to the boundaries of the friction cone, and Phase 2 (t ∈ [T 1 , T 2 ]), where the fingertips slide on the object to the desired new configuration G in the FCmap. An optional Phase 3 would reposition the anchors again to move the contact forces away from the boundaries of the friction cones. In Phase 1 of the sliding regrasp, the anchors move but the fingertips remain stationary. At the transition to Phase 2, at the point S, the contact forces have moved to the boundary of their friction cones, and the fingertips begin to slide. Phase 2 is plotted in the FCmap corresponding to both fingers sliding downward on the object. The fingertips follow the curve of placements ξ * that maximize ε-robustness (in red) for most of the plan. The full regrasp plan consists of the hand trajectory p h (t ), t ∈ [0, T 2 ], that uniquely corresponds to the curve in black.

Phase 1, anchor repositioning:
The hand trajectory p h (t), t ∈ [0, T 1 ], and therefore the anchor trajectories, is chosen to be a cubic polynomial of time. This polynomial is uniquely defined by the duration T 1 , the initial and final velocitiesṗ h (0) =ṗ h (T 1 ) = 0, the initial configuration p h (0) = p h0 , and the final configuration at the point S on the FCmap. The point S is defined by the fingers' initial contact locations and the fact that the fingers will slide downward, as described above. S is the unique point of intersection between the space of anchor positions that cause no sliding when the fingertips are at their initial configuration and the space of the FCmap, where the fingers slide downward on the object.
During Phase 1 the hand translates along a straight line with a quadratic velocity profile beginning and ending at rest. Fingertip forces are guaranteed to remain within their respective friction cones during the straight-line motions of the anchors due to the convexity of the friction cones. Fig. 13 gives a conceptual representation of the hand's motion during Phase 1, which ends when the anchors have moved so that the grasp configuration is at S, which resides in both the FCmap and the space of anchor configurations that does not cause sliding at the fingertips.
Phase 2, sliding regrasp: Since the fingertip contact positions can be described by the coordinates (y B f 1 , y B f 2 ), we use , t ∈ [T 1 , T 2 ], to represent sliding trajectories. To accomplish the desired regrasp we have ξ (T 1 ) = S and ξ (T 2 ) = G.
A sliding trajectory ξ (t) is feasible if it always lies in the feasible region of FCmap. Based on the findings in Section VII, the further away the required external contact wrenchw e is from the boundaries of WC e , the more robust a fingertip configuration is. For this task, given the contact position of one finger, there is an optimally robust contact position of the other finger. The union of these most robust fingertip position pairs is a curve in the FCmap, denoted ξ * .
To describe how far a wrench w e is from the faces of the wrench cone WC e , we define a matrix ⊥ W whose rows are unit vectors normal to the faces of WC e and pointing into the cone. The curve ξ * is found by the following procedure: wherew e is the total expected external contact wrench. The solved ξ * is shown as the red curve in Fig. 13, consisting of points calculated at 1 mm increments in y B f 1 . The entire FCmap as shown in Figures 12 and 13 is not explicitly computed during planning; it is only shown to help visualize the planning space and to illustrate the notion of robustness.
To maximize robustness, the principle of our planning algorithm is to plan ξ (t) to coincide with ξ * as much as possible while satisfying the desired final regrasp. By introducing a point S where ξ (t) reaches ξ * from S, and a point G where ξ (t) departs ξ * to go to G, the sliding trajectory ξ (t) is defined by three pieces: The contact sliding trajectories ξ (t) are cubic time polynomials of duration T 21 , solved uniquely by the four boundary conditions ξ (T 1 ) = S, ξ (T 21 ) = S , ξ (T 1 ) = 0, andξ (T 21 ) = v s , where v s is determined by the initial velocity of the next piece.
• 2nd piece (S → G , T 21 ≤ t ≤ T 22 = T 21 + T 22 ) : The contacts slide along ξ * for a duration T 22 . The sliding velocities are assumed to have a constant magnitude ξ = v 2 = L 2 / T 22 , where L 2 is the arclength of ξ * between S and G . The initial and final velocities are v s = v 2∂ ξ * | S and v g = v 2∂ ξ * | G , where∂ ξ * | X is the normalized tangent vector at point X.
The contacts slide from G to G following cubic time polynomials of duration T 23 , solved uniquely by the four boundary conditions ξ ( The design variables for Phase 2 are the via points S and G on ξ * and the durations T 21 , T 22 , and T 23 . The objective function can be expressed as maximizing a function of robustness (e.g., how much the planned sliding trajectory coincides with ξ * ) while penalizing large sliding velocities. One formulation of the motion planning problem is the following nonlinear program: find S , G , T 21 , T 22 , T 23 maximizing L 2 (ξ * , S , G ) − κV max such that 1) sgn(ξ ) = sgn(G − S)   where κ is a positive weighting scalar and V max = max t (|ẏ B f 1 (t)| + |ẏ B f 2 (t)|). The first constraint ensures that the sliding directions are always towards the goal, as assumed in Section IX-C.1.

3) EXPERIMENTAL RESULTS
We defined a sliding regrasp task by S = [0.168 m, 0.169 m] and G = [0.055 m, 0.035 m] , where the initial configuration of the hand is such that the fingertip contact forces are in the interior of the friction cone. Given T 1 = 5 s, T 2 = 20 s, and κ = 0.5, and using MATLAB's fmincon, we find the Phase 2 sliding regrasp plan shown as the black curve in Fig. 13. As expected, the curve ξ (t) coincides with the optimally robust curve ξ * for much of the Phase 2 portion of the plan, to maximize robustness to force disturbances. The full plan, showing the repositioning of the hand (and anchors) for 5 s in Phase 1 and the Phase 2 sliding for 15 s, is shown in snapshots in Fig. 14.
We performed several trials of this sliding regrasp. Experimental implementations of the plan followed the expected motions closely, indicating that the robustness-maximizing regrasp planner does indeed deliver a robust motion plan. During execution of the sliding regrasp, the hand's motion was feedback-controlled to follow the planned hand trajectory, and the stiffnesses of the fingertips were actively controlled. Fig. 15 shows a typical experimental result compared to the planned regrasp. In this representative trial, the final fingertip positions deviated from the planned positions by 2.2 mm and 2.6 mm for fingers one and two, respectively, compared to total travel distances of 114.2 mm and 136.3 mm. A video of one experiment is included in the Supplemental Material.

X. DISCUSSION AND FUTURE WORK
In this paper we introduced the concept of spring-sliding compliance for in-hand sliding regrasp by pushing the grasped object against environmental constraints. Sliding provides a passive mechanical nonlinear velocity ''compliance'' to tangential forces, and spring compliance maintains contact normal forces as the fingertips slide over the object. Spring compliance achieves contact normal force control by motion control of physical or virtual finger anchors. We derived the finger contact forward and inverse mechanics for spring-sliding compliant contacts and formulated the ε-robustness condition for sliding regrasps. An experimental implementation of the theory on a two-fingered robot hand shows that spring-sliding regrasps can be automatically planned and robustly executed.
Future work may include modifying the point fingertips, to allow fingertips of more general geometry, and patch contacts, with their ability to provide friction forces resisting spin about fingertip contact normals. This increases the complexity of the analysis and, in the most general case, would require modeling linear fingertip compliance as a 6×6 matrix, including three rotational freedoms. These more complex models may be justified by better robot hands that reliably VOLUME 8, 2020 FIGURE 16. (Top) Eigenvalues of the stiffness matrix K for the example 2R finger with τ 1 = τ 2 = 1 Nm and link lengths of 1 m. The green shaded region shows the range of θ 2 that yields positive-definite K. (Bottom) Illustrations of the finger configurations A, B, C, and D with θ 1 = 0. Each chosen θ 2 , and the corresponding stiffness matrix K and its eigenvalues by (40), are shown. The stiffness is visualized as streamplots: for small fingertip location virtual displacements ∂p f relative to the current fingertip location p f , the net change in the force at the fingertip ∂f c (due to the joint torques) is in the direction of the arrows shown on the streamplot. Brown arrows represent the fingertip force f c at the nominal configuration.
control contact compliance and sense contact locations and forces.
In this paper we specified the environmental contact locations and finger contact mode sequences. In future work the motion planning algorithm could be expanded to judiciously choose the environmental contacts and sequences of fingertip sticking and sliding phases to add more design freedoms. Also, while we focused on stationary contact between the object and the environment, spring-sliding regrasps could be obtained with sliding or rolling contacts with the environment, even allowing tasks that assemble the object with the environment. For sliding regrasps with moving contacts with the environment, feedback control of the regrasp (not considered in this paper) could be employed to stabilize plans that do not meet the restrictive definition of ε-robustness.
Finally, learning methods could be employed to account for unmodeled effects beyond contact force uncertainty. The modeling in this paper can serve to bootstrap learning, allowing more efficient use of data obtained from experiments, including learning of corrections to the model rather than learning from scratch.

APPENDIX. COMPLIANT GRASPS VIA OPEN-LOOP TORQUE-CONTROLLED JOINTS
Passively compliant grasps may arise from fingers under open-loop joint-torque control (e.g., constant torques or currents at the joints). As one example, assume the world frame is at the finger base and p f is the fingertip position relative to this frame. Let θ denote the finger joint angle vector, τ denote the joint torque vector, and J(θ) denote the Jacobian matrix sastisfyingṗ f = Jθ. From finger kinematics and the principle of virtual work, we have the mapping from fingertip contact forces to the joint torques τ = J f c . When J is invertible, we have From the definition of the Jacobian we have ∂p f = J∂θ. (38) Combining (37) and (38), we can write the finger stiffness matrix as The specific expression for K depends on the Jacobian and the joint torques τ.
The eigenvalues are only related to θ 2 since θ 1 only changes the finger's orientation relative to the base. The stiffness matrix K is symmetric and the two eigenvalues must both be positive to satisfy the assumption of positive-definite stiffness. We plot the eigenvalues with respect to θ 2 in Fig. 16 (Top). Fig. 16 (Bottom) shows the finger configuration and stiffness for four values of θ 2 . The finger configuration should satisfy 0 < θ 2 < π 2 to satisfy the positive-definite stiffness assumption of this paper. In cases A, C, and D, the stiffness matrix is not positive definite, which may lead to ''runaway'' sliding where the quasistatic condition is violated.
As an example, Fig. 17 shows case A of Fig. 16. Since τ 1 = τ 2 , the fingertip force is always aligned with the first link of the finger. For the friction cone shown, the contact force with the stationary object is initially on the edge of the friction cone and the finger is force balanced. If the contact location on the object is perturbed by ∂p f , as shown, the change ∂f c in the fingertip force generated by the joint torques causes the total force to move outside the friction cone, meaning friction forces applied by the object to the finger can no longer completely balance the finger force. The fingertip will accelerate in the sliding direction and the motion of the fingertip must be solved for using dynamics; the quasistatic equilibrium assumption is violated. Conditions where the quasistatic assumption are violated are studied further in Section V-B.3.
In summary, many models of the finger hardware and control strategy satisfy the assumptions of this paper, even certain configurations of the simple open-loop torque-controlled fingers described above.