# A Self-Calibration Method for Robot End-Effector Using Spherical Constraints
## 2 The Error Model
### End-Effector Deformation Error  
In practical industrial applications, robots are often equipped with various end-effectors to meet the requirements of different operational scenarios. Typically, these end-effectors are connected to the robot's end flange via a link, and the connection structure can be regarded as a \"cantilever beam\". Due to the substantial mass of the end-effectors and their extended reach, the link experiences deformation, which reduces the positioning accuracy of the robot. Although most industrial robots can achieve positioning accuracy within 0.5 mm, the addition of end-effectors can significantly diminish this precision. The geometric errors discussed earlier only account for the robot's intrinsic parameters and do not consider the influence of the end-effectors. Therefore, it is essential to develop a model that includes the deformation errors introduced by the robot's end-effectors. A cantilever beam is a common structural element in engineering, characterized by a fixed support at one end and a free, unsupported section at the other, forming a cantilever structure. In the case of a robot equipped with an end-effector, the connecting link has one end fixed to the robot's end flange and the other attached to the end-effector, making it analogous to a cantilever beam. For a cantilever beam subjected to an end load of magnitude \(P\), the deflection at the tip \(z_{t}\) and the rotation angle at the end cross-section \(\theta_{t}\) can be expressed by Equations (11) and (12). \[z_{t}=-\frac{Fl^{3}}{3 EI}=-\frac{1}{3}\cdot c_{t}\cdot l^{3}\cdot P \tag{11}\]  
\[\theta_{t}=-\frac{Fl^{2}}{2 EI}=-\frac{1}{2}\cdot c_{t}\cdot l^{2}\cdot P \tag{12}\]  
Here, \(l\) is the length of the beam, \(E\) is the elastic modulus and \(I\) is the moment of inertia of the cross-section. The parameter \(c_{t}\) represents the bending stiffness of the material, which needs to be identified. Based on the D-H model established earlier, the \(z_{6}\) axis of the robot's end flange coordinate system \(O_{6}\) indicates the direction of the end-effector extension. Therefore, the effective load on the end-effector can be represented by Equation (13). \[F=G\cdot sin\langle z_{0},z_{6}\rangle \tag{13}\]  
\(G\) represents the gravitational force acting on the end-effector, and \(\langle z_{0},z_{6}\rangle\) denotes the angle between the vectors \(z_{0}\) and \(z_{6}\). The end-effector, influenced by gravity, will deform only in the vertical plane. The normal vector of this plane is shown in Equation (14). \[\mathbf{n}=z_{0}\times z_{6} \tag{14}\]  
As shown in Figure 3, the deflection angle of the robot flange coordinate system is defined as Equation (15). \[\theta_{6}=\langle\mathbf{n},\mathbf{y}_{6}\rangle \tag{15}\]Thus, the differential displacement of the end-effector's coordinate system can be expressed as Equations (16) and (17). \[\mathrm{d}x_{t}=z_{t}\cdot cos\theta_{6}=-\frac{1}{3}Fl_{t}{}^{3}\cdot cos\theta _{6}\cdot c_{t} \tag{16}\]  
\[\mathrm{d}y_{t}=-z_{t}\cdot sin\theta_{6}=\frac{1}{3}Fl_{t}{}^{3}\cdot sin\theta _{6}\cdot c_{t} \tag{17}\]  
Similarly, the differential rotational displacement is given by Equations (18) and (19). \[\delta x_{t}=\theta_{t}\cdot sin\theta_{6}=-\frac{1}{2}Fl_{t}{}^{2}\cdot sin \theta_{6}\cdot c_{t} \tag{18}\]  
\[\delta y_{t}=\theta_{t}\cdot cos\theta_{6}=-\frac{1}{2}Fl_{t}{}^{2}\cdot cos \theta_{6}\cdot c_{t} \tag{19}\]  
Here, \(l_{t}\) represents the length of the end-effector, which can be determined through actual measurement. Expressing the above equations as a column vector of differential operators, we can obtain Equation (20). \[ \begin{bmatrix}\mathrm{d}x_{t}\\ \mathrm{d}y_{t}\\ \mathrm{d}z_{t}\\ \delta x_{t}\\ \delta y_{t}\\ \delta z_{t}\end{bmatrix} = \begin{bmatrix}-\frac{1}{3}Fl_{t}{}^{3}cos\theta_{6 }\\ \frac{1}{3}Fl_{t}{}^{3}sin\theta_{6}\\ 0\\ -\frac{1}{2}Fl_{t}{}^{2}sin\theta_{6}\\ 0\end{bmatrix}