Difference between revisions of "Manipulator Kinematics"
(2 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
motion of the rigid bodies which form the robot. This chapter gives a | 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, | description of the kinematics for a general <math>n</math> degree of freedom, | ||
− | open-chain robot manipulator using the tools presented in {{ch | + | open-chain robot manipulator using the tools presented in {{ch:Rigid Body Motion}}. |
We also present a brief treatment of redundant and parallel | We also present a brief treatment of redundant and parallel | ||
manipulators using this same framework. | manipulators using this same framework. | ||
== Chapter Summary == | == Chapter Summary == | ||
+ | |||
+ | 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: | ||
+ | * Two collinear revolute joints | ||
+ | * Three parallel, coplanar revolute joint axes | ||
+ | * Four intersecting revolute joint axes | ||
+ | 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 == |
Latest revision as of 02:17, 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.
Chapter Summary
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:
- Two collinear revolute joints
- Three parallel, coplanar revolute joint axes
- Four intersecting revolute joint axes
- 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.