1 Introduction

Globalisation is one of the driving factors of maritime transport growth, which in the last analysis contributes to global warming through increasing of greenhouse gas (GHG) emissions. In support of profound concern, the International Maritime Organisation (IMO) forces commercial vessels to be more efficient and clean than ever. Thus, the energy efficiency design index (EEDI), introduced by IMO in 2013, requires a final 30% reduction of the CO2 emissions per transport work for vessels built after 2025. Furthermore, in MEPC72 [1] (April 2018), it was agreed to reduce CO2 emission per transport work by 40% until 2030 and pursue efforts towards 70% reduction by 2050 compared with the level in 2008. In addition, the initial IMO GHG strategy, including a vision and target to reduce GHG by at least half by 2050 and 0 emissions as soon as possible within this century, was addressed as well. To meet the above strict goals, the various energy-efficient solutions have to be adapted to the ship design. These include measures and devices for the optimisation of the propulsive effectiveness of the ship hull and propeller as well as the efficiency of the propulsion engine itself. However, the energy efficiency is not only a design issue, but also should be ensured in operation. To achieve this, an advanced control and monitoring system for the ship propulsion plant is of great importance.

Optimal operation of the propulsion engine depends on many factors such as fuel injection, combustion air supply management, and exhaust gas energy management. However, the typical control system of the propulsion engine, aimed at keeping the desired propeller rotational speed and rejecting disturbance due to varying propeller torque, governs the fuel injection system only. The latter task is achieved by a linear control algorithm disregarding the mutual relationships with other subsystems which are highly nonlinear. Nonlinear model predictive control, which uses the nonlinear models as a basis for state estimation and control strategy decision, can be expected to provide significantly improved performance of the propulsion system. Thus, in [2] the advanced adaptive control algorithm was applied to control the scavenging air pressure through the exhaust gas energy management. In [3], a model-based state feedback controller was applied to control the NOx emission from the engine. In both cases, the model-predictive control outperforms the classical linear algorithms.

Furthermore, the scavenging air management system was discussed in [4, 5], and the importance of cylinder air charge estimation was outlined. In that respect, an observer for estimating the unmeasured states and filtering the measured ones are essential for any advanced control and monitoring application. Besides, a propulsion engine model of an appropriate choice and with sufficient accuracy is crucial in applying observer for the engine internal state estimation.

On top of that, the dynamic response of a propulsion system composed of a fixed-pitch propeller and an engine is justified by wave-induced fluctuations of propeller torque. Estimation of engine state requires the solution of coupled problem where the components causing propeller torque fluctuation are unknown and unmeasured. Tracking of torque fluctuation components allows for efficient compensation by appropriately modifying the torque delivered by propulsion engine, and if the internal engine state is known such compensation can be done with the optimal engine performance. Thus, the problem is formulated as an observer design problem, in which both the engine model nonlinearities and unknown input such as components of propeller torque fluctuation can be handled.

In this paper, a task of engine state estimation concurrently with the unknown disturbance observation is addressed. It is proposed to utilise the complete nonlinear model of propulsion system composed of propeller and engine and the Kalman filtering technique to estimate the system states based on a limited number of available measurements. Two experimental cases are presented in the paper: the first experiment demonstrates estimation of fluctuating inflow velocity into the propeller disk utilising the self-propelled model ship driven by the marine diesel engine simulator, and the second experiment demonstrates estimation of a marine diesel engine dynamic states, simultaneously with the identification of load torque.

2 Kalman filtering technique

The measurement of dynamic system state variables, along with the conventional sensors, can be done with virtual informational channels based on dynamic observers and estimators. The problem of dynamic state estimation and observation has received considerable attention, and to date, a variety of linear and nonlinear state estimators have been proposed in the literature [6,7,8]. In the meantime, an algorithm proposed by Kalman [9] had become de facto a standard approach for optimal estimation. The Kalman filter (KF) is a special kind of observer that, for a dynamic linear system subject to Gaussian noise, provides a minimal-variance estimation [10]. An extended Kalman filter (EKF) is a generalisation of Kalman theory applied for nonlinear systems. In EKF, the mean and covariance of the Gaussian probability density function (pdf), approximating the system state distribution, are propagated through a system linearised around the operating point at each time instant. Although EKF is efficient for state estimation contaminated with measurement noise, the Jacobian matrices providing the system linear approximation, in addition to computation complexity, introduce cumulative linearisation errors in the state, which may cause the estimation filter to diverge and loss stability. In this respect, for nonlinear systems, an unscented Kalman filter (UKF) has recently attracted attention as an effective and stable algorithm [11]. The UKF propagates the pdf simply and effectively—state distribution is represented using a minimal set of specially chosen weighted sample points. These samples are propagated through an accurate nonlinear system, thus providing the posterior statistics, which is accurate up to the second order in estimating mean and covariance [12].

The outlined family of the Kalman filters has been widely applied in the field of electric drives providing dynamic state estimators and virtual measurement channels. In [13], the EKF was successively applied for sensorless control of induction motors. In [14], the EKF was compared with UKF in the problem of nonlinear state estimation for sensorless control of electric drives. The modification of UKF in [15] was applied for the power measurements in large-scale power transmission grids. So far, a number of UKF filter applications have been found in marine and engine fields: for disturbance estimation and noise filtering [16], for the unknown input observation and state estimation [17], to cite a few.

2.1 Theoretical background of UKF

The core part of UKF is an unscented transformation (UT), which is a method for calculating statistics of a random variable that undergoes a nonlinear transformation. To be specific, a discrete-time model of a nonlinear dynamic system is expressed as:

