News

Assignment #1: results and feedback are now available

Written on 25.05.26 by Martina Maggio

The assignments have now been corrected. You can find your points and individual feedback on your personal page.

As communicated in the lecture, you needed 12.5 out of 25 points to pass the assignment.

If your submission included a controller, you should also be able to download a short video… Read more

The assignments have now been corrected. You can find your points and individual feedback on your personal page.

As communicated in the lecture, you needed 12.5 out of 25 points to pass the assignment.

If your submission included a controller, you should also be able to download a short video showing the pendulum running with your controller (the swing up phase is done before your controller kicks in, and when the pendulum is in the upright position your designed controller takes over).

It was great to see that some submissions successfully stabilized the pendulum. The resulting videos show quite a range of behaviours: in some cases the pendulum stays upright while the base is spinning very fast, in others it is somewhat jittery but kept more or less in position, and in some cases the stabilization is quite good. Then there are also many videos where the pendulum simply spins wildly without ever reaching a stable behavior.

Please note that the assigned points are not based on the qualitative behaviour shown in these videos. In particular, the assignment did not take robustness or visual smoothness of the controller into account. The videos are provided as additional feedback and as an illustration of how your controller behaved in simulation and as motivation for what we are studying in the second part of the course.

Reminder: Assignment #1 will be released on 11.05 at 00:01

Written on 04.05.26 by Martina Maggio

The assignment release date is 11.05.2026 00:01 (you will find the PDF with the assignment description in the Materials page here in CMS). You will be able to submit your solution (a zip file containing code and a pdf) until 17.05.2026 23:59. No deadline extension will be allowed. Submitting and… Read more

The assignment release date is 11.05.2026 00:01 (you will find the PDF with the assignment description in the Materials page here in CMS). You will be able to submit your solution (a zip file containing code and a pdf) until 17.05.2026 23:59. No deadline extension will be allowed. Submitting and passing the assignment is mandatory for exam participation.

First lecture: Thursday at 10:15 n E1 3, HS002

Written on 07.04.26 (last change on 22.04.26) by Martina Maggio

Hello everybody and welcome to the course. The first lecture of the course will take place on Thursday 09.04, starting at 10:15, in E1 3, HS002. Looking forward to seeing many of you.

Cyber-Physical Systems

This course was previously called Embedded Systems. If you have taken a previous instance of Embedded Systems, you cannot take this course for credits.

What are cyber-physical systems? These are integrated systems that bridge the digital (cyber) and physical worlds. They monitor and control physical processes through computational algorithms, embedded within mechanical and electrical systems. Cyber-physical systems are essential to modern technology, from autonomous vehicles and robotics to smart buildings and medical devices. They constantly interact with their environments, adjusting their behavior to meet design specifications and performance goals.

Syllabus: The course is divided into three parts, that build on one another: (1) Modeling, (2) Control Design, and (3) Implementation.

  1. In the modeling part of the course we will start with prerequisites (linear algebra concepts) and continue discussing different types of models (linear and non-linear systems). We will then talk about linearization and focus on linear systems, clarifying the difference between autonomous and input-driven systems. We will then talk about discretization and obtain linear time-invariant dynamical models. We will then formally prove properties of these models (stability, observability, reconstructability, controllability, reachability, and properties of the transient behavior). Then we will introduce data-driven models and switching models.
  2. In the control design part, we will focus on how to achieve these properties using the input signal and how to design a controller. We will discuss pole placement, Proportional Integral and Derivative controllers, the design of observers, and of controllers based on the optimization of a cost function. We will then discuss how robust these controllers are with respect to unmodeled dynamics and disturbances.
  3. In the implementation part, we will take the controllers designed in the second part and study how to implement them. We will discuss periodic tasks and scheduling theory, how to make the code execute as predictably as possible, and how and when to exploit some structural properties of the implementation. We will then talk about non-ideal behavior, such as computation with finite precision, quantization effects, and limit cycles. Finally, we will briefly discuss fault tolerance aspects such as communication unreliability and the possibility of undesired computational overruns.

Calendar

Lectures: Lectures are generally held on

  • Tuesdays 16-18 (c.t.); E1 3, HS002
  • Thursdays 10-12 (c.t.); E1 3, HS002 

with some exceptions due to holidays and scheduled breaks. Please check the timetable page for detailed information.

Tutorials: We offer two tutorial slots.

Tutorial 1 has the following times and rooms: Tutorial 2 has the following times and rooms:
  • 23.04, 16-18; E1.3, SR015
  • 30.04, 14-16; E1.1, SR106
  • 07.05, 16-18; E1.3, SR015
  • 21.05, 16-18; E1.3, SR015
  • 28.05, 16-18; E1.3, SR015
  • 03.06, 14-16; E1.7, 0.10
  • 11.06, 16-18; E1.3, SR015
  • 25.06, 16-18; E1.3, SR015
  • 02.07, 16-18; E1.3, SR015
  • 24.04, 10-12; E1.3, SR015
  • 30.04, 16-18; E1.1, SR106
  • 08.05, 10-12; E1.3, SR015
  • 22.05, 10-12; E1.3, SR015
  • 29.05, 10-12; E1.3, SR015
  • 05.06, 10-12; E1.3, SR015
  • 12.06, 10-12; E1.3, SR015
  • 26.06, 10-12; E1.3, SR015
  • 03.07, 10-12; E1.3, SR015

 

Assignments: There are two mandatory assignments that should be passed to gain admission to the exam.

  • The first assignment will be released on 11.05 at 00:01 and is due on 17.05 at 23:59.
  • The second assignment will be released on 06.07 at 00:01 and is due on 12.07 at 23:59.

Exam: The course is examined via an in-person, closed-book, written exam (no material can be brought into the exam room except for indelible pens and a calculator).

End-term exam:  July 28th, 9:00-12:00  
End-term re-take exam:  August 18th, 9:00-12:00  

Resources

For a refresher on Linear Algebra, I recommend watching the "essence of linear algebra" playlist.

In case something is unclear, you can check out two books:

  1. Feedback Systems: An Introduction for Scientists and Engineers; Karl J. Åström and Richard M. Murray [link]
  2. Introduction to Embedded Systems; Edward A. Lee and Sanjit A. Seshia [link]
Privacy Policy | Legal Notice
If you encounter technical problems, please contact the administrators.