Screw theory

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Sir Robert Ball, author of treatises on screw theory in 1876 and 1900.

Screw theory is the algebra and calculus of pairs of vectors, such as forces and moments and angular and linear velocity, that arise in the kinematics and dynamics of rigid bodies.[1][2] The mathematical framework was developed by Sir Robert Stawell Ball in 1876 for application in kinematics and statics of mechanisms (rigid body mechanics).[3]

Screw theory provides a mathematical formulation for the geometry of lines which is central to rigid body dynamics, where lines form the screw axes of spatial movement and the lines of action of forces. The pair of vectors that form the Plücker coordinates of a line define a unit screw, and general screws are obtained by multiplication by a pair of real numbers and addition of vectors.[3]

An important result of screw theory is that geometric calculations for points using vectors have parallel geometric calculations for lines obtained by replacing vectors with screws. This is termed the transfer principle.[4]

Screw theory has become an important tool in robot mechanics,[5][6] mechanical design, computational geometry and multibody dynamics. This is in part because of the relationship between screws and dual quaternions which have been used to interpolate rigid-body motions.[7] Based on screw theory, an efficient approach has also been developed for the type synthesis of parallel mechanisms (parallel manipulators or parallel robots).[8]

Fundamental theorems include Poinsot's theorem (Louis Poinsot, 1806) and Chasles' theorem (Michel Chasles, 1832). Other prominent contributors include Julius Plücker, W. K. Clifford, F. M. Dimentberg, Kenneth H. Hunt, J. R. Phillips.[9]


Basic concepts[edit]

The pitch of a pure screw relates rotation about an axis to translation along that axis.

A spatial displacement of a rigid body can be defined by a rotation about a line and a translation along the same line, called a screw displacement. This is known as Chasles' theorem. The six parameters that define a screw displacement are the four independent components of the Plücker vector that defines the screw axis, together with the rotation angle about and linear slide along this line, and form a pair of vectors called a screw. For comparison, the six parameters that define a spatial displacement can also be given by three Euler Angles that define the rotation and the three components of the translation vector.

Screw[edit]

A screw is a six-dimensional vector constructed from a pair of three-dimensional vectors, such as forces and torques and linear and angular velocity, that arise in the study of spatial rigid body movement. The components of the screw define the Plücker coordinates of a line in space and the magnitudes of the vector along the line and moment about this line.

Wrench[edit]

The force and torque vectors that arise in applying Newton's laws to a rigid body can be assembled into a screw called a wrench. A force has a point of application and a line of action, therefore it defines the Plücker coordinates of a line in space and has zero pitch. A torque, on the other hand, is a pure moment that is not bound to a line in space and is an infinite pitch screw. The ratio of these two magnitudes defines the pitch of the screw.

Twist[edit]

A twist represents the velocity of a rigid body as an angular velocity around an axis and a linear velocity along this axis. All points in the body have the same component of the velocity along the axis, however the greater the distance from the axis the greater the velocity in the plane perpendicular to this axis. Thus, the helicoidal field formed by the velocity vectors in a moving rigid body flattens out the further the points are radially from the twist axis.

The points in a body undergoing a constant screw motion trace helices in the fixed frame. If this screw motion has zero pitch then the trajectories trace circles, and the movement is a pure rotation. If the screw motion has infinite pitch then the trajectories are all straight lines in the same direction.

Algebra of screws[edit]

Let a screw be an ordered pair

 \mathsf{S}=(\mathbf{S}, \mathbf{V}),

where S and V are three-dimensional real vectors. The sum and difference of these ordered pairs are computed componentwise. Screws are often called dual vectors.

Now, introduce the ordered pair of real numbers â=(a, b) called dual scalars. Let the addition and subtraction of these numbers be componentwise, and define multiplication as

 \hat{a}\hat{c}=(a, b)(c, d) = (ac, ad+bc).  \!

