Real-Time Systems - Course Program 2016
Real-time systems are characterized by the fact that it is not only the result of the calculation that is of importance but also the time when the result is available. A computer used for controlling a process is a good example of a real-time system. It must operate in a time-scale that is determined by the time scale of the process. At the same time it should be reactive to external events, often with time constraints on the reaction time. Two classes of computer control systems are generic industrial control systems and embedded control systems found in, e.g., aerospace applications, industrial robots, or autonomous vehicles.
The aim of the course is to study methods for design and implementation of computer control systems with focus on the application classes mentioned. The implementation part of the course is done in project form.
After the course the students should have sufficient knowledge to, on their own, implement smaller dedicated control systems and a thorough understanding of the system aspects of large industrial control systems.
Staff
Name | Role | Phone | |
Anton Cervin | Course responsible & lecturer | anton.cervin@control.lth.se | 046-2224475 |
Martina Maggio | Course responsible & lecturer | martina.maggio@control.lth.se | 046-2228777 |
Mika Nishimura | LADOK administrator | mika.nishimura@control.lth.se | 046-2228785 |
Manfred Dellkrantz | Teaching assistant | manfred.dellkrantz@control.lth.se | |
Martin Karlsson | Teaching assistant | martin.karlsson@control.lth.se | |
Victor Millnert | Teaching assistant | victor.millnert@control.lth.se | |
Gabriel Ingesson | Teaching assistant (projects only) | gabriel.ingesson@control.lth.se | |
Olof Troeng | Teaching assistant (labs only) | olof.troeng@control.lth.se |
Lectures
Lecture | Date | Time | Room | Topic | Lecturer |
L1 | Jan 18 | 10-12 | E:A | Introduction | Both |
L2 | Jan 19 | 13-15 | E:A | Concurrent programming | Martina |
LX | Jan 20 | 17-19 | M:2112b | Extra: Introduction to Java | Martina |
L3 | Jan 21 | 13-15 | M:B | Process communication 1 | Martina |
L4 | Jan 26 | 13-15 | E:B | Process communication 2 | Martina |
L5 | Jan 28 | 13-15 | M:B | Interrupts and time | Martina |
L6 | Feb 2 | 13-15 | E:B | Sampling of linear systems | Anton |
L7 | Feb 3 | 13-15 | MH:B | Input-output models | Anton |
L8 | Feb 9 | 13-15 | E:B | Approx. of analog controllers, PID | Anton |
L9 | Feb 11 | 13-15 | M:B | State feedback and observers | Anton |
L10 | Feb 16 | 13-15 | E:B | Feedforward design | Anton |
L11 | Feb 18 | 13-15 | M:B | Implementation aspects | Anton |
L12 | Feb 23 | 13-15 | E:B | Scheduling theory | Martina |
L13 | Feb 25 | 13-15 | M:B | Real-time networks | Anton |
L14 | Mar 1 | 13-15 | M:B | Discrete-event control | Martina |
L15 | Mar 3 | 13-15 | MH:B | Project specifications | Both |
L16 | Mar 8 | 13-15 | M:B | Hot research topics | Both |
LY | May 3 | 13-15 | MH:B | Extra: Repetition lecture | Both |
L17 | May 19 | 13-15 | M:B | Project demos & oral presentations | - |
Slides are available on the Lectures page and are also handed out at the lectures.
Exercises
Exercises are held during study period 3. There are two parallel exercise tracks: computer exercises (C), starting in study week 1, and problem-solving exercises (P), starting in study week 2. All exercises are held in Automatic Control Lab A on the first floor of the M-building.
Exercise | Dates | Topic |
C0 | Jan 21-22 | Extra: Introduction to Java |
C1 | Jan 25-26 | Threads |
P0 | Jan 28-29 | Extra: Introduction to Matlab |
C2 | Feb 1-2 | Synchronization |
P1 | Feb 4-5 | Sampling of systems |
C3 | Feb 8-9 | Controller implementation |
P2 | Feb 11-12 | Input-output models |
C4 | Feb 15-16 | Graphical user interface |
P3 | Feb 18-19 | State feedback and observers |
C5 | Feb 22-23 | Prepare Lab 1 |
P4 | Feb 25-26 | Discrete approximation, PID |
P5 | Mar 3-4 | Fixed-point implementation |
P6 | Mar 8-9 | Scheduling theory |
The Problem-Solving Exercises are in the book sold at KF-Sigma. The Computer Exercises and related material are available on the Exercises page.
Laboratory sessions
The course contains three 4-hour laboratory sessions. Lab 1 will take place during weeks 6 and 7 of study period 3. Students who have previously taken the course EDA040 (Concurrent and Real-Time Programming) will do a special version of Lab 1 in which the LJRT Java to C framework will be used. Labs 2 and 3 will take place during weeks 8 of study period 3 and weeks 1 and 2 of study period 4. Electronic sign-up lists will be posted two weeks before each lab starts.
Lab | Approx. dates | Topic | Sign-up opens | Responsible |
1 | Feb 24–Mar 2 | Control of the ball and beam process | Feb 10 | Victor Millnert |
2 | Mar 3–23 | Sequence control of a bead sorter process | Feb 22 | Martin Karlsson |
3 | Mar 29–Apr 5 | Embedded control of a rotating DC servo | Mar 15 | Manfred Dellkrantz |
Project
The projects are performed as team works with the size of four persons per team (in special cases it is OK with smaller project teams). Constraints on hardware, processes and supervisors require synchronization among the projects. If you are following the Predictive Control course it will be possible to do a joint project between the courses. Important dates:
- March 3, at Lecture 15: Presentation of available projects
- March 9: Deadline for team formation and project selection
- April 6: Deadline for suggested solution
- May 16: Deadline for project report
- May 19, at Lecture 18: Project demos (mandatory)
- May 19, at 15:15-17:00: Oral presentations (mandatory)
Literature
- K.-E. Årzén, "Real-Time Control Systems" (2015 edition)
- B. Wittenmark, K.J. Åström, K.-E. Årzén, "Computer Control: An Overview", Educational Version 2016
- Exercises with solutions (2015 Version)
All material is sold by KF-Sigma. The 2014 versions of the books are very similar and also possible to use.
Examination
Mandatory parts: Three laboratory sessions, project, written exam (5 hours).
The exam consists of 25 points and gives the grade Fail, 3, 4, or 5. Accepted aid: The textbooks Real-Time Control Systems and Computer Control: An Overview - Educational Version; standard mathematical tables and authorized "Real-Time Systems Formula Sheet”; pocket calculator.
(Lectures 2–17 and the exercise sessions are not mandatory.)