Denna sida på svenska This page in English

Predictive Projects 2020


Project Topics in FRTN15 Predictive Control 2020


Important Dates

You should have chosen a project and formed a project team, with 2-4 persons, before March 1, 2020. Please mail your prefered choice to <>. Mail also a 2nd choice, just in case many take the same project.


Your project will be accepted if it passes the following requirements:

  • A short, 5–10 pages, project report should be written. The report should be written with a word processing system.
  • A few projects will be selected for oral presentation. The exact presentation time will be given by the instructor, but it will typically be 5-10 minutes.

For projects that are done jointly with the course FRTN01 Real-time Systems the  following is also required. These projects are market with a * after the number.

  • Project participants should organize the work so that real-time project and predictive control project proceed in parallel. To that purpose, software from the real-time workshops may be re-used. 
  • A program that fulfills the specifications should have been demonstrated for your project supervisor. Each team member should be able to answer questions about the program structure and about why a certain solution has been chosen. 
  • The project should be demonstrated during the second hour of the project  presentation lecture.


Standard Projects

These projects are well related to your take home problems. They will give you  a good insight into predictive and adaptive controllers and their behavior. The outcome is also  quite predictable. The projects can be done entirely with pencil and paper and  simulations.

Project 1 - Control of an Inverted Pendulum
A simple linearized model of an inverted pendulum is  G(s)=k/(s² -b) where the input is acceleration of the pivot, the output is the angle, and k and  b are unknown constants. It is difficult to make an adaptive controller for the pendulum because it may fall down during the initial transient. An alternative is to make an adaptive controller for the pendulum in the downward position. The model is then G(s)=k/(s² +b)

Let the adaptive controller tune with the pendulum in the downward position until a good performance is obtained. Use this controller to compute a controller for the upward position. Show that your proposed scheme work by simulating the  system obtained. You could design the controller based on the specifications that the closedloop response should be given by

Gm(s)=a²/(s² +2ςas + a²)

Base the controller of estimation of the parameters of the model

H(z) = (b1z+b2)/(z² +a1z + a2)

which has four parameters. The problem is closely related to the problems you have already done. Use the previous results and the model parameters you used in the homework problems. Simulate your system using the real nonlinar model.

Project 2 - Control of an Inverted Pendulum

Same as project 1 but base the estimation on a continuous time system with only  two parameters k and b in the model. The continuous time model should be sampled and a discrete time design should be used. Simulate your system using the real nonlinar model. 

Project 3 - Control of an Inverted Pendulum

Compare the approaches used in projects 1 and 2. You can use material from previous projects for this.

Control of Laboratory Processes

The idea is to try a specific control design method on a laboratory process. This is more complicated than to simulate but it gives a much better appreciation of real engineering issues in implementation of adaptive controllers. There are toolboxes and program libraries for control design and estimation which you can use. Those projects marked with a * may be done as joint projects with the course FRTN01 Real-time Systems. 

Project 4* - Mass-Spring-Damper System

A mass-spring-damper system arranged for linear acceleration is available in our laboratory. Apply adaptive control for improved damping of oscillation modes. 

Project 5* - Control of an Inverted Pendulum

Same as Project 1 but implement the system in a real-time environment and try it out on the real pendulum. Successful swingup (by any method) of the pendulum is not needed. But is nice...

Project 6* - Control of an Inverted Pendulum

Same as Project 2 but implement the system in a real-time environment and try it out on the real pendulum. Approximate the continuous time controller by sampling fast and run the parameter estimator at a slower sampling rate. Successful swingup (by any method) of the pendulum is not needed. But is nice... 

Project 7* - Adaptive Control of the See-saw Process

Try indirect adaptive control of the see-saw process. 

Project 8* - Control of the Helicopter

Try MPC, LQG or adaptive control on the helicopter process. 

Project 9* - Adaptive Friction Compensation

Consider a controller that stabilizes an inverted pendulum or motor process. A simple model of friction leads to a piece-wise linear systems for which the standard adaptive techniques apply. Implement an adaptive friction compensator and explore its properties. This project can be expanded to a Masters thesis. 

Project 10* - Model Predictive Control using QPgen - any suitable process

