aration in primal and dual parts. This should prove useful for the solution of many kinematic problems. The algorithms/- formulas herein deduced have been also ...
The Moore-Penrose Dual Generalized Inverse Matrix with Application to Kinematic Synthesis of Spatial Linkages E. Pennestr`ı and P.P. Valentini Department of Enterprise Engineering University of Rome Tor Vergata, via del Politecnico, 1 00133 Roma - Italy D. de Falco Department of Industrial and Information Engineering University of Campania via Roma, 29 81031 Aversa, Italy
Abstract The paper initially reports about the properties of an expression of dual generalized inverse matrix currently available in literature. It is demonstrated that such a matrix does not fulfill all the Penrose conditions. Hence, novel and computationally efficient algorithms/formulas for the computation of the Moore-Penrose dual generalized inverse (MPDGI) are herein proposed. The paper also contains a new algorithm for the SVD of a dual matrix. The availability of these formulas allows the simultaneous solution of overdetermined systems of dual linear equations without requiring the traditional separation in primal and dual parts. This should prove useful for the solution of many kinematic problems. The algorithms/formulas herein deduced have been also tested on the kinematic synthesis of the constant transmission ratio RCCC spatial linkage. Keywords: Dual algebra, generalized inverses, kinematics of spatial linkages
Nomenclature Am×n Matrix with m rows and n columns A† Moore-Penrose generalized inverse of a real matrix b† A Generalized inverse or pseudoinverse of a dual matrix b = A + εAo Dual matrix where A and Ao are the primal A and dual parts, respectively G Moore-Penrose inverse matrix of A I Identity matrix Ip Identity matrix of order p, with p = m, n ε dual unit such that ε2 = 0 0p square matrix of zeros and order p = m, n
number of rows and columns of matrix A, respectively MPDGI Moore Penrose generalized inverse of a dual matrix DSVD Singular Value Decomposition of a dual matrix SVD Singular Value Decomposition ⊗ Kronecker product b· the hat denotes a dual matrix or a dual number Bold capital letters denote matrices Bold lower-case letters denote vectors m, n
1
Introduction A dual number has the form ab = a + εao
(1)
where a and ao are real numbers and ε is the dual unit subjected to the rules ε 6= 0 ,
0ε = ε0 = 0 ,
1ε = ε1 = ε ,
ε2 = 0
(2)
A matrix with dual number elements is called a dual mab its MPDGI trix. Given a dual matrix A, b = G + εGo G
(3)
is a unique matrix that satisfies the following conditions (herein denoted as dual Penrose conditions by analogy with the real case) [1, 2]:
(1) (2) (3) (4)
bG bA b =A b A bA bG b =G b G bG b is symmetric, and A bA b is symmetric G
b satisfying all the dual Penrose conditions is A matrix G b {1,2,3,4} . Similarly, a matrix MPDGI, also denoted by A which satisfies, for instance, only the first and the fourth b {1,4} . equations will be denoted as A b Given a dual matrix A of rank m and dimensions m × n, there exists a dual matrix of dimensions n × m, called the left b †A b = In . Simigeneralized inverse dual matrix, such that A b larly, given a dual matrix A of rank n and dimensions m × n, there exists a dual matrix of dimensions n × m, called the bA b † = Im . right generalized inverse dual matrix, such that A There are many investigations where the kinematic analysis and synthesis problems are adressed through the solution of overdetermined systems of linear dual equations (e.g. [3–8] ). Recently, Angeles [9] discussed the usefulness of dual generalized inverses in kinematic analyses based on dual numbers. Since the MPDGI provides least-squares minimum-norm solution b x of the dual matrix system of equab x = b, b the availability of an efficient method to comtions Ab pute MPDGI could be of interest for the researchers in the field. de Falco et al. [8] discussed the mathematical conditions of existence for different types of dual generalized matrices. In the same reference, it was shown how dual generalized inverses can solve various classic kinematics problems [10–14] in a unified manner. In this paper, we will focus on the computational aspects for obtaining a MPDGI. In b m×n with m ≥ n, two novel apparticular, for a dual matrix A proaches for the computation of a MPDGI are proposed. The first one is based on a new algorithm for the SVD of a dual matrix. As an alternative to the first approach, a new formula for the computation of a MPDGI has been herein deduced. To propose examples of applications of the MPDGI in the field of mechanism design, the paper offers also a novel compact formulation of the function-generation problem. The kinematic synthesis of an RCCC linkage for constant transmission ratio within a given range of driving link rotation has been herein discussed. It is shown how the computational tools herein discussed solve efficiently the design equations directly in dual form. The paper is organized as follows: - Section 2, discussion about the properties of dual generalized inverse matrices currently available in literature; - Section 3, review of Kronecker operator properties; - Section 4, discussion of a new algorithm to obtain the DSVD of a dual matrix; - Section 5, discussion of new algorithm to obtain the MPDGI based on the dual singular value decomposition (DSVD); - Section 6, discussion of a new compact formula for the computation of a MPDGI; - Section 7, numerical examples concerning computation and application of the MPDGI matrix to kinematic synthesis of linkages.
2
Dual generalized inverses b = A + εAo , Pennestr`ı et al. Given a dual matrix A [15,16] proposed the following formula for computing a dual generalized inverse b † = A† − εA† Ao A† A
(4)
where A† is the real Moore-Penrose generalized inverse1 . The demonstration of formula (4) was omitted in the cited references. For completeness, the demonstration b † = B + εBo , the steps are herein outlined. Assuming A b †A b = In requires left generalized dual matrix condition A o o BA = I and B A + BA = 0. Hence, B = A† and Bo = † −A† Ao A† AA† = −A† Ao A† and equation (4) is justified. One can verify that ( b† = A
b {1,2,4} , for m > n A b {1,2,3} , for m < n A
(5)
In fact, if m ≥ n then A† A = In and, from the third Penrose equation, one obtains bA b † = AA† + ε AA† − I Ao A† A
(6)
whose dual part is not necessarily symmetric. Similarly, if m < n then AA† = Im and from the fourth Penrose equation one obtains b †A b = A† A + εA† Ao I − A† A A
(7)
whose dual part is not necessarily symmetric. In conclusion, b † , as defined by (4), cannot be considered a MPDGI. For A this reason, when the dual part is considered, the definition b † in [15] of Moore-Penrose pseudoinverse matrix given to A is not fully appropriate. On the basis of the previous evidence, to obtain the MPDGI a different approach is required. In [16] was outlined an algorithm of a dual generalized inverse based on the standard operations that lead to the matrix singular value decomposition (SVD) in the real case. However, the algorithm did not take advantage of the numerically efficient library procedures for the SVD of a real matrix. In the following section it will be proposed a new algorithm to obtain a MPDGI for a matrix with m ≥ n and matrices A and Ao with the same full rank.
3
The Kronecker product and the vec operator This section summarizes some of algebra relationships useful for the solution of matrix equations discussed in this paper.
1 In many computing environments, for a real matrix, the generalized inverse Moore-Penrose matrix A† is obtained with the command pinv(A).
bU bT = U bT U b = Im ; - U bT V b = In ; - V b is a diagonal matrix. - Σ
Given the matrices
a11 a12 a21 a22 Am×n = . .. .. . am1 am2
... ... .. .
a1n a2n .. .
(8)
. . . amn
b and V b follow by analogy from The stated conditions on U those valid for U and V, respectively. bT U b = Im follows: Imposing U
and B p×q , their Kronecker product is an mp × nq matrix defined as
(9)
The vec operator corresponds to the vectorization of a matrix which is a linear tranformation that stacks the columns of a matrix into a vector. Assuming
a a A = 11 12 a21 a22
Uo UT + UUoT = 0m ,
(17)
The conditions (16) and (17) are equivalent. In fact, premultiplying (16) and (17) by UT and U, respectively, the same result is deduced, namely
,
(16)
bU b T = Im follows Similarly, imposing U
a11 B · · · a1n B A ⊗ B = ... . . . ... am1 B · · · amn B
UoT U + UT Uo = 0m ,
Uo = −UUoT U .
(10)
(18)
After vectorization of (16) one obtains
then T vec (A) = a11 a21 a12 a22 .
(11)
An important relationship between the Kronecker product and the vectorization is the following T
vec (ABC) = C ⊗ A vec (B) .
Im ⊗ UT vec (Uo ) + UT ⊗ Im vec UoT = vec (0) . (19) bT V b = I follows From the condition V VoT V + VT Vo = 0 ,
(20)
(12) or, after vectorization,
As a particular case of (12) we have T
vec (AB) = B ⊗ Im vec (A) = (I p ⊗ A) vec (B) ,
In ⊗ VT vec (Vo ) + VT ⊗ In vec VoT = vec (0) . (21) (13)
It should be acknowledged that one can transform vec (A) into vec AT through an appropriate exchange scheme of elements positions. The new order of vector elements is expressed with the array of integers jcount that can be generated by means of the script reported in Appendix 1. (see procedure vectorize-transpose )
4
The dual SVD b is full rank m × n matrix, with m ≥ n, by Assuming A b can be expressed analogy with the real case, the DSVD of A in the form [16] bV b = A + εAo = U bT bΣ A
(14)
Σ VT , where A = UΣ b = U + εUo , U
b = Σ + εΣ Σ Σo ,
b = V + εVo . V
These matrices satisfy the following conditions:
(15)
Substituted (15) into (14) and separated the primal and the dual parts follow Σ VT , A = UΣ o
o
T
(22) o
T
Σ V + UΣ ΣV A = U Σ V + UΣ
oT
.
(23)
In equation (22) matrices U, Σ and V can be computed by means of SVD algorithms and (23) can be rewritten in the form Σo In − AVo In Ao V = Im Uo Σ + UΣ
(24)
The unknown matrices Uo , Σ o and Vo are obtained considering the previously listed conditions. Taken into account the equalities vec (Im Uo Σ ) = Σ T ⊗ Im vec (Uo ) Σo In ) = (In ⊗ U) vec (Σ Σo ) vec (UΣ vec (AVo In ) = (In ⊗ A) vec (Vo )
(25a) (25b) (25c)
the vectorization of the terms in equation (24) can be expressed in the form
where b † = Σ † − εΣ Σ† Σ o Σ † Σ
T
Σo ) − (In ⊗ A) vec (Vo ) Σ ⊗ Im vec (Uo ) + (In ⊗ U) vec (Σ = vec (Ao V)
(26)
Equations (19) and (21) can be expressed in a more concise way. In fact, one can write UT ⊗ Im vec UoT = K1 vec (Uo ) , VT ⊗ In vec VoT = K2 vec (Vo ) ,
(27a) (27b)
where matrices K1 and K2 are obtained in two steps. First the products UT ⊗ Im and VT ⊗ In , respectively, are evaluated. Then the column order of the resulting products is arranged according to the elements of the array jcount, generated with the procedure outlined in the Appendix 1. Taking into account positions (27), equations (19) and (21) are respectively expressed in the form Im ⊗ UT + K1 vec (Uo ) = vec (0) , In ⊗ VT + K2 vec (Vo ) = vec (0) .
b complies with all the dual Penrose conditions. Matrix G Testing the consistency of (32) with Penrose equations no. 1 and 2 is straightforward and will not be reported here for conciseness. The following algebraic developments, considb and Σ b † are diagonal matrices, allow to establish ering that Σ the compliance of (32) with dual Penrose condition no. 3 for any matrix size 3
T T T bV b†U bΣ b†U bG b = U bΣ bT V bΣ bT bΣ bT A = U † T bΣ b bV b†U bG b b Σ bT = U bΣ bT V bΣ bT = A =U U
(28) T † T T † T b U bV bV b bA b = V bΣ bT U bΣ bT bT bΣ G = Σ V
(29)
bT Σ b †T V b†Σ bV b†U bV bA b bT V bΣ bT = V bΣ bT U bΣ bT = G bΣ =V (35) (30)
where Id is computed by means of the procedure outlined in Appendix 2. Therefore, the following redundant but consistent system of equations is obtained assembling (26), (28), (29) and (30): In ⊗ U −In ⊗ A Σ T ⊗ Im o vec (Uo ) Im ⊗ UT + K1 0 0 vec (Σ Σ ) 0 0 I n ⊗ VT + K 2 vec (Vo ) 0 Id 0 vec (Ao V) 0 (31) = 0 0
The case of m ≥ n appears in many kinematic problems for the least squares minimum norm solution b x of the linear b m×nb bm (e.g. [17–26] ). overdetermined system A xn = b 6
A compact formula for the computation of a MPDGI b = A + εAo , where A and Ao have For a dual matrix A the same rank, if we let G = A{1234} = A† ,
A = AGA o
(37a)
o
o
o
o
o
A = A GA + AG A + AGA G = GAG o
G = G AG + GA G + GAG AG = (AG)
The Moore-Penrose dual generalized inverse b m×n , with m ≥ n, The MPDGI of full rank dual matrix A can be computed as follows2 :
o
o
T
GA = (GA) o
o
(37d) (37e)
o T
o
A G + AG = (A G + AG ) o
(37b) (37c)
o
T
5
(36)
the dual Penrose conditions are, respectively, equivalent to the following real matrix equations:
In conclusion, the proposed algorithm consists in finding U, Σ , V by means of (22) and Uo , Σ o , Vo by solving the linear system (31).
b†U b =V bΣ bT G
(34)
Assuming m ≥ n, one can expand the dual Penrose condition no.4 as follows
Finally, one must require that matrix Σ o be diagonal or Σo ) = vec (0) , Id vec (Σ
(33)
(37f) (37g)
o
T
GA + G A = (GA + G A)
(37h)
(32)
2 Equation (32) is well known for real matrices without any restriction on
matrix dimensions. We are extending now the result to dual matrices under suitable conditions.
b is diagonal, we observe that Σ bΣ b † is always symmetric. ConΣ † b b versely, Σ Σ = I holds for m ≥ n only. 3 Since
There is a striking symmetry between (37f) and (37h). By switching the factors in one equation the other is obtained. Assuming a full rank matrix Am×n , m ≥ n, GA = In (first dual Penrose condition), from (37d) follows GAo + Go A = 0 ,
(38)
also consistent with (37h). Similarly, from (37b) follows (38). Moreover, for GA = In and m ≥ n, combining (37b) and (37f), follows4 : G o = AT A
† oT A (I − AG) − AT Ao G
(39)
In conclusion, under the hypotheses previously stated, the b= following formula gives the MPDGI of the dual matrix A o A + εA : b = G + ε AT A G
† oT A (I − AG) − AT Ao G
(40)
7 Numerical examples 7.1 Computation of MPDGI Task: Compute the MPDGI of the following matrix. 1 + 0ε 2 + ε b = 3 + 4ε 4 + 5ε A 3 + ε 3 + 6ε
Fig. 1: The RCCC linkage: nomenclature Applying formula (32), or (40), one obtains: −0.773 − 3.913ε −0.227 + 0.822ε 0.818 + 0.512ε b G= 0.682 + 2.669ε 0.318 − 0.942ε −0.545 − 0.190ε The computed matrix satisfies all the dual Penrose condib =A b {1234} . tions, thus can be considered a MPDGI, i.e. G b Conversely, the generalized inverse of A computed with formula (4) gives: b † = −0.773 − 0.216ε −0.227 − 0.9752ε 0.818 + 1.711ε A 0.682 + 1.244ε 0.318 + 0.483ε −0.545 − 1.140ε
The algorithm for the DSVD herein proposed gives the following matrices5 : −0.317 + 0.241ε 0.700 + 1.614ε 0.639 − 1.647ε b U = −0.725 − 0.081ε 0.256 − 1.439ε −0.639 − 0.484ε −0.612 − 0.029ε −0.666 + 1.143ε 0.426 + 1.744ε
6.895 + ε8.129 0 b= 0 0.680 − 1.544ε Σ 0 0
b = −0.627 + 0.218ε −0.778 − 0.175ε V −0.778 − 0.175ε 0.627 − 0.218ε
4 The
algebra details are herein reported: Ao = Ao GA + AGo A + AGAo (Ao G + AGo ) A = (I − AG) Ao A (Ao G + AGo )T = AoT (I − AG)T T
AT (Ao G + AGo ) = AoT (I − AG) AT AGo = AoT (I − AG) − AT Ao G 5 The
numbers are reported with three digits only.
This matrix does not satisfy all dual Penrose conditions and is not a MPDGI. 7.2
Kinematic synthesis of the function generator RCCC linkage When this linkage is chosen for function generation, the links 1 and 4 are considered the driving and driven links, respectively. With reference to Figure 1, let us denote by b θi = θi + εsi b i = αi + εai α
(41) (42)
the dual Denavit-Hartenberg parameters describing the displacements and geometry of the ith joint and link, respec(k) tively. The values of driving angles θ1 and dual angles (k) (k) (k) b θ4 = θ4 + εs4 (k = 1, 2, 3) are prescribed at each kth deb 4 = α4 + εa4 of the frame link sign position. The dual angle α is also prescribed. The input and frame links form a revolute joint. Hence, there is no relative sliding between these links and the prescribed input angle θ1 is a real variable. For the purpose of kinematic synthesis, the dual inputoutput displacement equation of this linkage [27] at the kth design position can be rewritten in a form apt for kinematic synthesis purposes: (k) (k) abcos b θ4 + b b cos θ1 + cb = db(k)
(k = 1, 2, . . . , N)
(43)
zi
αi
Table 1: Numerical data: Driving link angular positions (θ1 ) and dual angle of the driven link b θ4 = θ4 + εs4 .
zi+1 Link i
θi
Link i-1
yi+1 xi
-si
xi+1
ai
Fig. 2: Dual Denavit-Hartenberg parameters
(k)
(k)
k
θ1
θ4
s4 (unit length)
1
20◦
132◦
-1.500
2
40◦
112◦
-1.650
3
60◦
92◦
-2.000
4
80◦
72◦
-1.650
5
100◦
52◦
-1.500
where b4 sin α b1 tan α b4 sin α b b=− b3 tan α b4 b2 cos α cos α cb = − b 1 tan α b 3 sin α b 1 sin α b3 tan α (k) (k) (k) (k) b b b 4 cos θ cos θ − sin θ(k) sin b d = cos α θ ab = −
1
4
1
4
mined equations is obtained: (44a)
(44c)
b4 sin α , ab b4 sin α b 3 = tan−1 − α , b b b 2 = cos−1 (cos α b 1 cos α b 3 cos α b 4 − cbsin α b 1 sin α b3 ) α
(45a) (45b) (45c)
(46)
with
(44d)
One can observe that (43) can be interpreted as the dual equivalent of the well known Freudenstein equation for the synthesis of planar function generator four-bar linkage. A similar equation has been deduced by Bai and Angeles [28]. When N = 5 finitely separated design positions are pre(k) (k) θ4 (k = scribed, i.e. the numerical values of θ1 and b 1, . . . , 5) are assigned, from (43) follows a overdetermined linear system of five dual equations in the dual unknowns ab, b b and cb. The system can be solved making use of the MPDGI herein discussed. After the solution of (43) is obtained, the dual lengths of the links are computed by means of the following formulas:
b 1 = tan−1 − α
bx = b b Ab
(44b)
−0.669 + ε1.115 −0.375 + ε1.530 b = −0.035 + ε1.999 A 0.309 + ε1.569 0.616 + ε1.182
0.940 0.766 0.500 0.174 −0.174
iT h b x = ab b b cb
1 1 1 1 1
(47)
−0.254 − ε0.155 −0.596 − ε0.311 b = −0.865 − ε0.055 b −0.937 + ε0.486 −0.776 + ε0.941
The minimum norm solution of (46) is ab = −3.177 + ε15.646 b b = −3.174 + ε16.797 cb = 0.617 − ε2.048
The prescribed motion requirements of the function generator RCCC are summarized in Table 1. The problem is somewhat similar to the one discussed by Angeles [9]. However, the present treatment requires a reduced number of equations. With reference to the numerical example discussed, the plot of reciprocating displacement s4 of the output link .vs. input angle θ1 is almost symmetric. Kinematic synthesis of a 4C linkage has been also discussed by Garcia-Rios et al [29]. Assuming α4 = 90◦ and a4 = 0.2, specializing equation (43) for each prescribed design position, the following system of redundant overdeter-
Finally, from equations (45) the unknown dual angles can be computed: b 1 = 0.305 + ε1.410 α b 2 = 1.626 + ε0.606 α b 3 = 0.305 + ε1.517 α For the synthesized RCCC linkage, the plots of θ4 and s4 versus θ1 are shown in Figures 3 and 4, respectively.
mission ratio RCCC linkage was presented. The algorithm is alternative to the one already known in literature, but requires less equations.
140 130 120
Theta4 (deg)
110
Appendix 1: Computer code
100 90 80 70 60 50 20
30
40
50
60
70
80
90
100
Theta1 (deg)
Fig. 3: θ4 .vs. θ1
f u n c t i o n [ j c o u n t ] = v e c t o r i z e t r a n s p o s e (m, n ) % Given t h e v e c t o r i z a t i o n o r d e r o f a m x n m a t r i x % obtain the v e c t o r i z a t i o n order of i t s t r a n s p o s e jcount =[]; f o r i = 1 :m f o r k =1: n j = ( k −1)∗m+ i ; j c o u n t =[ j c o u n t ; j ] ; end end end % o f f u n c t i o n Appendix 2: Generation of matrix Id It is required to find the indices of zero elements in an array obtained after the vectorization of a diagonal matrix D and compute a matrix Id such that
-1.45 -1.5
Id vec (D) = vec (0) .
-1.55
(48)
s4 (units)
-1.6
Let us consider a diagonal matrix of the form
-1.65 -1.7
a11 0 D = 0 a22 0 0
-1.75 -1.8
(49)
-1.85 -1.9 20
30
40
50
60
70
80
90
100
Theta1 (deg)
Fig. 4: s4 .vs. θ1
The maximum deviation from the prescribed angular position (structural error) is 0.4◦ and the plot of driven link displacement along the cylindrical pair axis versus θ1 is almost symmetric.
8
Conclusions The main contribution of this paper is the computation of the Moore-Penrose generalized inverse of a dual matrix b = A + εAo with full rank matrix and m ≥ n. Two differA ent methods are proposed. The first one based on the dual SVD. The second one utilizes a novel formula herein proposed. Analytical proofs regarding the fullfilment of the Penrose dual conditions have been also provided. The theoretical findings have been also illustrated by means of numerical tests. The methods herein discussed appear useful for the solution of many kinematic analysis and synthesis problems that require the solution of linear systems of dual equations. With the analytical tools herein deduced the separate solution of primal and dual equation parts is not required. To test the feasibility of the formulas proposed, the kinematic synthesis of a function generator constant trans-
with m = 3 rows and n = 2 columns. After vectorization we obtain T vec (D) = a11 0 0 0 a22 0
(50)
Within the previous array vec (D), the rows with zero value entries are: 2, 3, 4 and 6. Therefore, the unknown matrix is
0 0 Id = 0 0
2
3
4
1 0 0 0
0 1 0 0
0 0 1 0
6
0 0 0 0
0 0 0 1
(51)
References [1] Udwadia, F., and Kalaba, R., 1999. “A unified approach for the recursive determination of generalized inverses”. Computers and Mathematics with Applications, 37, pp. 125–130. [2] Ben-Israel, A., and Greville, T., 2001. Generalized Inverses: Theory and Applications. Springer Verlag. [3] Angeles, J., 1997. “The application of dual algebra to kinematic analysis”. In Computational Methods in Mechanical Systems, J. Angeles and E. Zakhariev, eds., Vol. 161 of NATO ASI Series, Springer, pp. 3–32.
[4] Fischer, I. S., 2003. “Velocity analysis of mechanisms with ball joints”. Mechanics Research Communications, 30, pp. 69–78. [5] Condurache, D., and Burlacu, A., 2014. “Dual tensors based solutions for rigid body motion parameterization”. Mechanism and Machine Theory, 74, pp. 390– 412. [6] Condurache, D., and Burlacu, A., 2016. “Orthogonal dual tensor method for solving the AX=XB sensor calibration problem”. Mechanism and Machine Theory, 104, pp. 382–404. [7] Pennestr`ı, E., Valentini, P. P., Figliolini, G., and Angeles, J., 2016. “Dual Cayley - Klein parameters and M¨obius transform: Theory and applications”. Mechanism and Machine Theory, 106, pp. 50–67. [8] de Falco, D., Pennestr`ı, E., and Udwadia, F., 2017. “On generalized inverses of dual matrices”. Mechanism and Machine Theory, 123, pp. 89–106. [9] Angeles, J., 2012. “The dual generalized inverses and their applications in kinematic synthesis”. In Latest Advances in Robot Kinematics, J. Lenarˇciˇc and M. Husty, eds., no. 11 in Advances in Robot Kinematics. Springer Verlag, pp. 1–11. [10] Angeles, J., 1986. “Computation of the screw parameters of rigid-body motion. part ii: Infinitesimallyseparated positions”. ASME Journal of Dynamic Systems, Measurement, and Control, 108, pp. 39–43. [11] Ravani, B., and Ge, Q. J., 1993. “Computation of spatial displacements form geometric features”. ASME Journal of Mechanical Design, 115, pp. 95–102. [12] Ge, Q. J., and Ravani, B., 1994. “Computation of spatial displacements from redundant geometric features,”. ASME Journal of Mechanical Design, 116, pp. 1073– 1084. [13] Baroon, B., and Ravani, B., 2010. “Three-dimensional generalizations of Reuleaux’s and instant center methods based on line geometry”. ASME Journal of Mechanisms and Robotics, 2, p. 8. [14] Condurache, D., and Burlacu, A., 2014. “Recovering dual Euler parameters from feature-based representation of motion”. In Advances in Robot Kinematics, J. Lenar˘ci˘c and O. Khatib, eds. Springer International Publishing, pp. 295–305. [15] Pennestr`ı, E., and Stefanelli, R., 2007. “Linear algebra and numerical algorithms using dual numbers”. Multibody System Dynamics, 18(3), pp. 323–344. [16] Pennestr`ı, E., and Valentini, P. P., 2009. “Linear dual algebra algorithms and their application to kinematics”. In Multibody Dynamics, C. Bottasso, ed., Vol. 12 of Computational Methods in Applied Sciences. Springer Netherlands, pp. 207–229. [17] Fischer, I. S., and Freudenstein, F., 1984. “Internal force and moment transmission in a cardan joint with manufacturing tolerances”. ASME Journal of Mechanisms, Transmissions and Automation in Design, 106, December, pp. 301–311. [18] Cheng, H. H., 1994. “Programming with dual numbers and its applications in mechanisms design”. Engineer-
ing with Computers, 10(4), pp. 212–229. [19] Brodsky, V., and Shoham, M., 1998. “Derivation of dual forces in robot manipulators”. Mechanism and Machine Theory, 33, pp. 1241–1248. [20] Fischer, I. S., and Chu, T., 2001. “Numerical analysis of displacements in multiloop mechanisms”. Mechanics Research Communications, 28(2), pp. 127–137. [21] Fischer, I. S., 2003. “Velocity analysis of mechanisms with ball joints”. Mechanics Research Communications, 30, pp. 69–78. [22] Perez-Gracia, A., and McCarthy, J., 2006. “Kinematic synthesis of spatial serial chains using Clifford algebra exponentials”. Proc. IMechE Part C: J. Mechanical Engineering Science, 220, pp. 953–968. [23] Perez-Gracia, A., 2011. “Synthesis of spatial RPRP closed linkages for a given screw system”. ASME Journal of Mechanisms and Robotics, 3, pp. 021009–1– 021009–8. [24] Fischer, I. S., 2013. “Accelerations in the plane joint with application to the tracta coupling”. Proc IMechE Part K:Journal of Multi-Body Dynamics, 227, pp. 292– 301. [25] Bai, S., and Angeles, J., 2015. “Synthesis of RCCC linkages to visit four given poses”. ASME Journal of Mechanisms and Robotics, 7. [26] Figliolini, G., Rea, P., and Angeles, J., 2015. “The Synthesis of the Axodes of RCCC Linkages”. ASME Journal of Mechanisms and Robotics, 8(2), pp. 021011– 021011–9. [27] Denavit, J., 1958. “Analysis of mechanisms based on matrices of dual numbers”. VDI Berichte, 29, pp. 81– 89. [28] Bai, S., and Angeles, J., 2008. “A unified input-output analysis of four-bar linkages”. Mechanism and Machine Theory, 43, pp. 240–251. [29] Garcia-Rios, I., Palacios-Montufar, C., Flores-Campos, J. A., and Osorio-Saucedo, R., 2009. “Synthesis of 4C mechanism for generation of a dual mathematic function”. Applied Mechanics and Materials, 15, pp. 67–72.