Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

16.1 Introduction

In subproject B07, a method for the structural model-based correction of thermo-elastically induced machine tool errors is generated. In this correction method, the load and trajectory data logged in the control (motor current and velocity values, positions) are converted to heat fluxes in motors, bearings and guidances by means of power dissipation models. The load data are converted into thermal conduction values, which map the heat transfer between these moving assemblies. These heat fluxes and heat transfer representations are specified in a thermo-elastic network model. The network model consists of reduced-order FE models describing structural machine parts. They are connected with thermal conduction values, which represent the guidance, contact and surrounding conditions. The network model is numerically integrated in the time domain. The error at the tool center point (TCP) is calculated as a function of position through this numerical integration and follow-up deformation calculation and is then sent to the corresponding feed axes inversely as an offset of the nominal position value. Thus the structural model-based correction represents the complete causal functional chain—from the generation of thermo-elastic errors to their correction (Fig. 16.1) (Großmann 2012). Other authors also map the overall thermo-elastic functional chain for correction purposes (Denkena and Scharschmidt 2009; Brecher and Wissmann 2009; Scharschmidt 2011), but by means of behaviour-oriented equivalent representations, in which a reference to structure is either limited or not possible at all. Conversely, in the structural model-based paradigm outlined in B07, the reference to the machine tool structure, as well as the direct model’s and parameter’s reference to the thermal FE models, is generally maintained.

Fig. 16.1
figure 1

Thermo-elastic functional chain shown for the example of the “MAX” test bed

The approach to the structural model-based correction is given for the example of the “MAX” test bed. The basic conceptual design of the test bed was first described in (Großmann 2009) and is explained in detail in Chap. 1.

16.2 Approach

The modules of the structural model-based correction were drafted according to the thermo-elastic functional chain (Fig. 16.2). The modules’ functionality is briefly elucidated below.

Fig. 16.2
figure 2

Modules for structure based correction of thermal deformations

Mechanical and electrical load data are recorded drive related in the load data capturing module. The load data may have to be compressed due to data transfer bandwidth limitations at the communication interface between control core and model. Data compression can be done by, for instance, averaging (load data compression module). The load variables are consolidated into data records (create data record module). If the sampling interval at which the data records are captured is less than the transmission time of the communication interface, then the data records have to be grouped into blocks before transmission (group data records to blocks module). For the models, the blocks have to be resolved again (resolve blocks module).

The load-dependent power dissipation (heat sources) and thermal conduction (heat transfers) values of the thermal model are determined from the captured load data in the calculate power dissipation and thermal conduction module.

Assemblies with mutual relative movement require a local assignment module for the allocation of power dissipation and thermal conduction values in the model. Thus, for instance, it is necessary to assign the power dissipation generated for a ball screw in contact with a spindle-nut to the spindle range travelled.

The modules described up to now can be found in the thermo-elastic functional chain under the parameter range shown in Figs. 16.1 and 16.2.

The assigned power dissipation and thermal conduction values are transmitted to the thermal model module. This module calculates the temperature field of the machine tool. The ambient state, that is the machine tool’s ambient temperature, is captured by temperature sensors. This ambient temperature is considered as a constraint when calculating the temperature field. It has to be calculated in thermal real time. For this reason, no detailed FE machine tool model can be employed, and the order of the FE model has to be reduced [FEM-MOR (Großmann et al. 2012a)]. An alternative is to use a thermal capacity-conductance network model (node model) as the reduced model. The calculated temperature field is transmitted to the thermo-elastic model module, which calculates the deformation field of the machine tool. The error vector at the TCP is taken from the structure deformation vector, which, in turn, represents the overall deformation field of the machine tool. The modules described above map the range defined as the structural model of the thermo-elastic functional chain (see Fig. 16.1).

The correction values for the correction axes are calculated by inverting the error vector and transforming it onto the axes (correction model module). The machine tool driving axes are used as correction axes.

The thermo-elastic model is position-specific. The mutual arrangement of the assemblies depends on the current position of the Tool Center Point (TCP) in the workspace. Consequently, the stiffness matrix K and the thermal power matrix KwT, (compare Fig. 16.1) depend on the position and result in position-specific thermo-elastic models. As a rule, it is impossible to calculate these position-specific models in the control’s interpolation cycle (IPO cycle). However, it is necessary that correction values can be made available in interpolation cycle as a function of the TCP position in the workspace. This problem can be solved by calculating the correction value in a slower cycle, by means of each position-specific thermo-elastic model at TCP positions regularly distributed over the workspace (supporting positions, see Fig. 16.7). Afterwards, the correction values are compressed by regression (compression of correction parameters module) and transmitted to the control (updating of correction parameter record module). The position-dependent correction value is calculated in a module in the control by means of the current position and the compressed correction values. This method is described in detail in the section “Position-dependent calculation of the correction value”. Finally, the correction values have to be added to the nominal position values of the correction axes; this process is represented by the addition of correction value module.

