Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

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

Performance Evaluation of Offline Motion Preparation Approaches on the Example of a Non-Linear... applied sciences Article Performance Evaluation of Oine Motion Preparation Approaches on the Example of a Non-Linear Kinematics 1 , 1 1 , 2 Olaf Holowenko * , Lucas Drowatzky and Ste en Ihlenfeldt Institute of Mechatronic Engineering, Technische Universität Dresden, 01069 Dresden, Germany; Lucas.Drowatzky@TU-Dresden.de (L.D.); Ste en.Ihlenfeldt@TU-Dresden.de (S.I.) Fraunhofer IWU, 01187 Dresden, Germany * Correspondence: Olaf.Holowenko@TU-Dresden.de Received: 15 October 2020; Accepted: 10 November 2020; Published: 12 November 2020 Abstract: In motion control, the generation of motion profiles for non-linear kinematics is usually computationally complex. In order to minimize the workload on the machine’s control system, the approach pursued is outsourcing complex calculation tasks to the offline area. In this offline motion preparation, predefined criteria have to be taken into account to guarantee process stability on the real machine. During the motion preparation, a high performance is desired, characterized by less data generated and at the same time little computing effort. The evaluation will use the example of a motion specification, which is characterized by a large amount of data compared to conventional motion specifications. Thus, the demands on performance become even higher. This paper examines the performance of different motion preparation approaches known from literature. On the one hand, selected spline-based algorithms are discussed and compared. A recursive algorithm based on monomial splines is recommended for use in the example. On the other hand, a very simple approach based on the linearization of the non-linear workspace of the mechanism is presented and applied on the algorithms. With this, the performance increased significantly again. Keywords: motion control; spline algorithm; B-spline; monomial spline; performance evaluation; nonlinear kinematics 1. Motivation Processing machines are used for the automated production of mass consumer goods in very high quantities. A characteristic of this type of machines is the execution of cyclical motions. From an economic point of view, a high operating speed with low downtimes is necessary. In general, processing machines are not stand-alone machines, but consist of several linked machines and buffers [1]. If downtimes occur on a single machine, e.g., due to problems within the process, the buffers are emptied by the following machine. After solving the problem, all machines continue operating and filling up the buffers again. This causes the operation speed to vary at the individual machines. Regardless of the operating speed used, meeting specific requirements is essential, especially with regard to product quality and process stability. Otherwise, executing the process on the machine is not possible. This will be illustrated on the example of intermittent conveying of pieced goods used in the following, Figure 1a. In this process, a servo-driven non-linear kinematics is moving a comb-shaped tool in two dimensions. The comb in turn moves a product (e.g., a chocolate bar) from one rest position to the next. As motion specification, the specially optimized motion shown in Figure 1b is used [2]. In this process, firstly the product is accelerated, detaches from the comb (I), and enters a free sliding phase (II). After moving the required distance, the comb actively stops the product (III). Using this new Appl. Sci. 2020, 10, 8014 ; doi:10.3390/app10228014 www.mdpi.com/journal/applsci Appl. Sci. 2020, 10, x FOR PEER REVIEW 2 of 19 Appl. Sci. 2020, 10, 8014 2 of 19 stops the product (III). Using this new type of process makes it possible to increase the maximum type of process makes it possible to increase the maximum operating speed significantly compared operating speed significantly compared to a conventional conveying process where the product is to a conventional conveying process where the product is regularly not detaching from the comb. It regularly not detaching from the comb. It has been shown experimentally that it is possible to has been shown experimentally that it is possible to increase the maximum operating speed−1 for this increase the maximum operating speed for this example process significantly from 71 min to 300 1 1 −1 example process significantly from 71 min to 300 min by +285% [3]. min by +285% [3]. Figure 1. Example process. (a) Intermittent transport of pieced goods along a horizontal path with Figure 1. Example process. (a) Intermittent transport of pieced goods along a horizontal path with a a servo-driven five-bar linkage. (b) Principles of a motion approach for the transport of pieced goods. servo-driven five-bar linkage. (b) Principles of a motion approach for the transport of pieced goods. (c) Characteristic map of operating speed-dependent motion profiles. Based on [2,4]. (c) Characteristic map of operating speed-dependent motion profiles. Based on [2,4]. A disadvantage of the process is that with non-optimal operating speed the product may not A disadvantage of the process is that with non-optimal operating speed the product may not detach from the comb at lower speeds or bounces o at higher speeds. It is then no longer positioned detach from the comb at lower speeds or bounces off at higher speeds. It is then no longer positioned correctly; the process becomes unstable [3]. This process is representative for processes that vary with correctly; the process becomes unstable [3]. This process is representative for processes that vary the operating speed, e.g., also [5]. with the operating speed, e.g., also [5]. With conventional controls, executing such unstable processes is possible only within a very small With conventional controls, executing such unstable processes is possible only within a very operating speed range. In previous works, a tripartite approach for controlling operation speed-dependent small operating speed range. In previous works, a tripartite approach for controlling operation processes has been developed and discussed [2–6]. The first part of the approach is to optimize the motion speed-dependent processes has been developed and discussed [2–6]. The first part of the approach is specification for a given operating speed n. In doing so, effects are taken into account whose characteristics to optimize the motion specification for a given operating speed n. In doing so, effects are taken into change with the operating speed, e.g., vibrations or kinetic energy. The discussion of the optimization account whose characteristics change with the operating speed, e.g., vibrations or kinetic energy. results is not part of the work and is treated e.g., in [2,5]. Furthermore, a characteristic map of The discussion of the optimization results is not part of the work and is treated e.g., in [2,5]. operating-speed-dependent motion profiles is created, Figure 1c. It contains several optimized motion Furthermore, a characteristic map of operating-speed-dependent motion profiles is created, Figure profiles for different operating speeds, given as point lists. The motion profiles contain relevant values 1c. It contains several optimized motion profiles for different operating speeds, given as point lists. for the control, e.g., position as well as velocity and torque feedforward set points. The contents required The motion profiles contain relevant values for the control, e.g., position as well as velocity and for a specific process is determined during the optimization and are therefore predefined values for torque feedforward set points. The contents required for a specific process is determined during the the motion preparation. Within the given map, the normalized cycle timeis one dimension, the operating optimization and are therefore predefined values for the motion preparation. Within the given map, speed n for the motion profile is the second. The optimal motion profiles are directly included in the map. the normalized cycle time τ is one dimension, the operating speed n for the motion profile is the If a non-optimized operating speed has to be driven (Figure 1c, gray), an interpolated value is used [4,6]. second. The optimal motion profiles are directly included in the map. If a non-optimized operating Finally, a specialized microcontroller-based control system has been developed. It allows the processing speed has to be driven (Figure 1c, gray), an interpolated value is used [4,6]. Finally, a specialized of this characteristic map of motion profiles with a very high online interpolation rate of 8 kHz. Therein, microcontroller-based control system has been developed. It allows the processing of this for efficient, highly dynamic motion processing, splines are used. Online aspects of the control are not characteristic map of motion profiles with a very high online interpolation rate of 8 kHz. Therein, for part of this work; for more details see [6]. efficient, highly dynamic motion processing, splines are used. Online aspects of the control are not The combination of optimization, operating-speed-dependent motion profiles, and the novel part of this work; for more details see [6]. control system leads to a significant increase in the achievable operating speed. At the same time, The combination of optimization, operating-speed-dependent motion profiles, and the novel varying the operating speed over a wide range is possible. A disadvantage is that using more than one control system leads to a significant increase in the achievable operating speed. At the same time, single motion specification, as in conventional systems, leads to a significantly higher amount of data varying the operating speed over a wide range is possible. A disadvantage is that using more than needed to describe a single process. This is particularly disadvantageous against the background of one single motion specification, as in conventional systems, leads to a significantly higher amount of real-time processing, as many controllers do not have a large data memory. data needed to describe a single process. This is particularly disadvantageous against the Using a very fast controller means that only a short computing time (125 s in our example) background of real-time processing, as many controllers do not have a large data memory. is available online. The online motion processing of the specifications must, therefore, be as efficient as Using a very fast controller means that only a short computing time (125 µs in our example) is possible. To achieve this, the approach is to carry out online calculations into the offline field wherever available online. The online motion processing of the specifications must, therefore, be as efficient as possible. Such calculations include, in particular, computationally complex operations like kinematic possible. To achieve this, the approach is to carry out online calculations into the offline field Appl. Sci. 2020, 10, x FOR PEER REVIEW 3 of 19 Appl. Sci. 2020, 10, 8014 3 of 19 wherever possible. Such calculations include, in particular, computationally complex operations like kinematic transformations. Even though computers and control systems are becoming faster and transformations. Even though computers and control systems are becoming faster and faster, other faster, other aspects speak in favor of outsourcing the calculation effort to the offline preliminary aspects speak in favor of outsourcing the calculation effort to the offline preliminary field. On the one field. On the one hand, there is an increasing trend to use small, inexpensive, networked controllers hand, there is an increasing trend to use small, inexpensive, networked controllers with low computing with low computing capacity (“Industry 4.0”, “Smart Manufacturing”). On the other hand, the idea capacity (“Industry 4.0”, “Smart Manufacturing”). On the other hand, the idea of relieving the controller of relieving the controller and keeping resources free for other (new) functions underlines the and keeping resources free for other (new) functions underlines the relevance of the approach. At the same relevance of the approach. At the same time, the demand for individualized products increases (e.g., time, the demand for individualized products increases (e.g., customized products, often in the context of customized products, often in the context of “Industry 4.0” or “Smart Manufacturing”). “Industry 4.0” or “Smart Manufacturing”). Individualized products, in turn, require individual motion Individualized products, in turn, require individual motion specifications that must be prepared for specifications that must be prepared for the control approach. This increases the amount of work needed the control approach. This increases the amount of work needed for the offline motion preparation. for the offline motion preparation. Figure 2 shows the integration of the motion preparation in the proposed workflow. In the first Figure 2 shows the integration of the motion preparation in the proposed workflow. step, the motion specification is numerically calculated and optimized under consideration of In the first step, the motion specification is numerically calculated and optimized under consideration operating-speed-dependent effects. Due to the optimization algorithm used, point lists are of operating-speed-dependent e ects. Due to the optimization algorithm used, point lists are generated. generated. The specifications are combined to a map of operating speed-dependent motion profiles. The specifications are combined to a map of operating speed-dependent motion profiles. Subsequently, Subsequently, a map of splines is generated from these point lists during the motion preparation, a map of splines is generated from these point lists during the motion preparation, which can be which can be processed very efficiently later. This is done in the area of online motion processing. processed very eciently later. This is done in the area of online motion processing. Previous work Previous work examined aspects of motion optimization and online motion processing, Figure 2, examined aspects of motion optimization and online motion processing, Figure 2, gray. The present gray. The present work discusses offline preparation aspects. work discusses oine preparation aspects. Figure 2. Position of the motion preparation in the workflow. Figure 2. Position of the motion preparation in the workflow. In order to reduce downtime on the machine, the motion specifications have to be prepared quickly. In order to reduce downtime on the machine, the motion specifications have to be prepared To be able to assess this, the work deals with the performance evaluation of di erent approaches for quickly. To be able to assess this, the work deals with the performance evaluation of different oine motion preparation known from literature. The paper is structured as follows: first, requirements approaches for offline motion preparation known from literature. The paper is structured as follows: on the results of the oine motion preparation and the performance evaluation are defined (Section 2). first, requirements on the results of the offline motion preparation and the performance evaluation After evaluating conventional approaches for oine motion preparation, optimization potentials are are defined (Section 2). After evaluating conventional approaches for offline motion preparation, deduced (Section 3). Furthermore, a very simple approach to increase the performance is discussed optimization potentials are deduced (Section 3). Furthermore, a very simple approach to increase the and evaluated (Section 4). Finally, an overview on the approaches is given (Section 5) followed by performance is discussed and evaluated (Section 4). Finally, an overview on the approaches is given conclusions (Section 6). (Section 5) followed by conclusions (Section 6). 2. Preliminary Remarks on the Oine Motion Preparation 2. Preliminary Remarks on the Offline Motion Preparation As a basis for the oine motion preparation, motion set points (position as well as velocity and As a basis for the offline motion preparation, motion set points (position as well as velocity and torque for feedforward control) are given for the 2D-tool center point (TCP). In the approach pursued, torque for feedforward control) are given for the 2D-tool center point (TCP). In the approach each of the three set points may contain several motion profiles, optimized for selected operation pursued, each of the three set points may contain several motion profiles, optimized for selected speeds n, Figure 1c. Depending on the process under consideration, up to 3 [2] or more [6] profiles operation speeds n, Figure 1c. Depending on the process under consideration, up to 3 [2] or more [6] may be necessary. Furthermore, the kinematic parameters of the mechanism are known, Figure 1a. profiles may be necessary. Furthermore, the kinematic parameters of the mechanism are known, All motions are within one limited workspace, which is advantageous for the optimization approach Figure 1a. All motions are within one limited workspace, which is advantageous for the discussed here. The characteristic map of motion profiles is available as a map of point lists. The reason optimization approach discussed here. The characteristic map of motion profiles is available as a for this is that the optimization approach iteratively calculates single set points [2]. map of point lists. The reason for this is that the optimization approach iteratively calculates single As the investigations in the previous work have shown, both the different motion specifications and set points [2]. the specifications for different processes have similar characteristics, as described above. Thus, the approach As the investigations in the previous work have shown, both the different motion specifications described here can be transferred to other sample processes. In the present work, for the reason of simplicity and the specifications for different processes have similar characteristics, as described above. Thus, the discussion is conducted on the example of the position set points for the intermittent transport of the approach described here can be transferred to other sample processes. In the present work, for pieced goods, Figure 1. They are also representative of other processes or motion specifications. the reason of simplicity the discussion is conducted on the example of the position set points for the intermittent transport of pieced goods, Figure 1. They are also representative of other processes or motion specifications. Appl. Sci. 2020, 10, 8014 4 of 19 2.1. Requirements on the Preparation Result Splines are most suitable for the online processing of the motion specifications with variable machine speeds [6]. They are widely used in the area of motion control and have several advantages, especially for the execution of operating-speed dependent motion profiles. Firstly, they scale with the variable machine speed due to their online-calculation in every interpolation cycle. Furthermore, the amount of data is significantly smaller compared to the number of given set points if tolerable deviations or limits to be fulfilled are specified. To reduce the required data volume, splines have to approximate the optimal set points. This in turn means that not every calculated set point will meet an optimal set point exactly. Therefore, it is necessary to define an allowed tolerance respective to a target accuracy. The calculated set points have to meet those given criteria. In this work, for reasons of simplicity, the comb’s positioning accuracy is used as a criterion to be fulfilled. It is calculated from the di erence between the given position set point and set point calculated from the spline for both axes, assuming ideal kinematics and infinite rigidity. Real e ects are not taken into account, as they do not a ect the oine motion preparation. They are considered in the optimization process and are not part of this work. An accuracy of " = 1 m is common when calculating position set points on cams [7]. This magnitude has also proven to be useful in previous studies [3,4,6]. Depending on the process under consideration, however, lower accuracies (respectively higher tolerances) may also be sucient. Further requirements on the result of the oine motion preparation were defined in [6]. Thus, the amount of data given to the interpolator has to be as small as possible, as online resources are limited. To ensure the short available online computation time, the characteristic map of motion profiles is to be transferred to the interpolator as a set of operating speed-dependent 1D-axis splines on the monomial basis [6]. In order to meet the optimization results, one requirement of the outgoing motion profiles is that the splines are C continuous, particularly between the splines end and its beginning. This is necessary to guarantee a smooth, continuous motion. 2.2. Performance Evaluation In this work, selected motion preparation algorithms will be evaluated for their performance. Therefore, they are applied to the process show in Figure 1. In our example, the performance depends on two parameters: the amount of data produced by the algorithm and the e ort required for oine motion preparation. The required motion accuracy on the TCP has to be maintained in all cases. For a good performance, the amount of data has to be small. The overall data quantity results from the total number of coecients required to describe the whole motion specification for all axes. This number is the sum of all spline coecients in the characteristic map of both axes, Figure 1c. A low preparation e ort as an equivalent to the algorithms speed is also important for a high performance. Especially against the background of individualized production and the increasingly rapid changes in the motion specifications, this point is becoming increasingly important. The oine preparation e ort is determined in the same way as in [6]. The e ort is measured in FLOP (floating point operations). The number of FLOPs depends on the computing operations used. For weighting, the one from [8] is used: 1 FLOP for add, subtract, multiply, and IF; 4 FLOP for divide, square root; and 8 FLOP for exponential, sine, etc. All required operations are summed up to give the computational e ort, which is expressed in 1 MFLOP = 10 FLOP. To evaluate the performance of the algorithms, the 2D curve representation similar to that suggested in [9] is used. In our case, the abscissa is the amount of data calculated with the algorithm, the ordinate is the necessary number of FLOPs. The performance curve is calculated by converting the motion profiles with a specific algorithm and a technically relevant TCP motion accuracy. The resulting data quantity and calculation e ort are displayed as a point in the diagram; points of one algorithm for di erent accuracies form together the performance curve for this algorithm. In the following, a TCP motion accuracy between 1 m and 500 m is used as an example to evaluate in a qualitative way how the algorithm’s performance changes with di ering requirements. Appl. Sci. 2020, 10, 8014 5 of 19 3. Conventional Oine Motion Preparation There are di erent approaches for oine processing of point clouds into splines that are easy to use in the control system. In this chapter, known (conventional) approaches are presented and examined for their performance. Subsequently, optimization potentials are derived. Using splines requires the examination of a large state of the art concerning splines and spline algorithms. It has been developed over decades and contains countless high-quality publications. This work is neither an introduction to splines nor a review of the state of the art concerning algorithms. For this purpose, reference is made to suitable literature, e.g., [10–13] or [14–16]. 3.1. Relevant Types of Spline Many works give an overview of di erent spline types, e.g., [10–13]. Each spline type has specific properties. Therefore, they are suitable in di erent ways for use in oine motion preparation. Two types of spline have properties that make them interesting for oine motion preparation. B-splines are widely used in computer graphics and computer-aided design. With B-splines, generating continuous motions with scalable continuity is possible. Many helpful functions are available, e.g., insert or remove nodes [11]. With monomial splines, specifying derivatives at the segment boundaries can also achieve scalable continuity (Hermite interpolation). Monomial splines are much easier to implement than B-splines with the same accuracy [17]. Converting B-splines to the monomial base is easily possible by using a base transform. Due to the properties and the requirements mentioned in Section 2.1 some widely used spline types cannot be considered for oine motion preparation. Therefore, they are not taken into account in this work. The widely used cubic splines (e.g., [13]) are not evaluated, since preliminary investigations in [18] have shown that higher order splines (e.g., quantic Hermite splines) can be used much more flexibly with about the same number of coecients. Akima splines [19] are a type of spline often used for online interpolation in control systems. Due to their lack of C 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]. In this work, B-splines and monomial splines are evaluated together. Both spline types have different advantages and disadvantages, but comparable approximation properties [17,20]. On the one hand, univariate B-splines of degree 3 are used in the work to realize the required continuity. On the other hand, quintic splines are used, where C continuity is achieved by specifying the 0th to 2nd derivative at the segment borders. 3.2. Relevant Preparation Algorithms For the preparation of a given point list for one operating speed, various methods could be used, see e.g., [14–16]. However, comparative studies regarding the performance of di erent algorithms are rare in the literature. Therefore, statements such as “with [the introduced algorithm] LSPIA, a very large data set can be fitted eciently” [21] are hardly verifiable. For this reason, some motion preparation algorithms using B-spline and monomial splines are evaluated for their performance. The B-spline approaches use the advantages of B-splines and are representative for other B-spline algorithms. They will be compared with two monomial spline approaches, which are expected to be much easier to calculate. All approaches promise a good performance during the oine motion preparation. The algorithms are discussed on the example of a non-linear kinematics and the process introduced in Section 1. In the following algorithms, the function named SplineInTolerance() calculates the distance between the given, optimized motion set point and the point calculated from the spline. The whole spline is checked, whether it meets the given requirements. The first return value is “ok” for “in tolerance/meets accuracy” which is true, if the calculated spline meets the given requirements. The second value is Appl. Sci. 2020, 10, 8014 6 of 19 an array of indices of the segments that do not match the given accuracy. Those indices are used for inserting new knots. Depending on the given check mode, only the index for the segment with the maximum error (mode “maximum only”) or all faulty segments indices are returned (mode “all”). With these two modes, two variants of the B-spline algorithms can be evaluated. If only the segment with the maximum deviation is subdivided, a small amount of data is expected with increased computational e ort. If, as suggested in [22], all segments with too large deviation are subdivided, a smaller computational e ort caused by less iterations are expected with a simultaneously increasing amount of data. The reason for this is that inserting a single control point also a ects the neighboring segments. If several neighboring segments are faulty, more nodes than necessary may result. SplineSegInTolerance() only checks one segment of the spline for compliance and can, therefore, be implemented for greater performance. Calculate(StartEnd)Derivatives() calculates from the given points the derivatives using central di erentiation according to [23]. At the motions boundaries, the cyclical character of the motion is used. With these values a system of equations results, which can be solved. SolveEquationSystem() uses QR decomposition with Householder transformations to solve the equation system which has been set up in SetupEquationSystem(). Implementation is always important when evaluating di erent approaches. In order to ensure comparability, the choice of segment lengths in all algorithms is based on bisection at 50% within the considered range. Other solutions like separation at the largest error or curvature require further investigation and are not part of this work. 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 o ers 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 ); otherwise (mode “all”) a single node is max inserted into all segments, that exceed the accuracy (bsLSQ ). all Appl. Sci. 2020, 10, x FOR PEER REVIEW 7 of 19 Figure 3. B-spline-based least square algorithm bsLSQ, using [24]. Figure 3. B-spline-based least square algorithm bsLSQ, using [24]. Figure 4. B-spline-based iterative algorithm bsITER, using [21]. 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. Appl. Sci. 2020, 10, x FOR PEER REVIEW 7 of 19 Appl. Sci. 2020, 10, 8014 7 of 19 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 -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 ) and “all” (bsITER ). max all Figure 3. B-spline-based least square algorithm bsLSQ, using [24]. Appl. Sci. 2020, 10, x FOR PEER REVIEW 8 of 19 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 Figure 4. B-spline-based iterative algorithm bsITER, using [21]. Figure 4. B-spline-based iterative algorithm bsITER, using [21]. 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 msITER: this approach represents a very simple implementation of an iterative algorithm, msITER: this approach represents a very simple implementation of an iterative algorithm, Figure 5. the given requirements. If this check is successful, the monomial spline segment is returned as a Figure 5. It searches step by step for the shortest spline segment that meets the requirements. As It searches step by step for the shortest spline segment that meets the requirements. As described above, result. Otherwise, the motion is split into two parts at 50%. Again, the segment boundaries are described above, the considered segment is halved if it does not meet the requirements. The segment the considered segment is halved if it does not meet the requirements. The segment boundaries are located at given points. Both sub-motions are passed to another instance of the function. It is boundaries are thereby always set to already given, optimized points. If a segment fulfilling the thereby always set to already given, optimized points. If a segment fulfilling the requirements is found, expected that this algorithm will achieve a minimum calculation effort with higher data volumes requirements is found, a further run with the remaining points is performed. It is expected that the a further than msI runTE with R. Th the is al remaining gorithm is points the only is one performed. suitable for It mu is expected lti-threaded that imp the lemalgorithm entation. Ho will wev be er, more algorithm will be more performant than B-spline approaches with a similar or smaller amount of it does not reduce the required effort, but leads to faster processing. This case is not considered here. performant than B-spline approaches with a similar or smaller amount of data. data. Figure 5. Monomial spline-based iterative algorithm msITER. Figure 5. Monomial spline-based iterative algorithm msITER. Figure 6. Monomial spline-based recursive algorithm msRECUR. 3.3. Performance Evaluation The state of the art offers few hints on how motion preparation is performed in similar applications. In the obvious case of offline motion preparation, both coordinates (x and y in the TCP-coordinate system; φ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 Appl. Sci. 2020, 10, x FOR PEER REVIEW 8 of 19 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. Appl. Sci. 2020, 10, 8014 8 of 19 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. Figure 5. Monomial spline-based iterative algorithm msITER. Figure 6. Monomial spline-based recursive algorithm msRECUR. Figure 6. Monomial spline-based recursive algorithm msRECUR. 3.3. Performance Evaluation 3.3. Performance Evaluation The state of the art o ers few hints on how motion preparation is performed in similar applications. The state of the art offers few hints on how motion preparation is performed in similar In the obvious case of oine motion preparation, both coordinates (x and y in the TCP-coordinate applications. system; ' and ' in axis coordinate system, cf. Figure 1a) are considered together. In this case, 1 2 In the obvious case of offline motion preparation, both coordinates (x and y in the the length of the spline segments in both coordinate directions is always identical compared to TCP-coordinate system; φ1 and φ2 in axis coordinate system, cf. Figure 1a) are considered together. In the normalized cycle time . Thus, the specifications are “coupled” over the segment lengths, similar this case, the length of the spline segments in both coordinate directions is always identical 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. Figure 7 shows the performance of the evaluated algorithms in two 2D performance diagrams similar to [9]. As described in Section 2, the aim is to obtain a small amount of data with low calculation e ort. This means, in the diagram, if a point is close to the origin, the assigned algorithm is more performant than one far away. It is then more suitable for the use in example. If two points are close to each other, it is proposed to enhance this qualitative performance evaluation method by looking at the concrete measurement results. In our example, the decision about the performance of an algorithm will be made in favor of the greater savings achieved. Appl. Sci. 2020, 10, x FOR PEER REVIEW 9 of 19 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. Figure 7 shows the performance of the evaluated algorithms in two 2D performance diagrams similar to [9]. As described in Section 2, the aim is to obtain a small amount of data with low calculation effort. This means, in the diagram, if a point is close to the origin, the assigned algorithm is more performant than one far away. It is then more suitable for the use in example. If two points are close to each other, it is proposed to enhance this qualitative performance evaluation method by Appl. looki Sci. ng 2020 at ,th 10 e , 8014 concrete measurement results. In our example, the decision about the performan 9 ce of 19 of an algorithm will be made in favor of the greater savings achieved. Figure Figure 7.7. Comparison Comparisoof n the of the perf perform ormanceance of the of algorithms the algorith with ms coupled with co drive upled coor driv dinates. e coordi (a)nates Trend . of (a) the Trend performance of the perform as a function ance as aof fun the ctio accuracy n of the . acc (b)ur Performance acy. (b) Perform for the ance relevant for theaccuracy relevant of accuracy 1 m. of 1 µ m. Figure 7a shows the performance curve of the algorithms over several accuracies between 1 m and 500 m. As expected, the performance decreases with increasing accuracy (small "), Figure 7a. Figure 7a shows the performance curve of the algorithms over several accuracies between 1 µm A and closer 500 look µm. r As eveals expect that ed, the the performance performance curve decrea ofses the with monomial increasi spline ng accurac algorithms y (small is appr ε), Fioximately gure 7a. A linear with respect to the accuracy. The gradient of the msRECUR-curve is flatter, resulting in closer look reveals that the performance curve of the monomial spline algorithms is approximately alipositive near with e r ect espect on the to th computational e accuracy. Th e e ort gradient if the accuracy of the msREC is raised. UR-curve For the is fB-spline latter, resu algorithms, lting in a the performance decreases following a power function with an exponent of about 2.2 (bsLSQ , positive effect on the computational effort if the accuracy is raised. For the B-spline algorithms, the max bsITER performanc ) and e decre 1.3 (bsLSQ ases follow , bsITER ing a po ). wer This f tr unctio end speaks n with against an exp using onenB-spli t of ab neout algorithms 2.2 (bsLSQ in our max, max all all example. From the location of the curves it can be deduced that the performance of the monomial bsITERmax) and 1.3 (bsLSQall, bsITERall). This trend speaks against using B-spline algorithms in our spline example algorithms . From th is e always location better of the than curv the es performance it can be deduced of the th B-spline at the perform algorithms. ance of the monomial For an accuracy of 1 m, Figure 7b, the B-spline based algorithms produce up to 90% more data spline algorithms is always better than the performance of the B-spline algorithms. whileFor using an up accu to rac about y of 1 46,000 µm, Figure times 7 mor b, th ee calculation B-spline baesed ort alcompar gorithm ed s pr to oduce msRECUR. up to 90% Furthermor more data e, bsITER requires about 10 times of the e ort compared to bsLSQ to get suciently close to the exact while using up to about 46,000 times more calculation effort compared to msRECUR. Furthermore, solution. bsITER re Ther quires efor about e, bsIT 10 ER times shows of the the worst effort com performance, pared to bsLSQ followed to get by s bsLSQ. ufficient This ly cperformance lose to the exac oft the B-spline algorithms is primarily due to the very complex least square fitting in the background of solution. Therefore, bsITER shows the worst performance, followed by bsLSQ. This performance of those the B- algorithms. spline algorithms is primarily due to the very complex least square fitting in the background of In the diagram Figure 7b, msITER appears closer to the origin than msRECUR, but their di erence those algorithms. is small. In th In e concr diagram ete numbers, Figure 7bfor , msI anTER accuracy appears of 1close m rmsITER to the origi is 10% n th mor ane msR ecient ECUR, in terms but thof eir coecients, while msRECUR saves 19% e ort. Due to the greater savings, msRECUR is the most difference is small. In concrete numbers, for an accuracy of 1 µm msITER is 10% more efficient in suitable terms of algorithm coefficients for , wh our ilexample, e msRECU closely R saves followed 19% effor byt.msITER. Due to the greater savings, msRECUR is the most suitable algorithm for our example, closely followed by msITER. 3.4. Optimization Potential Due to the non-linearity of the mechanism, it is assumed that the kinematic transformations make up a significant percentage of the total computational e ort. It is further assumed that reducing the number of kinematic transformations while motion preparation leads to an increase in performance. This will be investigated in the following. Figure 8a shows the amount of computational e ort for all kinematic transformations in relation to the total computational e ort for the algorithms. It can be clearly seen that in the B-spline algorithms this proportion is very small (<1%). This is related to the fact that the computational e ort for the algorithms themselves is much higher than for msITER and msRECUR, Figure 7. With these Appl. Sci. 2020, 10, x FOR PEER REVIEW 10 of 19 3.4. Optimization Potential Due to the non-linearity of the mechanism, it is assumed that the kinematic transformations make up a significant percentage of the total computational effort. It is further assumed that reducing the number of kinematic transformations while motion preparation leads to an increase in performance. This will be investigated in the following. Figure 8a shows the amount of computational effort for all kinematic transformations in relation to the total computational effort for the algorithms. It can be clearly seen that in the B-spline Appl. Sci. 2020, 10, 8014 10 of 19 algorithms this proportion is very small (<1%). This is related to the fact that the computational effort for the algorithms themselves is much higher than for msITER and msRECUR, Figure 7. With these algorithms, the transformations require in average 61% (msITER) and 68% (msRECUR) of the total algorithms, the transformations require in average 61% (msITER) and 68% (msRECUR) of the total computing e ort (50% and 60.7% for 1 m accuracy). Figure 8b tries to illustrate the comparison of computing effort (50% and 60.7% for 1 µm accuracy). Figure 8b tries to illustrate the comparison of monomial splines (left) and B-splines (right) graphically in the diagram. monomial splines (left) and B-splines (right) graphically in the diagram. Figure 8. Percentage of computational effort for kinematic transformations in relation to the total Figure 8. Percentage of computational e ort for kinematic transformations in relation to the total computational effort. (a) Results for all algorithms. (b) Comparison of monomial splines (left) and computational e ort. (a) Results for all algorithms. (b) Comparison of monomial splines (left) B-splines (right). and B-splines (right). It should be noted that in our example the kinematic transformations could be calculated with It should be noted that in our example the kinematic transformations could be calculated with very little effort. Even with our simple kinematics, the kinematic transformations consume a very very little e ort. Even with our simple kinematics, the kinematic transformations consume a very large amount of resources (up to 60.7% for the relevant accuracy of 1 µ m). This lowers the efficiency large amount of resources (up to 60.7% for the relevant accuracy of 1 m). This lowers the eciency of the motion preparation. Other kinematics (e.g., hexapods) are much more complex. This in turn of the motion preparation. Other kinematics (e.g., hexapods) are much more complex. This in turn means that the computational effort for each transformation is considerably higher (and thus also means that the computational e ort for each transformation is considerably higher (and thus also the percentage in the total computational effort). Therefore, minimizing the number of kinematic the percentage in the total computational e ort). Therefore, minimizing the number of kinematic transformations seems to be reasonable for msITER and msRECUR. transformations seems to be reasonable for msITER and msRECUR. Preparing coupled coordinate directions has some disadvantages. In this case, the more curved Preparing coupled coordinate directions has some disadvantages. In this case, the more curved coordinate direction of the path determines the number of spline segments; less curved segments of coordinate direction of the path determines the number of spline segments; less curved segments of a coordinate direction are subdivided more often than necessary. This results in more data due to the a coordinate direction are subdivided more often than necessary. This results in more data due to increased number of segments and thus coefficients. Therefore, another approach to optimization is the increased number of segments and thus coecients. Therefore, another approach to optimization the decoupling of the axes. Here, the axis splines are segmented independently. Strong curvature in is the decoupling of the axes. Here, the axis splines are segmented independently. Strong curvature in a specification thereby only affects one spline, the second axis is not affected. a specification thereby only a ects one spline, the second axis is not a ected. 4. Simple Approach for Optimizing the Oine Motion Preparation 4. Simple Approach for Optimizing the Offline Motion Preparation As As discussed discussed befor before, e, reducing reducing the th number e numbof er kinematic of kinematic transformations transformations seems seem to s be to r easonable be reasonab for le some algorithms to reduce the oine calculation e ort, even on a simple mechanism as discussed here. for some algorithms to reduce the offline calculation effort, even on a simple mechanism as For disthis cusspurpose, ed here. For in this this w pu ork rpo a very se, insimple this work appr aoach veryis sidiscussed mple appro for ach its is ability discussed to reduce for its the abi o lity ine to calculation e ort. The approach focusses on the question of whether linearization of the transmission reduce the offline calculation effort. The approach focusses on the question of whether linearization in ofthe theworkspace transmission is in allowed the workspac and whether e is allowed this can andincr whet ease herthe thisperformance can increase th ofethe perfo o rmance ine motion of the preparation. Such a linearization would have the advantage that the requirements on a motion points offline motion preparation. Such a linearization would have the advantage that the requirements on could a mobe tion tested point dir s cou ectly ldat be axis test level. ed direct Not ly a single at axikinematic s level. Not transformation a single kinem would atic tr have ansform to be ation calculated would while have motion to be cal pr ceparation. ulated whilOn e mo the tion one prhand, eparation. this On significantly the one ha reduces nd, this the sign number ificantly of rkinematic educes the transformations. number of kinem On atic the trans other formation hand, decoupling s. On the ot of her the hand axes, , d i.e., ecou calculating pling of th each e axes, axis i.e. individually , calculating , becomes each axis possible. individually, becomes possible. 4.1. General Approach The basic idea is to convert the given accuracy on the TCP to an approximate accuracy at axis level where the splines are generated. Due to the non-linear transmission of the mechanism, this is not possible without problems. Figure 9 illustrates the non-linear e ect using the example of the distortion of a circle on the TCP to an ellipse at axis level. Around the set point p on the motion specification (blue, left), the given accuracy " = 1 m is shown as a black circle. All motion points that are located Appl. Sci. 2020, 10, x FOR PEER REVIEW 11 of 19 4.1. General Approach The basic idea is to convert the given accuracy on the TCP to an approximate accuracy at axis level where the splines are generated. Due to the non-linear transmission of the mechanism, this is not possible without problems. Figure 9 illustrates the non-linear effect using the example of the distortion of a circle on the TCP to an ellipse at axis level. Around the set point p on the motion Appl. Sci. 2020, 10, 8014 11 of 19 specification (blue, left), the given accuracy ε = 1 µm is shown as a black circle. All motion points that are located within the black circle are closer to p than required and, therefore, valid set points. After within transfoth rmatio e black n cir into cle ar axi escloser coordin to pates, than rth equir e nom ed and, inal ther valefor ue e,φ valid resulset ts points. from pAfter (blue, transformation right). The transfo into axis rmed coor but dinates, distorted the nominal circle is show valuen' in results black.fr Th om ereby, p (blue, the right). distortion The depen transformed ds on th but e po distorted sition of p cir and cle var is shown ies overin the black. workspace. Thereby If a , c the alculated distortion set po depends int is located on the with position in the blof ack p to and lerance varies border over , it the is workspace. also valid. If a calculated set point is located within the black tolerance border, it is also valid. Figure 9. Distortion due to nonlinearity. (a) Tolerance circle in tool center point (TCP)-coordinate Figure 9. Distortion due to nonlinearity. (a) Tolerance circle in tool center point (TCP)-coordinate system, (b) distorted circle in axis coordinates. system, (b) distorted circle in axis coordinates. As an approach to linearization, the inscribed circle in the ellipse with the radius r (Figure 9, red) As an approach to linearization, the inscribed circle in the ellipse with the radius r (Figure 9, is to be used instead of the whole ellipse. Points inside this circle are always completely within 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 the required tolerance. Thus, the distance of a calculated spline point to the optimal set point φ can checked easily for compliance with the requirements at TCP level without a transformation. be checked easily for compliance with the requirements at TCP level without a transformation. r can be estimated by using the singular value decomposition (SVD) of the Jacobian matrix J r can be estimated by using the singular value decomposition (SVD) of the Jacobian matrix J at at point p known from robotics, e.g., [25]. The Jacobian consists of the partial derivatives in the two 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 di erentiation. When using directions of motion at p. In practice, it can be approximated by numerical differentiation. When forward di erences, the calculation of at least 3 transformations is necessary (p, p = p + [", 0], p = p p0 0p using forward differences, the calculation of at least 3 transformations is necessary (p, pp0 = p + [ε, 0], + [0, "], Figure 9, green). This one-sided di erence represents a simplification and saves one kinematic p0p = p + [0, ε], Figure 9, green). This one-sided difference represents a simplification and saves one transformation compared to the bilinear di erence. For our example, the closed solution of the SVD kinematic transformation compared to the bilinear difference. For our example, the closed solution from [26] is used for calculation with: of the SVD from [26] is used for calculation with: 𝑎 = (𝜑 − 𝜑 )/𝜀 (1) 𝑝 0.1 1 a = ' ' /" (1) p0.1 1 𝑏 = (𝜑 − 𝜑 )/𝜀 (2) 0𝑝 .1 1 b = ' ' /" (2) 0p.1 1 𝑐 = (𝜑 − 𝜑 )/𝜀 (3) c = ' 𝑝 0.2 ' 2/" (3) p0.2 2 and and d = ' ' /" (4) 0p.2 2 𝑑 = (𝜑 − 𝜑 )/𝜀 (4) 0𝑝 .2 2 and  are calculated by [26]. 1 2 λ1 and λ2 are calculated by [26]. p p 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 √𝑎 + 𝑏 + 𝑐 + 𝑑 + 2 · ( − ) + √𝑎 + 𝑏 + 𝑐 + 𝑑 − 2 · ( − ) ( ) ( ) a + b + c + d + 2 ad bc + a + b + c + d 2 ad bc (5) 𝜆 = 1 = (5) p p 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 |√𝑎 + 𝑏 + 𝑐 + 𝑑 + 2 · ( − ) − √𝑎 + 𝑏 + 𝑐 + 𝑑 − 2 · ( − )| a + b + c + d + 2(ad bc) a + b + c + d 2(ad bc) (6) 𝜆 = = (6) 2 2 Therein,  corresponds to the major semi-axis and  to the minor semi-axis of the ellipse [27]. 1 2 and  have the unit rad/m and represent a transmission factor. As can be seen in Figure 9, 1 2 the diameter of the circle " on the TCP is distorted to  and  on axis level. In the minimal case, " is 1 2 𝑏𝑐 𝑎𝑑 𝑏𝑐 𝑎𝑑 𝑏𝑐 𝑎𝑑 𝑏𝑐 𝑎𝑑 Appl. Sci. 2020, 10, x FOR PEER REVIEW 12 of 19 Therein, λ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 Appl. Sci. 2020, 10, 8014 12 of 19 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: distorted to r by  . Since for our application the radius of the inscribed circle is of interest, r has to ' 2 ' be calculated from " and the smaller  by: 𝑟 = 𝜆 · 𝜀 2 (7) 𝜑 2 This consideration requires a coupled calculation of the two axes, since both axis coordinates r =  " (7) ' 2 are included in the calculation of the distance. In the uncoupled case, r should be distributed to both axes. The circular equation: This consideration requires a coupled calculation of the two axes, since both axis coordinates are included in the calculation of the distance. In 2 the 2 uncoupled 2 case, r should be distributed to both 𝑟 = 𝑟 + 𝑟 (8) 𝜑 𝜑 .1 𝜑 .2 axes. The circular equation: 2 2 2 could be used to split r to both axis coordinates. If the proportions are evenly distributed on both r = r + r (8) '.2 '.1 axes (𝑟 = 𝑟 = 𝑟 ), 𝑟 results in: 𝜑 .ax 𝜑 .1 𝜑 .2 𝜑 .ax could be used to split r to both axis coordinates. If the proportions are evenly distributed on both axes (r = r = r ), r results in: 𝑟 = '.ax '.2 '.ax '.1 𝜑 . (9) r√2 r = p (9) .ax This allows the calculation to take place on the single axis, and decoupling of the axes is possible. This allows the calculation to take place on the single axis, and decoupling of the axes is possible. 4.2. Workspace Evaluation 4.2. Workspace Evaluation The analysis of the workspace is the basis for the evaluation of the applicability of the approach The analysis of the workspace is the basis for the evaluation of the applicability of the approach to a real manipulator [28]. It can be carried out during the design or commissioning of the machine, to a real manipulator [28]. It can be carried out during the design or commissioning of the machine, so it only has to be done once. This is particularly useful in our case, since a single process so it only has to be done once. This is particularly useful in our case, since a single process description description contains several motion specifications that all have to be prepared. contains several motion specifications that all have to be prepared. The following diagrams show the entire TCP workspace on the left and a realistic TCP The following diagrams show the entire TCP workspace on the left and a realistic TCP workspace workspace for the process on the right. In our example, the TCP workspace is 10 mm larger in all for the process on the right. In our example, the TCP workspace is 10 mm larger in all directions than directions than the given motion path. the given motion path. 4.2.1.  in the Workspace 4.2.1. λ2 in the Workspace Figur Figure e 10 10 shows shows λover 2 over the the workspace workspace of of the thmechanism; e mechanism; the th values e values are ar limited e limite fr d om from 7 rad 7 / rm ad/ to m 9 rad/m. This diagram can be used to estimate whether linearization is appropriate. The more constant to 9 rad/m. This diagram can be used to estimate whether linearization is appropriate. The more con instant the ar λea 2 in of th the e ar motion ea of th is, e mo thetion mor is e, likely the mo linearization re likely lineari is to za be tioused n is to e be ectively used .eff In ect our ive example, ly. In our varies on the given path between 7.07 rad/m and 7.52 rad/m. The maximum value is thus about example, λ2 varies on the given path between 7.07 rad/m and 7.52 rad/m. The maximum value is 6.4% thusabove aboutthe 6.4% minimum above thvalue. e minimum In the va realistic lue. Inworkspace, the realistic worksp variesac between e, λ2 varies  bet = ween 7.02 rad λ2.m/im n =and 7.02 2 2.min 8.12 rad/m, the minimum value is 14% below the maximum. rad/m and 8.12 rad/m, the minimum value is 14% below the maximum. Figure 10. Transmission  over the workspace of the manipulator. Figure 10. Transmission λ2 over the workspace of the manipulator. Considering these values, it is expected that a linearization by using  for the whole workspace 2.min Considering these values, it is expected that a linearization by using λ2.min for the whole can save computing time while producing a reasonably larger amount of data. Enlarging the workspace workspace can save computing time while producing a reasonably larger amount of data. Enlarging would lead to worse results, especially at the borders of the workspace. A favorable placement of the workspace would lead to worse results, especially at the borders of the workspace. A favorable 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 coecients and lower the performance of the algorithms. 𝑎𝑥 Appl. Sci. 2020, 10, x FOR PEER REVIEW 13 of 19 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 Appl. Sci. 2020, 10, 8014 13 of 19 necessary. This would raise the number of coefficients and lower the performance of the algorithms. 4.2.2. Distortion of the Workspace 4.2.2. Distortion of the Workspace The ratio d = λ2/λ1 is described in [28] as inverse condition number measurement. It allows a The ratio d = / is described in [28] as inverse condition number measurement. It allows a prediction 2 1 prediction about the deformation of the circle. The ratio d = 1 means that the circle on the TCP is also about the deformation of the circle. The ratio d = 1 means that the circle on the TCP is also mapped mapped as a circle at axis level. The distortion is then very small, which has a positive effect on the as a circle at axis level. The distortion is then very small, which has a positive effect on the quality of quality of the transmission [25]. Figure 11 shows d over the workspace, the values are limited from 1 the transmission [25]. Figure 11 shows d over the workspace, the values are limited from 1 to 2. to 2. Figure 11. Distortion  / in the workspace of the manipulator. Figure 11. Distortion λ 2 2/λ1 1 in the workspace of the manipulator. With a ratio d = 1, every valid point on the TCP is also checked as valid at axis level. With a ratio With a ratio d = 1, every valid point on the TCP is also checked as valid at axis level. With a ratio of 2, the inscribed circle has only half the area of the ellipse. Then about 50% of all usable points are of 2, the inscribed circle has only half the area of the ellipse. Then about 50% of all usable points are classified as good. The motion considered here runs between 1.18 and 1.44. This means that with classified as good. The motion considered here runs between 1.18 and 1.44. This means that with linearization, at most between 69% and 85% of all usable points are recognized as good. How this linearization, at most between 69% and 85% of all usable points are recognized as good. How this a ects affects the th amount e amount of of data data will will be beshown shownon onthe the example. example. The smaller d, the more points are correctly classified. As a result, longer spline segments will The smaller d, the more points are correctly classified. As a result, longer spline segments will be be calculated. Thus, a path in the area with a small d (blue) can be mapped with fewer spline calculated. Thus, a path in the area with a small d (blue) can be mapped with fewer spline segments segments and less data than one in the area with large d. The positioning of the path in the and less data than one in the area with large d. The positioning of the path in the workspace thereby workspace thereby also has an influence on the amount of data that is generated. also has an influence on the amount of data that is generated. 4.2.3. Error Estimation 4.2.3. Error Estimation Besides the linearization itself, several simplifications have been made so far. This concerns on Besides the linearization itself, several simplifications have been made so far. This concerns on the one hand the calculation of the Jacobian matrix. Here one-sided differences are used instead of the one hand the calculation of the Jacobian matrix. Here one-sided di erences are used instead of central differences to save 25% of the transformations. This error is estimated to be negligibly small. central di erences to save 25% of the transformations. This error is estimated to be negligibly small. It is well known that with a smaller step size the Jacobian matrix becomes more accurate when It is well known that with a smaller step size the Jacobian matrix becomes more accurate when differentiating, but if the steps are too small then numerical issues can cause problems. To estimate di erentiating, but if the steps are too small then numerical issues can cause problems. To estimate the magnitude of this, the ratio between λ2 calculated with large ε (ε = 2 mm) and small ε (ε = 0.1 µ m) the magnitude of this, the ratio between  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 is shown in Figure 12. From the result a maximum error of about 0.5% in the realistic workspace estimated. Appl. Sci. 2020, 10, x FOR PEER REVIEW 14 of 19 is estimated. Figure 12. Error when using large " instead of small " for calculating the Jacobian in Figure 12. Error when using large ε instead of small ε for calculating the Jacobian in the the manipulator ’s workspace. manipulator’s workspace. Further errors result from the calculation of λ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%. Figure 13. Estimation of a minimum λ2 (blue) by extrapolation between the minimum (black) and the surrounding maximum (red). Splitting r 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. Overall, the simplification results in a total estimated error of about 1%. The following calculations are therefore made with λ2.corr = 0.99 · λ2.min = 6.95 rad/m. At axis level, λ2.corr.ax = 1/√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 With this approach and the previous knowledge about the workspace of the mechanism, there are many possibilities for optimizing the offline motion preparation. For the sake of simplicity, a single scenario will be considered, which could be extended to other applications in the following studies. Appl. Sci. 2020, 10, x FOR PEER REVIEW 14 of 19 Appl. Sci. 2020, 10, 8014 14 of 19 Figure 12. Error when using large ε instead of small ε for calculating the Jacobian in the manipulator’s workspace. Further errors result from the calculation of  in the workspace, Figure 10. If too few points Further errors result from the calculation of λ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 (e.g., only the four corners of the workspace) are calculated, the resolution is too low, a minimum cannot be found with sucient certainty. Depending on the selected grid, the global minimum may be cannot be found with sufficient certainty. Depending on the selected grid, the global minimum may located between the grid points. In order to stay safely below, its value is to be estimated. Therefore, be located between the grid points. In order to stay safely below, its value is to be estimated. the points (Figure 13, light red and red) surrounding the minimum (black) are used. Their maximum Therefore, the points (Figure 13, light red and red) surrounding the minimum (black) are used. Their (red) should be selected and extrapolated beyond the minimum point (black). The value of the resulting maximum (red) should be selected and extrapolated beyond the minimum point (black). The value estimated point (blue) is to be used for calculating an estimated minimum error. The finer the grid, of the resulting estimated point (blue) is to be used for calculating an estimated minimum error. The the more accurately the minimum can be calculated; but this is associated with increased additional finer the grid, the more accurately the minimum can be calculated; but this is associated with calculation e ort. In our example, a 2.5 mm grid in x and y direction was used (about 30 points in x increased additional calculation effort. In our example, a 2.5 mm grid in x and y direction was used direction). The error results in being 0.23%. (about 30 points in x direction). The error results in being 0.23%. Figure 13. Estimation of a minimum  (blue) by extrapolation between the minimum (black) Figure 13. Estimation of a minimum λ2 (blue) by extrapolation between the minimum (black) and the and the surrounding maximum (red). surrounding maximum (red). Splitting r over the two axes in Equation (8) does not cause errors. Using this approach, only a square Splitting r over the two axes in Equation (8) does not cause errors. Using this approach, only a inside the inscribed circle in the ellipse is considered. Due to the smaller area tested, it is expected that square inside the inscribed circle in the ellipse is considered. Due to the smaller area tested, it is this will result in at most 64% of all suitable set points being declared as good. In this case, the number of expected that this will result in at most 64% of all suitable set points being declared as good. In this coefficients for a given motion accuracy will increase. In addition, the spline will be closer to the optimized case, the number of coefficients for a given motion accuracy will increase. In addition, the spline will target set point, the accuracy of the spline will be higher than required. be closer to the optimized target set point, the accuracy of the spline will be higher than required. Overall, the simplification results in a total estimated error of about 1%. The following calculations Overall, the simplification results in a total estimated error of about 1%. Thp e following are therefore made with  = 0.99   = 6.95 rad/m. At axis level,  = 1/ 2   = 2.corr 2.min 2.corr.ax 2.corr calculations are therefore made with λ2.corr = 0.99 · λ2.min = 6.95 rad/m. At axis level, λ2.corr.ax = 1/√2 · 4.91 rad/m will be used. With a known TCP accuracy, an axis accuracy can be calculated by Equation (7). λ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 With this approach and the previous knowledge about the workspace of the mechanism, there are 4.3. Performance Evaluation many possibilities for optimizing the oine motion preparation. For the sake of simplicity, a single With this approach and the previous knowledge about the workspace of the mechanism, there scenario will be considered, which could be extended to other applications in the following studies. are many possibilities for optimizing the offline motion preparation. For the sake of simplicity, a In this scenario, two basic definitions are made. On the one hand, a constant transmission single scenario will be considered, which could be extended to other applications in the following over the entire workspace is estimated. In doing so, all kinematic transformations used to check for studies. 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 at axis level. This allows an optimized segmentation and a better adaptation of the splines to 2.corr.ax the motion specification. For performance evaluation purposes, firstly the reduction of the number of calculated kinematic transformations is examined. As can be seen in Figure 14, this number has been reduced significantly for all algorithms. For the B-spline algorithms, 87.5% (bsLSQ , bsITER ) to 95.8% (bsLSQ , bsITER ) all all max 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 , bsITER ), the saving is smaller since the computational e ort itself is smaller. However, all all Appl. Sci. 2020, 10, x FOR PEER REVIEW 15 of 19 In this scenario, two basic definitions are made. On the one hand, a constant transmission λ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. For performance evaluation purposes, firstly the reduction of the number of calculated kinematic transformations is examined. As can be seen in Figure 14, this number has been reduced significantly for all algorithms. For the B-spline algorithms, 87.5% (bsLSQall, bsITERall) to 95.8% (bsLSQmax, bsITERmax) transformations are saved on average. This percentage is so high because the algorithms perform many transformations for searching the global maximum. For the algorithms Appl. Sci. 2020, 10, 8014 15 of 19 that divide all segments (bsLSQall, bsITERall), the saving is smaller since the computational effort itself is smaller. However, since the kinematic transformations in the B-spline approaches only have since the kinematic transformations in the B-spline approaches only have a minimal impact on the total a minimal impact on the total computation effort (Figure 8), no significant performance increase is computation e ort (Figure 8), no significant performance increase is expected. With the monomial expected. With the monomial spline algorithms, in average 63.8% (msITER) and 57.2% (msRECUR) spline algorithms, in average 63.8% (msITER) and 57.2% (msRECUR) of the kinematic transformations of the kinematic transformations can be saved on average (66.7% and 58.7% for an accuracy of 1 µ m). can be saved on average (66.7% and 58.7% for an accuracy of 1 m). Due to the great influence of Due to the great influence of the transformations (Figure 8), this should be apparent in the overall the transformations (Figure 8), this should be apparent in the overall performance. performance. Figure 14. Reduction of the number of kinematic transformations by using the approach. Figure 14. Reduction of the number of kinematic transformations by using the approach. ThThe e next next step step is is to to con consider sider how how the the acc accuracy uracy of of mo motion tion change change s o sver over the the path path. . AsAs dedescribed scribed above above, , two two fac factors tors lead lead toto ththe e cacalculation lculation ofof a a mo mor re e acc accurate urate path path th than an re requir quire ed. d. One One is is th the e r re eduction duction to to a a constant constant λ2,, which which leaves leavesu up p to to14% 14%of of the the accuracy accuracy unused. unusedThe . Thother e other is is splitting splitting r rto to the the two tw axes o ' φ axes via vEquation ia Equation (8). (Her 8). H e er aneerr anor er of ror up of to up 64% to is 64% expected. is expect Fig ed. ur eFig 15ure shows 15 shows the deviation the devia of the tion calculated of the calspline culated fr om splithe ne optimized from the op set timized points. s (a) et shows points.the (a)conventional shows the con appr ven oach tional wher approach e all algorithms where come all alg very orithm close s co to me the very allowed close accuracy to the allow . In (b) ed the accu simple racy.app In (rb oach ) theis si shown. mple approach It can be seen is shown that .for It the can given be seen motion that for a lar the ge gi part ven of mo the tion allowed a large p accuracy art of the is al unused lowed acc (>60%). uracy is Furthermor unused (>60% e, it can ). Furtherm be seenore that , itfor can the be algorithms seen that that for divide the algall orithm segments s that(bsLSQ divide all , bsITER segment ) a s much (bsLSQ higher all, bsIT accuracy ERall) a than much necessary higher is all all accu achieved racy than in wide necess ranges ary is ach of the ieved motion in wide (e.g., range between s of th  e = mo 0.2–0.4). tion (e. This g., bet reduces ween τ the = 0.2 performance –0.4). This of reduce those s th appr e poaches. erformance of those approaches. Appl. Sci. 2020, 10, x FOR PEER REVIEW 16 of 19 Figure 15. Motion accuracy of the calculated splines. (a) Using conventional an (b) simple motion Figure 15. Motion accuracy of the calculated splines. (a) Using conventional an (b) simple motion preparation approach. preparation approach. The results of the performance evaluation of the algorithms for decoupled axes are shown in The results of the performance evaluation of the algorithms for decoupled axes are shown in Figure 16. The qualitative trend in (a) shows that the basic characteristic of the performance curves Figure 16. The qualitative trend in (a) shows that the basic characteristic of the performance curves does not change compared to the coupled case. Due to the simplification made, the B-spline does not change compared to the coupled case. Due to the simplification made, the B-spline algorithms algorithms have a worse performance than before. At 1 µm accuracy, the number of generated data have a worse performance than before. At 1 m accuracy, the number of generated data increases increases slightly by + 13%, while the computational effort rises significantly by + 30%. The higher slightly by +13%, while the computational e ort rises significantly by +30%. The higher computational computational effort can be explained by the fact that the simplifications require a much higher accuracy than before. In combination with the great influence of algorithms on the total calculation effort, the effort increases significantly. As expected, the monomial spline algorithms generate more data than before, especially at higher accuracies. However, the overall computational effort decreases. This can be explained as the saved kinematic transformations have a high influence on the total computing effort. 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. Appl. Sci. 2020, 10, x FOR PEER REVIEW 16 of 19 Figure 15. Motion accuracy of the calculated splines. (a) Using conventional an (b) simple motion preparation approach. The results of the performance evaluation of the algorithms for decoupled axes are shown in Figure 16. The qualitative trend in (a) shows that the basic characteristic of the performance curves does not change compared to the coupled case. Due to the simplification made, the B-spline algorithms have a worse performance than before. At 1 µm accuracy, the number of generated data Appl. Sci. 2020, 10, 8014 16 of 19 increases slightly by + 13%, while the computational effort rises significantly by + 30%. The higher computational effort can be explained by the fact that the simplifications require a much higher e ort can be explained by the fact that the simplifications require a much higher accuracy than before. accuracy than before. In combination with the great influence of algorithms on the total calculation In combination with the great influence of algorithms on the total calculation e ort, the e ort increases effort, the effort increases significantly. As expected, the monomial spline algorithms generate more significantly. As expected, the monomial spline algorithms generate more data than before, especially data than before, especially at higher accuracies. However, the overall computational effort at higher accuracies. However, the overall computational e ort decreases. This can be explained as decreases. This can be explained as the saved kinematic transformations have a high influence on the the saved kinematic transformations have a high influence on the total computing e ort. total computing effort. Figure 16. Comparison of the performance of the algorithms with decoupled drive coordinates. The Figure 16. Comparison of the performance of the algorithms with decoupled drive coordinates. values of the coupled calculation are shown transparent, cf. Figure 7. (a) Trend of the performance as The values of the coupled calculation are shown transparent, cf. Figure 7. (a) Trend of the performance a function of the accuracy. (b) Performance for the relevant accuracy of 1 µ m. as a function of the accuracy. (b) Performance for the relevant accuracy of 1 m. For the example of 1 m accuracy, msITER generates 4.8% less data than msRECUR. In contrast, msRECUR requires 32.8% less computing e ort. In Figure 16b, msITER and msRECUR appear closer than in the conventional approach. Again, msRECUR is evaluated as the more suitable algorithm, since the savings in e ort are much greater than in data. Once again msITER follows closely as the second best algorithm. 5. Discussion 5.1. Algorithms for Oine Motion Preparation It could be shown on the example that the B-Spline algorithms investigated require a very high computational e ort when they are used for oine motion processing. This is mainly because complex equation solvers have to be implemented in the algorithms. Due to these characteristics, the use of B-Splines cannot be recommended for oine motion preparation. For a given accuracy of 1 m, a recursive algorithm based on monomial splines (msRECUR) is evaluated as the most well performing. Compared to the iterative monomial spline algorithm (msITER), it saves up to 32.8% of the computing operations with only 4.8% more data. Furthermore, it has to be summarized that as expected in all experiments msITER generates less data, while msRECUR requires the least calculation operations. If the amount of data calculated by the algorithm is more important, msITER is preferable. If the e ort is more important, msRECUR should be chosen. Through linearization of the non-linear mechanism, for the monomial spline algorithms the computational e ort was reduced significantly by 19.1% with a minimal increase in the amount Appl. Sci. 2020, 10, 8014 17 of 19 of data by 3.3% (" = 1 m). This shows that even the simplest optimization approaches can have a considerable positive e ect on performance of the algorithms. 5.2. Outlook Using the Jacobian matrix is an established method even in more complex kinematics [25]. Instead of ellipses, multidimensional ellipsoids with comparable properties then result, e.g., [29,30]. It is assumed that similar optimization approaches to those discussed in this work could be used even in more complex kinematics to minimize the computational e ort. Additional investigations have to be undertaken to determine whether a transfer of the approach is possible or useful. By adjusting the mechanism to the processes workspace, the non-linearities of the kinematics can be better represented by linearization. It is expected that this will further reduce the amount of required data. In further work, ways should be investigated to exceed the assumption of a constant transmission in the entire workspace. A map-based approach seems to be useful here, similar to volumetric error compensation. With that, splines could be generated closer to the set points and the amount of data could be further reduced. In this context, the e ects of grid spacing on discretization and estimation of a locally valid limit value should be investigated. 6. Conclusions In this work, algorithms for oine motion preparation are evaluated with respect to their performance. On the one hand, the computational e ort is presented. It determines the time required for motion preparation. On the other hand, the generated data volume is shown, because a small data volume is required in the machine’s control system. The evaluation was carried out on the example of a non-linear kinematics and an example process from the field of processing machines. Characteristic for the process are comparatively large data volumes and high demands on the motion processing. First, an obvious approach to generating motion splines from a given 2D point cloud at TCP level is presented. Selected algorithms based on B-Spline and monomial splines are examined for their performance. The evaluation is undertaken qualitatively by means of a 2D diagram, enhanced by the consideration of absolute values. After discussing the results, a recursive algorithm based on monomial splines is recommended for use in the example. Since the kinematic transformations have a negative influence on the performance, a simple approach for increasing the performance by reducing the total number of kinematic transformations is presented. With this simple approach, in the example of 1 m accuracy the computing e ort was reduced significantly while the data volume increased slightly. Higher reductions in computing e ort are expected when transferring to more complex kinematics. The evaluation showed that the monomial spline algorithms are much better suitable for oine motion preparation than B-spline based algorithms. Due to the large performance di erences, a clear recommendation is given for monomial spline algorithms, even for other processes with similar requirements. For the example investigated, a recursive algorithm was identified as that which performed best. Author Contributions: Conceptualization, O.H.; Data curation, L.D.; Supervision, S.I.; Validation, O.H. and L.D.; Writing—original draft, O.H.; Writing—review and editing, O.H., L.D. and S.I. All authors have read and agreed to the published version of the manuscript. Funding: This research was funded by the German Research Foundation under grant number 182157057. Acknowledgments: The authors would like to thank the German Research Foundation for supporting this work under grant number 182157057. Furthermore, we thank Christian Friedrich for his technical support. Conflicts of Interest: The authors declare no conflict of interest. Appl. Sci. 2020, 10, 8014 18 of 19 References 1. Römisch, P.; Weiß, M. Projektierungspraxis Verarbeitungsanlagen—Planungsprozess mit Berechnung und Simulation der Systemzuverlässigkeit; Springer Fachmedien: Wiesbaden, Germany, 2014. 2. 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. [CrossRef] 3. 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. [CrossRef] 4. 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. 5. Troll, C.; Tietze, S.; Majschak, J.-P. Controlling Liquid Slosh by Applying Optimal Operating-Speed-Dependent Motion Profiles. Robotics 2020, 9, 18. [CrossRef] 6. 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. [CrossRef] 7. Israel, G.-R. Durchgängige Rechnergestützte Entwicklung von Kurven-Mechanismen für Verarbeitungsmaschinen. Ph.D. Thesis, TU Dresden, Dresden, Germany, 1988. 8. McMahon, F. The Livermore Fortran Kernels Test of the Numerical Performance Range. Perform. Eval. Supercomput. 1988, 4, 143–186. 9. Liu, H.; Hong, T.-H.; Herman, M.; Camus, T.; Chellappa, R. Accuracy vs. Eciency Trade-o s in Optical Flow Algorithms. Comput. Vis. Image Underst. 1998, 72, 271–286. [CrossRef] 10. Farin, G. Curves and Surfaces for CAGD—A Practical Guide; Morgan Kaufmann Publishers: San Francisco, CA, USA, 2002. 11. Piegl, L.; Tiller, W. The NURBS Book; Springer: Berlin/Heidelberg, Germany, 1995. 12. Hoschek, J.; Lasser, D. Grundlagen der Geometrischen Datenverarbeitung; Teubner: Stuttgart, Germany, 1992. 13. De Boor, C. A Practical Guide to Splines; Springer: New York, NY, USA, 1978. 14. Lin, H.; Maekawa, T.; Deng, C. Survey on geometric iterative methods and their applications. Comput. Aided Des. 2018, 95, 40–51. [CrossRef] 15. Kocic, L.M.; Milovanovic, G.V. Shape Preserving Approximations by Polynomials and Splines. Comput. Math. Appl. 1997, 33, 59–97. [CrossRef] 16. Greiner, H. A survey on univariate data interpolation and approximation by splines of given shape. Math. Comput. Model. 1991, 15, 97–106. [CrossRef] 17. Ascher, U.; Pruess, S.; Russell, R.D. On Spline Basis Selection for Solving Di erential Equations. SIAM J. Numer. Anal. 1983, 20, 121–142. [CrossRef] 18. Großmann, K.; Kauschinger, B.; Holowenko, O. Ecient Execution of Highly Dynamic Trajectory Values in Processing Machines. In Tagungsband sps ipc Drives; VDE Verlag: Berlin/O enbach, Germany, 2012; pp. 205–214. 19. Akima, H. A New Method of Interpolation and Smooth Curve Fitting Based on Local Procedures. J. ACM 1970, 17, 589–602. [CrossRef] 20. Fageot, F.; Aziznejad, S.; Unser, M.; Uhlmann, V. Support and approximation properties of Hermite splines. J. Comput. Appl. Math. 2020, 368. [CrossRef] [PubMed] 21. Deng, C.; Lin, H. Progressive and Iterative Approximation for Least Squares B-Spline Curve and Surface Fitting. Comput. Aided Des. 2014, 47, 32–44. [CrossRef] 22. 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). 23. Pang, T. An Introduction to Computational Physics; Cambridge University Press: Cambridge, UK, 2006. 24. Piegl, L.; Tiller, W. Least-Squares B-Spline Curve Approximation with Arbitary End Derivatives. Eng. Comput. 2000, 16, 109–116. [CrossRef] 25. Siciliano, B.; Khatib, O. (Eds.) Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2016. 26. 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). Appl. Sci. 2020, 10, 8014 19 of 19 27. Schönbrodt, S. Maschinelle Lernmethoden für Klassifizierungsprobleme; Springer Fachmedien: Wiesbaden, Germany, 2019. 28. 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. [CrossRef] 29. Friedrich, C.; Kauschinger, B.; Ihlenfeldt, S. Spatial force measurement using a rigid hexapod-based end-e ector with structure-integrated force sensors in a hexapod parallel kinematic. Measurement 2019, 145, 350–360. [CrossRef] 30. 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. [CrossRef] Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional aliations. © 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/). http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Applied Sciences Multidisciplinary Digital Publishing Institute

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

