# Algorithmic Modified Denavit-Hartenberg Modeling for Robotic Manipulators Using Line Geometry
## 5 Verification
### Scara
\begin{bmatrix}0.5\\ 0.5\\ 0.5\\ 0.5\\ 0.5\end{bmatrix} \) \\ \cline{2-7}  & \multirow{2}{*}{\(\hat{x}_{i}\)} & \( \begin{bmatrix}0\\ 0\\ 0\end{bmatrix} \) & \  
Using the constant MDH parameters suggested in Table 2, the adjacent transformation can be represented by adding joint variables \(q_{1,\theta},q_{2,\theta},q_{3,\theta}\) for the first, second, and third revolute joints and \(q_{4,d}\) for the fourth prismatic joint. The generalized joint variables \((\theta_{i},d_{i})\) for each joint are summarized in Table 4.  
The forward kinematics can be obtained using the MDH parameters \((\alpha_{i},a_{i})\) about/along the \(\hat{x}_{i-1}\)-axis and the generalized joint variables \((\theta_{i},d_{i})\) about/along the \(\hat{z}_{i}\)-axis as follows:  
\[{}^{0}T_{tcf}={}^{0}T_{1}(\theta_{1},d_{1}){}^{1}T_{2}(\theta_{2},d_{2})^{2}T_ {3}(\theta_{3},d_{3})^{3}T_{4}(\theta_{4},d_{4})^{4}T_{tcf},\]  
where \(tcf\) implies \(\{5\}\) and \(i\)th adjacent transformation belonging to \(SE(3)\) is obtained as, for \(i=1,2,3,4\),  
\[{}^{i-1}T_{i}(\theta_{i},d_{i})=\text{expm}(\lceil\lambda_{x_{i-1}}\rceil) \text{expm}(\lceil\lambda_{z_{i}}\rceil),\]  
in which the exponential coordinates \(\lambda_{x_{i-1}}\in\mathbb{R}^{6}\) and \(\lambda_{z_{i}}\in\mathbb{R}^{6}\) isomorphic to the Lie algebras \(\lceil\lambda_{x_{i-1}}\rceil\in\mathfrak{se}(3)\) and \(\lceil\lambda_{z_{i}}\rceil\in\mathfrak{se}(3)\) are described using Equation (4) and summarized in Table 5. \begin{table}
\begin{tabular}{c c} \hline \hline
**Joints** & **Generalized Joint Variables (\(\theta_{i},d_{i}\))** \\ \hline
1 st revolute & \(\theta_{1}\leftarrow\theta_{10}+q_{1,\theta}=\frac{\pi}{2}+q_{1,\theta}\) \\  & \(d_{1}\gets d_{10}=0.375\) \\ \hline
2 nd revolute & \(\theta_{2}\leftarrow\theta_{20}+q_{2,\theta}=-\frac{\pi}{2}+q_{2,\theta}\) \\  & \(d_{2}\gets d_{20}=0.025\) \\ \hline
3 rd revolute & \(\theta_{3}\leftarrow\theta_{30}+q_{3,\theta}=q_{3,\theta}\) \\  & \(d_{3}\gets d_{30}=0\) \\ \hline
4 th prismatic & \(\theta_{4}\leftarrow\theta_{40}=0\) \\  & \(d_{4}\gets d_{40}+q_{4,d}=0.25+q_{4,d}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 4: The generalized joint variables with MDH parameters for the SCARA robot. Figure 7: The SCARA robot example, where the left side shows six line information including the base and TCF and the right side illustrates the result of MDH parameters extracted using Algorithm 1, in which the red arrow denotes the \(\hat{x}_{i}\)-axis, the green arrow expresses the \(\hat{y}_{i}\)-axis, and the blue arrow represents the \(\hat{z}_{i}\)-axis, respectively. In addition, the circle \(\circ\) on the left side denotes the point \(p_{i}\), and \(\circ\) on the right side expresses the origin of the \(i\)th frame. Additionally, we can derive the joint twist represented by \({}^{i-1}V_{i}=\lambda_{z_{i}}=E_{i}q_{i}\) and the joint matrix \(E_{i}\) as suggested in Section 2.3. Furthermore, the joint matrix represented in the base frame \(\{0\}\) (\({}^{0}E_{i}={}^{0}\text{Ad}_{i}E_{i}\)) and the joint matrix represented in the tool coordinate frame \(\{tcf\}\) (\({}^{cf}E_{i}={}^{tcf}\text{Ad}_{i}E_{i}\)) can be obtained using the corresponding adjoint transformations \({}^{0}\text{Ad}_{i}\) and \({}^{tcf}\text{Ad}_{i}\), respectively. Two types of joint matrices denoted by \({}^{0}E_{i}\) and \({}^{tcf}E_{i}\) are called spatial screw axes and body screw axes in [4], respectively.