1 Introduction

Mathematical modelling is an essential tool for system analysis and control. In this regard we motivate our aim to derive a mathematical model that describes the considered process in an adequate fashion. Precise physical models, however, are often hard to obtain and are frequently challenged by tedious parameter estimation. Moreover, physical models can be very sensitive with respect to parameter variations such that an appropriate set of parameters is very hard to obtain. In particular nonlinear dynamical processes suffer from this problem. Resorting to grey-box models that are driven by experimental data can often resolve this problem. For processes with nonlinear dynamics local-model networks can be used to represent the global dynamics by identifying simple linear models locally and combine them to a network that matches the nonlinear global dynamics sufficiently. This is particular useful in industrial practice where simple controller structures with few tunable parameters are often preferred. Therefore we aim for an continuous-time LMN such that most common manual control-design methods are readily applicable.

The basic concepts for local model networks have been developed in the nineties, see e.g. [1, 2], for early work. Ever since local model networks have been studied for various system classes and applications range from mechatronical systems to process engineering. Typical issues that arise in most studies pertain to the implementation of the local model network. In [3, 4] the local models are realised each having their own local state-space. The overall output of the model network is then obtained by interpolation of the local model outputs. The complement approach is taken in [5], where the state is shared by all local models. Here the parameters are interpolated in appropriate fashion to emulate the nonlinear dynamics of the process. The vast majority of the publications, however, consider discrete-time systems.

An important role for the complexity of the local model network plays the choice of the operating regimes of the individual models. In this regard several methods have been proposed to partition the scheduling space. A summary on existing partitioning strategies is given in [6, 7].

More details on local model trees based on recursive orthogonal splitting (LoLiMoT) are given in [2, 811]. This partitioning strategy uses hyper-rectangles and is time-consuming regarding large scheduling problems. Axis oblique partitioning strategies using the HiLoMoT algorithm can be found in [6, 12]. Other publications focus on the optimisation of the partitions for a fixed number of models [5] itself. Based on the chosen partitioning the used weighting functions have an additional effect on the performance of the LMN [13].

In this contribution we investigate the suitability of local model networks for continuous-time domain. In regard to the controller design the dynamics and the gain of the process are equally important. In particular whenever the dominating time-constant of the dynamics vary within the operating range, good knowledge of the latter is vital in order to design high-performing controllers. Therefore we choose an approach that is able to map individual dynamics to different points in the scheduling space, as well as individual gains.

For the resulting local model network we address in particular issues regarding the offsets of the local models and suitable partitioning techniques. For processes that exhibit strong nonlinear dynamics, the local model network may need a very large number of models to match the behaviour appropriately, when the local operating points are evenly distributed. In order to keep the number of local models moderately large, we apply the LoLiMoT algorithm and propose a novel technique that is able to introduce multiple partitions in each iteration and may lead to partitions that fit the nonlinearity better.

The described techniques are applied to model the boots-pressure dynamics of a turbo charged combustion engine. The experimental data for modelling and verification are obtained from a full-scale test rig.

2 Local Model Networks

The local model network (LMN) approach [1] uses the strategy of divide and conquer to describe a complex and non-linear behaviour of a dynamical system, given by:

$$\begin{aligned} \varvec{y}= \varvec{h}(\varvec{x}(t),\varvec{u}(t),t)\,. \end{aligned}$$
(1)

First of all the operating range of the system is divided in \(M\) regions, wherein the dynamics can be approximated by a more simple (e.g. linear or affine) model \(\varvec{\tilde{h}}_i(\varvec{x}(t),\varvec{u}(t),t)\).

In order to cover the complete operating range the interaction of the local models is controlled by the scheduler \(\varvec{\varPhi }\), a vector of exogenous or system variables prior chosen. Each model is weighted a function by \(\rho _i(\varvec{\varPhi })\in [0, 1]\), representing the range of validity of the \(i\)-th model. The system dynamics (1) are then approximated by the LMN by the interpolation of the local models

