Review of the geometry of screw Axes

Nasser M. Abbasi

Dept. of Mechanical engineering, UCI. 2006 page compiled on June 29, 2015 at 9:57pm


1 Definitions, Important formulas, and terminology
 1.1 Planar displacement
 1.2 Spatial displacement
 1.3 Homogeneous Transformation
 1.4 The rotation axis
 1.5 A Pole or a Fixed point
 1.6 Rotational displacement
 1.7 Rodrigues vector b
 1.8 Screw
 1.9 Plücker coordinates of a line
 1.10 screw defined in terms of the plücker coordinates of its axis
 1.11 Important relations between Cayley Matrix B
2 Introduction to the rotation matrix in 3D
3 Screw displacement
 3.1 Derivation for expression for finding reference point for screw axis
4 The Screw Matrix
5 The spatial displacement of screws
6 The screw axis of a displacement
7 References

Report writing at UCI during work on my MSc in Mechanical Engineering. 2006

1 Definitions, Important formulas, and terminology

1.1 Planar displacement

General motion of a body in 2D that includes rotation and translation. We use [A ]  for the rotation matrix, the vector d  for the translation and the matrix [T ]  for displacement. Hence we write

X = [A ]x +  d

1.2 Spatial displacement

General motion of a body in 2D that includes rotation and translation. Another name for this is rigid displacement. Distance between points in a body remain unchanged before and after spatial displacement.

1.3 Homogeneous Transformation

Recall that the transformation that defines spatial displacement, which is given by X  = [A ]x + d  is non-linear due to the presence of the translation term d  . It is more convenient to be able to work with linear transformation, therefore we add a fourth component to the position vector which is always 1  and rewrite the transformation, now calling it as T  which maps X  to x  as

X  = T x

Or in full component form

(    )    ◜⌊--------◞◟-------⌋◝(   )
|| X1 ||      a11 a12  a13  d1  || x1||
||{    ||}    |                 | ||{   ||}
  X2      || a21 a22  a23  d2||   x2
|| X  ||  = |⌈ a   a    a    d |⌉ || x ||
||(   3||)       31   32   33   3  ||(  3||)
   1         0   0    0   1      1

Or in short form

{  }    ◜[---T◞◟--]◝{  }
 X        A    d    x
  1       000  1    1

1.4 The rotation axis

The set of points that remain fixed during the rotation defined by [A]  . We use Rodrigues vector b  to define the rotation axis.

1.5 A Pole or a Fixed point

A pole is point that remains fixed during planar or spatial displacement. Planar displacement (2D) have a pole, but 3D spatial displacement do not have a pole in general, since the requirement for a pole is to have an inverse for [I − A ]  which for 3D is not possible since A  has an eigenvalue of 1.

The following diagram is an example of a pole under planar displacement.


For spatial displacement (3D), one condition, when satisfied will result in a fixed point. This condition occurs when the translation vector d  is perpendicular to the rotation vector b  . The pole in this case is given by

    b ×  (d −  b × d)
c = ----------------
          2b ⋅ b

Not only is this point c  fixed, by any point on the line c + tS  is also fixed. Where t  is a parameter and S  is a unit vector. Hence we can a fixed line under such a spatial displacement, and this line is called the rotation axis.

1.6 Rotational displacement

This is a special case of spatial displacement when the translation vector d  is perpendicular to the rotation axis b.  To make the difference more clear, the following diagram is an illustration of spatial displacement which is not rotational displacement, and one which is.


1.7 Rodrigues vector b

Defines the rotation axis under [A ]  . Using S  as the unit vector along b  , then b =  kS  where k  is the length of vector b  given by     ( )
tan  𝜃
     2 where 𝜃  is the rotation angle around the rotation axis. Hence we can write

        (  )
b = tan   2- S

We see that the

          ( 𝜃)
∥b∥ = tan   --

