## 3 Fundamentals: Workpiece and Moving Head Kinematics
### Usage of Non-Linear, Multidimensional Newton's Method  
The core of the calibration process from Section 4 are the previously derived Equations (1)-(3) from Sections 3.2 and 3.3. These equations are similar in that they contain sine and cosine terms, making them non-linear equations, and the equations derived from them in the calibration process will be non-linear as well, ruling out the use of common linear solving algorithms. Although it would be possible to manually linearize the equations around the expected result, this process would require prior knowledge of the region that the result would lie in, which is often not possible. Furthermore, the solving algorithm must tolerate a certain degree of inaccuracy of the input values obtained from the manual reference point capturing, explained in Section 5.1. A promising solving algorithm that fulfills the aforementioned constraints is the iterative Newton's method, which performs automatic linearization at each iteration step. It can be adapted for multidimensional functions as well, and combined with its limited complexity, it was chosen for this paper. The general idea of [PERSON]'s method is finding  
Figure 4: Definition of the Reference and Moving Head coordinate systems and transformation between them. zeros of a function \(f(x)\) (as defined in Equation (4)) where the conventional analytical approach is either not possible or infeasible [38]. \[f(x)\overset{!}{=}0 \tag{4}\]  
The first step in the iteration process is linearizing \(f(x)\) at an initial \(x^{(0)}\) value, which can be chosen arbitrarily or as an estimate close to the expected result, accelerating the convergence. In the second step, shown in Equation (5), the zero of this linearization is calculated, leading to the next \(x^{(1)}\) value. The distance between the two values is called the iteration step size \(\Delta x^{(0)}\). \[x^{(1)}=x^{(0)}-\frac{f(x^{(0)})}{f^{\prime}(x^{(x)})}\overset{!}{=}x^{(0)}- \Delta x^{(0)} \tag{5}\]  
This process is repeated until one of the three abortion criteria is met:  
1. The zero has been found with sufficient accuracy: \(f(x^{(k)})\leq\epsilon_{f}\quad with\quad\epsilon_{f}\approx 0\) This condition does not guarantee convergence but can be used if convergence is not a requirement. 2. The difference between two \(x\) values fell below a specified threshold: \(\Delta x^{(k)}\leq\epsilon_{x}\quad with\quad\epsilon_{x}\approx 0\) This condition signifies convergence but does not guarantee the zero has been found accurately. 3. The maximum iteration step count \(K\) has been reached without fulfilling one of the other criteria. This usually means the iteration did not converge, or that it oscillates around the zero. The one-dimensional approach can be extended to multiple variables and functions, utilizing a vector notation [39]. Since the algorithm solves for all variables at the same time, typically, a good trade off is reached, and the results require little to no further evaluation. The \(x\) value is extended to an \(\vec{x}\) vector, which contains all iteration variables. As shown in Equation (6), the function Equation (4) is extended to a function vector \(\vec{f}\) with the \(\vec{x}\) vector as input. \[\vec{f}(\vec{x})=0 \tag{6}\]  
Equation (5) for calculating the next \(x\) value is extended. The derivations of \(\vec{f}\) are combined in a Jacobian matrix \(\vec{J}\), and a dampening factor \(\alpha\) is introduced, leading to Equation (7). Depending on the function equations, unwanted oscillations around the result can occur. To dampen these oscillations and help with convergence, \(\alpha\) limits the iteration step size. The damping is automatically increased as soon as the iteration step size no longer shows a significant change.