$$ \tilde{\varvec{y}} = \sum \limits _{i=1}^{M} \rho _i(\varvec{\varPhi }) \; \varvec{\tilde{h}}_i\big (\varvec{x}(t),\varvec{u}(t),t\big ) \qquad \text {with}\qquad \sum \limits _{i=1}^{M} \rho _i(\varvec{\varPhi }) = 1\,. $$

In this paper we examine the application of the LMN approach to nonlinear dynamical systems of the form

$$\begin{aligned} \begin{array}{lcl} \dot{\varvec{x}}(t) &{}=&{} \varvec{f}({\varvec{x}}(t),{\varvec{u}}(t)), \quad {\varvec{x}}(0)={\varvec{x}}_0 \quad \text{ with: } \quad {\varvec{x}} \in {\mathbb {R}}^m, {\varvec{y}} \in {\mathbb {R}}^q, {\varvec{u}} \in {\mathbb {R}}^p \\ {\varvec{y}}(t) &{}=&{} \varvec{h}({\varvec{x}}(t),{\varvec{u}}(t))\,. \end{array} \end{aligned}$$
(2)

The nonlinear dynamics shall be approximated by linearisations at \(M\) stationary solutions \((\varvec{x}_i^*,\varvec{u}_i^*)\) with \(\varvec{f}(\varvec{x}_i^*,\varvec{u}_i^*) = 0\):

$$\begin{aligned} \begin{array}{lcl} \dot{\varvec{x}}(t) &{}=&{} \varvec{f}(\varvec{x}_i^*,\varvec{u}_i^*) + \varvec{A}_i (\varvec{x}(t)-\varvec{x}_i^*) + \varvec{B}_i (\varvec{u}(t)-\varvec{u}_i^*) \\ \varvec{y}(t) &{}=&{} \varvec{h}(\varvec{x}_i^*,\varvec{u}_i^*) + \varvec{C}_i (\varvec{x}(t)-\varvec{x}_i^*) + \varvec{D}_i (\varvec{u}(t)-\varvec{u}_i^*)\,. \end{array} \end{aligned}$$
(3)

Following [3] we can define \(M\) models with local states \(\tilde{\varvec{x}}_i(t) = \varvec{x}(t)-\varvec{x}_i^*\), inputs \(\tilde{\varvec{u}}_i(t) = \varvec{u}(t)-\varvec{u}_i^*\) and outputs \(\tilde{\varvec{y}}_i(t) = \varvec{y}(t)-\varvec{h}(\varvec{x}_i^*,\varvec{u}_i^*)\). This leads to a local-state representation of the LMN where the output is a weighted sum of the single models’ outputs. This description proves sufficient for controller design based on local observes as discussed in [3].

However, simulation purposes or even stability analysis may pose further requirements onto the LMN [14, 15]. In a local-state architecture, the initial state of the local model may induce strong transient responses at the switching instance which are not desirable and may affect stability [16]. Furthermore, whenever the scheduling variable switches different output signals between the subsequent local models will cause discontinuities of the output, which will not be observed in the original nonlinear process behaviour.

Therefore we shall choose a global-state representation of the LMN, where the state-vector \(\varvec{x}\) is shared by all local models. Then the linearisation (3) becomes an affine system with local system-offset \(\varvec{K}_i\) and the local output-offset \(\varvec{L}_i\):

$$\begin{aligned} \begin{array}{lcl} \varvec{K}_i &{}=&{} -(\varvec{A}_i \varvec{x}_i^* + \varvec{B}_i\varvec{u}_i^*) \\ \varvec{L}_i &{}=&{} \varvec{h}(\varvec{x}_i^*,\varvec{u}_i^*)-(\varvec{C}_i \varvec{x}_i^* + \varvec{D}_i\varvec{u}_i^*)\,. \end{array} \end{aligned}$$
(4)

For the global-state LMN we obtain the parameter-varying affine system