$$\begin{gathered} {\varvec{x}}_{k + 1} = {\mathbf{F}}\left( {{\varvec{x}}_{k} ,{\varvec{u}}_{k + 1} } \right) + {\varvec{w}}_{k} ,\quad {\varvec{x}}_{k} \in {\mathbb{R}}^{n\; \times \;1} , \hfill \\ {\varvec{y}}_{k + 1} = {\mathbf{H}}\left( {{\varvec{x}}_{k + 1} ,{\varvec{u}}_{k + 1} } \right) + {\varvec{v}}_{k} ,\;\;{\varvec{y}}_{k} \in {\mathbb{R}}^{m\; \times \;1} , \hfill \\ \end{gathered}$$
(1)

where n is the dimension of the state vector; m is the dimension of measurement/observation vector; F and H are the sets of nonlinear system functions; wk and vk are the system process and observation noise, respectively; u is the system input vector; given a state estimate at time instance k, \(\overline{\user2{x}}_{k\left| k \right.}\), with a covariance matrix defined as \({\mathbf{P}}_{k\left| k \right.}^{x}\), the statistics of nonlinear transformation are estimated through a set of sample points χ, called sigma points, which are selected according to the following:

$$\begin{array}{ll} {\varvec{\chi}}_{k\left| k \right.}^{\left( 0 \right)} = {\overline{\mathbf{x}}}_{k\left| k \right.} , \\ {{\varvec{\upchi}}}_{k\left| k \right.}^{\left( i \right)} = {\overline{\mathbf{x}}}_{k\left| k \right.} + \left( {\sqrt {\left( {n + \lambda } \right){\mathbf{P}}_{k\left| k \right.}^{x} } } \right)_{i} ,\quad &i = 1, \ldots ,n, \\ {{\varvec{\upchi}}}_{k\left| k \right.}^{\left( i \right)} = {\overline{\mathbf{x}}}_{k\left| k \right.} - \left( {\sqrt {\left( {n + \lambda } \right){\mathbf{P}}_{k\left| k \right.}^{x} } } \right)_{i - n} ,\quad&i = n + 1, \ldots ,2n, \\ \end{array}$$
(2)

where λ = α2(n + κ) − n is the scaling parameter. The constants α and κ determine the spread of the sigma points around the mean.

Then, each sigma point propagates through the nonlinear system dynamic model providing a time update. The predicted state mean and covariance are then approximated using a weighted sample mean and covariance of the posterior sigma points according to:

$$\begin{array}{l} {\varvec{\chi}}_{k + 1\left| k \right.}^{\left( i \right)} = {\mathbf{F}}\left( {{{\varvec{\upchi}}}_{k\left| k \right.}^{\left( i \right)} ,\;k} \right),\quad i = 0, \ldots ,2n, \\ \overline{\user2{x}}_{k + 1\left| k \right.} \approx \sum\nolimits_{i = 0}^{2n} {W_{i}^{\left( m \right)} \;{{\varvec{\upchi}}}_{k + 1\left| k \right.}^{\left( i \right)} } , \\ {\mathbf{P}}_{k + 1\left| k \right.}^{x} \approx \sum\nolimits_{i = 0}^{2n} {W_{i}^{\left( c \right)} \left\{ {{\kern 1pt} {{\varvec{\upchi}}}_{k + 1\left| k \right.}^{\left( i \right)} - \overline{\user2{x}}_{k + 1\left| k \right.} {\kern 1pt} } \right\}\;\left\{ {{\kern 1pt} {{\varvec{\upchi}}}_{k + 1\left| k \right.}^{\left( i \right)} - \overline{\user2{x}}_{k + 1\left| k \right.} {\kern 1pt} } \right\}^{\;T} + {\mathbf{Q}}} , \\ \end{array}$$
(3)

where the weights Wi are given by

$$\begin{array}{l} W_{0}^{\left( m \right)} = {\lambda \mathord{\left/ {\vphantom {\lambda {\left( {n + \lambda } \right)}}} \right. \kern-\nulldelimiterspace} {\left( {n + \lambda } \right)}}, \\ W_{0}^{\left( c \right)} = {\lambda \mathord{\left/ {\vphantom {\lambda {\left( {n + \lambda } \right)}}} \right. \kern-\nulldelimiterspace} {\left( {n + \lambda } \right)}} + \left( {1 - \alpha^{2} + \beta } \right), \\ W_{i}^{\left( m \right)} = W_{i}^{\left( c \right)} = {1 \mathord{\left/ {\vphantom {1 {\left\{ {2\left( {n + \lambda } \right)} \right\}}}} \right. \kern-\nulldelimiterspace} {\left\{ {2\left( {n + \lambda } \right)} \right\}}},\quad i = 1, \ldots ,2n. \\ \end{array}$$
(4)

Here, the superscripts m and c denote weights for mean and covariance statistics, respectively.

Similarly, the output statistics of the dynamic system is obtained propagating the sigma points through nonlinear output function, if any, and providing measurement update. The mean, covariance and cross-covariance are also approximated using weights,

