In real life, most control systems are nonlinear in one way or the other (nonlinear dynamics, actuation saturations, sensor nonlinearities, etc). While a controller designed for linear systems may continue to work well in many nonlinear systems, this is not always the case. In some situations, nonlinear effects must be taken into account in order to get acceptable performance. In the course Nonlinear Control and Servo Systems (FRTN05) we study common nonlinearities and how to handle those, treat different analysis methods and learn how to do control synthesis for nonlinear systems, both in theory and practice.
Anders Rantzer, (course responsible) M-building (fifth floor, room 5143) 046 - 222 87 83
Mattias Fält, M-building (second floor), 046-222 08 47
Olof Troeng, M-building (second floor), 046-222 97 43
Recommended textbook is
- Glad, T., and Ljung,L., "Reglerteori: Flervariabla och olinjära metoder" (2003, Studentlitteratur, Lund, ISBN 9-14-403003-7) or the English translation "Control Theory: Multivariable and Nonlinear Methods", 2000, Taylor & Francis Ltd, ISBN 0-74-840878-9. Chapter 11-16,18. This book covers MPC and Optimal control which are not covered in the other text book. The first part of this book (Ch. 1-10) covers linear control theory and is useful for the course Multivariable Control - (FRTN10 Flervariabel reglering)
An alternative reference is
- Khalil, H. K., Nonlinear Systems (3rd ed., 2002, Prentice Hall, ISBN 0-13-122740-8). This is a good textbook on nonlinear control systems, at a bit more advanced level than the course.
Handouts: Lecture notes and extra material will be handed out and posted on this website.
Lectures and Exercises
Lectures on Mondays are held at 13.15-15.00, other days at 08.15-10.00. Lectures are held in M:E (except for November 14 when it is in the Automatic Control seminar room M:2112B on the second floor in the M-building.)
The exercises are held Tuesdays and Wednesdays 15:15-17:00 in lab A and lab B of the Automatic Control Department, first floor of the M-building. See Exercise schedule and problem set.
The lecture slides will be handed out during the lectures. Below you find last edition's versions to be replaced when the lecture is given (indicated by red or green bullet).
Monday 5/11: L1: Introduction. Typical nonlinear problems and phenomena. Models. (2018)
Wednesday 7/11: L2: Linearization. Stability. Controllability. Simulation. (2018)
Friday 9/11: L3: Phase-plane analysis. Classification of singular points. Stability of periodic solutions. (2018)
Monday 12/11: L4: Lyapunov methods. (2018)
Wednesday 14/11: L5: Stability theory. Small gain theorem. Circle criteria. Passivity. (2018)
Friday 16/11: L6: Describing function analysis. (2017)
Monday 19/11: L7: Saturation and antiwindup. Friction. (2017)
Wednesday 21/11: L8: Compensation for backlash and quantization. (2017)
Monday 26/11: L9: Lyapunov-based design and sliding modes. (2017)
Wednesday 28/11: L10: Optimal control: The Maximum Principle, examples. (2017)
Wednesday 5/12: L12: Dynamic programming. (2017)
Monday 10/12: L13: Internal model control. Model predictive control. Nonlinear observers. Gain scheduling. (2017)
Wednesday 12/12: L14: Course summary. (2017)
Exercises and Solutions
Lab1: Deadzone-compensation for an air throttle in a car (nonlinear compensation and describing function analysis) (Sign-up starts November 19)
Lab2: Pendulum swing-up (Sign-up starts November 26)
Lab3: Pendulum on a cart (Sign-up starts December 3)
Matlab and Simulink are extensively used in the course. Graphical user interfaces called pplane and dfield for phase-plane analysis in Matlab are available for educational purposes from math.rice.edu/~dfield/. Matlab is available for home computers.
- How to obtain Matlab/Simulink (need StiL or Lucat-account).
- Matlab files (Shift + Mouse Click to download file), pplane8.m and dfield8.m.
Put the file in your working directory, start Matlab and type "pplane8" or "dfield8", respectively.
If you use MATLAB 2014b and onwards, use the following fixed version: pplane8.m and dfield8.m.
This version does not support "Plote while computing", therefore you may turn it off under "Options" to speed up the plotting.