30% off your first 3 months

Get the deal

Degrees of freedom: why your arm has seven

by DuckyHelperNov 12, 20265 min read
Robotics

TL;DR:

  • A degree of freedom (DOF) is one independent way a body can move. A rigid body in space has six: three positions and three rotations.

  • A human arm from shoulder to wrist has seven joint axes, one more than the six needed to place a hand, so it is redundant.

  • Redundancy lets an arm reach the same pose in different ways, such as swinging the elbow around while the hand stays still.

Hold your hand out and keep it still, palm down, at a fixed point in space. Now move your elbow up and down without moving your hand. You can. Your hand did not move at all, and yet your arm changed shape. That small trick tells you a lot about how many joints an arm needs.

What a degree of freedom is

A degree of freedom is one independent way to move. A bead on a straight wire has one: it can slide. A drawer has one. A door has one (it rotates about its hinge). A joint that rotates about one axis, a revolute joint, adds one DOF. A joint that slides along one axis, a prismatic joint, adds one too.

The DOF of a rigid body

A rigid object floating in space can be described by six numbers: three for its position (x, y, z) and three for its orientation (roll, pitch and yaw). So a rigid body in 3D has 6 DOF. A rigid body confined to a flat plane has 3: x, y and one angle of rotation.

This is why six is the magic number for robot arms. To put a hand or tool at any chosen position and orientation, an arm needs at least six independent joints (and the right geometry). A robot with fewer joints can reach some poses but not all of them.

Worked example: counting joints on a human arm

Count the axes of rotation from your shoulder to your wrist.

  1. Shoulder: three rotations. You can lift your arm forward and back, out to the side, and twist it along its length. That is 3.

  2. Elbow: one bend. You can bend and straighten it. That is 1.

  3. Forearm: you can turn your palm up and down (pronation and supination) by rotating the forearm. That is 1.

  4. Wrist: it bends up and down, and side to side. That is 2.

Total: 3 + 1 + 1 + 2 = 7.

The hand needs 6 to be placed anywhere with any orientation. The arm has 7. The difference, 7 − 6 = 1, is the redundancy. This is the extra freedom you used when you moved your elbow without moving your hand: the elbow can swing around the line from shoulder to wrist, and the hand pose does not change.

(This is a standard simplification. Real shoulders also slide, and fingers add many more. For the arm as a kinematic model, seven is the usual count.)

Now compare with a simple two-link arm in a plane, like the one in forward kinematics of a two-joint arm. It has 2 DOF and can set the hand position (x, y), which is 2 numbers, but it cannot also choose the hand's angle. For a position and an angle in the plane, you need 3 joints: 3 = 3, no redundancy. A fourth planar joint would add redundancy of 1.

Why redundancy is useful

  • Avoiding obstacles. The hand reaches into a box while the elbow stays clear of the edge.

  • Avoiding joint limits. If one joint is near its end stop, the arm can reach the same pose using the others.

  • Avoiding singularities. A singularity is a pose where the arm loses the ability to move in some direction. Extra joints give a way round.

  • Sharing effort. Motion can be spread among joints to reduce the load on any one.

The cost is that the inverse problem no longer has a single answer. For a given hand pose there are infinitely many arm shapes, and the controller has to choose one, for example the one that is closest to the present shape or keeps the elbow low. See inverse kinematics for how the answer is found.

Where it goes wrong

  • Too few joints. A five-joint arm cannot place a tool at any orientation; there are poses it cannot take. That is fine if the task needs only a top-down grasp.

  • Counting passive joints. A joint that no motor controls, like a free-swinging wrist, adds a DOF to the mechanism but not one you can command. Count actuated joints for control.

  • More joints, more error. Each joint adds weight, cost, backlash and a chance for error to build up, so designers use only as many as the task needs.

  • Redundant arms drifting. If you command only the hand, the extra joint can wander, so give the controller a second goal for it.

Safety: A redundant arm can move its elbow even when the hand looks still, so people who stand near it can be hit by a part they were not watching. Mark the whole workspace, not only the hand's path, and use a protective stop that works when anyone enters it.

How real robots use DOF

Most industrial arms have six joints, enough to place a tool anywhere in reach, within the limits of each joint. Some research and surgical arms have seven so they can reach around obstacles. Humanoid robots count DOF for every limb, and a hand with many finger joints can have far more than the arm. Mobile robots count DOF too: a car-like robot has 3 DOF on the floor (x, y, heading), but it can only control two directly, which is why parallel parking is hard. Next, workspace asks the matching question: where can the hand actually go?

Try it yourself

Count the joints on a toy robot arm or a desk lamp. For each, decide if it rotates or slides, and write down the axis. Then see if the total is at least 6. Next, hold your own hand still against a wall and move your elbow. Which joints changed? You have just used redundancy.

Frequently asked questions

Why do industrial robot arms usually have six joints?

A rigid body in space has six degrees of freedom (three for position and three for orientation), so six independent joints can place a tool at a position with an orientation, within the arm's reach.

Is a seven-joint arm better than a six-joint arm?

It is more flexible, because it can reach the same pose in different ways, but it costs more, weighs more and needs a smarter controller to choose between the options.

Get started

DuckyHelper can
do more

It sees your screen and works in any app you use. Try it for 10 minutes, no card.

Get it for Mac, Windows or Linux

Share

Questions and jobs

Do anything

Ask it a question or hand it a job, in any app.

Doing jobs for you is in early access on Mac. Asking works on Mac, Windows and Linux.