# Configuration and Configuration Space (Topology and Representation) of a Robot

This is the second lesson on Fundamentals of Robotics, and it will be your guide to know everything you have ever needed to know about the configuration and configuration space (its topology and representation) of a robot.

In this lesson, we will talk about the configuration of the robot. Then, the configuration space and topology of the configuration space will be discussed, and finally, we will talk about different ways to represent the configuration space.

## What is the Configuration of Something?

The configuration of something answers the question, where is that thing? For example, to know where a door is, we only need to know the angle about its hinge when it changes from 0 to 360 degrees.

As another example, to know the configuration of a point on a plane, we need to know the x and y coordinates of that point.

## The Configuration and Configuration Space of a Robot

The configuration of a robot is also our answer to the question Where is the robot?

By definition, the configuration of a robot is a specification of the position of all points of the robot, and the space of all configurations of the robot is called the configuration space or C-space of the robot. The configuration of the robot is a point in its C-space. Let’s see this with an example.

## Two-degrees-of-freedom Planar Robot Configuration, Configuration Space, Topology of the Configuration Space, and the Representation of the Configuration Space

Consider a two-degrees-of-freedom planar toy robot in the figure below. It has two degrees of freedom because the two joints provide two rotational degrees of freedom. Suppose that the two angles can freely change between 0 and 360 degrees. The first link can trace a circle. For every angle of the joint one, the second link can trace a circle too.

By simulating this we can see that the c-space of a 2 link robot arm has a torus or donut shape. In fact, the c-space is the 2-dimensional surface of a donut:

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. So the configuration of this robot can be represented by its two joint angles:

Until this point, we saw that the shape of the configuration space of a two-degrees-of-freedom planar robot is a torus or a donut. The shape of the configuration space is called the topology of the space, and it is a fundamental property of that space; this means that no matter how we represent the space by coordinates, the shape is the same.

## Topology

Now let’s discuss some important notes about topology.

A plane and the surface of a sphere are both 2D spaces, but the shapes are different.

By definition, we call two spaces to be topologically equivalent or of the same shape if we can smoothly deform one to the other without cutting or gluing.

For instance, you can deform a coffee mug into a torus without cutting or gluing, so they are topologically equivalent. You can also deform a cow into a sphere, too, so they are topologically equivalent. But you cannot deform a torus into a plane and vice versa because it requires cutting or gluing (see 06:43 on the last video).

## n-Dimensional Spaces and their Topologies and Representations

The next things that we want to discuss are some of the n-dimensional spaces and their topologies:

First, we start with 1D spaces. A circle is a 1D space. A line is also a 1D Euclidean or flat space. A closed interval of a line is a subset of a 1D space and it is not topologically equivalent to a line because it cannot be stretched to a line. But the open interval of a line is topologically equivalent to a line because it can be stretched to a line:

Now let’s see some 2D spaces. A plane is a 2D space with a topology of E^{2} which is a 2D flat space, the surface of a sphere is also a 2D space, and the topology is called S^{2} (note that the cartesian product of two circles is not a surface of a sphere), a 2D surface of a torus is the cartesian product of two circles as we saw in the simulation and it is called T^{2}, and finally, a 2D surface of a cylinder is the cartesian product of 1D Euclidean space and a circle. These are all 2D spaces but with different topologies. So we can say that c-spaces of the same dimension can have different topologies:

The topology of a point on a plane is a 2D surface of a plane, which is a 2D Euclidean space. We can represent a point on a plane by two coordinates, the x, and y of the point on the plane:

A point on a surface of a sphere has a topology of the 2D surface of the sphere, and it can be represented by two minimum coordinates latitude and longitude. The longitude changes from -180 to 180 deg, and the latitude changes from -90 to 90 deg. On earth, the negative values correspond to the “south” and “west.” Note that the two edges with arrows are glued together. Since the representation is with only two numbers, the latitude, and longitude, which form a plane and we cannot deform the plane into a sphere and vice versa without cutting or gluing, then the sphere and the plane do not have the same topology, and this is troublesome. The reason that this can be troublesome is that the representation will have singularities:

## Singularities in the Representation of the C-space of a two-DOF Planar Robot Arm

Now let’s go back to our 2R planar robot arm. As we saw before, the topology of the configuration space of a 2R planar robot is a torus. In topology, as we saw before, a 2D torus is the cartesian product of two 1D circles. The configuration space can be represented by two angles ranging from 0 to 2π. Note that the edges with arrows are glued together.

To understand the singularities in the representation of the c-space of the 2R robot arm, we can perform a simulation (see the 12:36 on the video below). Starting the simulation from zero configuration for joint 1, the joint 1 angle is increased from 0 to 2π. As shown in the simulation, the representation suddenly jumps from one edge to the other when we cross 0 and 2π. The reason for this is the same reason that we discussed for the 2D surface of a sphere. We represented a 2D surface of a torus by two numbers (joint angles) that form a plane. A torus is not topologically equivalent to a plane since we need to cut the torus to get a plane, and as we saw before, this will cause singularities in the representation, and this is the reason that the coordinate representation changes discontinuously at 0 and 2π. After all, 0 and 2π represent the same orientation (see the 12:36 on the video below to see a simulation).

## Explicit Representation vs. Implicit Representation of the C-space

Until this point, we have learned that representing a configuration space with a minimum number of coordinates can have singularities like representing a 2D surface of a sphere with latitude and longitude or representing a 2D surface of a torus with two angles from 0 to 2π.

We live in a flat Euclidean space, and we also love to represent the curves in this space. What if we can embed the curves in a higher dimensional Euclidean flat space? Would not that be amazing? We will get rid of the singularities, right?

Suppose that we want to represent a point on a circle. We can do this by choosing an angle changing from 0 to 2π from the center of the circle to the point w.r.t a chosen zero angle. As we saw before, there is a singularity at 0 and 2π because they literally represent the same point on the circle. A circle is a 1D curved space. So representing it with a minimal number of coordinates that is one angle has singularities. One possible solution is to embed the 1D circle into a 2D Euclidean space subject to one constraint that all points on the circle are at the same distance from the circle’s center. Two coordinates minus one constraint, giving us a 1D space where the circle belongs. This is called an implicit representation of the C-space in contrast to the explicit representation that uses the minimum number of coordinates to represent the space:

The same is for the 2D surface of a sphere. We can represent the configuration space with a minimum number of coordinates that match the C-space dimension (latitude and longitude) that will have singularities or represent the C-space with the curved space embedded in Euclidean space of higher dimension subject to constraints. Three coordinates minus one constraint gives us 2D space that the surface of a sphere belongs to:

In order to understand this lesson in-depth watch the video below and see all the simulations and demonstrations:

### References:

Textbooks:

- Modern Robotics: Mechanics, Planning, and Control by Frank Park and Kevin Lynch
- A Mathematical Introduction to Robotic Manipulation by Murray, Lee, and Sastry

Videos:

- Gluing a Torus by Bothmer Channel

Websites:

- Configuration Space Visualization of 2-D Robotic Manipulator is from HERE!