<<

IMA Conference on Mathematics of 9 – 11 September 2015, St Anne’s College, University of Oxford

1

Newton–Euler equations in general coordinates

By Bertold Bongardt and Frank Kirchner Robotics Innovation Center, DFKI GmbH, Bremen, Germany

Abstract

For the computation of , the –Euler equations represent a crucial relation unifying the laws of by Newton and Euler using the language of instantaneous screws. Typically, Newton–Euler equations are stated in spatial or in body coordinates, respectively. In this paper, a general formulation of Newton–Euler equations is provided for arbitrary reference systems. In particular, the general form unifies the known equations in spatial and body coordinates. To the best of the authors’ knowledge, this relation between the spatial and the body form has not been reported in literature. The novel formulation is based on the concept of differentiation with respect to moving reference systems.

1. Introduction Newton’s law of motion states that the f which acts upon a translating , a zero-dimensional body, is proportional to the time of the particle’s linear h = m · v with m and v, all measured in an inertial sys- tem. In Euler’s formulation (Oliveira, 2007), this is expressed in the differential equation d d d f = dt (h) = dt (M · v) = M · dt (v) = M · a . (1.1) d Here, a = dt (v) denote the the vector and the mass M = m · I with identity matrix I = I 3 is introduced for sake of formal consistency with Euler’s second law of motion, below. Euler’s second law of motion states that the τ which acts upon a rotating body is proportional to the time derivative of the body’s

λ = M3 · ω with matrix M3 and pseudovector ω denoting the body’s , all measured in an inertial system. This is expressed in the differential equation d d d d τ = dt (λ) = dt (M3 · ω) = dt (M3) · ω + M3 · dt (ω) . (1.2) d d The is denoted by α = dt (ω). The derivative dt (M3) is given within the appendix. While the mass in Newton’s law is assumed to be a ‘universal’ quantity (Ardema, 2005), the inertia of the moving body changes with respect to the inertial system, so that the chain rule is applied in the differentiation of Euler’s law. In this paper, the Newton–Euler equations – that subsume Equations 1.1 and 1.2 by means of twists and wrenches – are formulated with respect to an arbitrary reference system. The remainder of the paper is structured as follows: necessary quantities and their notation are introduced in the next section. In Section 3, the generalized formulation of the Newton–Euler equations is given and interrelations to corresponding formulations in spatial and in body coordinates are discussed. In Section 4, a conclusion is drawn. Technical computations of time are compiled in Appendix A. IMA Conference on Mathematics of Robotics 9 – 11 September 2015, St Anne’s College, University of Oxford

Newton–Euler equations in general coordinates 2 2. Prerequisites 2.1. Poses and displacements

4×4 EP p A pose matrix P ∈ R has the form P = 0 1 with attitude EP ∈ SO(3) and 3 (t) p ∈ R . A is a sorted set of poses P with t > 0. A 4×4 R t matrix D ∈ R has the shape D = 0 1 with R ∈ SO(3) and translation 3 −1 t ∈ R . The matrix D = DPQ = P · Q describes the passive displacement between two Ad 6×6 poses P ∈ SE(3) and Q ∈ SE(3). The adjoint representation D = Ad(D) ∈ R of Ad  R 0  D has the shape D = t × RR .

