Mixed Position and Twist Space Synthesis of 3R Chains

: Mixed-position kinematic synthesis is used to not only reach a certain number of precision positions, but also impose certain instantaneous motion conditions at those positions. In the tradi-tional approach, one end-effector twist is deﬁned at each precision position in order to achieve better guidance of the end-effector along a desired trajectory. For one-degree-of-freedom linkages, that sufﬁces to fully specify the trajectory locally. However, for systems with a higher number of degrees of freedom, such as robotic systems, it is possible to specify a complete higher-dimensional subspace of potential twists at particular positions. In this work, we focus on the 3R serial chain. We study the three-dimensional subspaces of twists that can be deﬁned and set the mixed-position equations to synthesize the chain. The number and type of twist systems that a chain can generate depend on the topology of the chain; we ﬁnd that the spatial 3R chain can generate seven different fully deﬁned twist systems. Finally, examples of synthesis with several fully deﬁned and partially deﬁned twist spaces are presented. We show that it is possible to synthesize 3R chains for feasible subspaces of different types. This allows a complete deﬁnition of potential motions at particular positions, which could be used for the design of precise interaction with contact surfaces.


Introduction
Mixed-position synthesis, in which a combination of finite and infinitesimal positions are defined for the dimensional synthesis, appears as an extension of Burmester's theory for planar motion [1]. Mixed-position approximate synthesis for planar linkages can be found in [2,3]. In [4], exact synthesis for planar linkages includes higher-order derivatives applied to envelope a planar curve with a tangent line.
The problem was studied for spatial dyads and their combined linkages by Chen and Roth [5,6] to unify the formulation for finite and infinitesimal positions, and later by Tsai and Roth [7], who used the spatial triangle. In all cases, it is applied to define one rigid-body velocity per position at a set of desired positions of the end-effector. The objectives are, among others, to achieve better guidance of the end-effector along a trajectory or to obtain a more accurate approximation to a desired motion curve. Second-order derivatives were included in the synthesis of spatial mechanisms in [8], and related to the curvature of contacts for planar mechanisms in [9].
First-and second-order derivatives can describe contact conditions in the synthesis problem [10], associating first-and second-order kinematics to curvatures and forces at the points of contact [11]. So far, this identification has mainly been used for the design of robotic hands. In [12], multiple rigid-body velocities were used at finite positions in order to synthesize hands for local manipulation conditions. The numerical synthesis allowed to fully or partially define the set of potential directions of motion for the fingertips at specified points. Optimized fingers for grasping objects with a minimally articulated hand were designed in [13] using these type of constraints.
On the other hand, subspaces of twists and wrenches have been used as a design tool for the structural or type synthesis of parallel robots. The potential motions of the platform are found by intersecting the twist or wrench subspace generated by each of the supporting legs; see, for instance, [14].
In this work, we explore the relation between the twist subspaces that can be defined in combination with finite positions, and the topology and geometry of the kinematic chain that imposes the restrictions on the motion. The interest is on defining the twist systems that a given chain can generate, and on stating the set of synthesis equations that are created when the subspace of twists is fully defined at a position. This study is applied to one simple but significant spatial linkage, the 3R spatial chain. The finite-position synthesis of the spatial 3R chain was partially solved in [15,16]. In [17], interval analysis was applied to obtain a set of solutions for the exact synthesis problem, and in [18], numerical algebraic geometry was used to obtain the number of solutions of the problem and to numerically solve the set of equations, which are based on a vector formulation. While algebraic solutions for the finite-position synthesis of spatial chains tends to be a very complex problem, it is possible to state a simpler set of equations for the mixed-position synthesis. The resulting set of equations can be easily solved using the numerical Groebner basis and eigensystem methods.

The 3R Serial Chain
Let S i = s i + s 0 i be the Plücker coordinates of the ith joint axis of the chain shown in Figure 1, with i = 1, 2, 3, at the reference configuration. Let θ i be the joint variables measured from the reference configuration andθ i be the joint rates at each of the axes i = 1, 2, 3. The spatial 3R chain. Forward kinematics is the product of the relative displacement D 3R and the displacement to the reference configuration D 0 . Twist of the end-effector expressed in the fixed frame is W ee .