$$\begin{array}{l} {{\varvec{\upgamma}}}_{k + 1\left| k \right.}^{\left( i \right)} = {\mathbf{H}}\left( {{{\varvec{\upchi}}}_{k\left| k \right.}^{\left( i \right)} ,\;k} \right),\quad i = 0, \ldots ,2n, \\ \overline{\user2{y}}_{k + 1\left| k \right.} \approx \sum\nolimits_{i = 0}^{2n} {W_{i}^{\left( m \right)} \;{{\varvec{\upgamma}}}_{k + 1\left| k \right.}^{\left( i \right)} } , \\ {\mathbf{P}}_{k + 1\left| k \right.}^{y} \approx \sum\nolimits_{i = 0}^{2n} {W_{i}^{\left( c \right)} \left\{ {{\kern 1pt} {{\varvec{\upgamma}}}_{k + 1\left| k \right.}^{\left( i \right)} - \overline{\user2{y}}_{k + 1\left| k \right.} {\kern 1pt} } \right\}\;\left\{ {{\kern 1pt} {{\varvec{\upgamma}}}_{k + 1\left| k \right.}^{\left( i \right)} - \overline{\user2{y}}_{k + 1\left| k \right.} {\kern 1pt} } \right\}^{\;T} + {\mathbf{R}}} , \\ {\mathbf{P}}_{k + 1\left| k \right.}^{xy} = \sum\nolimits_{i = 0}^{2n} {W_{i}^{\left( c \right)} \left\{ {{\kern 1pt} {{\varvec{\upchi}}}_{k + 1\left| k \right.}^{\left( i \right)} - \overline{\user2{x}}_{k + 1\left| k \right.} {\kern 1pt} } \right\}\;\left\{ {{\kern 1pt} {{\varvec{\upgamma}}}_{k + 1\left| k \right.}^{\left( i \right)} - \overline{\user2{y}}_{k + 1\left| k \right.} {\kern 1pt} } \right\}^{\;T} } . \\ \end{array}$$
(5)

Here, Q and R are the covariance matrices of the additive (zero mean) noise.

The UKF is a straightforward extension of the UT to the recursive state estimation of the classical EKF. Accordingly, the filter gain matrix Kk, the corrected state variables mean \(\overline{\user2{x}}_{k + 1}\) and the covariance matrix Px, conditional to the measurement ym are computed as follows:

$$\begin{array}{l} {\mathbf{\rm K}}_{k} = {\mathbf{P}}_{k + 1\left| k \right.}^{xy} \left( {{\mathbf{P}}_{k + 1\left| k \right.}^{y} } \right)^{ - 1} , \\ {\overline{\mathbf{x}}}_{k + 1\left| k \right. + 1} = {\overline{\mathbf{x}}}_{k + 1\left| k \right.} + {\mathbf{\rm K}}_{k} \left( {{\mathbf{y}}_{k}^{m} - {\overline{\mathbf{y}}}_{k + 1\left| k \right.} } \right), \\ \\ {\mathbf{P}}_{k + 1\left| k \right. + 1}^{x} = {\mathbf{P}}_{k + 1\left| k \right.}^{x} - {\mathbf{\rm K}}_{k} {\mathbf{P}}_{k + 1\left| k \right.}^{y} \left( {{\mathbf{\rm K}}_{k} } \right)^{ - 1} . \\ \end{array}$$
(6)

In the general case, the state observer can be seen as a feedback correction, and the degree of correction is determined by the covariance matrix Px and the gain K. The general overview of state observer information flow is shown in Fig. 1.

Fig. 1
figure 1

General overview of state observer information flow

Thus, if the functions {F, H} describing the system dynamics are available in the closed form, the system state vector xk can be estimated from only the measured noisy signal \({\varvec{y}}_{k}^{m}\). Thus, the preliminary task is to elaborate on the description of the propulsion system dynamics providing the required functional relationships.

2.2 Propulsion system model

The conventional propulsion plant is considered to be composed of two primary entities—a propeller and an engine, which are interfaced through the shaft rotational dynamics, according to:

$$\frac{{dn_{{\text{e}}} }}{dt} = \frac{1}{{\tau_{{\text{e}}} }}\left[ {Q_{{\text{e}}} \left( t \right) - Q_{{\text{p}}} \left( t \right)} \right],\quad \because \tau_{{\text{e}}} = 2\pi I_{{{\text{sh}}}} .$$
(7)

Here, the time constant τe of propulsion system characterises the inertia of whole shaft line Ish, including engine, propeller and shaft.

The engine torque Qe is the result of brake mean effective pressure (bmep), Pb, developed during one cycle in the Zc number of engine cylinders, and the volume of each is Vs:

$$Q_{{\text{e}}} = Z_{{\text{c}}} \frac{{P_{{\text{b}}} V_{{\text{s}}} }}{2\pi }.$$
(8)

The engine bmep is the integral result of fuel combustion in the engine cylinders, and in the general case it can be considered as a function of fuel pump index hp, i.e. the amount of fuel delivered to the engine cylinders, engine rotational speed ne, and other engine intrinsic states, i.e. Pb = f(ne, hp,, t).

The propeller torque Qp or load torque, in general, is represented by a quasi-steady characteristic as a function of shaft rotational speed np and the external disturbance u.

$$Q_{{\text{p}}} = f\left( {n_{{\text{p}}} ,u,t} \right).$$
(9)

Thus, in the general case, the state vector x is composed of the shaft rotational speed and augmented with the states related to the engine model description. The known input is the fuel pump index hp, and unknown input, disturbance, is u.

The exact formulation of the engine bmep as well as the propeller torque Qp can be represented in different ways depending on the available data and the aim of analysis. The details are provided concerning the considered experimental studies in the subsequent chapters.

3 Experimental studies

Two experimental studies were performed to examine the application of the UKF to the tasks of propulsion system disturbance tracking and state estimation. The first, the estimation problem of inflow velocity into the propeller is considered, based only on the engine speed measurement. This aimed at evaluating the performance of an unknown input observer. The second, marine low-speed two-stroke diesel engine testbed was used to estimate the internal engine states for the purpose of engine performance monitoring, and concurrently the identification of unknown load torque was also performed. This aimed at evaluating the performance of UKF in the case of a higher-order nonlinear system.

3.1 The problem of inflow velocity estimation

