Hyperbolic pseudoinverses for kinematics in the Euclidean group
HHYPERBOLIC PSEUDOINVERSES FOR KINEMATICS IN THEEUCLIDEAN GROUP ∗ P. DONELAN † AND
J. M. SELIG ‡ Abstract.
The kinematics of a robot manipulator are described in terms of the mappingconnecting its joint space and the 6-dimensional Euclidean group of motions SE (3). The associatedJacobian matrices map into its Lie algebra se (3), the space of twists describing infinitesimal motion ofa rigid body. Control methods generally require knowledge of an inverse for the Jacobian. However foran arm with fewer or greater than six actuated joints or at singularities of the kinematic mapping thisbreaks down. The Moore–Penrose pseudoinverse has frequently been used as a surrogate but is notinvariant under change of coordinates. Since the Euclidean Lie algebra carries a pencil of invariantbilinear forms that are indefinite, a family of alternative hyperbolic pseudoinverses is available.Generalised Gram matrices and the classification of screw systems are used to determine conditionsfor their existence. The existence or otherwise of these pseudoinverses also relates to a classicalproblem addressed by Sylvester concerning the conditions for a system of lines to be in involutionor, equivalently, the corresponding system of generalised forces to be in equilibrium. Key words.
Euclidean group, pseudoinverse, indefinite inner product, manipulator Jacobian,screw system
AMS subject classifications.
1. Introduction.
The direct or forward kinematics of a robot manipulator isgiven by a mapping from its joint space M , an m -dimensional smooth manifold where m is the number of degrees of freedom of its joints, into the Euclidean motion group SE (3) of rigid motions of Euclidean 3-space E —the space of positions for its end-effector or hand. Under a choice of orthonormal coordinates for E , the 6-dimensionalLie group SE (3) is isomorphic to the semi-direct product SO (3) (cid:110) R , where thecomponents represent rotations about the origin and translations, respectively. Itsinstantaneous kinematics are given by the derivative of the kinematic mapping at agiven configuration q ∈ M , and can be represented by a Jacobian matrix J , givinga linear map from the space R m ∼ = T q M of joint velocities to the space of task orend-effector velocities, i.e. the Lie algebra se (3) associated to the Euclidean group,whose elements are termed twists .A central problem in robotics is to determine the inverse kinematics, enabling apath to be found in the joint space that will give rise to a desired motion of the robotmanipulator’s end-effector. The existence of a solution and its uniqueness will dependon the number of joints—the manipulator may have redundancy ( m >
6) or be under-actuated ( m <
J < min( m, m = 6, is likely to have an effect. Explicit solutions are known for someclasses of serial manipulator, such as wrist-partitioned arms [18]. However, even whena solution to the inverse kinematics is known it may involve high joint accelerationand torques on the components, so control algorithms are employed. These generallyrequire inversion of the Jacobian. If the number of joints is different from six, so theJacobian matrix is not square, or in the presence of singularities of the kinematicmapping, the need arises to adapt such control algorithms. To that end, Moore–Penrose pseudoinverses have been employed [25]. ∗ Submitted to the editors 2016/08/23. † School of Mathematics and Statistics, Victoria University of Wellington, Wellington, NewZealand ([email protected]). ‡ School of Engineering, London South Bank University, London, UK ([email protected]).1 a r X i v : . [ m a t h . M G ] N ov P. DONELAN AND J. M. SELIG
However, there is an intrinsic problem for the Euclidean group with this pseu-doinverse [8]. Its definition and existence depend on the choice of positive-definiteinner product on the vector spaces involved. In the case of instantaneous kinematics,the matrices in question are Jacobians of the derivative of the kinematic mappingbetween differentiable manifolds so that one requires a Riemannian metric, conferringsuch an inner product on each tangent space. In the case of the joint space M , onecan assign a positive definite inertia metric. Given that SE (3) is a Lie group, it ispreferable to employ a bi-invariant metric. However no such metric exists, as wasshown by Loncaric [15] and Lipkin and Duffy [14]. The latter pointed out that manyrobot applications propose using Euclidean metrics on twists but these metric are notbi-invariant and hence problems can arise. In particular, in some control applicationsan error signal can depend simply on the choice of origin. Doty et al [8] observedthe related problem of incommensurate units in some robot applications: quantitieswith different physical units have been combined to produce possible metrics used tocompare different systems. A different choice of units can alter the rank order of sys-tems studied. This problem would be solved if the quantities derived were invariantwith respect to rigid changes of coordinates. Some application may require quantitieswhich are also invariant with respect to change of scale.Since one would therefore wish the Jacobian matrix to be invariant under (orthog-onal) transformation in the coordinates of the ambient space and the end-effector, thenthe appropriate quadratic form on the Lie algebra should be adjoint invariant. Whilethere is no bi-invariant positive definite form, there exists a family of bi-invariant indef-inite quadratic forms on se (3), the pitch forms parametrised by the pitch h ∈ R ∪ {∞} that, apart from the exceptional case h = ∞ , are non-degenerate.The aim of this paper is to determine the extent to which the theory of pseu-doinverses can be applied to the instantaneous kinematics of manipulators using thepitch forms. The theory of pseudoinverses for indefinite inner product spaces has beendeveloped by Kamaraj and Sivakumar [12]. There is also a growing literature on theassociated question of matrix decompositions (polar and singular value) for indefiniteinner product spaces [2, 3] that also has relevance for robot kinematics, since per-formance indices such as manipulability [9, 16, 26] are defined in terms of a positivedefinite inner product. The main tools used in the study are Gram matrices [21] andthe classification of screw systems due to Hunt and Gibson [10, 7].In section 2, the theory of hyperbolic h -pseudoinverses is presented. Then, insection 3, the role of the associated Gram matrices together with the existence of thepseudoinverses is explored. In particular, the classical problem, solved by Sylvester,of lines in involution is considered from this perspective in section 4. Section 5 ad-dresses the existence of screw systems for which no h -pseudoinverse exists for any h .Application of these h -pseudoinverses to projection operators in shared and hybridrobotic control follows in section 6 before some concluding remarks.
2. Pseudoinverses in the Euclidean Group.2.1. Invariant forms on the Euclidean Lie algebra.
Notation for the Eu-clidean group and its Lie algebra are briefly presented here. Further details can befound in [20]. Given an orthonormal frame of coordinates Ox x x in Euclidean 3-space E , the Euclidean group SE (3) of orientation-preserving rigid displacementsis isomorphic to the semi-direct product SO (3) (cid:110) R of rotations about the originand translations. Without such a choice of coordinates, there is no means to identifypoints of E nor elements of SE (3). So, to avoid unnecessary complication, it is usualto assign a preferred choice of coordinates (and hence identify E with R ) with re- YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP SE (3) will be identified with the semi-direct product. From now onwe assume this is the case.It is frequently useful to identify the translation vector t = ( t , t , t ) T ∈ R with the skew-symmetric matrix T whose action on x ∈ R is identical to the vectorproduct T x = t × x , namely T = − t t t − t − t t . Hence an element of SE (3) can be represented by a pair ( R, T ) where R ∈ SO (3), so R T R = I , det R = 1, and T is skew-symmetric. Let R ( θ i ) denote rotation about theaxis Ox i by an angle θ i and T ( t i ) denote translation by t i parallel to Ox i , i = 1 , , R , T ) ◦ ( R , T ) = ( R R , R T R T2 + T ) . Note that the translations form a normal subgroup while the rotation subgroup is notnormal.The Lie algebra se (3) of the Euclidean group is a 6–dimensional real vector space.Writing I , O for the 3 × ω i = ddθ i ( R ( θ i ) , O ) (cid:12)(cid:12)(cid:12)(cid:12) θ i =0 , v i = ddt i ( I , T ( t i )) (cid:12)(cid:12)(cid:12)(cid:12) t i =0 , i = 1 , , . Then ( ω , ω , ω , v , v , v ) forms a basis for the Lie algebra. The first three elementsare infinitesimal rotations about the coordinate axes and the last three infinitesimaltranslations parallel to those axes. Coordinates with respect to this basis are termed Pl¨ucker coordinates and they form a natural generalisation of the coordinates of thesame name used for lines in projective 3-space. An element s ∈ se (3) is called a twist .By a slight abuse of column vector notation, we generally write a twist in Pl¨uckercoordinates as s = ( ω , v ). It is also convenient to introduce the skew-symmetricmatrices Ω and V that are determined by the actions: for all x ∈ R , Ω x = ω × x , V x = v × x , respectively.A change of orthonormal frame in E (or origin and axes in R ) corresponds toconjugation in SO (3) (cid:110) R and this gives rise to the adjoint action of the group onits Lie algebra. Specifically, this action is described in Pl¨ucker coordinates by:(2) Ad ( R, T )( ω , v ) = (cid:18) R OT R R (cid:19) (cid:18) ω v (cid:19) . Differentiating the adjoint action with respect to SE (3) gives the adjoint of the Liealgebra, namely its Lie bracket. This has the (partitioned) matrix form:(3) ad ( ω , v )( ω , v ) = (cid:18) Ω OV Ω (cid:19) (cid:18) ω v (cid:19) or in Pl¨ucker vector form:(4) ad ( ω , v )( ω , v ) = [( ω , v ) , ( ω , v )] = ( ω × ω , ω × v + v × ω ) . A natural geometry intrinsic to se (3) is given by a bilinear form (cid:104)· , ·(cid:105) invariantunder the adjoint action of the Lie group or algebra in the sense that for all s , s ∈ se (3) and G ∈ SE (3): (cid:104) s , s (cid:105) = (cid:104) Ad ( G )( s ) , Ad ( G )( s ) (cid:105) (5a) P. DONELAN AND J. M. SELIG or, equivalently, for all s ∈ se (3)0 = (cid:104) [ s , s ] , s (cid:105) + (cid:104) s , [ s , s ] (cid:105) (5b)The following theorem describing the invariant forms on se (3) is well known. Anequivalent version relates to the form of pseudo-riemannian metrics on SE (3) [15]. Theorem A quadratic form (cid:104)· , ·(cid:105) on se (3) is adjoint-invariant if and only if ithas the form, for all s , s ∈ se (3) : (6) (cid:104) s , s (cid:105) α,β = 12 s T1 (cid:18) − αI βI βI O (cid:19) s =: s T1 Q α,β s , for some α, β ∈ R . Any two such forms for which the pairs ( α, β ) differ only by a non-zero multiplicativeconstant are essentially the same, so that there is a pencil of invariant forms. If β (cid:54) = 0,then let h = α/β and let Q h denote the matrix in (6) scaled by 1 /β and (cid:104)· , ·(cid:105) h theassociated bilinear form. In the case β = 0 then for α = 1, denote the matrix andform by Q ∞ and (cid:104)· , ·(cid:105) ∞ respectively. Clearly Q α,β = αQ ∞ + βQ . Note that Q ∞ is one-half of the Killing form of se (3); Q is termed the Klein form . Not only dothese forms span the invariant quadratic forms but they also generate the ring of allpolynomial invariants of the adjoint action [6].It is straightforward to confirm that for h (cid:54) = ∞ , Q h is non-degenerate but indefi-nite with index (3 , Q ∞ is negative semi-definite of rank 3 (correlating to thefact that SE (3) is not semi-simple). In particular, there is no adjoint-invariant innerproduct on se (3). In Pl¨ucker coordinates, s = ( ω , v ) ∈ se (3),the corresponding quadratic forms are:(7) s T Q h s = − h ω . ω + ω . v Hence, if ω (cid:54) = , s lies on the nullcone of Q h if and only if h = ω . v / ω . ω while if ω = then s lies on the nullcone of every Q h , h ∈ R ∪ {∞} . Denote by q h the quadrichypersurface corresponding to Q h for h finite, and the 3-dimensional subspace ω = for h = ∞ .It is often more convenient to work projectively, that is in P se (3). Let (cid:101) q h denotethe projective quadric and then the collection of subsets:(8) { (cid:101) q h − (cid:101) q ∞ : h ∈ R } ∪ { (cid:101) q ∞ } partitions P se (3). Viewed in this projective 5-space, a one-dimensional subspace in se (3), spanned by a non-zero twist, is a point called a screw . The projective hyper-quadrics have two rulings by (projective) planes: the α -planes corresponding to theset of screws whose axes pass through a given point in E and the β -planes consistingof those screws whose axes lie in a given plane in E . Note that (cid:101) q ∞ is the β -plane atinfinity.From the point of view of the kinematics of rigid bodies in 3-space, a twist s =( ω , v ) ∈ q h determines a (Killing) vector field on E . In the general case h (cid:54) = ∞ , thecorresponding exponential is the family of motions that fix a line in E and combinerotation about that line with translation along it in the fixed ratio h . That is, theintegral curves are helices of pitch h about the axis. The component ω ∈ R of YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP v ∈ R combines the moment of the axis about the origin with the translation along it. Thecase h = 0 corresponds to pure rotation: in this case the twist satisfies the Kleinquadric s T Q s = 0. An element s ∈ q ∞ corresponds to pure translation parallel to v .The motions determined by the one-parameter subgroups, exp θ s , s ∈ q h , areprecisely the motions of a rigid body constrained to move relative to the ambientspace by a one degree-of-freedom joint, where the joint is: • revolute (R) if h = 0 • helical (H) if h (cid:54) = 0 , ∞• prismatic (P) if h = ∞ .Robot arms and manipulators typically consist of a chain of m rigid links con-nected in series by such joints though, in practice, helical joints are rarely used. Thefinal link is referred to as the end-effector and its motion in E is a function of the jointvariables θ , . . . , θ m . This determines the kinematic mapping f : R m → SE (3), whosederivative describes the instantaneous kinematics of the end-effector. If one assumesthat for a given θ ∈ R m , f ( θ ) = e , the identity in SE (3), then the derivative is a map R m → se (3) and can be represented by a Jacobian matrix J with respect to Pl¨uckercoordinates in se (3). The columns of J are the twists s , . . . , s m corresponding to thecurrent configuration of the arm’s joints.The columns of J span its image and form a subspace of se (3) whose dimensionis the rank of J . Such subspaces are referred to as screw systems or, if the rankis k , then simply k -systems. There is an action of SE (3) on the set of k -systems(a Grassmannian manifold over the Lie algebra) induced by the adjoint action. Aclassification of k -systems was established by Gibson and Hunt [10] and, along similarlines, by Rico and Duffy [19]. A refinement and further properties of the Gibson–Huntclassification were established in [7]. In particular, the invariance with respect to theadjoint action was a central aspect of the last work cited.Two twists s , s ∈ se (3) are said to be reciprocal if (cid:104) s , s (cid:105) = s T1 Q s = 0. Inparticular, elements s ∈ q are self-reciprocal. Given a k -system S , define its reciprocalsubspace by:(9) S ⊥ = { s ∈ se (3) : for all s ∈ S, (cid:104) s , s (cid:105) = 0 } . Since Q is non-degenerate, S ⊥ is a (6 − k )-system. This can be generalised for h finite: s , s ∈ se (3) are said to be h –reciprocal if (cid:104) s , s (cid:105) h = 0 and for a screw system S define the h –reciprocal screw system:(10) S ⊥ h = { s ∈ se (3) : for all s ∈ S, (cid:104) s , s (cid:105) h = 0 } . h -pseudoinverses. The Moore–Penrose pseudoinverse of an n × m matrix A (see, for example, [1]) that defines a linear transformation between R m and R n ,each equipped with the standard Euclidean inner product, is an m × n matrix A + such that:(P1) AA + A = A (P2) A + AA + = A + (P3) ( AA + ) T = AA + (P4) ( A + A ) T = A + A For any matrix A , there exists a unique pseudoinverse A + [17]. If m ≤ n and rank A = m (so that it is injective as a linear transformation) then(11a) A + = ( A T A ) − A T P. DONELAN AND J. M. SELIG while if m ≥ n and rank A = n ( A surjective) then(11b) A + = A T ( AA T ) − . However, when A does not have maximal rank then one requires full rank factorisa-tions or algorithmic methods to evaluate A + .The significance of the inner products is that the matrix transpose in (P3) and(P4) corresponds to the adjoint transformation. That is, if L : V → W is a lineartransformation between real or complex vector spaces V, W equipped with hermitianinner products (cid:104)· , ·(cid:105) V , (cid:104)· , ·(cid:105) W then the adjoint of L is the linear transformation L ∗ : W → V that satisfies, for all v ∈ V , w ∈ W :(12) (cid:104) v , L ∗ ( w ) (cid:105) V = (cid:104) L ( v ) , w (cid:105) W . The adjoint L ∗ coincides with the dual of L under the identification of the dual spaces V ∗ , W ∗ with V, W induced by their respective inner products.Recall that the Jacobian matrix of a kinematic mapping is a 6 × m matrix rep-resenting a linear transformation between the space R m of joint velocities and se (3),the space of twists. The joint velocity space carries a natural positive-definite innerproduct—in physical terms the inertia matrix, which we shall assume to be in stan-dard form and so represented by the identity I m . However the twist space carriesa pencil of indefinite forms Q h which are non-degenerate for h finite. In the casethat there are indefinite non-degenerate inner products on the domain and range of alinear transformation, there is still a well-defined adjoint as in (12). If the symmetricmatrix representations of the inner products on V, W are
M, N respectively then thegeneralised adjoint of a matrix A representing the linear transformation L : V → W has the form:(13) A ∗ MN = M − A ∗ N. In particular, for a manipulator Jacobian J there is a one-parameter family of gener-alised adjoints:(14) J ∗ h = J T Q h . Kamaraj and Sivakumar [12] develop the theory of pseudoinverses in this gener-alised setting. Adapting this to the case at hand, define an h –pseudoinverse of an m –variable manipulator Jacobian J to be an m × J + h such that(hP1) JJ + h J = J (hP2) J + h JJ + h = J + h (hP3) ( JJ + h ) ∗ h = JJ + h (hP4) ( J + h J ) ∗ h = J + h J The existence of an h -pseudoinverse is not guaranteed, though if it exists then it isunique. A theorem of Kalman [11], of which the following is a special case, providesa criterion for existence. Theorem The × m Jacobian matrix J has an h –pseudoinverse J + h if andonly if rank J = rank ( JJ ∗ h ) = rank ( J ∗ h J ) . The analogous equalities for the Moore–Penrose pseudoinverse hold automatically.It is straightforward to show that rank A = rank A T A = rank AA T . Likewise, theimposition of a positive definite inner product on the space of joint velocities and thenon-degeneracy of Q h entails rank ( JJ ∗ h ) = rank ( JJ T Q h ) = rank ( JJ T ) = rank J . YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP J = rank ( J ∗ h J ) = rank ( J T Q h J ) can fail because theindefiniteness of Q h means that there exist non-zero h –self-reciprocal twists for any h , that is s ∈ se (3), s (cid:54) = such that s T Q h s = 0.This gives rise to the question whether, for any J , there exists at least some h such that the h –pseudoinverse J + h exists. This is answered in section 3. Notehowever that if rank J = 6 (and so m ≥
6) then the conditions of Theorem 2 holdand all h -pseudoinverses exist; in fact they coincide with the ordinary Moore–Penrosepseudoinverse. By analogy with (11b), we can write:(15) J + h = ( J T Q h )( JJ T Q h ) − = J T ( Q h Q − h )( JJ T ) − = J T ( JJ T ) − . This pseudoinverse is used extensively in the kinematics of redundant manipulators( m > m <
3. Gram Matrices, Screw Systems and Existence of h -Pseudoinverses. In the case that the dimension of the domain (number of joints) m <
6, the
Grammatrices J T Q h J are central to determining the existence of an h –pseudoinverse. Sup-pose that the 6 × m matrix J , whose columns are twists in se (3), has rank m , so thatthe twists are independent and span an m -system in se (3). Since the forms Q h areinvariants of the adjoint action, the existence of J + h depends only on the equivalenceclass of this screw system. Note that in the maximum rank case the h –pseudoinverseis determined by the formula analogous to (11a):(16) J + h = ( J T Q h J ) − J T Q h . The Gibson–Hunt classification [10, 7] of screw systems of a given rank m ≤ S , meets the pitch hyperquadrics. Types I and IIare distinguished by whether S does not, or does, lie entirely within a single q h . Asecond level of distinction, A, B, C, . . . distinguishes the (projective) dimension of S ∩ q ∞ ( A denotes empty intersection, and increasing dimension thereafter).Further refinement for type I is provided by the projective type of the pencil ofintersections S ∩ q h . For example, Figure 1 shows a planar section of a 3–system andits intersections with the family of pitch hyperquadrics q h . Note that there are threevalues of h giving singular intersections: a real line pair and two singular points whichcorrespond to complex conjugate line pairs. These three values are termed principalpitches (see subsection 5.3) and the corresponding projective type determines classI A . These principal pitches are, in fact, moduli (continuous families of invariants)for the adjoint action of the Euclidean group on screw systems of given dimension.A further class, I A arises when two of the principal pitches coincide. Other moduliappear in the various Gibson–Hunt classes.For m = 1, a 1-system is determined by a single non-zero twist. With respect to anappropriate choice of coordinates, this can be chosen to have the form (1 , , h, ,
0) ifthe pitch h is finite, otherwise (0 , ,
0; 1 , , h (cid:54) = ∞ into one class; equally the case h = 0 may be treatedas a special case. Mathematical justification for these different choices can be foundin [7].For m = 2 ,
3, Table 1 and Table 2 list the classifications with normal forms for aset of generating twists for each class of screw system. The reader is referred to thecited works for further details. Classification in the cases m = 4 , P. DONELAN AND J. M. SELIG
Table 1
Classification of 2–systems.
Class Normal form Class Normal formIA (1 , , h α , ,
0) IIA (1 , , h, , , ,
0; 0 , h β ,
0) (0 , ,
0; 0 , h, , ,
0; 0 , ,
0) IIB (1 , , h, , , ,
0; 1 , p,
0) (0 , ,
0; 0 , , , ,
0; 1 , , , ,
0; 0 , , Table 2
Classification of 3–systems.
Class Normal form Class Normal formIA (1 , , h α , ,
0) IIA (1 , , h, , , ,
0; 0 , h β ,
0) (0 , ,
0; 0 , h, , ,
1; 0 , , h γ ) (0 , ,
1; 0 , , h )IA (1 , , h α , ,
0) IIB (1 , , h, , , ,
0; 0 , h β ,
0) (0 , ,
0; 0 , h, , ,
1; 0 , , h β ) (0 , ,
0; 0 , , (1 , , h, ,
0) IIC (1 , , h, , , ,
0; 0 , h,
0) (0 , ,
0; 0 , , , ,
0; 1 , , p ) (0 , ,
0; 0 , , (1 , , h α , ,
0) IID (0 , ,
0; 1 , , , ,
0; 0 , h β ,
0) (0 , ,
0; 0 , , , ,
0; 0 , ,
1) (0 , ,
0; 0 , , , ,
0; 0 , , , ,
0; 0 , , , ,
0; 1 , , p )By Theorem 2, J + h exists if and only if the rank of the m × m matrix J T Q h J isalso m . The following theorem gives a set of equivalent conditions for this to fail. Theorem Suppose J is a matrix representing a linear transformation R m → se (3) where m < and rank J = m . Let S denote the m -system formed by the imageof the transformation. For any finite h , the following are equivalent: (i) rank ( J T Q h J ) < m . (ii) S ∩ S ⊥ h is non-trivial. (iii) S is contained in the tangent space to q h at some non-zero point.Proof. By assumption, the columns of J , twists s i , i = 1 , . . . , m , say, are linearlyindependent.(i) ⇒ (ii). Given (i), it follows that the kernel of J T Q h J is non-trivial, so thereexists a non-zero vector λ = ( λ , . . . , λ m ) T such that:(17) ( J T Q h J ) λ = . Let z = J λ = λ s + · · · + λ m s m ∈ S : the linear independence of the twists ensuresthat z (cid:54) = . Then (17) can be written as:(18) J T Q h z = . YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP s T i Q h z = (cid:104) s i , z (cid:105) h = 0 , i = 1 , . . . , m, so, by definition of the reciprocal system, z ∈ S ⊥ h .(ii) ⇒ (iii). Since q h is the set of twists, s , satisfying the condition (cid:104) s , s (cid:105) h = 0, itstangent space at a point y ∈ q h is the hyperplane:(20) T y q h = { s ∈ se (3) : (cid:104) s , y (cid:105) h = 0 } . Given (cid:54) = z ∈ S ∩ S ⊥ h , then (cid:104) z , z (cid:105) h = 0 so that z ∈ q h . Then, for all s ∈ S , z ∈ S ⊥ h implies (cid:104) s , z (cid:105) h = 0 hence, by (20), s ∈ T z q h .(iii) ⇒ (i). Suppose that S ⊆ T z q h , z (cid:54) = , so that for all i = 1 , . . . , m , (cid:104) s i , z (cid:105) h = s T i Q h z = 0. Since z ∈ S , we have z = J λ for some λ ∈ R m , λ (cid:54) = . Hence J T Q h J λ = and so rank ( J T Q h J ) < m .An obvious consequence is that the existence of an h -pseudoinverse for J is de-termined by the associated screw system. Condition (ii) immediately gives rise to thefollowing useful result: Corollary With J and S as in Theorem , J has an h -pseudoinverse if andonly if the matrix J ⊥ h , arising from a basis for S ⊥ h and representing a transformation R − m → se (3) , has an h -pseudoinverse. In the following section we look at an application involving the existence of h -pseudoinverses for h = 0.
4. Lines in Involution.
In a pair of papers published in 1861, Sylvester [24, 23]addressed the question of the circumstances under which m ≤ involution . Equivalently, a system of forces actingon these lines would be in equilibrium, a problem initially considered by M¨obius.Sylvester showed that the requisite condition is equivalent to det( J T Q J ) = 0, wherethe columns of the 6 × m matrix J are the Pl¨ucker coordinates of the lines in space.It follows straight away that m linearly independent lines are in involution if and onlyif the pseudoinverse J +0 does not exist. Example 1 in section 5 illustrates this in thecase m = 3 since the columns, as zero-pitch screws, can also be thought of as lines inspace.Sylvester established geometric and algebraic conditions for involution for vari-ous m . Here we give an alternative characterisation using Theorem 3 and clarify itsconnection with the classification of screw systems [10]. Assume that the m linesare linearly independent. As noted following the proof of Theorem 3 the involutioncondition depends only on the screw system spanned by the lines, not the particularchoice of lines in it. Indeed, the Sylvester determinant is invariant with respect to theadjoint action on se (3) and covariant with respect to choice of basis for the screw sys-tem. The existence of lines, that is zero-pitch screws, within the screw system placesconstraints on the possible systems that can arise. Specifically, working projectivelyin se (3), the intersection of the screw system as a projective subspace with the (open)pitch quadric (cid:101) q − (cid:101) q ∞ must contain at least m distinct points.For m = 2, every twist in a 2–system of type II C has infinite pitch and cannotrepresent a line, so two lines can only be in involution if they span a 2–system of type A or B . Suppose two lines (necessarily in a type A or B system) are s and s , sothat s T1 Q s = s T2 Q s = 0 since they correspond to pitch zero twists. The Sylvester0 P. DONELAN AND J. M. SELIG condition then reduces to det( J T Q J ) = − ( s T1 Q s ) = 0. That is, for a pair of linesto be in involution they must be reciprocal, see subsection 2.2. It is well known thatreciprocal lines must be coplanar [10]. There are two possibilities to consider. First,if the two lines meet, that is to say if they are concurrent, then linear combinationsof the two lines generate all lines through the common point of s and s and lyingin the same plane as the original lines. Such an arrangement of lines is sometimesreferred to as a plane pencil of lines. The 2–system is precisely this plane pencil oflines and projectively the screw system lies entirely in the open pitch quadric (cid:101) q − (cid:101) q ∞ ,hence is a II A system with modulus h = 0 (see Table 1).In the second case, s and s are parallel. In this case the linear combination ofa pair of parallel lines gives all the lines coplanar and parallel to the original lines,together with a line ‘at infinity’ in a direction normal to the plane of the finite lines.That is, the screw system meets (cid:101) q ∞ in a single point and hence is a II B system withmodulus h = 0.When m = 3, the types of screw systems that contain three independent linesare restricted to the following (see [5]): I A ( h max > h min < B , I B (principalpitches must be of opposite sign), II A , II B , II C (all with principal pitch zero). Inthe case I A there are three principal pitches, the middle value corresponding to thequadric intersection with the corresponding pitch hyperquadric being a degenerate linepair (see Figure 1). With three lines, s , s and s the Sylvester determinant reducesto det( J T Q J ) = 2( s T1 Q s )( s T2 Q s )( s T3 Q s ). So the vanishing of this determinantimplies that for three lines to be in involution, at least one pair of lines must becoplanar.Starting with this pair of lines, there are various possibilities to consider. First, inthe case where the two coplanar lines are concurrent, the lines generate a plane pencilof concurrent lines in the screw system. If the third line meets, but is not containedin the plane of the other two lines then there will be a line in the pencil meeting itthat, together with the third line, will generate another plane pencil. The 3–systemwill thus contain two plane pencils of lines in two different planes, thus a I A systemwith one of the moduli equal to 0 (in this case the moduli are the principal pitches ofthe screw system).Now it may happen that all three lines are pairwise concurrent, that is, the thirdline lies in the plane determined by the first two. In this case linear combinations ofthe three lines will generate any line lying in the plane and hence this is a II B systemwith modulus h = 0, corresponding to a β -plane in the Klein quadric (cid:101) q . On theother hand, if the lines all meet at a single point but are not all coplanar, then linearcombinations of the lines will produce all lines through the common point. This issometimes called a bundle of lines and corresponds to an α -plane in the Klein quadric.As a screw system it has type II A with modulus h = 0.Next, suppose that the third line is parallel to the plane determined by the firsttwo and so does not meet it at all. In the pencil determined by the first two linesthere will be a line which is parallel to the third line; this line and the third one willgenerate a set of parallel lines in the plane determined by the two parallel lines. Asbefore the set of parallel lines will also contain a twist in (cid:101) q ∞ and it can be shown thatthese lines generate a I B h a = 0.Secondly, we consider the cases where two of the original lines are parallel. Allthe cases where the third line meets the plane determined by the parallel lines havealready been considered. So the only cases to consider are either where the third linelies in a plane parallel to the plane determined by the other two—this gives a I B system—or, finally, where all three lines are parallel, giving a II C ( h = 0) system. YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP A with one principal pitch zero, the I B system with h a = 0, the I B system, the II A , II B and II C systems all with modulus h = 0.For m = 4, the reciprocity condition, Corollary 4, together with the result for m = 2 ensure that only four lines spanning a 4–system reciprocal to a 2–system oftype II A or II B , with principal pitch zero, satisfy the Sylvester condition. Recall thatthe lines in a II A h = 0 form a plane pencil. So the reciprocal systemwill consist of all the lines in the plane of the pencil together with all the lines throughthe central point of the pencil. The lines in a 2–system of type II B ( h = 0) are a setof parallel lines in a plane. The reciprocal system will thus consist of all lines in theplane together with all lines in space parallel to the lines in the 2–system.Hence a set of four linearly independent lines in involution will comprise a set offour lines from one of these two arrangements. It follows that the four lines are ininvolution precisely when they satisfy the special condition that there is an infinity oftransversals—a transversal being a line reciprocal to, and therefore intersecting, allfour lines. This contrasts with four lines in a system reciprocal to a type I A B system having a singletransversal. A different approach, using Grassmann–Cayley algebra, is presented inSturmfels, Section 3.4 [22].For five lines ( m = 5) to be in involution the lines must span a 5–system reciprocalto a single line, as opposed to a twist of non-zero pitch, and therefore they possess acommon transversal. Another way to express this is to say that the 5 lines lie in aspecial linear line complex. Clearly six lines can only be in involution if they are notindependent and so span a 5–system.The significance of involution for a robot arm with revolute joints is this. Supposethe arm is in a non-singular configuration, so that the corresponding locations of thejoint screws are given by m independent twists of pitch zero. If the twists correspondto m lines in involution, then there exists a combination of wrenches generated byjoint torques with respect to which the end-effector of the arm is in equilibrium. Infact, the wrench can be expressed as W = Q z where z is the twist identified in theproof of Theorem 3. Note that from the second part of the proof, z ∈ q so that itcorresponds to a line and must be a transversal to the joint axes.
5. Systems with No h -Pseudoinverse. The question also arises as to whetherthere are screw systems for which, for an associated Jacobian matrix, no h -pseudo-inverse exists for any h . We consider this dimension by dimension.An easy consequence of Theorem 3 is that if rank ( J T Q h J ) < m for all h , so thatno h -pseudoinverse exists, then for each h there exists z ∈ S such that (cid:104) z , z (cid:105) h = 0.If z has finite pitch h for all h (cid:54) = ∞ , then the screw system spanned by the columnsof J will contain a screw of every pitch and therefore must include a screw of infinitepitch. Therefore, in any case, the screw system must contain a screw of infinite pitch.It follows that all type A systems (which contain no screws of infinite pitch) havean h -pseudoinverse for some h . To put it the other way, screw systems that have no h -pseudoinverse can only be of types B , C or D . –systems. Suppose (cid:54) = s ∈ se (3) and let S be the 1-system spanned by s . The h -pseudoinverse of s exists if and only if s T Q h s (cid:54) = 0. This fails if and only if s ∈ q h so for screws of finite pitch almost all h -pseudoinverses exist. For s ∈ q ∞ , wehave s T Q h s = 0 for all finite h so no h -pseudoinverse exists.2 P. DONELAN AND J. M. SELIG –systems. For a general 2-system S , spanned by s , s , columns of theJacobian matrix J , the condition for singularity of the Gram matrix:(21) det( J T Q h J ) = 0is quadratic in h and there are typically two principal pitches , say h α , h β , for whichthe screw system is tangent to the pitch hyperquadric [10]. The coefficients i , i , i of this quadratic i h + i h + i are invariants of the screw system [20] and no h -pseudoinverse exists if and only if all these invariants vanish. This occurs only forsystems of types II B and II C , being planes in se (3) that are tangent to every q h atan infinite pitch screw s ∞ ∈ S . Fig. 1 . Intersection of type I A –systems. Analogously to 2-systems and equation (21), a typical (typeI A ) 3-system has three principal pitches h α , h β , h γ for which the corresponding h -pseudoinverse fails. They are the singular quadrics in Figure 1. The determinantvanishes identically in h if and only if the four invariant coefficients vanish. Selig [20]shows that this occurs for the type II systems that contain a screw of infinite pitch(II B , II C and II D ) but also for two classes of type I system, namely I B and I C ,corresponding to singular pencils of quadrics [6]. Other types will have one or twosingular pitches with no corresponding pseudoinverse. – and –systems. By Corollary 4, the existence or otherwise of h -pseudo-inverses follows from that of the reciprocal 2– and 1–systems. For example, whereas ageneric 5–system intersects q ∞ in a plane, a 5–system fails to have any h -pseudoinverseif and only if it wholly contains q ∞ .A summary of the 10 types of screw systems with no h -pseudoinverse is given inTable 3. Note that the reciprocals of the four 3-systems have the same type. YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP Table 3
Screw systems with no h -pseudoinverse. Dimension GH type Basis Reciprocal ReciprocalDimension Basis1 h = ∞ (0 , ,
0; 1 , ,
0) 5 (0 , ,
0; 0 , , , ,
1; 0 , , , ,
0; 1 , , , ,
0; 0 , , , ,
0; 0 , , B (1 , , p, ,
0) 4 (1 , , − p, , , ,
0; 0 , ,
0) (0 , ,
0; 0 , , , ,
1; 0 , , , ,
0; 0 , , C (0 , ,
0; 1 , ,
0) 4 (0 , ,
1; 0 , , , ,
0; 0 , ,
0) (0 , ,
0; 1 , , , ,
0; 0 , , , ,
0; 0 , , B (1 , , p, ,
0) 3 (1 , , − p, , , ,
0; 0 , q,
0) (0 , ,
0; 0 , − q, , ,
0; 0 , ,
1) (0 , ,
0; 0 , , C (1 , ,
0; 0 , ,
0) 3 ( − p, ,
1; 0 , , , ,
0; 0 , ,
0) (0 , ,
0; 0 , , ,
0; 1 , , p ) (0 , ,
0; 0 , , B (1 , , p, ,
0) 3 (1 , , − p, , , ,
0; 0 , p,
0) (0 , ,
0; 0 , − p, , ,
0; 0 , ,
1) (0 , ,
0; 0 , , C (1 , , p, ,
0) 3 (1 , , − p, , , ,
0; 0 , ,
0) (0 , ,
0; 0 , , , ,
0; 0 , ,
1) (0 , ,
0; 0 , , Example 1.
Consider the matrix J = − − Its columns are the linearly independent pitch-zero screws s , s , s . Since s − s ∈ q ∞ , this is a I B system. We have:det( J T Q h J ) = 8 h so that its principal pitch is h = 0. Moreover, it can be seen that the rank condition4 P. DONELAN AND J. M. SELIG in Theorem 2 fails for h = 0 so this matrix does not have a 0-pseudoinverse. It isstraightforward to compute: J + h = −
12 0 0 0 0316 h − h + 16 h + 332 h − h h h + 16 h + 332 h −
12 0 − h
6. Projection Operators and Robotics.6.1. Manipulator Kinematics.
In this section we return to the problem men-tioned in the introduction, of controlling a robot with less than 6 degrees-of-freedom.This problem is important for robotics but is also of interest in computer animation,see [4] for example. As an example, consider the following robot whose kinematicstructure is typical of many commercially available robots for hobbyists and for edu-cational purposes. z x s s s l Fig. 2 . A 3R Robot Arm
Example 2.
Consider the 3-joint robot arm illustrated in Figure 2. This arm has 3revolute (R) or hinge joints. The joints can be represented as pitch 0 twists or linesas noted above. With coordinates as shown in the figure, the Jacobian matrix of therobot will be: J = − l Now suppose that, in its illustrated configuration, it is desired that the end-effectorof the robot move with a velocity given by the twist s d . If the joint velocities of thethree revolute joints are ˙ θ , ˙ θ and ˙ θ , then the velocity of the robot’s end-effectorwill be J ˙ θ , where ˙ θ = ( ˙ θ , ˙ θ , ˙ θ ) T . Since the Jacobian has maximum rank 3, clearlynot every desired twist can be achieved by the robot, but we would like to find valuesfor the joint rates in such a way that the robot’s (twist) velocity approximates the YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP s d = J ˙ θ , when s d does lie in the screwsystem spanned by the joints of the robot. In effect, we seek a projection operatorwhich projects the whole Lie algebra onto the column space of the Jacobian. In viewof the property (hP1) of h -pseudoinverses, it is clear that P h = JJ + h satisfies thisrequirement.For this example, there is no 0-pseudoinverse, since two of the axes are coplanar;in fact, joints 1 and 2 are concurrent and joints 2 and 3 are parallel, so these linesgenerate a I B h wehave, P h = JJ + h = − h Notice that the kernel of this operator depends on the value of h ; in fact thetwists: z = , z = and z = h , span the kernel of P h .More generally, suppose that S is the linear system of twists generated by thecolumns of some Jacobian matrix J , then it is easy to see that the kernel of theprojection operator P h = JJ + h is just the space of h -reciprocal twists, S ⊥ h . Since P h = J ( J T Q h J ) − J T Q h , it follows that P h z = if and only if J T Q h z = . No-tice that, by Theorem 3, if the h -pseudoinverse exists then S and S ⊥ h have trivialintersection. Example 3.
A second application to robot control problems is to find all possiblejoint velocities for an under-actuated robot arm, in a given non-singular configuration,so that a point on its end-effector moves in a given direction. Suppose the arm has m < θ = ( θ , . . . , θ m ) ∈ M where M is thejoint space of the arm. Let f : M → SE (3) denote its kinematic mapping. Givena point x on its end-effector, the motion of x is described by f x : M → R where f x ( θ ) = f ( θ ) . x . In order for the point x to move parallel to the direction q at theconfiguration θ , we require to find ˙ θ ∈ T θ M ∼ = R m and λ ∈ R so that Df x ( θ ) ˙ θ = λ q .To simplify things, one may recalibrate the joint variables so that f ( θ ) is theidentity in SE (3). Then the derivative is a map Df : R m → se (3). We can then write Df ( θ ) as a Jacobian J in which the columns are the m joint twists. Since the actionof SE (3) on R is affine, the derivative Df x is just the composition ev x ◦ J where ev x : se (3) → R describes the action of the Lie algebra on space: ev x ( ω , v ) = ω × x + v .Denote by L ⊂ R the line { λ q : λ ∈ R } . Thus, we require to solve the condition:(22) ev x ( J ˙ θ ) ∈ L. Now ev x is surjective, so the inverse image ev x − ( L ) must be a subspace of the samecodimension in se (3) and hence is a 4-system S . The problem therefore reduces to6 P. DONELAN AND J. M. SELIG finding ˙ θ ∈ R m so that J ˙ θ ∈ S . Assuming the existence of a pseudoinverse J + h ,we determine the solution set to be ˙ θ ∈ J + h ( S ). Further, the 4-system S can beidentified as the Lie algebra of the cylinder subgroup consisting of screw motions(including rotation) about the line of motion x + t q together with translation in thedirection of the velocity vector v . This has Gibson–Hunt type II A , the 4-system beingreciprocal to the corresponding 2-system in Table 1. Moore–Penrose pseudoinverses have the property that theydetermine optimal solutions to equations, in the sense that attempting to solve thelinear system A x = b , the vector v = A + b (where A is n × m ) minimises the least-squares error [17]:(23) ∀ x ∈ R m , (cid:107) A v − b (cid:107) ≤ (cid:107) A x − b (cid:107) , where the Euclidean norm is used in R n . In the same way, hyperbolic pseudoinverses‘optimise’ an appropriate function, though the indefiniteness of the quadratic form Q h means that the approximation to the solution is not necessarily minimised. Moreprecisely, the h -pseudoinverse gives a solution to a linear system of equations that isa stationary point of an appropriate cost function Φ h . Theorem Let J be a × m Jacobian matrix, s ∈ se (3) a twist and supposethat v = J + h s . Define (24) Φ h : R m → R , Φ h ( x ) = ( s − J x ) T Q h ( s − J x ) . Then for each i = 1 , . . . , m , (25) ∂∂x i Φ h ( x ) (cid:12)(cid:12)(cid:12)(cid:12) x = v = 0 . Proof.
In general the partial derivatives can be written in the matrix form, ∂∂ x Φ h ( x ) = ∂∂x Φ h ( x )... ∂∂x Φ h ( x ) = − J T Q h ( s − J x ) . Setting x = v = J + h s gives,2 (cid:0) ( J T Q h J ) J + h − J T Q h (cid:1) s = since J + h = ( J T Q h J ) − J T Q h . Example 4.
With J as in Example 1, and s = (cid:0) , , , , − , (cid:1) T , we obtain for h (cid:54) = 0, v = J + h s = 1160 h − h − h + 160 h − h − h − and the error is given by Φ h = − h + 64 h − h YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP h where the error Φ h vanishes. While one of thesemay appear a sensible choice therefore, in a practical control problem the twist x willvary so that solutions meeting this requirement are unlikely to exist for a given h andall x of interest.There are several other methods used in practice, see [4] again. In particularthe damped least squares method. A geometric version of this method can be derivedsimply from the optimality conditions considered above. The cost function to consideris now, Ψ( x ) = ( s − J x ) T Q h ( s − J x ) + x T Λ x where Λ is a symmetric matrix; if Λ is the identity matrix then x T Λ x is a sum ofsquares. In this case the partial derivatives can be written as, ∂∂ x Ψ( x ) = − J T Q h ( s − J x ) + 2Λ x . Setting this to zero and solving for x gives, x = ( J T Q h J + Λ) − J T Q h s . This gives a modified projection operator, J ( J T Q h J + Λ) − J T Q h , which might beused in cases where the pseudo-inverse J + h doesn’t exist.However, these are not the most general projection operators that could be used.Suppose that S and Z are complementary subspaces of twists, so that S ⊕ Z = se (3).Then it is always possible to find a projection operator onto S which has Z as itsnull space. In order to construct this, consider the dual, se ∗ (3), of the Lie algebra oftwists. Elements of the dual space are linear functionals on twists, called co-twists or wrenches . The dual space to Z is the space of wrenches that annul all the twists in Z , that is: Z ∗ = {W ∈ se ∗ (3) : W T z = 0 , ∀ z ∈ Z } . Given a basis for Z ∗ , form the matrix K whose columns are the basis vectors (writtenwith respect to the dual Pl¨ucker coordinates). The required projection operator isthen given by:(26) P = J ( K T J ) − K T . Clearly this construction can always be used, in particular when no pseudo-inverseexists. However, there remains the problem of which of the many possible projectionoperators to choose in a given setting.
In shared control and hybrid control thetask of controlling the end-effector of a robot is split in two. In hybrid control there isa force/moment control task and a simultaneous position control task. For example,consider using a robot to write using a pen. The robot must maintain a constantforce normal to the paper but also control the position of the pen tip on the surfaceof the paper. In shared control, the robot has two positional tasks to satisfy, onetask is exclusively controlled by the robot, say limiting the end-effector to move on aparticular surface. For the other task, the desired motion on the surface is generatedby a human operator. Both these types of control methods rely on projecting theerror signal given by the robot’s sensors into a particular twist or wrench subspace.Note that wrenches, elements of se ∗ (3), can be used to represent force/torque vectors,see [20, Chap. 12].8 P. DONELAN AND J. M. SELIG
For shared control, assume that the task is split into a pair of h -reciprocal spacesof twists, S and S , where S is the space of motions to be controlled by the robotand S is the space of motions to be controlled by the human operator. If the sensorsreveal a positional error s e , then this must be projected to S for the control systemto deal with. The part of the error in S is left for the operator to manage. Asthe two subspaces are h -reciprocal, S = S ⊥ h , the projection operator P h = JJ + h introduced above can be used, where the columns of J are a basis for S . Dually, thesame construction can be used to give a projection operator for S by using a matrixof basis elements for this space. If the two subspaces are not h -reciprocal but onlycomplementary, then the projection operator defined in (26) can be used.Hybrid control was introduced in the early 1980s, however the original formulationwas flawed because the projection operators used were not invariant under a changeof coordinates [14]. There are two spaces to consider, a space of twists S containingthe possible motion twist that must be controlled and a space of wrenches S ∗ ⊂ se ∗ (3) which contains the force and torque of the robot’s end-effector which is to becontrolled.These spaces must be dual to each other, i.e. W T s = 0 for all W ∈ S ∗ and all s ∈ S . This ensures that the two tasks do not interfere with each other: the motions tobe controlled do no work on the wrenches to be imposed by the robot. The projectionoperator P h = JJ + h can be used to project a positional error onto S . Force/torqueerror can be projected to S ∗ with a similarly defined projection operator. Let W bethe matrix whose columns are basis vectors for S ∗ . We can define a pseudoinverse forthis matrix as above, W + h = ( W T Q − h W ) − W T Q − h . It can be verified that the invariant quadrics for the co-adjoint action of SE (3) on se ∗ (3) are the inverses of those for the adjoint action: Q − h = (cid:18) − hI I I (cid:19) − = (cid:18) I I hI (cid:19) . The projection operator is then P ∗ h = W W + h . Of course, other pairs of projectionoperators exist, as in equation (26) above.
7. Conclusion.
There are other applications of pseudoinverses in robotics, forexample to the computation of stiffness matrices for parallel manipulators. The closelyrelated concept of singular values and singular value and polar decomposition [3, 13] isalso much used in robotics and suffers from the same problems as the Moore–Penrosepseudoinverse. That is, the standard singular value decomposition of a matrix oftwists, or wrenches, is not well-defined under rigid changes of coordinates. We suggestthat the approach used in this paper may offer advantages in all these problems.
REFERENCES[1]
A. Ben-Israel and T. N. E. Greville , Generalized Inverses: Theory and Applications ,Springer, New York, 2nd ed., 2003.[2]
A. W. Bojanczyk, R. Onn, and A. O. Steinhardt , Existence of the hyperbolic singular valuedecomposition , Linear Alg. Appl., 185 (1993), pp. 21–30.[3]
Y. Bolshakov and B. Reichstein , Unitary equivalence in an indefinite scalar product: ananalogue of singular-value decomposition , Linear Alg. Appl., 222 (1995), pp. 155–226.[4]
S. R. Buss and J.-S. Kim , Selectively damped least squares for inverse kinematics , Journal ofGraphics Tools, 10 (2005), pp. 37–49.YPERBOLIC PSEUDOINVERSES IN THE EUCLIDEAN GROUP [5] M. Cocke, C. G. Gibson, and P. S. Donelan , Screw systems, singular trajectoriesand Darboux–type motions , in Proc. Symp. Commemorating Legacy, Works and Lifeof Sir Robert Stawell Ball upon the 100th Anniversary of
A Treatise on the Theoryof Screws , 2000, http://helix.gatech.edu/ball2000/cd/Papers/Ball2000- ⊆ P. S. Donelan and C. G. Gibson , First-order invariants of Euclidean motions , Acta Appli-candae Mathematicae, 24 (1991), pp. 233–251.[7]
P. S. Donelan and C. G. Gibson , On the hierarchy of screw systems , Acta ApplicandaeMathematicae, 32 (1993), pp. 267–296.[8]
K. Doty, C. Melchiorri, and C. Bonivento , A theory of generalized inverses applied torobotics , Int. J. Robotics Research, 12 (1993), pp. 1–19.[9]
K. Doty, C. Melchiorri, E. M. Schwartz, and C. Bonivento , Robot manipulability , IEEETrans. Robotics and Automation, 11 (1995), pp. 462–468.[10]
C. G. Gibson and K. H. Hunt , Geometry of screw systems I & II , Mech. Machine Theory, 25(1990), pp. 1–27.[11]
R. E. Kalman , Algebraic aspects of the generalized inverse of a rectangular matrix , in Gen-eralized Inverses and Applications, M. Z. Nashed, ed., Academic Press, New York, 1976,pp. 111–123.[12]
K. Kamaraj and K. C. Sivakumar , Moore–Penrose inverse in an indefinite inner productspace , J. Appl. Math. & Computing, 19 (2005), pp. 297–310.[13]
B. Lins, P. Meade, C. Mehl, and L. Rodman , Normal matrices and polar decompositions inindefinite inner products , J. Appl. Math. & Computing, 49 (2001), pp. 45–89.[14]
H. Lipkin and J. Duffy , Hybrid twist and wrench control for a robotic manipulator , J. Mech.,Trans., Autom. Design, 110 (1988), pp. 138–144.[15]
J. Loncaric , Geometric Analysis of Compliant Mechanisms in Robotics , PhD thesis, HarvardUniversity, 1985.[16]
R. P. Paul and C. N. Stevenson , Kinematics of robot wrists , Int. J. Robotics Research, 1(1983), pp. 31–38.[17]
R. Penrose , On best approximate solution of linear matrix equations , Proc. Camb. Phil. Soc.,52 (1956), pp. 17–19.[18]
D. Pieper , Kinematics of Computer Controlled Manipulators , PhD thesis, Stanford University,1968.[19]
J. M. Rico Martinez and J. Duffy , Orthogonal spaces and screw systems, classification ofscrew systems I and II , Mech. Machine Theory, 27 (1992), pp. 451–490.[20]
J. M. Selig , Geometric Fundamentals of Robotics , Springer, New York, 2005.[21]
J. M. Selig and P. Donelan , A screw syzygy with application to robot singularity computation ,in Advances in Robot Kinematics, J. Lenar˘ci˘c and P. Wenger, eds., Springer, Dordrecht,2008, pp. 147–154.[22]
B. Sturmfels , Algorithms in Invariant Theory, , Springer, Wien, 2nd ed., 2008.[23]
J. J. Sylvester , Note on the involution of straight lines in space , C. R. Acad. Sci., 52 (1861),pp. 815–817.[24]
J. J. Sylvester , On the involution of straight lines in space considered as axes of rotation , C.R. Acad. Sci., 52 (1861), pp. 741–745.[25]
D. E. Whitney , Resolved motion rate control of manipulators and human prostheses , IEEETrans. Man–Machine Systems, 10 (1969), pp. 47–53.[26]