Implement a model predictive controller for any suitable lab process using QPgen to generate fast code for embedded systems.    Investigate the  effects of prediction horizon on code size, execution speed and performance.  You can also experiment with the use of constraints on the control signal and the output.

Project 11* - Autotuning of Robust PID Controllers

The goal of the project is to implement automatic tuning on a process with time delay. The project involves use of a new Matlab program for derivation of optimal robust PID controllers, that have been developed at the department. The incorporated PID design method has several advantages to existing methods in industrial autotuners. The program has, however, so far only been used in simulations on models and the project is therefore interesting from a research point of view.

Project 12* - Control of Ball-and-Beam Process

Try MPC,  LQG or adaptive control of the ball-and-beam process. With MPC or LQG you could try to move the ball as quickly as possible between the two end points of the beam. With adaptive control the goal could be to get the adaptive controller to converge before the ball falls off. 

Project 13* - MPC control of the ball and plate process

More information coming soon.


Simulation of Adaptive and Learning Controllers

Project 14 - Simulation of Effects of Forgetting

Develop some experiments that illustrates the properties of the different forgetting schemes.

Project 15 – MAX III Beam Control by ILC

The MAX III beam control system is a MIMO system controlling the position of an electron beam in a circular orbit. Use ILC and repetitive control to use position errors from previous orbits to improve the orbit reference. Use simulations to study impact of measurement errors and actuator imperfections.

Project 16 – Extremum Control

For some processes it is difficult to find the best operating point or a suitable reference value. A classical example is control of air-fuel ratio in combustion motors where the optimum depends on temperature, fuel quality, etc. One would then like to have a way to find and track the optimum operating point. This kind of problem is often referred to as extremum control. The topic of this project is to study extremum control of two simple processes. One where the nonlinearity is of on-off-character, as in a lambda sensor, and one where the non-linearity is of saturation type.

Project 17 -Adaptive LQG control

Compare Adaptive LQG with Adaptive Minimum Variance Control with respect to e.g. convergence properties, robustness properties to unmodeled dynamics, control effort and output variance.

Project 18 -Pressure control by ILC

The combustion taking place in an internal combustion engine is a good example of an iterative process. In this project you will do simulations of the engine in-cylinder pressure and use ILC to iteratively adjust the combustion rate in order to control the pressure to a predefined reference trajectory.

Project 19 - MPC for Self-Driving Vehicle Maneuvers

Make a simulation study of an over-take maneuver in a self-driving vehicle using MPC with constraint handling.

A starting point is to study the lane-changing MPC scenarios in the following article:

  • G. Cesari, G. Schildbach, A. Carvalho, and F. Borrelli, Scenario Model Predictive Control forLane Change Assistance and Autonomous Driving on Highways, IEEE Intelligent TransportatIon Systems Magazine, 2017, pp. 23-25.

Theoretically Oriented Projects

The following projects have a theoretic flavor.

Project 20 - Literature Study

Pick some section of the book that you find interesting and study the proofs in full detail complemented by literature studies. 

Project 21 - Literature Study

Read a paper on adaptive control in IEEE Transaction on Automatic Control or Automatica. Try to understand the article and verify it by simulation. We will help you to select a good paper. 

Project 22 - Nonlinear Adaptive Control

There are recent results on adaptive control of nonlinear systems. See e.g. Section 5.10 in Åström/Wittenmark Adaptive Control. Study some of this methods and apply them to a simple case.

Project 23 - Robustness Comparison

Read the paper  E. Kharisov, N. Hovakimyan, and K. Astrom, Comparison of Several Adaptive Controllers According to Their Robustness Metrics, In Proceedings of AIAA Guidance, Navigation and Control Conference, Toronto, Canada, AIAA-2010-8047, 2010, and describe and discuss the results therein.

Project 24  - PI Adjustments

Investigate the MRAS with PI adjustment of parameters. Show that this is very similar to one of the nonlinear control schemes.

Project 25 - Literature Study 

Read an article about "dual control" and illustrate the effect by an example.

Project 26 - Your Own Ideas

If you have your own idea about a project please feel free to come and discuss it, but please remember that the project should be no longer than a week. 

//1996 K. J. Åström/ Revised 1998, 1999, 2000, 2004, 2007, 2008, 2009, 2010, 2011 R. Johansson /2012 Bo Bernhardsson