# Manipulator Kinematics

Prev: Rigid Body Motion | Chapter 3 - Manipulator Kinematics |
Next: Robot Dynamics and Control |

The *kinematics* of a robot manipulator describes the relationship
between the motion of the joints of the manipulator and the resulting
motion of the rigid bodies which form the robot. This chapter gives a
description of the kinematics for a general <math>n</math> degree of freedom,
open-chain robot manipulator using the tools presented in Chapter 2 - Rigid Body Motion.
We also present a brief treatment of redundant and parallel
manipulators using this same framework.

The following are the key concepts covered in this chapter:

- The
*forward kinematics' of a manipulator is described by a*mapping <amsmath>g_{st}:Q \to \mbox{\it{SE}}(3)</amsmath> which describes the end-effector configuration as a function of the robot joint variables. For open-chain manipulators consisting of revolute and prismatic joints, the kinematics can be written using the*product of exponentials formula*:<amsmath> g_{st}(\theta) = e^{\widehat{\xi}_1 \theta_1} e^{\widehat{\xi}_2 \theta_2} \cdots e^{\widehat{\xi}_n \theta_n} g_{st}(0),

</amsmath>where <amsmath>\xi_i</amsmath> is the twist corresponding to the \th{i} joint axis in the reference (<amsmath>\theta = 0</amsmath>) configuration.

- The
*(complete) workspace*of a manipulator is the set of end-effector configurations which can be reached by some choice of joint angles. The*reachable workspace*defines end-effector positions which can be reached at some orientation. The*dextrous*workspace*defines end-effector positions which can be reached at any*orientation. - The
*inverse kinematics*of a manipulator describes the relationship between the end-effector configuration and the joint angles which achieve that configuration. For many manipulators, we can find the inverse kinematics by making use of the following subproblems:Subproblem 1: <amsmath>e^{\widehat{\xi}\theta} p = q</amsmath> rotate one point onto another Subproblem 2: <amsmath>e^{\widehat{\xi}_1\theta_1} e^{\widehat{\xi}_2\theta_2} p = q</amsmath> rotate about two intersecting twists Subproblem 3: <amsmath>\|q - e^{\widehat{\xi}\theta} p\| = \delta</amsmath> move one point to a specified distance from another To find a complete solution, we apply the manipulator kinematics to a set of points which reduce the complete problem into an appropriate set of subproblems.

- The
*manipulator Jacobian*relates the joint velocities <amsmath>\dot\theta</amsmath> to the end-effector velocity <amsmath>V_{st}</amsmath> and the joint torques <amsmath>\tau</amsmath> to the end-effector wrench <amsmath>F</amsmath>:<amsmath> \alignedat 3 V_{st}^s &= J_{st}^s(\theta) \dot\theta &\qquad \tau &= (J_{st}^s)^T F_s &\qquad &\text{(spatial)} \\ V_{st}^b &= J_{st}^b(\theta) \dot\theta &\qquad \tau &= (J_{st}^b)^T F_t &\qquad &\text{(body)}. \endalignedat

</amsmath>If the manipulator kinematics is written using the product of exponentials formula, then the manipulator Jacobians have the form:

<amsmath> \alignedat 2 J_{st}^s(\theta) &= \bmatrix \xi_1 & \xi_2' & \cdots & \xi_n' \endbmatrix &\qquad \xi_i' &= \operatorname{Ad}_{\bigl( \displaystyle e^{\widehat{\xi}_1 \theta_1} \cdots e^{\widehat{\xi}_{i-1} \theta_{i-1}} \bigr)} \xi_i \\ J_{st}^b(\theta) &= \bmatrix \xi_1^\dagger & \cdots & \xi_{n-1}^\dagger & \xi_n^\dagger \endbmatrix &\qquad \xi_i^\dagger &= \operatorname{Ad}^{-1}_{\bigl( \displaystyle e^{\widehat{\xi}_i \theta_i} \cdots e^{\widehat{\xi}_n \theta_n} g_{st}(0) \bigr)} \xi_i. \endaligned

</amsmath> - A configuration is
*singular*if the manipulator Jacobian loses rank at that configuration. Examples for a general six degree of freedom arm include: \begin{enumerate} - Two collinear revolute joints
- Three parallel, coplanar revolute joint axes
- Four intersecting revolute joint axes
\end{enumerate}
The
*manipulability*of a robot provides a measure of the nearness to singularity. - A manipulator is
*kinematically redundant*if it has more than the minimally required degrees of freedom. The*self-motion*manifold*describes the set of joint values which can be used to*achieve a desired configuration of the end-effector.*Internal motions*correspond to motions along the self-motion manifold and satisfy<amsmath> J_{st}(\theta) \dot\theta = 0.

</amsmath> - A
*parallel manipulator*has multiple kinematic chains connecting the base to the end-effector. For the case of two chains, the kinematics satisfies the structure equation<amsmath> g_{st} = e^{\widehat{\xi}_{11}\theta_{11}} \cdots e^{\widehat{\xi}_{1n_1}\theta_{1n_1}} g_{st}(0) = e^{\widehat{\xi}_{21}\theta_{21}} \cdots e^{\widehat{\xi}_{2n_2}\theta_{2n_2}} g_{st}(0),

</amsmath>where <amsmath>\xi_{ij}</amsmath> is twist for the the \th{j} joint on the \th{i} chain. The Jacobian of the structure equation has the form

<amsmath> V_{st}^s = J_1^s(\Theta_1) \dot\Theta_1 = J_2^s(\Theta_2) \dot\Theta_2,

</amsmath>where <amsmath>\Theta_i = (\theta_{i1}, \dots, \theta_{in_i})</amsmath>. A kinematic singularity occurs when the dimension of the space of admissible forces drops rank. Other singularities can occur when the set of end-effector forces which can be generated by the actuated joints drops rank.