# Configuration space (Robotics)

The configuration space (also called C-space) of a robot is a specification of the position of all the points of a robot. The dimension of the C-space is called the degrees of freedom (DOF), which is the minimum number needed to represent the robot. For e.g. if the robot has 2 angles, the C-space is the 2D torus. A robot is defined to consits of rigid bodies (called links) connected together by joints.

The C-space can be parametrized both explicitly or implicitly.

Explicit parametrization uses the minimum number of coordinates, in a sphere for example, \((\phi,\lambda) \in [-90,90]\times[-180,180]\) for the latitude and longitude. While simple, not necessarily being topologically equivalent to the Euclidean space means **representation** would have poor behaviour at some parts of the space in the form of singularities and discontinuities.

Implicit parametrization makes use of embedding the surface in a higher dimensional space that is easier to work with, typically the Euclidean space. Here, a sphere can be represented as \(\{(x,y,z)\in \mathbb{R}^3 x^2+y^2+z^2=1\}\). This results in no discontinuities or singularities but at the expense of greater complexity in representing the coordinates.

Instead of representing the C-space of a robot in terms of the exact amount of its DOF, we can make use of holonomic constraints (also sometimes called integral constraints).

The **task space** is the space where the robot's task can be naturally expressed. E.g. when the controlling position of a position of a pen on a flat piece of paper, the task space is \(\mathbb{R}^2\), and when controlling the position and orientation of a rigid body, the task space is the 6D space of rigid body configurations.

The **work space** is a specification of the reachable configurations of the end-effector (end of the robot), usually defined in Cartesian coordinates.

The set of positions reachable from all possible orientations is called the **dextrous workspace**.

## Thoughts

- Much if not all of the ideas come from Northwestern robotics course lectures
- Look further into the difference between points and joints in the first sentence.
- Nash embedding theorem argument for why we are allowed to use implicit parametrizations.