$$\begin{aligned} \begin{array}{lcl} \dot{\varvec{x}} &{}=&{} \varvec{A}(\varvec{\varPhi }) \varvec{x} + \varvec{B}(\varvec{\varPhi })\varvec{u} + \varvec{K}(\varvec{\varPhi }) \\ \varvec{y} &{}=&{} \varvec{C}(\varvec{\varPhi }) \varvec{x} + \varvec{D}(\varvec{\varPhi })\varvec{u} + \varvec{L}(\varvec{\varPhi }). \end{array} \end{aligned}$$
(5)

where \(\varvec{A}(\varvec{\varPhi }) = \sum _{i=1}^{M} \rho _i(\varvec{\varPhi }) \varvec{A}_i\) and \(\varvec{B}(\varvec{\varPhi })\), \(\varvec{K}(\varvec{\varPhi })\), \(\varvec{C}(\varvec{\varPhi })\), \(\varvec{D}(\varvec{\varPhi })\) and \(\varvec{L}(\varvec{\varPhi })\) with according interpolations.

Note that the state-space of the global-state LMN has \(M\)-time smaller dimension than that of the local-state LMN. Furthermore, the state is continuous for all variations in \(\varvec{\varPhi }\). With some mild assumptions the same holds for the output.

3 Experimental Identification of the Pressure-Dynamics

Modern combustion engines are frequently equipped with an exhaust turbocharger that boosts the pressure of the intake air in order to increase the amount of oxygen in the cylinder. Often the compressor power can be manipulated by varying the geometry of the turbine, so-called variable-geometry turbine (VGT). This allows for influencing the charging pressure within certain constraints. While the physical relations of the quantities are well known, e.g. [17], deriving a dynamical model of the pressure dynamics and identifying its parameters is very time-consuming as such models exhibit strong non-linearities and are very sensitive with respect to certain parameter variations [1820]. A data-driven black-box approach may therefore prove valuable in this context and, thus, the pressure dynamics are a very suitable process to investigate properties and challenges of the LMN approach.

Fig. 1.
figure 1

Sample of data time-series and identification result

The data-base for identification consists of 16 time-series of experimental input-output data at various engine operating points \((n_i,q_i)\). Within one test-cycle the engine speed \(n_i\) and injection rate \(q_i\) was maintained constant whereas the compressor power \(P_C\) was increased stepwise, see Fig. 1 for a sample time-series.

3.1 LMN Identification

The engine speed and injection rate are natural scheduling variables from an engineering point of view. We can further observe that the dynamics vary significantly for different levels of the compressor power \(P_C\), cf. Fig. 1. Therefore we choose \(\varvec{\varPhi } = [n, q, P_C]^T\) as scheduling vector; the system’s input is the compressor power \(u:=P_C\), the output is the boost-pressure \(y:=p_2\).

Based on the data structure the most simple partitioning approach of a regular grid is used to divide the total working range into 256 local regions. For each of these local regions we choose a grey-box approach to identify the local dynamics. In our case physical considerations lead to the following parametrisation of the local models:

$$\begin{aligned} G(s) = V \dfrac{\tau _1 s + 1}{(\tau _2 s + 1)(\tau _3 s + 1)}\,. \end{aligned}$$

The parameters \((V_i, \tau _{1i}, \tau _{2i}, \tau _{3i})\) of the local models \(i=1,\ldots ,M\) are obtained by non-linear optimisation for each individual step in the time-series with removed offsets. In order to cast the local models in into the state-space representation (5) we choose the observer canonical form which has a constant output matrix that renders the output continuous for all variations of \(\varvec{\varPhi }\). The regions of validity of each model are defined by triangular weighting functions \(\rho _i\).

The offset parameters \(\varvec{K}_i\) and \(L_i\) in (4) are chosen to account for the removed offset in the local identification. Without loss of generality we choose \(L_i=0\) for all \(i\). For calculating \(\varvec{K}_i\) we note, that the second state-component is the output and thus can be taken from the data. For the first local model of each time-series we have:

$$\begin{aligned} \varvec{K}_i = -\varvec{B}_i u(0) - \varvec{A}_i \begin{pmatrix} x_1(0) \\ y(0) \end{pmatrix}\,, \end{aligned}$$

where only \(x_1(0)\) can be chosen arbitrarily. For the second step of a given time-series we obtain the initial condition from the final state using the already identified parameters of the first model, etc. Determining the offsets in this fashion yields a continuous output for each time-series as shown in Fig. 1.

3.2 Verification of the LMN

In order to verify the LMN’s ability to match the non-linear process dynamics, we simulate the LMN using a highly dynamic verification-cycle covering the full operation range. Figure 2 shows the evolution of the scheduling variable’s components during that test-cycle featuring steep sloped jumps as well as various smooth transitions.

Fig. 2.
figure 2

Evolution of the scheduling variables during the validation cycle.

The overall performance of the LMN is quite satisfactory with a mean square error of \(MSE= {2.72\times 10^3}\,\mathrm{hPa}^2\) and a maximum error \(|e_{max}|={223.6}\,\mathrm{hPa}\). Figure 3 shows two details of the full cycle. The model matches the experimental data very well for dynamical (right) and stationary (left) areas. However, we note that for high compressor powers the stationary error may rise as high as \({100}\,\mathrm{hPa}\). This may be due to high noise-levels in the data for these operating points that prohibit a precise estimate of the DC-gain in these regions.

Fig. 3.
figure 3

Simulation result using the validation cycle with 256 local models.

4 Local Model Trees

The grid-based approach of the previous section typically leads to a large number of local models that are equally spaced in the operating range, irrespective of the character of the nonlinearity. Local model tree algorithms address these issues by starting with a low number of models and improving the model network iteratively by introducing additional models, if the error is large in a certain region. Thereby, only few models will be placed in regions where the process behaves in an almost linear fashion and local over-fitting is avoided.

While there are a number of partitioning strategies available, an orthogonal partitioning appears to be a natural choice in our case, as the data for identification is distributed in a grid-like fashion within the scheduling space. The classical LoLiMoT-algorithm presented in [9, 10] uses such orthogonal partitioning. In each iteration the region of the worst performing local model is split in 2 hyper-rectangles wherein the parameters for new local models are identified. Every possible division (one for each dimension of the scheduling space) is analysed and the best division is chosen.

Fig. 4.
figure 4

Illustration of local error based partitioning (top) and classical LoLiMoT partitioning (bottom) for a simple static nonlinearity.

Fig. 5.
figure 5

LoLiMoT algorithm with local error based (LEB) partitioning algorithm.

4.1 Local Error Based Partitioning (LEB)

The classical LoLiMoT considers the accumulated quadratic error to evaluate the performance of the model and thus does not use the full available information at each iteration. In this section we propose a novel partitioning strategy that uses the signed error at each point in the scheduling space in relation to certain thresholds \(\tau ^-\) and \(\tau ^+\) dividing the scheduling space into 3 regions in one iteration. As illustrated in Fig. 4 this may lead to a better approximation of the nonlinearity by using a smaller number of models compared to the classical bisection.

Our optimisation data is given at discrete points of the scheduling space. Therefore we can define the local error

$$\begin{aligned} e_{l}(\varvec{\varPhi }_k) := \int \limits _{0}^{t_{\mathrm {end}}} \left[ \hat{y}(t)-y(t)\right] \rho _k\left( \varvec{\varPhi }(t)\right) \mathrm {d}t \end{aligned}$$

for each local model \(k= 1,2, \dots , M_{max}\). In order to find the best cut in the scheduling space the local error is projected onto one component by the weighted sum of the local errors of the remaining dimensions.