2.2. Screws, twists, and wrenches 6 ν  Geometric screws. A screw ξ ∈ R is denoted in Pl¨ucker coordinates as ξ = µ sub- suming the direction ν and the µ. The matrix representation† of a screw ξ is ⊗ 0 −ν +ν ⊗ 4×4 ⊗ ν µ  3 2  ⊗ +ν 0 −ν denoted by ξ ∈ R and has the shape ξ = 0 0 with ν = 3 1 . The −ν2 +ν1 0 ad 6×6 adjoint representation of a screw ξ is denoted by ξ = ad(ξ) ∈ R and has the shape  ⊗  ad ν 0 ν  ~ 3 3 ξ = µ⊗ ν⊗ . For a screw ξ = µ , the screw vector field ξ : R → R is evaluated ~  at any point P with coordinates p to the moment µP = ξ p given as ξ~ : p 7→ µ + ν × p . The vector field ξ~ is characterized by the constitutive equation (Minguzzi, 2013) ξ~p − ξ~q = ν × (p − q) , (2.1) for arbitrary points P and Q with coordinates p and q. The interchange 4 ∈ 6×6 0 I R is defined as 4 = I 0 according to Hunt, 2003, and McCarthy and Soh, 2010. Physical Screws. Twists and wrenches are geometric screws which are equipped with physical interpretations (and units) as screws from the force and and from the velocity domain, respectively. Both are denoted in ray-coordinates in accordance with (Phillips, 2007), (Tsai, 1999), (Mason, 2001), (Davidson et al., 2004), and (McCarthy and Soh, f  2010). A wrench is denoted by W = τ , subsuming force f and torque τ , and a twist ω  is denoted by V = v , subsuming angular and linear velocity, ω and v. ~ ω  For the vector field V of a twist V = v , Equation 2.1 is casted into the ‘velocity- ~  ~  difference equation’‡ (Uicker et al., 2003), given, with vP =V p and vQ =V q , as

vP − vQ = ω × (p − q) . (2.2)

f  Analogously, the constitutive equation of a wrench W = τ , is the ‘torque-difference ~ ~  ~  equation’ of the vector field W , given, with τP = W p and τQ = W q , as

τP − τQ = f × (p − q) . (2.3)

2.3. Attributing quantities For the remainder of the document, a notation is introduced to specify the reference system P and, if necessary, the evaluation point X of a quantity. The reference system

of a quantity • is denoted as [•]P according to Sathaye, 2011. In , the evaluation † The matrix representation is also called a ‘Ball vector’, see Uicker et al., 2013. ‡ The velocity-difference equation is also named the ‘fundamental formula of the rigid body’ in Minguzzi, 2013. IMA Conference on Mathematics of Robotics 9 – 11 September 2015, St Anne’s College, University of Oxford

PREREQUISITES 3 point X of a quantity • is optionally† denoted as [•]X . Together, a quantity • is specified X by an evaluation point X and a reference system P as [•]P . Reference systems. For arbitrary reference systems, P ∈ SE(3) and Q ∈ SE(3), the x  4 homogenized coordinates 1 ∈ R of a point X are characterized with the ‘fundamental identity’ by Sathaye, 2011 as x  =  x  = I ·  x  = P ·  x  = Q ·  x  . (2.4) 1 1 O 1 O 1 P 1 Q Similarly, the identity is stated for the representing matrices of a pose X ∈ SE(3) as X = X = I · X = P · X = Q · X . (2.5) O O P Q From the previous identities, the transformation rules for a coordinate change are de- −1 duced; for a pose matrix X, for example, as [X]P = P · Q · [X]Q = DPQ · [X]Q, and x  analogously, for the homogenized coordinates 1 of a point. Evaluation points. The evaluation of the screw vector fields ξ~, V~ , and W~ , which are specified by the difference Equations 2.1, 2.2, and 2.3, read with the introduced notation P ~  P ~  P ~  as [µ]O = µP = ξ p ,[v]O = vP = V p , and [τ ]O = τ P = W p . The fundamental identities for a screw, corresponding to Equations 2.4 and 2.5, are ⊗ ν  given for its matrix representation ξ , its Pl¨ucker vector ξ = µ , and its adjoint repre- sentation ξad as ξ⊗ = ξ⊗O = I · ξ⊗O · I −1 = P · ξ⊗P · P −1 = Q · ξ⊗Q · Q−1 , (2.6) O O P Q ξ = ξO = I Ad · ξO = P Ad · ξP = QAd · ξQ , (2.7) O O P Q ξad = ξadO = P Ad · ξadP · (P −1)Ad = QAd · ξadQ · (Q−1)Ad . (2.8) O P Q From these identities, transformation rules for a change of reference system and eval- uation point can be deduced. As an example, the matrix twist ξ⊗P with respect to P the reference P , is obtained from the matrix twist ξ⊗Q with respect to the reference Q ⊗ P ⊗ Q −1 PQ Q as [ξ ]P = DPQ · [ξ ]Q · DPQ. With the convention [D]PQ = DPQ, the notation of the transformation rule can be refined for two specific cases. For coinciding evaluation R 0 QQ points, the matrix D = ( 0 1 ) is denoted as [D]PQ = D, so that the transformation ⊗ Q QQ ⊗ Q QQ −1 reads [ξ ]P = [D]PQ · [ξ ]Q · ([D]PQ ) . Similarly, for coinciding attitudes, the displace- I t PQ ment matrix D = ( 0 1 ) is denoted as [D]QQ = D, so that the transformation reads ⊗ P PQ ⊗ Q PQ −1 [ξ ]Q = [D]QQ · [ξ ]Q · ([D]QQ) . at Motion laws. By means of the notation [•]ref, Newton’s law of motion from Equation 1.1, P d P is rephrased as [f]O = M · [ dt (v)]O where P denotes the position of the particle. Euler’s C d C C d law of motion from Equation 1.2 is rephrased as [τ ]O = [ dt M3]O ·ω +[M3]O · dt (ω) where C denotes the and O is chosen coincident to C. Thus, the notation proves helpful to emphasize the feasibility constraints that underlie these two motion laws.

