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.