Loading next page...
 
/lp/multidisciplinary-digital-publishing-institute/performance-evaluation-of-offline-motion-preparation-approaches-on-the-PllFyCqUzN

References (30)

Publisher
Multidisciplinary Digital Publishing Institute
Copyright
© 1996-2020 MDPI (Basel, Switzerland) unless otherwise stated Disclaimer The statements, opinions and data contained in the journals are solely those of the individual authors and contributors and not of the publisher and the editor(s). MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. Terms and Conditions Privacy Policy
ISSN
2076-3417
DOI
10.3390/app10228014
Publisher site
See Article on Publisher Site

Abstract

applied sciences Article Performance Evaluation of Oine Motion Preparation Approaches on the Example of a Non-Linear Kinematics 1 , 1 1 , 2 Olaf Holowenko * , Lucas Drowatzky and Ste en Ihlenfeldt Institute of Mechatronic Engineering, Technische Universität Dresden, 01069 Dresden, Germany; Lucas.Drowatzky@TU-Dresden.de (L.D.); Ste en.Ihlenfeldt@TU-Dresden.de (S.I.) Fraunhofer IWU, 01187 Dresden, Germany * Correspondence: Olaf.Holowenko@TU-Dresden.de Received: 15 October 2020; Accepted: 10 November 2020; Published: 12 November 2020 Abstract: In motion control, the generation of motion profiles for non-linear kinematics is usually computationally complex. In order to minimize the workload on the machine’s control system, the approach pursued is outsourcing complex calculation tasks to the offline area. In this offline motion preparation, predefined criteria have to be taken into account to guarantee process stability on the real machine. During the motion preparation, a high performance is desired, characterized by less data generated and at the same time little computing effort. The evaluation will use the example of a motion specification, which is characterized by a large amount of data compared to conventional motion specifications. Thus, the demands on performance become even higher. This paper examines the performance of different motion preparation approaches known from literature. On the one hand, selected spline-based algorithms are discussed and compared. A recursive algorithm based on monomial splines is recommended for use in the example. On the other hand, a very simple approach based on the linearization of the non-linear workspace of the mechanism is presented and applied on the algorithms. With this, the performance increased significantly again. Keywords: motion control; spline algorithm; B-spline; monomial spline; performance evaluation; nonlinear kinematics 1. Motivation Processing machines are used for the automated production of mass consumer goods in very high quantities. A characteristic of this type of machines is the execution of cyclical motions. From an economic point of view, a high operating speed with low downtimes is necessary. In general, processing machines are not stand-alone machines, but consist of several linked machines and buffers [1]. If downtimes occur on a single machine, e.g., due to problems within the process, the buffers are emptied by the following machine. After solving the problem, all machines continue operating and filling up the buffers again. This causes the operation speed to vary at the individual machines. Regardless of the operating speed used, meeting specific requirements is essential, especially with regard to product quality and process stability. Otherwise, executing the process on the machine is not possible. This will be illustrated on the example of intermittent conveying of pieced goods used in the following, Figure 1a. In this process, a servo-driven non-linear kinematics is moving a comb-shaped tool in two dimensions. The comb in turn moves a product (e.g., a chocolate bar) from one rest position to the next. As motion specification, the specially optimized motion shown in Figure 1b is used [2]. In this process, firstly the product is accelerated, detaches from the comb (I), and enters a free sliding phase (II). After moving the required distance, the comb actively stops the product (III). Using this new Appl. Sci. 2020, 10, 8014 ; doi:10.3390/app10228014 www.mdpi.com/journal/applsci Appl. Sci. 2020, 10, x FOR PEER REVIEW 2 of 19 Appl. Sci. 2020, 10, 8014 2 of 19 stops the product (III). Using this new type of process makes it possible to increase the maximum type of process makes it possible to increase the maximum operating speed significantly compared operating speed significantly compared to a conventional conveying process where the product is to a conventional conveying process where the product is regularly not detaching from the comb. It regularly not detaching from the comb. It has been shown experimentally that it is possible to has been shown experimentally that it is possible to increase the maximum operating speed−1 for this increase the maximum operating speed for this example process significantly from 71 min to 300 1 1 −1 example process significantly from 71 min to 300 min by +285% [3]. min by +285% [3]. Figure 1. Example process. (a) Intermittent transport of pieced goods along a horizontal path with Figure 1. Example process. (a) Intermittent transport of pieced goods along a horizontal path with a a servo-driven five-bar linkage. (b) Principles of a motion approach for the transport of pieced goods. servo-driven five-bar linkage. (b) Principles of a motion approach for the transport of pieced goods. (c) Characteristic map of operating speed-dependent motion profiles. Based on [2,4]. (c) Characteristic map of operating speed-dependent motion profiles. Based on [2,4]. A disadvantage of the process is that with non-optimal operating speed the product may not A disadvantage of the process is that with non-optimal operating speed the product may not detach from the comb at lower speeds or bounces o at higher speeds. It is then no longer positioned detach from the comb at lower speeds or bounces off at higher speeds. It is then no longer positioned correctly; the process becomes unstable [3]. This process is representative for processes that vary with correctly; the process becomes unstable [3]. This process is representative for processes that vary the operating speed, e.g., also [5]. with the operating speed, e.g., also [5]. With conventional controls, executing such unstable processes is possible only within a very small With conventional controls, executing such unstable processes is possible only within a very operating speed range. In previous works, a tripartite approach for controlling operation speed-dependent small operating speed range. In previous works, a tripartite approach for controlling operation processes has been developed and discussed [2–6]. The first part of the approach is to optimize the motion speed-dependent processes has been developed and discussed [2–6]. The first part of the approach is specification for a given operating speed n. In doing so, effects are taken into account whose characteristics to optimize the motion specification for a given operating speed n. In doing so, effects are taken into change with the operating speed, e.g., vibrations or kinetic energy. The discussion of the optimization account whose characteristics change with the operating speed, e.g., vibrations or kinetic energy. results is not part of the work and is treated e.g., in [2,5]. Furthermore, a characteristic map of The discussion of the optimization results is not part of the work and is treated e.g., in [2,5]. operating-speed-dependent motion profiles is created, Figure 1c. It contains several optimized motion Furthermore, a characteristic map of operating-speed-dependent motion profiles is created, Figure profiles for different operating speeds, given as point lists. The motion profiles contain relevant values 1c. It contains several optimized motion profiles for different operating speeds, given as point lists. for the control, e.g., position as well as velocity and torque feedforward set points. The contents required The motion profiles contain relevant values for the control, e.g., position as well as velocity and for a specific process is determined during the optimization and are therefore predefined values for torque feedforward set points. The contents required for a specific process is determined during the the motion preparation. Within the given map, the normalized cycle timeis one dimension, the operating optimization and are therefore predefined values for the motion preparation. Within the given map, speed n for the motion profile is the second. The optimal motion profiles are directly included in the map. the normalized cycle time τ is one dimension, the operating speed n for the motion profile is the If a non-optimized operating speed has to be driven (Figure 1c, gray), an interpolated value is used [4,6]. second. The optimal motion profiles are directly included in the map. If a non-optimized operating Finally, a specialized microcontroller-based control system has been developed. It allows the processing speed has to be driven (Figure 1c, gray), an interpolated value is used [4,6]. Finally, a specialized of this characteristic map of motion profiles with a very high online interpolation rate of 8 kHz. Therein, microcontroller-based control system has been developed. It allows the processing of this for efficient, highly dynamic motion processing, splines are used. Online aspects of the control are not characteristic map of motion profiles with a very high online interpolation rate of 8 kHz. Therein, for part of this work; for more details see [6]. efficient, highly dynamic motion processing, splines are used. Online aspects of the control are not The combination of optimization, operating-speed-dependent motion profiles, and the novel part of this work; for more details see [6]. control system leads to a significant increase in the achievable operating speed. At the same time, The combination of optimization, operating-speed-dependent motion profiles, and the novel varying the operating speed over a wide range is possible. A disadvantage is that using more than one control system leads to a significant increase in the achievable operating speed. At the same time, single motion specification, as in conventional systems, leads to a significantly higher amount of data varying the operating speed over a wide range is possible. A disadvantage is that using more than needed to describe a single process. This is particularly disadvantageous against the background of one single motion specification, as in conventional systems, leads to a significantly higher amount of real-time processing, as many controllers do not have a large data memory. data needed to describe a single process. This is particularly disadvantageous against the Using a very fast controller means that only a short computing time (125 s in our example) background of real-time processing, as many controllers do not have a large data memory. is available online. The online motion processing of the specifications must, therefore, be as efficient as Using a very fast controller means that only a short computing time (125 µs in our example) is possible. To achieve this, the approach is to carry out online calculations into the offline field wherever available online. The online motion processing of the specifications must, therefore, be as efficient as possible. Such calculations include, in particular, computationally complex operations like kinematic possible. To achieve this, the approach is to carry out online calculations into the offline field Appl. Sci. 2020, 10, x FOR PEER REVIEW 3 of 19 Appl. Sci. 2020, 10, 8014 3 of 19 wherever possible. Such calculations include, in particular, computationally complex operations like kinematic transformations. Even though computers and control systems are becoming faster and transformations. Even though computers and control systems are becoming faster and faster, other faster, other aspects speak in favor of outsourcing the calculation effort to the offline preliminary aspects speak in favor of outsourcing the calculation effort to the offline preliminary field. On the one field. On the one hand, there is an increasing trend to use small, inexpensive, networked controllers hand, there is an increasing trend to use small, inexpensive, networked controllers with low computing with low computing capacity (“Industry 4.0”, “Smart Manufacturing”). On the other hand, the idea capacity (“Industry 4.0”, “Smart Manufacturing”). On the other hand, the idea of relieving the controller of relieving the controller and keeping resources free for other (new) functions underlines the and keeping resources free for other (new) functions underlines the relevance of the approach. At the same relevance of the approach. At the same time, the demand for individualized products increases (e.g., time, the demand for individualized products increases (e.g., customized products, often in the context of customized products, often in the context of “Industry 4.0” or “Smart Manufacturing”). “Industry 4.0” or “Smart Manufacturing”). Individualized products, in turn, require individual motion Individualized products, in turn, require individual motion specifications that must be prepared for specifications that must be prepared for the control approach. This increases the amount of work needed the control approach. This increases the amount of work needed for the offline motion preparation. for the offline motion preparation. Figure 2 shows the integration of the motion preparation in the proposed workflow. In the first Figure 2 shows the integration of the motion preparation in the proposed workflow. step, the motion specification is numerically calculated and optimized under consideration of In the first step, the motion specification is numerically calculated and optimized under consideration operating-speed-dependent effects. Due to the optimization algorithm used, point lists are of operating-speed-dependent e ects. Due to the optimization algorithm used, point lists are generated. generated. The specifications are combined to a map of operating speed-dependent motion profiles. The specifications are combined to a map of operating speed-dependent motion profiles. Subsequently, Subsequently, a map of splines is generated from these point lists during the motion preparation, a map of splines is generated from these point lists during the motion preparation, which can be which can be processed very efficiently later. This is done in the area of online motion processing. processed very eciently later. This is done in the area of online motion processing. Previous work Previous work examined aspects of motion optimization and online motion processing, Figure 2, examined aspects of motion optimization and online motion processing, Figure 2, gray. The present gray. The present work discusses offline preparation aspects. work discusses oine preparation aspects. Figure 2. Position of the motion preparation in the workflow. Figure 2. Position of the motion preparation in the workflow. In order to reduce downtime on the machine, the motion specifications have to be prepared quickly. In order to reduce downtime on the machine, the motion specifications have to be prepared To be able to assess this, the work deals with the performance evaluation of di erent approaches for quickly. To be able to assess this, the work deals with the performance evaluation of different oine motion preparation known from literature. The paper is structured as follows: first, requirements approaches for offline motion preparation known from literature. The paper is structured as follows: on the results of the oine motion preparation and the performance evaluation are defined (Section 2). first, requirements on the results of the offline motion preparation and the performance evaluation After evaluating conventional approaches for oine motion preparation, optimization potentials are are defined (Section 2). After evaluating conventional approaches for offline motion preparation, deduced (Section 3). Furthermore, a very simple approach to increase the performance is discussed optimization potentials are deduced (Section 3). Furthermore, a very simple approach to increase the and evaluated (Section 4). Finally, an overview on the approaches is given (Section 5) followed by performance is discussed and evaluated (Section 4). Finally, an overview on the approaches is given conclusions (Section 6). (Section 5) followed by conclusions (Section 6). 2. Preliminary Remarks on the Oine Motion Preparation 2. Preliminary Remarks on the Offline Motion Preparation As a basis for the oine motion preparation, motion set points (position as well as velocity and As a basis for the offline motion preparation, motion set points (position as well as velocity and torque for feedforward control) are given for the 2D-tool center point (TCP). In the approach pursued, torque for feedforward control) are given for the 2D-tool center point (TCP). In the approach each of the three set points may contain several motion profiles, optimized for selected operation pursued, each of the three set points may contain several motion profiles, optimized for selected speeds n, Figure 1c. Depending on the process under consideration, up to 3 [2] or more [6] profiles operation speeds n, Figure 1c. Depending on the process under consideration, up to 3 [2] or more [6] may be necessary. Furthermore, the kinematic parameters of the mechanism are known, Figure 1a. profiles may be necessary. Furthermore, the kinematic parameters of the mechanism are known, All motions are within one limited workspace, which is advantageous for the optimization approach Figure 1a. All motions are within one limited workspace, which is advantageous for the discussed here. The characteristic map of motion profiles is available as a map of point lists. The reason optimization approach discussed here. The characteristic map of motion profiles is available as a for this is that the optimization approach iteratively calculates single set points [2]. map of point lists. The reason for this is that the optimization approach iteratively calculates single As the investigations in the previous work have shown, both the different motion specifications and set points [2]. the specifications for different processes have similar characteristics, as described above. Thus, the approach As the investigations in the previous work have shown, both the different motion specifications described here can be transferred to other sample processes. In the present work, for the reason of simplicity and the specifications for different processes have similar characteristics, as described above. Thus, the discussion is conducted on the example of the position set points for the intermittent transport of the approach described here can be transferred to other sample processes. In the present work, for pieced goods, Figure 1. They are also representative of other processes or motion specifications. the reason of simplicity the discussion is conducted on the example of the position set points for the intermittent transport of pieced goods, Figure 1. They are also representative of other processes or motion specifications. Appl. Sci. 2020, 10, 8014 4 of 19 2.1. Requirements on the Preparation Result Splines are most suitable for the online processing of the motion specifications with variable machine speeds [6]. They are widely used in the area of motion control and have several advantages, especially for the execution of operating-speed dependent motion profiles. Firstly, they scale with the variable machine speed due to their online-calculation in every interpolation cycle. Furthermore, the amount of data is significantly smaller compared to the number of given set points if tolerable deviations or limits to be fulfilled are specified. To reduce the required data volume, splines have to approximate the optimal set points. This in turn means that not every calculated set point will meet an optimal set point exactly. Therefore, it is necessary to define an allowed tolerance respective to a target accuracy. The calculated set points have to meet those given criteria. In this work, for reasons of simplicity, the comb’s positioning accuracy is used as a criterion to be fulfilled. It is calculated from the di erence between the given position set point and set point calculated from the spline for both axes, assuming ideal kinematics and infinite rigidity. Real e ects are not taken into account, as they do not a ect the oine motion preparation. They are considered in the optimization process and are not part of this work. An accuracy of " = 1 m is common when calculating position set points on cams [7]. This magnitude has also proven to be useful in previous studies [3,4,6]. Depending on the process under consideration, however, lower accuracies (respectively higher tolerances) may also be sucient. Further requirements on the result of the oine motion preparation were defined in [6]. Thus, the amount of data given to the interpolator has to be as small as possible, as online resources are limited. To ensure the short available online computation time, the characteristic map of motion profiles is to be transferred to the interpolator as a set of operating speed-dependent 1D-axis splines on the monomial basis [6]. In order to meet the optimization results, one requirement of the outgoing motion profiles is that the splines are C continuous, particularly between the splines end and its beginning. This is necessary to guarantee a smooth, continuous motion. 2.2. Performance Evaluation In this work, selected motion preparation algorithms will be evaluated for their performance. Therefore, they are applied to the process show in Figure 1. In our example, the performance depends on two parameters: the amount of data produced by the algorithm and the e ort required for oine motion preparation. The required motion accuracy on the TCP has to be maintained in all cases. For a good performance, the amount of data has to be small. The overall data quantity results from the total number of coecients required to describe the whole motion specification for all axes. This number is the sum of all spline coecients in the characteristic map of both axes, Figure 1c. A low preparation e ort as an equivalent to the algorithms speed is also important for a high performance. Especially against the background of individualized production and the increasingly rapid changes in the motion specifications, this point is becoming increasingly important. The oine preparation e ort is determined in the same way as in [6]. The e ort is measured in FLOP (floating point operations). The number of FLOPs depends on the computing operations used. For weighting, the one from [8] is used: 1 FLOP for add, subtract, multiply, and IF; 4 FLOP for divide, square root; and 8 FLOP for exponential, sine, etc. All required operations are summed up to give the computational e ort, which is expressed in 1 MFLOP = 10 FLOP. To evaluate the performance of the algorithms, the 2D curve representation similar to that suggested in [9] is used. In our case, the abscissa is the amount of data calculated with the algorithm, the ordinate is the necessary number of FLOPs. The performance curve is calculated by converting the motion profiles with a specific algorithm and a technically relevant TCP motion accuracy. The resulting data quantity and calculation e ort are displayed as a point in the diagram; points of one algorithm for di erent accuracies form together the performance curve for this algorithm. In the following, a TCP motion accuracy between 1 m and 500 m is used as an example to evaluate in a qualitative way how the algorithm’s performance changes with di ering requirements. Appl. Sci. 2020, 10, 8014 5 of 19 3. Conventional Oine Motion Preparation There are di erent approaches for oine processing of point clouds into splines that are easy to use in the control system. In this chapter, known (conventional) approaches are presented and examined for their performance. Subsequently, optimization potentials are derived. Using splines requires the examination of a large state of the art concerning splines and spline algorithms. It has been developed over decades and contains countless high-quality publications. This work is neither an introduction to splines nor a review of the state of the art concerning algorithms. For this purpose, reference is made to suitable literature, e.g., [10–13] or [14–16]. 3.1. Relevant Types of Spline Many works give an overview of di erent spline types, e.g., [10–13]. Each spline type has specific properties. Therefore, they are suitable in di erent ways for use in oine motion preparation. Two types of spline have properties that make them interesting for oine motion preparation. B-splines are widely used in computer graphics and computer-aided design. With B-splines, generating continuous motions with scalable continuity is possible. Many helpful functions are available, e.g., insert or remove nodes [11]. With monomial splines, specifying derivatives at the segment boundaries can also achieve scalable continuity (Hermite interpolation). Monomial splines are much easier to implement than B-splines with the same accuracy [17]. Converting B-splines to the monomial base is easily possible by using a base transform. Due to the properties and the requirements mentioned in Section 2.1 some widely used spline types cannot be considered for oine motion preparation. Therefore, they are not taken into account in this work. The widely used cubic splines (e.g., [13]) are not evaluated, since preliminary investigations in [18] have shown that higher order splines (e.g., quantic Hermite splines) can be used much more flexibly with about the same number of coecients. Akima splines [19] are a type of spline often used for online interpolation in control systems. Due to their lack of C 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]. In this work, B-splines and monomial splines are evaluated together. Both spline types have different advantages and disadvantages, but comparable approximation properties [17,20]. On the one hand, univariate B-splines of degree 3 are used in the work to realize the required continuity. On the other hand, quintic splines are used, where C continuity is achieved by specifying the 0th to 2nd derivative at the segment borders. 3.2. Relevant Preparation Algorithms For the preparation of a given point list for one operating speed, various methods could be used, see e.g., [14–16]. However, comparative studies regarding the performance of di erent algorithms are rare in the literature. Therefore, statements such as “with [the introduced algorithm] LSPIA, a very large data set can be fitted eciently” [21] are hardly verifiable. For this reason, some motion preparation algorithms using B-spline and monomial splines are evaluated for their performance. The B-spline approaches use the advantages of B-splines and are representative for other B-spline algorithms. They will be compared with two monomial spline approaches, which are expected to be much easier to calculate. All approaches promise a good performance during the oine motion preparation. The algorithms are discussed on the example of a non-linear kinematics and the process introduced in Section 1. In the following algorithms, the function named SplineInTolerance() calculates the distance between the given, optimized motion set point and the point calculated from the spline. The whole spline is checked, whether it meets the given requirements. The first return value is “ok” for “in tolerance/meets accuracy” which is true, if the calculated spline meets the given requirements. The second value is Appl. Sci. 2020, 10, 8014 6 of 19 an array of indices of the segments that do not match the given accuracy. Those indices are used for inserting new knots. Depending on the given check mode, only the index for the segment with the maximum error (mode “maximum only”) or all faulty segments indices are returned (mode “all”). With these two modes, two variants of the B-spline algorithms can be evaluated. If only the segment with the maximum deviation is subdivided, a small amount of data is expected with increased computational e ort. If, as suggested in [22], all segments with too large deviation are subdivided, a smaller computational e ort caused by less iterations are expected with a simultaneously increasing amount of data. The reason for this is that inserting a single control point also a ects the neighboring segments. If several neighboring segments are faulty, more nodes than necessary may result. SplineSegInTolerance() only checks one segment of the spline for compliance and can, therefore, be implemented for greater performance. Calculate(StartEnd)Derivatives() calculates from the given points the derivatives using central di erentiation according to [23]. At the motions boundaries, the cyclical character of the motion is used. With these values a system of equations results, which can be solved. SolveEquationSystem() uses QR decomposition with Householder transformations to solve the equation system which has been set up in SetupEquationSystem(). Implementation is always important when evaluating di erent approaches. In order to ensure comparability, the choice of segment lengths in all algorithms is based on bisection at 50% within the considered range. Other solutions like separation at the largest error or curvature require further investigation and are not part of this work. 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 o ers 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 ); otherwise (mode “all”) a single node is max inserted into all segments, that exceed the accuracy (bsLSQ ). all Appl. Sci. 2020, 10, x FOR PEER REVIEW 7 of 19 Figure 3. B-spline-based least square algorithm bsLSQ, using [24]. Figure 3. B-spline-based least square algorithm bsLSQ, using [24]. Figure 4. B-spline-based iterative algorithm bsITER, using [21]. 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. Appl. Sci. 2020, 10, x FOR PEER REVIEW 7 of 19 Appl. Sci. 2020, 10, 8014 7 of 19 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 -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 ) and “all” (bsITER ). max all Figure 3. B-spline-based least square algorithm bsLSQ, using [24]. Appl. Sci. 2020, 10, x FOR PEER REVIEW 8 of 19 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 Figure 4. B-spline-based iterative algorithm bsITER, using [21]. Figure 4. B-spline-based iterative algorithm bsITER, using [21]. 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 msITER: this approach represents a very simple implementation of an iterative algorithm, msITER: this approach represents a very simple implementation of an iterative algorithm, Figure 5. the given requirements. If this check is successful, the monomial spline segment is returned as a Figure 5. It searches step by step for the shortest spline segment that meets the requirements. As It searches step by step for the shortest spline segment that meets the requirements. As described above, result. Otherwise, the motion is split into two parts at 50%. Again, the segment boundaries are described above, the considered segment is halved if it does not meet the requirements. The segment the considered segment is halved if it does not meet the requirements. The segment boundaries are located at given points. Both sub-motions are passed to another instance of the function. It is boundaries are thereby always set to already given, optimized points. If a segment fulfilling the thereby always set to already given, optimized points. If a segment fulfilling the requirements is found, expected that this algorithm will achieve a minimum calculation effort with higher data volumes requirements is found, a further run with the remaining points is performed. It is expected that the a further than msI runTE with R. Th the is al remaining gorithm is points the only is one performed. suitable for It mu is expected lti-threaded that imp the lemalgorithm entation. Ho will wev be er, more algorithm will be more performant than B-spline approaches with a similar or smaller amount of it does not reduce the required effort, but leads to faster processing. This case is not considered here. performant than B-spline approaches with a similar or smaller amount of data. data. Figure 5. Monomial spline-based iterative algorithm msITER. Figure 5. Monomial spline-based iterative algorithm msITER. Figure 6. Monomial spline-based recursive algorithm msRECUR. 3.3. Performance Evaluation The state of the art offers few hints on how motion preparation is performed in similar applications. In the obvious case of offline motion preparation, both coordinates (x and y in the TCP-coordinate system; φ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 Appl. Sci. 2020, 10, x FOR PEER REVIEW 8 of 19 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. Appl. Sci. 2020, 10, 8014 8 of 19 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. Figure 5. Monomial spline-based iterative algorithm msITER. Figure 6. Monomial spline-based recursive algorithm msRECUR. Figure 6. Monomial spline-based recursive algorithm msRECUR. 3.3. Performance Evaluation 3.3. Performance Evaluation The state of the art o ers few hints on how motion preparation is performed in similar applications. The state of the art offers few hints on how motion preparation is performed in similar In the obvious case of oine motion preparation, both coordinates (x and y in the TCP-coordinate applications. system; ' and ' in axis coordinate system, cf. Figure 1a) are considered together. In this case, 1 2 In the obvious case of offline motion preparation, both coordinates (x and y in the the length of the spline segments in both coordinate directions is always identical compared to TCP-coordinate system; φ1 and φ2 in axis coordinate system, cf. Figure 1a) are considered together. In the normalized cycle time . Thus, the specifications are “coupled” over the segment lengths, similar this case, the length of the spline segments in both coordinate directions is always identical 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. Figure 7 shows the performance of the evaluated algorithms in two 2D performance diagrams similar to [9]. As described in Section 2, the aim is to obtain a small amount of data with low calculation e ort. This means, in the diagram, if a point is close to the origin, the assigned algorithm is more performant than one far away. It is then more suitable for the use in example. If two points are close to each other, it is proposed to enhance this qualitative performance evaluation method by looking at the concrete measurement results. In our example, the decision about the performance of an algorithm will be made in favor of the greater savings achieved. Appl. Sci. 2020, 10, x FOR PEER REVIEW 9 of 19 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. Figure 7 shows the performance of the evaluated algorithms in two 2D performance diagrams similar to [9]. As described in Section 2, the aim is to obtain a small amount of data with low calculation effort. This means, in the diagram, if a point is close to the origin, the assigned algorithm is more performant than one far away. It is then more suitable for the use in example. If two points are close to each other, it is proposed to enhance this qualitative performance evaluation method by Appl. looki Sci. ng 2020 at ,th 10 e , 8014 concrete measurement results. In our example, the decision about the performan 9 ce of 19 of an algorithm will be made in favor of the greater savings achieved. Figure Figure 7.7. Comparison Comparisoof n the of the perf perform ormanceance of the of algorithms the algorith with ms coupled with co drive upled coor driv dinates. e coordi (a)nates Trend . of (a) the Trend performance of the perform as a function ance as aof fun the ctio accuracy n of the . acc (b)ur Performance acy. (b) Perform for the ance relevant for theaccuracy relevant of accuracy 1 m. of 1 µ m. Figure 7a shows the performance curve of the algorithms over several accuracies between 1 m and 500 m. As expected, the performance decreases with increasing accuracy (small "), Figure 7a. Figure 7a shows the performance curve of the algorithms over several accuracies between 1 µm A and closer 500 look µm. r As eveals expect that ed, the the performance performance curve decrea ofses the with monomial increasi spline ng accurac algorithms y (small is appr ε), Fioximately gure 7a. A linear with respect to the accuracy. The gradient of the msRECUR-curve is flatter, resulting in closer look reveals that the performance curve of the monomial spline algorithms is approximately alipositive near with e r ect espect on the to th computational e accuracy. Th e e ort gradient if the accuracy of the msREC is raised. UR-curve For the is fB-spline latter, resu algorithms, lting in a the performance decreases following a power function with an exponent of about 2.2 (bsLSQ , positive effect on the computational effort if the accuracy is raised. For the B-spline algorithms, the max bsITER performanc ) and e decre 1.3 (bsLSQ ases follow , bsITER ing a po ). wer This f tr unctio end speaks n with against an exp using onenB-spli t of ab neout algorithms 2.2 (bsLSQ in our max, max all all example. From the location of the curves it can be deduced that the performance of the monomial bsITERmax) and 1.3 (bsLSQall, bsITERall). This trend speaks against using B-spline algorithms in our spline example algorithms . From th is e always location better of the than curv the es performance it can be deduced of the th B-spline at the perform algorithms. ance of the monomial For an accuracy of 1 m, Figure 7b, the B-spline based algorithms produce up to 90% more data spline algorithms is always better than the performance of the B-spline algorithms. whileFor using an up accu to rac about y of 1 46,000 µm, Figure times 7 mor b, th ee calculation B-spline baesed ort alcompar gorithm ed s pr to oduce msRECUR. up to 90% Furthermor more data e, bsITER requires about 10 times of the e ort compared to bsLSQ to get suciently close to the exact while using up to about 46,000 times more calculation effort compared to msRECUR. Furthermore, solution. bsITER re Ther quires efor about e, bsIT 10 ER times shows of the the worst effort com performance, pared to bsLSQ followed to get by s bsLSQ. ufficient This ly cperformance lose to the exac oft the B-spline algorithms is primarily due to the very complex least square fitting in the background of solution. Therefore, bsITER shows the worst performance, followed by bsLSQ. This performance of those the B- algorithms. spline algorithms is primarily due to the very complex least square fitting in the background of In the diagram Figure 7b, msITER appears closer to the origin than msRECUR, but their di erence those algorithms. is small. In th In e concr diagram ete numbers, Figure 7bfor , msI anTER accuracy appears of 1close m rmsITER to the origi is 10% n th mor ane msR ecient ECUR, in terms but thof eir coecients, while msRECUR saves 19% e ort. Due to the greater savings, msRECUR is the most difference is small. In concrete numbers, for an accuracy of 1 µm msITER is 10% more efficient in suitable terms of algorithm coefficients for , wh our ilexample, e msRECU closely R saves followed 19% effor byt.msITER. Due to the greater savings, msRECUR is the most suitable algorithm for our example, closely followed by msITER. 3.4. Optimization Potential Due to the non-linearity of the mechanism, it is assumed that the kinematic transformations make up a significant percentage of the total computational e ort. It is further assumed that reducing the number of kinematic transformations while motion preparation leads to an increase in performance. This will be investigated in the following. Figure 8a shows the amount of computational e ort for all kinematic transformations in relation to the total computational e ort for the algorithms. It can be clearly seen that in the B-spline algorithms this proportion is very small (<1%). This is related to the fact that the computational e ort for the algorithms themselves is much higher than for msITER and msRECUR, Figure 7. With these Appl. Sci. 2020, 10, x FOR PEER REVIEW 10 of 19 3.4. Optimization Potential Due to the non-linearity of the mechanism, it is assumed that the kinematic transformations make up a significant percentage of the total computational effort. It is further assumed that reducing the number of kinematic transformations while motion preparation leads to an increase in performance. This will be investigated in the following. Figure 8a shows the amount of computational effort for all kinematic transformations in relation to the total computational effort for the algorithms. It can be clearly seen that in the B-spline Appl. Sci. 2020, 10, 8014 10 of 19 algorithms this proportion is very small (<1%). This is related to the fact that the computational effort for the algorithms themselves is much higher than for msITER and msRECUR, Figure 7. With these algorithms, the transformations require in average 61% (msITER) and 68% (msRECUR) of the total algorithms, the transformations require in average 61% (msITER) and 68% (msRECUR) of the total computing e ort (50% and 60.7% for 1 m accuracy). Figure 8b tries to illustrate the comparison of computing effort (50% and 60.7% for 1 µm accuracy). Figure 8b tries to illustrate the comparison of monomial splines (left) and B-splines (right) graphically in the diagram. monomial splines (left) and B-splines (right) graphically in the diagram. Figure 8. Percentage of computational effort for kinematic transformations in relation to the total Figure 8. Percentage of computational e ort for kinematic transformations in relation to the total computational effort. (a) Results for all algorithms. (b) Comparison of monomial splines (left) and computational e ort. (a) Results for all algorithms. (b) Comparison of monomial splines (left) B-splines (right). and B-splines (right). It should be noted that in our example the kinematic transformations could be calculated with It should be noted that in our example the kinematic transformations could be calculated with very little effort. Even with our simple kinematics, the kinematic transformations consume a very very little e ort. Even with our simple kinematics, the kinematic transformations consume a very large amount of resources (up to 60.7% for the relevant accuracy of 1 µ m). This lowers the efficiency large amount of resources (up to 60.7% for the relevant accuracy of 1 m). This lowers the eciency of the motion preparation. Other kinematics (e.g., hexapods) are much more complex. This in turn of the motion preparation. Other kinematics (e.g., hexapods) are much more complex. This in turn means that the computational effort for each transformation is considerably higher (and thus also means that the computational e ort for each transformation is considerably higher (and thus also the percentage in the total computational effort). Therefore, minimizing the number of kinematic the percentage in the total computational e ort). Therefore, minimizing the number of kinematic transformations seems to be reasonable for msITER and msRECUR. transformations seems to be reasonable for msITER and msRECUR. Preparing coupled coordinate directions has some disadvantages. In this case, the more curved Preparing coupled coordinate directions has some disadvantages. In this case, the more curved coordinate direction of the path determines the number of spline segments; less curved segments of coordinate direction of the path determines the number of spline segments; less curved segments of a coordinate direction are subdivided more often than necessary. This results in more data due to the a coordinate direction are subdivided more often than necessary. This results in more data due to increased number of segments and thus coefficients. Therefore, another approach to optimization is the increased number of segments and thus coecients. Therefore, another approach to optimization the decoupling of the axes. Here, the axis splines are segmented independently. Strong curvature in is the decoupling of the axes. Here, the axis splines are segmented independently. Strong curvature in a specification thereby only affects one spline, the second axis is not affected. a specification thereby only a ects one spline, the second axis is not a ected. 4. Simple Approach for Optimizing the Oine Motion Preparation 4. Simple Approach for Optimizing the Offline Motion Preparation As As discussed discussed befor before, e, reducing reducing the th number e numbof er kinematic of kinematic transformations transformations seems seem to s be to r easonable be reasonab for le some algorithms to reduce the oine calculation e ort, even on a simple mechanism as discussed here. for some algorithms to reduce the offline calculation effort, even on a simple mechanism as For disthis cusspurpose, ed here. For in this this w pu ork rpo a very se, insimple this work appr aoach veryis sidiscussed mple appro for ach its is ability discussed to reduce for its the abi o lity ine to calculation e ort. The approach focusses on the question of whether linearization of the transmission reduce the offline calculation effort. The approach focusses on the question of whether linearization in ofthe theworkspace transmission is in allowed the workspac and whether e is allowed this can andincr whet ease herthe thisperformance can increase th ofethe perfo o rmance ine motion of the preparation. Such a linearization would have the advantage that the requirements on a motion points offline motion preparation. Such a linearization would have the advantage that the requirements on could a mobe tion tested point dir s cou ectly ldat be axis test level. ed direct Not ly a single at axikinematic s level. Not transformation a single kinem would atic tr have ansform to be ation calculated would while have motion to be cal pr ceparation. ulated whilOn e mo the tion one prhand, eparation. this On significantly the one ha reduces nd, this the sign number ificantly of rkinematic educes the transformations. number of kinem On atic the trans other formation hand, decoupling s. On the ot of her the hand axes, , d i.e., ecou calculating pling of th each e axes, axis i.e. individually , calculating , becomes each axis possible. individually, becomes possible. 4.1. General Approach The basic idea is to convert the given accuracy on the TCP to an approximate accuracy at axis level where the splines are generated. Due to the non-linear transmission of the mechanism, this is not possible without problems. Figure 9 illustrates the non-linear e ect using the example of the distortion of a circle on the TCP to an ellipse at axis level. Around the set point p on the motion specification (blue, left), the given accuracy " = 1 m is shown as a black circle. All motion points that are located Appl. Sci. 2020, 10, x FOR PEER REVIEW 11 of 19 4.1. General Approach The basic idea is to convert the given accuracy on the TCP to an approximate accuracy at axis level where the splines are generated. Due to the non-linear transmission of the mechanism, this is not possible without problems. Figure 9 illustrates the non-linear effect using the example of the distortion of a circle on the TCP to an ellipse at axis level. Around the set point p on the motion Appl. Sci. 2020, 10, 8014 11 of 19 specification (blue, left), the given accuracy ε = 1 µm is shown as a black circle. All motion points that are located within the black circle are closer to p than required and, therefore, valid set points. After within transfoth rmatio e black n cir into cle ar axi escloser coordin to pates, than rth equir e nom ed and, inal ther valefor ue e,φ valid resulset ts points. from pAfter (blue, transformation right). The transfo into axis rmed coor but dinates, distorted the nominal circle is show valuen' in results black.fr Th om ereby, p (blue, the right). distortion The depen transformed ds on th but e po distorted sition of p cir and cle var is shown ies overin the black. workspace. Thereby If a , c the alculated distortion set po depends int is located on the with position in the blof ack p to and lerance varies border over , it the is workspace. also valid. If a calculated set point is located within the black tolerance border, it is also valid. Figure 9. Distortion due to nonlinearity. (a) Tolerance circle in tool center point (TCP)-coordinate Figure 9. Distortion due to nonlinearity. (a) Tolerance circle in tool center point (TCP)-coordinate system, (b) distorted circle in axis coordinates. system, (b) distorted circle in axis coordinates. As an approach to linearization, the inscribed circle in the ellipse with the radius r (Figure 9, red) As an approach to linearization, the inscribed circle in the ellipse with the radius r (Figure 9, is to be used instead of the whole ellipse. Points inside this circle are always completely within 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 the required tolerance. Thus, the distance of a calculated spline point to the optimal set point φ can checked easily for compliance with the requirements at TCP level without a transformation. be checked easily for compliance with the requirements at TCP level without a transformation. r can be estimated by using the singular value decomposition (SVD) of the Jacobian matrix J r can be estimated by using the singular value decomposition (SVD) of the Jacobian matrix J at at point p known from robotics, e.g., [25]. The Jacobian consists of the partial derivatives in the two 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 di erentiation. When using directions of motion at p. In practice, it can be approximated by numerical differentiation. When forward di erences, the calculation of at least 3 transformations is necessary (p, p = p + [", 0], p = p p0 0p using forward differences, the calculation of at least 3 transformations is necessary (p, pp0 = p + [ε, 0], + [0, "], Figure 9, green). This one-sided di erence represents a simplification and saves one kinematic p0p = p + [0, ε], Figure 9, green). This one-sided difference represents a simplification and saves one transformation compared to the bilinear di erence. For our example, the closed solution of the SVD kinematic transformation compared to the bilinear difference. For our example, the closed solution from [26] is used for calculation with: of the SVD from [26] is used for calculation with: 𝑎 = (𝜑 − 𝜑 )/𝜀 (1) 𝑝 0.1 1 a = ' ' /" (1) p0.1 1 𝑏 = (𝜑 − 𝜑 )/𝜀 (2) 0𝑝 .1 1 b = ' ' /" (2) 0p.1 1 𝑐 = (𝜑 − 𝜑 )/𝜀 (3) c = ' 𝑝 0.2 ' 2/" (3) p0.2 2 and and d = ' ' /" (4) 0p.2 2 𝑑 = (𝜑 − 𝜑 )/𝜀 (4) 0𝑝 .2 2 and  are calculated by [26]. 1 2 λ1 and λ2 are calculated by [26]. p p 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 √𝑎 + 𝑏 + 𝑐 + 𝑑 + 2 · ( − ) + √𝑎 + 𝑏 + 𝑐 + 𝑑 − 2 · ( − ) ( ) ( ) a + b + c + d + 2 ad bc + a + b + c + d 2 ad bc (5) 𝜆 = 1 = (5) p p 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 |√𝑎 + 𝑏 + 𝑐 + 𝑑 + 2 · ( − ) − √𝑎 + 𝑏 + 𝑐 + 𝑑 − 2 · ( − )| a + b + c + d + 2(ad bc) a + b + c + d 2(ad bc) (6) 𝜆 = = (6) 2 2 Therein,  corresponds to the major semi-axis and  to the minor semi-axis of the ellipse [27]. 1 2 and  have the unit rad/m and represent a transmission factor. As can be seen in Figure 9, 1 2 the diameter of the circle " on the TCP is distorted to  and  on axis level. In the minimal case, " is 1 2 𝑏𝑐 𝑎𝑑 𝑏𝑐 𝑎𝑑 𝑏𝑐 𝑎𝑑 𝑏𝑐 𝑎𝑑 Appl. Sci. 2020, 10, x FOR PEER REVIEW 12 of 19 Therein, λ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 Appl. Sci. 2020, 10, 8014 12 of 19 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: distorted to r by  . Since for our application the radius of the inscribed circle is of interest, r has to ' 2 ' be calculated from " and the smaller  by: 𝑟 = 𝜆 · 𝜀 2 (7) 𝜑 2 This consideration requires a coupled calculation of the two axes, since both axis coordinates r =  " (7) ' 2 are included in the calculation of the distance. In the uncoupled case, r should be distributed to both axes. The circular equation: This consideration requires a coupled calculation of the two axes, since both axis coordinates are included in the calculation of the distance. In 2 the 2 uncoupled 2 case, r should be distributed to both 𝑟 = 𝑟 + 𝑟 (8) 𝜑 𝜑 .1 𝜑 .2 axes. The circular equation: 2 2 2 could be used to split r to both axis coordinates. If the proportions are evenly distributed on both r = r + r (8) '.2 '.1 axes (𝑟 = 𝑟 = 𝑟 ), 𝑟 results in: 𝜑 .ax 𝜑 .1 𝜑 .2 𝜑 .ax could be used to split r to both axis coordinates. If the proportions are evenly distributed on both axes (r = r = r ), r results in: 𝑟 = '.ax '.2 '.ax '.1 𝜑 . (9) r√2 r = p (9) .ax This allows the calculation to take place on the single axis, and decoupling of the axes is possible. This allows the calculation to take place on the single axis, and decoupling of the axes is possible. 4.2. Workspace Evaluation 4.2. Workspace Evaluation The analysis of the workspace is the basis for the evaluation of the applicability of the approach The analysis of the workspace is the basis for the evaluation of the applicability of the approach to a real manipulator [28]. It can be carried out during the design or commissioning of the machine, to a real manipulator [28]. It can be carried out during the design or commissioning of the machine, so it only has to be done once. This is particularly useful in our case, since a single process so it only has to be done once. This is particularly useful in our case, since a single process description description contains several motion specifications that all have to be prepared. contains several motion specifications that all have to be prepared. The following diagrams show the entire TCP workspace on the left and a realistic TCP The following diagrams show the entire TCP workspace on the left and a realistic TCP workspace workspace for the process on the right. In our example, the TCP workspace is 10 mm larger in all for the process on the right. In our example, the TCP workspace is 10 mm larger in all directions than directions than the given motion path. the given motion path. 4.2.1.  in the Workspace 4.2.1. λ2 in the Workspace Figur Figure e 10 10 shows shows λover 2 over the the workspace workspace of of the thmechanism; e mechanism; the th values e values are ar limited e limite fr d om from 7 rad 7 / rm ad/ to m 9 rad/m. This diagram can be used to estimate whether linearization is appropriate. The more constant to 9 rad/m. This diagram can be used to estimate whether linearization is appropriate. The more con instant the ar λea 2 in of th the e ar motion ea of th is, e mo thetion mor is e, likely the mo linearization re likely lineari is to za be tioused n is to e be ectively used .eff In ect our ive example, ly. In our varies on the given path between 7.07 rad/m and 7.52 rad/m. The maximum value is thus about example, λ2 varies on the given path between 7.07 rad/m and 7.52 rad/m. The maximum value is 6.4% thusabove aboutthe 6.4% minimum above thvalue. e minimum In the va realistic lue. Inworkspace, the realistic worksp variesac between e, λ2 varies  bet = ween 7.02 rad λ2.m/im n =and 7.02 2 2.min 8.12 rad/m, the minimum value is 14% below the maximum. rad/m and 8.12 rad/m, the minimum value is 14% below the maximum. Figure 10. Transmission  over the workspace of the manipulator. Figure 10. Transmission λ2 over the workspace of the manipulator. Considering these values, it is expected that a linearization by using  for the whole workspace 2.min Considering these values, it is expected that a linearization by using λ2.min for the whole can save computing time while producing a reasonably larger amount of data. Enlarging the workspace workspace can save computing time while producing a reasonably larger amount of data. Enlarging would lead to worse results, especially at the borders of the workspace. A favorable placement of the workspace would lead to worse results, especially at the borders of the workspace. A favorable 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 coecients and lower the performance of the algorithms. 𝑎𝑥 Appl. Sci. 2020, 10, x FOR PEER REVIEW 13 of 19 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 Appl. Sci. 2020, 10, 8014 13 of 19 necessary. This would raise the number of coefficients and lower the performance of the algorithms. 4.2.2. Distortion of the Workspace 4.2.2. Distortion of the Workspace The ratio d = λ2/λ1 is described in [28] as inverse condition number measurement. It allows a The ratio d = / is described in [28] as inverse condition number measurement. It allows a prediction 2 1 prediction about the deformation of the circle. The ratio d = 1 means that the circle on the TCP is also about the deformation of the circle. The ratio d = 1 means that the circle on the TCP is also mapped mapped as a circle at axis level. The distortion is then very small, which has a positive effect on the as a circle at axis level. The distortion is then very small, which has a positive effect on the quality of quality of the transmission [25]. Figure 11 shows d over the workspace, the values are limited from 1 the transmission [25]. Figure 11 shows d over the workspace, the values are limited from 1 to 2. to 2. Figure 11. Distortion  / in the workspace of the manipulator. Figure 11. Distortion λ 2 2/λ1 1 in the workspace of the manipulator. With a ratio d = 1, every valid point on the TCP is also checked as valid at axis level. With a ratio With a ratio d = 1, every valid point on the TCP is also checked as valid at axis level. With a ratio of 2, the inscribed circle has only half the area of the ellipse. Then about 50% of all usable points are of 2, the inscribed circle has only half the area of the ellipse. Then about 50% of all usable points are classified as good. The motion considered here runs between 1.18 and 1.44. This means that with classified as good. The motion considered here runs between 1.18 and 1.44. This means that with linearization, at most between 69% and 85% of all usable points are recognized as good. How this linearization, at most between 69% and 85% of all usable points are recognized as good. How this a ects affects the th amount e amount of of data data will will be beshown shownon onthe the example. example. The smaller d, the more points are correctly classified. As a result, longer spline segments will The smaller d, the more points are correctly classified. As a result, longer spline segments will be be calculated. Thus, a path in the area with a small d (blue) can be mapped with fewer spline calculated. Thus, a path in the area with a small d (blue) can be mapped with fewer spline segments segments and less data than one in the area with large d. The positioning of the path in the and less data than one in the area with large d. The positioning of the path in the workspace thereby workspace thereby also has an influence on the amount of data that is generated. also has an influence on the amount of data that is generated. 4.2.3. Error Estimation 4.2.3. Error Estimation Besides the linearization itself, several simplifications have been made so far. This concerns on Besides the linearization itself, several simplifications have been made so far. This concerns on the one hand the calculation of the Jacobian matrix. Here one-sided differences are used instead of the one hand the calculation of the Jacobian matrix. Here one-sided di erences are used instead of central differences to save 25% of the transformations. This error is estimated to be negligibly small. central di erences to save 25% of the transformations. This error is estimated to be negligibly small. It is well known that with a smaller step size the Jacobian matrix becomes more accurate when It is well known that with a smaller step size the Jacobian matrix becomes more accurate when differentiating, but if the steps are too small then numerical issues can cause problems. To estimate di erentiating, but if the steps are too small then numerical issues can cause problems. To estimate the magnitude of this, the ratio between λ2 calculated with large ε (ε = 2 mm) and small ε (ε = 0.1 µ m) the magnitude of this, the ratio between  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 is shown in Figure 12. From the result a maximum error of about 0.5% in the realistic workspace estimated. Appl. Sci. 2020, 10, x FOR PEER REVIEW 14 of 19 is estimated. Figure 12. Error when using large " instead of small " for calculating the Jacobian in Figure 12. Error when using large ε instead of small ε for calculating the Jacobian in the the manipulator ’s workspace. manipulator’s workspace. Further errors result from the calculation of λ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%. Figure 13. Estimation of a minimum λ2 (blue) by extrapolation between the minimum (black) and the surrounding maximum (red). Splitting r 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. Overall, the simplification results in a total estimated error of about 1%. The following calculations are therefore made with λ2.corr = 0.99 · λ2.min = 6.95 rad/m. At axis level, λ2.corr.ax = 1/√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 With this approach and the previous knowledge about the workspace of the mechanism, there are many possibilities for optimizing the offline motion preparation. For the sake of simplicity, a single scenario will be considered, which could be extended to other applications in the following studies. Appl. Sci. 2020, 10, x FOR PEER REVIEW 14 of 19 Appl. Sci. 2020, 10, 8014 14 of 19 Figure 12. Error when using large ε instead of small ε for calculating the Jacobian in the manipulator’s workspace. Further errors result from the calculation of  in the workspace, Figure 10. If too few points Further errors result from the calculation of λ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 (e.g., only the four corners of the workspace) are calculated, the resolution is too low, a minimum cannot be found with sucient certainty. Depending on the selected grid, the global minimum may be cannot be found with sufficient certainty. Depending on the selected grid, the global minimum may located between the grid points. In order to stay safely below, its value is to be estimated. Therefore, be located between the grid points. In order to stay safely below, its value is to be estimated. the points (Figure 13, light red and red) surrounding the minimum (black) are used. Their maximum Therefore, the points (Figure 13, light red and red) surrounding the minimum (black) are used. Their (red) should be selected and extrapolated beyond the minimum point (black). The value of the resulting maximum (red) should be selected and extrapolated beyond the minimum point (black). The value estimated point (blue) is to be used for calculating an estimated minimum error. The finer the grid, of the resulting estimated point (blue) is to be used for calculating an estimated minimum error. The the more accurately the minimum can be calculated; but this is associated with increased additional finer the grid, the more accurately the minimum can be calculated; but this is associated with calculation e ort. In our example, a 2.5 mm grid in x and y direction was used (about 30 points in x increased additional calculation effort. In our example, a 2.5 mm grid in x and y direction was used direction). The error results in being 0.23%. (about 30 points in x direction). The error results in being 0.23%. Figure 13. Estimation of a minimum  (blue) by extrapolation between the minimum (black) Figure 13. Estimation of a minimum λ2 (blue) by extrapolation between the minimum (black) and the and the surrounding maximum (red). surrounding maximum (red). Splitting r over the two axes in Equation (8) does not cause errors. Using this approach, only a square Splitting r over the two axes in Equation (8) does not cause errors. Using this approach, only a inside the inscribed circle in the ellipse is considered. Due to the smaller area tested, it is expected that square inside the inscribed circle in the ellipse is considered. Due to the smaller area tested, it is this will result in at most 64% of all suitable set points being declared as good. In this case, the number of expected that this will result in at most 64% of all suitable set points being declared as good. In this coefficients for a given motion accuracy will increase. In addition, the spline will be closer to the optimized case, the number of coefficients for a given motion accuracy will increase. In addition, the spline will target set point, the accuracy of the spline will be higher than required. be closer to the optimized target set point, the accuracy of the spline will be higher than required. Overall, the simplification results in a total estimated error of about 1%. The following calculations Overall, the simplification results in a total estimated error of about 1%. Thp e following are therefore made with  = 0.99   = 6.95 rad/m. At axis level,  = 1/ 2   = 2.corr 2.min 2.corr.ax 2.corr calculations are therefore made with λ2.corr = 0.99 · λ2.min = 6.95 rad/m. At axis level, λ2.corr.ax = 1/√2 · 4.91 rad/m will be used. With a known TCP accuracy, an axis accuracy can be calculated by Equation (7). λ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 With this approach and the previous knowledge about the workspace of the mechanism, there are 4.3. Performance Evaluation many possibilities for optimizing the oine motion preparation. For the sake of simplicity, a single With this approach and the previous knowledge about the workspace of the mechanism, there scenario will be considered, which could be extended to other applications in the following studies. are many possibilities for optimizing the offline motion preparation. For the sake of simplicity, a In this scenario, two basic definitions are made. On the one hand, a constant transmission single scenario will be considered, which could be extended to other applications in the following over the entire workspace is estimated. In doing so, all kinematic transformations used to check for studies. 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 at axis level. This allows an optimized segmentation and a better adaptation of the splines to 2.corr.ax the motion specification. For performance evaluation purposes, firstly the reduction of the number of calculated kinematic transformations is examined. As can be seen in Figure 14, this number has been reduced significantly for all algorithms. For the B-spline algorithms, 87.5% (bsLSQ , bsITER ) to 95.8% (bsLSQ , bsITER ) all all max 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 , bsITER ), the saving is smaller since the computational e ort itself is smaller. However, all all Appl. Sci. 2020, 10, x FOR PEER REVIEW 15 of 19 In this scenario, two basic definitions are made. On the one hand, a constant transmission λ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. For performance evaluation purposes, firstly the reduction of the number of calculated kinematic transformations is examined. As can be seen in Figure 14, this number has been reduced significantly for all algorithms. For the B-spline algorithms, 87.5% (bsLSQall, bsITERall) to 95.8% (bsLSQmax, bsITERmax) transformations are saved on average. This percentage is so high because the algorithms perform many transformations for searching the global maximum. For the algorithms Appl. Sci. 2020, 10, 8014 15 of 19 that divide all segments (bsLSQall, bsITERall), the saving is smaller since the computational effort itself is smaller. However, since the kinematic transformations in the B-spline approaches only have since the kinematic transformations in the B-spline approaches only have a minimal impact on the total a minimal impact on the total computation effort (Figure 8), no significant performance increase is computation e ort (Figure 8), no significant performance increase is expected. With the monomial expected. With the monomial spline algorithms, in average 63.8% (msITER) and 57.2% (msRECUR) spline algorithms, in average 63.8% (msITER) and 57.2% (msRECUR) of the kinematic transformations of the kinematic transformations can be saved on average (66.7% and 58.7% for an accuracy of 1 µ m). can be saved on average (66.7% and 58.7% for an accuracy of 1 m). Due to the great influence of Due to the great influence of the transformations (Figure 8), this should be apparent in the overall the transformations (Figure 8), this should be apparent in the overall performance. performance. Figure 14. Reduction of the number of kinematic transformations by using the approach. Figure 14. Reduction of the number of kinematic transformations by using the approach. ThThe e next next step step is is to to con consider sider how how the the acc accuracy uracy of of mo motion tion change change s o sver over the the path path. . AsAs dedescribed scribed above above, , two two fac factors tors lead lead toto ththe e cacalculation lculation ofof a a mo mor re e acc accurate urate path path th than an re requir quire ed. d. One One is is th the e r re eduction duction to to a a constant constant λ2,, which which leaves leavesu up p to to14% 14%of of the the accuracy accuracy unused. unusedThe . Thother e other is is splitting splitting r rto to the the two tw axes o ' φ axes via vEquation ia Equation (8). (Her 8). H e er aneerr anor er of ror up of to up 64% to is 64% expected. is expect Fig ed. ur eFig 15ure shows 15 shows the deviation the devia of the tion calculated of the calspline culated fr om splithe ne optimized from the op set timized points. s (a) et shows points.the (a)conventional shows the con appr ven oach tional wher approach e all algorithms where come all alg very orithm close s co to me the very allowed close accuracy to the allow . In (b) ed the accu simple racy.app In (rb oach ) theis si shown. mple approach It can be seen is shown that .for It the can given be seen motion that for a lar the ge gi part ven of mo the tion allowed a large p accuracy art of the is al unused lowed acc (>60%). uracy is Furthermor unused (>60% e, it can ). Furtherm be seenore that , itfor can the be algorithms seen that that for divide the algall orithm segments s that(bsLSQ divide all , bsITER segment ) a s much (bsLSQ higher all, bsIT accuracy ERall) a than much necessary higher is all all accu achieved racy than in wide necess ranges ary is ach of the ieved motion in wide (e.g., range between s of th  e = mo 0.2–0.4). tion (e. This g., bet reduces ween τ the = 0.2 performance –0.4). This of reduce those s th appr e poaches. erformance of those approaches. Appl. Sci. 2020, 10, x FOR PEER REVIEW 16 of 19 Figure 15. Motion accuracy of the calculated splines. (a) Using conventional an (b) simple motion Figure 15. Motion accuracy of the calculated splines. (a) Using conventional an (b) simple motion preparation approach. preparation approach. The results of the performance evaluation of the algorithms for decoupled axes are shown in The results of the performance evaluation of the algorithms for decoupled axes are shown in Figure 16. The qualitative trend in (a) shows that the basic characteristic of the performance curves Figure 16. The qualitative trend in (a) shows that the basic characteristic of the performance curves does not change compared to the coupled case. Due to the simplification made, the B-spline does not change compared to the coupled case. Due to the simplification made, the B-spline algorithms algorithms have a worse performance than before. At 1 µm accuracy, the number of generated data have a worse performance than before. At 1 m accuracy, the number of generated data increases increases slightly by + 13%, while the computational effort rises significantly by + 30%. The higher slightly by +13%, while the computational e ort rises significantly by +30%. The higher computational computational effort can be explained by the fact that the simplifications require a much higher accuracy than before. In combination with the great influence of algorithms on the total calculation effort, the effort increases significantly. As expected, the monomial spline algorithms generate more data than before, especially at higher accuracies. However, the overall computational effort decreases. This can be explained as the saved kinematic transformations have a high influence on the total computing effort. 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. Appl. Sci. 2020, 10, x FOR PEER REVIEW 16 of 19 Figure 15. Motion accuracy of the calculated splines. (a) Using conventional an (b) simple motion preparation approach. The results of the performance evaluation of the algorithms for decoupled axes are shown in Figure 16. The qualitative trend in (a) shows that the basic characteristic of the performance curves does not change compared to the coupled case. Due to the simplification made, the B-spline algorithms have a worse performance than before. At 1 µm accuracy, the number of generated data Appl. Sci. 2020, 10, 8014 16 of 19 increases slightly by + 13%, while the computational effort rises significantly by + 30%. The higher computational effort can be explained by the fact that the simplifications require a much higher e ort can be explained by the fact that the simplifications require a much higher accuracy than before. accuracy than before. In combination with the great influence of algorithms on the total calculation In combination with the great influence of algorithms on the total calculation e ort, the e ort increases effort, the effort increases significantly. As expected, the monomial spline algorithms generate more significantly. As expected, the monomial spline algorithms generate more data than before, especially data than before, especially at higher accuracies. However, the overall computational effort at higher accuracies. However, the overall computational e ort decreases. This can be explained as decreases. This can be explained as the saved kinematic transformations have a high influence on the the saved kinematic transformations have a high influence on the total computing e ort. total computing effort. Figure 16. Comparison of the performance of the algorithms with decoupled drive coordinates. The Figure 16. Comparison of the performance of the algorithms with decoupled drive coordinates. values of the coupled calculation are shown transparent, cf. Figure 7. (a) Trend of the performance as The values of the coupled calculation are shown transparent, cf. Figure 7. (a) Trend of the performance a function of the accuracy. (b) Performance for the relevant accuracy of 1 µ m. as a function of the accuracy. (b) Performance for the relevant accuracy of 1 m. For the example of 1 m accuracy, msITER generates 4.8% less data than msRECUR. In contrast, msRECUR requires 32.8% less computing e ort. In Figure 16b, msITER and msRECUR appear closer than in the conventional approach. Again, msRECUR is evaluated as the more suitable algorithm, since the savings in e ort are much greater than in data. Once again msITER follows closely as the second best algorithm. 5. Discussion 5.1. Algorithms for Oine Motion Preparation It could be shown on the example that the B-Spline algorithms investigated require a very high computational e ort when they are used for oine motion processing. This is mainly because complex equation solvers have to be implemented in the algorithms. Due to these characteristics, the use of B-Splines cannot be recommended for oine motion preparation. For a given accuracy of 1 m, a recursive algorithm based on monomial splines (msRECUR) is evaluated as the most well performing. Compared to the iterative monomial spline algorithm (msITER), it saves up to 32.8% of the computing operations with only 4.8% more data. Furthermore, it has to be summarized that as expected in all experiments msITER generates less data, while msRECUR requires the least calculation operations. If the amount of data calculated by the algorithm is more important, msITER is preferable. If the e ort is more important, msRECUR should be chosen. Through linearization of the non-linear mechanism, for the monomial spline algorithms the computational e ort was reduced significantly by 19.1% with a minimal increase in the amount Appl. Sci. 2020, 10, 8014 17 of 19 of data by 3.3% (" = 1 m). This shows that even the simplest optimization approaches can have a considerable positive e ect on performance of the algorithms. 5.2. Outlook Using the Jacobian matrix is an established method even in more complex kinematics [25]. Instead of ellipses, multidimensional ellipsoids with comparable properties then result, e.g., [29,30]. It is assumed that similar optimization approaches to those discussed in this work could be used even in more complex kinematics to minimize the computational e ort. Additional investigations have to be undertaken to determine whether a transfer of the approach is possible or useful. By adjusting the mechanism to the processes workspace, the non-linearities of the kinematics can be better represented by linearization. It is expected that this will further reduce the amount of required data. In further work, ways should be investigated to exceed the assumption of a constant transmission in the entire workspace. A map-based approach seems to be useful here, similar to volumetric error compensation. With that, splines could be generated closer to the set points and the amount of data could be further reduced. In this context, the e ects of grid spacing on discretization and estimation of a locally valid limit value should be investigated. 6. Conclusions In this work, algorithms for oine motion preparation are evaluated with respect to their performance. On the one hand, the computational e ort is presented. It determines the time required for motion preparation. On the other hand, the generated data volume is shown, because a small data volume is required in the machine’s control system. The evaluation was carried out on the example of a non-linear kinematics and an example process from the field of processing machines. Characteristic for the process are comparatively large data volumes and high demands on the motion processing. First, an obvious approach to generating motion splines from a given 2D point cloud at TCP level is presented. Selected algorithms based on B-Spline and monomial splines are examined for their performance. The evaluation is undertaken qualitatively by means of a 2D diagram, enhanced by the consideration of absolute values. After discussing the results, a recursive algorithm based on monomial splines is recommended for use in the example. Since the kinematic transformations have a negative influence on the performance, a simple approach for increasing the performance by reducing the total number of kinematic transformations is presented. With this simple approach, in the example of 1 m accuracy the computing e ort was reduced significantly while the data volume increased slightly. Higher reductions in computing e ort are expected when transferring to more complex kinematics. The evaluation showed that the monomial spline algorithms are much better suitable for oine motion preparation than B-spline based algorithms. Due to the large performance di erences, a clear recommendation is given for monomial spline algorithms, even for other processes with similar requirements. For the example investigated, a recursive algorithm was identified as that which performed best. Author Contributions: Conceptualization, O.H.; Data curation, L.D.; Supervision, S.I.; Validation, O.H. and L.D.; Writing—original draft, O.H.; Writing—review and editing, O.H., L.D. and S.I. All authors have read and agreed to the published version of the manuscript. Funding: This research was funded by the German Research Foundation under grant number 182157057. Acknowledgments: The authors would like to thank the German Research Foundation for supporting this work under grant number 182157057. Furthermore, we thank Christian Friedrich for his technical support. Conflicts of Interest: The authors declare no conflict of interest. Appl. Sci. 2020, 10, 8014 18 of 19 References 1. Römisch, P.; Weiß, M. Projektierungspraxis Verarbeitungsanlagen—Planungsprozess mit Berechnung und Simulation der Systemzuverlässigkeit; Springer Fachmedien: Wiesbaden, Germany, 2014. 2. 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. [CrossRef] 3. 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. [CrossRef] 4. 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. 5. Troll, C.; Tietze, S.; Majschak, J.-P. Controlling Liquid Slosh by Applying Optimal Operating-Speed-Dependent Motion Profiles. Robotics 2020, 9, 18. [CrossRef] 6. 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. [CrossRef] 7. Israel, G.-R. Durchgängige Rechnergestützte Entwicklung von Kurven-Mechanismen für Verarbeitungsmaschinen. Ph.D. Thesis, TU Dresden, Dresden, Germany, 1988. 8. McMahon, F. The Livermore Fortran Kernels Test of the Numerical Performance Range. Perform. Eval. Supercomput. 1988, 4, 143–186. 9. Liu, H.; Hong, T.-H.; Herman, M.; Camus, T.; Chellappa, R. Accuracy vs. Eciency Trade-o s in Optical Flow Algorithms. Comput. Vis. Image Underst. 1998, 72, 271–286. [CrossRef] 10. Farin, G. Curves and Surfaces for CAGD—A Practical Guide; Morgan Kaufmann Publishers: San Francisco, CA, USA, 2002. 11. Piegl, L.; Tiller, W. The NURBS Book; Springer: Berlin/Heidelberg, Germany, 1995. 12. Hoschek, J.; Lasser, D. Grundlagen der Geometrischen Datenverarbeitung; Teubner: Stuttgart, Germany, 1992. 13. De Boor, C. A Practical Guide to Splines; Springer: New York, NY, USA, 1978. 14. Lin, H.; Maekawa, T.; Deng, C. Survey on geometric iterative methods and their applications. Comput. Aided Des. 2018, 95, 40–51. [CrossRef] 15. Kocic, L.M.; Milovanovic, G.V. Shape Preserving Approximations by Polynomials and Splines. Comput. Math. Appl. 1997, 33, 59–97. [CrossRef] 16. Greiner, H. A survey on univariate data interpolation and approximation by splines of given shape. Math. Comput. Model. 1991, 15, 97–106. [CrossRef] 17. Ascher, U.; Pruess, S.; Russell, R.D. On Spline Basis Selection for Solving Di erential Equations. SIAM J. Numer. Anal. 1983, 20, 121–142. [CrossRef] 18. Großmann, K.; Kauschinger, B.; Holowenko, O. Ecient Execution of Highly Dynamic Trajectory Values in Processing Machines. In Tagungsband sps ipc Drives; VDE Verlag: Berlin/O enbach, Germany, 2012; pp. 205–214. 19. Akima, H. A New Method of Interpolation and Smooth Curve Fitting Based on Local Procedures. J. ACM 1970, 17, 589–602. [CrossRef] 20. Fageot, F.; Aziznejad, S.; Unser, M.; Uhlmann, V. Support and approximation properties of Hermite splines. J. Comput. Appl. Math. 2020, 368. [CrossRef] [PubMed] 21. Deng, C.; Lin, H. Progressive and Iterative Approximation for Least Squares B-Spline Curve and Surface Fitting. Comput. Aided Des. 2014, 47, 32–44. [CrossRef] 22. 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). 23. Pang, T. An Introduction to Computational Physics; Cambridge University Press: Cambridge, UK, 2006. 24. Piegl, L.; Tiller, W. Least-Squares B-Spline Curve Approximation with Arbitary End Derivatives. Eng. Comput. 2000, 16, 109–116. [CrossRef] 25. Siciliano, B.; Khatib, O. (Eds.) Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2016. 26. 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). Appl. Sci. 2020, 10, 8014 19 of 19 27. Schönbrodt, S. Maschinelle Lernmethoden für Klassifizierungsprobleme; Springer Fachmedien: Wiesbaden, Germany, 2019. 28. 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. [CrossRef] 29. Friedrich, C.; Kauschinger, B.; Ihlenfeldt, S. Spatial force measurement using a rigid hexapod-based end-e ector with structure-integrated force sensors in a hexapod parallel kinematic. Measurement 2019, 145, 350–360. [CrossRef] 30. 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. [CrossRef] Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional aliations. © 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/).

Journal

Applied SciencesMultidisciplinary Digital Publishing Institute

Published: Nov 12, 2020

There are no references for this article.