# An Algorithm for Painting Large Objects Based on a Nine-Axis UR5 Robotic Manipulator
## 3 Nine-Axis UR5 Robot Forward Kinematics Model  
The space that the UR5 robot covers is limited, and large-size objects may not be painted at once. When an area that needs to be painted is outside the working space of the UR5 robot, the D-H parameters of the UR5 robot must be changed, or auxiliary equipment must be added to help with the painting. The former is costly. Changing joints is not conducive to the popularization of UR5 robots. The proposed 6-DOF UR5 robot is installed on a 3-axis motion platform that moves horizontally, laterally, and vertically to assist painting. The 3D drawing of the UR5 robot is shown in Figure 9. The 9-axis UR5 robotic manipulator includes the 3-axis motion platform that has 3 prismatic pairs and the UR5 robot that has 6 revolute pairs. The 6-DOF UR5 robot selected in this paper is a UR5 robot, which is shown in Figure 10.  
Figure 10: The UR5 robot. Figure 9: 3D drawings of the UR5 robot. The pose of the actual UR5 robot end \(\mathbf{T}\) is shown in Equation (8). \[\mathbf{T}=\mathbf{Trans}(t_{x},t_{y},t_{z})\mathbf{Rot}(x,\pi) \mathbf{T}_{\text{robot}}\mathbf{T}_{\text{tool}}\mathbf{T}_{\text{dis}}\] \[\mathbf{Trans}(t_{x},t_{y},t_{z})=\left[ \begin{array}{ccc}1&0&0&t_ {x}\\ 0&1&0&t_{y}\\ 0&0&1&t_{z}\\ 0&0&0&1\end{array} \right] \tag{8}\] \[\mathbf{Rot}(x,\pi)= \begin{bmatrix}1&0&0&0\\ 0&\cos\pi&\sin\pi&0\\ 0&-\sin\pi&\cos\pi&0\\ 0&0&0&1\end{bmatrix} \]  
in which \(t_{x}\), \(t_{y}\), and \(t_{z}\) represent the movement of the motion platform along the \(x\), \(y\), and \(z\) axes, respectively, and \(\mathbf{Trans}\) represents the movement operator. \(\mathbf{Rot}\) represents the rotation matrix of the \(x\)-axis. \(\mathbf{T}_{\text{tool}}\), which is shown in Figure 11, represents the pose of the end-effector relative to its installation center. \(\mathbf{T}_{\text{dis}}\), which is also shown in Figure 11, represents the end fracture of the UR5 robot's position. \(\mathbf{T}_{\text{tool}}\) is determined by the structure of the end-effector, and \(\mathbf{T}_{\text{dis}}\) is determined by the parameters of the end fixture of the UR5 robot's position. The UR5 robot system has 9 axes which are described in Figure 11. Axes 1 to 6 are the 6 joints of the UR5 robot. Axes 7 to 9 are the three-dimensional Cartesian coordinate system of the motion platform. Figure 11: \(\mathbf{T}_{\text{tool}}\), \(\mathbf{T}_{\text{dis}}\), and the 9 axes of the UR5 robot system. Figure 12a is the structural diagram of the 6-DOF UR5 robot composed of 6 revolute pairs, represented by 1, 2, 3, 4, 5, and 6 and 0 represents the end fixture of the UR5 robot. In order to analyze the pose change of the UR5 robot's end fixture coordinates relative to the end-effector, the D-H model is harnessed to establish the kinematics forward solution model of the UR5 robot. The UR5 robot's pose change matrix in the D-H model is shown in Equation (9). \[ \begin{split}\underset{i}{}^{i-1}\mathbf{T}=\mathbf{Rot}(z, \theta_{i})\mathbf{Trans}(0,0,d_{i})\mathbf{Trans}(a_{i},0,0)\mathbf{Rot}(x, \alpha_{i})\\ \mathbf{Rot}(z,\theta_{i})=\begin{bmatrix}\cos\theta_{i}&\sin \theta_{i}&0&0\\ -\sin\theta_{i}&\cos\theta_{i}&0&0\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix}\end{split}  \tag{9}\]  
In Equation (9), \(\theta_{i}\) is the angle for which \(x_{i-1}\) spins around \(z_{i}\) to become \(x_{i}\); \(d_{i}\) is the distance between \(x_{i-1}\) and \(x_{i}\) along \(z_{i}\); \(a_{i}\) is the distance between \(z_{i}\) and \(z_{i+1}\) along \(x_{i}\), and \(\alpha_{i}\) is the angle for which \(z_{i}\) spins around \(x_{i}\) to become \(z_{i+1}\). \(\mathbf{Rot}(z\), \(\theta_{i})\) represents the rotation matrix of the \(z\)-axis; \(\theta_{i}\), \(d_{i}\), \(\alpha_{i}\), and \(a_{i}\) are shown in Figure 12b. \(\underset{i}{}^{i-1}\mathbf{T}\) is shown in Equation (10), where s represents the sine function and c represents the cosine function. \[\underset{i}{}^{i-1}\mathbf{T}=