In relation to the ship propulsion plant composed of a fixed-pitch propeller and an engine, the wave-induced fluctuations of the inflow velocity into the propeller disk is the dominant disturbance, which together with the shaft rotational speed determines the propeller torque. However, the direct measurement of inflow velocity is difficult or even an unrealisable task, which can be solved by indirect measurement, if there exists a unique correspondence between the input disturbance and the process response. Many theoretical and experimental studies have been performed in the field of propulsive performance of a ship in waves [18,19,20,21]. The main finding of those studies is that the propeller performance in waves can be characterised through an open water characteristic of the propeller. Thus, if the thrust and torque of the propeller can be measured, the direct estimate of inflow velocity is possible utilising the thrust or torque identification methods [22]. Merely, only a number of actual ships is equipped with the propeller shaft torque meters; besides, the torque meters suffer from zero-drift errors and consistency of measurement [23].

On the other hand, as evident from Eq. 7, the propulsion engine response, in terms of the rotational speed, is the consequence of the fluctuating propeller torque [21, 24]. In other words, the engine rotational speed holds a mutual relationship with the inflow velocity into the propeller, and if the complete model is available, the task of disturbance estimation can be solved.

To confirm the performance of the unknown input observer, the real measured data are necessary as a reference. The measurement of inflow velocity is a demanding task and is hardly possible on a real ship, though. At the same time, measurement is possible in the course of a scaled model ship tests in a towing tank. The towing tank tests of scaled model ships are being used for a long time to evaluate the hydrodynamic characteristics of a full-scale ship. These also include a free-running test, but without attention to the response characteristics of a propulsion engine. To fill the gap, the methodology of tank test with a marine diesel engine simulator (MDES) was developed [25] and has been successfully used to study the propeller–engine interaction in real-like sea conditions [21, 26].

The key point of the methodology is that the scaled model ship, equipped with an electric motor to drive a propeller, is controlled by the MDES. In this manner, the measured propeller torque and rotational speed are used as input to the simulator, and then the response of propulsion engine in real time is used to control the rotation of the electric motor. The developed methodology provides a measurement of the full-scale propulsion performance based on the free-running test. The direct measurements were made possible owing to the developed method of resolving hydrodynamic scale effects between the model and full scale. Specifically, the corrections are applied to the viscous effect of calm water resistance and wakefield around the propeller. The details can be found in [25].

To apply UKF for the purpose of inflow velocity estimation, at first the engine and propeller models have to be specified concerning the scaled model ship used in the experiments.

3.1.1 Propeller–engine system model

The propeller torque model is based on the propeller open-water characteristics obtained in calm water conditions. The propeller torque is given as:

$$Q_{{\text{p}}} = \rho n_{{\text{p}}}^{2} D_{{\text{p}}}^{5} K_{{\text{q}}} \left( J \right)\tfrac{1}{{\eta_{{\text{r}}} }},\quad \because J = \frac{{u_{{\text{p}}} }}{{n_{{\text{p}}} D_{{\text{p}}} }},$$
(10)

where ρ is the water density, np is the propeller rotational speed, Dp is the propeller diameter, Kq is the torque coefficient, J is the propeller advance ratio, ηr is the propeller relative rotation efficiency, and up is the effective inflow velocity.

If torque coefficient, Kq, is expressed as a second-order polynomial function of J, the propeller torque function can be transformed to the convenient form interfacing the inflow velocity and open-water torque characteristic as follows:

$$Q_{{\text{p}}} = \left[ {c_{1} \rho D_{{\text{p}}}^{5} } \right]\,n_{{\text{p}}}^{2} + \left[ {c_{2} \rho D_{{\text{p}}}^{4} } \right]\,n_{{\text{p}}} u_{{\text{p}}} + \left[ {c_{3} \rho D_{{\text{p}}}^{3} } \right]\,u_{{\text{p}}}^{2} ,$$
(11)

where c1, c2 and c3 are the coefficients of the second-order polynomial approximating the torque coefficient characteristic. Here, it should be noted that the propeller torque evaluation also includes a correction for hydrodynamic scale effects, which is omitted here for the sake of simplicity though.

The engine model employed in the MDES is a simplified representation of the real engine and is based on the following considerations [24]: the bmep necessary to evaluate engine torque is in the general case can be considered as a nonlinear function of fuel pump index hp, and engine rotational speed ne, expressed in the following form:

$$P_{{\text{b}}} = h_{{\text{p}}}^{{k\tfrac{3}{2}}} \left( {ah_{{\text{p}}}^{{ - k\tfrac{3}{2}}} n_{{\text{e}}}^{2} + bh_{{\text{p}}}^{ - k} n_{{\text{e}}} + ch_{{\text{p}}}^{{ - k\tfrac{1}{2}}} } \right),$$
(12)

where coefficients k, a, b, and c are selected to fit the external characteristics of a particular engine.

In addition, the essentially quasi-steady engine model neglects the dynamic of the turbocharger, which supplies air necessary for combustion and introducing inevitable delay to torque generation. The latter can be indirectly taken into account by considering the dummy dynamic of the engine torque as follows:

$$\frac{{dQ_{{\text{e}}} }}{dt} = \frac{1}{{\tau_{{{\text{tc}}}} }}\left[ {Q_{{\text{e}}} \left( {n_{{\text{e}}} ,h_{{\text{p}}} } \right) - Q_{{\text{e}}} \left( t \right)} \right],$$
(13)

where τtc is the time constant introducing the effect of turbocharger lag on the engine torque.

The complete model of propeller–engine interaction, thus, results in a coupled set of nonlinear differential equations:

$$\frac{d}{dt}\left[ {\begin{array}{*{20}c} {n_{{\text{e}}} } \\ {Q_{{\text{e}}} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {f\left( {n_{{\text{e}}} ,u_{{\text{p}}} ,t} \right)} \\ {f\left( {Q_{{\text{e}}} ,n_{{\text{e}}} ,h_{{\text{p}}} ,t} \right)} \\ \end{array} } \right].$$
(14)

The value of fuel pump index hp is determined by the control system depending on the control algorithm.

Here, it should be noted that MDES is directly connected to the propeller, thus np ≡ ne.

3.1.2 Inflow velocity estimator model

The established mutual relationship between the inflow velocity and the engine rotational speed provides for the implementation of a state observer. However, as one may note from Eqs. (11) to (14), the inflow velocity is the external input and not a state variable. Therefore, for the application of UKF the inflow velocity has to be represented as an adjoint state, and this can be done by introducing an internal model of disturbance [27]. To do so, it is entirely acceptable to assume that the inflow velocity is a linear function of time:

$$u_{{\text{p}}} \left( t \right) = u_{{{\text{p}}_{0} }} + U\,t,$$
(15)

so that it represents the solution of a set of homogeneous differential equations with unknown initial conditions:

$$\begin{array} {l} \frac{{du_{{\text{p}}} }}{dt} = U \\ \frac{dU}{{dt}} = 0. \\ \end{array}$$
(16)

Combining the model of propeller–engine interaction Eq. 14 with the internal model of disturbance Eq. 16, the extended model of the propeller–engine interaction yields:

$$\frac{d}{dt}\left[ {{\varvec{x}}_{{\text{e}}} } \right] = \left[ {\begin{array}{*{20}c} {{\mathbf{F}}\left( {n_{{\text{e}}} ,Q_{{\text{e}}} ,u_{{\text{p}}} ,U,u,t} \right)} \\ U \\ 0 \\ \end{array} } \right],$$
(17)

with the state vector \({\varvec{x}}_{{\text{e}}} = \left[ {n_{{\text{e}}} ,Q_{{\text{e}}} ,u_{{\text{p}}} ,U} \right]^{T}\) and known external input uhp.

It is considered that the only shaft rotational speed is available for measurement; consequently, the measurement-update equation of the UKF is given as follows:

$$\begin{array} {ll} {\varvec{y}} = {\mathbf{H}}\,{\mathbf{x}}_{e} \\ \\ {\mathbf{H}} = \left[ {\begin{array}{*{20}c} 1& 0 {\begin{array}{*{20}c} 0& 0 \\ \end{array} } \\ \end{array} } \right]. \\ \end{array}$$
(18)

The estimation starts from the initial mean of the state vector xe and covariance Px, and recursively applying the UKF algorithm, a set of sigma points progressively converge to true mean and covariance of real state distribution.

3.1.3 Estimation of inflow velocity fluctuation in waves using UKF

The experiments with the free-running model providing necessary data were conducted in the actual-sea model basin (AMB) at the National Maritime Research Institute of Japan. The panamax-size bulk carrier was used as a prototype for model tests. The model tests were performed at full draft without trim. The required engine power was assessed from the results of accompanying tests under calm water condition and with 15% sea margins. Thus, the engine MCR was defined at 9350 kW and 91 rpm. The parameters of the engine were converted into model scale with the Froude Similarity Law [26]. The detailed description of the test facility is not in the scope of this paper and can be found in [21, 25]. Table 1 summarises principal data of the model ship and propulsion engine, whereas Table 2 includes constants and coefficients of the engine and propeller models.

Table 1 Principal parameters of the model ship
Table 2 Constants and coefficients of the engine and propeller models

The free-running tests of the model ship controlled by the MDES were performed in regular and irregular head waves. The results of the latter case are of primary interest and thus discussed here. The target directional spectrum of the short-crested waves generated in the AMB is of modified Pierson–Moskowitz type with cos2 direction distribution function. The significant wave height parameter of the frequency spectrum was equivalent to the Beaufort scale (BS) 7 determined by the World Meteorological Organization (WMO). The parameters of the generated waves are listed in Table 3. Here, the values in the full scale are values given by the WMO and the model scale values are as actually measured.

Table 3 Parameters of short-crested waves used in tests

Although the state observer is designed for online application providing observations simultaneously with the measurements, for performance investigation of the state observer, all the results were obtained in the off-line simulations. For the above purpose, the following signals: propeller torque/thrust, propeller rotational speed, engine governor output (fuel pump index hp) and engine torque, were collected with the 50 Hz sampling frequency. The required inflow velocity was estimated from the measured propeller torque/thrust utilising the torque/thrust identity method [22]

Figure 2 demonstrates the time-varying engine rotational speed, engine torque and inflow velocity measured during the tests in irregular waves. These are superimposed with the results obtained from the observer model. The blue vertical line denotes the commencement of filter operation. By observing Fig. 1, it is interesting to note that the original inflow velocity, before the line, is buried in the measurement noise. In contrast, the UKF restores the smooth signal with acceptable accuracy. The same can be noticed for the estimation of the engine torque. The perfect estimation of engine speed is evident due to the available reference signal in the observer model.

Fig. 2
figure 2

Time histories of engine responses and inflow velocity measured and estimated

Figure 3 depicts the power spectral density of the measured inflow velocity superimposed with that estimated by the observer model. The latter is entirely in line with the measured one, demonstrating near-perfect recovery of the signal statistical properties.

Fig. 3
figure 3

Power spectral densities of the measured and estimated inflow velocity

The last point that is worth mentioning here is the performance of the observer gain vector K. The results are illustrated in Fig. 4. It is observed that the components of the vector converge to the steady-state values within a brief period, irrespective of the fact that the adjoint dummy model of inflow velocity Eq. 16, has unknown initial conditions.

Fig. 4
figure 4

Evolution of the observer gain vector K

3.2 The problem of propulsion engine monitoring

The vast majority of merchant ships use a low-speed two-stroke marine diesel engine as a prime mover. The generated engine torque is the result of bmep developed in the cylinder and, in turn, the bmep is a function of engine states such as rotational speed, scavenging air/exhaust gas mass flows and injected fuel mass flow. These variables are mutually related through the internal engine characteristics and, in general, cannot be measured directly. The purpose of a state estimator is the application of advanced controller for performance monitoring and fault diagnosis tasks. The essential prerequisite for state observer design is the choice of appropriate propulsion engine model providing mutual relationships between the variables of interest with sufficient accuracy.

3.2.1 Cycle mean value engine model

The cycle-mean value (CMV) modelling approach provides the engine cycle-averaged temporal evolution of the engine internal states neglecting their in-cycle variations. This is due to the assumption that air and fuel mass flows pass through the engine continuously irrespective of the engine cycle intermittent nature. The CMV model is constructed decomposing the engine into a number of components that are described by generic and reconfigurable mathematical models. Figure 5 illustrates the main components considered in the CMV model. These are the cylinder, the scavenging and exhaust receivers, the compressor and turbine of the turbocharger, and the scavenging air cooler.

Fig. 5
figure 5

Composition of a typical two-stroke marine diesel engine for CMV modelling

The engine bmep is calculated as a difference between the indicated mean effective pressure (imep), Pi, and friction mean effective pressure (fmep), Pf. In turn, the imep is considered proportional to fuel pump index, hp, and fmep is considered to be a linear function of fuel pump index, hp, and engine rotational speed, ne; hence,

$$\begin{aligned} & P_{{\text{b}}} = P_{{\text{i}}} - P_{{\text{f}}} , \\ & P_{{\text{i}}} = \eta_{{\text{c}}} P_{{{\text{i}}_{0} }} h_{{\text{p}}} ,\quad \eta_{{\text{c}}} = f\left( {\frac{{G_{{\text{a}}} }}{{G_{f} }}} \right), \\ & P_{f} = k_{{f_{0} }} + k_{{f_{1} }} n_{{\text{e}}} + k_{{f_{2} }} P_{{\text{i}}} , \\ \end{aligned}$$
(19)

where ηc is the combustion efficiency, Pi0 is the imep corresponding to the maximum continuous rating (MCR) of the engine, coefficients kf0, kf1 and kf2 are selected such that the fmep calculation is consistent with the experimental measurements, Ga is the air mass flow rate through the engine, and Gf is the fuel mass flow rate delivered to the engine by fuel pump.

The engine fuel mass flow rate, Gf, is calculated as a linear function of the fuel pump index as follows:

$$G_{f} = Z_{c} m_{{fc_{0} }} h_{{\text{p}}} n_{{\text{e}}}$$
(20)

where mfc0 is the mass of fuel injected per cycle at MCR, and Zc is the number of engine cylinders. The value of fuel pump index, hp, is provided by a control system which governs the engine speed constant. The detailed elaboration of the control system is not in the scope of this paper.

The air and exhaust gas mass flow rates, through the engine and turbine respectively, are calculated under the assumption that the engine cylinder as well turbine can be characterised by orifice with an equivalent mean effective flow area Ӑo. Thus, the flow of compressible gas is evaluated according to:

$$G_{{\left( {a,e} \right)}} = \tilde{A}_{o} \frac{{P_{1} }}{{\sqrt {R_{{{\text{gas}}}} T_{1} } }}\Psi \left( {P_{1} ,P_{2} } \right).$$
(21)

Here, P1,2 and T1 are the parameters of gas at the inlet and outlet of the orifice, Ψ = f(P1, P2) is the throttling characteristic of the orifice.

The temporal evolutions of thermodynamic states in the receivers are obtained from the first law of thermodynamics, an equation of state, a continuity equation, and angular moment conservation in the following form:

$$\begin{gathered} \left( {\text{a}} \right)\;\frac{{dP_{{\text{s}}} }}{dt} = \frac{{R_{{\text{a}}} T_{{\text{s}}} }}{{V_{s.r} }}\left( {G_{{\text{c}}} - G_{{\text{a}}} } \right),\quad \left( {\text{e}} \right)\;G_{{\text{c}}} = f\left( {n_{{{\text{tc}}}} ,\;P_{{\text{s}}} } \right), \hfill \\ \left( {\text{b}} \right)\;\frac{{dP_{{\text{e}}} }}{dT} = \frac{{R_{{\text{e}}} T_{{\text{e}}} }}{{V_{{{\text{e.r}}}} }}\left( {G_{{\text{a}}} + G_{{\text{f}}} - G_{{\text{e}}} } \right),\quad M_{{\text{e}}} = \frac{{P_{{\text{e}}} V_{{{\text{e.r}}}} }}{{R_{{\text{e}}} T_{{\text{e}}} }}, \hfill \\ \left( {\text{c}} \right)\;\frac{{dT_{{\text{e}}} }}{dt} = \frac{{T_{{\text{e}}} }}{{M_{{\text{e}}} }}\left( {\frac{{k_{{\text{e}}} H_{{\text{c}}} }}{{C_{{{\text{pe}}}} T_{{\text{e}}} }} - k_{{\text{e}}} G_{{\text{e}}} - \left\{ {G_{{\text{a}}} + G_{{\text{f}}} - G_{{\text{e}}} } \right\}} \right),\quad \left( {\text{f}} \right)\;H_{{\text{c}}} = G_{{\text{a}}} C_{{{\text{pa}}}} T_{{\text{s}}} + \zeta_{{\text{a}}} G_{{\text{f}}} E_{{\text{f}}} \quad \hfill \\ \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \quad \because \zeta_{{\text{a}}} = f\left( {P_{{\text{b}}} } \right), \hfill \\ \left( {\text{d}} \right)\;\frac{{dn_{{{\text{tc}}}} }}{dt} = \frac{1}{{2\pi I_{{{\text{tc}}}} }}\left( {Q_{{\text{T}}} - Q_{{\text{C}}} } \right),\quad \left( {\text{g}} \right)\;Q_{{\text{C}}} = f\left( {\frac{{P_{{\text{s}}} }}{{P_{{\text{a}}} }},G_{{\text{c}}} } \right),\quad Q_{{\text{T}}} = f\left( {\frac{{P_{{{\text{out}}}} }}{{P_{{\text{e}}} }},G_{{\text{e}}} } \right), \hfill \\ \end{gathered}$$
(22)

where Gc is the air mass flow rate provided by the compressor, Hc is the energy rate [J/s] of the exhaust gas leaving the cylinder, Me is the mass of exhaust gas in the receiver of volume Ve.r, QT is the torque developed by the turbine due to the expansion of exhaust gas from pressure Pe to pressure Pout, QC is the torque required by the compressor to increment ambient pressure Pa to pressure Ps in air receiver with volume Vs.r, and ntc is the turbocharger rotational speed.

Figure 6 illustrates the information flow between the entities of the CMV engine model. The solution of the resulted set of state equations requires the elaboration of internal engine characteristics, and for the sake of brevity the details are omitted in this paper and can be found in [28, 29].

Fig. 6
figure 6

Engine CMV model information flow and interface between entities

3.2.2 Estimation of engine states

The empirical coefficients parametrise the internal engine characteristics, and these have to be tuned to fit a particular engine. For the purpose of this research, Mitsui E&S Machinery provided data from the marine two-stroke low-speed test engine running in a vast range of loads at the steady-state and transient conditions. Table 4 summarises the test engine specification. For state estimation performance evaluation, as in the previous case, all the results were obtained in an off-line manner, utilising the concept of the hardware in the loop (HIL) methodology developed in the past [30]. For the state variables estimation and load torque observation, the simple load fluctuation tests were performed on the test engine. The engine was set to run at 80% of load; after the period of steady-state run, the load fluctuation was introduced followed by reducing of engine load to 50%, and after a period of stabilisation, repeating the load fluctuation.

Table 4 Test engine specification @ MCR

A vital point that is worth noting here is that the test engine is loaded by a water brake which emulates the performance of the propeller with the specific torque–speed characteristics. The parameters of the characteristics are unknown; therefore, the engine state observer also turns to the unknown input observer. Similarly to the first case, load torque characteristic has to be represented as an adjoint state augmenting the dynamic engine model with the internal model of disturbance. Thus, assuming that the water-brake torque is a slow varying process, i.e.:

$$\frac{{d^{2} Q_{{{\text{wb}}}} }}{{dt^{2} }} = 0,$$
(23)

one may obtain the adjoint state equations in the following form:

$$\begin{gathered} \frac{{dQ_{{{\text{wb}}}} }}{dt} = q_{{{\text{wb}}}} , \hfill \\ \frac{{dq_{{{\text{wb}}}} }}{dt} = 0. \hfill \\ \end{gathered}$$
(24)

Combining the CMV model of the internal engine states, a set of Eq. 22, with the engine shaft dynamic Eq. 7 and the internal model of disturbance Eq. 24, the extended model of the engine states yields:

$$\frac{d}{dt}\left[ {{\varvec{x}}_{{\text{e}}} } \right] = \left[ {\begin{array}{*{20}c} {{\mathbf{F}}\left( {n_{{\text{e}}} ,n_{{{\text{tc}}}} ,P_{{\text{s}}} ,P_{{\text{e}}} ,T_{{\text{e}}} ,Q_{{{\text{wb}}}} ,u,t} \right)} \\ {q_{{{\text{wb}}}} } \\ 0 \\ \end{array} } \right],$$
(25)

with the state vector \({\varvec{x}}_{{\text{e}}} = \left[ {n_{{\text{e}}} ,n_{{{\text{tc}}}} ,P_{{\text{s}}} ,P_{{\text{e}}} ,T_{{\text{e}}} ,Q_{{{\text{wb}}}} ,q_{{{\text{wb}}}} } \right]^{T}\) and known external input hp.

The processes taking place in the engine are highly nonlinear and are characterised by different dynamic properties. At the same time, the CMV model is just approximation of real phenomenon and is not able to catch the dynamics entirely. Thus, to support the state estimation by UKF, along with the shaft rotational speed, the pressure of air in the scavenging receiver is considered as available measurement. The measurement-update equation of the UKF has the following form consequently:

$$\begin{array}{ll} {\varvec{y}} = {\mathbf{H}}\,{\mathbf{x}}_{e} , \\ & \\ {\mathbf{H}} = \left[ {\begin{array}{*{20}c} 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0& 0 & 1 & 0 & 0 & 0 & 0 \\ \end{array} } \right]. \\ \end{array}$$
(26)

The simulation results of the applied load torque reconstruction and propulsion engine state vector estimation when using the unknown input state observer are presented in Figs 7a and 8a correspondingly. The first result evident is that the state observer provides accurate tracking of load torque generated by water brake with uncertain characteristics. In support, the distribution of the load torque tracking errors, depicted in Fig. 9d, clearly shows that errors are bounded in the range of ± 2%. However, using a limited number of measurements, all in all, the state observer reconstructs the state of propulsion engine with sufficient accuracy as observed in Fig. 9a–c illustrating the error distribution. A tiny bias observed in the estimation of water-brake torque as well as engine state can be explained by a static error in the underlying engine model.

Fig. 7
figure 7

a Time histories of water-brake torque measured and estimated (UKF). b Time histories of water-brake torque measured and estimated (EKF)

Fig. 8
figure 8

Time histories of engine states measured and estimated

Fig. 9
figure 9

Distribution of state variables estimation errors

The estimated engine state vector provides information necessary for evaluating the engine parameters that are not directly measurable. For example, air and exhaust gas pressures, Ps and Pe, set prerequisite to evaluate air mass flow Ga according to the Eq. 21. This, in turn, together with the fuel mass flow, Gf, and exhaust gas temperature, Te, gives an estimate of available exhaust gas energy as well as energy consumed by the turbine. In the last analysis, the energy rate evaluation provides monitoring of the engine energy balance emphasising the significance of state estimation through the Kalman filtering technique for the propulsion plant energy efficiency monitoring. The latter is being actively developed as a separate research direction.

3.3 The performance of UKF compared to the EKF

Although the UKF demonstrated adequate performance in the tasks of unknown input observation and dynamic system state estimation, the performance of its predecessor, the EKF, cannot be readily discarded. Thus, it is of particular interest to compare the obtained results with the EKF observer.

The EKF is a straightforward extension of KF to nonlinear systems. In the EKF, the state variables statistics prediction, especially of covariance Px, is based on the linearisation of state equations expressed in Eq. 1. EKF assumes that errors in the state estimates are small enough to approximate state equations using Taylor series expansion keeping only the first-order terms. As a result, the predicted state variables mean and covariance are calculated in EKF as follows:

$$\begin{gathered} \overline{\user2{x}}_{k + 1\left| k \right.} \approx {\mathbf{F}}\left( {\overline{\user2{x}}_{k\left| k \right.} ,{\varvec{u}}_{k + 1} } \right), \hfill \\ \hfill \\ {\mathbf{P}}_{k + 1\left| k \right.}^{x} = \nabla {\mathbf{f}}^{x} {\mathbf{P}}_{k\left| k \right.}^{x} \left( {\nabla {\mathbf{f}}^{x} } \right)^{T} + {\mathbf{Q,}} \hfill \\ \hfill \\ \nabla {\mathbf{f}}_{{\left[ {i,j} \right]}}^{x} = \frac{{\partial {\mathbf{F}}_{\left[ i \right]} }}{{\partial x_{\left[ j \right]} }}\left| {_{{\overline{\user2{x}}_{k} ,{\varvec{u}}_{k} }} } \right.. \hfill \\ \end{gathered}$$
(27)

The set of Eq. 27 is only the difference between the EKF and UKF approaches. The remained recursions of Kalman gain evaluation, state estimation correction and covariance update, expressed in the set of Eq. 6, are common for both approaches. Although the EKF is straightforward and simple, it has a drawback directly relating to the Jacobian matrix \(\nabla {\mathbf{f}}^{x}\), which should be evaluated at every time instant. Furthermore, the Jacobian matrix might be challenging to obtain for complex and higher-order systems. In particular, concerning the first experimental case of inflow velocity estimation in the experiment with the free-running model, the estimation of Jacobian is a tedious task if hardly possible. This is because the propeller torque model involves complex and implicit transformation responsible for the hydrodynamic scale effects correction, as in details explained in [25]. On the other hand, the engine CMV model consists of a set of fully developed nonlinear equations; what is more, a fully coupled analytical solution for the Jacobian matrix was obtained and experimentally validated in the past research [31]. The latter facilitates the application of EKF to the second experimental case of engine state estimation and load torque tracking.

Figure 7b demonstrates the result of water-brake torque tracking and Fig. 8b illustrates the estimation of the engine state variables. As evident from the presented results, the EKF provides essentially the same performance as UKF, which was also confirmed by the distribution of state variables estimation errors, depicted in Fig. 9. The nearly perfect agreement can be explained by the fact that at the point of the Jacobian evaluation (linearisation of the system), the characteristics are close to linear and this, in turn, does not introduce the estimation error to the covariance matrix.

Although it is shown that both the observers are promising estimation tools, the UKF in the last analysis has a slight competitive edge—it does not require the Jacobian. It can operate directly on an accurate nonlinear system.

4 Conclusion

This paper adopts a recent trend derivative-free nonlinear Kalman filter technique—UKF, to the problem of propulsion system monitoring. Use of the nonlinear estimation allows inferring the internal state variables and parameters that are not directly measurable. The obtained results showed that the UKF is the efficient approach for the estimation of propulsion system state variables as well for concurrent estimation of unmeasured disturbance from the propeller side. The first case, based on the real physical model of propeller–engine interaction in waves, proved that the use of UKF for estimation of unmeasured inflow velocity is the reliable technique, making it possible to estimate the propeller torque without the need of shaft torque meter. The second case, based on the real marine diesel engine, proved that the UKF appears to be an efficient estimator for the highly complex and nonlinear system with uncertainties and what is more suitable for the estimation of essentially unmeasured parameters of the propulsion engine. Furthermore, the latter case proved the concept of disturbance estimation from the measured engine response again. This makes the propulsion system observer suitable for feedforward disturbance compensation task in a suitable control loop, as well as suitable for the monitoring task with the limited number of sensors.

The last point worth noting here is that the observer model, as well as precision of estimation, primarily relies on the well-established and validated model of the propulsion system; furthermore, the engine parameters change with the operating condition, and the model parameters should follow this change. The latter can be considered as a task of model adaptation to the current operating conditions, and this is the subject of undergoing research.