2.4. Mass and inertia The coordinates of the center of mass C of a body B, specified by mass m and mass 1 R function ρ, are computed as c = m · V ρ(v) · v dV . The rotative inertia matrix C 3×3 [M3]C ∈ R is computed as Z  C  ⊗ 2 M3 = ρC v · −(v ) dV . C V † If the evaluation point coincides with the origin of the reference system, it can be omitted. IMA Conference on Mathematics of Robotics 9 – 11 September 2015, St Anne’s College, University of Oxford

Newton–Euler equations in general coordinates 4

Figure 1. Sketch of a moving body B, together with a moving reference system P and the (t) (t) inertial system O. For simplification, the orientations EP and EE are assumed to be constant over time t. The absolute , vOB of body B and vOP of observer P , are indicate by red

and green arrows. The vPB is computed as the difference vPB = −vOP + vOB and is indicated by blue arrows.

X For an arbitrary evaluation point X, the rotative inertia matrix [M3]C is determined by the –Steiner theorem, also known as the parallel axis theorem (Selig, 2005). With respect to an arbitrary reference system E ∈ SO(3), the rotative inertia matrix X X X −1 [M3]E is computed as [M3]E = REC · [M3]C · REC . 6×6 3×3 The affine inertia matrix M6 ∈ R subsumes the rotative inertia M3 ∈ R and C the translative mass M = m·I. At the center of mass C, the affine matrix [M6]C has the C [M ]C 0  shape M  = 3 C . With respect to an arbitrary reference system P ∈ SE(3), 6 C 0 M P the spatial inertia matrix [M6]P is computed via the skew axis theorem (Selig, 2005)

 P Ad −T  C Ad −1 M = (D ) · M6 · (D ) , (2.9) 6 P PC C PC a generalized version of the Huygens–Steiner theorem. As in Section 2.3, refined state- ments can be made in case of coinciding evaluation points or reference attitudes. In case I t R 0 that D only changes the evaluation point, D = ( 0 1 ), or the reference system D = ( 0 1 ), PC PP the formulation can be refined by denoting D as D = [D]CC , or as D = [D]PC , respec- Ad −T tively. By means of the screw swap operator 4 the first factor (DPC ) in Equation 2.9 Ad −T Ad is alternately expressed as (DPC ) = 4 · (DPC ) · 4. The fundamental identity for the affine inertia matrices reads

 O Ad −T  P Ad −1 Ad −T  Q Ad −1 M6 = M6 = (P ) · M6 · (P ) = (Q ) · M6 · (Q ) . (2.10) O P Q As above, the identities can be adopted for pure (with coinciding evaluation points) and for pure translations (with coinciding reference attitudes).

