Next Article in Journal
A Novel Method for Decision Making by Double-Quantitative Rough Sets in Hesitant Fuzzy Systems
Next Article in Special Issue
Mathematical Analysis of a Low Cost Mechanical Ventilator Respiratory Dynamics Enhanced by a Sensor Transducer (ST) Based in Nanostructures of Anodic Aluminium Oxide (AAO)
Previous Article in Journal
Benchmarking Cost-Effective Opinion Injection Strategies in Complex Networks
Previous Article in Special Issue
Complete Balancing of the Six-Bar Mechanism Using Fully Cartesian Coordinates and Multiobjective Differential Evolution Optimization
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra

1
Department of Mechanical Engineering, KU Leuven, 3000 Leuven, Belgium
2
Department of Engineering, University of Cambridge, Cambridge CB2 1PZ, UK
*
Author to whom correspondence should be addressed.
Mathematics 2022, 10(12), 2068; https://doi.org/10.3390/math10122068
Submission received: 15 April 2022 / Revised: 7 June 2022 / Accepted: 13 June 2022 / Published: 15 June 2022
(This article belongs to the Special Issue Applied Mathematics to Mechanisms and Machines)

Abstract

:
The singularities of serial robotic manipulators are those configurations in which the robot loses the ability to move in at least one direction. Hence, their identification is fundamental to enhance the performance of current control and motion planning strategies. While classical approaches entail the computation of the determinant of either a 6 × n or n × n matrix for an n-degrees-of-freedom serial robot, this work addresses a novel singularity identification method based on modelling the twists defined by the joint axes of the robot as vectors of the six-dimensional and three-dimensional geometric algebras. In particular, it consists of identifying which configurations cause the exterior product of these twists to vanish. In addition, since rotors represent rotations in geometric algebra, once these singularities have been identified, a distance function is defined in the configuration space C , such that its restriction to the set of singular configurations S allows us to compute the distance of any configuration to a given singularity. This distance function is used to enhance how the singularities are handled in three different scenarios, namely, motion planning, motion control and bilateral teleoperation.

1. Introduction

A serial robot manipulator is an open kinematic chain made up of a sequence of rigid bodies, called links, connected by means of actuated kinematic pairs, called joints, that provide relative motion between consecutive links. At the end of the last link, there is a tool or device known as the end-effector. Only two types of joints are considered throughout this work: revolute joints, which only perform rotations, and prismatic joints, which only perform translations. If joint i is revolute (prismatic), the amount it rotates (translates) is encoded by an angle θ i (a displacement d i ). These scalars are known as the joint variables of the robot.
From a kinematic point of view, the end-effector position and orientation (also known as the pose) can be expressed as a differentiable function f : C X , where C denotes the space of joint variables, called the configuration space of the robot, and X is the space of all positions and orientations of the end-effector with respect to a reference frame, which is usually called the operational space. A serial robot is said to have n degrees of freedom (DoF) if its configuration can be minimally specified by n variables. For a serial robot, the number and nature of the joints determine the number of the DoF. For the task of positioning and orientating its end-effector in the three-dimensional space, the manipulators with more than six DoF are called redundant while the rest are non-redundant.
In order to describe its relative position and orientation, a frame { o , x , y , z } is attached to each joint (Figure 1). The relations between consecutive joint frames are conventionally described by homogeneous transformation matrices. In particular, i 1 T i relates frame { i } to frame { i 1 } (the first joint frame is related to a fixed reference frame, known as the world frame). Therefore, the end-effector pose 0 T n of a robot with n DoF with respect to the world frame can be represented as:
0 T n = 0 T 1   1 T 2     n 1 T n
with
0 T n = R p 0 1 ,
where R is a rotation matrix that describes the end-effector orientation with respect to the world frame, while p is a position vector describing the end-effector position with respect to the world frame. This description is equivalent to the one provided by f, known as the kinematic function of the serial robot. Thus, f ( q ) = x , where x denotes the vector describing the end-effector pose and q = ( q 1 , , q n ) denotes the vector whose components are the joint variables, also known as the configuration of the robot. Clearly, either q i = θ i if joint i is revolute or q i = d i if joint i is prismatic.
Deriving the kinematic relation defined by f with respect to time, we obtain another relation:
x ˙ = J ( q ) q ˙ ,
where x ˙ denotes the end-effector velocity vector, q ˙ ; the vector of the joint velocities; and J, the Jacobian matrix of f. If J = [ J 1     J n ] , then each column J i can also be computed as:
J i = z i × ( o n o i ) z i   if   joint   i   is   revolute , J i = z i 0   if   joint   i   is   prismatic .
Definition 1.
Given a serial robot with n DoF, a singularity or kinematic singularity is a configuration q C satisfying ρ ( J ( q ) ) < min { n , 6 } , where ρ ( · ) denotes the rank of the matrix argument. The set of all singular configurations is a subset of C that is usually denoted by S and known as the singular set.
Using the relation (3), it is easy to see that if q C is a singularity of a given serial robot, then the following two statements hold:
  • The robot loses at least one degree of freedom or, equivalently, its end-effector cannot be translated along or rotated around at least one Cartesian direction.
  • Finite linear and angular velocities of the end-effector may require infinite joint velocities.
In addition, Gottlieb [1] and Hollerbach [2] have independently proven that any serial manipulator with n > 2 DoF has singularities. The identification of such singularities is achieved by solving the following non-linear equation:
det ( J ( q ) ) = 0
if the robot is non-redundant and
det ( J ( q ) J T ( q ) ) = 0
if it is redundant.
In general, if the serial robot possesses at least one revolute joint, several coefficients of the Jacobian matrix are non-linear expressions, and thus, neither Equation (5) nor Equation (6) are easy to formulate and solve. However, for manipulators with a spherical wrist, a simplification can be made. For these robots, the axes of their last three joints intersect at a common point, known as the wrist center point, or are parallel (the intersection point and, hence, the wrist center point, is the point at the infinity). Since the origin of the frame attached to the end-effector can be placed at the wrist center point, a zero block appears in J ( q ) by definition (see Equation (4)). Hence:
J ( q ) = J 11 ( q ) 0 J 21 ( q ) J 22 ( q ) ,
where J 11 ( q ) , J 21 ( q ) are blocks of order 3 × ( n 3 ) , J 22 ( q ) is a block of order 3 × 3 and 0 denotes a block of order 3 × 3 , whose entries are all zero. Now, Equation (5) is simplified to:
det ( J ( q ) ) = det ( J 11 ( q ) ) det ( J 22 ( q ) ) ,
from which the singularities can be obtained as solutions of either det ( J 11 ( q ) ) = 0 or det ( J 22 ( q ) ) = 0 . These two equations allow us to decouple the singularities into position and orientation singularities as follows:
  • Position singularities P S = { q C   :   det ( J 11 ( q ) ) = 0 } ;
  • Orientation singularities O S = { q C   :   det ( J 22 ( q ) ) = 0 } .
Similarly, we can make the same decoupling for redundant robots:
  • Position singularities P S = { q C   :   rank ( J 11 ( q ) ) < 3 } ;
  • Orientation singularities O S = { q C   :   det ( J 22 ( q ) ) = 0 } .
Remark 1.
The Jacobian matrix J ( q ) is represented with respect to the world frame (usually located at the base of the robot). However, sometimes it is useful to represent J ( q ) in a different frame B . To do so, the following identity is used:
J ( q ) B = B J ( q ) ,
where:
B = R 0 B 0 0 R 0 B ,
with R 0 B = ( R B 0 ) T and where R B 0 denotes the rotation matrix that relates the orientation of B with respect to the orientation of the world frame.
Singularity identification is one of the fundamental research fields in robot kinematics since, as stated before, it affects the motion of the robot and its performance when executing different tasks. Therefore, such identification is fundamental to enhancing the performance of current control and motion planning strategies by designing approaches to handle them. For instance, current applications of the subject include the handling of singularities for a robust control architecture in human–robot collaboration [3], the planning of singularity-free trajectories [4,5] and the smooth trajectory generation for rotating extensible manipulators or painting robots [6,7]. However, such identification is still problematic. The majority of the current approaches are based on the computation of either det ( J ( q ) ) = 0 or det ( J ( q ) J T ( q ) ) = 0 or on the manipulation of the singular values of J ( q ) [8,9,10]; hence, they are not computationally efficient. In addition, there is no efficient way of computing how close an arbitrary configuration is to a given singularity (which is fundamental for defining a threshold from where the strategies to handle them start to work). In this context, geometric algebra turns out to be very useful. In addition, it is currently applied to several problems in robot kinematics and geometry [11,12,13,14,15].
There is not much literature regarding the identification of singularities using geometric algebra, and the majority of the contributions focus on parallel mechanisms. For serial robots, Corrochano & Sobczyk [16] extend the Lie bracket of two vectors defined in any Lie algebra to what they call the superbracket of the lines 1 , , 6 , [ 1 , , 6 ] , where the line i denotes the axis of joint i. For serial robots with six DoF, the main idea is to split the superbracket into smaller superbrackets, called bracket monomials, that are equated to zero. The singularities are the solutions of these monomial bracket equations. Following the same idea, Kanaan et al. [17] define the superbracket in a Grassmann–Caley algebra. Since the Lie bracket is well defined in every Grassmann–Caley algebra, the superbracket is also well defined. However, splitting the superbracket into the bracket monomials in this context is not intuitive and, as a consequence, is not always realizable. In addition, there is no standard procedure for computing these brackets’ monomials.
For parallel mechanisms, the majority of works [18,19,20,21,22] focus on approaches developed for some particular parallel robots. The main idea consists of computing, for each leg of the mechanism, the exterior product of the twists defined by its joints and equating it to zero. For those legs with less than six actuated joints, combinations of two, three or more legs are considered. The main problem with these approaches is their lack of generalisability. Each approach is designed for the specific parallel robot the authors work with.
Huo et al. [23] present a mobility analysis applying conformal geometric algebra and a singularity analysis using an idea similar to the ones presented in the above-mentioned contributions. A mobility analysis of overconstrained parallel mechanisms is performed using Grassmann–Cayley algebra by Chai et al. [24], while Yang and Li [25] propose a novel identification method for the constraint singularities of parallel robots based on differential manifolds. Finally, Kim et al. [26] apply conformal geometric algebra to the identification of the singularities of a particular type of parallel manipulator, the SPS-parallel manipulator. Several lines and planes are defined using the different joint axes. Then, the relative positions of different combinations of these geometric entities are studied to geometrically find the singularities. However, this method cannot be extended to other classes of parallel or serial robots, nor can it be implemented as an algorithm due to its complex geometrical nature.
In this paper, a novel approach for singularity identification based on the six-dimensional and three-dimensional geometric algebras is introduced. It extends the works developed for parallel robots and reviewed above. In particular, one of the novelties of this method is that it can be applied to both redundant and non-redundant serial robots of any geometry. We first model the twists defined by the joint axes as vectors of the six-dimensional geometric algebra. Then, we manipulate the exterior product of these twists. In addition, this method can be simplified for serial robots with a spherical wrist using, instead of the six-dimensional geometric algebra G 6 , the three-dimensional geometric algebra G 3 . Once the singularities have been identified and since rotors describe the transformations between arbitrary multivectors in geometric algebra, a distance function D can be defined in the configuration space C that can be used to determine the distance of any arbitrary configuration q C to a given singularity q s S . This is the first time, to the best of the authors’ knowledge, that such a distance function has been defined. It is well-known that there are several indices that can be used to check whether a given configuration is close to a singularity or not. For instance, the Jacobian matrix J ( q ) allows us to define the manipulability index w m as:
w m = det ( J ( q ) T J ( q ) ) = σ n σ 1 ,
where 0 σ 1 σ n are the singular values of J ( q ) . Alternatively, we can also define the condition number of J ( q ) , w c = σ n / σ 1 . Clearly, the former is close to zero when the configuration is close to a singularity, while the value of the latter increases as the robot approaches to a singular configuration. Although there are several approaches based on the use of such indices [27,28], none of them define a distance function, and as stated in [29], they do not provide a realistic measure of how close a singularity is, only whether it is close or not. On the other hand, Yao et al. [30] propose a different index of closeness to singularities for planar parallel robots based on the volume of the workspace. Although interesting, it is still not a distance function, and it cannot be easily applied to serial robots. Similarly, Nawratil [31] defines a distance function for parallel manipulators of the Stewart–Gough type. However, it measures how close a given pose of the end-effector is to a singular pose (i.e., the pose associated with a singular configuration). Hence, such a distance function is not defined in the configuration space C but in the operational space X. Finally, Bu [32] defines an angle between the velocity vector associated with one of the joints and the manifold generated by the others. Again, such an angle acts as a measure of closeness but not as a distance function, and thus, it does not provide a realistic measure of how close a singularity is.
The rest of the paper is organized as follows: Section 2 presents an overview of geometric algebra that will be useful for understanding the proposed contribution. In Section 3, the novel singularity identification approach and the simplification for serial robots with a spherical wrist are fully developed, while the novel distance function is constructed in Section 4. The application of these results to the Kuka LWR 4+, a redundant serial robot with a spherical wrist, is given in Section 5. Section 6 lists three different applications where both the singularity identification and the novel distance function can be applied in order to illustrate their utility. Finally, the conclusions are given in Section 7.