The multiplication of a screw S=(S, V) by the dual scalar â=(a, b) is computed componentwise to be,

 \hat{a}\mathsf{S}  = (a, b)(\mathbf{S}, \mathbf{V}) = (a \mathbf{S}, a \mathbf{V} +b \mathbf{S}).\!

Finally, introduce the dot and cross products of screws by the formulas:

 \mathsf{S}\cdot \mathsf{T} = (\mathbf{S}, \mathbf{V})\cdot (\mathbf{T}, \mathbf{W})  = (\mathbf{S}\cdot\mathbf{T},\,\, \mathbf{S}\cdot\mathbf{W} +\mathbf{V}\cdot\mathbf{T}),

and

 \mathsf{S}\times \mathsf{T} = (\mathbf{S}, \mathbf{V})\times (\mathbf{T}, \mathbf{W}) = (\mathbf{S}\times \mathbf{T},\,\, \mathbf{S}\times \mathbf{W} +\mathbf{V}\times \mathbf{T}).

The dot and cross products of screws satisfy the identities of vector algebra, and allow computations that directly parallel computations in the algebra of vectors.

Let the dual scalar ẑ=(φ, d) define a dual angle, then the infinite series definitions of sine and cosine yield the relations

 \sin \hat{z} = \sin\phi + d \cos\phi, \,\,\,  \cos\hat{z} = \cos\phi - d \sin\phi.\!

In general, the function of a dual variable is defined to be f(ẑ)=(f(φ), df′(φ)), where f′(φ) is the derivative of f(φ).

These definitions allow the following results:

  • Unit screws are Plücker coordinates of a line and satisfy the relation
 |\mathsf{S}|=\sqrt{\mathsf{S}\cdot \mathsf{S}} =1;
  • Let ẑ=(φ, d) be the dual angle, where φ is the angle between the axes of S and T around their common normal, and d is the distance between these axes along the common normal, then
 \mathsf{S}\cdot \mathsf{T}=|\mathsf{S}||\mathsf{T}|\cos\hat{z};
  • Let N be the unit screw that defines the common normal to the axes of S and T, and ẑ=(φ, d) is the dual angle between these axes, then
 \mathsf{S}\times \mathsf{T} = |\mathsf{S}||\mathsf{T}| \sin\hat{z} \mathsf{N}.

Wrench[edit]

A common example of a screw is the wrench associated with a force acting on a rigid body. Let P be the point of application of the force F and let P be the vector locating this point in a fixed frame. The wrench W=(F, P×F) is a screw. The resultant force and moment obtained from all the forces Fi i=1,...,n, acting on a rigid body is simply the sum of the individual wrenches Wi, that is

 \mathsf{R} = \sum_{i=1}^n \mathsf{W}_i = \sum_{i=1}^n (\mathbf{F}_i, \mathbf{P}_i\times\mathbf{F}_i).

Notice that the case of two equal but opposite forces F and -F acting at points A and B respectively, yields the resultant

 \mathsf{R}=(\mathbf{F}-\mathbf{F},  \mathbf{A}\times\mathbf{F} - \mathbf{B}\times\mathbf{F}) = (0, (\mathbf{A}-\mathbf{B})\times\mathbf{F}).

This shows that screws of the form

\mathsf{M}=(0, \mathbf{M}),

can be interpreted as pure moments.

Twist[edit]

In order to define the twist of a rigid body, we must consider its movement defined by the parameterized set of spatial displacements, D(t)=([A(f)],d(f)), where [A] is a rotation matrix and d is a translation vector. This causes a point p that is fixed in moving body to trace a curve P(t) in the fixed frame given by,


\mathbf{P}(t) = [A(t)]\mathbf{p} + \mathbf{d}(t).

The velocity of P is


\mathbf{V}_P(t) = \left[\frac{dA(t)}{dt}\right]\mathbf{p} + \mathbf{v}(t),