Hence at           0
𝜃 = ±180   ,            (  π)
∥b ∥ = tan  ± 2 which goes to infinity. A plot of the function tan (α )  is below showing the discontinuities at ± π2


1.8 Screw

Screw is defined as a pair of vectors         T
(W,  V )  such that W  ⋅ V ⁄= 0  and |W  | ⁄= 1  . The pitch of the screw pω  is defined as WW-⋅V⋅W--

1.9 Plücker coordinates of a line

Given a line defined by a parametric equation L(k ) = C + kS  , where C  is a reference point and S  is a unit vector along the line, the Plücker coordinates of this line is given by {       }

  C × S C ×  S  represents the moment of the line around the origin of the reference frame. The following diagram helps to illustrates this.


1.10 screw defined in terms of the plücker coordinates of its axis

We said above that a screw is defined as a pair of vectors         T
(W,  V )  . Given the plücker coordinates of the screw line              T
(W, C  × W  )  , then we can write the pair of vectors that defines the screw associated with this screw line as follows

{               }

  ωC  × S+ ωp ωS

Where pω  is the screw pitch and ω = |W  |

1.11 Important relations between Cayley Matrix B

These are some important formulas put here for quick reference.

(x  +  x )T [B ](x + x ) = 0
  1    2        1    2

See (4A) below for derivation of the above where

      ⌊                ⌋

      |  0   − bz   by |
[B ] = |⌈ bz    0   − bx|⌉

        − by  bx    0

and also

[B ] = tan 𝜃[S ]


      ⌊                ⌋
         0   − sz   sy
[S] = || s      0   − s ||
      ⌈   z           x⌉
        − sy  sx    0

From [B ]  we obtain a row vector and call it

b = (bz,by,bz)

(This is rodrigues vector) From [S ]  we obtain a row vector and call it

s = (sx,sy,sz)

(This is unit vector along the screw axis). We also have

[B] = tan 𝜃-[S ]

And in terms of the vectors b, s   the above becomes

b = tan 𝜃-s

2 Introduction to the rotation matrix in 3D

We seek to derive an expression for the rotation matrix in 3D. Consider a point x1   in 3D being acted upon by a rotation matrix A  . Let the final coordinates of this point be x2   . We consider the position vectors of these points, so we will designate these points by their position vectors x1   and x2   from now on. The following diagram illustrate this.


Hence we have that

x2 = Ax1

Since |x1 | = |x2| we can write


The geometric meaning of the above last equation is shown in the following diagram


To introduce the rotation matrix A  into the equations, we can write x1 − x2   as x1 − Ax1


x1 − x2 =  [I − A ]x1

Similarly, we obtain

x1 + x2 =  [I + A ]x1

From (3) we obtain

[A + I ]− 1(x +  x ) = x
            1    2     1

Substitute the above expression for x1   into (2) we obtain

x1 − x2 =  [A −  I][A  + I]−1(x1 + x2)

We now call the matrix               −1
[A  − I][A + I]   as B

|B =  [A −  I][A  + I]−1|

We can also write from above the following

A =  [I − B ]  [I + B ]

Now rewrite (3A) as

x1 − x2 = [B ](x1 +  x2)

What is the geometric meaning of [B]  ? we see that it is an operator that acts on vector x1 + x2   to produce the vector x1 − x2   , however from the diagram above we see that the vector x1 − x2   is perpendicular to x1 + x2   and scaled down.


-(x1-+--x2)-[B-](x1 +-x2) =-0-

This implied that B  is skew-symmetric and have the form given by

     ⌊               ⌋
        0   − bz  by
B =  || b     0   − b ||
     ⌈  z           x⌉
      − by   bx    0

Matrix B  can be written as a column vector called b  = [bx,by,bz]T  such that for any vector y  we have

|[B ]y = b ×  y |

The vector b  is called Rodrigues vector.

Let the vector x1 + x2 = y  then we write