2. Mathematical Preliminaries: Geometric Algebra

One of the main problems of vector spaces is that linear transformations between them are represented through matrices, which entails a high computational cost when implemented. To overcome these and related problems, geometric algebra provides an excellent framework. It was first introduced by W. K. Clifford [33], whom based his own work on the previous works of H. Grassmann [34] and W. R. Hamilton [35]. Throughout this section, a brief overview of geometric algebra is presented. More detailed treatments of the subject can be found in [36,37,38,39].
Definition 2.
Given two vectors x 1 , x 2 R n , the outer or exterior product of x 1 and x 2 , x 1 x 2 , is a new element that can be seen as the oriented area of the parallelogram obtained by sweeping the vector x 1 along x 2 . The exterior product is bilinear, associative and anticommutative. In particular, x x = 0 for every x R n .
The new element defined by the exterior product is called a bivector, and it is defined to have grade two. By extension, the outer product of a bivector with a vector is known as a trivector, is denoted by x 1 x 2 x 3 and is defined to have grade three. Trivectors can be seen as the oriented volume obtained by sweeping the bivector x 1 x 2 along x 3 .
This can be generalized to an arbitrary dimension. Thus,
x 1 x 2 x k
denotes a k-blade, i.e., an element of grade k. Linear combinations of k-blades are known as k-vectors, while linear combinations of k-vectors (for different k) are known as multivectors.
In his work [33], Clifford extends the exterior product by adding a scalar product between vectors, the inner product. He defines the geometric product (also known as the Clifford product) as follows:
x 1 x 2 = x 1 · x 2 + x 1 x 2   ( x 1 , x 2 R n ) .
Thus, the geometric product between two vectors has two components: the scalar component given by the inner product and the bivector component given by the exterior product. Clearly, it also inherits the associativity and bilinearity of the exterior product.
When applied to an orthonormal basis B = { e 1 , , e n } of R n , the geometric product acts as follows:
e i e j = 1 for i = j e i e j for i j
Thus, for each 0 k n , the set of k-vectors is spanned by:
  • k = 0   { 1 } (scalars).
  • k = 1   { e 1 , , e n } (vectors).
  • k = 2   { e i e j } 1 i < j n (bivectors).
  • k = 3   { e i e j e k } 1 i < j < k n (trivectors).
  •      ⋮
  • k = r   { e i 1 e i r } 1 i 1 < < i r n (r-vectors).
  •      ⋮
  • k = n   { e 1 e n } (pseudoscalar).
Then, for each 0 k n , there are exactly C ( n , k ) generators for the set of k-vectors, and thus, the set of k-vectors defines a vector space with basis B k = { e i 1 e i k } 1 i 1 < < i k n and dimension C ( n , k ) .
Definition 3.
Let R n denote the real vector space of dimension n. Then, the vector space spanned by the basis
B = { e i 1 e i r } 1 i 1 < < i r n 0 r n
endowed with the geometric product defined in (13) is an algebra over R known as the geometric algebra (GA) of R n . Such an algebra is denoted by G n and has the dimension C ( n , 0 ) + C ( n , 1 ) + + C ( n , n ) = 2 n .
Remark 2.
Since the grading structure of multivectors is a property associated with the exterior product, the elements of G n can still be called k-blades, k-vectors and multivectors.
An important family of linear operators in G n are the grade-k projection operators, denoted by · k for 0 k n . Applied to an arbitrary multivector A, A k projects onto the grade-k components in A, i.e., it returns the components of A that can be expressed as a linear combination of { e i 1 e i k } 1 i 1 < < i k n . Obviously, if A k denotes a k-vector, then A k k = A k .
Using these operators, general multivectors A G n can be expressed as:
A = A 0 + A 1 + + A n .
Hence, the set of all k-vectors for a given 1 k n is a vector subspace of G n denoted by G n k and spanned by B k = { e i 1 e i k } 1 i 1 < < i k n .
The multivector representation (16) is very useful in defining another important operator in G n . This linear operator is known as the reversion operator and is denoted by the superscript ∼. The reversion is defined over the geometric product of m vectors as:
( a 1 a m ) = a m a 1 .
Applied to k-vectors, we have that:
A ˜ k = ( 1 ) k ( k 1 ) 2 A k
due to the anticommutativity of the exterior product. Finally, since reversion is a linear operator, the reverse of an arbitrary multivector is:
A ˜ = A ˜ 0 + + A ˜ n = A 0 + A 1 A 2 + + ( 1 ) n ( n 1 ) 2 A n .
Notice that the reversion operator corresponds simply to matrix transposition when a matrix representation of the n-dimensional algebra is considered.
Finally, another operator of great interest is the dual operator. Every grade-n element of G n is of the form α ( e 1 e n ) for a scalar α R . For each α R , α ( e 1 e n ) is known as the volume element E α of G n , while the generator e 1 e n is known as the pseudoscalar of G n and is usually denoted by I. Pseudoscalars allow us to define the dual operator, whose action over a k-vector A k is:
A k * = I A k ,
where A k * is an ( n k ) -vector.
Now, let us go back to the bivectors of G n since they will be fundamental in the modelling of the rotations in R n . An important property of these bivectors is that they always square to a scalar. Therefore, given a bivector B, the unit bivector associated with B is B = B / | B 2 | . Unit bivectors of G n always square to -1. This allows us to compute the following series:
exp ( α B ) = m = 0 ( α B ) m m ! ,
where α R . Expanding Equation (21), we have that:
exp ( α B ) = 1 + α B α 2 2 α 3 B 3 ! +   = 1 α 2 2 + + B α α 3 3 ! +   = cos ( α ) + B sin ( α ) .
Equation (22) indicates that exp ( α B ) could be related to rotations. Indeed, we have the following result.
Proposition 1.
Let B be a unit bivector and 0 θ 2 π ; then, R = exp ( ( θ B ) / 2 ) = cos ( θ / 2 ) B sin ( θ / 2 ) G n 0 + G n 2 defines a rotation by an angle θ with a rotation plane represented by B. It acts over an element X G n through the sandwiching product:
X = R X R ˜ .
Such an element R is termed a rotor.
Rotors satisfy the following properties:
(1)
R R ˜ = 1 ;
(2)
R x R ˜ = ( R ) x ( R ˜ ) for x R n ;
(3)
R x y R ˜ = R x R ˜ R y R ˜ for x , y R n ;
(4)
Given two frames { e 1 , , e n } and { f 1 , , f n } , there always exists a rotor R that transforms one into the other, i.e., there exists a rotor R such that e i = R f i R ˜ for i = 1 , , n . This rotor is computed as [36,40]:
R = 1 + e 1 f 1 + + e n f n 1 + e 1 f 1 + + e n f n ,
where { e 1 , , e n } denotes the reciprocal frame of { e 1 , , e n } .
The first property is the analogous version of the property defining the orthogonal matrices with determinant equal to 1, which are known to represent rotations. The second property proves that both R and R encode the same rotation, while the third property is known as the geometric covariance of rotors.
In general, rotors define a group R with the geometric product as the group product:
R = { R G n 0 + G n 2   :   R R ˜ = 1 } .
Therefore, the product of two different rotors R 1 and R 2 also encodes a rotation. In particular, it is the rotation resulting from the composition of the rotations encoded by R 1 and R 2 , respectively. In addition, the second property states that R provides a double covering of the rotation group.
Finally, one of the most important geometric algebras is the spatial geometric algebra G 3 , whose basis is:
{ 1 , e 1 , e 2 , e 3 , e 12 , e 13 , e 23 , I } ,
where { e 1 , e 2 , e 3 } is an orthonormal basis of R 3 and e i j = e i e j .