where v is velocity of the origin of the moving frame, that is dd/dt. Now substitute p= [AT](P-d) into this equation to obtain,


\mathbf{V}_P(t) = [\Omega]\mathbf{P} + \mathbf{v} - [\Omega]\mathbf{d}\quad\mbox{or}\quad\mathbf{V}_P(t) = \mathbf{\omega}\times\mathbf{P} + \mathbf{v} + \mathbf{d}\times\mathbf{\omega},

where [Ω]=[dA/dt][AT] is the angular velocity matrix and ω is the angular velocity vector.

The screw

 \mathsf{T}=(\vec{\omega}, \mathbf{v} + \mathbf{d}\times \vec{\omega}),\!

is the twist of the moving body. The vector V=v + d×ω is the velocity of the point in the body that corresponds with the origin of the fixed frame.

There are two important special cases: (i) when d is constant, that is v=0, then the twist is a pure rotation about a line, then the twist is

\mathsf{L}=(\omega, \mathbf{d}\times\omega),

and (ii) when [Ω]=0, that is the body does not rotate but only slides in the direction v, then the twist is a pure slide given by

 \mathsf{T}=(0, \mathbf{v}).

Revolute joints[edit]

For a revolute joint, let the axis of rotation pass through the point q and be directed along the vector ω, then the twist for the joint is given by,

 \xi =  \begin{Bmatrix} \omega \\ q \times \omega \end{Bmatrix}.

Prismatic joints[edit]

For a prismatic joint, let the vector v pointing define the direction of the slide, then the twist for the joint is given by,

 \xi =  \begin{Bmatrix} 0\\v \end{Bmatrix}.

Coordinate transformation of screws[edit]

The coordinate transformations for screws are easily understood by beginning with the coordinate transformations of the Plücker vector of line, which in turn are obtained from the transformations of the coordinate of points on the line.

Let the displacement of a body be defined by D=([A], d), where [A] is the rotation matrix and d is the translation vector. Consider the line in the body defined by the two points p and q, which has the Plücker coordinates,

 \mathsf{q}=(\mathbf{q}-\mathbf{p}, \mathbf{p}\times\mathbf{q}),

then in the fixed frame we have the transformed point coordinates P=[A]p+d and Q=[A]q+d, which yield.

\mathsf{Q}=(\mathbf{Q}-\mathbf{P}, \mathbf{P}\times\mathbf{Q}) = ([A](\mathbf{q}-\mathbf{p}), [A](\mathbf{p}\times\mathbf{q}) + \mathbf{d}\times[A](\mathbf{q}-\mathbf{p}))

Thus, a spatial displacement defines a transformation for Plücker coordinates of lines given by


\begin{Bmatrix} \mathbf{Q}-\mathbf{P} \\ \mathbf{P}\times\mathbf{Q} \end{Bmatrix}
= \begin{bmatrix} A & 0 \\ DA & A \end{bmatrix}
\begin{Bmatrix} \mathbf{q}-\mathbf{p} \\ \mathbf{p}\times\mathbf{q} \end{Bmatrix}.

The matrix [D] is the skew symmetric matrix that performs the cross product operation, that is [D]y=d×y.

The 6×6 matrix constructed from obtained from the spatial displacement D=([A], d) can be assembled into the dual matrix

[\hat{A}] =([A], [DA]),

which operates on a screw s=(s.v) to obtain,

\mathsf{S} = [\hat{A}]\mathsf{s}, \quad (\mathbf{S}, \mathbf{V}) = ([A], [DA])(\mathbf{s}, \mathbf{v})  = ([A]\mathbf{s}, [A]\mathbf{v}+[DA]\mathbf{s}).

The dual matrix [Â]=([A], [DA]) has determinant 1 and is called a dual orthogonal matrix.

Twists as elements of a Lie algebra[edit]

