# Orbital-Based Automatic Multi-Layer Multi-Pass Welding Equipment for Small Assembly Plates
## 3 Equipment Debugging and Simulation Analysis
### Simulation Analysis of the Robotic Arm  
#### 3.2.1 Kinematic Analysis of the Robotic Arm  
This six-degree-of-freedom robotic arm satisfies the Pieper criterion; this configuration has a closed-form solution. The main components of this robotic arm include the base, the upper and lower arms, the degrees-of-freedom joint modules (J1-J6), the tool flange, and communication and power cables. Each joint axis of the robotic arm is equipped with an independent servo motor and encoder, as shown in Figure 23, which illustrates the structural composition of the robotic arm body. The kinematic model of the robotic arm is established using the standard D-H modeling method (standard Denavit-Hartenberg) [22]. The D-H parameters of this six-axis  
Figure 23: Structural diagram of the robotic arm body. Figure 22: Calibration result graph. welding robotic arm are shown in Table 6, and the coordinate system model established is depicted in Figure 24.  
This experiment employs both analytical and iterative methods for analysis and solution. The analytical method combines algebraic and geometric approaches. The overall process of kinematic analysis is illustrated in Figure 25. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Connecting Rod** & **Torsional Angle** & **Connecting Rod Length** & **Articular Angle** & **Offset Distance** & **Range of Joint Variables** \\ \(i\) & \(\mathbf{\alpha_{i}}^{F}\) & \(\mathbf{\alpha_{i}/\text{mm}}\) & \(\mathbf{\theta_{i}}^{F}\) & \(\mathbf{d_{i}/\text{mm}}\) & \(\mathbf{J_{i}}^{F}\) \\ \hline
1 & 90 & 0 & \(\theta_{1}(0^{\circ})\) & 192.5 & \(-360^{\circ}\)\(-360^{\circ}\) \\
2 & 0 & 266 & \(\theta_{2}(90^{\circ})\) & 0 & \(-135^{\circ}\)\(-135^{\circ}\) \\
3 & 90 & 0 & \(\theta_{3}(90^{\circ})\) & 0 & \(-150^{\circ}\)\(-150^{\circ}\) \\
4 & \(-90\) & 0 & \(\theta_{4}(0^{\circ})\) & 324 & \(-360^{\circ}\)\(-360^{\circ}\) \\
5 & 90 & 0 & \(\theta_{5}(0^{\circ})\) & 0 & \(-147^{\circ}\)\(-147^{\circ}\) \\
6 & 0 & 0 & \(\theta_{6}(0^{\circ})\) & 156.5 & \(-360^{\circ}\)\(-360^{\circ}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 6: Six-axis welding robotic arm D-H parameters. Figure 24: D-H coordinate system model diagram. Figure 25: Kinematic analysis flow chart. The forward kinematics equations express the transformation process between the base coordinate system at the origin of the robotic arm and the end-effector coordinate system using matrix \(T\);  
\[{}^{i-1}T=Rot(z,\theta_{i})\times Trans(z,d_{i})\times Trans(x,a_{i})\times Rot(x, \alpha_{i}) \tag{22}\]  
By expanding Equation (22), we obtain (23):  
\[{}_{i}^{i-1}T= \begin{bmatrix}\cos\theta_{i}&-\sin\theta_{i}\cos\alpha_{i}&- \sin\theta_{i}\cos\alpha_{i}&a_{i}\cos\theta_{i}\\ \sin\theta_{i}&\cos\theta_{i}\cos\alpha_{i}&-\cos\theta_{i}\sin\alpha_{i}&a_{ i}\sin\theta_{i}\\ 0&\sin\alpha_{i}&\cos\alpha_{i}&d_{i}\\ 0&0&0&1\end{bmatrix}  \tag{23}\]  
The homogeneous transformation matrix is shown in (24):  
\[{}_{1}^{0}T= \begin{bmatrix}C_{1}&0&S_{1}&0\\ S_{1}&0&-C_{1}&0\\ 0&1&0&d_{1}\\ 0&0&0&1\end{bmatrix} \quad{}_{1}^{1}T= \begin{bmatrix}C_{2}&-S_{2}&0&a_{2}C_{2} \\ S_{2}&C_{2}&0&a_{2}S_{2}\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix}  \tag{24}\] \[{}_{3}^{2}T= \begin{bmatrix}C_{3}&0&S_{3}&0\\ S_{3}&0&-C_{3}&0\\ 0&1&0&0\\ 0&0&0&1\end{bmatrix} \quad{}_{3}^{2}T= \begin{bmatrix}C_{4}&0&-S_{4}&0\\ S_{4}&0&C_{4}&0\\ 0&-1&0&d_{4}\\ 0&0&0&1\end{bmatrix} \] \[{}_{4}^{5}T= \begin{bmatrix}C_{5}&0&S_{5}&0\\ S_{5}&0&-C_{5}&0\\ 0&1&0&0\\ 0&0&0&1\end{bmatrix} \quad{}_{6}^{5}T= \begin{bmatrix}C_{6}&-S_{6}&0&0\\ S_{6}&C_{6}&0&0\\ 0&-1&0&d_{6}\\ 0&0&0&1\end{bmatrix} \]  
By sequentially multiplying the homogeneous transformation matrices, we obtain the following end-effector pose matrix (25):  
\[{}_{6}^{0}T={}_{1}^{0}T\cdot{}_{2}^{1}T\cdot{}_{3}^{2}T\cdot{}_{4}^{3}T\cdot{} _{5}^{4}T\cdot{}_{6}^{5}T= \begin{bmatrix}n_{x}&\alpha_{x}&a_{x}&p_{x}\\ n_{y}&\alpha_{y}&a_{y}&p_{y}\\ n_{z}&\alpha_{z}&a_{z}&p_{z}\\ 0&0&0&1\end{bmatrix}