# Performance Evaluation of Offline Motion Preparation Approaches on the Example of a Non-Linear Kinematics

^{1}

^{2}

^{*}

## Abstract

**:**

## 1. Motivation

^{−1}to 300 min

^{−1}by +285% [3].

## 2. Preliminary Remarks on the Offline Motion Preparation

#### 2.1. Requirements on the Preparation Result

^{2}continuous, particularly between the splines end and its beginning. This is necessary to guarantee a smooth, continuous motion.

#### 2.2. Performance Evaluation

^{6}FLOP.

## 3. Conventional Offline Motion Preparation

#### 3.1. Relevant Types of Spline

^{2}continuity, they do not fulfill the given requirements and are not discussed as well. Furthermore, computationally more expensive approaches such as e.g., non-uniform rational basis spline (NURBS) [11] are not considered, because they do not meet the given requirements for online processing, see [6].

^{2}continuity is achieved by specifying the 0th to 2nd derivative at the segment borders.

#### 3.2. Relevant Preparation Algorithms

**bsLSQ**: the first considered approach implements [24], Figure 3, to calculate a B-spline globally. [24] uses the principle of least square approximation and thus offers a solution with minimal error for the problem. With the algorithm, derivatives can be specified at the start and end of the spline. The algorithm generates “closed curves with various degrees of smoothness” [24]. If the spline does not meet the required accuracy after calculation, additional nodes are inserted. The splitting is always performed at the given, optimized points. This avoids the knot span not containing any motion values and a singular system of equation is created. In the case of “maximum only” mode, a single node is inserted into the segment with the maximum error (bsLSQ

_{max}); otherwise (mode “all”) a single node is inserted into all segments, that exceed the accuracy (bsLSQ

_{all}).

**bsITER**: in the second B-Spline approach evaluated, [21] is used in the core, Figure 4. [21] uses an iterative algorithm to approximate the numerical solution of the equation system. By extending the calculation of the first and last control points from [24], C

^{2}-continuity between end of the spline and its beginning can be guaranteed. The algorithm is similar to bsLSQ; only the calculation of the solution differs. bsITER is also evaluated for the two check modes “maximum only” (bsITER

_{max}) and “all” (bsITER

_{all}).

**msITER**: this approach represents a very simple implementation of an iterative algorithm, Figure 5. It searches step by step for the shortest spline segment that meets the requirements. As described above, the considered segment is halved if it does not meet the requirements. The segment boundaries are thereby always set to already given, optimized points. If a segment fulfilling the requirements is found, a further run with the remaining points is performed. It is expected that the algorithm will be more performant than B-spline approaches with a similar or smaller amount of data.

**msRECUR**: the fourth approach examined is a recursive one, Figure 6. It checks for a given part of the motion if the spline segment is as accurate as required. For this purpose, the function calculateSplineSeg() is initially called with the complete motion, Figure 6, below. The function checks whether a spline segment, which was calculated using the 0th to 2nd derivatives at the ends, meets the given requirements. If this check is successful, the monomial spline segment is returned as a result. Otherwise, the motion is split into two parts at 50%. Again, the segment boundaries are located at given points. Both sub-motions are passed to another instance of the function. It is expected that this algorithm will achieve a minimum calculation effort with higher data volumes than msITER. This algorithm is the only one suitable for multi-threaded implementation. However, it does not reduce the required effort, but leads to faster processing. This case is not considered here.

#### 3.3. Performance Evaluation

_{1}and φ

_{2}in axis coordinate system, cf. Figure 1a) are considered together. In this case, the length of the spline segments in both coordinate directions is always identical compared to the normalized cycle time τ. Thus, the specifications are “coupled” over the segment lengths, similar to a 2D spline. The advantage of this is that each segment can be transformed completely from the axis level to TCP level and vise-versa.

_{max}, bsITER

_{max}) and 1.3 (bsLSQ

_{all}, bsITER

_{all}). This trend speaks against using B-spline algorithms in our example. From the location of the curves it can be deduced that the performance of the monomial spline algorithms is always better than the performance of the B-spline algorithms.

