logo back up home forward   further reading more topics »

Maths - Screw Theory

Abstract

An isometry transform is a combination of a translation and a rotation. On the page here we have shown that in two dimensions we represent any isometry as a single rotation provided that we choose the correct point to rotate it around.

In three dimensions, if we want to represent any isometry as a single operation, a rotation about any point is a possibility, in order to represent any isometry as a single operation we could use a line drawn round the outside of a cylinder. This is known as a screw.

Prerequisites

If you are not familiar with this subject you may like to look at the following pages first:

Combined Rotation and Translation using Screw Theory.

Isometry in 3 dimensions SE(3)

In three dimensions there are three degrees of freedom of rotation but when we look for points that are equidistant to the centres of the objects pre and post transform position. The equidistant points lie on a plane which only has two degrees of freedom, but there is also the possibility to rotate around the line from the point. Therefore there are enough degrees of freedom to represent all possible isometrys. However this has not yet proved that we can represent any 3D isometry by a single rotation, can anyone help me with this?

There is another way to represent all possible isometries in three dimensions as a single operation, even though the operation is not a rotation, the operation is represented by a line round the outside of a cylinder.

We start with a vector representing the direction of the cylinder, so there is translation along the length of the cylinder and this is in the same direction as the axis of rotation. This is like a screw thread in that, as the object turns, it moves in a linear direction. The amount of linear movement for a given rotation is called the pitch.

screw theory

This is alright if the object is rotating around the direction that it is traveling (like a rifle bullet for example) but what if the object is rotating end-over-end?

We can represent any 3D translation/rotation by allowing the axis to be offset from the origin. This means that the object can be translated through a screw path:

screw theory 2

This line can be represented in alternative ways:

Specifying Using Plucker Coordinates

As explained on this page a line which does not go through the origin (known as a directed line) can be defined with plücker coordinates. This has the advantage that it does not need us to choose arbitrary points on the line to define it. Therefore two identical lines may be specified differently and so we can easily check if the lines are identical or how close they are to each other.

Plücker coordinates are written in this form:

(v ; P x v)

The semicolon ';' distinguishes it from a 6 dimensional vector.

where:

When used to define a line in this way the 'moment' part does not have a component in the direction of v. So we can also use this vector to hold information about the pitch by adding this on to the moment, therefore the complete information about the translation&rotation is given by:

(v ; P x v + v*pitch)

where:

Example

Express the following forces and torques as Plücker coordinates:

forces and torques

Applications

Screw theory can be used in solid body mechanics for representing systems of forces and also for representing combined angular and linear velocities.

Further Reading

You may be interested in other means to represent orientation and rotational quantities such as:


metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

cover Robots and Screw Theory: Applications of Kinematics and Statics to Robotics (Hardcover) - This is about the mechanics of robot arms such as those used such as those used in factory automation. Assumes a good knowledge of mechanics but the concepts of robot arms and screw theory are introduced gradually. The maths used is fairly conventional: scalars, vectors and matrices. Dual quaternions (or biquaternions as they call them) are only mentioned briefly.

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

 

cover Dark Basic Professional Edition - It is better to get this professional edition

cover This is a version of basic designed for building games, for example to rotate a cube you might do the following:
make object cube 1,100
for x=1 to 360
rotate object 1,x,x,0
next x

cover Game Programming with Darkbasic - book for above software

Can you help?

Please send me any improvements to here. I would appreciate ideas to make the pages more useful including error correction, ideas for new pages, improvements to wording. It helps if you quote the full URL of the page.

 

progam

I am working on a project which uses these principles, if you would like to help me with this you are welcome to join in, here:

http://sourceforge.net/projects/mjbworld/

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2008 Martin John Baker - All rights reserved.