Difference between revisions of "Manipulator Kinematics"

From MLSwiki
Jump to: navigation, search
m
 
(One intermediate revision by the same user not shown)
Line 10: Line 10:
  
 
== 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: &nbsp;&nbsp;
 +
| align=center | <amsmath>e^{\widehat{\xi}\theta} p = q</amsmath>
 +
| align=left  | &nbsp;&nbsp; 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  | &nbsp;&nbsp; rotate about two intersecting twists
 +
|-
 +
| align=left  | Subproblem 3:
 +
| align=center | <amsmath>\|q - e^{\widehat{\xi}\theta} p\| = \delta</amsmath>
 +
| align=left  | &nbsp;&nbsp; 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:

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

  2. 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.
  3. 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.

  4. 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>
  5. 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.
  6. 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>
  7. 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.

Additional Information