News
Currently, no news are available
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.
- 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.
- 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.
- 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.
Lectures: Lectures will generally be recorded and made available via CMS links, but please note this is done on a best-effort basis, and there might be delays and problems.
- Tuesdays 16-18 (c.t.); E1 3, HS002
- Thursdays 10-12 (c.t.); E1 3, HS002