#### 3.4. Optimization Potential

## 4. Simple Approach for Optimizing the Offline Motion Preparation

#### 4.1. General Approach

_{φ}(Figure 9, red) is to be used instead of the whole ellipse. Points inside this circle are always completely within the required tolerance. Thus, the distance of a calculated spline point to the optimal set point φ can be checked easily for compliance with the requirements at TCP level without a transformation.

_{φ}can be estimated by using the singular value decomposition (SVD) of the Jacobian matrix J at point p known from robotics, e.g., [25]. The Jacobian consists of the partial derivatives in the two directions of motion at p. In practice, it can be approximated by numerical differentiation. When using forward differences, the calculation of at least 3 transformations is necessary (p, p

_{p0}= p + [ε, 0], p

_{0p}= p + [0, ε], Figure 9, green). This one-sided difference represents a simplification and saves one kinematic transformation compared to the bilinear difference. For our example, the closed solution of the SVD from [26] is used for calculation with:

_{1}and λ

_{2}are calculated by [26].

_{1}corresponds to the major semi-axis and λ

_{2}to the minor semi-axis of the ellipse [27]. λ

_{1}and λ

_{2}have the unit rad/m and represent a transmission factor. As can be seen in Figure 9, the diameter of the circle ε on the TCP is distorted to λ

_{1}and λ

_{2}on axis level. In the minimal case, ε is distorted to r

_{φ}by λ

_{2}. Since for our application the radius of the inscribed circle is of interest, r

_{φ}has to be calculated from ε and the smaller λ

_{2}by:

_{φ}should be distributed to both axes. The circular equation:

_{φ}to both axis coordinates. If the proportions are evenly distributed on both axes (${r}_{\phi .ax}={r}_{\phi .1}={r}_{\phi .2}$), ${r}_{\phi .ax}$ results in:

#### 4.2. Workspace Evaluation

#### 4.2.1. λ_{2} in the Workspace

_{2}over the workspace of the mechanism; the values are limited from 7 rad/m to 9 rad/m. This diagram can be used to estimate whether linearization is appropriate. The more constant λ

_{2}in the area of the motion is, the more likely linearization is to be used effectively. In our example, λ

_{2}varies on the given path between 7.07 rad/m and 7.52 rad/m. The maximum value is thus about 6.4% above the minimum value. In the realistic workspace, λ

_{2}varies between λ

_{2.min}= 7.02 rad/m and 8.12 rad/m, the minimum value is 14% below the maximum.

_{2.min}for the whole workspace can save computing time while producing a reasonably larger amount of data. Enlarging the workspace would lead to worse results, especially at the borders of the workspace. A favorable placement of the motion path may increase the accuracy and improve the ability to linearize. It is expected that using linearization will result in a spline that is up to 14% more accurate than necessary. This would raise the number of coefficients and lower the performance of the algorithms.

#### 4.2.2. Distortion of the Workspace

_{2}/λ

_{1}is described in [28] as inverse condition number measurement. It allows a prediction about the deformation of the circle. The ratio d = 1 means that the circle on the TCP is also mapped as a circle at axis level. The distortion is then very small, which has a positive effect on the quality of the transmission [25]. Figure 11 shows d over the workspace, the values are limited from 1 to 2.

#### 4.2.3. Error Estimation

_{2}calculated with large ε (ε = 2 mm) and small ε (ε = 0.1 µm) is shown in Figure 12. From the result a maximum error of about 0.5% in the realistic workspace is estimated.

_{2}in the workspace, Figure 10. If too few points (e.g., only the four corners of the workspace) are calculated, the resolution is too low, a minimum cannot be found with sufficient certainty. Depending on the selected grid, the global minimum may be located between the grid points. In order to stay safely below, its value is to be estimated. Therefore, the points (Figure 13, light red and red) surrounding the minimum (black) are used. Their maximum (red) should be selected and extrapolated beyond the minimum point (black). The value of the resulting estimated point (blue) is to be used for calculating an estimated minimum error. The finer the grid, the more accurately the minimum can be calculated; but this is associated with increased additional calculation effort. In our example, a 2.5 mm grid in x and y direction was used (about 30 points in x direction). The error results in being 0.23%.

