Background

This project was part of the course TSRT10, at the Division of Automatic Control, Linköping University 2018.

Constantly increasing emission requirements in the automotive industry creates the need for new solutions in engine development. New technology solutions often add new actuators which provide more degrees of freedom that can be used to minimize emissions and fuel consumption. But the new technology must also work together with existing technology. Multi variable, model based control is therefore interesting in order to handle the upcoming challenges.

Free HTML5 Template

Approach

The scope of the project was to control three actuators, throttle, wastegate, and variable valve timing (VVT). There are many multi variabel control strategies available, but only Model Predictive Control (MPC) was studied. MPC is an optimal control strategy which is able to consider constraints, such as physical limitations on actuators.

MPC requires a model of the system. To the left is a picture of the motor lab at the university. A model of the depicted engine was available, but didn't inlcude models of the VVT, which therefore had to be developed and implemented.

Free HTML5 Template

MPC consists of solving an optimal control problem. Development of the MPC controller consisted of defining the control problem, tuning parameters, setting constraints, ensuring stability etc.

One of the goals was to be able to control the real engine in the motor lab. In order to run the controller on the Electronic Control Unit, an optimization solver had to be developed.

In the bottom left figure, the simulation model of the combustion engine is given.

See results

Results

Free HTML5 Template

VVT model

A litterture study was conducted, and several potential candidates were evaluted. A model based on a report from Michigan University and Bosch was choosen, since it was succesfully implemented on a turbo charged SI-engine.

Validation plots the VVT model is shown to the left, where data generated by the model and measurements from the actual engine cell are compared. As seen in the figure the model corresponds well with the measurements.

Free HTML5 Template

Multi variable controller

The final controller consists of an MPC, which uses a linearized engine model with five states. Due to model errors, a PI-controller was neccesary in order to achive desired reference tracking.

The MPC will control all actuators simultaneously, in order follow the reference trajectory of air mass flow, whilst also trying to minimize pressure losses and usage of turbo. The latter objectives are included in order to minimize fuel consumption.

Free HTML5 Template

QP-solver

MPC will solve an optimal control problem in each sample time. The problem can be formulated as a quadratic programming (QP) problem. The developed solver converts the QP-problem to an NNLS-problem, and then solves the NNLS-problem instead.

The developed solver can be compiled and used by the ECU in the motor lab, and it also shows great computational efficiency. To the left the developed solver is compared to Matlab's quadprog algorithm.

Free HTML5 Template
Free HTML5 Template

Performance

To the left, plots from a step response simulation are given. To the far left, the reference tracking can be seen, and the second plot shows the control signals for the three actuators. In the second plot it can be seen that the actuators are indeed controlled simultaneously, which isn't the case in most vechicles today.

Free HTML5 Template
Free HTML5 Template

Defective actuator

Part of the project scope was also to evalute the controller's performance when one of the actuators are defective, i.e. cannot be moved. To the left, plots from a step response simulation are given, where the wastegate is fixed. It can be seen that the controller is still able to achieve satisfactory reference tracking.

Meet the team

Project members

Person

Amanda Nilsson

Project manager

Applied physics and electrical engineering,
Master in Control and Signal processing.

Person

Markus Andersson

Control

Mechanical engineering,
Master in Mechatronics.

Person

Alexander Bärlund

Software

Applied physics and electrical engineering,
Master in Control and Signal processing.

Person

Emil Eklund

Design

Applied physics and electrical engineering,
Master in Mechatronics.

Person

Linus Johansson

VVT

Applied physics and electrical engineering,
Master in Mechatronics.

Person

Simon Malmberg

Test & Quality

Mechanical engineering,
Master in Mechatronics.

Person

Gustav Strandberg

Optimization

Applied physics and electrical engineering,
Master in Control and Signal processing.

Person

Linus Österdahl Wetterhag

Documentation

Mechanical engineering,
Master in Mechatronics.

Documents

The project model LIPS was used, which required certain documentation to be produced. All documents are available below (Swedish only).

Requirement specification

Detta är en kravspecifikation för en multivariabel modellbaserad momentregulator som ska styra aktuatorerna wastegate, throttle och kamfasning...

Read

Project plan

Syftet med projektet är att använda flervariabla reglermetoder för att styra momentet ut från en förbränningsmotor. Projektgruppen har valt att...

Read

Design specification

I Figur 1 ses en översiktlig bild på hur systemet skall byggas upp. Reglersystemet ska både implementeras och testas i Matlab/Simulink för validering...

Read

User manual

Detta dokument avser att beskriva hur simuleringsmiljön för motorn används och modifieras. Miljön utgörs av två Simulinkmodeller samt ett antal tillhörande...

Read

Test Protocol

Detta dokument innehåller protokoll för alla de tester som utförts. I tabell 1 beskrivs vilka tester som validerar respektive krav och i tabell 2 listas kraven...

Read

Technical documentation

Detta dokument beskriver implementationen av MPC för momentstyrning av en motor medturbo. Reglersystemet simuleras med en modell...

Read

Poster

This project investigates the possibilities to implement a MIMO-control strategy on the variable valve timing (VVT), throttle and wastegate on an SI-engine....

Read