Forward and Inverse Kinematics of the 3R Chain
The forward and inverse kinematics of the 3R chain can be computed using different methods and mathematical tools. Here, we present the approach that is most suited to use them as a first step in the creation of the synthesis equations.
Dual quaternion algebra is used in the development of these equations because it allows for a direct identification of the joint axes. We denote a dual quaternion aŝ Q = q w + q w0 + Q, where Q is the six-dimensional dual vector.
The relative displacements of the 3R serial chain can be expressed using the product of exponentials,D (1) and arranged as a linear system on the product of joint angles, whereŜ i are the pure dual quaternions corresponding to the joint axes,Ŝ ij is the product S iŜj using the dual quaternion product, and s θ i , c θ i are the sin and cosine of the half angle θ i . Equating to a target positionP = p w + p w0 + P of the end-effector, we obtain a system with 2 3 = 8 unknowns on the joint variables. We use the notation where these variables are related by 3 independent bilinear conditions. The system, with a degree of over-determination of 3, is shown below: It is possible to solve the 8 linear equations directly for the unknowns; the resulting unique solution will comply with the quadratic conditions only if the position belongs to the workspace.
A smaller system of equations is obtained if we post-multiply by the inverse of the last rotation in order to split in 2R and 1R sides, so that the total of unknowns is 6. Denote x 1 = c θ 1 c θ 2 , x 2 = s θ 1 c θ 2 , x 3 = c θ 1 s θ 2 , x 4 = s θ 1 s θ 2 , and x 5 = c θ 3 , x 6 = s θ 3 , then we have the system This system of equations can be used to solve the inverse kinematics of the chain, as well as to state the kinematic synthesis equations.

Space of Potential Twists of the End-Effector
Let us consider the twist as the six-dimensional vector W = (w, v), where w is the angular velocity of the body and v is the velocity of a point belonging to the body. The set of twists of the end-effector at position i can be defined as where S i j is the jth joint axis at a configuration defined by i, andθ i j is its angular joint rate. This is, in the most general case, a three-dimensional subspace of the six-dimensional space of twists. For a given configuration of the robot, defining three end-effector twists, W 1 , W 2 , and W 3 , fully specifies the subspace of potential twists of the end-effector at position i, as the linear combination of the three independent twists. However, for a generic twist subspace such as Equation (7) to coincide with the subspace of twists of the end-effector of the robot, some additional conditions are needed. The dimension of the specified twist space must be equal to the dimension of the space spanned by the joint axes at that configuration, and also some conditions on the principal pitches of the screw system must be satisfied, as explained in Sections 3 and 4.

Twist Spaces of Dimension 3 for the Serial 3R Chain
The classification used for the screw systems of dimension 3 follows [19,20]. There are 12 different types of screw systems of dimension 3, counting special sub-types. Each type comprises screw systems with different pitch values that define equivalence classes up to rigid motion. Twists belonging to the end-effector of a kinematic chain such as those shown in Equation (6) form a twist system.

Finite and Infinitesimal Motion
The completion group of a screw system is defined by the exponential map of the smallest Lie subalgebra containing the screw system; see, for instance, [20] for the completion subgroups of the different types of screw systems. For any twist system generated by a kinematic chain, the finite motion of the chain must belong to the completion group of the system, which is a subgroup of SE(3).
Some twist subspaces are invariant. Invariant twist systems are closed under the Lie bracket, that is, they are subalgebras of se(3). These systems are symmetric under the action of a rigid motion by a screw belonging to the system. They guarantee full-cycle mobility for closed chains, and exhibit remarkable invariance properties [21].
For those twists systems generated by a kinematic chain, this means that the screw system will remain constant along the motion of the chain. For the case in which the dimension of the twist space coincides with the global degrees of freedom of the chain, this implies that its finite motion must belong to the corresponding subgroup of SE(3).
If the twist system remains of the same type and also keeps the pitches of the principal screws, but it does not remain constant along the motion, then it is a persistent screw system [21,22]. Those undergo a displacement when changing the configuration of the kinematic chain that generates them, that is, remain within the equivalence class. Invariant systems can be considered as particular cases of persistent systems [23].
While the composition of two revolute joints creates persistent twist systems, in general, for three revolute joints in series this is not the case, and the twist system may change when passing from one configuration of the chain to another. For this most general case, we say that the chain has a variable screw system corresponding to the subspace of twists at different configurations.
Along this work, we will refer to the twist system when denoting the screw system corresponding to a given twist subspace.