[B ]y = b ×  y

Where b  is some vector perpendicular to y  such that its cross product with y  results in [B ]y

The vector b  is the vector that defines the rotation axis. The length of this vector is k  and a unit vector along b  is called S  , Hence we can write

b = kS

Now we solve for B.

We will use equation (3B) to find the form of B  for different rotations.

Consider for example the 3D rotation around the x  axis given by

     ⌊| 1   0       0  ⌋|
A  = | 0  cos𝜃  − sin𝜃|
     ⌈                ⌉
       0  sin 𝜃   cos𝜃

From (3B) we obtain


For example for       0
𝜃 = 45   the B  matrix is

     ⌊                        ⌋
       0      0          0
B  = || 0      0     − 0.414214||
     ⌈                        ⌉
       0  0.414214       0

Hence we see that bz = 0  , by = 0  , bx = − 0.41421  hence

    ⌊        ⌋
    | 0.41421|
b = |    0   |
    ⌈        ⌉

Hence geometrically, Rodrigues vector is along the x  axis and in the positive direction as illustrated in the following diagram.


The size of the b  vector depends on the angle or rotation 𝜃  . The Rodrigues vector will be largest when 𝜃  is almost 1800   and smallest when 𝜃  is zero.

3 Screw displacement

We now derive an expression for the invariant under spatial displacement, which is the screw axis.

Consider the following general spatial displacement


We start be decomposing the translation vector d  into 2 components: One parallel (d2)  and one perpendicular (d∗)  to the rotation axis of [A]  as follows (notice that d ∗ is perpendicular to the x − axis  which is where the rotation occurs around)


Recall from earlier that the vector S  is a unit vector along the rotation axis of [A ]  in the direction of b  . We found earlier that         (  )
b =  tan  𝜃 S
          2  . Hence we can write that d2 =  − kS  where k =  tan (𝜃)

Let us redraw the above diagram putting all of these symbols to make the discussion more clear.


Now since

d =  d −  kS

Then the spatial displacement operator T  can be written as follows


Hence the spatial displacement is


Hence we see that the spatial displacement can be viewed as rotational displacement followed by pure translation. Recall from above that rotational displacement is a special type of spatial displacement where the translation part is perpendicular to the rotation axis. We can represent the above equation geometrically as follows


3.1 Derivation for expression for finding reference point for screw axis

Rotational displacement have a fixed point given by

           ∗         ∗
C =  b-×-(d--−-b-×-d--)
           2b ⋅ b

The derivation of the above equation is as follows.

Since we seek a fixed point C  , then we write


Using Cayley's formula, derived above in equation (3C), reproduced below

A =  [I − B ]−1[I + B ]

and substitute for A  in (4), we obtain

            −1             ∗
C  = [I − B]  [I + B ]C  + d

Multiply both sides by [I − B ]


But by definition

[B]C  = b ×  C

Hence (4B) becomes


Take the cross product of both sides w.r.t. b  we obtain

    (                 )
b ×   1-(b × d ∗ − d ∗) = b × (b ×  C)

To simplify the above, use the relation

A  × (B ×  C ) = B (A ⋅ C ) − C (A ⋅ B )

Apply the above relation on the RHS of (4C), hence (4C) can be rewritten as

    (                )
      1-       ∗    ∗
b ×   2 (b × d  − d  )  = b × (b ⋅ C ) − C (b ⋅ b)

But the vector C  is perpendicular to b  hence b ⋅ C = 0  and the above simplifies to

|     b × (d∗ − b × d ∗)|
|C =  ------------------|
------------2b-⋅ b-------

Now we continue to derive an expression for the screw axis.

We now consider a line L  that passed through this point C  and is parallel to the rotation axis of  [A ]  (in other words, along the same direction as the vector S  ). Any point along this line remain fixed relative to the rotational displacement          ∗
X =  [A, d ]x  part of the spatial displacement.