3. Identification of Singularities Using Geometric Algebra

Since six degrees of freedom are required to describe the position and orientation of a rigid body in the three-dimensional space, the more natural way of formulating the singularity problem is through the six-dimensional geometric algebra G 6 , which extends naturally the three-dimensional algebra G 3 introduced in Section 2. Screw theory [41,42] provides an intuitive and geometrical description of the differential kinematics of serial and parallel manipulators using six-dimensional vectors. Because of this, throughout this chapter, some concepts taken from this theory will be employed. This will provide the initial framework to completely understand the approach introduced in this section.
As stated in the introduction, we are going to work with three-dimensional rigid motions, i.e., three-dimensional orientation-preserving isometries. They form a Lie group, called the special Euclidean group, denoted by S E ( 3 ) . Its associated Lie algebra is:
se ( 3 ) = ξ ^ M 4   :   ξ ^ = Ω v 0 0 ,
where Ω is a skew-symmetric matrix of order 3, v R 3 , and M 4 denotes the vector space of order 4 square matrices with real entries. Since every skew-symmetric matrix Ω can be represented as a vector ω , we can express an element ξ ^ se ( 3 ) as a six-dimensional vector ξ = [ ω     v ] T , termed a twist. Therefore, twists are the infinitesimal generators of rigid motions via the exponential map, i.e., exp ( ξ ^ t ) = f ( t ) with f S E ( 3 ) . The next theorem is a fundamental result in screw theory.
Theorem 1
(Chasles, 1830 [43]). Every rigid motion f S E ( 3 ) can be realized as a rotation around an axis followed (preceded) by a translation along the same axis.
Definition 4.
A screw motion consists of a rotation around an axis followed (preceded) by a translation along the same axis, the screw axis ℓ. The ratio between the translational and the rotational parts of the motion is known as the pitch and is denoted by h. In particular, if a point is rotated around ℓ by an angle θ 0 and translated along ℓ by an amount d, then h = d / θ . By convention, if θ = 0 , h = .
Remark 3.
For infinitesimal motions, if  θ 0 , then the pitch is defined as h = d ˙ / θ ˙ .
Hence, every rigid motion is a screw motion. Particular cases of screw motions are pure rotations (pure translations) where the translation (rotation) is the identity or, equivalently, h = 0 ( h = ). In addition, every screw motion can be characterized by the triple ( , h , q ) , where q denotes the magnitude of the motion. If h , then θ = q and d = h θ , while if h = , then θ = 0 and d = q . We call this triple the screw associated with the screw motion, and we denote it using $.
Proposition 2.
Given a screw $ = ( , h , q ) with screw axis ℓ, pitch h and magnitude q, there exists a twist ξ such that the rigid motion it generates is the screw motion associated with $.
Proposition 2 states a correspondence between twists and screws that is useful for our purposes. In particular, if p is a point on and v is its direction unit vector, then = { p + v λ : λ R } and we have that:
ξ = θ v p × v + h v for   a   general   screw   motion , ξ = θ v p × v for   a   pure   rotation , ξ = d 0 v for   a   pure   translation .
A twist ξ associated with a magnitude 1 screw $ is said to be a unit twist. Hence, any twist ξ can be seen as a unit twist multiplied by the magnitude of the associated screw axis:
ξ = θ ξ U = θ v p × v + h v ,
where ξ U is a unit twist. Clearly, ξ is associated with $ = ( , h , q ) , while ξ U is associated with $ = ( , h , 1 ) .
Proposition 3.
Let us consider a rigid body performing a screw motion represented by the screw $ = ( , h , q ( t ) ) , where the magnitude q ( t ) is a time-dependent variable. Its velocity during the screw motion is given by the associated twist ξ, where, now, the pitch is defined as in Remark 3. In particular:
ξ = θ ˙ ( t ) v p × v + h v if   θ 0 , ξ = d ˙ ( t ) 0 v if   θ = 0 ,
where, here, θ ˙ ( t ) ( d ˙ ( t ) ) is known as the twist amplitude.
Now, let us consider a serial robot with n DoF, where ω , v denote the angular and linear velocity vectors of its end-effector. If Equation (3) is expanded, the following is obtained:
v ω = J 1 ( q ) q ˙ 1 + + J n ( q ) q ˙ n ,
where J i denotes the i-th column of the Jacobian matrix J. Notice that the right side of Equation (31) can be seen as the addition of the twists associated with the joints of the robot, where q ˙ i plays the role of the twist amplitude and where the linear and angular parts are interchanged. However, for the sake of formality, let us consider the unit twist ξ i associated with the i-th joint of the robot (Since, from now on, we are going to work exclusively with unit twists, the subindex U is omitted for simplicity). Then:
ξ i ( q ) q ˙ i = z i z i × ( o n o i ) q ˙ i     if   joint   i   is   revolute 0 z i q ˙ i     if   joint   i   is   prismatic
where, as stated in the introduction, z i is the direction vector of the joint axis, o n ( o i ) is the origin of the frame attached to the end-effector (i-th joint) and q ˙ i = θ ˙ i if joint i is revolute and q ˙ i = d ˙ i if joint i is prismatic.
Remark 4.
The unit twists ξ i ( q ) defined in Equation (32) are represented with respect to the world frame, not with respect to the local frame attached to the previous joint. If the unit twists are defined with respect to a local frame, we need to use the adjoint transformation to represent them with respect to the world frame. In particular, ξ i ( q ) = A d f ξ i ( q ) , where A d f : R 6 R 6 is the adjoint transformation associated with the rigid motion f, i.e., the rigid motion transforming the reference frame to the local frame in which the twist is initially represented.
The following is a key result:
Theorem 2
(Tsai, 1999 [44]). Given a serial robot with n DoF:
ω v = ξ 1 ( q ) q ˙ 1 + + ξ n ( q ) q ˙ n = [ ξ 1 ( q )     ξ n ( q ) ] q ˙ ,
where, again, ω , v denote the angular and linear velocity vectors of the robot’s end-effector and q ˙ = ( q ˙ 1 , , q ˙ n ) .
The main advantage of the screw-based Jacobian matrix defined in Equation (33) is that it allows a geometrical identification of the singularities. Moreover, if an approach based on geometric algebra is used, an intuitive geometrical and computer-friendly algebraic identification of the singularities is possible. For that purpose, let us consider the geometric algebra G 6 , where, for every i = 1 , , n , the unit twist ξ i ( q ) can be modelled as a vector. Indeed, we make the identification ξ i ( q ) = [ ξ i 1   ξ i 6 ] T with the vector x = ξ i 1 e 1 + + ξ i 6 e 6 G 6 , where e 1 , , e 6 are the basis vectors of G 6 .
The following gives the main result of this section.
Theorem 3.
Let ξ i ( q ) denote the unit twist defined by the i-th joint expressed as a vector of G 6 . Then:
ξ 1 ( q ) ξ 6 ( q ) = det ( [ ξ 1 ( q )     ξ 6 ( q ) ] ) e 1 e 6 .
Theorem 3 can be seen as a particular case of a more general result:
Theorem 4.
Let a 1 , , a n be a set of n vectors of G n . Then:
a 1 a n = det ( [ a 1     a n ] ) e 1 e n
Theorem 4 can be easily deduced from Equation (4.143) in [36] (p. 108):
F ( I ) = det ( F ) I ,
where F is a linear transformation in G n , F : G n G n , and, as stated in Section 2, I denotes the pseudoscalar of G n .
In particular, Theorem 4 is true for any set of six vectors a 1 , , a 6 of G 6 , which proves Theorem 3. Now, the following corollary of Theorem 3 allows us to characterize the singularities of any serial robot of 6 DoF.
Corollary 1.
Given a serial robot with 6 DoF and associated unit twists ξ 1 ( q ) , , ξ 6 ( q ) , then q S if, and only if, ξ 1 ( q ) ξ 6 ( q ) = 0 .
Proof. 
Taking the dual of Equation (34), the following identity is obtained:
( ξ 1 ( q ) ξ 6 ( q ) ) * = det ( [ ξ 1 ( q )     ξ 6 ( q ) ] )
and, therefore, the singularities of the serial robot are those configurations q C verifying that:
( ξ 1 ( q ) ξ 6 ( q ) ) * = 0 .
Now, since for a given non-zero multivector M G n , M * = 0 if, and only if, M = 0 , Equation (38) can be simplified to:
ξ 1 ( q ) ξ 6 ( q ) = 0 .
Thus, q S if, and only if, ξ 1 ( q ) ξ 6 ( q ) = 0 . □
Remark 5.
Notice that what has also been proven in Corollary 1 is that the outer product of n vectors of G n is zero if, and only if, the n vectors are linearly dependent.
In addition, Corollary 1 allows us to re-define the singular set as:
S = { q C   :   ξ 1 ( q ) ξ 6 ( q ) = 0 } .
Remark 6.
What Theorem 3 states is that, for instance, if two unit twists ξ 1 and ξ 2 satisfy ξ 1 ξ 2 = 0 , then they represent the same twist, and hence, they generate the same screw motion. This means that if such a screw motion is a pure translation, then the translational axes are either parallel or coincident, while if the screw motion is a pure rotation, the rotational axes are coincident (Since the twists contain the term ( z i × ( o 6 o i ) ) for i = 1 , 2 , they cannot be parallel). Regarding the kinematic singularities of serial robots, this implies that two prismatic joints whose axes are either parallel or coincident give rise to a singularity and, equivalently, that two revolute joints whose axes are coincident give rise to a singularity. This is, in fact, in agreement with what is known about kinematic singularities since two parallel revolute joint axes do not give rise to a singularity. Obviously, the same geometrical interpretation can be made for three, four or more unit twists satisfying that their outer product is zero.
With respect to redundant serial robots, it is clear that, for n > 6 , ξ 1 ( q ) ξ n ( q ) = 0 for any q C . Hence, Corollary 1 on its own does not allow us to characterize the singularities of redundant robots. However, this problem can be easily overcome by studying all the possible combinations of six unit twists in { ξ 1 ( q ) , , ξ n ( q ) } . We denote the set of all combinations of six elements that can be drawn from { 1 , , n } by S. Clearly, S has C ( n , 6 ) = n 6 elements of the form { i 1 , , i 6 } , where 1 i 1 < < i 6 n and 1 i C ( n , 6 ) .
Theorem 5.
Given a serial robot with n DoF and associated unit twists ξ 1 ( q ) , , ξ n ( q ) , then q S if, and only if, for each 1 i C ( n , 6 ) :
ξ i 1 ( q ) ξ i 6 ( q ) = 0 ,
where { i 1 , , i 6 } is the i-th element of S.
Proof. 
It follows that, for q C :
  ξ i 1 ( q ) ξ i 6 ( q ) = 0   for   every   1 i C ( n , 6 )   ( 1 ) det ( [ ξ i 1 ( q )     ξ i 6 ( q ) ] ) = 0   for   every   1 i C ( n , 6 )   ( 2 ) ρ ( [ ξ 1 ( q )     ξ n ( q ) ] ) < 6