Kinematic Generators of a Twist System
A set of screws S 1 , . . . , S n corresponding to the twists of kinematic pairs connected in series span a screw system, and the chain is the instantaneous kinematic generator of the twist subspace corresponding to that system. Every twist system of dimension 3 can be obtained by specializing the instantaneous kinematic generator formed by three cylindrical joints assembled in series. In any case, the individual twist of each of the joints belongs to the twist system at a given configuration.
In the case of the 3R serial robot, the pitch is zero for each screw corresponding to a joint, and this limits the twist systems that can be generated and correspondingly, the combination of finite and infinitesimal positions that we can define.
The concept of instantaneous kinematic generators has its equivalence in finite motion using the kinematic bond, which is the set of allowed relative displacements between two rigid bodies, belonging to a given kinematic chain. The mechanical generator of the bond is the kinematic chain (that is, the set of kinematic pairs and their connectivity) that generates the bond [24].

Feasible Screw Systems for the 3R Serial Chain
We consider a screw system as feasible by a given mechanical generator when the instantaneous kinematic generator can span the screw system at a given configuration of the chain.
The identification of those systems of twists of dimension 3 that are feasible for a spatial 3R chain is presented in Table 1. In this table, we present all screw systems of dimension 3 according to the classification in [20], with their pitches and normal form in a particular reference frame, the identification of their completion group, and their invariance properties (whether they are invariant, persistent or variable by the set of instantaneous kinematic generators presented in the normal form). For each system, we include in the last column its feasibility as generated by a 3R mechanical generator. Table 1. Twist systems of dimension 3 [20] and their synthesis properties.

Completion Group Gibson Hunt Type Normal Form
In the table, we can see that a 3R chain can be designed with specific geometry to have some invariant twist systems, with the corresponding subgroup of motion, and also can be designed for several variable twist systems that allow general motion in SE(3). However, the 3R chain cannot be designed to generate a persistent twist system of dimension 3 that is not invariant. This agrees with the results in [23].
The methodology to prove the feasibility of the 3R chain to generate these twist systems, at any or some particular configuration, is presented in Section 4, and it is used in the subsection below, in particular the matrix formulation presented in Equations (18)-(22).

Proofs of Feasibility
The principal screws [25] for a 3-twist system can be computed and written, after a coordinate transformation, as We use this form as well as the equivalent normal form [26] used in classifications [19] and presented in Table 1 to derive the reachability conditions for some special cases. For this, we consider the pitch h i = t i /θ i .
The minors of matrices used to prove linear dependence, described in detail in Section 4, can be obtained for the principal screws of the system and the joint axes S i j , The computation of the corresponding 4x4 minors provides us with simplified equations in terms of the pitches of principal screws, For twist systems with finite pitch, the Plücker conditions on the moment of the lines, ss 0 = 0, yield the equations, For the case of one or more pitches being infinite or zero, the minors' conditions are modified as detailed below. Table 1 also shows the pitches of the generator screws as h 1 , h 2 , h 3 . Using Equations (10) and (11), we can conclude which of the screw systems are reachable for a 3R system.

