# Path Planning: Configuration Space

CS 480: Robotics & 3D Printing Lecture, Dr. Lawlor

In robotics, the "configuration space" treats each robot joint as a separate axis, so you can chart the allowed states of the robot.  This is useful because complex robot motions are equivalent to paths through this configuration space.

In a cartesian 3D printer, the configuration space matches physical space, because the print head moves directly in XYZ space.  This space is simple because movement to any position is OK unless you'd hit something external, like the clamps holding the print bed down.  These clamps would show up in configuration space as small obstacles at low Z heights, then vanish once the head is above the clamps.

In a delta 3D printer, the configuration space axes are the heights of the three carriages--still a 3 dimensional space, but there is now a nonlinear mapping from this configuration space to cartesian space, which makes path planning more complex.  In this case, it takes three square roots to calculate the heights of the carriages for a given XYZ location; and you get a negative square root if you try to place the carriage beyond what can be reached.  This sort of "inaccessible configuration space" is typical for more complex joint designs.

Moving up in complexity, a three-joint robot arm, like the cascaded servo arm we showed in class, has a configuration space with three axes.  The position of the tip of the arm again has a nonlinear dependence on all three axes, but now the arm can intersect itself, or obstacles in the world.

For a humanoid robot, with dozens of joints, the configuration space starts to become difficult to represent efficiently--making a table of the possible joint endpoint configurations for a humanoid with 40 joints (about 2 arms worth) would require 240 table entries!  In such a high dimensional space, we can't even efficiently build a complete map of the whole configuration space, but normally a simplification such as the "greedy" algorithm of moving joints along a gradient directly toward the desired configuration, or using a big-to-small heuristic such as "first plan shoulder, then plan elbow, then plan wrist, then plan fingers" (or the opposite, a small-to-big heuristic) can produce a workable motion solution.