where ( 1 ) uses Equations (37) and ( 2 ) uses the fact that all the minors of order 6 of the matrix [ ξ 1 ( q )     ξ n ( q ) ] have null determinants. Clearly, ρ ( [ ξ 1 ( q )     ξ n ( q ) ] ) < 6 if, and only if, ρ ( J ( q ) ) < 6 , which, in turn, is equivalent to q S (by Definition 1). □
The computation of either Equation (39) for non-redundant robots or Equation (41) for redundant ones is computationally more efficient than the computation of either det ( J ( q ) ) = 0 or det ( J ( q ) J T ( q ) ) = 0 . The main reason for this lies in the computational complexity of the operations needed to obtain the expressions (39) or (41) with respect to the complexity of the operations needed for obtaining det ( J ( q ) ) = 0 or det ( J ( q ) J T ( q ) ) = 0 . It is clear that the outer product of n vectors of G n behaves like the addition and product of real numbers, and hence, it has complexity O ( n ) + O ( n 2 ) , while the determinant has complexity O ( n 3 ) or O ( n 4 ) depending on the algorithm used. In addition, for redundant robots, there are two main operations: the product between J ( q ) and J T ( q ) and the determinant of the product matrix. This implies that, for this case, the complexity increases to O ( n 3 ) + O ( n 4 ) .

Special Case: Serial Robots with a Spherical Wrist

Similarly to what happens with the Jacobian matrix J, a simplification can be achieved for robots that have a spherical wrist. As stated in Section 1, the singularities of these robots can be decoupled into position and orientation singularities. Position singularities involve the first n 3 joints and are computed by studying the rank of the following matrix:
J p = s 1 s n 3 ,
where s i = z i × ( o n o i ) if joint i is revolute and s i = z i if joint i is prismatic. On the other hand, orientation singularities involve the last three joints and are computed through the determinant of the following matrix:
J o = z n 2 z n 1 z n .
Now, let us consider the three-dimensional geometric algebra G 3 . As proven in Theorem 4 for n = 3 , a 1 a 2 a 3 = det ( [ a 1   a 2   a 3 ] ) e 1 e 2 e 3 for any three vectors a 1 , a 2 , a 3 R 3 . Hence, analogously to what has been performed before, the following characterization for the position and orientation singularities can be deduced.
Theorem 6.
Given a serial robot with n DoF and a spherical wrist, if either z i × ( o n o i ) or z i are denoted by s i for i = 1 , , n 3 , then:
  • q C is a position singularity if, and only if, s i 1 ( q ) s i 2 ( q ) s i 3 ( q ) = 0 for each 1 i C ( n 3 , 3 ) , where { i 1 , i 2 , i 3 } is the i-th combination of three elements drawn from { 1 , , n 3 } .
  • q C is an orientation singularity if, and only if,
    z n 2 ( q ) z n 1 ( q ) z n ( q ) = 0 .
Proof. 
The proof is completely analogous to the proof of Corollary 1 and Theorem 5. □
Remark 7.
Since the last three joint axes either intersect at a single point or are parallel, there is only one orientation singularity, namely, when these three joint axes are coplanar. This can also be easily deduced from Equation (45). A schematic representation of such singularity, also called wrist singularity, is depicted in Figure 2.

4. Distance to Singularities

Let q 1 , q 2 C be two arbitrary configurations of a serial robot with n DoF and let ξ 1 , , ξ n be the unit twists associated with its joints. Then, there exist R 1 ( q 1 , q 2 ) , , R n ( q 1 , q 2 ) , where, for each 1 i n , R i ( q 1 , q 2 ) is a configuration-dependent rotor in the six-dimensional geometric algebra G 6 such that (Figure 3):
ξ i ( q 2 ) = R i ( q 1 , q 2 ) ξ i ( q 1 ) R ˜ i ( q 1 , q 2 ) .
The reason why these rotors exist is simple: unit twists are modelled as vectors in G 6 and there always exists a rotor relating any pair of vectors in any geometric algebra G n . In particular, there is always a rotor relating the same unit twist ξ in two different configurations q 1 , q 2 .
Now, let q s S denote a singularity of a serial robot. As explained in the previous section, if the serial robot has a spherical wrist, then q s only involves a maximum of two or three joints and, therefore, two or three unit twists. If, conversely, the robot has no spherical wrist, then it can involve a maximum of six joints. Let us suppose, without loss of generality, that a given singularity q s involves the joints i 1 , , i r with associated unit twists ξ i 1 ( q s ) , , ξ i r ( q s ) for 2 r 6 . Then, for any configuration q C , there exist R i 1 ( q , q s ) , , R i r ( q , q s ) such that:
ξ i j ( q s ) = R i j ( q , q s ) ξ i j ( q ) R ˜ i j ( q , q s )   for   each   1 j r .
The notation chosen for these rotors expresses a configuration dependence that is not a functional dependency, i.e., there is no analytical expression for these rotors with q as a variable.
Now, it is clear that R i j ( q , q s ) = 1 if, and only if, q = q s for every j = 1 , , r . However, since for each j, R i j ( q , q s ) does not define a function on q , a distance function cannot be defined. However, the measure of how close a given configuration q is to a singularity can be set as:
q q s R i j ( q ) 1   for   every   j = 1 , , r .
Example 1.
Let q s S be a singularity of a serial robot that only involves the second and third joints. Then, for any configuration q C , there exist R 2 ( q , q s ) and R 3 ( q , q s ) such that:
ξ 2 ( q s ) = R 2 ( q , q s ) ξ 2 ( q ) R ˜ 2 ( q , q s ) , ξ 3 ( q s ) = R 3 ( q , q s ) ξ 3 ( q ) R ˜ 3 ( q , q s ) .
Therefore, q is close to q s if, and only if:
R 2 ( q , q s ) 1 R 3 ( q , q s ) 1
and is singular if, and only if:
R 2 ( q , q s ) = 1 R 3 ( q , q s ) = 1
where, in general, R 2 ( q , q s ) R 3 ( q , q s ) .
These rotors can be constructed in many different ways. The easiest way consists of considering, for each 1 i n , the frame { i } attached to joint i and constructed from ξ i . This three-dimensional frame varies with the configuration q . Hence, for two different configurations q 1 and q 2 , there are two frames { i } attached to joint i. As shown in Section 2, we can recover the three-dimensional rotor that transforms one of the frames into the other. Since each frame { i } depends continuously on the configuration q , the rotor R i ( q ) is a continuous function defined as follows:
R i : C R q R i ( q )
Thus, these configuration-dependent rotors exhibit a functional dependency on the configuration, which allows us to define a distance function. Such distance is based on the norm of a multivector X G n , defined by the relation:
X 2 = X X ˜ 0 .
To prove that · is a norm, the following two lemmas are necessary.
Lemma 1.
For any given multivector X G n , X X ˜ 0 R + = [ 0 , + ) .
Proof. 
According to Equation (19), it follows that:
X ˜ = X ˜ 0 + X ˜ 1 + + X ˜ n .
Then:
X X ˜ = i = 0 n j = 0 n X i X ˜ j .
Now, note that, for each i = 1 , , n , X i is a i-vector, i.e., it only contains terms of grade i. The geometric product of two k-vectors (with different k) is stated as follows [36] (p. 103):
A r B s = A r B s | r s | + A r B s | r s | + 2 + + A r B s r + s ,
Therefore, it is clear that X i X ˜ j 0 = 0 for i j . Thus:
X X ˜ 0 = i = 0 n X i X ˜ i 0 .
Now, each X i can be expanded as follows:
X i = j = 1 C ( n , i ) α j ( i ) e j 1 e j i ,
where, for every 1 j C ( n , i ) = n i , α j ( i ) R and e j 1 e j i are the base elements of G n i . Therefore:
X ˜ i = j = 1 C ( n , i ) α j ( i ) e j i e j 1
and, thus:
X i X ˜ i = j = 1 C ( n , i ) α j ( i ) e j 1 e j i j = 1 C ( n , i ) α j ( i ) e j i e j 1   = j = 1 C ( n , i ) k = 1 C ( n , i ) α j ( i ) α k ( i ) e j 1 e j i e k i e k 1 ,
where, clearly, e j 1 e j i e k i e k 1 0 = δ j k with δ j k the Kronecker delta. Then:
X i X ˜ i 0 = j = 1 C ( n , i ) α j 2 ,
which, for every 1 i n , is a positive scalar. This implies that the sum of Equation (57) is also a positive scalar. □
Lemma 2.
Given three strictly positive real numbers a 1 , a 2 , a 3 R + { 0 } , the following properties hold:
  • a 1 + a 2 a 3 a 1 + a 2 ;
  • a 1 + a 2 + a 3 a 1 + a 2   if, and only if,   a 3 2 a 1 a 2 .