2.5. Time derivatives with respect to a mobile reference The concept of time derivatives with respect to mobile reference systems is, for exam- ple, introduced by Featherstone, 2008. The time derivative of a moving point X with x  x (t) homogeneous coordinates 1 = 1 is determined with respect to a moving reference system P with matrix P = P (t) as  d x  = P −1 ·  d x  = P −1 · d  x   = P −1 · d P ·  x   dt 1 P dt 1 O dt 1 O dt 1 P = P −1 · d (P ) ·  x  + P · d  x   (2.11) dt 1 P dt 1 P = d  x  + V ⊗ ·  x  . dt 1 P P P 1 P

d x   d x  ⊗ x  In a physical interpretation, the three terms dt [ 1 ]P ,[ dt 1 ]P , and [V P · 1 ]P describe the relative velocity of X with respect to P , the absolute velocity of X with respect to O, and the absolute velocity of P with respect to O and evaluated at X; IMA Conference on Mathematics of Robotics 9 – 11 September 2015, St Anne’s College, University of Oxford

A GENERAL FORMULATION 5 all expressed in coordinates with respect to the reference system P . By introducing X ∼ d x  X X ∼ d x  X X ∼ ⊗ x  [vPX ]P = dt [ 1 ]P ,[vOX ]P = [vX ]P = [ dt 1 ]P , and [vOP ]P = [vP ]P = [V P · 1 ]P , Equation 2.11 is rephrased as  X  X  X  X  X  X vOX = vPX + vOP and vPX = vOX − vOP , (2.12) P P P P P P resembling the forms ‘absolute velocity = relative velocity + observer velocity’ and ‘relative velocity = absolute velocity − observer velocity’. In Figure 1, a sketch for an example setup is provided (where the point x of the body B is named b). Similar to Equation 2.4, a differential, fundamental identity can be stated as d x  =  d x  = I ·  d x  = P ·  d x  = Q ·  d x  . (2.13) dt 1 dt 1 O dt 1 O dt 1 P dt 1 Q d d d A term [ dt (•)]P describes the same ‘global’ derivative as dt (•) = dt [(•)]O , in coordinates d with respect to reference system P . In contrast, dt [•]P describes a ‘local’ derivative. The corresponding derivatives of poses, screws, and are provided in Appendix A.2.

3. A general formulation 3.1. Newton–Euler equations in general coordinates The Newton–Euler equations in general coordinates state that the wrench W which acts upon a moving body at a point X fixed in the lamina of the non-inertial reference

system P is proportional to the time derivative of the body’s momentum 4·M6 ·V , both expressed with respect to the reference P . This is expressed by the differential equation

X X h i h d  i W = dt 4 · M6 · V . (3.1) P P The equation is stated in more detail as

X X X X h i d h i h adi h i W = dt 4 · M6 · V + V P · 4 · M6 · V , (3.2) P P P P by applying the transformations

X X h d  i −1 Ad d h i −1 Ad d  Ad  X  4 · M6 · V = (P ) · 4 · M6 · V = (P ) · P · 4 · M6 · V dt dt dt P P O

−1 Ad  d Ad  X Ad d  X  = (P ) · P · 4 · M6 · V + P · 4 · M6 · V dt P dt P