_{φ}over the two axes in Equation (8) does not cause errors. Using this approach, only a square inside the inscribed circle in the ellipse is considered. Due to the smaller area tested, it is expected that this will result in at most 64% of all suitable set points being declared as good. In this case, the number of coefficients for a given motion accuracy will increase. In addition, the spline will be closer to the optimized target set point, the accuracy of the spline will be higher than required.

_{2.corr}= 0.99 · λ

_{2.min}= 6.95 rad/m. At axis level, λ

_{2.corr.ax}= 1/$\sqrt{2}$ · λ

_{2.corr}= 4.91 rad/m will be used. With a known TCP accuracy, an axis accuracy can be calculated by Equation (7).

#### 4.3. Performance Evaluation

_{2}over the entire workspace is estimated. In doing so, all kinematic transformations used to check for compliance with the tolerance can be outsourced to the commissioning of the mechanism. They are no longer required for the preparation of a specific motion. Only the motion itself has to be calculated once from the TCP to axis level. On the other hand, the axes are decoupled from each other by using λ

_{2.corr.ax}at axis level. This allows an optimized segmentation and a better adaptation of the splines to the motion specification.

_{all}, bsITER

_{all}) to 95.8% (bsLSQ

_{max}, bsITER

_{max}) transformations are saved on average. This percentage is so high because the algorithms perform many transformations for searching the global maximum. For the algorithms that divide all segments (bsLSQ

_{all}, bsITER

_{all}), the saving is smaller since the computational effort itself is smaller. However, since the kinematic transformations in the B-spline approaches only have a minimal impact on the total computation effort (Figure 8), no significant performance increase is expected. With the monomial spline algorithms, in average 63.8% (msITER) and 57.2% (msRECUR) of the kinematic transformations can be saved on average (66.7% and 58.7% for an accuracy of 1 µm). Due to the great influence of the transformations (Figure 8), this should be apparent in the overall performance.

_{2}, which leaves up to 14% of the accuracy unused. The other is splitting r

_{φ}to the two axes via Equation (8). Here an error of up to 64% is expected. Figure 15 shows the deviation of the calculated spline from the optimized set points. (a) shows the conventional approach where all algorithms come very close to the allowed accuracy. In (b) the simple approach is shown. It can be seen that for the given motion a large part of the allowed accuracy is unused (>60%). Furthermore, it can be seen that for the algorithms that divide all segments (bsLSQ

_{all}, bsITER

_{all}) a much higher accuracy than necessary is achieved in wide ranges of the motion (e.g., between τ = 0.2–0.4). This reduces the performance of those approaches.

## 5. Discussion

#### 5.1. Algorithms for Offline Motion Preparation

#### 5.2. Outlook

## 6. Conclusions

## Author Contributions

## Funding

## Acknowledgments

## Conflicts of Interest

## References

