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.