d  X −1 Ad ad Ad  X = 4 · M6 · V + (P ) · (V · P ) · 4 · M6 · V dt P P P d  X  adX  X = 4 · M6 · V + V · 4 · M6 · V , dt P P P P d Ad ad Ad using Equation 2.7, the chain rule, expansion, sorting, the identity dt P = V · P from Equation A 2, and Equation 2.8. 3.2. Evaluation Spatial coordinates. With respect to the static reference frame O, the second summand  X d  X of Equation 3.2 vanishes, so that Equation 3.2 simplifies to W = 4 · M6 · V . P dt P Applying the chain rule, the equation is further evaluated to h iX h iX h ωiX h iX h ωiX W = 4 · M · d + d 4 · M · 6 dt v dt 6 v O O O O O (3.3) h iX h αiX   ωadT h iX h ωiX = 4 · M6 · + − · 4 · M6 · . O a O v O v O Here, the time derivative of the spatial inertia matrix, d M X = (− ω ad)T · M X + dt 6 O v 6 O M X · − ω ad from Equation A 3 in the appendix is used together with the identity 6 O v IMA Conference on Mathematics of Robotics 9 – 11 September 2015, St Anne’s College, University of Oxford

Newton–Euler equations in general coordinates 6 ω ad ω  v · v = 0. For the case that the evaluation point X coincides with the center of mass C, Equation 3.3 covers

h iC h iC  C  h iC  C C C  τ [M3]O 0 α [ω]O × [M3]O · [ω]O 0 4 · W = = 0 M · + 0 [ω]C × M · [v]C . O f O a O O O The equations are stated in this form, for example, by Featherstone, 2008. Body coordinates. With respect to a reference system B moving together with the body, the first summand d 4 · M · V X of Equation 3.2 is simplified by using the time dt 6 P d  ω X  X d  ω X  X invariance of the body inertia, 4 · M6 · = 4 · M6 · = 4 · M6 · dt v B B dt v B B  α X . Thus, Equation 3.2 simplifies to a B

X X X ad T X X X h i h i h αi h  ωB   i h i h ωi W = 4 · M6 · + − · 4 · M6 · . (3.4) B B a B vB B B v B For the case that the evaluation point X coincides with the center of mass C, Equation 3.4 covers h iC h iC  C  h iC  C C C  τ [M3]B 0 α [ω]B × [M3]B · [ω]B 0 4 · W = = 0 M · + 0 [ω]C × M · [v]C . B f B a B B B The Newton–Euler equations are stated in this form, for example, by Murray et al., 1994, and by Fossen, 2011. General coordinates. For the case of an arbitrarily moving reference frame P , the general Newton–Euler equations of Equation 3.2 read in components

X X ad X X h f i d h  ωi h ωP  i h  ωi = dt 4 · M6 · + · 4 · M6 · . (3.5) τ P v P vP P v P

X X The twist [V ]P in last factor [4 · M6 · V ]P is determined according to the identity in X Equation 2.7, the inertia matrix [M6]P according to the identity Equation 2.10. The first summand d [4 · M · V ]X is expanded to 4 · ( d [M ]X · [V ]X + [M ]X · d V X ). The dt 6 P dt 6 P P 6 P dt P d X d X twist derivative dt [V ]P is determined via Equation A 4, the inertia derivative dt [M6]P is determined via Equation A 5. f  X d Similar to the physical interpretation of Equation 2.12, the terms [ τ ]P , dt [4 · M6 · ad ω  X ωP  ω  X v ]P , and [ vP · 4 · M6 · v ]P in Equation 3.5 can be characterized by the form ‘absolute wrench = relative wrench + observer wrench’. In the language of screws, the sum resembles the difference between real and apparent which are distinguished for non-inertial reference systems.

4. Conclusions This paper provides a general formulation of the Newton–Euler equations obtained by differentiation with respect to non-inertial reference systems and by using a suitable notation scheme. The general equations unify the known formulations in spatial and in body coordinates and clarify their interrelation. The derived connection can simplify communicating of rigid bodies. Additionally, the novel formulation of the Newton–Euler equations might prove applicable to questions arising in computational rigid body mechanics with regard to moving reference frames. In robotics, for example, mobile reference systems are of interest when the interaction of a robot’s end-effector link with the robot’s environment is required to be described from the point of view of another moving link of the mechanical device.