Consider the movement of a rigid body defined by the parameterized 4x4 homogeneous transform,

 \textbf{P}(t)=[T(t)]\textbf{p} = 
\begin{Bmatrix} \textbf{P} \\ 1\end{Bmatrix}=\begin{bmatrix} A(t) & \textbf{d}(t) \\ 0 & 1\end{bmatrix}
\begin{Bmatrix} \textbf{p} \\ 1\end{Bmatrix}.

This notation does not distinguish between P = (X, Y, Z, 1), and P = (X, Y, Z), which is hopefully clear in context.

The velocity of this movement is defined by computing the velocity of the trajectories of the points in the body,

 \textbf{V}_P = [\dot{T}(t)]\textbf{p} =
\begin{Bmatrix} \textbf{V}_P \\ 0\end{Bmatrix} = \begin{bmatrix} \dot{A}(t) & \dot{\textbf{d}}(t) \\ 0 & 0 \end{bmatrix}
\begin{Bmatrix} \textbf{p} \\ 1\end{Bmatrix}.

The dot denotes the derivative with respect to time, and because p is constant its derivative is zero.

Substitute the inverse transform for p into the velocity equation to obtain the velocity of P by operating on its trajectory P(t), that is

\textbf{V}_P=[\dot{T}(t)][T(t)]^{-1}\textbf{P}(t) = [S]\textbf{P},

where

[S] =  \begin{bmatrix} \Omega & -\Omega\textbf{d} + \dot{\textbf{d}} \\ 0 & 0 \end{bmatrix} = \begin{bmatrix} \Omega & \mathbf{d}\times\omega+ \mathbf{v} \\ 0 & 0 \end{bmatrix}.

Recall that [Ω] is the angular velocity matrix. The matrix [S] is an element of the Lie algebra se(3) of the Lie group SE(3) of homogeneous transforms. The components of [S] are the components of the twist screw, and for this reason [S] is also often called a twist.

From the definition of the matrix [S], we can formulate the ordinary differential equation,

[\dot{T}(t)] = [S][T(t)],

and ask for the movement [T(t)] that has a constant twist matrix [S]. The solution is the matrix exponential

[T(t)] = e^{[S]t}.

This formulation can be generalized such that given an initial configuration g(0) in SE(n), and a twist ξ in se(n), the homogeneous transformation to a new location and orientation can be computed with the formula,

 g\left(\theta\right) = \exp(\xi\theta) g\left(0\right),

where θ represents the parameters of the transformation.

Screws by reflection[edit]

In transformation geometry, the elemental concept of transformation is the reflection (mathematics). In planar transformations a translation is obtained by reflection in parallel lines, and rotation is obtained by reflection in a pair of intersecting lines. To produce a screw transformation from similar concepts one must use planes in space: the parallel planes must be perpendicular to the screw axis, which is the line of intersection of the intersecting planes that generate the rotation of the screw. Thus four reflections in planes effect a screw transformation. The tradition of inversive geometry borrows some of the ideas of projective geometry and provides a language of transformation that does not depend on analytic geometry.

Homography[edit]

The combination of a translation with a rotation effected by a screw displacement can be illustrated with the exponential mapping. This idea in transformation geometry was advanced by Sophus Lie more than a century ago. Even earlier, William Rowan Hamilton displayed the versor form of unit quaternions as exp(a r)= cos a + r sin a. The idea is also in Euler's formula parametrizing the unit circle in the complex plane.

Since ε2 = 0 for dual numbers, exp(a ε) = 1 + a ε, all other terms of the exponential series vanishing.

Let F = {1 + εr : rH}, ε2 = 0. Note that F is stable under the rotation qp −1 q p and under the translation (1 + ε r)(1 + ε s) = 1 + ε (r + s) for any vector quaternions r and s. F is a 3-flat in the eight-dimensional space of dual quaternions. This 3-flat F represents space, and the homography constructed, restricted to F, is a screw displacement of space.