16.3 Results

16.3.1 Real Time Thermal Model

The reduced-order thermal model (FEM-MOR) of the “MAX” test bed was developed in parallel with subproject B07 in A05. It was created in Matlab and was not available in its entirety at the beginning of research in B07. For test purposes, the thermal node models of the ball screw-based z drives of the test bed were also generated in Matlab with the goal of calculating the thermo-elastic errors on the axis z as well as φx and φy afterwards. The alternative usability of node models and reduced-order thermal models was demonstrated in a generalised way in (Großmann et al. 2012b). The node model (see Fig. 16.3, left) is designed to provide the same characteristic parameters both for the input and output interfaces as those used for the reduced-order thermo-elastic model from A05 (see Fig. 16.3, right), compare (Großmann et al. 2012a). For this reason, it is possible, in principle, to mutually exchange the two model variants in the thermal model and thermo-elastic model modules.

Fig. 16.3
figure 3

Ball screw spindle as node model and as FEM-MOR

16.3.2 Requirements in Terms of the Load Data’s Sampling Intervals

The load parameters required as source data to determine power dissipation and thermal conductions are, as a rule, motor current I or motor torque M, velocity v and position x (or the associated rotatory parameters) of the drive axes. The necessary sampling interval can be derived from the limits of jerk j max , acceleration a max and velocity v max of the drives (see follow-up description). These limits were defined in the control during the axes commissioning. The time curves are charted in Fig. 16.4.

Fig. 16.4
figure 4

Rise times based on the maximum values of jerk, acceleration and velocity

The time values ∆t I , ∆t v and ∆t x (see Fig. 16.4 and Table 16.1) are yielded by the maximal rises of acceleration, velocity and position. The current can be assumed to be proportional to driving axis acceleration. Consequently, the sampling interval is determined by means of the acceleration curve. It takes the drive the time value ∆t I to achieve maximal acceleration a max with maximal jerk j max . For sufficiently high resolution of current, the sampling interval T I was chosen, according to the Nyquist-Shannon sampling theorem, with one tenth of ∆t I .

Table 16.1 Necessary sampling interval for current, velocity and position

The sampling interval T v for velocity can be defined analogously to the sampling interval for current.

The position has to be scanned at a sufficient frequency in order to assign it unambiguously to an element in the thermal model. The position sampling interval has to be defined accordingly. Thus we obtain the maximally permitted sampling interval ∆t x from edge length L E of the elements used in the thermal model and maximal feed speed v max . Thus, in the case of a ball screw, edge length L E is equal to the axial length of an element. It also makes sense in this case to choose a smaller sampling interval T x .

From a software engineering perspective, it makes sense to scan all load data in the control core or of the drives at the same sampling interval T Core . For this reason, the lowest calculated sampling interval for all load data (T I , T v , T x ) and all driving axes is chosen.

16.3.3 Local Assignment

If the assemblies move relative to one another, local assignment of power dissipation and heat transfer or thermal conduction values to nodes and the coupling coordinates in the model is necessary. The local assignment approach is explained in the following for the ball screw on the “MAX” test bed. It is necessary to assign the power dissipation generated in the spindle-nut contact that is caused by friction to the coupling coordinates of the thermal model, which maps the spindle. Thermal conduction between the spindle elements and the nut also has to be determined by means of the position (see Fig. 16.5).

Fig. 16.5
figure 5

Local assignment of power dissipation and thermal conduction to elements of the ball screw spindle in the simulation model. The elements have an edge length of L E . Power dissipation and thermal conduction are averaged over the period t total

As a rule, the integration time increment t total , with which the thermal model is calculated and in which the parameters used are constant, is greater than the sampling interval T Core of the load data. Hence power dissipation and thermal conduction calculated over the time interval t total have to be averaged. A solution algorithm in this regard is depicted in Fig. 16.5 for the ball screw. The power dissipation values, determined by means of local assignment and affecting the individual elements, are added together and averaged over the time interval \( t_{total} = i \cdot T_{Core} \).

Regarding characteristics, the thermal model is similar to a PT1 element with time constant τ in control engineering and thus functions as a low-pass filter. Since averaging also serves as a low-pass filter, the simulation result is rarely impaired when averaging over one tenth of the time constant. For this reason averaging is permissible.

