Engineering:Product of exponentials formula

From HandWiki

The product of exponentials (POE) method is a robotics convention for mapping the links of a spatial kinematic chain. It is an alternative to Denavit–Hartenberg parameterization. While the latter method uses the minimal number of parameters to represent joint motions, the former method has a number of advantages: uniform treatment of prismatic and revolute joints, definition of only two reference frames, and an easy geometric interpretation from the use of screw axes for each joint.[1] The POE method was introduced by Roger W. Brockett in 1984.[2]

Method

The following method is used to determine the product of exponentials for a kinematic chain, with the goal of parameterizing an affine transformation matrix between the base and tool frames in terms of the joint angles [math]\displaystyle{ \theta_1...\theta_N. }[/math]

Define "zero configuration"

The first step is to select a "zero configuration" where all the joint angles are defined as being zero. The 4x4 matrix [math]\displaystyle{ g_{st}(0) }[/math] describes the transformation from the base frame to the tool frame in this configuration. It is an affine transform consisting of the 3x3 rotation matrix R and the 1x3 translation vector p. The matrix is augmented to create a 4x4 square matrix.

[math]\displaystyle{ g_{st}(0) = \left[ \begin{array}{cc} R & p \\ 0 & 1 \\ \end{array} \right] }[/math]

Calculate matrix exponential for each joint

The following steps should be followed for each of N joints to produce an affine transform for each.

Define the origin and axis of action

For each joint of the kinematic chain, an origin point q and an axis of action are selected for the zero configuration, using the coordinate frame of the base. In the case of a prismatic joint, the axis of action v is the vector along which the joint extends; in the case of a revolute joint, the axis of action ω the vector normal to the rotation.

Find twist for each joint

A 1x6 twist vector is composed to describe the movement of each joint. For a revolute joint,[math]\displaystyle{ \xi_i=\left(\begin{array}{c} - \omega_i \times q_i \\ \omega_i \\ \end{array}\right) . }[/math]

For a prismatic joint,[math]\displaystyle{ \xi_i=\left(\begin{array}{c} v_i \\ 0 \\ \end{array}\right) . }[/math]

The resulting twist has two 1x3 vector components: Linear motion along an axis ([math]\displaystyle{ v }[/math]) and rotational motion along the same axis (ω).[math]\displaystyle{ \xi= \left(\begin{array}{c} v \\ \omega \\ \end{array}\right). }[/math]

Calculate rotation matrix

The 3x1 vector ω is rewritten in cross product matrix notation: [math]\displaystyle{ \hat{\omega} = \left[ \begin{array}{ccc} 0 & -\omega_3 & \omega_2 \\ \omega_3 & 0 & -\omega_1 \\ -\omega_2 & \omega_1 & 0 \\ \end{array} \right]. }[/math]

Per Rodrigues' rotation formula, the rotation matrix is calculated from the rotational component:[math]\displaystyle{ e^{\hat{\omega} \theta} = I + \hat{\omega}\sin{\theta} + \hat{\omega}^2(1-\cos{\theta}). }[/math]

Calculate translation

The 3x1 translation vector is calculated from the components of the twist.[math]\displaystyle{ t = (I-e^{\hat{\omega} \theta})(\omega \times v) + \omega \omega^T v \theta }[/math]where I is the 3x3 identity matrix. [3]

Compose matrix exponential

For each joint i, the matrix exponential [math]\displaystyle{ e^{\hat{\xi}_{i} \theta _{i}} }[/math] for a given joint angle [math]\displaystyle{ \theta }[/math] is composed from the rotation matrix and translation vector, combined into an augmented 4x4 matrix:[math]\displaystyle{ e^{\hat{\xi}_{i} \theta _{i}} = \left[ \begin{array}{cc} e^{\hat{\omega} \theta} & t \\ 0 & 1 \\ \end{array} \right] }[/math]

Compose structure equation

The matrix exponentials are multiplied to produce a 4 × 4 affine transform [math]\displaystyle{ g_d(\theta_i,\ldots,\theta_n) }[/math] from the base frame to the tool frame in a given configuration.[math]\displaystyle{ g_d=e^{\hat{\xi}_1\theta_1}\cdots e^{\hat{\xi}_n\theta_n}g_{st}(0). }[/math]

Application to kinematics

Forward kinematics may be computed directly from the POE chain for a given manipulator. This allows generating of complex trajectories of the end-effector in Cartesian space (Cartesian coordinate system) given trajectories in the joint space.[4] Inverse kinematics for most common robot manipulators can be solved with the use of Paden–Kahan subproblems. The problem of inverse kinematics can also be approached with the use of nonlinear root-finding methods, such as the Newton-Raphson iterative method (Newton's method).[4]

Relationship to Denavit–Hartenberg parameters

Advantages

The product of exponentials method uses only two frames of reference: the base frame S and the tool frame T. Constructing the Denavit–Hartenberg parameters for a robot requires the careful selection of tool frames in order to enable particular cancellations, such that the twists can be represented by four parameters instead of six. In the product of exponentials method, the joint twists can be constructed directly without considering adjacent joints in the chain. This makes the joint twists easier to construct, and easier to process by computer.[3] In addition, revolute and prismatic joints are treated uniformly in the POE method, while they are treated separately when using the Denavit–Hartenberg parameters. Moreover, there are multiple conventions for assigning link frames when using the Denavit–Hartenberg parameters.

Conversion

There is not a one-to-one mapping between twist coordinate mapping in both methods, but algorithmic mapping from POE to Denavit–Hartenberg has been demonstrated.[5]

Application to parallel robots

When analyzing parallel robots, the kinematic chain of each leg is analyzed individually and the tool frames are set equal to one another. This method is extensible to grasp analyses.

References

  1. Lynch, Kevin; Park, Frank (2017). Modern Robotics (1st ed.). Cambridge University Press. ISBN 9781107156302. 
  2. Brockett, Roger (1983). "Robotic manipulators and the product of exponentials formula". International Symposium on the Mathematical Theory of Networks and Systems. 
  3. 3.0 3.1 Sastry, Richard M. Murray; Zexiang Li; S. Shankar (1994). A mathematical introduction to robotic manipulation (1. [Dr.] ed.). Boca Raton, Fla.: CRC Press. ISBN 9780849379819. http://www.cds.caltech.edu/~murray/books/MLS/pdf/mls94-complete.pdf. 
  4. 4.0 4.1 Malik, Aryslan; Henderson, Troy; Prazenica, Richard (January 2021). "Trajectory Generation for a Multibody Robotic System using the Product of Exponentials Formulation". AIAA Scitech 2021 Forum: 2016. doi:10.2514/6.2021-2016. ISBN 978-1-62410-609-5. https://arc.aiaa.org/doi/abs/10.2514/6.2021-2016. 
  5. Wu, Liao; Crawford, Ross; Roberts, Jonathan (October 2017). "An Analytic Approach to Converting POE Parameters Into D–H Parameters for Serial-Link Robots". IEEE Robotics and Automation Letters 2 (4): 2174–2179. doi:10.1109/LRA.2017.2723470. https://eprints.qut.edu.au/109080/1/POE2DH.pdf.