  Using results on the topology of moduli space of polygons [Jaggi, 92;
Kapovich and Millson, 94], it can be shown that for a planar robot arm with $n$
segments there are some values of the base-length, $z$, at which the
configuration space of the constrained arm (arm with its end effector fixed)
has two disconnected components, while at other values the constrained
configuration space has one connected component. We first review some of these
known results.
  Then the main design problem addressed in this paper is the construction of
pairs of continuous inverse kinematics for arbitrary robot arms, with the
property that the two inverse kinematics agree when the constrained
configuration space has a single connected component, but they give distinct
configurations (one in each connected component) when the configuration space
of the constrained arm has two components. This design is made possible by a
fundamental theoretical contribution in this paper -- a classification of
configuration spaces of robot arms such that the type of path that the system
(robot arm) takes through certain critical values of the forward kinematics
function is completely determined by the class to which the configuration space
of the arm belongs. This classification result makes the aforesaid design
problem tractable, making it sufficient to design a pair of inverse kinematics
for each class of configuration spaces (three of them in total).
  We discuss the motivation for this work, which comes from a more extensive
problem of motion planning for the end effector of a robot arm requiring us to
continuously sample one configuration from each connected component of the
constrained configuration spaces.
  We demonstrate the low complexity of the presented algorithm through a
Javascript + HTML5 based implementation available at
http://hans.math.upenn.edu/~subhrabh/nowiki/robot_arm_JS-HTML5/arm.html