Screw System I ID:
From the ∞ condition for the three pitches, we conclude that θ i , i = 1, 2, 3 is 0, and from Equation (10) we conclude that for every joint axis. That proves that this system is not feasible for a 3R system. Screw System I I A(h = 0): The 0 condition on all three pitches implies s 0 i = 0 for each joint S i , which means that all three axes must intersect at the center of the twist system. They must also be independent in order for the dimension to be three. The system is feasible.
Screw System I IC(h = 0): A similar strategy for this system reveals that, for the normal form of the table, s y , s z and s x0 must be zero, while s x is not restricted. The joint axes have direction x and are parallel, located anywhere in the perpendicular plane. The system is feasible.
Screw System I IC(h = 0): In this system also using Equation (10), we conclude that s y and s z must be zero, so the joint axes must be directed along the x axis. Imposing Equation (11) gives and thus, s x is also zero, which proves that the system is not feasible. Screw System IC(h = 0): In this system, since the screw system is not in the principal form, we use Equation (9) to conclude s y = 0, s z = 0 ps 0 x = s 0 z . Imposing from the Plücker coordinate condition of s i s 0 i = 0, we have s x s 0 x = 0 and since s x = 0, we get s 0 x = s 0 z = 0. This will result in the S i being The resulting axes are clearly linearly dependent and create a 2-system, which will not be able to generate linear velocity, for instance, in the x direction, although they are contained in this screw system. We can conclude that the system is not completely feasible, only a subspace of twists is.
Screw System IC 0 : Similar to system IC, the conditions for this system result in three linearly dependent axes of the same form as the previous one, forming a subspace of dimension two. The system cannot be fully generated by a 3R chain.
Screw System I IB: In this system, Equation (10) provides that s z = 0, and Equation (11) for which s x and s y must be zero and makes the system not feasible by the 3R chain. Screw System I IB 0 : Applying linear dependence, we obtain that s z = 0, s x0 = s y0 = 0. A 3R chain with axes on the x − y plane can generate this system.
Screw System IB 0 (h 1 = h 2 ): In this case, imposing linear dependence yields the equations which means that we have three free parameters to define the three independent joint axes in order to generate the twist system. From the equations, we can see that s x = 0.