In addition, since the translation part of the spatial displacement, and given by X  = [I,kS ]x,  is a translation in the same direction and slides along the vector kS  as k  changes, then this line will also remain fixed relative to the translation part as well.

Hence we conclude that the line L  will remain fixed relative to the overall spatial displacement T  .

This line is called the screw axis. And this type of decomposing the spatial displacement into rotational displacement followed by pure translation is called the screw displacement.

How to geometrically find the screw axis? Let us find the point C  first. Let take an example similar to the above diagrams, where say 𝜃 = 300,  d ∗ = 0i + j + k  , S = i  , hence




On the above diagram we now can draw the screw axis using the above coordinates for the point C


It is important to note that it is the line given by L = C +  kS  (the screw axis) which is fixed under the spatial displacement, and not any one single point on this line.

4 The Screw Matrix

We now derive a new expression for spatial displacement using the screw axis line, which we denote as S  , the angle of rotation 𝜃  and the amount of slide k  along the screw axis.

The screw matrix is a new mathematical operator that we can use to denote spatial displacement between 2 different reference frames. Earlier we showed that we can use the homogeneous transformation operator T (A, d) = [A, d]  to denote spatial displacement, and now we seek to obtain a new expression for a spatial displacement operator which is a function of the following 3 parameters

The screw axis line which we call S  with the plucker coordinates (s,C × s)
The angle or rotation 𝜃
The amount of slide k

This is in addition to the mathematical object we examined earlier which is


d =  d∗ + kS

Since C  is a fixed point under the translation by d ∗ hence we write



d  =  [I − A ]C

Substitute the above into (5) we obtain

d = [I − A ]C  + kS

But the spatial displacement T  is defined as

[T ] = [A, d]

Hence using (5A) the above becomes

[T ] = [A,[I − A ]C + kS ]

Using the notation of 𝜃  for angle of rotation and the slide k  and S  to denote the screw axis, we can write (5B) as

[T (𝜃,k,S )] = [A (𝜃,S) ,[I − A (𝜃,S )]C + kS]

So now (5C) is an expression for the spatial operator T  in terms of S,k  and 𝜃

Recall that

A (𝜃,S) = [I] + sin 𝜃[S] + (1 − cos 𝜃)[S2 ]


      ⌊                ⌋
         0   − sx   sy
      ||                ||
[S] = ⌈ sz     0   − sx⌉
       − sy   sx    0

We call [T (𝜃, k,S)]  the screw Matrix.

The following diagram helps to illustrate this.


5 The spatial displacement of screws

So far we have discussed spatial displacements applied to points. We showed two Matrices can be used to accomplish this. The homogeneous transformation matrix T (A, d) = [A, d]  and the screw matrix T (𝜃,k,S ) =  [A  (𝜃, S),[I − A (𝜃,S)]C + kS ]  where                                        2
A (𝜃,S ) = [I] + sin 𝜃[S ] + (1 − cos𝜃)[S ].

We now show a matrix [Tˆ]  which is used for the spatial displacement of a line and not just a point. This is based on using the plücker coordinates of a line to represent the line. Geometrically this is illustrated in the following diagram


Since [  ]
 T operates on the Plücker coordinates of a line, then we write


To processed further, we now assume a point q  on the line x  such that x =  q −  p  as illustrated below


Hence we can now write, in the new coordinates

{        }    {             }
     X     =       Q − P
  P  × X       P  × (Q −  P)





Since [A ]  is a rotation matrix, then

([A ]p × d )+ (d × [A ]q ) = [D ][A](q − p )

Where [D ]  is a skew-symmetric matrix defined such that [D ]y  = d × y

Hence (6D) can be written as


By substitution of (6E) and (6C) into RHS of (6B) we obtain

{        }   {              }    {                            }
    X             Q  − P                      [A ]x
           =                   =
  P ×  X       P  × (Q − P )       [A ](p × q ) + [D ][A ](q − p)