- Römisch, P.; Weiß, M. Projektierungspraxis Verarbeitungsanlagen—Planungsprozess mit Berechnung und Simulation der Systemzuverlässigkeit; Springer Fachmedien: Wiesbaden, Germany, 2014. [Google Scholar]
- Troll, C.; Schebitz, B.; Majschak, J.-P.; Döring, M.; Holowenko, O.; Ihlenfeldt, S. Commissioning new applications on processing machines: Part I—Process modelling. Adv. Mech. Eng.
**2018**. [Google Scholar] [CrossRef] - Troll, C.; Schebitz, B.; Majschak, J.-P.; Döring, M.; Holowenko, O.; Ihlenfeldt, S. Commissioning new applications on processing machines: Part II—Implementation. Adv. Mech. Eng.
**2018**. [Google Scholar] [CrossRef] [Green Version] - Holowenko, O.; Troll, C.; Ihlenfeldt, S.; Majschak, J.-P. A Novel Adaptive Interpolation Approach for the Implementation of Operating-Speed-Dependent Motion Profiles in Processing Machines. Eng. Sci. Technol.
**2020**. Submitted. [Google Scholar] - Troll, C.; Tietze, S.; Majschak, J.-P. Controlling Liquid Slosh by Applying Optimal Operating-Speed-Dependent Motion Profiles. Robotics
**2020**, 9, 18. [Google Scholar] [CrossRef] [Green Version] - Holowenko, O.; Kauschinger, B.; Ihlenfeldt, S. Increasing the Performance of Processing Machines by Executing Output Rate Dependent Motion Profiles. Int. J. Autom. Technol.
**2017**, 11, 165–170. [Google Scholar] [CrossRef] - Israel, G.-R. Durchgängige Rechnergestützte Entwicklung von Kurven-Mechanismen für Verarbeitungsmaschinen. Ph.D. Thesis, TU Dresden, Dresden, Germany, 1988. [Google Scholar]
- McMahon, F. The Livermore Fortran Kernels Test of the Numerical Performance Range. Perform. Eval. Supercomput.
**1988**, 4, 143–186. [Google Scholar] - Liu, H.; Hong, T.-H.; Herman, M.; Camus, T.; Chellappa, R. Accuracy vs. Efficiency Trade-offs in Optical Flow Algorithms. Comput. Vis. Image Underst.
**1998**, 72, 271–286. [Google Scholar] [CrossRef] - Farin, G. Curves and Surfaces for CAGD—A Practical Guide; Morgan Kaufmann Publishers: San Francisco, CA, USA, 2002. [Google Scholar]
- Piegl, L.; Tiller, W. The NURBS Book; Springer: Berlin/Heidelberg, Germany, 1995. [Google Scholar]
- Hoschek, J.; Lasser, D. Grundlagen der Geometrischen Datenverarbeitung; Teubner: Stuttgart, Germany, 1992. [Google Scholar]
- De Boor, C. A Practical Guide to Splines; Springer: New York, NY, USA, 1978. [Google Scholar]
- Lin, H.; Maekawa, T.; Deng, C. Survey on geometric iterative methods and their applications. Comput. Aided Des.
**2018**, 95, 40–51. [Google Scholar] [CrossRef] - Kocic, L.M.; Milovanovic, G.V. Shape Preserving Approximations by Polynomials and Splines. Comput. Math. Appl.
**1997**, 33, 59–97. [Google Scholar] [CrossRef] [Green Version] - Greiner, H. A survey on univariate data interpolation and approximation by splines of given shape. Math. Comput. Model.
**1991**, 15, 97–106. [Google Scholar] [CrossRef] - Ascher, U.; Pruess, S.; Russell, R.D. On Spline Basis Selection for Solving Differential Equations. SIAM J. Numer. Anal.
**1983**, 20, 121–142. [Google Scholar] [CrossRef] - Großmann, K.; Kauschinger, B.; Holowenko, O. Efficient Execution of Highly Dynamic Trajectory Values in Processing Machines. In Tagungsband sps ipc Drives; VDE Verlag: Berlin/Offenbach, Germany, 2012; pp. 205–214. [Google Scholar]
- Akima, H. A New Method of Interpolation and Smooth Curve Fitting Based on Local Procedures. J. ACM
**1970**, 17, 589–602. [Google Scholar] [CrossRef] - Fageot, F.; Aziznejad, S.; Unser, M.; Uhlmann, V. Support and approximation properties of Hermite splines. J. Comput. Appl. Math.
**2020**, 368. [Google Scholar] [CrossRef] [PubMed] - Deng, C.; Lin, H. Progressive and Iterative Approximation for Least Squares B-Spline Curve and Surface Fitting. Comput. Aided Des.
**2014**, 47, 32–44. [Google Scholar] [CrossRef] - Dill, L.H. Representation of Ice Geometry by Parametric Functions: Construction of Approximating NURBS Curves and Quantification of Ice Roughness—Year 1: Approximating NURBS Curves. Available online: https://ntrs.nasa.gov/api/citations/20040070783/downloads/20040070783.pdf (accessed on 2 November 2020).
- Pang, T. An Introduction to Computational Physics; Cambridge University Press: Cambridge, UK, 2006. [Google Scholar]
- Piegl, L.; Tiller, W. Least-Squares B-Spline Curve Approximation with Arbitary End Derivatives. Eng. Comput.
**2000**, 16, 109–116. [Google Scholar] [CrossRef] - Siciliano, B.; Khatib, O. (Eds.) Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2016. [Google Scholar]
- Polcari, J. Closed Form SVD Solutions for 2 × 2 Matrices—Rev 2. 2014. Available online: https://www.researchgate.net/publication/263580188_Closed_Form_SVD_Solutions_for_2_x_2_Matrices_-_Rev_2 (accessed on 10 October 2020).
- Schönbrodt, S. Maschinelle Lernmethoden für Klassifizierungsprobleme; Springer Fachmedien: Wiesbaden, Germany, 2019. [Google Scholar]
- Togai, M. An application of the singular value decomposition to manipulability and sensitivity of industrial robots. SIAM J. Algebraic Discret. Methods
**1986**, 7, 315–320. [Google Scholar] [CrossRef] - Friedrich, C.; Kauschinger, B.; Ihlenfeldt, S. Spatial force measurement using a rigid hexapod-based end-effector with structure-integrated force sensors in a hexapod parallel kinematic. Measurement
**2019**, 145, 350–360. [Google Scholar] [CrossRef] - Chiacchio, P.; Chiaverini, S.; Sciavicco, L.; Siciliano, B. Global task space manipulability ellipsoids for multiple-arm systems. IEEE Trans. Robot. Autom.
**1991**, 7, 678–685. [Google Scholar] [CrossRef]

