## 2 Materials and Methods
### Geometric Model of a Robot  
For such an identification, a geometric model that is as precise as possible of a robot needs to be determined. The Universal Robot UR3 was chosen for demonstrating the function of the proposed solution. Its geometric model used for all calculations is based on modified Denavit-Hartenberg notation (MDH), described in [22] by [PERSON]. Our geometric model consists of 9 coordinate systems. The \"b\" frame is the reference coordinate system (world frame); later in our measurements it is represented by a tag marker placed on a rod. The \"0\" frame represents base frame of the robot. The frames from \"1\" to \"6\" represent the joints; the 6 th frame position corresponds to the mounting flange. The \"e\" frame stands for the tool offset, in this case a measuring point that was focused by the sensor. The scheme of the model is illustrated in Figure 1. The MDH parameters are noted in Table 1; the \(o_{i}\) stands for offset of the \(i\)th joints in this position. \begin{table}
\begin{tabular}{c c c c c c} \hline \(i\) & \(\mathbf{\alpha_{i-1}}\) [rad] & \(\mathbf{x_{i-1}}\) [mm] & \(\mathbf{z_{i}}\) [mm] & \(\mathbf{\theta_{i}}\) [rad] & \(\mathbf{o_{i}}\) [rad] \\ \hline
1 & 0 & 0 & 151.90 & \(q_{1}\) & 0 \\
2 & \(\pi/2\) & 0 & 119.85 & \(q_{2}\) & \(\pi\) \\
3 & 0 & 243.65 & 0 & \(q_{3}\) & 0 \\
4 & 0 & 213.25 & \(-9.45\) & \(q_{4}\) & 0 \\
5 & \(-\pi/2\) & 0 & 83.35 & \(q_{5}\) & 0 \\
6 & \(\pi/2\) & 0 & 81.90 & \(q_{6}\) & \(\pi\) \\ \hline \end{tabular}
\end{table} 
Table 1: MDH parameters of the UR3 robot. Figure 1: UR3 with coordinate frames according to MDH. For a vector \(q=[q_{1},q_{2},q_{3},q_{4},q_{5},q_{6}]^{T}\) representing the joint variables, a homogeneous transformation matrix \(T_{be}(q)\) gives the position and orientation \(P\) of the UR3's end-effector tool frame \"e\" with respect to the base frame \"b\" of the workplace. \[P=T_{be}(q) \tag{1}\]  
\[T_{be}(q)=A_{b0}A_{01}(q_{1})A_{12}(q_{2})A_{23}(q_{3})A_{34}(q_{4})A_{45}(q_{5} )A_{56}(q_{6})A_{6e} \tag{2}\]  
According to [22], matrix \(A_{i-1,i}\) in MDH notation is obtained by multiplying rotation matrix \(R_{x}\) along \(x\) axis, translation matrix \(T_{x}\) along \(x\) axis, rotation matrix \(R_{z}\) along \(z\) axis and translation matrix \(T_{z}\) along \(z\) axis. \[A_{i-1,i}=R_{x}(\alpha_{i-1})T_{x}(x_{i-1})R_{z}(\theta_{i})T_{z}(d_{i}) \tag{3}\]  
G=The geometric model of the UR3 is mathematically expressed by the transformation matrix \(T_{be}(q)\) noted in Equation (2). Matrix \(A_{b0}\) is displacement between the reference \"b\" frame and \"0\" frame; orientation difference is represented by \(R_{0}\) rotational matrix. Matrix \(A_{6e}\) is displacement between the mounting flange and \"e\" frame of the end-effector. The objective of this study is to determine the 12 parameters of \(A_{b0}\) matrix, so to find the base frame \"0\" of a robot in a workplace. To be able to achieve this, it is necessary to identify during the calculations also the displacement of the end-effector (\(x_{e}\), \(y_{e}\), and \(z_{e}\)); however, the rotational part of the \(A_{6e}\) can be freely chosen. The reason is that the transform is static (there is no variable between 6 th frame of the robot and end-effector \"e\" frame). For simplicity, we choose \(R_{e}\) as identity matrix. \[A_{b0}= \begin{bmatrix}&&x_{0}\\ &R_{0}&&y_{0}\\ 0&0&0&1\end{bmatrix} ;A_{6e}= \begin{bmatrix}1&0&0&x_{e}\\ 0&1&0&y_{e}\\ 0&0&1&z_{e}\\ 0&0&0&1\end{bmatrix}  \tag{4}\]  
\[R_{0}= \begin{bmatrix}r_{11}&r_{12}&r_{13}\\ r_{21}&r_{22}&r_{23}\\ r_{31}&r_{32}&r_{33}\end{bmatrix}  \tag{5}\]  
In general, geometric models are idealized and very difficult to make comply with real conditions due to manufacturing inaccuracy and environmental conditions. Error values can be estimated and included into the mathematical models though. Finding the relations between theoretical and real models is the crucial task of robot calibration. To find such a relation, geometric parameters of a device have to be identified.