Lecture 1: Difference equations
The representation of dynamical systems as difference equations is introduced. This representation is then going to be used for all objects in this course, such as system to be controlled, controller, closed-loop system as well as disturbance models. Interpretation, analysis and implementation of difference equations are therefore fundamental for the rest of this course. Two descriptions of difference equations are of importance: the recursive description for implementation and the polynomial description for analysis.Reading: Chapter 1-2 and Lecture notes
(pdf, 840 kB)
on difference equations.Exercise 1: Analysis of system responses in time domain
The first exercise Exercise 1
(pdf, 130 kB)
. These problems are fundamental for the understanding of the rest of the course. Here we study responses in time domain in order to get a feeling for the behavior of dynamical systems and relate that to concepts as poles and zeros.Lecture 2: Frequency domain criteria
The previous lecture analyzed difference equations in time domain. Now it is time to analyze difference equations in frequency domain. It turns out that frequency response descriptions can be useful both for the understanding of filtering properties of systems and for the analysis of stability.Reading: Chapter 2 and Lecture notes
(pdf, 240 kB)
on frequency domain criteria.Exercise 2: Analysis of system responses in frequency domain
The second exercise Exercise 2
(pdf, 79 kB)
. Frequency responses are calculated and simulated. Nyquist curves are analyzed with respect to stability margins.Lecture 3: Controller structures and implementation aspects
Here block schemes and block scheme algebra are introduced and different structures of control systems are discussed. The famous PID structure is reviewed and formulated in discrete time. It is then shown that this and all controller structure can be written in one canonical form. This general structure is then going to be used throughout this course.Reading: Chapter 3 and Lecture notes
(pdf, 160 kB)
on controller structures and implementation aspects.Exercise 3: PI control of a tank process
In this exercise
(pdf, 81 kB)
, Sysquake will be used to study the control design of a water filling tank process. Download the file Tank.sq and open it in Sysquake. A tank process will then be displayed graphically and animated. First play with this interactively to get a feeling for the system dynamics.Then you should investigate P- and PI-control strategies. Both experimentally-based Ziegler-Nichols tuning and dead-beat design based on a discrete-time model are investigated. Write a report by answering the questions on this virtual laboratory process. Extra material on PID-control can be found here
(pdf, 2 MB)
.Lecture 4: Pole-placement design
This is the most important part of the course where the controller design method is introduced. The method is model-based and uses the general structure described in the previous lecture. Algorithmic aspects as well as design trade-offs are discussed. Control design of different lab-processes are illustrated and some of them demonstrated.Reading: Chapter 4 and Lecture notes
(pdf, 570 kB)
on pole-placement design.Exercise 4: Robot line-tracking control
In this exercise
(pdf, 88 kB)
, Sysquake will be used to study the control of a differential-drive robot. A comparison is made between PD-control and design based on a discrete-time model using dead-beat design. Download the file Robot.sq and open it in Sysquake.Lecture 5: Modeling
Until now we have assumed that a difference equation describing the dynamical system is given and we have used it for analysis and controller design. But if we do not have a model, how do we get one? This is the topic here and there are two main approaches: sampling of systems and identification from experimental data. Reading: Chapter 5 and Lecture notes
(pdf, 310 kB)
on modeling.Exercise 5: System identification
In this exercise
(pdf, 89 kB)
, system identification should here be investigated on the Tank processes used before. Sampling of the tank dynamics around different operating points are studied. The dynamics are also identified experimentally using the least-squares method and compared to the theoretical sampled dynamics. Lecture 6: Practical design criteria
The pole-placement design method in Chapter 4 will now be extended to take into account many different design specifications simultaneously. The classical robustness margins are here generalized by the introduction of sensitivity functions. Also, it is here shown that many specifications and trade-offs can be considered by a useful software tool. Part of the lecture will be used to practice on a benchmark problem
(pdf, 67 kB)
. Sysquake files: ECC.sq and polp.sqReading: Chapter 6 and Lecture notes
(pdf, 220 kB)
on practical design criteria.Exercise 6a: Daming and stabilization of a pendulum
In this exercise
(pdf, 89 kB)
, a pendulum is attached to a servo motor. The objective is to design a feedback controller based on measurement from the pendulum angle. By feedback the dynamics can be changed such that the pendulum dampens quickly after a disturbance. Also, another controller should be designed to stabilize the pendulum in inverted position, preventing it from falling down, thus, like a Segway (personal transporter). Sysquake files: PendulumDamp.sq and polp.sq.Exercise 6b: Pendulum position control
In this exercise
(pdf, 64 kB)
, the pendulum is considered again and a reference for the position is introduced in the design such that the pendulum can be moved to a chosen position, while it is stabilized. Sysquake file: PendulumMove.sqLecture 7: Optimal disturbance rejection and tracking
Signal models are used here to derive controller designs both for disturbance rejection by feedback and tracking of reference signals by feedforward. Integral action that has been introduced before will now be explained from the concept of a signal model that describe constant disturbances or reference signals. This is then generalized to other types of signals like ramp, sinusoid and repetitive signals. Chapter 7 and Lecture notes
(pdf, 280 kB)
on optimal disturbance rejection and tracking.Exercise 7: Servo tracking
In this exercise
(pdf, 80 kB)
, a servo model with dry friction is studied. The objective is to design a controller that make the servo track a chosen reference despite the friction disturbance.Sysquake file: Servo.sq
Page last updated 2012-01-17
Halmstad University | Box 823 | S-301 18 Halmstad, Sweden | Tel: +46 35-16 71 00 | registrator@hh.se | Visiting address: Kristian IV:s väg 3