Proof. 
Both properties can be obtained by a straightforward computation. □
Proposition 4.
The function · : G n R + defined by the identity X 2 = X X ˜ 0 is a norm in G n , i.e.,
(i) 
X 0 for all X G n . In particular, X = 0 if, and only if, X = 0 .
(ii) 
λ X = | λ | X for all X G n and λ R .
(iii) 
X + Y X + Y for all X , Y G n (usually known as the triangle inequality).
Proof. 
(i)
Given a multivector X, identity X 2 = X X ˜ 0 is equivalent to:
X = ± X X ˜ 0 .
Thus, it is clear by Lemma 1 that the positive branch of Equation (62) is well defined and that X 0 . In particular, if X = 0 , then:
X X ˜ 0 = 0 X X ˜ 0 = 0 i = 0 n X i X ˜ i 0 = 0 ,
where all the terms of the last equation are positive by Lemma 1 and, thus, all of them are equal to zero. Now, note that each addend is the geometric product of an i-vector with its reverse. Therefore, if such product is zero, the corresponding i-vector must be zero. Since all the terms are zero, all the i-vectors that form X are zero, and thus, X is zero.
(ii)
If λ R and X G n , then:
λ X = ( λ X ) ( λ X ˜ ) 0 = λ 2 X X ˜ 0   = ( 1 ) λ 2 X X ˜ 0 = | λ | X X ˜ 0 = | λ | X ,
where ( 1 ) uses the linearity of the grade-0 projection operator (as stated in Section 2).
(iii)
Given two different multivectors X and Y, they can be expanded as linear combinations of the basis elements of G n as follows:
X = i = 0 2 n α i e j 1 e j i , Y = i = 0 2 n β i e j 1 e j i .
Now, it follows that:
X + Y = i = 0 2 n ( α i + β i ) e j 1 e j i
and hence:
X + Y = X + Y X + Y 0 = ( 1 ) i = 0 2 n ( α i + β i ) 2   = i = 0 2 n α i 2 A + i = 0 2 n β i 2 B + 2 i = 0 2 n α i β i C ,
where ( 1 ) uses Lemma 1, while A , B and C are just notations given to simplify the different manipulations. Since A , B > 0 (If either A , B are equal to zero, then either X = 0 or Y = 0 , which will make the condition X + Y X + Y trivial):
A + B + C ( 1 ) A + B = i = 0 2 n α i 2 + i = 0 2 n β i 2 = X + Y ,
where ( 1 ) uses the first or second property of Lemma 2 depending on whether C < 0 or C > 0 . It only remains to check if C > 0 , 2 C 2 A B . Indeed, the previous inequality is equivalent to that C 2 A B . Now:
A B = i = 0 2 n α i 2 i = 0 2 n β i 2 = i = 0 2 n j = 0 2 n α i 2 β j 2 = i = 0 2 n α i 2 β i 2 + i = 0 2 n j = 0 j i 2 n α i 2 β j 2 , C 2 = i = 0 2 n α i β i 2 = i = 0 2 n α i 2 β i 2 + i = 0 2 n j = 0 j i 2 n α i β i α j β j
and, thus, C 2 A B turns to:
i = 0 2 n α i 2 β i 2 + i = 0 2 n j = 0 j i 2 n α i β i α j β j i = 0 2 n α i 2 β i 2 + i = 0 2 n j = 0 j i 2 n α i 2 β j 2 ,
which is equivalent to:
i = 0 2 n j = 0 j i 2 n α i β i α j β j i = 0 2 n j = 0 j i 2 n α i 2 β j 2
which, in turn, is equivalent to:
0 i = 0 2 n j = 0 j i 2 n α i 2 β j 2 i = 0 2 n j = 0 j i 2 n α i β i α j β j   = 1 2 i = 0 2 n j = 0 j i 2 n α i 2 β j 2 + 1 2 i = 0 2 n j = 0 j i 2 n α i 2 β j 2 i = 0 2 n j = 0 j i 2 n α i β i α j β j   = 1 2 i = 0 2 n j = 0 j i 2 n ( α i β j α j β i ) 2 .
Since this last inequality is always true, the triangle inequality is also true.
Now, a distance function D can be defined for rotors.
Theorem 7.
The function D : R × R R + defined by the identity D ( R 1 , R 2 ) = R 1 R 2 is a distance in R , i.e.,
(i) 
D ( R 1 , R 2 ) 0 for all R 1 , R 2 R . In particular, D ( R 1 , R 2 ) = 0 if, and only if, R 1 = R 2 ;
(ii) 
D ( R 1 , R 2 ) = D ( R 2 , R 1 ) for all R 1 , R 2 R ;
(iii) 
D ( R 1 , R 3 ) D ( R 1 , R 2 ) + D ( R 2 , R 3 ) for all R 1 , R 2 , R 3 R .
Proof. 
The proof is straightforward and uses the fact that · is a norm. Given two different rotors R 1 and R 2 :
(i)
D ( R 1 , R 2 ) = R 1 R 2 0 . In particular:
D ( R 1 , R 2 ) = 0 R 1 R 2 = 0 ( 1 ) R 1 R 2 = 0 R 1 = R 2 ,
where ( 1 ) uses the first property of a norm.
(ii)
We have that:
D ( R 1 , R 2 ) = R 1 R 2 = R 1 R 2 R 1 R 2 0   = R 2 R 1 R 2 R 1 0 = R 2 R 1 = D ( R 2 , R 1 ) .
(iii)
Given a third rotor R 3 , we have that:
D ( R 1 , R 3 ) = R 1 R 3 = R 1 R 2 + R 2 R 3   ( 1 ) R 1 R 2 + R 2 R 3 = D ( R 1 , R 2 ) + D ( R 2 , R 3 ) ,
where ( 1 ) uses the third property of a norm.
As stated before, the end-effector pose of a serial robot and the pose of each one of its joints are described by the configuration-dependent rotors R ( q ) and R i ( q ) , respectively. Thus, one can be tempted to extend the distance function D to C as follows:
  D : C × C R +   D ( q 1 , q 2 ) = R ( q 1 ) R ( q 2 )
This function verifies all the requirements of a distance function with the exception of:
D ( q 1 , q 2 ) = 0 q 1 = q 2 .
The reason is simple: a given pose of the end-effector can be associated with up to 16 different configurations if the serial robot is non-redundant and an infinite number if it is redundant. In particular, this means that R ( q 1 ) = R ( q 2 ) with q 1 q 2 . However, this problem can be overcome as follows:
  • For each joint i, denote by C i the configuration space of the subchain formed by the first i joints. It is clear that, if the robot has n degrees of freedom, C i C for every 1 i n . Then, the following set of functions can be defined:
    D i : C i × C i R + D i ( q 1 , q 2 ) = R i ( q 1 ) R i ( q 2 )
    where, as stated before, R i is the rotor that describes the pose of joint i. Again, these functions are not distance functions for the same reason as D (Equation (76)) is not a distance function.
  • The function:
      D : C × C [ 0 , + )   D ( q 1 , q 2 ) = D 1 ( q 1 1 q 2 1 ) + + D n ( q 1 n , q 2 n )
    where q 1 i ( q 2 i ) denotes the first i coordinates of the configuration vector q 1 ( q 2 ), defines a distance function in C .
    Proof. 
    Since, for each 1 i n , D i satisfies the requirements ( i i ) and ( i i i ) of a distance function, it is clear that D also satisfies them. In addition, D i ( q 1 i , q 2 i ) 0 for each 1 i n and q 1 i , q 2 i C i . Therefore, D ( q 1 , q 2 ) 0 for arbitrary q 1 , q 2 C . Finally, if D ( q 1 , q 2 ) = 0 , then, since any term of Equation (79) is a positive scalar, it can be deduced that D i ( q 1 i , q 2 i ) = 0 for every 1 i n . Thus, q 1 and q 2 not only have the same end-effector pose, but the same pose for of each of its joints, which clearly implies that q 1 = q 2 . □
This distance function can be restricted to S just by considering the joints involved in a given singularity q s .
Definition 5.
Let q s S be a singularity of a serial robot that involves joints i 1 , , i r . Then, the function D : C × S R + is defined by the expression:
D ( q , q s ) = D i 1 ( q i 1 , q s i 1 ) + + D i r ( q i r , q s i r ) ,
where, for each i 1 k i r , D k is the function defined in (78) and is a distance function in C .

5. Application to the Serial Robot Kuka Lwr 4+

To show the advantages of the proposed method, an illustrative example is developed in this section, making use of the Kuka LWR 4+, an anthropomorphic robotic arm with seven degrees of freedom and a spherical wrist. It is schematically depicted in Figure 4. Since it has a spherical wrist, its singularities can be decoupled into position and orientation singularities. Hence, Theorem 6 can be applied in order to find out such singularities. The computations with the vectors of G 3 have been carried out using the Clifford Multivector Toolbox of MATLAB [45].
With respect to the position singularities, the following system of C ( 4 , 3 ) = 4 equations should be solved:
( z 1 × ( o 7 o 1 ) ) ( z 2 × ( o 7 o 2 ) ) ( z 3 × ( o 7 o 3 ) ) = 0 ( z 1 × ( o 7 o 1 ) ) ( z 2 × ( o 7 o 2 ) ) ( z 4 × ( o 7 o 4 ) ) = 0 ( z 1 × ( o 7 o 1 ) ) ( z 3 × ( o 7 o 3 ) ) ( z 4 × ( o 7 o 4 ) ) = 0 ( z 2 × ( o 7 o 2 ) ) ( z 3 × ( o 7 o 3 ) ) ( z 4 × ( o 7 o 4 ) ) = 0  
where, as computed in [46], we have that:
  z 1 × ( o 7 o 1 )   = 400 c 2 s 1 390 s 4 ( c 1 s 3 + c 3 s 1 s 2 ) 390 c 2 c 4 s 1 400 c 1 c 2 390 s 4 ( s 1 s 3 c 1 c 3 s 2 ) + 390 c 1 c 2 c 4 0 ,   z 2 × ( o 7 o 2 )   = c 1 ( 400 s 2 + 390 c 4 s 2 390 c 2 c 3 s 4 ) s 1 ( 400 s 2 + 390 c 4 s 2 390 c 2 c 3 s 4 ) A 1 ,   z 3 × ( o 7 o 3 )   = c 2 s 1 ( 390 c 4 s 2 390 c 2 c 3 s 4 ) s 2 ( 390 s 4 ( c 1 s 3 + c 3 s 1 s 2 ) + 390 c 2 c 4 s 1 ) s 2 ( 390 s 4 ( s 1 s 3 c 1 c 3 s 2 ) 390 c 1 c 2 c 4 ) c 1 c 2 ( 390 c 4 s 2 390 c 2 c 3 s 4 ) c 1 c 2 ( 390 s 4 ( c 1 s 3 + c 3 s 1 s 2 ) + 390 c 2 c 4 s 1 ) + c 2 s 1 ( 390 s 4 ( s 1 s 3 c 1 c 3 s 2 ) 390 c 1 c 2 c 4 ) ,   z 4 × ( o 7 o 4 )   = ( 390 c 4 s 2 390 c 2 c 3 s 4 ) ( c 1 c 3 s 1 s 2 s 3 ) c 2 s 3 ( 390 s 4 ( c 1 s 3 + c 3 s 1 s 2 ) + 390 c 2 c 4 s 1 ) ( 390 c 4 s 2 390 c 2 c 3 s 4 ) ( c 3 s 1 + c 1 s 2 s 3 ) c 2 s 3 ( 390 s 4 ( s 1 s 3 c 1 c 3 s 2 ) 390 c 1 c 2 c 4 ) A 2 ,
