IEEE Transactions on Robotics and Automation 8(2) April 1992, 213-227 ADMITTANCE MATRIX DESIGN FOR FORCE GUIDED ASSEMBLY Joseph M. Schimmels Michael A. Peshkin Mechanical Engineering, Northwestern Univ. ABSTRACT This paper addresses manipulator admittance design with regard to reliable force guided assembly. Our goal is to design the admittance of the manipulator so that, at all possible part misalignments, the contact forces always lead to error-reducing motions. If this objective can be accomplished for a given set of parts, we call the parts force- assemblable. As a testbed application of manipulator admittance design for force guided assembly, we investigate the insertion of a workpiece into a fixture consisting of multiple rigid fixture elements (fixels). For reliable insertion, the fixture should have the property that contact with all fixels ensures a unique workpiece position (i.e., the fixture should be deterministic [Asada, 1985 #105]) and the property that contact with all fixels is ensured after the insertion motion terminates. Here, we define a linearly force-assemblable fixture to be one for which there exists an admittance matrix which necessarily results in workpiece contact with all fixels despite initial positional error. We show that, in the absence of friction, all deterministic fixtures are linearly force-assemblable. We also show how to design an admittance matrix that guarantees that the workpiece will be guided into the deterministic fixture by the fixel contact forces alone. INTRODUCTION During conventional position-controlled robotic assembly, small misalignments of the mating parts can lead to total failure of the assembly. At best, the parts simply remain unassembled; at worst, the contact forces that result from part misalignment damage the contacting parts, or damage the manipulator, or both. Force control prevents damage to the parts and/or manipulator by regulating the contact forces. Under force control, the contact forces that result from part misalignment cause the manipulator to deviate from its nominal trajectory. The deviation depends on the manipulator's admittance (its motion response to forces) and results in either an increase or a decrease in the part misalignment. Our goal is to "program" the admittance of the manipulator so that, at each possible misalignment, the contact force always leads to decreased part misalignment. In this way, contact forces are used to guide the part to its properly mated position, thus exploiting the capability for error-reduction inherent in force control. If the contact force at each possible part misalignment contains a sufficient amount of information to specify an error-reducing motion, we say that the parts are Òforce-assemblableÓ. The concept of force guided assembly is not new. Others [Whitney, 1977 #70], [Whitney, 1982 #38], [Nevins, 1973 #71], [Asada, 1988 #41] have suggested that the admittance of the manipulator be structured so that contact forces lead to decreasing errors. Much of their work, however, dealt with the analysis of the assembly kinematic constraints when considering a special class of admittance, an "admittance center". An "admittance center" is the point in the assembly task reference frame at which a sensed force maps into a motion along the same direction as the sensed force. Others have addressed a broader class of admittance functions. Peshkin [Peshkin, 1990 #67] addressed the synthesis of an admittance matrix by specifying the desired motion properties at a characteristic, but limited, set of positional errors of a particular assembly task. Then, in an unconstrained Òleast squaresÓ optimization, generated an admittance matrix that may or may not actually exhibit these properties. Asada [Asada, 1990 #123] used a similar optimization procedure, but for the design of an admittance neural network rather than an admittance matrix. The contribution of this paper is a systematic means of identifying the bounds of force-assemblability and a systematic approach to the design of a manipulator's admittance that guarantees force- assemblability. As a testbed application of the design of a manipulator's admittance for force guided assembly, we consider the class of assembly tasks in which a workpiece is inserted into a fixture. 1.1 Fixtures and Fixturing Fixtures are used to position a workpiece uniquely and to constrain its motion (i.e. maintain that unique position) during processing [Colvin, 1938 #124]. Most research in the area of fixturing has been directed at the motion constraint aspects of the fixture. Here, we address the insertion/positioning aspects of the fixture. The insertion of a workpiece into the fixture is at least as important as constraining its motion after it has been inserted. Without proper insertion, the fixture may not actually contact the workpiece at the intended locations, leaving it underconstrained and malpositioned. A fixture may constrain motion in two different ways. One, form closure, is purely kinematic, in which the geometry of the contacting rigid parts prevents motion regardless of the magnitude of the applied force [Lakshminarayana, 1978 #61] [Ohwovoriole, 1981 #107]. The other, force closure, involves the use of friction to assist in the reduction of the freedom of motion of a kinematically underconstrained object [Salisbury, 1982 #120] [Nguyen, 1986 #108]. In force closure, motion along a kinematically unconstrained direction is prevented as long as the magnitude of the applied force does not exceed the maximum support that can be provided by friction. Here, we investigate the insertion of a workpiece into a form-closure fixture consisting of individual frictionless rigid fixels each providing point kinematic constraint to the motion of the workpiece. The advantages of a fixture of this type are: 1) the individual point contact of form closure lend themselves to a system of flexible fixturing [Asada, 1985 #105]; and 2) a system of point contacts provides improved positioning accuracy when redundant constraints are removed. Individual frictionless fixels provide unilateral kinematic point constraint to the motion of the workpiece. They prevent the workpiece from moving into the fixel but allow translation away from the fixel, translation along the fixel, and rotation about the fixel point contact. The number and placement of the individual fixels on the surface of the workpiece determine the presence or absence of workpiece total motion constraint. Reuleaux [Reuleaux, 1963 #111], Somov [Somov, 1897 #112], Lakshminarayana [Lakshminarayana, 1978 #61], Ohwovoriole and Roth [Ohwovoriole, 1981 #107], Salisbury [Salisbury, 1982 #120], and Nguyen [Nguyen, 1986 #108] each have addressed the total constraint of objects using unilateral point constraints. As a result of their work, it is known that seven or more frictionless fixels are required to totally constrain the motion of a body in three dimensional space; and that four or more frictionless fixels are required to totally constrain the planar motion of a body. Most of the recent research in the area of rigid fixel fixturing has been directed at the evaluation of fixture designs with respect to total motion constraint. Mani and Wilson [Mani, 1988 #109] evaluated several properties of planar fixture designs including total constraint. Bausch and Youcef-Toumi [Bausch, 1990 #110] evaluated the ability of a fixture to resist motion if the fixels are not totally rigid. 1.2 Positioning/Insertion Aspects of Fixturing Force guided insertion of a workpiece into a fixture places requirements on the workpiece/fixture kinematics and on the manipulator admittance. The workpiece/fixture kinematics must allow ease of workpiece insertion and must ensure unique positioning. The admittance of the manipulator must ensure that contact forces are regulated and that error-reducing motions always occur. 1.2.1 Workpiece/Fixture Kinematics A well designed fixture allows the workpiece to be inserted with relative ease, and then, with the addition of a small number of closure fixels (preferably one), provides total constraint (form closure) during processing. We refer to the fixture without its closure fixels as a partial fixture, and the fixture with its closure fixels as a complete fixture. Asada and By [Asada, 1985 #105] addressed several key issues involved in the assembly of a workpiece into a partial fixture. They defined a deterministic fixture to be one for which the workpiece is mated at a unique position when all fixels of a partial fixture are made to contact the workpiece surface. They defined an accessible/detachable fixture to be one for which there exists at least one trajectory along which the workpiece can be removed from the partial fixture. They defined a strongly accessible/detachable fixture to be one for which there exists a trajectory along which the workpiece will detach from all fixels at the same time. 1.2.2 Manipulator Admittance A workpiece can be properly inserted into a partial fixture to obtain a unique properly mated position if: 1) the partial fixture is deterministic, i.e. contact with all fixels establishes a unique workpiece position; and 2) contact with all fixels of the partial fixture after insertion is ensured. Here, we address the requirements on the manipulator admittance so that contact with all fixels of a deterministic partial fixture is ensured. In other words, we identify the conditions that guarantee the unique positioning of the workpiece. Our approach for obtaining contact with all fixels in a partial fixture is to require that the motion of the workpiece during insertion: 1) causes the workpiece to maintain contact with those fixels already in contact; and 2) leads to contact with the remaining fixels not already in contact. This process of monotonically increasing the number of fixels in contact guarantees eventual contact with all fixels and a unique properly mated final workpiece position. We define a force- assemblable fixture to be one for which the manipulator's admittance can be designed so that a nominal trajectory into the partial fixture, modified only by the forces which result from contact with the fixels, ultimately leads to contact with all fixels. Here, we will show that, in the absence of friction, all deterministic partial fixtures are force-assemblable. Associated with each deterministic partial fixture is a space of admittances that will allow a workpiece to be guided into the fixture by the fixel contact forces. We will show how this space is generated. 1.3 Overview The overall objectives of this paper are to describe the concept of force guided assembly and to demonstrate its usefulness in a testbed application in which a workpiece is inserted into a fixture. Here, we present: 1) a systematic means of evaluating whether a workpiece/fixture combination is force-assemblable, and 2) a systematic approach to the design of the manipulatorÕs admittance so that force-assemblability is attained. Sections 2 through 4 provide a framework for the definition and analysis of force-assemblability. Section 2 is a review of kinematic motion constraint and the use of virtual work in evaluating whether a motion is available when the workpiece is in contact with a set of fixels. Section 3 identifies the requirements on the workpiece/fixture kinematics so that force guided insertion is possible. Section 4 formally defines force-assemblability. The requirements on the mechanical interaction properties of the manipulator and fixture are listed. A special simple form of force- assemblability, linear force-assemblability, is also defined. In linear force-assemblability, the admittance function is linear and is given by a nominal velocity and an accommodation matrix. Section 5 presents a systematic means of evaluating whether a particular nominal velocity/accommodation matrix combination provides force-assemblability. Section 6 outlines our procedure for the design of the nominal velocity/accommodation matrix combination that ensures force-assemblability. For each deterministic fixture there exists a space of nominal velocities and accommodation matrices for which each point in the space ensures linear force-assemblability. Section 7 illustrates, in a planar example, the procedure for obtaining the space of nominal velocities and the space of accommodation matrices which satisfy the linear force assemblability conditions. Section 8 is a summary of our results and a discussion of their importance. 1.4 Notation The notation used throughout this paper is given below: A lowercase character a denotes a scalar. An underlined bold character a denotes a column vector. A double underlined bold character a denotes a matrix. This notation is used to distinguish an n´n matrix A from its "strung-out" n2´1 vector A. 2.0 Workpiece Motion Constraint Recall that we intend to design the manipulator's admittance so that contact forces which occur during insertion are used to guide the workpiece into its properly mated position. The contact forces we investigate here are those associated with the unilateral point kinematic constraints provided by workpiece/fixel frictionless contact. 2.1 Kinematic Motion Constraint A motion of the workpiece which does not conflict with a kinematic constraint is one for which the virtual work (the product of the contact force and the velocity of the workpiece; an invariant) is non- negative [Ohwovoriole, 1981 #107]. This can be stated as: A motion t is unconstrained iff: wTt ³ 0 (1) where for planar point contacts1: Footnote 1: The vector w is a wrench and the vector t is a twist in the nomenclature of screw theory (see Ball [Ball, 1900 #102], Roth [Roth, 1984 #115], or Sugimoto and Duffy [Sugimoto, 1982 #116].) For those readers unfamiliar with screw theory, all examples presented here are planar, for which case the wrenches and twists simplify to the 3- vectors described below. w is the force/torque associated with fixel contact (a zero pitch wrench) given by: w = \B\BC\[(\A\CO1\VS7\HS10(f,r ´ f)) = \B\BC\[(\A\CO1\VS4\HS10(fx,fy,t))] (2) t is the velocity/angular velocity (a zero pitch twist) given by: t = \B\BC\[(\A\CO1\VS7\HS10(r ´ w,w)) = \B\BC\[(\A\CO1\VS4\HS10(vx,vy,w))] (3) and: f is the constraint force associated with the fixel. t is the torque associated with the fixel; t = r ´ f r is the position vector from the origin to the point of contact. v is the translational velocity of the workpiece measured at the origin. w is the angular velocity of the workpiece. A planar example illustrating non-negative virtual work is given in Figure 1 below: Figure 1 Evaluation of Motion Constraint using Non-Negative Virtual Work Motions which yield non-negative virtual work do not conflict with the geometry of the parts in contact. Here, an arbitrary selection of velocity along the x-axis and a selection which satisfies the equation vy + aw ³ 0 will not conflict with the geometry of the parts in contact. Ohwovoriole and Roth [Ohwovoriole, 1981 #107] have classified all twists t into three categories using the principle of virtual work. They are classified as follows: Repelling: twists which cause the workpiece to move out of contact with the fixel; i.e. for which the virtual work is positive (wTt > 0). Reciprocal: twists which cause the workpiece to maintain contact with the fixel; i.e. for which the virtual work is zero (wTt = 0). Contrary: twists which would cause the rigid fixel to penetrate the workpiece surface; i.e. for which the virtual work is negative (wTt < 0). Motions which are available to the workpiece upon contact with the fixels (i.e. those not kinematically constrained) are the motions which are reciprocal or repelling to all fixels. 2.2 Total Kinematic Constraint Total kinematic constraint (form closure) occurs when multiple fixels are used so that there exists no motion having non-negative virtual work at all fixels, i.e. there exits no motion reciprocal or repelling to all contacts. Reuleaux [Reuleaux, 1963 #111] recognized that the minimum number of contact points required for form closure of a planar rigid body is four. Using screw theory, Somov [Somov, 1897 #112] determined that the minimum number of point contact required for the general three dimensional spatial case is seven. Lakshminarayana [Lakshminarayana, 1978 #61], confirmed the results of Reuleaux and Somov and clarified their work. Ohwovoriole [Ohwovoriole, 1980 #113] used non-negative virtual work (reciprocal and repelling screws) to describe the conditions for which an object is totally constrained and to identify motions that are not constrained. 3.0 Requirements on Fixture Kinematics In establishing the framework for analyzing force-assemblability, we first address the requirements on the workpiece/fixture kinematics. To facilitate proper insertion, a partial fixture is required to be "deterministic" and "strongly accessible/detachable". These terms were introduced by Asada and By [Asada, 1985 #105] and are defined here in terms of constraint wrenches and unconstrained twists. The simpler but equivalent formulation developed here introduces terms which will be later used in the formulation and definition of force-assemblability. 3.1 Deterministic Fixtures We will call the position of the workpiece when it is properly mated q*Î RN, where N is the number of degrees of freedom of the system. Let QÊ ÊRN be the space of infinitesimal displacements from q* that do not conflict with the geometric constraints provided by the fixels. If it is assumed that the workpiece can be placed by a robot within the vicinity of q* (as is assumed by Asada and By), then only the uniqueness of the workpiece positioning in Q (i.e. locally unique positioning) need be considered. A fixture is deterministic if the fixels of the partial fixture provide N independent wrenches when the workpiece is located in its properly mated position q*. Three independent contact wrenches are required for a planar fixture to be deterministic. Six independent contact wrenches are required for a spatial fixture to be deterministic. In other words, a fixture is deterministic iff: rank(W) = N (4) where: W = [w1 w2 . . . wm], i.e. the matrix W is constructed from the contact wrenches, with each fixel contributing one column to the matrix. N is the number of degrees of freedom of the workpiece (3 in planar applications or 6 in spatial applications). m is the number of fixels. If the deterministic fixture has no redundant constraints, m = N. An example of a deterministic fixture is given in Figure 2. Since the constraint matrix is full rank, any unconstrained motion will cause the workpiece to break contact with at least one fixel. An example of a non-deterministic fixture in shown in Figure 3. Since the constraint matrix is not full rank, there exists a motion that will maintain contact with all fixels. The contact wrenches are given by: wiT = [fx, fy, t]. w1T = [1, 0, -0.5] w2T = [0, 1, 0.5] w3T = [0, 1, 1] rank(W) = rank \B\BC\[(\A\CO3\VS3\HS7(1,0,0,0,1,1,-0.5,0.5,1)) ]= 3 which equals the degrees of freedom for the system, NÊ=Ê3; therefore, the partial fixture is deterministic. The contact wrenches are given by: w1T = [1, 0, -1] w2T = [0.707, 0.707, 0] w3T = [0, 1, 1] rank(W) = rank \B\BC\[(\A\CO3\VS3\HS7(1,0.707,0,0,0.707,1,- 1,0,1)) ]= 2 which is less than the degrees of freedom for the system, NÊ=Ê3; therefore, the partial fixture is not deterministic. 3.2 Accessible/Detachable Fixtures Asada and By [Asada, 1985 #105] defined an accessible/detachable fixture to be one for which there exists at least one unconstrained trajectory between the desired workpiece location and an outside position. They defined a strongly accessible/detachable fixture to be one for which there exists a detaching motion which detaches all fixels at the same time. Here, an equivalent definition in terms of unconstrained twists is developed. We define a detaching motion, d Î RN, to be a motion for which, if the workpiece were at its properly mated position in the partial fixture q*, the motion d causes the workpiece to move away from q* while not violating the constraints imposed by the fixels. The space of detaching motions D RN is the space of all motions that are available (i.e. do not violate the unilateral motion constraints) when all fixels of the partial fixture are in contact. This space consists of all motions which are reciprocal or repelling to all fixels of the partial fixture (i.e. satisfy the non-negative virtual work condition for all fixels). The twist d is a detaching motion (and thus dÊÎÊD) iff: \B\BC\[(\A\CO1\VS7\HS10(w1T,w2T,. . .,wmT))] d = \B\BC\[(\A\CO1\VS7\HS10(c1,c2,. . .,cm))] , with ci ³ 0 "i, i = 1,...,m or in "mathematical shorthand": d Î D iff: WT d ³ 0 (5) where: WT is the full rank matrix of the transposed constraint wrenches. 0 is a m-element column vector of zeros. A fixture is defined to be accessible/detachable if the space of detaching motions D includes any motion other than the trivial solution, d = 0. A fixture is defined to be strongly accessible/detachable if there exists a detaching motion for which all fixels break contact at the same time (i.e. the motion is repelling to all fixels). Note the strict inequality in the definition. A fixture is strongly accessible/detachable iff: $ d Î D s.t. WT d > 0 (6) Figure 4 illustrates the space of detaching motions D for a deterministic, strongly accessible/detachable fixture. Any instantaneous planar motion can be described as a rotation about a point in the plane (i.e. a rotation center); a rotation about a point at infinity is a pure translation. The locus of instantaneous rotation centers is used in Figure 4 to illustrate the space of detaching motions. The hatched shaded area in Figure 4 indicates the points in the plane about which clockwise rotation detaches the workpiece from the fixture; the non-hatched shaded area identifies points about which counterclockwise rotation detaches the workpiece from the fixture. A rotation about any point strictly within these bounds will cause fixel/workpiece contact to be broken at all fixels at the same time. For our planar examples, the space of detachable motions D, defined above, can be described as a polyhedral convex cone [Goldman, 1956 #106] in 3 dimensional space (or in 6 dimensional space for spatial cases). When a fixture is strongly accessible/detachable, the space of detachable motions has an interior. When a fixture is accessible/detachable but not strongly accessible/detachable, the space contains only its boundary. It can be shown that all minimum fixel deterministic fixtures (six fixel spatial deterministic fixtures or three fixel planar deterministic fixtures) satisfy the conditions of a strongly accessible/detachable fixture. 4.0 Requirements on Manipulator/Fixture Mechanical Interaction In establishing the framework for analyzing force-assemblability, the second topic we address is the identification of the requirements on the properties of mechanical interaction of the manipulator with the fixture. Our objective is to design the manipulator's response to forces so that all all possible infinitesimal positional errors the forces of contact always lead to error-reducing motions. Here we identify: 1) the model of mechanical interaction used in our analysis; 2) the space of all possible infinitesimal positional errors; 3) the space of possible forces that may occur at each possible positional error; and 4) the space of error-reducing motions at each possible positional error. 4.1 Admittance An admittance is a mapping from forces to velocities. This mapping may take many forms. Its most general form is given as: v = vo + A(f) (7) where: vo is the nominal trajectory, the zero order term of the admittance function. A(f) is the operator which maps input force to a velocity modification, the first order and higher order terms of the admittance function. Because today's currently available manipulators are position controlled and nonbackdrivable, they have, in effect, an admittance that does not include the second term of the admittance function (i.e., A(f) = 0). With such an admittance, a small misalignment of parts can lead to contact forces large enough to damage the parts in contact or damage the manipulator itself. Force control alone (i.e., A(f) ­ 0), can regulate the contact force so that damage does not occur, but does so without regard to producing error-reducing motions. The objective of force guided assembly is to eliminate these limitations. Our goal is to "program" the admittance of the manipulator off-line so that during an assembly operation: 1) forces are regulated, and 2) motions that are error-reducing are executed for all possible possible positional errors. If, for a given fixture, there exists an admittance function which causes the workpiece to monotonically increase the number of fixels in contact and ultimately results in contact with all fixels of a deterministic fixture, the fixture is force-assemblable. 4.2 Contact Force The admittance function requires as input a contact force f. The force that results from contact with an individual frictionless fixel is given by f = fw, where f is some positive scalar and w is the unit constraint wrench of the fixel in contact. The force that results from frictionless contact with multiple fixels is given by a nonnegative linear combination of the individual constraint wrenches. The space of possible forces F is given by all nonnegative linear combinations: F = f1w1 + f2w2 + ... + fnwn (8) where: wi is unit wrench associated with contacting fixel i. fi is magnitude of the constraint force at fixel "i"; fi ³ 0 for i=1,...,n n is number of fixels in contact. The wrench magnitudes, fi's, are a function of the admittance operator, vo + A(f). In terms of the wrench matrix W defined in equation 4: F = CW Cf (9) where: CW is the matrix of unit wrenches of fixels in contact; a submatrix of W. Cf is a vector of wrench magnitudesof the fixels in contact in which each element has an arbitrary nonnegative value. 4.3 Error-Reducing Velocity Each workpiece position q in the vicinity of q* can be obtained from q* by a single infinitesimal motion: q = q* + d dt (10) where: dt is an infinitesimal period of time. d is a detaching motion; d Î D defined above. For each unit-twist d there exists a corresponding infinitesimal displacement from q*. For a given dt and for all unit-twists d Î D, the set of q given by equation 10 defines a space Q of infinitesimal displacements from q*. All q in Q correspond to contact with N-1 or fewer fixels (2 or fewer in the planar case; 5 or fewer in the spatial case). At position q, a velocity which complies with the contacting fixels (i.e. maintains contact with the contacting fixels) and causes the workpiece to move toward those fixels not in contact is defined here to be an error-reducing velocity. In the nomenclature of screw theory and virtual work, an error-reducing velocity is a twist which is reciprocal to the constraint-wrenches wi for all of the contacting fixels "i", and contrary to the wrenches wj for all of the non- contacting fixels "j". The space E(q) of error-reducing velocities consists of all velocities that satisfy these conditions at a given workpiece position. Formally, a motion v is error-reducing at workpiece position q, (i.e. v Î E(q)) iff: wiT v = 0 " i where "i" is a fixel in contact. (11) wjT v < 0 " j where "j" is a fixel not in contact. (12) Figures 5 and 6 illustrate the space of error-reducing velocities for two different configurations of a planar fixture. Figure 5 illustrates the locus of rotation centers which yield motions that are contrary to all three fixels when no fixels are in contact. The hatched shaded area indicates the points in the plane about which counterclockwise rotation is contrary to all fixels; the non-hatched shaded area identifies points about which clockwise rotation is contrary to all fixels. Figure 6 illustrates the locus of rotation centers that are contrary to two non-contacting fixels and reciprocal to one contacting fixel. The thick hatched arrow indicates points about which counterclockwise motion is reciprocal to fixel 1 and contrary to fixels 2 and 3; the thick non-hatched arrow identifies points about which clockwise rotation is reciprocal to fixel 1 and contrary to fixels 2 and 3. 4.4 Definition of Linear Force-Assemblability One of the simplest forms of admittance is the generalized damper. The generalized damper control law linearly maps an applied force into a deviation from a nominal velocity (A(f) = A f). It can be expressed as: v = vo + A f (13) where: v is the actual velocity of the manipulator, an N dimensional twist. vo is the nominal velocity, also an N dimensional twist. A is an N ´ N accommodation matrix, the inverse of a damping matrix. f is an N dimensional wrench, f Î F The accommodation matrix A takes contact force f as input and yields a velocity modification output. This velocity modification is then added to the nominal velocity vo, yielding the actual velocity of the workpiece v. A fixture for which a single nominal velocity vo and a single accommodation matrix A can be synthesized to accomplish the desired behavior of error-reduction for all possible infinitesimal initial positional errors will be defined to be linearly force- assemblable. We formally define linear force-assemblability as follows: Given a properly mated position (q* Î RN) and a strongly accessible/detachable deterministic partial fixture with the space of detaching motions given by D RN, the fixture is linearly force- assemblable iff: $ e > 0 , $ vo Î ÐD , $ A Î RN2 s.t. vo + A f(q* + d dt) Î E(q) " d Î D, " dt < e, where: f(q) Î F(q) (14) In words, the fixture is linearly force-assemblable if we can find a single accommodation matrix A and a single nominal velocity vo such that the actual velocity of the workpiece brings the workpiece closer to those fixels not in contact while maintaining contact with those fixels already in contact. This condition must hold for all infinitesimal initial positional errors ("qÎQ) and for any contact force the manipulator may encounter at each infinitesimal initial error (f(q)ÎF(q)). In the remainder of this paper we address the conditions of linear force-assemblability. In other words, we will address methods of identifying the space of nominal velocities that satisfy the linear force-assemblability conditions and the space of accommodation matrices which will satisfy the linear force-assemblability conditions. Future references to the conditions of force-assemblability will be to the conditions of linear force-assemblability. 5.0 Satisfaction of the Conditions of Force-Assemblability In this section, the mathematical conditions of force-assemblability identified in the previous sections are combined to facilitate the evaluation of an admittance that will ensure force-assemblability. A procedure to evaluate whether a particular nominal velocity vo and a particular accommodation matrix A will satisfy the force- assemblability conditions is provided. 5.1 Conditions of Force-Assemblability As defined above, a fixture is force-assemblable if there exists a damper control law (a vo and A) that will allow the fixels to guide the workpiece into the properly mated position for any infinitesimal initial positional error. Therefore, all possible infinitesimal initial positional errors must be considered in the evaluation force- assemblability. These conditions are given below. In minimum fixel deterministic fixtures (m = N), all infinitesimal positional errors involve contact with m-1 or fewer fixels and zero positional error implies contact with all m fixels. Let the set of all fixels be K, consisting of the set of fixels in contact2 C and the set of fixels not in contact \O(C,Ñ), with CÊÈÊ\O(C,Ñ) = K. Using this notation, the space of error-reducing motions at all possible initial positional errors E(Q) satisfies the following conditions: CWT v = 0 (15) \O(C,Ð)WT v < 0 (16) " C Î P(K) where: CWT is the matrix of transposed unit constraint wrenches of the fixels in contact, e.g. if, in a three fixel fixture with C = {2}, then CWT = \B\BC\[(\A\CO1\VS7\HS10(w2T))] \O(C,Ð)WT is the matrix of transposed unit constraint wrenches of the fixels not in contact, e.g. if C = {2} then \O(C,Ð)WT = \B\BC\[(\A\CO1\VS7\HS10(w1T,w3T))] v is a velocity vector (twist) obtained from the control law. v = vo + A f (13) P(K) is the "power set" of K, the set of all subsets of K. e.g. if K = {1,2,3} then P(K) = {{Æ}, {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}}. After substituting equation 13 for v and equation 9 for all f Î F, the conditions that require error-reducing motions at all possible positional errors (equations 15 and 16) become: CWT vo + CWT A CW Cf = 0 (17) \O(C,Ð)WT vo + \O(C,Ð)WT A CW Cf < 0 (18) " C Î P(K) where: Cf is the vector of constraint wrench magnitudes for those fixels in contact (i Î C) for which each element must be nonnegative. A particular nominal velocity vo and a particular accommodation matrix A satisfy the conditions of force-assemblability if the motion of the workpiece causes it to: 1) maintain contact with those fixels already in contact (for which case the contact wrench magnitudes must be nonnegative; equation 19), and 2) move into contact with those fixels not in contact (for which case the motion is contrary to those fixels; equation 20). Therefore, a fixture is force-assemblable iff: Cf = (CWT A CW )-1 CWT vo ³ 0 (19) \O(C,Ð)WT vo + \O(C,Ð)WT A CW (CWT A CW )-1 CWT vo < 0 (20) " C Î P(K) Equations 19 and 20 express nonlinear necessary and sufficient conditions on the design parameters vo and A. These nonlinear constraints make topological analysis of the space of nominal velocities and accommodation matrices that satisfy the force- assemblability conditions difficult. 5.2 Simplification of the Conditions of Force-Assemblability For the purpose of admittance design (addressed in the following section), the constraints on vo and A for force guided assembly (equations 17 and 18 or equations 19 and 20) may be separated, simplified and reduced in number. Here we identify a set of linear sufficient conditions on vo, a set of linear conditions on A, and a set of nonlinear conditions on A. The union of the conditions on A imposes a set of sufficient conditions on A. We will illustrate the simplification for a general three-fixel planar fixture below; the spatial six-fixel case is similar. Given a set of fixels, K = {1, 2, 3}, and the set of all subsets of K, P(K) = {{Æ}, {1}, {2}, {3}, {1,2}, {1, 3}, {2, 3}, {1, 2, 3}}, force-assemblability requires that the motion of the workpiece is error-reducing (satisfies equations 17 and 18) for all possible initial positional errors (" C Î P(K). For the single case in which no fixels contact the workpiece: C = {Æ}: CW is null; \O(C,Ð)W = [w1, w2, w3]. The reciprocal condition is trivial; and the individual contrary conditions are: w1Tvo < 0 (21) w2Tvo < 0 (22) w3Tvo < 0 (23) These equations (21-23) will be part of the final set of sufficient conditions. Now we consider the three cases for which contact occurs at a single fixel: When contact occurs at fixel 1 only (i.e. C = {1}): CW = [w1]; \O(C,Ð)W = [w2, w3]. The reciprocal condition is: w1Tvo + w1TA w1 {1}f1 = 0 (24) And the individual contrary conditions are: w2Tvo + w2TA w1 {1}f1 < 0 (25) w3Tvo + w3TA w1 {1}f1 < 0 (26) We see that the equations: Ð w1TA w1 < 0 (27) w2TA w1 ² 0 (28) w3TA w1 ² 0 (29) in conjunction with equations 21-23 above are sufficient conditions for satisfying the reciprocal and contrary conditions (equations 24-26) for some positive {1}f1 that satisfies the reciprocal condition. Therefore, we drop equations 24-26 and keep the sufficient conditions, equations 27-29. Similarly, Ð w2TA w2 < 0 (30) w1TA w2 ² 0 (31) w3TA w2 ² 0 (32) are sufficient conditions for satisfying the reciprocal and contrary conditions for the second case of single fixel contact, when C = {2}. And, Ð w3TA w3 < 0 (33) w1TA w3 ² 0 (34) w2TA w3 ² 0 (35) are sufficient conditions for satisfying the reciprocal and contrary conditions when C = {3}. Equations 27-35 are also part of the final set of sufficient conditions. Next, we consider the three cases for which contact occurs at two fixels: When contact occurs at fixels 1 and 2, i.e. C = {1, 2}: CW = [w1, w2]; \O(C,Ð)W = [w3]. The individual reciprocal conditions are: w1Tvo + w1TA w1 {1,2}f1 + w1TA w2 {1,2}f2 = 0 (36) w2Tvo + w2TA w1 {1,2}f1 + w2TA w2 {1,2}f2 = 0 (37) and the contrary condition is: w3Tvo + w3TA w1 {1,2}f1 + w3TA w2 {1,2}f2 < 0 (38) We see that the previously stated conditions (in particular, equations 23, 29 and 32) are sufficient to meet the contrary condition (equation 38), i.e. all components are negative therefore the sum must be negative. The reciprocal conditions are more difficult to satisfy. In addition to the previously stated conditions, we see that the following must be satisfied: Det \B\BC\[(\A\CO2\VS10\HS15(w1TA w1,w1TA w2,w2TA w1,w2TA w2)) > 0 (39) This additional condition, in combination with the previously stated conditions, guarantees that {1,2}f1 and {1,2}f2 (the wrench magnitudes) are positive. This is required if the workpiece is to remain in contact with the fixels already in contact. Similarly, an additional condition is obtained when both fixels 2 and 3 are in contact, i.e. C = {2, 3}. Det \B\BC\[(\A\CO2\VS10\HS15(w2TA w2,w2TA w3,w3TA w2,w3TA w3)) > 0 (40) And, when C = {1, 3} the additional condition is: Det \B\BC\[(\A\CO2\VS10\HS15(w1TA w1,w1TA w3,w3TA w1,w3TA w3)) > 0 (41) Finally, we consider the case for which contact occurs at all three fixels, C = {1, 2, 3}: CW = [w1, w2, w3]; \O(C,Ð)W is null. The individual reciprocal conditions are: w1Tvo + w1TA w1 {1,2,3}f1 + w1TA w2 {1,2,3}f2 + w1TA w3 {1,2,3}f3 = 0 (42) w2Tvo + w2TA w1 {1,2,3}f1 + w2TA w2 {1,2,3}f2 + w2TA w3 {1,2,3}f3 = 0 (43) w3Tvo + w3TA w1 {1,2,3}f1 + w3TA w2 {1,2,3}f2 + w3TA w3 {1,2,3}f3 = 0 (44) and there are no contrary conditions. Once again, in addition to the previously stated conditions, we see that the following must be satisfied to guarantee that the wrench magnitudes are positive: Det \B\BC\[(\A\CO3\VS10\HS15(w1TA w1,w1TA w2,w1TA w3,w2TA w1,w2TA w2,w2TA w3,w3TA w1,w3TA w2,w3TA w3)) > 0 (45) The sufficient conditions listed above are of three types: 1) linear conditions on the nominal velocity (equations 21-23); 2) linear conditions on the accommodation matrix (equations 27-35); and 3) non-linear conditions on the accommodation matrix (equations 39, 40, 41, and 45). We now express each of these in a compact notation. 5.2.1 Linear Conditions on vo The sufficient force-assemblability linear conditions on vo (equations 21-23) can be compactly expressed as the following: A nominal velocity vo is in the space Vo of nominal velocities which satisfy the force-assemblability conditions (i.e. vo Î Vo) if: WT vo < 0 (46) 5.2.2 Linear Conditions on A Six of the nine linear equations involving A (equations 27-35) satisfy the force-assemblability conditions with inequalities of the "less than or equal to" form; the other three are strict inequalities of the "less than" form. In order to compactly express these equations in vector form, we will, in the remainder of this section, use the strict inequalities ("less than") for all the equations; these will be sufficient conditions. Each equation involving A can be rearranged to facilitate the evaluation of the linear conditions on A. Each of these conditions, previously in the form: wiTAÊwjÊ<Ê0, can be expressed as the multiplication of row vector and a column vector: gijTA < 0 where: A is the Òaccommodation vectorÓ, a column vector obtained by "stringing out horizontallyÓ then transposing the accommodation matrix A, e.g. if A = \B\BC\[(\A\CO2\VS7\HS10(a,b,c,d)), then \B\BC\((\A\CO1\VS 7\HS10(ASOH))T= A = \B\BC\[(\A\CO1\VS7\HS10(a,b,c,d))] gijT is the row vector obtained by "stringing out horizontally" the outer product3 of the vectors which pre- and post-multiply the accommodation matrix, gijT = ±(wi wjT)SOH. i.e. gijT = + (wi wjT)SOH when i ­ j. and gijT = Ð (wi wjT)SOH when i = j. e.g. if w1T = [e f], and w2T = [g h]: g12T = \B(\B\BC\[(\A\CO1\VS7\HS10(e,f)) \B\BC\[(\A\CO2\VS7\HS10(g,h)))\s\up12(SOH) ]= \B\BC\[(\A\CO2\VS7\HS10(eg,eh,fg,fh))\s\up12 (SOH) ] = \B\BC\[(\A\CO4\VS7\HS10(eg,eh,fg,fh))] For example, if w1, A, w2 are as given above: w1TA w2 = g12T A \B\BC\[(\A\CO2\VS5\HS7(e,f))]\B\BC\[(\A\CO2\VS5\HS7( a,b,c,d))]\B\BC\[(\A\CO1\VS5\HS7(g,h)) ]= \B\BC\[(\A\CO4\VS5\HS7(eg,eh,fg,fh))]\B\BC\[(\A\CO1\V S5\HS7(a,b,c,d))] The sufficient force-assemblability linear conditions on A can be compactly expressed as the following: An accommodation vector A will satisfy the force-assemblability linear conditions on A if: GT A < 0 (47) where: GT is the N2 ´ N2 matrix (9´9 for planar fixtures) for which each row is obtained by "stringing out horizontally" the matrix obtained from the outer product of the vectors which multiply the accommodation matrix. GT takes the form: GT = \B\BC\[(\A\CO1\VS5\HS7(g11T, g12T, g13T, . . ., gmmT))] = \B\BC\[(\A\CO5\VS5\HS7(Ðw11w11, Ðw11w12, Ðw11w13, . . .,Ðw1mw1m, w11w21, w11w22, w11w23, . . ., w1mw2m, w11w31, w11w32, w11w33, . . ., w1mw3m, . . ., . . ., . . .,. . ., . . .,Ð wm1wm1,Ðwm1wm2,Ðwm1wm3, . . .,Ðwmmwmm))] where: wkl refers to the "l"th element of the wrench resulting from contact with the "k"th fixel. 5.2.3 Non-Linear Conditions on A The non-linear conditions on A (equations 37, 38, 39 and 43) are satisfied if the matrix WTA W is positive definite. In fact, the combination of equation 27, 39, and 45 (or the combination of equations 30, 40, and 45, or the combination of equations 33, 41, and 45) are necessary and sufficient conditions for a matrix to be positive definite [Strang, 1980 #73]. By SylvesterÕs Law of Inertia4, this requires that the accommodation matrix A be positive definite [Strang, 1980 #73]. The sufficient force-assemblability non-linear conditions on A can be compactly expressed as the following: A > 0 (i.e. A is positive definite) (48) An accommodation matrix A is in the space A of accommodation matrices which satisfy the force-assemblability conditions (i.e. A Î A) if both equations 45 and 46 are satisfied. 5.2.4 Summary of the Force-Assemblability Conditions In summary, we can construct WT and GT from the constraint wrenches and derive a set of sufficient conditions for vo and A to confer force-assemblability on a fixture. The sufficient conditions in compact form are: 1. WT vo < 0 (46) 2. GT A < 0 (47) 3. A > 0 (i.e. A is positive definite) (48) 6.0 Design of the Manipulator Admittance For the purpose of designing the manipulator admittance, we wish to characterize the spaces (Vo and A) of nominal velocities vo and accommodation matrices A which confer force-assemblability on a given fixture. Equations 19 and 20 are the set of nonlinear necessary and sufficient conditions for force-assemblability. Equations 46, 47, and 48 are the set of sufficient conditions for force-assemblability. Both sets are useful as tools in evaluating whether a particular vo and a particular A satisfy the force-assemblability conditions. Their use as tools for design is limited by the fact that a search is required to find any vo or any A which will satisfy these conditions. We can fully describe the spaces Vo and A as positive linear combinations of "basis vectors"5. These easily constructed basis vectors span the space of force-assemblability sufficient conditions. They are useful as design tools since their use eliminates the need to search for a solution to the force-assemblability conditions. Footnote 5: In the nomenclature of polyhedral convex cones [Goldman, 1956 #106], these vectors are the "edges" of the convex cone. 6.1 Basis Vectors in Vo and A The space Vo of nominal velocities satisfying the force-assemblability conditions (equation 46) can be fully described through the use of a set of basis vectors which span Vo. Any positive linear combination of the basis vectors is in Vo. Similarly, the space A of accommodation matrices satisfying the force-assemblability conditions (equations 47 and 48) can be fully described through the use of basis matrices which span the linear conditions on A. Positive linear combinations of the basis matrices which yield positive definite6 A , are in A. 6.1.1 Basis Vectors in Vo The space Vo can be described as the space consisting of all positive linear combinations of a set of N basis vectors. Each basis vector bv "marginally" satisfies the force-assemblability nominal velocity conditions. Each basis vector satisfies one of the inequalities in equation 46 and satisfies the other N-1 as equalities. For example, a single basis vector bvi in a three fixel planar fixture satisfies the following conditions: wiTÊbviÊ< 0 (49) wjTÊbviÊ= 0 (50) wkTÊbviÊ= 0 (51) The remaining 2 independent basis vectors are obtained when the inequality is associated with the other two constraint wrenches (j and k). Since the rank of WT for a deterministic fixture is by definition full (equation 4), a complete set of independent basis vectors in Vo is obtained from the following operation: Bv = Ð (WT)-1 Im (52) where: Im is the m´m identity matrix. and Bv is the m´m matrix for which each column provides an independent basis vector in the space Vo. Bv = [bv1 bv2 . . . bvm]. 6.1.2 Basis Vectors in A Similarly, the space A can also be expressed as a positive linear combination of a set of basis matrices which yield positive definite A. If GT is full rank, a complete set of basis matrices in A can be obtained by a process analogous to that of obtaining the basis vectors of Vo. Since the matrix GT is essentially7 the Kronecker product of matrix WT with WT, it can be shown to be full rank. The Kronecker product is defined as [Marcus, 1960 #114]: B ´ C = \B\BC\[(\A\CO4\VS5\HS7(b11 C,b12 C, . . .,b1m C,b21 C,b22 C, . . .,b2m C, . . ., . . ., . . ., . . .,bm1 C,bm2 C, . . .,bmm C)) ] (53) A property of the Kronecker product is that its rank is given by: rank(B ´ C) = (rank(B))(rank(C)). (54) Since the rank of WT is full, the rank of GT is full. Therefore, a complete set of basis matrices which satisfy the linear conditions on A (equation 47) is obtained by the following operation: BA = Ð (GT)-1 Im2 (55) where: Im2 is the m2´m2 identity matrix. and BA is the m2´m2 matrix for which each column provides an independent basis vector in A; BA = [bA1 bA2 . . . bAm2]. Each basis matrix is obtained by reversing the "stringing-out" process described previously. Each column vector bAi in BA yields a basis matrix Ai. 6.2 Positive Definite A As stated previously, only those positive linear combinations of the basis matrices which yield a positive definite A will satisfy both the force-assemblability linear and non-linear conditions. The objective here is to find the conditions on the positive scalars which multiply the basis matrices so that their sum yields a positive definite matrix. In other words: Find the set of positive scalars, ai s.t A = a1A1 + a2A2 +. . .+ am2Am2 > 0 (56) where: Ai is a basis matrix. Recall that the expression GTA was derived from WTA W and that, by the definition of a basis vector, GTAi yields a vector with only one non-zero element located in the "i"th row. It can be shown that the pre- and post- multiplication of each basis matrix by the constraint wrench matrix (WTAiÊW) yields a matrix with only one non-zero element; and that WTA W = WT(a1A1 + a2A2 +...+ am2Am2)W yields a matrix of the form: WTA W = \B\BC\[(\A\CO4\VS5\HS5(a1,Ða2,...,Ðam,Ð am+1,am+2,...,Ða2m,...,...,...,...,Ðam2-m+1,Ðam2-m+2,...,am2)) ] = a* (57) where each basis matrix independently contributes only one non- zero element to the design matrix a*. The design matrix a* is made up of the positive coefficients ai which multiply the basis matrices Ai. If a* is positive definite, then WTA W and A are both positive definite. The set of positive linear combinations of basis matrices which satisfy the non-linear conditions on A is given by: a* > 0 where a* is the design matrix defined above. (58) 6.3 Summary of Motion Control Law Design The manipulator admittance design procedure which ensures force- assemblability is summarized as follows: 1) A nominal velocity vo is in the space Vo of nominal velocities which satisfy the force-assemblability conditions (i.e. vo Î Vo) if: vo = Bvn where: n > 0 (59) where: 0 is a m-element column vector of zeros. and Bv is a matrix of basis vectors describing Vo; given in equation 52. 2) An accommodation matrix A is in the space A of accommodation matrices which satisfy the force-assemblability conditions (i.e. A Î A) if: A = BAa where: (a > 0 and a* > 0) (60) where: 0 is a m2-element column vector of zeros. a* is the m´m matrix constructed from a (defined in equation 57). and BA is a matrix of basis vectors describing the linear condition on A; given in equation 55. 6.4 Geometric and Topological Implications of Force-Assemblability Here, we show that all deterministic fixtures are force-assemblable. In other words, all deterministic partial fixtures have a non-null space of nominal velocities Vo and a non-null space of accommodation matrices A that satisfy the conditions of force- assemblability. The existence of a non-null space of nominal velocities Vo is clear by construction: All deterministic fixtures yield a set of independent nominal velocity basis vectors; and, any positive linear combination of the independent basis vectors satisfies the conditions of force- assemblability. The existence of a non-null space of accommodation matrices A is also clear by construction: All deterministic fixtures yield a set of independent accommodation basis matrices; some positive linear combinations of the basis matrices satisfy the condition that A be positive definite; and any set of positive linear combinations which correspond to a diagonal a* (positive diagonal elements, zero elsewhere; necessarily positive definite) yields a positive definite A. 7.0 Example The admittance design procedure is illustrated below for a planar fixure. In this example, Vo, the three-dimensional space of nominal velocities which satisfy the force-assemblability conditions, is generated and illustrated. The nine-dimensional space of accommodation matrices which satisfy the force-assemblability conditions, A, is generated. Consider the workpart and fixture illustrated in Figure 7. The space D of detaching motion for this deterministic partial fixture is illustrated by the locus of rotation centers which do not conflict with the kinematic constraints imposed by the fixels. The hatched shaded region corresponds to points about which clockwise rotations are repelling to the constraint wrenches and the boundary of this hatched area corresponds to points about which clockwise rotations are reciprocal to at least one of the constraint wrenches. Similarly, the non-hatched shaded region corresponds to those points about which counter-clockwise rotations are repelling to the constraint wrenches and the boundary of this space corresponds to points about which counter-clockwise rotations are reciprocal to at least one of the constraint wrenches. For the coordinate system shown, the set of constraint wrenches is given by: W = \B\BC\[(\A\CO3\VS1\HS7(w1,w2,w3)) ] = \B\BC\[(\A\CO3\VS7\HS10(\F(\R(2),2),1,0,Ð \F(\R(2),2),0,1,Ð2\R(2),- 1,2)) ] 7.1 Nominal Velocity The set of basis vectors which span the space of nominal velocities satisfying the force assemblability conditions is given by: Bv = \B\BC\[(\A\CO3\VS5\HS7(bv1,bv2,bv3)) ] = Ð (WT)-1 I n (52) = Ð \B\BC\[(\A\CO3\VS5\HS7(\F(\R(2),2),Ð \F(\R(2),2),Ð2\R(2),1,0,Ð 1,0,1,2))\S\UP30(-1) ] = \B\BC\[(\A\CO3\VS5\HS7(\R(2),-2,1,-2\R(2),2,-3,\R(2),-1,1)) ] The rotation centers that correspond to the nominal velocity basis vectors8 (the "vertices" of the shaded region) are illustrated in Figure 8. The locus of rotation centers that correspond to a positive linear combination of these basis vectors (the shaded region) is also illustrated. We see that the space of possible nominal velocities Vo is the negative interior of the space of detaching motions D given in Figure 7. In other words, a clockwise rotation about a point in the interior of the shaded area illustrated in Figure 7 corresponds to a counter-clockwise rotation about the same point in Figure 8 and vise versa; and points on the boundary of the shaded area of Figure 7 are not included in Figure 8. Footnote 8: The location of the rotation center is obtained from the operation [Lipkin, 1985 #121]: r = \F(w ´ v,w ¥ w). The choice of nominal velocity within the space defined by the basis vectors is arbitrary, since any positive linear combination of the basis vectors satisfies the force assemblability conditions. Below we motivate the selection of a nominal velocity that is obtained from an equal contribution of the basis vectors. Recall that each basis vector "marginally" satisfies the nominal velocity force-assemblability conditions. The basis vectors bound the space of acceptable nominal velocities Vo; in fact, each basis vector satisfies one of the force-assemblability conditions and marginally violates the others. An equal contribution of the basis vectors (i.e. nTÊ= b [1, 1, 1] in equation 59) places the nominal velocity well within Vo and is equally contrary to each fixel. An equally contrary nominal velocity causes the workpiece to approach each fixel at the same rate. In this planar case, the equally contrary nominal velocity (illustrated in Figure 9) is: vo = bv1 + bv2 + bv3 = \B\BC\[(\A\CO1\VS5\HS7(0.414,- 3.828,1.414)) ] In practice, the workpiece could be moved into the vicinity of its properly mated position in any trajectory, then during insertion, the desired nominal velocity could be executed. 7.2 Accommodation Matrix The set of basis vectors which span the space of accommodation matrices satisfying the force assemblability conditions is given by: BA = \B\BC\[(\A\CO4\VS5\HS7(bA1,bA2,. . .,bAm2 )) ] = Ð (GT)-1 I m2 (55) Each column of BA is a Òstrung-outÓ accommodation matrix. The basis matrix Ai which corresponds to the basis vector bAi is obtained by reversing the "stringing-out" process. For example, the first column of BA yields the first basis accommodation matrix, A1: A1 = \B\BC\[(\A\CO3\VS5\HS7(2,-4,2,-4,8,-4,2,-4,2)) ] These basis matrices span the linear conditions on the space A. Any positive linear combination of the basis matrices which yields a positive definite A is a point in A. A is positive definite if and only if the design matrix a*, which consists of the positive coefficients which multiply the basis matrices (given by equation 57), is positive definite. Below we motivate the selection of an accommodation matrix that corresponds to a diagonal design matrix, consisting of an equal contribution of columns 1, 5, and 9 of BA and a zero contribution of columns 2, 3, 4, 6, 7, and 8 of BA. A diagonal a* (positive diagonal elements, zero valued off-diagonal elements) is necessarily positive definite. It has the additional advantage that the magnitudes of the individual constraint wrenches do not increase during the insertion process. The magnitude of an individual wrench is the same for single fixel contact as the magnitude of the same wrench when the workpiece contacts all N fixels. This can be shown by considering the reciprocal conditions for contact with fixel 1 alone and for contact with fixels 1 and 2. C = {1} w1Tvo + w1TA w1 {1}f1 = 0 (24) C = {1,2} w1Tvo + w1TA w1 {1,2}f1 + w1TA w2 {1,2}f2 = 0 (36) If the third term of equation 36 equals zero (which occurs when the off-diagonal term, a2 equals zero) then wrench magnitudes {1}f1 and {1,2}f1 are equal. If this term is less than zero, then the wrench magnitude corresponding to multiple fixel contact {1,2}f1 is greater than that corresponding to single fixel contact {1}f1. Equal magnitude wrenches at each contacting fixel can be obtained if the ratio of the positive coefficient which multiplies the "j"th nominal velocity basis vector (the "j"th element of n from equation 59) and the positive coefficient which multiplies the basis accommodation matrix which complies only with the the same wrench (the "j"th diagonal element of a from equation 60, i.e. a(j- 1)N+j) is equal for all wrenches. Formally: qj = \F(nj,a(j-1)N+j) = h " j Î K (61) If equal contribution of the nominal velocity basis vectors is selected as above (i.e. nTÊ= b [1, 1, 1]), the wrench magnitudes at each fixel will be equal, if, in addition, an equal contribution of columns 1, 5 and 9 of BA (those basis matrices that correspond to a diagonal a*) are selected. In this planar example, an equal contribution diagonal design matrix (equal contribution of columns 1, 5 and 9, i.e. a1Ê=Êa5Ê=Êa9Ê=Ê1, and a zero contribution of columns 2, 3, 4, 6, 7, and 8, i.e. a2Ê=Êa3Ê=Êa4Ê=Êa6Ê=Êa7Ê=Êa8Ê=Ê0) yields the accommodation matrix listed below: A = \B\BC\[(\A\CO3\VS5\HS7(7,-11,5,-11,21,-9,5,-9,4)) ] which can be transformed to yield its "normal" [Loncaric, 1987 #12] form at position (2.25, 1.25). The "normal" form of an accommodation matrix is the form which provides maximum decoupling of the translational and rotational components of the velocity. The transformation and the normal form for this example are given by: AÕ = TT A T = \B\BC\[(\A\CO3\VS7\HS10(1,0,Ð y,0,1,x,0,0,1)) ] \B\BC\[(\A\CO3\VS7\HS10(a11,a12,a13,a21,a22,a23,a31,a32,a33)) ] \B\BC\[(\A\CO3\VS7\HS10(1,0,0,0,1,0,Ðy,x,1)) ] (62) AÕ = \B\BC\[(\A\CO3\VS7\HS10(0.75,0.25,0,0.25,0.75,0,0,0,4)) where: x is the x-component of the vector from the base of the coordinate system of A to the base of the coordinate system of A' (x = 2.25 in this example). y is the y-component of the vector from the base of the coordinate system of A to the base of the coordinate system of A' (y = 1.25 in this example). The selected nominal velocity and accommodation matrix are illustrated in Figure 10. 8.0 Summary Our work to date has shown that contact forces which occur during the insertion of a workpiece into a deterministic, frictionless, partial fixture can be used to guide the workpiece into the properly mated position in the fixture. We have shown that all such fixtures have a non-null space of nominal velocities Vo and a non-null space of accommodation matrices A which satisfy the force-assemblability conditions. We have shown: 1) how to evaluate whether a damper control law (a vo, A combination) satisfies the force-assemblability conditons (equations 19 and 20); and 2) how to design a control law which necessarily confers force-assemblability from a set of basis vectors (and basis matrices) obtained from the constraint wrenches (equations 57-60). As a result of this work, the proper insertion of a workpiece into a rigid fixel partial deterministic fixture can be ensured by the use of frictionless point supports and the appropriate choice of manipulator admittance. Once the properly mated position is obtained, the addition of one or more closure fixels can then be used to totally constrain the motion of the workpiece. The proper insertion of the workpiece into the fixture ensures that the workpiece is uniquely positioned and that all fixels required to constrain the motion of the workpiece actually make contact with the workpiece. Acknowledgements This work was supported by NSF Grant DMC-8857854 and Northwestern University. The authors would like to thank: H. Lipkin (Georgia Tech), E. Colgate (Northwestern), and A. Goswami (Northwestern) for their helpful discussions. References 1 The vector w is a wrench and the vector t is a twist in the nomenclature of screw theory (see Ball [3], Roth [16], or Sugimoto and Duffy [20].) For those readers unfamiliar with screw theory, all examples presented here are planar, for which case the wrenches and twists simplify to the 3-vectors described below. 2 For example, if the set of all fixels is given by K = {1,2,3} and C = {2}, then \O(C,Ñ) = {1,3}. 3 The outer product of two column vectors a and b is given by a bT. If a is a 3-element column vector and b is a 3-element column vector the outer product yields a 3x3 matrix. 4 WTA W is a congruent transformation on A. SylvesterÕs Law of Inertia states that a congruent transformation does not change the signs of the eigenvalues; therefore, if WTA W is positive definite (all its eigenvalues are positive) then all eigenvalues of A must be positive and A must be positive definite. 5 In the nomenclature of polyhedral convex cones [6], these vectors are the "edges" of the convex cone. 6 Positive definiteness is not a linear condition, so it is imposed separately. 7 The sign difference on those rows in which the constraint wrenches multiply themselves (i.e. those rows for which ÐwiTAwiÊ<Ê0) prevents the matrix GT from being exactly the Kronecker product of WT with WT. 8 The location of the rotation center is obtained from the operation [8]: r = \F(w ´ v,w ¥ w).