I. Introduction
A robot manipulator is a multifunctional and reprogrammable articulated mechanism able to move in a given workspace. It usually consists of several bodies linked by joints, and it is commanded by providing values to some of these joints. Thus, when moving, the robot can be thought of as realizing a mapping from joint space to workspace coordinates, which is referred to as the forward kinematics mapping. Robot programming, however, is most easily carried out in terms of the Cartesian coordinates of the workspace, leaving to the controller the task of translating such specification into joint variables. Thus, robot control critically depends on the so-called inverse kinematics mapping (IKM), i.e., that providing joint coordinates as a function of the desired position and orientation of the robot end-effector in the workspace.