# Difference between revisions of "Manipulator Kinematics"

m |
(→Chapter Summary) |
||

Line 9: | Line 9: | ||

manipulators using this same framework. | manipulators using this same framework. | ||

− | == | + | The following are the key concepts covered in this chapter: |

+ | <ol> | ||

+ | <li>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'': | ||

+ | <center><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></center> | ||

+ | where <amsmath>\xi_i</amsmath> is the twist corresponding to the \th{i} joint axis in | ||

+ | the reference (<amsmath>\theta = 0</amsmath>) configuration. | ||

+ | </li> | ||

+ | |||

+ | <li>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. | ||

+ | </li> | ||

+ | |||

+ | <li>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: | ||

+ | {| align=center | ||

+ | |- | ||

+ | | align=left | Subproblem 1: | ||

+ | | align=center | <amsmath>e^{\widehat{\xi}\theta} p = q</amsmath> | ||

+ | | align=left | rotate one point onto another | ||

+ | |- | ||

+ | | align=left | Subproblem 2: | ||

+ | | align=center | <amsmath>e^{\widehat{\xi}_1\theta_1} e^{\widehat{\xi}_2\theta_2} p = q</amsmath> | ||

+ | | align=left | rotate about two intersecting twists | ||

+ | |- | ||

+ | | align=left | Subproblem 3: | ||

+ | | align=center | <amsmath>\|q - e^{\widehat{\xi}\theta} p\| = \delta</amsmath> | ||

+ | | align=left | 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. | ||

+ | </li> | ||

+ | |||

+ | <li>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>: | ||

+ | <center><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></center> | ||

+ | If the | ||

+ | manipulator kinematics is written using the product of exponentials | ||

+ | formula, then | ||

+ | the manipulator Jacobians have the form: | ||

+ | <center><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></center> | ||

+ | </li> | ||

+ | |||

+ | <li>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} | ||

+ | </li> | ||

+ | |||

+ | <li>Two collinear revolute joints | ||

+ | </li> | ||

+ | |||

+ | <li>Three parallel, coplanar revolute joint axes | ||

+ | </li> | ||

+ | |||

+ | <li>Four intersecting revolute joint axes | ||

+ | \end{enumerate} | ||

+ | The ''manipulability'' of a robot provides a measure of the | ||

+ | nearness to singularity. | ||

+ | </li> | ||

+ | |||

+ | <li>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 | ||

+ | <center><amsmath> | ||

+ | J_{st}(\theta) \dot\theta = 0. | ||

+ | </amsmath></center> | ||

+ | </li> | ||

+ | |||

+ | <li>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 | ||

+ | <center><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></center> | ||

+ | 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 | ||

+ | <center><amsmath> | ||

+ | V_{st}^s = J_1^s(\Theta_1) \dot\Theta_1 = J_2^s(\Theta_2) \dot\Theta_2, | ||

+ | </amsmath></center> | ||

+ | 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. | ||

+ | </li> | ||

+ | </ol> | ||

== Additional Information == | == Additional Information == |

## Revision as of 02:16, 23 July 2009

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.