But q − p =  x

Hence the above becomes

{       }    {                       }
    X      =            [A ]x
  P × X        [A](p × q ) + [D ][A]x

Now substitute q =  p + x  in the above we obtain



|     [        ] |
[ˆT ] =   A   0   |
|       DA   A   |

The we can write

{        }       {      }
     X               x
           =  [Tˆ]
  P  × X           p × x

We now analyze the spatial displacement of the screw axis under [ˆT]

Recall that a screw axis Plücker coordinates are written as

{       }    {               }
    W                ωS
 p ×  W        ωp ×  S+ ωpωS

Where S  is the unit vector in along the axis, p  is the fixed reference point on the axis and p
 ω  is the screw pitch and ω =  ∥W  ∥ where W  is the Rodrigues vector. To make things more clear, we illustrate these quantities in the following diagram


We now perform spatial displacement on the screw axis using its Plücker coordinates

{               }
  ωP  × S+ ωp ωS

Rewrite the above as general plücker coordinates {    }

  V then the spatial displacement of this general line is as seen above in (6B) becomes

{                }
       [A ]w

  [D ][A ]w + [A ]v

We need seek to evaluate the above coordinates for the screw axis given in (6C)

In other words, given v =  ωp × s+ ωp ωs  and W  = ωS  we need to find [A ]v, [A ]w  and [D ][A ]w

The first plücker coordinate ωS  transforms easily as


But ωs  is just the Rodrigues vector in the new coordinates system which we call lower case w  hence

ωS = [A ]w

Now we need to transform the second plücker coordinate ωp ×  s+ωp ωs

With the help of the [D ]  matrix which can be used to rewrite the cross product of 2 vectors as [D ]  times one the 2 vectors, we can write

[D ]S = d ×  S

But S = [A ]s  hence the above becomes

[D ][A ]s = d × S

And since ω  is a scalar, we can write the above as


Now we need to compute [A ]v  which is [A ](ωp × s+ ωp  s)



{    }   {                 }
  W             [A ]w
  V        [D ][A ]w  + [A]v

6 The screw axis of a displacement

Here we show that the screw axis is invariant of the 6 × 6  transformation matrix [ˆT]  derived in the last section.

Gives the screw axis line S  defined by its plucker coordinates [  ]

 V we need to show the following

S = [T ]S

(1) can be written as


Now, if we can find solution to the above others than S  = 0  then we have showed that (1) is valid. Equation (1) can be written as

[I − ˆT] [ S] =  0


      [        ]
 ˆ       A   0
[T ] =  DA   A

Hence we obtain


Hence we obtain 2 equations

   (I − [A ])S = 0

   − [D ][A ]S+  [I − A ]V =  0

From the first equation we obtain [A ]S = S  substitute into the second equation


Introduce [D ]S = − [S]d  hence the above becomes

[I − A ]V  = − [S]d

And from the cayley's formula for A

A =  [I − B ]  [I + B ]

Then (3) becomes




But we know that           ( )
[B ] = tan 𝜃2  [S ]  where 𝜃  is the rotation angle, and      ⌊                ⌋
        0    − s   s
     |          z   y |
[S ] = |⌈ sz    0   − sx|⌉

       − sy   sx    0 hence (4) becomes



V  = ----1(--)[I − B]d
     2 tan  𝜃

Hence we showed that a non zero solution for (2) exist given by      [  ]
S =
      V where V  is given in (5). This shows that (1) is valid which is what we wanted to show.

Hence the screw axis S  is invariant of the 6 × 6  transformation matrix [ˆT ]  .

7 References

Geometric Design Of Linkages. By Professor J.Michael McCarthy. Springer publication.
Introduction to Theoretical Kinematics. By Professor J.Michael McCarthy
Class notes, MAE245. Theoretical Kinematics spring 2004. UCI. Professor J.Michael McCarthy