Let a be half the angle of the desired turn about axis r, and b r half the displacement on the screw axis. Then form z = exp((a + b ε) r ) and z* = exp((ab ε) r ). Now the homography is

U(q,1)\begin{pmatrix}z & 0 \\ 0 & z^* \end{pmatrix} = U(q z , z^*) \thicksim U((z^*)^{-1} q z , 1).

The inverse for z* is 1/(\exp(ar - b \epsilon r)) =

(e^{ar} e^{-br \epsilon} )^{-1} =
 e^{br \epsilon} e^{-ar},

so, the homography sends q to

(e^{b \epsilon} e^{-ar}) q (e^{ar} e^{b \epsilon r}) = e^{b \epsilon r} (e^{-ar} q  e^{ar} )e^{b \epsilon r} = e^{2b \epsilon r} (e^{-ar} q e^{ar}).

Now for any quaternion vector p, p* = −p, let q = 1 + p ε ∈ F  where the required rotation and translation are effected.

William Kingdon Clifford initiated the use of dual quaternions for kinematics, followed by Eduard Study in his Geometrie der Dynamen. However, the point of view of Sophus Lie has recurred.[10] In 1940, Julian Coolidge described the use of dual quaternions for screw displacements on page 261 of A History of Geometrical Methods. He notes the 1885 contribution of Arthur Buchheim.[11] Coolidge based his description simply on the tools Hamilton had used for real quaternions.

Evidently the group of units of the ring of dual quaternions is a Lie group. A subgroup has Lie algebra generated by the parameters a r and b s, where a, bR, and r, sH. These six parameters generate a subgroup of the units, the unit sphere. Of course it includes F and the 3-sphere of versors.

Work of forces acting on a rigid body[edit]

Consider the set of forces F1, F2 ... Fn act on the points X1, X2 ... Xn in a rigid body. The trajectories of Xi, i=1,...,n are defined by the movement of the rigid body with rotation [A(t)] and the translation d(t) of a reference point in the body, given by

 \mathbf{X}_i(t)= [A(t)]\mathbf{x}_i + \mathbf{d}(t)\quad i=1,\ldots, n,

where xi are coordinates in the moving body.

The velocity of each point Xi is

\mathbf{V}_i = \vec{\omega}\times(\mathbf{X}_i-\mathbf{d}) + \mathbf{v},

where ω is the angular velocity vector and v is the derivative of d(t).

The work by the forces over the displacement δri=viδt of each point is given by

 \delta W = \mathbf{F}_1\cdot\mathbf{V}_1\delta t+\mathbf{F}_2\cdot\mathbf{V}_2\delta t + \ldots + \mathbf{F}_n\cdot\mathbf{V}_n\delta t.

Define the velocities of each point in terms of the twist of the moving body to obtain

 \delta W =  \sum_{i=1}^n \mathbf{F}_i\cdot (\vec{\omega}\times(\mathbf{X}_i -\mathbf{d}) + \mathbf{v})\delta t.

Expand this equation and collect coefficients of ω and v to obtain

 \delta W =  (\sum_{i=1}^n \mathbf{F}_i)\cdot\mathbf{d}\times \vec{\omega}\delta t+ (\sum_{i=1}^n \mathbf{F}_i)\cdot\mathbf{v}\delta t + (\sum_{i=1}^n \mathbf{X}_i \times\mathbf{F}_i)\cdot\vec{\omega}\delta t   =  (\sum_{i=1}^n \mathbf{F}_i)\cdot(\mathbf{v}+\mathbf{d}\times \vec{\omega}) \delta t + (\sum_{i=1}^n \mathbf{X}_i \times\mathbf{F}_i)\cdot\vec{\omega}\delta t .