where
A 1 = c 1 ( 400 c 1 c 2 390 s 4 ( s 1 s 3 c 1 c 3 s 2 ) + 390 c 1 c 2 c 4 ) + s 1 ( 400 c 2 s 1   + 390 s 4 ( c 1 s 3 + c 3 s 1 s 2 ) + 390 c 2 c 4 s 1 ) , A 2 = ( c 1 c 3 s 1 s 2 s 3 ) ( 390 s 4 ( s 1 s 3 c 1 c 3 s 2 ) 390 c 1 c 2 c 4 ) ( 390 s 4 ( c 1 s 3 + c 3 s 1 s 2 )   + 390 c 2 c 4 s 1 ) ( c 3 s 1 + c 1 s 2 s 3 ) ,
and where c i = cos ( θ i ) and s i = sin ( θ i ) . However, in order to simplify these expressions, the system of Equation (81) is expressed with respect to the frame attached to the fourth joint of the Kuka LWR 4+. To do so, a relation analogous of relation (9) is applied. Here, instead of pre-multiplying by the corresponding rotation matrix, the system of Equation (81) is multiplied by the three-dimensional rotor R that performs the rotation between the frame attached to the end-effector and the frame attached to the fourth joint. For instance, the first equation of the system (81) becomes:
R ( z 1 × ( o 7 o 1 ) ) ( z 2 × ( o 7 o 2 ) ) ( z 3 × ( o 7 o 3 ) ) R ˜ = 0 ,
which, using the geometric covariance property for rotors introduced in Section 2, becomes:
R ( z 1 × ( o 7 o 1 ) ) R ˜ R ( z 2 × ( o 7 o 2 ) ) R ˜ R ( z 3 × ( o 7 o 3 ) ) R ˜ = 0 .
Therefore, the system of Equation (81) becomes:
a 1 a 2 a 3 = 0 a 1 a 2 a 4 = 0 a 1 a 3 a 4 = 0 a 2 a 3 a 4 = 0  
where
a 1 = ( 10 c 2 s 3 ( 40 c 4 + 39 ) ) e 1 + ( 400 c 2 s 3 s 4 ) e 2 + ( 400 c 2 c 3 + 390 s 2 s 4 + 390 c 2 c 3 c 4 ) e 3 , a 2 = ( 10 c 3 ( 40 c 4 + 39 ) ) e 1 + ( 400 c 3 s 4 ) e 2 + ( 10 s 3 ( 40 c 4 + 39 ) ) e 3 , a 3 = ( 390 s 4 ) e 3 , a 4 = ( 390 ) e 1 .
Now, the system of Equation (85) becomes:
0 = 0 40 c 2 s 4 + 39 s 2 c 3 s 4 2 + 39 c 2 c 4 s 4 = 0   c 2 s 3 s 4 2 = 0 c 3 s 4 2 = 0
which clearly has two different solutions:
  • s 4 = 0 or, equivalently, q 4 = 0 .
  • c 2 = c 3 = 0 or, equivalently, q 2 = ± π 2 and q 3 = ± π 2 .
These two solutions correspond to the position singularities of the Kuka LWR 4+.
With respect to the orientation singularities, there is only one equation to solve:
z 5 z 6 z 7 = 0 .
Again, the expression of each z i for i = 5 , 6 , 7 can be simplified by expressing those vectors with respect to the frame attached to the fourth joint. Thus, Equation (88) becomes:
  e 2 ( s 5 e 1 c 5 e 3 ) ( c 5 s 6 e 1 + c 6 e 2 s 5 s 6 e 3 )   = ( s 5 e 2 e 1 c 5 e 2 e 3 ) ( c 5 s 6 e 1 + c 6 e 2 s 5 s 6 e 3 )   = ( 1 ) s 5 2 s 6 e 1 e 2 e 3 c 5 2 s 6 e 1 e 2 e 3 = s 6 e 1 e 2 e 3 = 0 ,
where ( 1 ) uses the anticommutativity of the outer product. Clearly, the last expression of Equation (89) is zero if, and only if, s 6 = 0 or, equivalently, if, and only if, q 6 = 0 . Thus, the Kuka LWR 4+ only has one orientation singularity (the wrist singularity, as explained in Remark 7).
Finally, the distance function defined in Definition 5 can be applied to any of the already obtained singular configurations. Let us consider, for instance, the position singularity q 4 = 0 . Then, the distance between an arbitrary configuration q C and this singularity is given by the expression:
D ( q , q s ) = R 4 ( q ) R 4 ( q s ) ,
where q s denotes the singular configuration q 4 = 0 and R 4 is the rotor defining the pose of the fourth joint of the Kuka LWR 4+.
In particular, R 4 can be found as explained in Section 2. Indeed, if { e 1 , e 2 , e 3 } denotes the orthogonal basis defined by the world frame and { f 1 , f 2 , f 3 } (respectively, { f 1 , f 2 , f 3 } ), the orthogonal basis defined by the frame attached to the fourth joint under the effect of configuration q (respectively, singular configuration q s ), then:
R 4 ( q ) = 1 + e 1 f 1 + e 2 f 2 + e 3 f 3 1 + e 1 f 1 + e 2 f 2 + e 3 f 3 , R 4 ( q s ) = 1 + e 1 f 1 + e 2 f 2 + e 3 f 3 1 + e 1 f 1 + e 2 f 2 + e 3 f 3 ,
where { e 1 , e 2 , e 3 } is the reciprocal frame of { e 1 , e 2 , e 3 } . Since { e 1 , e 2 , e 3 } is also an orthonormal set of vectors, such a reciprocal frame is:
e 1 = e 1 , e 2 = e 2 , e 3 = e 3 .
Thus, Equation (91) turns to:
R 4 ( q ) = 1 + e 1 f 1 + e 2 f 2 + e 3 f 3 1 + e 1 f 1 + e 2 f 2 + e 3 f 3 , R 4 ( q s ) = 1 + e 1 f 1 + e 2 f 2 + e 3 f 3 1 + e 1 f 1 + e 2 f 2 + e 3 f 3 .
Evaluating Equation (93) for the KUKA LWR 4+, we obtain:
R 4 ( q ) = a 1 + a 2 e 1 e 2 + a 3 e 1 e 3 + a 4 e 2 e 3 a 1 2 + a 2 2 + a 3 2 + a 4 2 , R 4 ( q s ) = b 1 + b 2 e 1 e 2 + b 3 e 1 e 3 + b 4 e 2 e 3 b 1 2 + b 2 2 + b 3 2 + b 4 2 ,
where { e 1 e 2 , e 1 e 3 , e 2 e 3 } are the basic bivectors of G 3 and
a 1 = c 2 s 3 + c 4 s 1 s 3 c 4 c 3 c 1 s 2 + s 3 s 4 c 1 + s 4 s 1 s 2 c 3 + s 4 c 1 c 2 + c 2 c 4 s 1 , a 2 = c 2 s 1 s 4 c 4 c 1 s 3 c 4 c 3 s 1 s 2 c 1 c 2 c 4 + s 4 s 1 s 3 s 4 s 2 c 1 c 3 , a 3 = s 2 s 4 + c 2 c 3 c 4 + c 3 s 1 + c 1 s 2 s 3 , a 4 = c 4 s 2 c 2 c 3 s 4 c 1 c 3 + s 1 s 2 s 3 , b 1 = c 2 s 3 + s 1 s 3 c 3 c 1 s 2 + c 2 s 1 , b 2 = c 1 s 3 c 3 s 1 s 2 c 1 c 2 , b 3 = c 2 c 3 + c 3 s 1 + c 1 s 2 s 3 , b 4 = s 2 c 1 c 3 + s 1 s 2 s 3 .
Therefore, by Proposition 4 and the decomposition used in the Proof of Lemma 1, the distance of an arbitrary configuration q to the position singularity q 4 = 0 is given by:
D ( q , q s ) = ( a 1 b 1 ) 2 + ( a 2 b 2 ) 2 + ( a 3 b 3 ) 2 + ( a 4 b 4 ) 2 ,
where
a i = a i a 1 2 + a 2 2 + a 3 2 + a 4 2   and   b i = b i b 1 2 + b 2 2 + b 3 2 + b 4 2 .

6. Handling of Singularities

Once the set of singular configurations S has been identify, several methods can be applied to handle the singularities. The detailed treatment of this topic is beyond the scope of this work. However, in order to show the possibilities of the distance function proposed in Section 4, we comment on three different situations, namely, motion planning, motion control and bilateral teleoperation. In each one of these situations, the distance function defined in Definition 5 plays an important role for handling the singularities.

6.1. Singularity Handling in Motion Planning