**Figure 3.**B-spline-based least square algorithm bsLSQ, using [24].

**Figure 4.**B-spline-based iterative algorithm bsITER, using [21].

**Figure 7.**Comparison of the performance of the algorithms with coupled drive coordinates. (

**a**) Trend of the performance as a function of the accuracy. (

**b**) Performance for the relevant accuracy of 1 µm.

**Figure 8.**Percentage of computational effort for kinematic transformations in relation to the total computational effort. (

**a**) Results for all algorithms. (

**b**) Comparison of monomial splines (left) and B-splines (right).

**Figure 9.**Distortion due to nonlinearity. (

**a**) Tolerance circle in tool center point (TCP)-coordinate system, (

**b**) distorted circle in axis coordinates.

**Figure 12.**Error when using large ε instead of small ε for calculating the Jacobian in the manipulator’s workspace.

**Figure 13.**Estimation of a minimum λ

_{2}(blue) by extrapolation between the minimum (black) and the surrounding maximum (red).

**Figure 15.**Motion accuracy of the calculated splines. (

**a**) Using conventional an (

**b**) simple motion preparation approach.

**Figure 16.**Comparison of the performance of the algorithms with decoupled drive coordinates. The values of the coupled calculation are shown transparent, cf. Figure 7. (

**a**) Trend of the performance as a function of the accuracy. (

**b**) Performance for the relevant accuracy of 1 µm.

Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |

© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).

## Share and Cite

**MDPI and ACS Style**

Holowenko, O.; Drowatzky, L.; Ihlenfeldt, S.
Performance Evaluation of Offline Motion Preparation Approaches on the Example of a Non-Linear Kinematics. *Appl. Sci.* **2020**, *10*, 8014.
https://doi.org/10.3390/app10228014

**AMA Style**

Holowenko O, Drowatzky L, Ihlenfeldt S.
Performance Evaluation of Offline Motion Preparation Approaches on the Example of a Non-Linear Kinematics. *Applied Sciences*. 2020; 10(22):8014.
https://doi.org/10.3390/app10228014

**Chicago/Turabian Style**

Holowenko, Olaf, Lucas Drowatzky, and Steffen Ihlenfeldt.
2020. "Performance Evaluation of Offline Motion Preparation Approaches on the Example of a Non-Linear Kinematics" *Applied Sciences* 10, no. 22: 8014.
https://doi.org/10.3390/app10228014