Screw theory

From Wikipedia, the free encyclopedia

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

Screw theory was developed by Sir Robert Stawell Ball in 1900, for application in kinematics and statics of mechanisms (rigid body mechanics). It is a way to express velocities and forces in three dimensional space, combining both rotational and translational parts. Recently screw theory has regained importance and has become an important tool in robot mechanics, mechanical design, computational geometry and multi-body dynamics.

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 Hunt, J. R. Phillips.



Contents

[edit] Screw

In the sense of rigid body motion, a screw is a way of describing a displacement. It can be thought of as a rotation about an axis and a translation along that same axis. Any general displacement can be described by a screw, and there are methods of converting between screws and other representations of displacements, such as homogeneous transformations.

In rigid body dynamics, velocities of a rigid body and the forces and torques acting upon it can be represented by the concept of a screw. The first kind of screw is is called a twist, and represents the volicity of a body by the direction of its linear velocity, its angular velocity about the axis of translation, and the relationship between the two, called the pitch. The second kind of screw is called a wrench, and it relates the force and torque acting on a body in a similar way.

Apart from the internal force that keeps the body together this motion does not require a force to be maintained, provided that the direction is a principal axis of the body.

In general, a three dimensional motion can be defined using a screw with a given direction and pitch. Four parameters are required to fully define a screw motion, the 3 components of a direction vector and the angle rotated about that line. In contrast, the traditional method of characterizing 3-D motion using Euler Angles requires 12 parameters, a 3x3 rotation matrix and a 3x1 translation vector.

A pure screw is simply a geometric concept which describes a helix. A screw with zero pitch looks like a circle. A screw with infinite pitch looks like a straight line, but is not well defined.

Any motion along a screw can be decomposed into a rotation about an axis followed by a translation along that axis. Any general displacement of a rigid body can therefore be described by a screw.

[edit] Twist

Twists represent velocity of a body. For example, if you were climbing up a spiral staircase at a constant speed, your velocity would be easily described by a twist.

[edit] Wrench

Wrenches represent forces and torques. One way to conceptualize this is to consider someone who is fastening two wooden boards together with a metal screw. The person turns the screw (applies a torque), which then experiences a net force along its axis of rotation.


[edit] Twists as general displacements

Given an initial configuration g\left(0\right) \in SE\left(n\right), and a twist \xi \in R^n, the homogeneous transformation to a new location and orientation can be computed with the following formula:

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

where θ represents the parameters of the transformation.

[edit] Calculating Twists

Twists can be easily calculated for certain common robotic joints.

[edit] Revolute Joints

For a revolute joint, given the axis of revolution \omega \in R^3 and a point q \in R^3 on that axis, the twist for the joint can be calculated with the following forumula:

\xi =  \begin{bmatrix} -\omega \times q \\ q \end{bmatrix}

[edit] Prismatic Joints

For a prismatic joint, given a vector v \in R^3 pointing in the direction of translation, the twist for the joint can be calculated with the following formula:


\xi =  \begin{bmatrix} v \\ 0 \end{bmatrix}

[edit] See also