Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

Screw Axis

  • Also called: screw, screw motion, twist axis
  • Category: Foundations & spatial maths › Kinematics
  • Tags: screw-theory, kinematics, rigid-body-motion, spatial-math, articulated-objects

A line in space about which a rigid body rotates while translating along it; any rigid-body motion can be described this way, and robot joints are modeled as screw axes.

Definition

Screw axes describe a rigid-body motion as a rotation about a fixed line in space combined with a translation along that same line, like a nut turning on a bolt. The Chasles–Mozzi theorem states that any rigid-body displacement can be described in this way, and the corresponding result holds for instantaneous velocities: every rigid-body velocity is a rotation about some axis plus a translation along it.

A screw axis has three ingredients: the direction of the line, a point on it, and its pitch, the ratio of translation to rotation. A pure rotation has zero pitch, which is exactly a revolute joint or a door hinge. A pure translation is the limiting case of infinite pitch, which is a prismatic joint or a sliding drawer. Scaling a screw axis by a speed gives a twist, a six-dimensional vector combining angular and linear velocity. Forces and torques combine in the same way into a wrench.

Screw theory goes back to Robert Ball's treatise on the theory of screws, and it underpins a modern way of writing robot kinematics. In the product of exponentials formula, taught in textbooks such as Lynch and Park's Modern Robotics, each joint is described by its screw axis in a fixed frame, and forward kinematics is the product of matrix exponentials of those screws. This avoids the frame-assignment conventions of Denavit–Hartenberg parameters.

Because screws describe motion without reference to a particular body frame, they are also a natural way to represent how objects move relative to each other: a hinge, a lid, a valve or the relative motion between two hands holding an object can each be described by one screw axis and how far along it the motion goes.

Why it matters

Screw axes give a single, frame-independent description of joints, velocities and forces. They make kinematics and dynamics derivations cleaner and give learning and perception systems a compact way to represent articulated motion.

Key applications

  • Forward kinematics and Jacobians via the product of exponentials formula
  • Modeling articulated objects such as doors, drawers and lids
  • Describing relative motion between two arms or two hands
  • Representing velocities and forces as twists and wrenches in dynamics algorithms

In practice

A team writing kinematics for a custom arm can define each joint by its screw axis in the base frame at the home pose, read directly from CAD, and compute forward kinematics and the Jacobian with the product of exponentials formula. In manipulation, the same representation is used to describe articulated objects: estimating the hinge axis of a cabinet door from observed motion lets the robot generate a pulling trajectory that follows the arc instead of fighting the constraint.

Common misconceptions

  • Screw axes only apply to screws and threaded parts — they describe any rigid-body motion, including pure rotation and pure translation
  • A rotation and a translation always need separate descriptions — the Chasles–Mozzi theorem shows one screw motion is enough
  • Screw theory replaces homogeneous transforms — it builds on them; matrix exponentials of screws produce ordinary homogeneous transforms

Who should know this

  • Kinematics and dynamics engineers
  • Manipulation researchers modeling articulated objects
  • Robotics students studying spatial mathematics

Related technologies

  • Product of Exponentials Formula
  • Twist and Wrench
  • Lie Groups (SE(3))
  • Denavit–Hartenberg Parameters
  • Forward Kinematics

Related terms

  • Transform
  • Coordinate Frame
  • Kinematics
  • Jacobian

Related projects

  • MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
  • PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
  • DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
  • IKPy: Pure-Python inverse kinematics library that builds chains straight from URDF
  • frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics

Videos

  • Screws: a Geometric Description of Twists in Robotics | Fundamentals of Robotics | Lesson 17: Mecharithm - Robotics and Mechatronics

Wikipedia

  • Screw axis

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.