For illustration, Fig. 16.6 shows the spectrum analysis of white noise filtered both by a PT1 element and a PT1 element with prior averaging. As can be observed in the amplitude spectrum, averaging over a tenth of the time constant rarely influences the frequency spectrum transmitted. The time constant of 1794 s used in the example is the typical time constant for the spindle of the ball screw used in the “MAX” test bed.

Fig. 16.6
figure 6

Amplitude spectrum of white noise filtered by PT1 element (solid line) and filtered by PT1 element with prior averaging (dashed line). The time constant τ of the PT1 element is 1794 s and the average is calculated over τ/10

16.3.4 Position-Dependent Calculation of the Correction Value

The thermally induced change in machine tool deformation is characterized by slowness (Großmann et al. 2013). This means that relevant changes in deformations appear in the range of several minutes (due to large thermal time constants of the assemblies relevant for deformation). In the case of quick mutual movement of the assemblies, however, the resultant error can change at the TCP within milliseconds due to quickly changing transformation of the thermal assembly deformation at the TCP due to the relative movement. For this reason, the correction values have to be calculated position-dependently in the interpolation cycle of the control (IPO cycle, for example 2 ms). This requirement can be met by generating and calculating the thermo-elastic model for supporting positions that are regularly distributed across the workspace (positions of the TCP). The error vector can be interpolated at the TCP (Δw TCP) (see Fig. 16.7, left) between these supporting positions. When using the 27 supporting points sketched ({∆w TCP}0,0,0 to {∆w TCP}2,2,2), the error vector can be approximated by parabolic polynomials (Großmann et al. 2011):

Fig. 16.7
figure 7

Calculation of the correction value depending on actual position in the workspace (left side) or depending on the nut position on the ball screw spindle (right side). L Sp is the length of the ball screw spindle

$$ \begin{aligned}\Delta w_{TCP} & = \left\{ {\begin{array}{*{20}c} {\Delta x_{TCP} (x,y,z)} \\ {\Delta y_{TCP} (x,y,z)} \\ {\Delta z_{TCP} (x,y,z)} \\ \end{array} } \right\} \\ & = \left\{ {\begin{array}{*{20}c} {\left( {a_{0} + a_{1} x + a_{2} x^{2} } \right) \cdot \left( {b_{0} + b_{1} y + b_{2} y^{2} } \right) \cdot \left( {c_{0} + c_{1} z + c_{2} z^{2} } \right)} \\ {\left( {d_{0} + d_{1} x + d_{2} x^{2} } \right) \cdot \left( {e_{0} + e_{1} y + e_{2} y^{2} } \right) \cdot \left( {f_{0} + f_{1} z + f_{2} z^{2} } \right)} \\ {\left( {g_{0} + g_{1} x + g_{2} x^{2} } \right) \cdot \left( {h_{0} + h_{1} y + h_{2} y^{2} } \right) \cdot \left( {i_{0} + i_{1} z + i_{2} z^{2} } \right)} \\ \end{array} } \right\} \\ \end{aligned} $$
(16.1)

This strategy can be followed analogously in the one-dimensional case for the ball screw in the test bed described above (see Fig. 16.7, right). To approach the error in the z direction, for instance, a polynomial can be employed to interpolate the four supporting points shown in the figure:

$$ \Delta z(z) = a_{1} z + a_{2} z^{2} + a_{3} z^{3} + a_{4} z^{4} $$
(16.2)

The polynomial coefficients are transmitted to the control. The error vector can be determined with minimal computation effort in the IPO cycle by means of the polynomial functions and the current position in the workspace.

16.3.5 Implementation of Load Data Capture in the TwinCAT3 Control

Load data capture was implemented for the control Beckhoff TwinCAT3 used for the “MAX” test bed (see Fig. 16.8). A communication program gains access to the data in the control via the ADS interfaceFootnote 1 (ADS-DLL for C/C ++) made available in TwinCAT3. The load data (x, v, I) required are cyclically scanned in the control and transmitted to the communication program by notification. In the program, the data are grouped into blocks and stored together with a time stamp in a shared memory used both by the control core and the thermal model run under Matlab. The shared memory takes on the function of the communication interface (see Fig. 16.2). Matlab accesses the shared memory in a time increment given by a timer. Memory access is performed using a mex function written in C. Correct transfer of the data block is checked in Matlab based on the time stamp. Checks are run to determine whether the data block has already been read out or if a data block has been lost. Apart from reading out the load data, the timer also controls the writing of correction values in the shared memory. Furthermore the timer calls the simulation model and ensures that it is calculated in the specified time increment. Thus the timer allows the real time requirements to be fulfilled by the model. The communication program cyclically reads out the correction values in turn using a timer and sends them to the control via ADS interface.

