# Algorithmic Modified Denavit-Hartenberg Modeling for Robotic Manipulators Using Line Geometry
## 2 Exponential Map Using MDH
### MDH Parameters  
The MDH notation describes the relationship between adjacent joint axes at zero-configuration which represents when every joint variable is zero. To define the four MDH parameters, the coordinate frames are determined according to the following procedures:  
1. Set the \(\hat{z}\)-axis in the direction of the joint axis.
2. Define the \(\hat{x}\)-axis as the common perpendicular direction to the adjacent joint axes. In cases where adjacent axes are collinear, the previous \(\hat{x}\)-axis is retained as the current \(\hat{x}\)-axis.
3. Determine the \(\hat{y}\)-axis using the right-hand rule.  
Figure 1 illustrates how to set up two coordinate frames \(\{i-1\}\) and \(\{i\}\) from three consecutive joint axes \(i-1,i\) and \(i+1\). After setting up both coordinate frames, four MDH parameters are defined as follows:  
1. Link twist (\(\alpha_{i}\)): this parameter represents the angle from \(\hat{z}_{i-1}\) to \(\hat{z}_{i}\) about the \(\hat{x}_{i-1}\)-axis
2. Link length (\(a_{i}\)): this denotes a distance from \(\hat{z}_{i-1}\) to \(\hat{z}_{i}\) along the \(\hat{x}_{i-1}\)-axis
3. Joint offset distance (\(d_{i0}\)): this is the distance from \(\hat{x}_{i-1}\) to \(\hat{x}_{i}\) along the \(\hat{z}_{i}\)-axis
4. Joint offset angle (\(\theta_{i0}\)): this expresses the angle from \(\hat{x}_{i-1}\) to \(\hat{x}_{i}\) about the \(\hat{z}_{i}\)-axis.  
It is noted that three consecutive joint axes are required to define four MDH parameters, which are used to obtain the adjacent transformation between the frame \(\{i-1\}\) and the frame \(\{i\}\). Figure 1 shows a typical example of MDH parameters. Note that the terms \"joint offset distance\" and \"joint offset angle\" correspond to the standard MDH parameters \(d_{i}\) and \(\theta_{i}\), respectively. The subscript \"0\" is introduced to distinguish between constant geometric parameters and variable joint inputs (e.g., \(q_{i,\theta}\), \(q_{i,\theta}\)) and to clarify their role in generating the transformation matrix. Using the four constant MDH parameters, the adjacent transformation can be represented by adding joint variables \(q_{i,\theta}\) for the revolute joint type and \(q_{i,d}\) for the prismatic joint type. For this purpose, \(i\)th generalized joint variables \(\theta_{i}\) and \(d_{i}\) are defined differently according to the joint types as follows: where \(h\) implies a pitch to denote a moving distance along the joint axis per one revolution for the  
Figure 1: Modified Denavit–Hartenberg (MDH) parameters, where \(p_{i-1}\) denotes the point on the \((i-1)\)th joint axis, the \(\hat{z}_{i-1}\)-axis is set along the \((i-1)\)th joint axis, the \(\hat{x}_{i-1}\)-axis is determined to be a common perpendicular direction from the \(\hat{z}_{i-1}\)-axis to the \(\hat{z}_{i}\)-axis, and the origin of the frame \(\{i-1\}\) denoted by \({}^{i-1}t_{i-1}\) is an intersection point of the \(\hat{x}_{i-1}\)-axis and the \(\hat{z}_{i-1}\)-axis. Also, four MDH parameters are denoted as \(\alpha_{i}\), \(a_{i}\), \(\theta_{i0}\), and \(d_{i0}\).  
helical joint. It is noted that three consecutive joint axes are required to define four MDH parameters, which are used to obtain the adjacent transformation between the frame \(i-1\) and the frame \(i\), as summarized in Table 1.