Introduce the twist of the moving body and the wrench acting on it given by

 \mathsf{T} = (\vec{\omega},\mathbf{d}\times \vec{\omega} +\mathbf{v})=(\mathbf{T},\mathbf{T}^\circ),\quad\mathsf{W} = (\sum_{i=1}^n \mathbf{F}_i, \sum_{i=1}^n \mathbf{X}_i \times\mathbf{F}_i)=(\mathbf{W},\mathbf{W}^\circ),

then work takes the form

\delta W = (\mathbf{W}\cdot\mathbf{T}^\circ +  \mathbf{W}^\circ \cdot\mathbf{T})\delta t.

The 6x6 matrix [Π] is used to simply the calculation of work using screws, so that

\delta W = (\mathbf{W}\cdot\mathbf{T}^\circ +  \mathbf{W}^\circ \cdot\mathbf{T})\delta t = \mathsf{W}[\Pi]\mathsf{T}\delta t,

where

 [\Pi] =\begin{bmatrix} 0 & I \\ I & 0 \end{bmatrix},

and [I] is the 3x3 identity matrix.

Reciprocal screws[edit]

If the virtual work of a wrench on a twist is zero, then the forces and torque of the wrench are constraint forces relative to the twist. The wrench and twist are said to be reciprocal, that is if

\delta W =\mathsf{W}[\Pi]\mathsf{T}\delta t = 0,

then the screws W and T are reciprocal.

Twists in robotics[edit]

In the study of robotic systems the components of the twist are often transposed to eliminate the need for the 6x6 matrix [Π] in the calculation of work.[4] In this case the twist is defined to be

\check{\mathsf{T}} =  (\mathbf{d}\times \vec{\omega} +\mathbf{v},\vec{\omega}),

so the calculation of work takes the form

\delta W =\mathsf{W}\cdot\check{\mathsf{T}}\delta t.

In this case, if

\delta W =\mathsf{W}\cdot\check{\mathsf{T}}\delta t= 0,

then the wrench W is reciprocal to the twist T.

See also[edit]

References[edit]

  1. ^ Dimentberg, F. M. (1965) The Screw Calculus and Its Applications in Mechanics, Foreign Technology Division translation FTD-HT-23-1632-67
  2. ^ Yang, A.T. (1974) "Calculus of Screws" in Basic Questions of Design Theory, William R. Spillers (ed.), Elsevier, pp. 266–281.
  3. ^ a b Ball, R. S. (1876). The theory of screws: A study in the dynamics of a rigid body. Hodges, Foster. 
  4. ^ a b McCarthy, J. Michael; Soh, Gim Song (2010). Geometric Design of Linkages. Springer. ISBN 978-1-4419-7892-9. 
  5. ^ Featherstone, Roy (1987). Robot Dynamics Algorithms. Kluwer Academic Pub. ISBN 978-0-89838-230-3. 
  6. ^ Featherstone, Roy (2008). Robot Dynamics Algorithms. Springer. ISBN 978-0-387-74315-8. 
  7. ^ Selig, J. M. (2011) "Rational Interpolation of Rigid Body Motions," Advances in the Theory of Control, Signals and Systems with Physical Modeling, Lecture Notes in Control and Information Sciences, Volume 407/2011 213–224, doi:10.1007/978-3-642-16135-3_18 Springer.
  8. ^ Kong, Xianwen; Gosselin, Clément (2007). Type Synthesis of Parallel Mechanisms. Springer. ISBN 978-3-540-71990-8. 
  9. ^ Clifford, William Kingdon (1873), "Preliminary Sketch of Biquaternions", Paper XX, Mathematical Papers, p. 381.
  10. ^ Xiangke Wang, Dapeng Han, Changbin Yu, and Zhiqiang Zheng (2012) "The geometric structure of unit dual quaternions with application in kinematic control", Journal of Mathematical Analysis and Applications 389(2):1352 to 64
  11. ^ Buchheim, Arthur (1885). "A Memoir on biquaternions". American Journal of Mathematics 7 (4): 293–326. JSTOR 2369176. 

External links[edit]