Motion planning consists of programming collision-free motions for a given robotic manipulator from a start position to a goal position among a collection of static obstacles. The subset of robot configurations that do not cause collision with such obstacles is termed the free-of-obstacles configuration space, and it is denoted by C free . The main methods used for motion planning can be grouped into three categories:
  • Potential field methods, where a differentiable real-valued function U : C R , called the potential function, is defined. Such a function has an attractive component that pulls the trajectory towards the goal configuration and a repulsive component that pushes the trajectory away from the start configuration and from the obstacles.
  • Sampling-based multi-query methods, where a roadmap is constructed over C free . The nodes represent free-of-obstacles configurations, while the edges represent feasible local paths between those configurations. Once the roadmap is constructed, a search algorithm finds out the best solution trajectory by selecting and joining the local paths through an optimization process.
  • Sampling-based single-query methods, where tree-structure data are constructed by searching new configurations (nodes) in C free and connecting them through local paths (edges). Its main difference with respect to the multi-query methods is that, while the multi-query methods work in two steps (construction of the roadmap and searching of a solution trajectory), in the single-query methods, both steps are taken together. Each new configuration added to the set of nodes is connected by a local path and evaluated in order to check its feasibility.
For any method of these three categories, the distance function D defined in Definition 5 can be applied to construct solution trajectories that also avoid the singularities. Indeed:
  • For a potential field method, it is sufficient to add a repulsive component that pushes the trajectory, not only away from obstacles, but also away from singularities. To do so, the most efficient method is to define, for each singularity q s , a quadratic repulsive component as follows:
    U r , q s ( q ) = κ 2 1 D ( q , q s ) 1 D 0 2 if   D ( q , q s ) D 0 0 if   D ( q , q s ) > D 0
    where D 0 is set as a threshold for the distance D and κ R .
  • For a sampling-based method with multiple queries, it is sufficient to remove from the roadmap those nodes associated with singular configurations. During the construction of the roadmap, each configuration q C is evaluated to determine whether q is free-of-obstacles or not. Similarly, the idea is to evaluate each q C in order to determine whether q is close to a singularity or not. To speed up the process, both evaluations can be carried out together:
    (1)
    Select a value D 0 > 0 that will work as a threshold.
    (2)
    Given a discretization of the configuration space C , each q of this discretization is evaluated to check whether:
    *
    It is free-of-obstacles;
    *
    It is far from any singularity. This can be achieved simply by evaluating whether D ( q , q s ) > D 0 or D ( q , q s ) D 0 ;
    (3)
    If q is free-of-obstacles and far from any singularity, then it can be added to the set of nodes of the roadmap.
  • For a sampling-based method with a single query, the approach is completely analogous to the one used for methods with multiple-queries due to the similarities between both categories.

6.2. Singularity Handling in Motion Control

Motion control consists of making the end-effector of a robot follow a time-varying trajectory specified within the manipulator workspace. A typical Inverse Dynamics Control scheme (depicted as a block diagram in Figure 5) can be described as:
  • An input, i.e., the desired or target configuration q d together with its velocity q ˙ d ;
  • A controller based on the dynamical model of the robot:
    τ = M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + g ( q )
    where M ( q ) denotes the inertia matrix of the robot, C ( q , q ˙ ) denotes the matrix of Coriolis and centrifugal forces and g ( q ) denotes the gravity vector.
  • An output, i.e., the vector of torques τ , that is sent to the robot to perform the desired motion;
  • The robot executes the motion and updates the vectors q and q ˙ ;
  • The robot sends such updated vectors to the controller (also known as the feedback of the system).
To handle the singularities, a restriction can be defined inside the controller:
(1)
The target configuration q d is entered into the controller.
(2)
q d is checked in order to determine whether it is close to a singularity or not:
Select a threshold value D 0 > 0 .
Evaluate the condition D ( q d , q s ) > D 0 for each singularity q s .
If the evaluation returns yes, then τ can be computed from q d using the dynamical model (Equation (99)) and sent to the robot. Otherwise, q d is substituted by q d + D 0 q d and evaluated again.
A block diagram of this scheme is depicted in Figure 6.

6.3. Singularity Handling in Bilateral Teleoperation

Teleoperated robotic systems are characterized by a robot that executes the movements/actions commanded by a human operator. Any high-level or planning decision is made by a human user, while the robot is responsible for their mechanical implementation [47]. Teleoperation systems are often, at least conceptually, split into two parts: a local manipulator and a remote manipulator. The first one refers to the device moved by the human operator, while the second refers to the robot or robot system that performs the action.
According to the information flow direction, the teleoperation may be unilateral or bilateral. In unilateral teleoperation, the local manipulator sends position or force data to the remote manipulator and only receives, as feedback, visual information from the remote scene. However, in bilateral teleoperation, the position or force data are also sent from the remote manipulator in addition to the visual information.
In a bilateral teleoperation system, some strategies for handling of kinematic singularities can make use of the distance function D defined in Definition 5. For instance, the following scheme could be applied:
(1)
Select a value D 0 > 0 that will work as a threshold.
(2)
The local manipulator sends a pose (force) p ( f ) to the remote manipulator.
(3)
The controller of the remote manipulator obtains the associated configuration q .
(4)
The distance D ( q , q s ) is computed for each q s S .
(5)
If, for some q s , D ( q , q s ) < D 0 , then the remote manipulator controller computes a reaction force f s in the same direction of the motion but with inverse sense.
(6)
The remote manipulator sends this force f s to the local manipulator.
(7)
The human operator will not be able to move the local manipulator in such a direction implied by f s and, thus, the singularity q s will never be reached.

7. Conclusions

This paper proposes a novel singularity identification method for arbitrary serial robots based on the six-dimensional geometric algebra G 6 . For non-redundant serial robots, we take the six unit twists ξ 1 , , ξ 6 associated with the joints, and we model them as vectors of G 6 . Hence, the problem reduces to find the configurations causing the exterior product ξ 1 ( q ) ξ 6 ( q ) to vanish since, as proven in Corollary 1, ξ 1 ( q ) ξ 6 ( q ) = 0 if, and only if, q S . Analogously, for a redundant robot with n DoF, we consider the C ( n , 6 ) different combinations of six unit twists taken from { ξ 1 , , ξ n } , and we find the configurations causing all the exterior products of the form ξ j 1 ( q ) ξ j 6 ( q ) for 1 j C ( n , 6 ) to vanish.
For serial robots with a spherical wrist, a simplification is possible. For these manipulators, the singularities are of two types: position singularities and orientation singularities. The former are identified as the configurations causing the exterior products s i 1 ( q ) s i 2 ( q ) s i 3 ( q ) to vanish for 1 i C ( n 3 , 3 ) , where s i j is the linear velocity component of the unit twist ξ i j and is modelled as a vector of G 3 , while the latter are identified as the configuration causing the exterior product z n 2 ( q ) z n 1 ( q ) z n ( q ) to vanish, where z i is the i-th joint axis and, again, is modelled as a vector of G 3 . Thus, the simplification consists of evaluating the exterior product of three vectors in G 3 instead of six vectors in G 6 .
Once the singularities are identified, a distance function is defined such as its restriction to the singular set S , defined in Definition 5, is also a distance function that allows us to check how far an arbitrary configuration q is to a singularity. This distance function exploits the fact that between any two vectors x , y G n , there always exists a rotor R such that y = R x R ˜ .
The advantages of the strategy introduced in this work are clear. First, it is a computer-friendly approach that avoids the computation of the determinant of an order 6 × n (for non-redundant robots) or n × n (for redundant robots) matrix and the Jacobian matrix J. In addition, the novel distance function defined in Definition 5 can be used to improve the performance of current control schemes or motion planning algorithms, which, as seen in the introduction, is still a hot research topic in robotics.

Author Contributions