Acknowledgments. The presented in this paper was funded by the Federal Ministry of Education and Research (BMBF) within the project Recupera (Grant 01-IM-14006A). IMA Conference on Mathematics of Robotics 9 – 11 September 2015, St Anne’s College, University of Oxford

APPENDIX 7 Appendix A. Time derivatives A.1. Spatial time derivatives Attitudes and poses. The time derivatives with respect to the inertial reference system O related to an attitude matrix E = E(t) ∈ SO(3) are d E = d E−T  = ω⊗ · E = (−ω⊗)T · E−T dt dt (A 1) d T  d −1 T ⊗ T −1 ⊗ dt E = dt E = E · (ω ) = E · (−ω ) . The time derivatives relative to the inertial reference system O related to the adjoint representation P Ad = Ad(P ) of a pose matrix P = P (t) ∈ SE(3) are d P Ad = V ad · P Ad d (P Ad)−1 = (P Ad)−1 · (−V ad) dt dt (A 2) d Ad T  Ad T ad T d Ad −T  ad T Ad −T dt (P ) = (P ) · (V ) dt (P ) = (−V ) · (P ) .

Ad −1 d Ad Ad −1 ad Ad Ad −1 ad The first equation is extended to (P ) · dt P = (P ) ·V ·P = (P ) ·V , T d T ⊗ T ⊗ a formula which generalizes the ‘rotational’ identity E · dt (E) = E ·ω ·E = (E ·ω) .

Twists. The time derivative of a twist V with respect to the inertial reference system O α  d ω  d is denoted by A = a = dt v = dt (V ).

Inertia matrices. The time derivative of spatial inertia matrix M6 with respect to the inertial reference system O is

d d  O  d O ad T  O  O ad (M6) = M6 = M6 = −(V ) · M6 − M6 · V . (A 3) dt dt O dt O O O The equation is obtained by the transformations (using Equation 2.10, the chain rule, and identities from Equation A 2)

d d  O  d O d Ad −T  B Ad −1 (M ) = M = M = (D ) · M6 · (D ) dt 6 dt 6 O dt 6 O dt OB B OB d Ad −T   B Ad −1 Ad −T  B d Ad −1 = (D ) · M6 · (D ) + 0 + (D ) · M6 · (D ) dt OB B OB OB B dt OB ad T Ad −T  B Ad −1 Ad −T  B Ad −1 ad = (−V ) · (D ) · M6 · (D ) + (D ) · M6 · (D ) · (−V ) OB OB B OB OB B OB OB = −(V ad )T · M B − M B · V ad . OB 6 B 6 B OB A.2. General time derivatives Poses. The time derivative of a pose matrix X = X (t) with respect to a mobile reference system P with matrices P = P (t) is obtained in analogy to Equation 2.11 as  d X = P −1 ·  d X = P −1 · d X  = P −1 · d P · X  dt P dt O dt O dt P = P −1 · d (P ) · X + P · d X  dt P dt P = d X + V ⊗ · X . dt P P P P In the first line, the ‘fundamental identity’ Equation 2.5 is applied twice. In addition, the invariance of the inertial system is used. Next, the chain rule is applied. In the third line, the expression is expanded, simplified by using P −1 · d (P ) = V ⊗ , and sorted. dt P P The computation principle remains in the following derivations. Screws. The time derivative of a screw matrix ξ⊗ = (ξ⊗)(t) with respect to a mobile reference system P with matrices P = P (t) is computed as  d ξ⊗ = P −1 ·  d ξ⊗ · P = P −1 · d ξ⊗  · P = P −1 · d P · ξ⊗ · P −1 · P dt P dt O dt O dt P = d ξ⊗P + P −1 · d (P ) · ξ⊗ + ξ⊗ · d (P −1) · P dt P dt P P dt   = d ξ⊗P + V ⊗ · ξ⊗P − ξ⊗P · V ⊗ . dt P P P P P P P IMA Conference on Mathematics of Robotics 9 – 11 September 2015, St Anne’s College, University of Oxford

