# Algorithmic Modified Denavit-Hartenberg Modeling for Robotic Manipulators Using Line Geometry
## 2 Exponential Map Using MDH
### Exponential Map Using MDH  
In this work, Lie group methods are employed to establish a connection between the Modified Denavit-Hartenberg (MDH) parameters and Lie algebra in the context of robot forward kinematics. For readers unfamiliar with the fundamentals of Lie groups and Lie algebras in robotic modeling, we recommend [3; 4] as accessible introductions. For a more advanced treatment of Lie group integration and numerical methods, refer to [21]. In addition, screw theory, which underpins many geometric interpretations used here, is thoroughly discussed in [2]. The adjacent transformation from the coordinate frame \(\{i-1\}\) to the frame \(\{i\}\) in Figure 1 can be decomposed into two exponential maps because the link twist \(\alpha_{i}\) and the link length \(a_{i}\) are represented with respect to the \(\hat{x}_{i-1}\)-axis and the generalized joint variables \(d_{i}\) and \(\theta_{i}\) with respect to the \(\hat{z}_{i}\) axis as follows:  
\[{}^{i-1}T_{i}(\theta_{i},d_{i})=\text{expm}(\lceil\lambda_{x_{i-1}}\rceil) \text{expm}(\lceil\lambda_{z_{i}}\rceil), \tag{1}\]  
where the matrix exponential, belonging to the Lie group \(SE(3)\), is defined by using the matrix \(\lceil\lambda\rceil\), belonging to Lie algebra \(\mathfrak{se}(3)\), as follows:  
\[\text{expm}(\lceil\lambda\rceil) =\sum_{k=0}^{\infty}\frac{\lceil\lambda\rceil^{k}}{k!} \tag{2a}\] \[\lceil\lambda_{x_{i-1}}\rceil =\left[ \begin{array}{cccc}0&0&0&a_{i}\\ 0&0&-\alpha_{i}&0\\ 0&\alpha_{i}&0&0\\ \hline 0&0&0&0\\ \end{array} \right]\] (2b) \[\lceil\lambda_{z_{i}}\rceil =\left[ \begin{array}{cccc}0&-\theta_{i}&0&0\\ \theta_{i}&0&0&0\\ 0&0&0&d_{i}\\ \hline 0&0&0&0\\ \end{array} \right]. \tag{2c}\]  
In other words, \(\lceil\lambda\rceil\) implies Lie algebra \(\mathfrak{se}(3)\) and \(\text{expm}(\lceil\lambda\rceil)\) is a Lie group \(SE(3)\) lifted from the Lie algebra \(\lceil\lambda\rceil\), where \(\lambda\in\mathbb{R}^{6}\) means the exponential coordinate vector. The series expansion of \(\text{expm}(\lceil\lambda\rceil)\) using Equation (2a) results in: \begin{table}
\begin{tabular}{c l} \hline \hline
**Joint Type** & **Generalized Joint Variables (\(\theta_{i},d_{i}\))** \\ \hline Revolute (R) & \(\theta_{i}\leftarrow\theta_{i0}+q_{i,\theta}\) \\ one-dof & \(d_{i}\gets d_{i0}\) \\ \hline Prismatic (P) & \(\theta_{i}\leftarrow\theta_{i0}\) \\ one-dof & \(d_{i}\gets d_{i0}+q_{i,d}\) \\ \hline Helical (H) & \(\theta_{i}\leftarrow\theta_{i0}+q_{i,\theta}\) \\ one-dof & \(d_{i}\gets d_{i0}+hq_{i,\theta}\) \\ \hline Cylindrical (RP) & \(\theta_{i}\leftarrow\theta_{i0}+q_{i,\theta}\) \\ two-dof & \(d_{i}\gets d_{i0}+q_{i,d}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 1: The generalized joint variables with MDH parameters. \[\text{expm}(\lceil\lambda_{x_{i-1}}\rceil) =\left[ \begin{array}{cccc}1&0&0&a_{i}\\ 0&\cos\alpha_{i}&-\sin\alpha_{i}&0\\ 0&\sin\alpha_{i}&\cos\alpha_{i}&0\\ \hline 0&0&0&1\end{array} \right] \tag{3a}\] \[\text{expm}(\lceil\lambda_{x_{i}}\rceil) =\left[ \begin{array}{cccc}\cos\theta_{i}&-\sin\theta_{i}&0&0\\ \sin\theta_{i}&\cos\theta_{i}&0&0\\ 0&0&1&d_{i}\\ \hline 0&0&0&1\end{array} \right]. \tag{3b}\]  
Since Lie algebra \(\mathfrak{se}(3)\) is isomorphic to a six-dimensional real vector \(\mathbb{R}^{6}\), we can use it interchangeably  
\[\lambda= \begin{bmatrix}\eta\\ \xi\end{bmatrix} \in\mathbb{R}^{6}\leftrightarrow\lceil\lambda\rceil= \begin{bmatrix}0&-\xi_{z}&\xi_{y}&\eta_{x}\\ \xi_{z}&0&-\xi_{x}&\eta_{y}\\ -\xi_{y}&\xi_{x}&0&\eta_{z}\\ \hline 0&0&0&0\end{bmatrix} \in\mathfrak{se}(3),\]  
where \(\eta=[\eta_{x},\eta_{y},\eta_{z}]^{T}\in\mathbb{R}^{3}\) and \(\xi=[\xi_{x},\xi_{y},\xi_{z}]^{T}\in\mathbb{R}^{3}\) imply the linear and angular components of the exponential coordinate vector \(\lambda\in\mathbb{R}^{6}\), respectively. Thus, we can find the exponential coordinates of MDH from Equations (2b) and (2c), respectively, as follows:  
\[\lambda_{x_{i-1}}= \begin{bmatrix}a_{i}\\ 0\\ 0\\ \hline\alpha_{i}\\ 0\\ 0\end{bmatrix} \qquad\qquad\text{and}\qquad\qquad\lambda_{z_{i}}=