What is dof (degree of freedom) of a robot?
A 'Degree of Freedom' (DoF) as it relates to robotic arms, is an independent joint that can provide freedom of movement for the manipulator, either in a rotational or translational (linear) sense. Every geometric axis that a joint can rotate around or extend along is counted as a Single Degree of Freedom.
The degrees of freedom of a robot is the dimension of the robot’s C-space, which is the minimum number of real numbers needed to represent the robot’s configuration.
As we saw in the previous post, the robot’s configuration is our answer to the question where is the robot? And we also saw different ways to represent the configuration of the robot.
The minimum number of real numbers that are needed for our representation is called the degrees of freedom.
A rigid body in three-dimensional space has six degrees of freedom (DOFs). Three of them are for the position: motion along the x, motion along the y, and motion along the z, and three are for orientation: rotation around x or roll, rotation around y or pitch, and rotation around z or yaw:
You can also imagine this by taking three points on the rigid body. For the first point, there are three freedoms x,y, and z, and no constraints:
For the next point, we know that the distance between two points on a rigid body should be constant. So, point B can only be on the surface of a sphere with a center at A, which gives us two rotational DOFs. In other words, three coordinates for B minus one independent constraint gives two real freedoms:
For the third point C, this point’s distance to points A and B should be constant. So, point C can only be on the circle of the intersection of two spheres, giving us one rotational degree of freedom. In other words, with three coordinates for point C and two independent constraints, we will have one DOF:
For point D and so on, the point’s position is fully determined, and there is no more freedom in choosing the place of those points.
With the same analogy, we can say that the rigid body on a 2D plane has three degrees of freedom. Two linear DOFs and one rotational DOF:
You can also take 3 points on the rigid body and use the same reasoning as before to see that the first point has two linear freedoms and no constraints, the second point will be on a circle centered at the first point, so two coordinates minus one distance constraint is one rotational DOF, and the location of the 3rd point can be fully determined so it will have no degrees of freedom. So overall, a rigid body on a 2D plane has 3 DOFs.
Now think about the DOFs of a rigid body in a 4D space. How many of them are linear, and how many are angular?
We have seen that a rigid body in a 2D space has Three DOFs, but why does a two-DOF planar robot with two rigid bodies have only two DOfs?
The answer to this question lies in the constraints that its joints put on the links’ movement with respect to each other. This robot has two revolute or hinge joints. Each of the joints put two constraints on the movement of the links. That is, its links can only rotate around the z-axis.
If we imagine a robot in 3D like a 3R robot (with three revolute joints) in space with three revolute joints, the revolute joint (R) will put five constraints on the motion of one link with respect to the other link. So again, it will provide only one DOF:
So, we can conclude that constraints on the robot links come from joints. But how many different joints are used in robots?
As we saw in the industrial robot of the previous video, a revolute joint is like a door hinge. It provides one DOF of motion between two bodies that it connects. The rotation is around the joint axis, and the positive rotation can be determined using the right-hand rule:
According to the RHR, if your thumb is in the direction of the joint axis, the positive rotation is the direction your other 4 fingers curl.
A linear, sliding, or prismatic joint (P) provides a linear motion between two links. It will again provide only one DOF between two links:
Next is the universal (U) joint, which is two revolute joints with joint axes orthogonal to each other thus, it can provide two rotational DOFs around roll and pitch axes that are x and y axes:
The spherical (S), ball-and-socket, or shoulder joint can provide three DOFs, which are two degrees of freedom of the U joint plus spinning about the joint axis:
Next is a cylindrical (C) joint that can provide an independent translation and rotation about a single fixed joint axis; thus, it has two DOFs. You can watch a short video of the cylindrical joint HERE!
And the final joint is the helical (H), or screw joint that provides a simultaneous rotation and translation about a screw axis and can provide one degree of freedom. You can watch a short video HERE!
The difference between this joint and the cylindrical joint is that in the cylindrical joint, the rotation and translation are independent, thus providing us with two degrees of freedom (DOFs), but in the helical joint, this motion is simultaneous, so it only has one degree of freedom.
Grübler’s Formula is a general formula that can be used to find the degrees of freedom of any mechanism and not just the robots.
Grübler’s formula says that the number of degrees of freedom is equal to the sum of the freedoms of the bodies minus the number of independent constraints put on the motion of those bodies:
\[\text{dof} = \sum(\text{freedoms of bodies}) – \text{# of independent constraints}\]
If we take N as the number of bodies or links (note that we traditionally also take ground as one link):
\[\text{N} = \text{# of bodies including ground}\]
and if we take J as the number of joints:
\[\text{J} = \text{# of Joints}\]
and if m is the number of degrees of freedom of a single body, that is six for spatial bodies and three for planar bodies:
\[\begin{matrix} m = 6 & \text{for spatial bodies}\\ m = 3 & \text{for planar bodies} \end{matrix}\]
Then we can write the degrees of freedom are equal to rigid body freedoms minus joint constraints. We deduct 1 from N because we want to exclude the ground:
\[\text{dof} = m(N-1) – \sum_{i=1}^{J} c_i\]
We know that the degree of freedom of movement of one link w.r.t another can be found by deducting the number of constraints that the joint puts on the movement from the DOFs of a rigid body:
\[f_i = m – c_i\]
Rewriting the formula in terms of the DOFs of the joints we can get this formula:
\[\text{dof} = m(N-1-J) + \sum_{i=1}^{J} f_i\]
This is called Grübler’s formula that can be used to find the degrees of freedom of any mechanism. Remember that all constraints are independent!
Now let’s see some examples.
We have seen that our planar two-link robot arm has two degrees of freedom (DOFs). Now let’s see if we can get the same answer with Grübler’s formula:
Now let’s step it up a notch and find the degrees of freedom of a four-bar linkage. It has four links because remember we take the ground as one of our links too:
We could expect this result because the four-bar linkage is a 3R open-chain robot that the two ends are pinned, so three DOFs of the serial chain minus two constraints gives us one degree of freedom (DOf).
Keep in mind that for Grübler’s formula to work, the constraints must be independent.
The next examples are for spatial robots.
The first mechanism is a Stewart mechanism, which is a parallel mechanism with six legs. Each leg has two spherical joints and one prismatic joint. We can also replace the bottom spherical joints with universal joints with two degrees of freedom (DOFs). Because it is a parallel robot, each leg supports a fraction of the weight of the payload.
Now let’s find the degrees of the robot using Grübler’s formula:
Of these twelve degrees of freedom, only six degrees of freedom are shown in the top platform since the other six are torsional rotations about the leg axis and do not affect the mobile platform’s motion. Because the top platform can move with the full six degrees of freedom (DOFs) of a rigid body in space, the Stewart platform is usually used to simulate airplanes.
Now let’s find the degrees of freedom (dofs) of a Delta robot.
Delta robot is a parallel robot that can maintain its end-effector orientation, unlike the Stewart platform that can change the orientation of its end-effector. It has three legs, and each leg has three Revolute joints, four spherical joints, and five links:
Of these fifteen degrees of freedom, twelve are related to torsion of the twelve links because of being connected to the spherical joints. These degrees of freedom are called internal degrees of freedom (DOFs). Only three are visible at the end-effector on the moving platform. Delta robot acts as an x-y-z Cartesian positioning device.
Consider a robot arm with seven degrees of freedom (DOFs) that mimics the seven degrees of freedom (DOFs) of the human arm (Three rotational degrees of freedom (DOFs) for the shoulder, one rotational degree of freedom (DOF) for the elbow, and three rotational degrees of freedom (DOFs) for the wrist):
And assume that this robot should carry a tray with drinks on it. The drinks should not be spilled from the tray.
How many DOFs does the robot arm have while satisfying this constraint?
The answer to this problem is in the video below! Enjoy!
References:📘 Textbooks:Modern Robotics: Mechanics, Planning, and Control by Frank Park and Kevin LynchA Mathematical Introduction to Robotic Manipulation by Murray, Lee, and Sastry
✍️ Logo design by Minro Art Group
🎞 Videos:
If you enjoyed this post, please consider contributing to help us with our mission to make robotics and mechatronics available for everyone. We deeply thank you for your generous contribution!
Do not forget to contact us:
Be sure to let us know your thoughts and questions about this post, as well as the other posts on the website. You can either contact us through the “Contact” tab on the website or email us at support[at]mecharithm.com.
A relatively technical article in Wikopedia describes degrees of freedom in general terms. The following article relates specifically to industrial robots as they are used by industrial robot integrators including Motion Controls Robotics, a Level 4 Certified Servicing Integrator for FANUC Robotics.
Location in Space and Robot Axis – The degrees of freedom of a robot typically refer to the number of movable joints of a robot. A robot with three movable joints will have three axis and three degrees of freedom, a four axis robot will have four movable joints and four axis, and so on. In order to completely define an objects location in space, at least six degrees of freedom must be defined; its Cartesian coordinates, or x, y, z location, and its orientation, or roll, pitch and yaw.
While it is not absolutely the case, most pick and place devices and robots have the following capabilities;
Single and two axis pick and place units are becoming more commonly available in servo controlled versions, providing more of the control available in modern day robots.
You will find one and two axis pick and place units in simple applications moving parts from one location to another in a single line or plane. These units aren’t always recognized as robots, but when servo controlled can be put to use as simple and highly reliable material handling devices. “Robo Cylinders” or servo controlled cylinders are becoming increasingly popular as replacements to air operated cylinders.
Three and four axis gantry robots – One example of a three axis pick and place unit that could be referred to as a robot would be an automated overhead gantry crane. If there is no ability to rotate its load, this could be called a three axis robot. With the addition of another axis of movement at the end of arm tool to rotate the product around a vertical axis, this would qualify as a four axis robot. These have been frequently used in simple material handling applications where part orientation does not need to change. Addition of servo controls to these devices puts them solidly in the robot category.
Three axis pick and place articulated arm robots are not typically defined for the category of fixed mount,articulated arm robot since the orientation of an object would be defined by its location in space. Robots that can move an object anywhere in x,y,z space usually have the need and the ability to rotate the part along at least one axis (commonly along the vertical axis), making them four axis robots. For example, a case packing robot that can move in x,y,z space will need to orient the case along the z axis, or vertical axis, to keep the case square between pick and drop location (or to reorient the case to suit the direction of pick and drop conveyors).
The FANUC M421 is a special two axis articulated robot – it is a variation of the FANUC M420 which has four axis, or two more independently controlled joints and servo motors. The M421 has no J1 motor/reducer and therefore no axis of rotation at its base. It has no J4 motor/reducer, and therefore no ability to rotate the object at the robot face plate where the robot connects to the end of arm tool. This reduces the cost of the robot. It can pick up an object in one place and move it to another on a straight line. This robot can economically move objects between processes and perform simple case loading operations.
Four axis robots are commonly found in palletizing operations. The FANUC M410 family of palletizing robots can pick up single cases, rows of cases, or entire layers of cased product from incoming case conveyor and build case patterns in any required pallet pattern. The robot has; a J1 servo/reducer that allows the robot to pivot; J2, and J3 axis that allows the robot arm to reach out into space around the robot; and a J6 axis (shown in the illustration as J4) to allow the robot to rotate its face plate to re-orient the end of arm tool along the z axis (in turn, allowing the robot to re-orient a case or layer along a horizontal plane). The M410 / 160 robot shown here is a referred to as a “linked arm” robot where the geometry of the support arms causes the robot faceplate to remain horizontal no matter where the robot moves within its work space.
Five axis robots – the FANUC M410/140 is a special form of the M410/160 robot in that the upper linked arm is eliminated, and a limited amount of J5 axis movement is introduced. This allows the faceplate, where the end of arm tool is mounted, to be tilted slightly as the robot reaches its move limits to keep the faceplate level or parallel with the floor. Even though the robot has a fifth axis, the robot is designed to always have its faceplate parallel to the floor. Elimination of the upper linked arm assembly on the M410/140 reduces its mass and allows it to operate faster than the M410/160.
Six axis robots – are the workhorses of today’s robot products, comprising the majority of robots sold. They offer the greatest flexibility of common robots, but are also more expensive than their counterpart robots having fewer axis.
Capacities range from a few kilograms to 1200+ kilograms. FANUC’s smallest 6 axis robot, the new LR Mate 200iD/4S with 4kg capacity, the R2000 which is an intermediate capacity robot with up to 185kg capacity and FANUC’s most popular in terms of total units sold, and the FANUC M2000, the king of all electric servo driven robots, are shown below;
With their six axis, these robots can place an object or end of arm tool at any location in space (x, y, z) within their work envelope, and can orient the tool or object in any orientation (roll, pitch, yaw). Robots with seven or more axis of motion – Placing any of the above six axis robots on a rail introduces a seventh axis, or degree of freedom. Likewise, a four axis palletizing robot can have a fifth axis of motion added by mounting the robot on a rail. Rail mounted robots are commonly used to load and unload multiple CNC machines with a single robot. MCRI has also used this arrangement to allow a single robot to palletize multiple SKUs, up to 16 at a time in one system. Auxiliary axis controls – Additional axis of control in a robot cell can be used for servo control of part feeding systems, turntables, end of arm details, and other movable load surfaces inside (or outside) the robot cell that need to be coordinated with the robot.
FANUC provides Auxiliary Axis motor controllers that are tightly integrated with the robot for servo control of additional axis of motion related to robot movement. Highly integrated, high speed auxiliary axis control allows the robot controller to simultaneously coordinate motion of seven or more axis of the robot, rail, end of arm tooling, part feeding devices, and other equipment that needs to have coordinated motion with the robot.
More Questions
- when enhypen disband date?
- How to do suu in fifa 23?
- What is the best of hartford ct?
- What is it like to survive a storm?
- What is r0 in biology?
- How to block someone who texts you?
- what is lbh in medical terms?
- What is the formula for completing a transfer program lbcc?
- Which jobcentre should i go to?
- Amazon quick insights?