2.1. Degrees of Freedom of a Rigid Body

This video introduces the concepts of configuration, configuration space (C-space), and degrees of freedom, and describes a method for counting the degrees of freedom of a rigid-body in n dimensions.

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.