Screw System IB 3 (h 1 = h 2 ):
A similar approach provides s z = 0 and h 1 s 2 x + h 2 s 2 y = 0. This makes the twist feasible with the condition that the pitches of the imposed screw system have opposite signs.
Screw System I I A((h = 0): For this system, the condition from Equation (11) yields h(s 2 x + s 2 y + s 2 z ) = 0, that requires s = 0, which cannot span a revolute joint, or h = 0, which is a different screw system. The system is not feasible.
Screw System I A 2 (h 1 = h 2 ): Equation (11) for this system gives h 1 s 2 x + h 2 (s 2 y + s 2 z ) = 0. It is possible to create three revolute joints to obtain this twist system, with s x = 0 and as long as the pitches have opposite signs.
: This is the most general three-dimensional screw system. In this case, we obtain h 1 s 2 x + h 2 s 2 y + h 3 s 2 z = 0, which is feasible when one of the pitches has an opposite sign to the other two.

The 3R Chain as a Kinematic Generator of Twists
A 3R chain can generate those twists systems that are feasible, for at least one particular configuration of the chain. The interesting information of Table 1 is that it shows the twist systems of dimension 3 (with the corresponding completion subgroup of SE (3)) and whether or not they can be realized with a spatial 3R chain.
In general, the relative finite motion defined by D 3R in Equation (1) must be obtained from the twist of the end-effector, W ee in Equation (6) at the initial configuration. When the complete twist space is defined at that position, the subsequent finite motion must belong to the completion group of the twist system.

Synthesis with a Specified Twist Space
Once the feasible twist spaces that can be generated by a 3R chain are identified, we can state a synthesis problem in which finite precision positions, as well as the full subspace of potential velocities at those positions, are imposed to the chain. The type of twist system (whether it is invariant, persistent or variable), as well as the completion group of the targeted system, are important inputs in this process.
One important point to consider is that we can define arbitrary finite motions of the chain for synthesis purposes only in the cases for which the completion group of the imposed twist system is the whole SE(3). This consideration is not necessary if we only partially specify the twist system.
Another important point is that if we specify an invariant or persistent screw system, it is enough to specify it at the reference configuration, which simplifies the equations.
In this section, we derive the synthesis equations that can be imposed for the twist system and the finite solutions, and how to solve the overall system of equations.
Let us consider a 3R chain with joint axes S i j , j = 1, 2, 3. The superscript i indicates the configuration of the chain. Each revolute joint axis S j can apply an angular velocity of magnitudeθ j .
Assume that, at a given position i, we impose a twist system given by twists W k , k = 1, 2, 3 if we fully specify the 3D twist system. The matching of the twists at position i, is equivalent to the condition on the rank of the space spanned by the axes and the twists, This condition can be simplified. In order for the 3R chain to be able to perform the twists defined in Equation (7), each of the joint rotations S i jθ i j must belong to the subspace W i , in particular with angular velocity equal to one. To study the solutions of the problem, note that the specified twists can be defined at any configuration of the robot, in particular at the reference configuration; it is always possible to switch the reference configuration as needed.
This allows us to write the three conditions for the minors of matrices M j , with such that rank([M j ]) = 3, j = 1, 2, 3.
Notice that this condition implies only that the twist system of the three axes is contained in the specified twist system, In order to impose equality, we need the condition that the three twists of the screw axes are independent, However, this condition is implied in the additional finite-position synthesis equations. The 3 independent minors per axis are linear in the Plücker coordinates of the axes, for a total of 9 linear equations.
To this condition for the twist system at the reference configuration, we add the condition that the chain must pass through two exact positions. The finite-position synthesis equations are written using Equation (5) and considering the six-dimensional dual vector part only, for one relative position of dual vector P, where c θ i and s θ i denote the cosine and sine of the half angle for each joint variable. In summary, the exact synthesis for a specified twist space of dimension 3 at a position can be stated for the 3R serial chain if the chain must reach two exact positions, having a fully defined compatible twist space in one of them, in particular in position 1, which will be taken as the reference configuration.

Solving the System of Equations
The nine linear equations obtained for the twist space from Equation (20) can be used to express some of the Plücker coordinates of the joints as a function of the others. For instance, we can keep as independent the directions of the joint axes s i , with The selection of variables in this step depends on the twist system that we define for the end-effector; the procedure presented here could be used, for instance, for the most general I A 1 system.
The Plücker conditions on the moment of the lines, s i s 0 i = 0, yield three homogeneous quadratic equations with identical coefficients when substituting the values of Equation (24), This corresponds to the three directions lying on a real elliptic cone. In addition, the directions must be unit, so they also lie on the unit sphere, The intersection of these two surfaces is a spheroconic, an elliptic quartic curve, and it is shown in Figure 2. Notice that the directions can be arbitrarily assigned to either one or the other intersection curves. Figure 2. Locus of the direction of the axes from the twist conditions. A general case (left) and a case in which the elliptic cone degenerates to two planes (right).
The system of equations for one relative position in (23) contains eight quartic equations, six of them being independent once the Plücker conditions for the axes are imposed.
In all, we obtain a set of 12 equations (15 if we make the cosine and sine of the angles algebraic by imposing c 2 θ i + s 2 θ i = 1), which can be solved to obtain the solutions of the system. The system is summarized in Equation (27), where the forward kinematics are separated in two sets, one for the real and another one for the dual part of the equations: where we substitute s 0 i with their expressions as a function of s i in Equation (24). Variables can also be further eliminated using standard techniques for a graphical representation of the solutions, see Figure 3.
The multiple solutions contain a subset, which generates the twist system at the first position but does not reach the second position. Those are due to the lack of information in the selected equations about the conjugation of the third axes, and can be eliminated by checking the forward kinematics. They account for a reduction to half the number of solutions. The remaining set contains repeated solutions due to the sign duplication in each axes, and to the cosine and sine of the half angles. The final set corresponds to 1/2 6 of the initial solution set.
The final number of solutions obtained depends on the screw system selected; for the most general type, we obtain 4 non-repeated solutions.

Design for Lower-Dimensional Twist Spaces
Even though the maximum number of twists we can define per position is three, we can also specify two or one twist, for instance, for trajectory guidance purposes. We are not targeting singularity placement here, but rather incompletely defined infinitesimal motion.
In the example below (Example 1), a generic 3R robot was designed for reaching two positions; for one of them, the twist of the end-effector is generated by two perpendicular angular velocities only, and for the other one, a single twist is defined, corresponding to angular velocity about an independent axis. The positions and twists are specified in Table 2. Table 2. Example 1: Input positions, expressed as dual quaternions, and end-effector twists.

Position
End-Effector Twists A total of 12 different solutions was obtained. The resulting joint axes at the reference configuration for the robot in Figure 4 are shown in Table 3.
In Figure 4, the 3R robot is shown at two positions. Notice how the first two of the axes intersect. It is interesting to notice that five of the solutions have the first and second axes S 1 and S 2 intersecting, while the rest have generally oriented axes for which axes S 1 and S 3 intersected at the second position. Figure 5 shows the subspace of potential twists of the end-effector at the first and second positions for the selected solution, matching the specifications for the span of the two angular velocities at the points.   Table 3. The joint axes are shown as dashed lines and link colors are those of Figure 1. Notice that two of the axes intersect at a point. Table 3. Example 1: Plücker coordinates of the joint axes of one of the solutions of the 3R robot at the reference configuration.

Design for Fully Specified Twist Space
Designing for velocity subspaces allows for complete control of the motion of multi-DoF systems at particular positions. It can also be used for the design of non-general robots, for instance with parallel axes, without having possible degeneracy problems and without adding geometric constraints between axes.
The equations obtained with the elimination process can be solved with exact coefficients to obtain the complete set of solutions by using the numerical Groebner basis, and the results are obtained in a few seconds using symbolic software. Other numerical solvers, such as the Levenberg-Marquardt optimizer, can be used to obtain one solution at a time for a faster result.

Example 2: Arbitrary Finite Motion and General Twist System
For two random positions and three random twists defined at the first position, the system of equations yields four real solutions. Table 4 shows the input positions and twist system, and Figure 7 shows the motion of one of those robots from position 1 to position 2. Its resulting axes at the reference configuration are shown in Table 5.   For this example, a 3R robot is to be synthesized in order to have a twist space of angular velocities only, as shown in Table 6. The compatible finite positions must belong to the subgroup of pure rotations SO(3). Table 6. Example 3: Input positions, expressed as dual quaternions, and end-effector twists.

Position
End-Effector Twists 0.999 + 0.017i 0.701 + 0.397i + 0.131j − 0.577k W 2 1 = (1, 0, 0, 0, 0, 0) W 2 2 = (0, 1, 0, 0, 0, 0) W 2 3 = (0, 0, 1, 0, 0, 0) The twist system equations immediately yield si0 = 0 for all three axes, which only have to enforce the unit conditions. The finite position equations for the relative displacement reduce to the quaternion equations. The joint axes at the reference configuration are shown in Table 7. All three axes intersect at the origin as expected without the need to enforce this condition in the synthesis equations. Figure 8 shows the robot reaching the two positions and the intersecting joint axes that ensure the twist of the end-effector to be as defined and, in addition, invariant.

Conclusions
The synthesis of spatial 3R chains with the prescribed twist space at particular configurations is studied in this work, extending the current technique of defining a single velocity for guidance along a trajectory. The mixed-position synthesis with fully specified twist spaces allows for full control of the motion in proximity of key positions. In addition, it allows for the synthesis of planar, spherical or other robots with specific geometry within the same synthesis process. Algebraic equations as well as numerical results are presented, and the compatibility between finite positions and potential twists is studied, concluding that the spatial 3R chain can have potential motions corresponding to seven different twist systems of dimension three, among them the two invariant systems corresponding to SO(3) and SE(2) finite motions; in these cases, positions for the chain cannot be defined arbitrarily, as they need to belong to the same completion group. An interesting extension could be finding the conditions to impose lower-dimensional subspaces at particular configurations in order to place singularities at desired locations.