For the boost-pressure dynamics we obtained either a quadratic or linear distribution of this projected local error (PLE), cf. Fig. 5. Based on this classification of the PLE distribution an adaptive threshold \(\tau \) is calculated:

  1. 1.

    If the PLE shows a parabolic distribution (with 2 zero-crossings) the threshold is set to zero \(\tau = 0\) defining three regions, based on the requirement that the area of validity of a local model should be compact.

  2. 2.

    If the PLE shows a linear distribution (with a single zero-crossing) the symmetric thresholds \(|\tau ^+|=|\tau ^-|\) are calculated based on the PLE: \( \tau ^\pm = \pm \kappa \cdot \min \{e_{l,min};e_{l,max}\}\) with a constant factor \(\kappa <1\) three regions are set.

  3. 3.

    If the PLE distribution cannot be categorised clearly, the classical bisection is applied defining two new regions.

Finally we embedded this approach into the LoLiMoT algorithm [9] (see Fig. 5):

  1. 1.

    The weighting functions of the initial model are calculated. If only one global model is used, the global weight is set to \(\rho _1(\varvec{\varPhi })=1\).

  2. 2.

    The partitioning criterion is evaluated choosing the worst model. If the chosen model covers the smallest possible region given by the data structure its partitioning criteria is set to zero and the next model is chosen.

  3. 3.

    The local error for the complete operation range is calculated.

  4. 4.

    For every scheduling variable \(\varPhi _1, \dots , \varPhi _N\) do:

    1. (a)

      The projected local error and the partitioning thresholds are calculated. If the original region is minimal regarding the dimension \(i\), the temporary partitioning criterion is set to infinity and the following steps are skipped.

    2. (b)

      The model parameters are optimised locally.

    3. (c)

      The weighting function and the partitioning criteria of the new models are determined.

  5. 5.

    The best partitioning is chosen and the number of local models increased.

  6. 6.

    If any abort criterion is reached (e.g. maximum number of models), the LMN is completely defined. Otherwise the iteration starts again at point 1.

The inner loop can be evaluated using parallel computing with one threat covering each dimension of the scheduling vector. If linear triangular weighting functions are used, only a part of the weighting functions needs to be updated. Because every iteration leads to 2 new local models (best case) the approach reduces the number of optimisation tasks from \(4N(M-1)/2 +1\) optimisation task for the classical LoLiMoT to \(3N(M-1)/2 +1\) where \(M\) denotes the total (odd) number of models and \(N\) the dimension of the scheduling vector.

4.2 Results and Comparison of the Partitioning Techniques

We used the LoLiMoT with LEB partitioning technique as well as the classical bisection method to obtain a reduced LMN. To have a fair comparison we ran the latter for more iterations to obtain the same number of local models. Both networks are then compared to the full-grid LMN obtain in Sect. 3 using the verification cycle, see Fig. 6.

Table 1. LMN error development regarding the validation cycle.

Both networks (with only 10 local models each) are able to match the nonlinear dynamics reasonably well. However, the stationary error is significantly larger compared to the full-grid LMN with 256 models. Increasing the number of models both algorithms can reduce the error measure as expected. Often the LEB-network shows better stationary behaviour than the bisection-network, but the data does not allow for a strong statement here. However, the overall error of the LEB-network is significantly better than the errors produced by the bisection-model, see Table 1. This holds in particular for the maximum error which is up to 25 % lower for the LEB-network.

Fig. 6.
figure 6

Comparison of the LMN performances using the verification cycle.

5 Conclusions

In this work we apply a continuous-time global-state local model network to identify the boost-pressure dynamics of an exhaust turbocharger using experimental input-output data. The approach is feasible to match the strongly nonlinear dynamics and may therefore be suitable as a basis for control design. We discuss several implementation issues such as the choice of state-space representation, global-state implementation and the use of discontinuous time-series at various operation points. We propose a novel partition strategy that is computationally more efficient compared to the classical bisection method and also yields better results in the global performance using an independent verification-cycle.