Fig. 16.8
figure 8

Load data capture and transfer of the correction value

For the communication interface introduced, the model part (here: Matlab) is independent of the specific control. Instead of Matlab, also other programming environments can also be used to implement the simulation model. As a precondition, access to the shared memory and a sufficiently accurate timer should be available.

16.3.6 Test of Control-Integrated Load Data Capture and Temperature Field Calculation

Load data capture, communication and integration of models from the subproject A05 were first tested for a mobile demonstrator (MiniHex). The captured load data and the resultant error \(\Delta\) z are depicted in Fig. 16.9. The models comprise the reduced-order thermal FE model of a ball screw of the demonstrator, as well as the thermo-elastic model and the power dissipation and thermal conduction models, see Chap. 7. The models were implemented in Matlab, and the TwinCAT3 was used as control.

Fig. 16.9
figure 9

Load data (gray current, dashed line velocity, solid line position) and the resulting error values (Δz) for different nut positions on the ball screw spindle

The load data (I, v, x), as well as the ambient temperature were captured in the control at a sampling interval of 10 ms and grouped into blocks of 10 s. These blocks were transmitted to the Matlab model by means of the communication interface described (see Fig. 16.8). In Matlab, power dissipation and thermal conduction were calculated and averaged. The temperature field was determined by means of thermal conduction and power dissipation values, and the resultant error ∆z in the axis direction of the ball screw was ascertained from the temperature field.

16.4 Classification of Outcomes in the CRC/TR 96

B07 provides one of the three correction paradigms explored within the CRC/TR 96. By using a thermal and a thermo-elastic model, the approach maps the thermo-elastic functional chain so that the machine tool structure remains visible in the model. The approach to the structural model-based correction is based on algorithms, technologies and models for real-time simulation of the thermo-elastic behaviour (among others, model order reduction methods from the subprojects A05 and A06). Related to this paper, subproject A05 provided reduced-order thermal network models of the test bed.

The parameters of the machine tool for the frictional and contact positions of the guidances and bearings in the thermal network model are set in coordination with subproject B04.

The setting for power dissipation of the driving motor models in the network model of the test bed was parameterised for the machine tool based on motor power dissipation models from C04.

Making available the “MAX” test bed, subproject C06 provides the experimental basis and the control functionality in order to test, verify and demonstrate the correction system. From the correction system, in turn, arise requirements to be fulfilled by the control interfaces as described above, for instance for load data capture.

In parallel, the correction system was tested on a mobile demonstrator (hexapod MiniHex, compare Chap. 7), in which six variable-length struts driven by ball screws move an end effector. The mobile demonstrator is—as was the “MAX” test bed—run with a Beckhoff TwinCAT3 control.

16.4.1 Applicability Options for Structural Model-Based Correction

The focus of the application of structural model-based correction is on machine tools with greatly varying machining processes or ambient conditions. In these cases, the qualitative characteristics of the corresponding deformation-relevant temperature fields are also subject to high variability. Correlative correction approaches (Wu et al. 2006, 2011) map a part of the thermo-elastic functional chain by means of regression, fuzzy or neuronal models and mediate between the measured temperatures and the deformations. In terms of the variability mentioned, these correction approaches require a large number of temperature measuring points to capture the variable temperature fields relevant for deformation at sufficient resolution. Due to the metrological efforts necessary or lack of temperature sensor accessibility to the desired temperature measuring points, this correlative approach may be subject to limitations.

As a precondition for structural model-based correction, access to the load data used in the machine tool control is needed, and it should be possible to add the correction values to the nominal values in position control of the feed axes. During the design and testing of the concrete structural model-based correction, the developer needs thermal modelling know how and sufficiently assured knowledge of all essential power dissipation and heat transfer parameters.

The method provides an opportunity to correct thermally induced errors without additional energy consumption by the machine tool, for instance by additional cooling. Furthermore, except for the ambient temperature sensors that make available the signals involved as a constraint, the application of additional sensors to the machine tool is not mandatory.

16.5 Outlook

The modules labelled “Parameter” and “Structural model” in Fig. 16.2 have been implemented as examples up to now. To be able to demonstrate and test the full correction system, the modules framed at the right of Fig. 16.2 will be implemented for the “MAX” test bed and the mobile demonstrator (MiniHex).