# Tolerance Synthesis of Delta-like Parallel Robots Using a Nonlinear Optimisation Method
## 2 Materials and Methods
### Proposed Tolerance Synthesis Method  
To calculate geometric tolerances, we propose a new approach for the synthesis of tolerance mechanisms. In this approach, we are interested in calculating the geometric tolerances of the mechanisms with a calculation based on the resolution of the nonlinear system of the inverse geometric model, along with errors defined using the Khalil-Kleinfiger method and intended for the robots with a parallel structure.  
To calculate geometric tolerances using this approach, we propose the following three steps:  
1. Calculate the values of the active joints \(q_{1i}\) and passive joints \((q_{2i},q_{3i},q_{4i},q_{5i},q_{6i},q_{7i})\) for different configurations \((x_{k},y_{k},z_{k})\), \(k=1,\ldots,m\) by solving the inverse kinematic model Equation (3), leading to: \[Q_{k}=(q_{1i},q_{2i},q_{3i},q_{4i},q_{5i},q_{6i},q_{7i})^{(k)}\] (11)
2. Formulate the following optimisation problem to find the geometric tolerances of the robot: \[Min\ F(\Delta L_{i},\Delta\phi_{j}),i=1,\ldots,11;j=12,\ldots,47\] (12) Subject to: \[\left\{\begin{array}{l}\Delta l_{imax}\geq|\Delta L_{i}|\geq\Delta l_{imin}\\ \Delta\varphi_{jmax}\geq|\Delta\phi_{j}|\geq\Delta\varphi_{jmin}\end{array}\right.\] where \(\Delta L_{i}\) are the tolerance intervals of the \(i\)th linear parameter; \(\Delta\phi_{j}\) are the tolerance intervals of the \(j\)th angular parameter; and \(\Delta l_{imin}\), \(\Delta\varphi_{jmin}\), \(\Delta l_{imax}\), and \(\Delta\varphi_{jmax}\) are the minimum and maximum dimensional tolerances tolerated for \(L_{i}\) and \(\phi_{j}\), respectively. This nonlinear optimisation problem can be solved using several methods, such as the \"interior-point\" method, SQP (sequential quadratic programming), active set, GA (genetic algorithm), etc.  
\begin{table}
\begin{tabular}{c c c c c c c c c} \hline \(i\) & \(a(j)\) & \(\eta_{j}\) & \(\gamma_{j}\) & \(b_{j}\) & \(\varepsilon_{j}\) & \(d_{j}\) & \(q_{j}\) & \(r_{j}\) \\ \hline
1 & 0 & 1 & 0 & 0 & \(\pi/2+\Delta a_{1}\) & \(R_{a}+\Delta R_{a}\) & \(q_{1}+\Delta q_{1}\) &3. The tolerance of the dimensional parameters is chosen after solving the optimisation problem (12) for different configurations of the robot. Figure 4 illustrates the preferred tolerance range of the different dimensional parameters.  
For a regular workspace of the robot, we distinguish several representative points, in which the resolution of the optimisation problem is possible. The tolerance range of the \(i\)th dimensional parameter that changes around the nominal value can be calculated based on small movements of the end-effector. The set of calculated tolerance values, which have negative values (corresponding to dimensions smaller than the nominal dimensions), are defined by the vector \(y_{nng}=(y_{neg1},y_{neg2},\ldots,y_{negn})\). The set of calculated tolerance values, which have positive values (corresponding to dimensions higher than the nominal dimensions), are defined by the vector \(y_{pos}=(y_{pos1},y_{pos2},\ldots,y_{posn})\). In order to keep the tolerance of the end-effector within the range of admissible values, the tolerance of the \(i\)th dimensional parameter should be chosen as follows: the minimum tolerance is equal to the maximum value of the vector \(y_{nng}(y_{neg\_max})\) and the maximum tolerance is equal to the minimum value of the vector \(y_{pos}(y_{pos\_min})\).