Conceptualization, I.Z. and J.L.; methodology, I.Z.; investigation, I.Z. and H.H.; writing—original draft preparation, I.Z. and H.H.; writing—review and editing, I.Z., H.H. and J.L.; supervision, J.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Gottlieb, D. Robots and Topology. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), San Francisco, CA, USA, 7–10 April 1986; pp. 1689–1691. [Google Scholar]
  2. Hollerbach, J. Optimum kinematic design for a seven degree of freedom manipulator. In Robotics Research: The Second International Symposium; Hanafusa, H., Inoue, H., Eds.; MIT Press: Cambridge, MA, USA, 1985; pp. 215–222. [Google Scholar]
  3. Carmichael, M.; Khonasty, R.; Aldini, S.; Liu, D. Human Preferences in Using Damping to Manage Singularities During Physical Human-Robot Collaboration. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), Paris, France, 31 May–31 August 2020; pp. 10184–10190. [Google Scholar]
  4. Lopez-Franco, C.; Diaz, D.; Hernandez-Barragan, J.; Arana-Daniel, N.; Lopez-Franco, M. A Metaheuristic Optimization Approach for Trajectory Tracking of Robot Manipulators. Mathematics 2022, 10, 1051. [Google Scholar] [CrossRef]
  5. Thananjeyan, B.; Tanwani, A.; Ji, J.; Fer, D.; Patel, V.; Krishnan, S.; Goldberg, K. Optimizing Robot-Assisted Surgery Suture Plans to Avoid Joint Limits and Singularities. In Proceedings of the International Symposium on Medical Robotics (ISMR), Atlanta, GA, USA, 3–5 April 2019; pp. 1–7. [Google Scholar]
  6. Dupac, M. Smooth trajectory generation for rotating extensible manipulators. Math. Methods Appl. Sci. 2018, 41, 2281–2286. [Google Scholar] [CrossRef]
  7. Wang, X.; Zhang, D.; Zhao, C.; Zhang, H.; Yan, H. Singularity analysis and treatment for a 7R 6-DOF painting robot with non-spherical wrist. Mech. Mach. Theory 2018, 126, 92–107. [Google Scholar] [CrossRef]
  8. Ratajczak, J.; Tchoń, K. Normal forms and singularities of non-holonomic robotic systems: A study of free-floating space robots. Syst. Control. Lett. 2020, 138, 104661. [Google Scholar] [CrossRef]
  9. Almarkhi, A.; Maciejewski, A. Singularity Analysis for Redundant Manipulators of Arbitrary Kinematic Structure. In Proceedings of the 16th International Conference on Informatics in Control, Automation and Robotics (ICINCO), Prague, Czech Republic, 29–31 July 2019; pp. 42–49. [Google Scholar]
  10. Sharifi, H.; Black, W. Identification Algorithm to Determine the Trajectory of Robots with Singularities. arXiv 2019, arXiv:1911.06632. [Google Scholar]
  11. Zhu, G.; Wei, S.; Zhang, Y.; Liao, Q. A Novel Geometric Modeling and Calculation Method for Forward Displacement Analysis of 6-3 Stewart Platforms. Mathematics 2021, 9, 442. [Google Scholar] [CrossRef]
  12. Hadfield, H.; Wei, L.; Lasenby, J. The forward and inverse kinematics of a Delta Robot. In Advances in Computer Graphics; Magnenat-Thalmann, N., Stephanidis, C., Wu, E., Thalmann, D., Sheng, B., Kim, J., Papagiannakis, G., Gavrilova, M., Eds.; Springer International Publishing: Berlin/Heidelberg, Germany, 2020; pp. 447–458. [Google Scholar]
  13. Thiruvengadam, S.; Tan, J.; Miller, K. A Generalised Quaternion and Clifford Algebra Based Mathematical Methodology to Effect Multi-stage Reassembling Transformations in Parallel Robots. Adv. Appl. Clifford Algebr. 2021, 31, 39. [Google Scholar] [CrossRef]
  14. Breuils, S.; Tachibana, K.; Hitzer, E. New Applications of Clifford’s Geometric Algebra. Adv. Appl. Clifford Algebr. 2022, 32, 1–17. [Google Scholar] [CrossRef]
  15. Hitzer, E.; Lavor, C.; Hildenbrand, D. Current survey of Clifford geometric algebra applications. Math. Methods Appl. Sci. 2022, in press. [CrossRef]
  16. Corrochano, E.; Sobczyk, G. Applications of Lie algebras and the algebra of incidence. In Geometric Algebra with Applications in Science and Engineering; Corrochano, E., Sobczyk, G., Eds.; Birkhäuser Boston: Boston, MA, USA, 2001; pp. 252–277. [Google Scholar]
  17. Kanaan, D.; Wenger, P.; Caro, S.; Chablat, D. Singularity analysis of lower mobility parallel manipulators using Grassmann–Cayley algebra. IEEE Trans. Robot. 2009, 25, 995–1004. [Google Scholar] [CrossRef] [Green Version]
  18. Tanev, T. Singularity analysis of a 4-DOF parallel manipulator using geometric algebra. In Advances in Robot Kinematics: Mechanisms and Motion; Lennarčič, J., Roth, B., Eds.; Springer: Dordrecht, The Netherlands, 2006; pp. 275–284. [Google Scholar]
  19. Chai, X.; Xiang, J. Mobility Analysis of Limited-Degrees-of-Freedom Parallel Mechanisms in the Framework of Geometric Algebra. ASME J. Mech. Robot. 2016, 8, 41005. [Google Scholar]
  20. Yao, H.; Chen, Q.; Chai, X.; Li, Q. Singularity analysis of 3-RPR parallel manipulators using geometric algebra. Adv. Appl. Clifford Algebr. 2017, 27, 2097–2113. [Google Scholar] [CrossRef]
  21. Chai, X.; Li, Q. Analytical mobility analysis of Bennett linkage using geometric algebra. Adv. Appl. Clifford Algebr. 2017, 27, 2083–2095. [Google Scholar] [CrossRef]
  22. Ma, J.; Chen, Q.; Yao, H.; Chai, X.; Li, Q. Singularity analysis of the 3/6 Stewart parallel manipulator using geometric algebra. Math. Methods Appl. Sci. 2018, 41, 2494–2506. [Google Scholar] [CrossRef]
  23. Huo, X.; Sun, T.; Song, Y. A geometric algebra approach to determine motion/constraint, mobility and singularity of parallel mechanism. Mech. Mach. Theory 2017, 116, 273–293. [Google Scholar] [CrossRef]
  24. Chai, X.; Li, Q.; Ye, W. Mobility analysis of overconstrained parallel mechanism using Grassmann-Cayley algebra. Appl. Math. Model. 2017, 51, 643–654. [Google Scholar] [CrossRef]
  25. Yang, S.; Li, Y. Classification and analysis of constraint singularities for parallel mechanisms using differential manifolds. Appl. Math. Model. 2020, 77, 469–477. [Google Scholar] [CrossRef]
  26. Kim, J.; Jeong, J.; Park, J. Inverse kinematics and geometric singularity analysis of a 3-SPS/S redundant motion mechanism using conformal geometric algebra. Mech. Mach. Theory 2015, 90, 23–36. [Google Scholar] [CrossRef]
  27. Huo, L.; Baron, L. The joint-limits and singularity avoidance in robotic welding. Ind. Robot. 2008, 35, 456–464. [Google Scholar] [CrossRef] [Green Version]
  28. Yahya, S.; Moghavvemi, M.; Mohamed, H. Singularity avoidance of a six degree of freedom three dimensional redundant planar manipulator. Comput. Math. Appl. 2012, 64, 856–868. [Google Scholar] [CrossRef] [Green Version]
  29. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modelling, Planning and Control; Springer Publishing Company: Berlin/Heidelberg, Germany, 2008. [Google Scholar]
  30. Yao, H.; Li, Q.; Chen, Q.; Chai, X. Measuring the closeness to singularities of a planar parallel manipulator using geometric algebra. Appl. Math. Model. 2018, 57, 192–205. [Google Scholar] [CrossRef]
  31. Nawratil, G. Singularity distance for parallel manipulators of Stewart Gough type. In Advances in Mechanism and Machine Science; Uhl, T., Ed.; Springer International Publishing: Berlin/Heidelberg, Germany, 2019; pp. 259–268. [Google Scholar]
  32. Bu, W. Closeness to singularities of robotic manipulators measured by characteristic angles. Robotica 2016, 34, 2105–2115. [Google Scholar] [CrossRef]
  33. Clifford, W.; Smith, H.; Tucker, R. Mathematical Papers by William Kingdon Clifford-Edited; Macmillan: London, UK, 1882. [Google Scholar]
  34. Grassmann, H. Ausdehnungslehre-Extension Theory (English Re-Edition); American Mathematical Society: Providence, RI, USA, 2000. [Google Scholar]
  35. Hamilton, W.R. Elements of Quaternions; Longmans, Green: London, UK, 1866. [Google Scholar]
  36. Doran, C.; Lasenby, A. Geometric Algebra for Physicists; Cambridge University Press: Cambridge, UK, 2003. [Google Scholar]
  37. Dorst, L.; Fontijne, D.; Mann, S. Geometric Algebra for Computer Science: An Object-Oriented Approach to Geometry; Morgan Kaufmann Publishers Inc.: Burlington, MA, USA, 2007. [Google Scholar]
  38. Perwass, C. Geometric Algebra with Applications in Engineering; Springer Publishing Company, Incorporated: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  39. Hildenbrand, D. Foundations of Geometric Algebra Computing; Springer Publishing Company, Incorporated: Berlin/Heidelberg, Germany, 2012. [Google Scholar]
  40. Lavor, C.; Xambó-Descamps, S.; Zaplana, I. A Geometric Algebra Invitation to Space-Time Physics, Robotics and Molecular Geometry; SRMA/Springerbriefs; Springer: Berlin/Heidelberg, Germany, 2018. [Google Scholar]
  41. Murray, R.; Li, Z.; Shankar-Sastry, S. A Mathematical Introduction to Robotic Manipulation; CRC Press: Boca Raton, FL, USA, 1994. [Google Scholar]
  42. Davidson, J.; Hunt, K. Robots and Screw Theory: Applications of Kinematics and Statics to Robotics; Oxford University Press: Oxford, UK, 2004. [Google Scholar]
  43. Chasles, M. Note sur les propriétés générales du système de deux corps semblables entr’eux. Bull. Sci. Math. Astron. Phys. Chemiques 1830, 14, 321–326. [Google Scholar]
  44. Tsai, L. Robot Analysis: The Mechanics of Serial and Parallel Manipulators; John Wiley and Sons: Hoboken, NJ, USA, 1999. [Google Scholar]
  45. Sangwine, S.; Hitzer, E. Clifford Multivector Toolbox (for MATLAB). Adv. Appl. Clifford Algebr. 2017, 27, 539–558. [Google Scholar] [CrossRef] [Green Version]
  46. Zaplana, I.; Claret, J.; Basanez, L. Kinematic analysis of redundant robotic manipulators: Applications to Kuka LWR 4+ and ABB Yumi. Rev. Iberoam. Autom. Inform. Ind. 2018, 15, 192–202. [Google Scholar] [CrossRef] [Green Version]
  47. Basañez, L.; Suárez, R. Teleoperation. In Springer Handbook of Automation; Nof, S., Ed.; Springer: Berlin/Heidelberg, Germany, 2009; pp. 449–468. [Google Scholar]
Figure 1. A frame { o , x , y , z } is attached to each joint of the serial robot to describe its relative position and orientation.
Figure 1. A frame { o , x , y , z } is attached to each joint of the serial robot to describe its relative position and orientation.
Mathematics 10 02068 g001
Figure 2. Schematic representation of the wrist singularity.
Figure 2. Schematic representation of the wrist singularity.
Mathematics 10 02068 g002
Figure 3. Rotor R i relating the twist ξ i in two different configurations q 1 and q 2 .
Figure 3. Rotor R i relating the twist ξ i in two different configurations q 1 and q 2 .
Mathematics 10 02068 g003
Figure 4. Schematic representation of the Kuka LWR 4+.
Figure 4. Schematic representation of the Kuka LWR 4+.
Mathematics 10 02068 g004
Figure 5. Standard motion control scheme.
Figure 5. Standard motion control scheme.
Mathematics 10 02068 g005
Figure 6. Proposed control scheme in presence of singularities.
Figure 6. Proposed control scheme in presence of singularities.
Mathematics 10 02068 g006
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Zaplana, I.; Hadfield, H.; Lasenby, J. Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra. Mathematics 2022, 10, 2068. https://doi.org/10.3390/math10122068

AMA Style

Zaplana I, Hadfield H, Lasenby J. Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra. Mathematics. 2022; 10(12):2068. https://doi.org/10.3390/math10122068

Chicago/Turabian Style

Zaplana, Isiah, Hugo Hadfield, and Joan Lasenby. 2022. "Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra" Mathematics 10, no. 12: 2068. https://doi.org/10.3390/math10122068

APA Style

Zaplana, I., Hadfield, H., & Lasenby, J. (2022). Singularities of Serial Robots: Identification and Distance Computation Using Geometric Algebra. Mathematics, 10(12), 2068. https://doi.org/10.3390/math10122068

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop