We’re now going to describe some slightly mathematical concepts but they’re very useful, so bear with me. So far, when we’ve been talking about robots, we’ve been talking a lot about the joint angles. What we’re going to do now is to generalize that concept and we’re going to refer to generalize joint coordinates. Now, for most robots where the joints are revolute, that is their rotating time joints, then their generalize joint coordinate is simply the joint angle. But, for those small number of robots that have got a sliding joint also known as a prismatic joint, then the generalize joint coordinate then would be a length, the length of that sliding joint.
So, generalize joint coordinate is simply a way that we can deal with robot joints that either rotate or slide. So, the set of all joint coordinates for the robot we referred to as the joint configuration. It’s a vector and typically denoted by the symbol Q. And, the length of the vector is N and N is the number of joints. So, joint configuration Q is a vector of length N and the elements of that vector are either an angle or a length. The joint angle vector belongs to a space, the space C. We refer to this as the configuration space. The joint configurations belong to the set C and C is the set of all possible joint configurations. Now, C is a subset of the N dimensional real number space.
The other space that’s really important when we’re talking about robots is the space of all possible end effector poses and we refer to this by the symbol T. We say that the end effector pose ksi E belongs to the set T, the set of all possible end effector poses.
In two dimensions, T is a subset of all possible translations and rotations. And, the reason that it’s a subset is that the robot has only got finite reach. It can’t reach out to the horizon. For example, so T is a subset of all possible positions and orientations in two dimensions. For example, we’ve looked at robots where the end effector pose is simply described by the coordinates X and Y. We’ve also looked at some robots where the end effector pose is described by the position X and Y and by the orientation Theta. In three dimensions, we would say that T is a subset of SE3, the set of all possible positions and orientations in three dimensional space. And, we’ve, again, look at some specific examples where the end effector pose is described just in terms of its position, X, Y and Z, some robots where the end effector pose is described by position X, Y and Z and a single pitch angle. We’ve also looked at some robots whose end effector can be described in terms of the position X, Y and Z and orientation roll, pitch and yaw angles for example. These are all subsets of SE3.
The next important consideration then is the dimensions of these different spaces, the task space, the space in which we describe the pose of the end effector, and the configuration space in which we describe the joint coordinates of the robot. We say that a robot has got so many degrees of freedom and that’s equal to the number of joints the robot has and that’s the dimension of its configuration space. So, if a robot has got three joints, then we say that its configuration space has got three dimensions. Similarly, we could talk about the degrees of freedom in the task space and that’s equal to the dimension of the task space T. Consider the pose of a simple planar robot. Its end effector pose is described simply by the two coordinates X and Y. In this case, the dimension of a task space is 2. If it’s a planar robot with three joints, then the end effector pose can be described by the X and Y position and the orientation Theta. In this case, we would say that the dimension of a task space is 3. It’s described by a three-dimensional vector. For a three-dimensional robot whose end effector pose is described by the position, coordinates X, Y and Z, the dimension of its task space is also 3. The robot that has got X, Y, Z position and also a pitch angle, dimension of its task space is 4. And, for something like an industrial robot whose end effector pose is described by position X, Y, Z and orientation which could be described by three angles, for instance, roll, pitch, yaw angles, the dimension of its task space is 6.
In the three-dimensional world in which we live and which the robots live, it’s not possible to have a task space dimension be given 6. Now, the really important constraint is that in order to reach all of the task space, the dimension of the configuration space should be greater than or equal to the dimension of the task space. To make this concrete, let’s look again at the 2-degree freedom arm which we should be quite familiar with by now. The end effector pose is an element of the task space and the task space is a subset of the two-dimensional space of real numbers. End effector pose can be described by a pair of two real numbers. The configuration space for this robot is a vector that comprises Q1 and Q2, the two joint angles. The configuration space is also a subset of the two-dimensional space of real numbers because the joint configuration can be described by a pair of real numbers, that is Q1 and Q2.
For the 3-degree of freedom arm, the end effector pose is described by three numbers, X, Y and Theta. So, we say now that the task space is a subset of the set of all possible positions and the subset of all possible orientations which we denote by S. The configuration space is a vector comprising Q1, Q2 and Q3 and that is a subset of the three dimensional space of real numbers.
By now, I’m sure you’re getting the hang of this. In this case, the task space is a subset of r cubed, the set of three-dimensional real numbers. And, the configuration space is also a subset of three-dimensional space of real numbers. A Cartesian Gantry robot is a special case because the joint coordinates directly map on to the end effector pose. The joint coordinates are in fact the lengths X, Y and Z.
A 4-degree of freedom SCARA robot arm has an end effector pose described by a position X, Y and Z and a yaw angle. So, we would say that its task space is a subset of r cubed, the set of all possible positions, and the set of all possible orientations. Its configuration space is a four-dimensional quantity and it comprises the three rotational joint angles and a vertical displacement of the tool.
A 4-degree of freedom parallel link robot, again, has a four-dimensional task space. It’s able to control the position and orientation of the end effector and it has a four-dimensional configuration space. There are four motors located at the base connected by links to the end effector. The four joint educational robot that we looked at before has a four-dimensional task space which can be described by a position X, Y, Z and a pitch angle, and its configuration is also four-dimensional because there are four rotational joints in this robot. The same thing applies for an arm of the NAO robot.
For a 6-degree of freedom arm such as shown here, the task space is a subset of SE3, the set of all possible positions in three-dimensional space and the set of all possible orientations in three-dimensional space. The configuration space of all these robots is also six-dimensional. They all have six joints or 6 degrees of freedom. The industrial robot and the space shuttle arm have got six rotational joints. Whereas, the Stanford arm has got five rotational joints and one sliding joint. This is a very special case. This is a robot with a very large number of rotational joints. The task space of this robot is exactly the same as the robots on the previous slide. The end effector pose is described by its position and by its orientation. It’s got six dimensions. But, the configuration space for a robot like this could be quite massive. I don’t actually know how many joints this robot’s got, but I’m guessing that it’s got a hundred joints. So, I’m going to say that its configuration space is a subset of the 100-dimensional space of real numbers. So, in this case, the dimension of the configuration space is greater than the dimension of the task space. We call this a redundant robot. An advantage of the redundant robot is that the tool-tip can achieve any position and orientation just like a 6-degree of freedom industrial robot does, but with its additional degrees of freedom, it can also control the shape of the arm. So, it can control the pose of the end effector and the shape of the arm. An industrial robot with only six joints can only control the pose of the end effector. It can’t choose an arbitrary configurational shape of its arm.
Another way that we describe robot arms is in terms of a configuration string and this is a string of characters, one character per joint and the character is either an R for a rotational joint or P for a prismatic or sliding joint. So, here we can see the configuration strings for three quite different sorts of robot.
We learn the concepts of a robot’s task space and its configuration space, and the relationship between the dimensions of these two spaces.
This content assumes high school level mathematics and requires an understanding of undergraduate-level mathematics; for example, linear algebra - matrices, vectors, complex numbers, vector calculus and MATLAB programming.