The configuration space of a system is the differentiable manifold of all possible configurations it can take, as determined by the generalized coordinates. In unconstrained systems, it typically coincides with , some other well known set like the special orthogonal group or some combination of them, like . When one or more constraints are added, the configuration space shrinks as certain configurations become prohibited. A point in configuration space is called a configuration. The dimension of is said to the be degrees of freedom of the system and is also the number of free coordinates it has.
A configuration space describes positions. Velocities, on the other hand, which are the time derivatives of the generalized coordinates, exist in a related space called the tangent space , where is some configuration. Position and velocity are, when considered simultaneously, sufficient to determine the state of the system. Together, position and velocity exist in the tangent bundle of , which can be thought of as the union of all tangent spaces of .
Similarly, if you have access to a Lagrangian or a Hamiltonian, you can find the momenta known as conjugate momenta. Like velocities, when combined with position they are sufficient to determine state (together they are called canonical coordinates). The space that canonical coordinates occupy is the cotangent bundle of , which is related but not the same as the aforementioned tangent bundle. This space is important enough to warrant its own name: the phase space.
Using the configuration space, motion can be seen as a two step process: it is a function that, for each time , gives a configuration in , then the configuration can be "translated" to unconstrained space using the Coordinate transformation implicit in . It looks something like this: