# Modern Robotics, Chapter 2.1: Degrees of Freedom of a Rigid Body

The most fundamental question you can ask
about a robot is, “Where is it?” The answer to this question is the robot’s
configuration, which is a specification of the positions of all the points of the robot. In this book, robots are constructed of rigid
bodies, like this one. We often call these rigid bodies links. These links are connected together by joints,
like this revolute joint of my tinkertoy robot. Since the links are rigid and have a constant
shape, we typically only need a few numbers to represent the configuration of a robot. Compare to trying to represent the configuration
of this pillow, which can be deformed in a wide variety of ways. Some robots, called soft robots, are like
this pillow, but we don’t cover soft bodies in this book. So, the configuration of a robot is a representation
of the positions of all the points of the robot. The configuration space, which we often call
the C-space for short, is the space of all configurations of the robot. The number of degrees of freedom is the dimension
of the C-space, or the minimum number of real numbers you need to represent the configuration. As an example, this two-joint tinkertoy robot
has two degrees of freedom, given by the angles of the two joints. I can visualize the angle of joint 2 as a
point on a circle, and the angle of joint 1 as a point on another circle. To visualize the full C-space, let’s rotate
the circle for joint 1 to be perpendicular to the circle for joint 2. At each angle of joint 1, there is a circle
of possible joint angles for joint 2, so I can replicate the joint 2 circle at every
angle of joint 1. Therefore, the C-space of the two-joint robot
can be visualized as the two-dimensional surface of a torus. Now, for every configuration of the robot,
there is a unique point on the torus, and for every point on the torus, there is a unique
configuration of the robot. As I mentioned earlier, the dimension of a
robot’s C-space is the number of degrees of freedom. Since a robot consists of rigid bodies, the
number of degrees of freedom of a robot depends on the number of degrees of freedom of a rigid
body. A rigid body in three-dimensional space has
6 degrees of freedom, but how do we determine that? First, let’s choose the position of one point
on the body; let’s call that point A. The x-y-z coordinates of point A are three numbers. Next, we can choose the x-y-z coordinates
of a second point B. But because this is a rigid body, we can’t choose the three coordinates
arbitrarily; B’s constant distance to point A places one constraint on its location. The point B has to be somewhere on the surface
of a sphere centered at A, and we only need two numbers to represent a point on a sphere,
like latitude and longitude. Now that we’ve fixed points A and B, there
are two constraints on point C: it has to be on the circle at the intersection of spheres
centered at A and B. We only need one number to specify a point
on a circle. Once we’ve fixed the location of points A,
B, and C, provided they are not all on the same line, the body is fixed in space. Therefore, a rigid body has six degrees of
freedom: three to specify the location of point A, two to specify point B, and one to
specify point C. To summarize, let’s count, for each point
on the body, the number of coordinates, the number of constraints on those coordinates,
and therefore the number of real freedoms in choosing each point. Point A has three coordinates, and no constraints
on how we choose them. Point B has three coordinates, but they are
subject to one constraint, so we only have two real freedoms. Point C has three coordinates, but they are
subject to two constraints, so there is only one real freedom. All other points have three coordinates but
are subject to three independent constraints, so there are no further freedoms. Thus a rigid body in space has six total degrees
of freedom, three of which are linear, or x-y-z, and three of which are angles, sometimes
called roll, pitch, and yaw. We could use the same process to learn that
a rigid body in a two-dimensional plane has three degrees of freedom, two of which are
linear and one of which is an angle. We could even study a rigid body in four-dimensional
space, and learn that it has ten degrees of freedom, four of which are linear and six
of which are angles. We can summarize what we’ve learned in this
video with the following general rule, which holds for any system, not just rigid bodies:
The dimension of the C-space, or the number of degrees of freedom, equals the sum of the
freedoms of the points minus the number of independent constraints acting on those points. Since our robots are made of rigid bodies,
we can express the number of degrees of freedom more simply as the sum of the freedoms of
the bodies minus the number of independent constraints acting on the bodies. As an example, we can take the 6-degree-of-freedom
spatial body and turn it into a 3-degree-of-freedom planar body by adding the three constraints
that the z-coordinates of points A, B, and C are all equal to zero. In the next video we will use what we’ve learned
to understand the number of degrees of freedom of a general mechanism.

## 5 thoughts on “Modern Robotics, Chapter 2.1: Degrees of Freedom of a Rigid Body”

• parameciumcheese says:

Thank you all for these videos! I'm so excited that you all have put so much effort into making this information available with the book and such. Thanks.

• idris tazerouti says:

thank you mister . its helpful

• hichem sétif says:

hey nice video ,can you do a video for 5 DOF bipedal robot .thanks
if have one send me the link.

• Mazin new says:

Is this by far the clearest explanation ever of any topic of science in human history?

• Göktuğ Güvercin says:

In the video, it is said that there is only one number needed to specify location of point C. I could not understand it. How can we specify location of point C with one value ?