Newton–Euler equations in general coordinates 8 The fundamental identity of Equation 2.6 is applied in the first line. For the simplification, the identity d (P −1) · P = (−P −1 · d (P ) · P −1) · P = −P −1 · d (P ) = −V ⊗ is used. dt dt dt P P In Pl¨ucker coordinates, the corresponding expression reads  d ξP = d ξP + V ad · ξP . (A 4) dt P dt P P P P

(t) Inertia matrices. The time derivative of an inertia matrix M6 = M6 with respect to a mobile reference system P with matrices P = P (t) is

 d P d  P  ad T  P  P  ad M6 = M6 − ( V ) · M6 − M6 · V (A 5) dt P dt P P P P P P P The equation is obtained with the identity Equation 2.10 as  d M P = (P Ad)T · d M O  · P Ad = (P Ad)T · d (P Ad)−T · M P · (P Ad)−1 · P Ad dt 6 P dt 6 O dt 6 P d  P Ad T d Ad −T   P  P d Ad −1 Ad = M6 + (P ) · (P ) · M6 + M6 · (P ) · P dt P dt P P dt d  P  ad T  P  P  ad = M6 − ( V ) · M6 − M6 · V . dt P P P P P P P In the last transformation, the simplifications, with ⊕ inverse to ⊗, so that ξ⊗⊕ = ξ, d (P Ad)−1 · P Ad = (P Ad)−1 · (−V ad) · P Ad = −(P )−1 · (V ⊗) · P ⊕ad = −V ad dt P P P P (P Ad)T · d (P Ad)−T =(P Ad)T (−V ad)T (P Ad)−T =−(P Ad)−1 ·V ad ·P AdT =−(V ad )T dt P P P P are used. They are derived by means of the identities given in Equation A 2.

REFERENCES Ardema, M. (2005). Newton-Euler Dynamics. Springer. Davidson, J. K., Hunt, K. H., and Pennock, G. R. (2004). Robots and Screw : Applications of and to Robotics. Oxford University Press. Featherstone, R. (2008). Algorithms. Springer. Fossen, T. I. (2011). Handbook of Marine Craft Hydrodynamics and Motion Control. John Wiley & Sons. Hunt, K. H. (2003). Don’t Cross-Thread the Screw! Journal of Robotic Systems, 20(7). Mason, M. T. (2001). Mechanics of Robotic Manipulation. MIT Press. McCarthy, J. M. and Soh, G. S. (2010). Geometric Design of Linkages. Springer. Minguzzi, E. (2013). A geometrical introduction to . European Journal of Physics, 34(613). Murray, R. M., Li, Z., and Sastry, S. S. (1994). A Mathematical Introduction to Robotic Manip- ulation. CRC Press. Oliveira, A. R. E. (2007). Euler’s Contribution to . In 12th IFToMM World Congress. Phillips, J. (2007). Freedom in Machinery: Volume 1 (1984) and Volume 2 (1990). Cambridge University Press. Sathaye, A. (2011). Notes on Similarity. Lecture Notes, MA322. Selig, J. M. (2005). Geometric Fundamentals of Robotics. Springer. Tsai, L.-W. (1999). Robot Analysis: The Mechanics of Serial and Parallel Manipulators. John Wiley & Sons. Uicker, J. J., Pennock, G. R., and Shigley, J. E. (2003). Theory of and Mechanisms. Oxford University Press. Uicker, J. J., Ravani, B., and Sheth, P. N. (2013). Matrix Methods in the Design Analysis of Mechanisms and Multibody Systems. Cambridge University Press.