May 12th, 2017 by Mahdieh Mehrabi

**Written by: Xiaoran Han – Project Engineer**

**Introduction**

Following the previous blog post, ‘**Linearised Mean Value Engine Model-based Idle Control**‘, which describes how to derive a linearised model of crank angle resolved engine for idle speed controller design, this article describes the design of a sliding mode controller based on the linearised model and shows simulation results. Sliding mode controllers are known to have the following features:

- Model based design.
- Design a sliding surface, on which the system exhibits desired dynamics and is insensitive to model uncertainties and disturbances appearing in the control channel.
- The controller consists of a linear and a nonlinear part, where the nonlinear part is of switching type.

**Controller design with sliding mode and integral action**

Consider a tracking control law for a linear delay system

where is states, is inputs, are the outputs and is the delay.

We introduce additional states

and is idle speed request. Augment the states with the error states

and partition the augmented states as

Then the nominal system can be written in the form:

The proposed controller seeks to induce a sliding motion on the surface:

where are design parameters. Partition the matrix S into:

If a controller exists which induces an ideal sliding motion on the sliding surface then the ideal sliding motion is given by

**Design objective 1: **Choose sliding surface matrix elements and such that (2) is stable and the influence of reference signal on is minimised. A change of coordinates exists such that

Then the nominal system can be written as:

Where , , , , , , , and is a nonsingular diagonal design matrix.

**Design objective 2: **Design controller such that sliding surface is achieved

where is a stable design matrix. The overall control law is then given by

The nonlinear switching control is:

where is a small positive number for smoothing the control signal, and is a symmetric positive definite matrix satisfying . In terms of the original coordinates the linear control is

With control gains

where , and , is manifold pressure, is engine speed. Signals required for feedback control can be listed as follows:

**Simulation results**

The simulation results in Figure 1 show the idle control performance using the sliding mode controller for the crank angle resolved engine model:

*Figure 1: Manifold pressure and engine speed for the crank angle resolved Dymola engine model, state space nonlinear mode and linearised model, where engine speed is controlled to 710 rpm*

*Figure 2: Sliding surface and control signal for throttle opening angle*

Analysing Figure 1 and 2, the manifold pressure of the nonlinear model is in a similar range to that of the crank angle resolved engine model. The pressure of the linearised model remains at zero at the equilibrium operating point. The engine speed of all the three models is controlled at 74.5 rad/s (710 rpm). The sliding surface variable is not zero because switching control is smoothed by a filter as strictly switching at infinite or very fast frequencies is not practical even though smaller simulation time steps would allow the controller to respond with less oscillations in the outputs.. The throttle opening angle oscillates heavily in the first 10 seconds because a controller with higher control gains is used. A controller with delayed state takes over after 10 seconds and the controller oscillation is reduced significantly. Engine speed remains very close to nominal operating point without significant oscillations.

*Figur3: Manifold pressure and engine speed for Dymola crank angle resolved engine model, state space nonlinear model and linearised model, where engine speed is 620 rpm*

*Figure 4: Sliding surface and control signal for throttle opening angle*

Figure 3 and 4 show manifold pressure and throttle control input for engine speed controlled at 620 rpm. Figure 5 shows control performance for engine speed at 800 rpm, 900 rpm and 1000 rpm. Figure 6 shows control performance under load disturbance for engine speed at 710 rpm. It is shown that engine speed is maintained at the desired speed despite the presence of a load torque disturbance. Note that same controller has been applied for all the simulation results.

*Figure 5: Manifold pressure and engine speed for Dymola crank angle resolved engine model, state space nonlinear mode and linearised model, where engine speed is 800 rpm, 900 rpm and 1000 rpm.*

*Figure 6: Control performance under load disturbance for engine speed at 710 rpm.*

**Conclusion**

A sliding mode controller has been designed for tracking control of engine idle speed. The control takes delayed information between induction and power output at shaft. Robust control performance is shown under a load torque disturbance. Engine speed is controlled between 600 rpm to 1000 rpm. The control requires fast switching which is difficult to implement in the simulation platform considered. A smoothed nonlinear control has been used to counteract this problem.

**Reference**

C. Edwards and S. Spurgeon, “Sliding mode control: theory and applications”, 1998.

**Please get in touch if you have any questions or have got a topic in mind that you would like us to write about. You can submit your questions / topics via: Tech Blog Questions / Topic Suggestion.**