Difference between revisions of "BSc: Control Theory"
I.konyukhov (talk | contribs) m (I.konyukhov moved page BSc:ControlTheory to BSc:ControlTheory.S22) |
R.sirgalina (talk | contribs) |
||
(12 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | |||
= Control Theory = |
= Control Theory = |
||
+ | * '''Course name''': Control Theory |
||
+ | * '''Code discipline''': [S20] |
||
+ | * '''Subject area''': Sensors and actuators; Robotic control. |
||
+ | == Short Description == |
||
− | * <span>'''Course name:'''</span> Control Theory |
||
+ | This course covers the following concepts: Introduction to Linear Control, Stability of linear dynamical systems; Controller design; Sensing, observers, Adaptive control. |
||
− | * <span>'''Course number:'''</span> [S20] |
||
− | == |
+ | == Prerequisites == |
+ | === Prerequisite subjects === |
||
− | == What subject area does your course (discipline) belong to? == |
||
+ | * [https://eduwiki.innopolis.university/index.php/BSc:AnalyticGeometryAndLinearAlgebraI CSE204 - Geometry And Linear Algebra II]: Semidefinite matrices, Eigenvalues, Eigendecomposition (weak prerequisite), matrix exponentials (weak prerequisite), SVD (weak prerequisite) |
||
+ | * [https://eduwiki.innopolis.university/index.php/BSc:DifferentialEquations CSE205 - Differential Equations] |
||
+ | === Prerequisite topics === |
||
− | Sensors and actuators; Robotic control. |
||
− | === Key concepts of the class === |
||
+ | == Course Topics == |
||
− | * Introduction to Linear Control, Stability of linear dynamical systems |
||
+ | {| class="wikitable" |
||
− | * Controller design |
||
+ | |+ Course Sections and Topics |
||
− | * Sensing, observers, Adaptive control |
||
+ | |- |
||
− | |||
+ | ! Section !! Topics within the section |
||
− | === What is the purpose of this course? === |
||
+ | |- |
||
+ | | Introduction to Linear Control, Stability of linear dynamical systems || |
||
+ | # Control, introduction. Examples. |
||
+ | # Single input single output (SISO) systems. Block diagrams. |
||
+ | # From linear differential equations to state space models. |
||
+ | # DC motor as a linear system. |
||
+ | # Spring-damper as a linear system. |
||
+ | # The concept of stability of the control system. Proof of stability for a linear system with negative real parts of eigenvalues. |
||
+ | # Multi input multi output (MIMO) systems. |
||
+ | # Linear Time Invariant (LTI) systems and their properties. |
||
+ | # Linear Time Varying (LTV) systems and their properties. |
||
+ | # Transfer function representation. |
||
+ | |- |
||
+ | | Controller design. || |
||
+ | # Stabilizing control. Control error. |
||
+ | # Proportional control. |
||
+ | # PD control. Order of a system and order of the controller. |
||
+ | # PID control. |
||
+ | # P, PD and PID control for DC motor. |
||
+ | # Trajectory tracking. Control input types. Standard inputs (Heaviside step function, Dirac delta function, sine wave). |
||
+ | # Tuning PD and PID. Pole placement. |
||
+ | # Formal statements about stability. Lyapunov theory. |
||
+ | # Types of stability; Lyapunov stability, asymptotic stability, exponential stability. |
||
+ | # Eigenvalues in stability theory. Reasoning about solution of the autonomous linear system. |
||
+ | # Stability proof for PD control. |
||
+ | # Stability in stabilizing control and trajectory tracking. |
||
+ | # Frequency response. Phase response. |
||
+ | # Optimal control of linear systems. From Hamilton-Jacobi-Bellman to algebraic Riccati equation. LQR. |
||
+ | # Stability of LQR. |
||
+ | # Controllability. |
||
+ | |- |
||
+ | | Sensing, observers, Adaptive control || |
||
+ | # Modelling digital sensors: quantization, discretization, lag. |
||
+ | # Modelling sensor noise. Gaussian noise. Additive models. Multiplicative models. Dynamic sensor models. |
||
+ | # Observability. |
||
+ | # Filters. |
||
+ | # State observers. |
||
+ | # Optimal state observer for linear systems. |
||
+ | # Linearization of nonlinear systems. |
||
+ | # Linearization along trajectory. |
||
+ | # Linearization of Inverted pendulum dynamics. |
||
+ | # Model errors. Differences between random disturbances and unmodeled dynamics/processes. |
||
+ | # Adaptive control. |
||
+ | # Control for sets of linear systems. |
||
+ | # Discretization, discretization error. |
||
+ | # Control for discrete linear systems. |
||
+ | # Stability of discrete linear systems. |
||
+ | |} |
||
+ | == Intended Learning Outcomes (ILOs) == |
||
+ | === What is the main purpose of this course? === |
||
Linear Control Theory is both an active tool for modern industrial engineering and a prerequisite for most of the state-of-the-art level control techniques and the corresponding courses. With this in mind, the Linear Control course is both building a foundation for the following development of the student as a learner in the fields of Robotics, Control, Nonlinear Dynamics and others, as well as it is one of the essential practical courses in the engineering curricula. |
Linear Control Theory is both an active tool for modern industrial engineering and a prerequisite for most of the state-of-the-art level control techniques and the corresponding courses. With this in mind, the Linear Control course is both building a foundation for the following development of the student as a learner in the fields of Robotics, Control, Nonlinear Dynamics and others, as well as it is one of the essential practical courses in the engineering curricula. |
||
− | === |
+ | === ILOs defined at three levels === |
− | |||
− | === - What should a student remember at the end of the course? === |
||
− | |||
− | By the end of the course, the students should be able to outline: |
||
+ | ==== Level 1: What concepts should a student know/remember/explain? ==== |
||
+ | By the end of the course, the students should be able to ... |
||
* methods for control synthesis (linear controller gain tuning) |
* methods for control synthesis (linear controller gain tuning) |
||
* methods for controller analysis |
* methods for controller analysis |
||
* methods for sensory data processing for linear systems |
* methods for sensory data processing for linear systems |
||
− | === |
+ | ==== Level 2: What basic practical skills should a student be able to perform? ==== |
+ | By the end of the course, the students should be able to ... |
||
− | |||
− | By the end of the course, the students should be able to understand: |
||
− | |||
* State-space models |
* State-space models |
||
* Eigenvalue analysis for linear systems |
* Eigenvalue analysis for linear systems |
||
Line 47: | Line 98: | ||
* Linear Quadratic Regulator |
* Linear Quadratic Regulator |
||
− | === |
+ | ==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ==== |
+ | By the end of the course, the students should be able to ... |
||
− | |||
− | By the end of the course, the students should be able to |
||
− | |||
* Turn a system of linear differential equations into a state-space model. |
* Turn a system of linear differential equations into a state-space model. |
||
* Design a controller by solving Algebraic Riccati eq. |
* Design a controller by solving Algebraic Riccati eq. |
||
− | * Find if a system is stable or not, using eigenvalue analysis. |
+ | * Find if a system is stable or not, using eigenvalue analysis. |
+ | == Grading == |
||
− | === Course |
+ | === Course grading range === |
+ | {| class="wikitable" |
||
− | |||
− | + | |+ |
|
+ | |- |
||
− | |+ Course grade breakdown |
||
+ | ! Grade !! Range !! Description of performance |
||
− | !align="center"| |
||
+ | |- |
||
− | !align="center"| |
||
+ | | A. Excellent || 85-100 || - |
||
− | !align="center"| '''Proposed points''' |
||
|- |
|- |
||
+ | | B. Good || 70-84 || - |
||
− | |align="center"| Labs/seminar classes |
||
− | |align="center"| 20 |
||
− | |align="center"| 30 |
||
|- |
|- |
||
+ | | C. Satisfactory || 50-69 || - |
||
− | |align="center"| Interim performance assessment |
||
− | |align="center"| 30 |
||
− | |align="center"| 20 |
||
|- |
|- |
||
+ | | D. Poor || 0-49 || - |
||
− | |align="center"| Exams |
||
− | |align="center"| 50 |
||
− | |align="center"| 50 |
||
|} |
|} |
||
+ | === Course activities and grading breakdown === |
||
− | === Grades range === |
||
+ | {| class="wikitable" |
||
− | |||
− | + | |+ |
|
− | |+ Course grading range |
||
− | !align="center"| |
||
− | !align="center"| |
||
− | !align="center"| '''Proposed range''' |
||
|- |
|- |
||
+ | ! Activity Type !! Percentage of the overall course grade |
||
− | |align="center"| A. Excellent |
||
− | |align="center"| 90-100 |
||
− | |align="center"| 85-100 |
||
|- |
|- |
||
+ | | Labs/seminar classes || 30 |
||
− | |align="center"| B. Good |
||
− | |align="center"| 75-89 |
||
− | |align="center"| 70-84 |
||
|- |
|- |
||
+ | | Interim performance assessment || 20 |
||
− | |align="center"| C. Satisfactory |
||
− | |align="center"| 60-74 |
||
− | |align="center"| 50-69 |
||
|- |
|- |
||
+ | | Exams || 50 |
||
− | |align="center"| D. Poor |
||
− | |align="center"| 0-59 |
||
− | |align="center"| 0-49 |
||
|} |
|} |
||
+ | === Recommendations for students on how to succeed in the course === |
||
− | === Resources and reference material === |
||
− | Main textbook: |
||
+ | == Resources, literature and reference materials == |
||
+ | |||
+ | === Open access resources === |
||
* Ogata, K., 1994. Solving control engineering problems with MATLAB. Englewood Cliffs, NJ: Prentice-Hall. |
* Ogata, K., 1994. Solving control engineering problems with MATLAB. Englewood Cliffs, NJ: Prentice-Hall. |
||
+ | * Williams, R.L. and Lawrence, D.A., 2007. Linear state-space control systems. John Wiley & Sons. |
||
+ | * Ogata, K., 1995. Discrete-time control systems (Vol. 2, pp. 446-480). Englewood Cliffs, NJ: Prentice Hall. |
||
+ | === Closed access resources === |
||
− | Other reference material: |
||
− | * Williams, R.L. and Lawrence, D.A., 2007. Linear state-space control systems. John Wiley & Sons. |
||
− | * Ogata, K., 1995. Discrete-time control systems (Vol. 2, pp. 446-480). Englewood Cliffs, NJ: Prentice Hall. |
||
+ | === Software and tools used within the course === |
||
− | == Course Sections == |
||
+ | |||
+ | = Teaching Methodology: Methods, techniques, & activities = |
||
+ | == Activities and Teaching Methods == |
||
− | The main sections of the course and approximate hour distribution between them is as follows: |
||
+ | {| class="wikitable" |
||
− | |||
+ | |+ Activities within each section |
||
− | {| |
||
− | |+ Course Sections |
||
− | !align="center"| '''Section''' |
||
− | ! '''Section Title''' |
||
− | !align="center"| '''Teaching Hours''' |
||
|- |
|- |
||
+ | ! Learning Activities !! Section 1 !! Section 2 !! Section 3 |
||
− | |align="center"| 1 |
||
− | | Introduction to Linear Control, Stability of linear dynamical systems |
||
− | |align="center"| 6 |
||
|- |
|- |
||
+ | | Homework and group projects || 1 || 1 || 1 |
||
− | |align="center"| 2 |
||
− | | Controller design |
||
− | |align="center"| 6 |
||
|- |
|- |
||
+ | | Testing (written or computer based) || 1 || 0 || 0 |
||
− | |align="center"| 3 |
||
+ | |- |
||
− | | Sensing, observers, Adaptive control |
||
+ | | Reports || 1 || 1 || 1 |
||
− | |align="center"| 6 |
||
− | | |
+ | |- |
+ | | Midterm evaluation || 0 || 1 || 0 |
||
− | |||
+ | |- |
||
− | === Section 1 === |
||
+ | | Discussions || 0 || 1 || 0 |
||
− | |||
+ | |} |
||
− | ==== Section title: ==== |
||
+ | == Formative Assessment and Course Activities == |
||
− | |||
− | Introduction to Linear Control, Stability of linear dynamical systems |
||
− | |||
− | === Topics covered in this section: === |
||
− | |||
− | * Control, introduction. Examples. |
||
− | * Single input single output (SISO) systems. Block diagrams. |
||
− | * From linear differential equations to state space models. |
||
− | * DC motor as a linear system. |
||
− | * Spring-damper as a linear system. |
||
− | * The concept of stability of the control system. Proof of stability for a linear system with negative real parts of eigenvalues. |
||
− | * Multi input multi output (MIMO) systems. |
||
− | * Linear Time Invariant (LTI) systems and their properties. |
||
− | * Linear Time Varying (LTV) systems and their properties. |
||
− | * Transfer function representation. |
||
− | === |
+ | === Ongoing performance assessment === |
+ | ==== Section 1 ==== |
||
− | {| |
||
+ | {| class="wikitable" |
||
− | !align="center"| |
||
+ | |+ |
||
− | !align="center"| '''Yes/No''' |
||
|- |
|- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | |align="center"| Development of individual parts of software product code |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What is a linear dynamical system? || 1 |
||
− | |align="center"| Homework and group projects |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is an LTI system? || 1 |
||
− | |align="center"| Midterm evaluation |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What is an LTV system? || 1 |
||
− | |align="center"| Testing (written or computer based) |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || Provide examples of LTI systems. || 1 |
||
− | |align="center"| Reports |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is a MIMO system? || 1 |
||
− | |align="center"| Essays |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Simulate a linear dynamic system as a higher order differential equation or in state-space form (Language is a free choice, Python and Google Colab are recommended. Use built-in solvers or implement Runge-Kutta or Euler method. || 0 |
||
− | |align="center"| Oral polls |
||
+ | |} |
||
− | |align="center"| 0 |
||
+ | ==== Section 2 ==== |
||
+ | {| class="wikitable" |
||
+ | |+ |
||
|- |
|- |
||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | |align="center"| Discussions |
||
− | |align="center"| 0 |
||
− | |} |
||
− | |||
− | === Typical questions for ongoing performance evaluation within this section === |
||
− | |||
− | # What is a linear dynamical system? |
||
− | # What is an LTI system? |
||
− | # What is an LTV system? |
||
− | # Provide examples of LTI systems. |
||
− | # What is a MIMO system? |
||
− | |||
− | === Typical questions for seminar classes (labs) within this section === |
||
− | |||
− | # Simulate a linear dynamic system as a higher order differential equation or in state-space form (Language is a free choice, Python and Google Colab are recommended. Use built-in solvers or implement Runge-Kutta or Euler method. |
||
− | |||
− | === Test questions for final assessment in this section === |
||
− | |||
− | # Convert a linear differential equation into a state space form. |
||
− | # Convert a transfer function into a state space form. |
||
− | # Convert a linear differential equation into a transfer function. |
||
− | # What does it mean for a linear differential equation to be stable? |
||
− | |||
− | === Section 2 === |
||
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Controller design. |
||
− | |||
− | === Topics covered in this section: === |
||
− | |||
− | * Stabilizing control. Control error. |
||
− | * Proportional control. |
||
− | * PD control. Order of a system and order of the controller. |
||
− | * PID control. |
||
− | * P, PD and PID control for DC motor. |
||
− | * Trajectory tracking. Control input types. Standard inputs (Heaviside step function, Dirac delta function, sine wave). |
||
− | * Tuning PD and PID. Pole placement. |
||
− | * Formal statements about stability. Lyapunov theory. |
||
− | * Types of stability; Lyapunov stability, asymptotic stability, exponential stability. |
||
− | * Eigenvalues in stability theory. Reasoning about solution of the autonomous linear system. |
||
− | * Stability proof for PD control. |
||
− | * Stability in stabilizing control and trajectory tracking. |
||
− | * Frequency response. Phase response. |
||
− | * Optimal control of linear systems. From Hamilton-Jacobi-Bellman to algebraic Riccati equation. LQR. |
||
− | * Stability of LQR. |
||
− | * Controllability. |
||
− | |||
− | === What forms of evaluation were used to test students’ performance in this section? === |
||
− | |||
− | {| |
||
− | !align="center"| |
||
− | !align="center"| '''Yes/No''' |
||
|- |
|- |
||
+ | | Question || What is stability in the sense of Lyapunov? || 1 |
||
− | |align="center"| Development of individual parts of software product code |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What is stabilizing control? || 1 |
||
− | |align="center"| Homework and group projects |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is trajectory tracking? || 1 |
||
− | |align="center"| Midterm evaluation |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || Why the control for a state-space system does not include the derivative of the state variable in the feedback law? || 1 |
||
− | |align="center"| Testing (written or computer based) |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || How can a PD controller for a second-order linear mechanical system can be re-written in the state-space form? || 1 |
||
− | |align="center"| Reports |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || Write a closed-loop dynamics for an LTI system with a proportional controller. || 1 |
||
− | |align="center"| Essays |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Give stability conditions for an LTI system with a proportional controller. || 1 |
||
− | |align="center"| Oral polls |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Provide an example of a LTV system with negative eigenvalues that is not stable. || 1 |
||
− | |align="center"| Discussions |
||
− | |align="center"| 1 |
||
− | |} |
||
− | |||
− | === Typical questions for ongoing performance evaluation within this section === |
||
− | |||
− | # What is stability in the sense of Lyapunov? |
||
− | # What is stabilizing control? |
||
− | # What is trajectory tracking? |
||
− | # Why the control for a state-space system does not include the derivative of the state variable in the feedback law? |
||
− | # How can a PD controller for a second-order linear mechanical system can be re-written in the state-space form? |
||
− | # Write a closed-loop dynamics for an LTI system with a proportional controller. |
||
− | # Give stability conditions for an LTI system with a proportional controller. |
||
− | # Provide an example of a LTV system with negative eigenvalues that is not stable. |
||
− | # Write algebraic Riccati equation for a standard additive quadratic cost. |
||
− | # Derive algebraic Riccati equation for a given additive quadratic cost. |
||
− | # Derive differential Riccati equation for a standard additive quadratic cost. |
||
− | # What is the meaning of the unknown variable in the Riccati equation? What are its property in case of LTI dynamics. |
||
− | # What is a frequency response? |
||
− | # What is a phase response? |
||
− | |||
− | === Typical questions for seminar classes (labs) within this section === |
||
− | |||
− | # Design control for an LTI system using pole placement. |
||
− | # Design control for an LTI system using Riccati (LQR). |
||
− | # Simulate an LTI system with LQR controller. |
||
− | |||
− | === Test questions for final assessment in this section === |
||
− | |||
− | <ol> |
||
− | <li><p>You have a linear system: <math display="block">\dot x = Ax + Bu</math> and a cost function: a) <math display="inline">J = \int (x^{\top} Q x + u^{\top} I u) dt</math> b) <math display="inline">J = \int (x^{\top} I x + u^{\top} R u) dt</math> Write Riccati eq. and find LQR gain analytically.</p></li> |
||
− | <li><p>You have a linear system a) <math display="inline">\begin{bmatrix} |
||
− | \dot x_{1} \\ |
||
− | \dot x_{2} |
||
− | \end{bmatrix} = |
||
− | \begin{bmatrix} |
||
− | 1 & 10 \\ |
||
− | -3 & 4 |
||
− | \end{bmatrix} |
||
− | \begin{bmatrix} |
||
− | x_{1} \\ |
||
− | x_{2} |
||
− | \end{bmatrix}</math> b) <math display="inline">\begin{bmatrix} |
||
− | \dot x_{1} \\ |
||
− | \dot x_{2} |
||
− | \end{bmatrix} = |
||
− | \begin{bmatrix} |
||
− | -2 & 1 \\ |
||
− | 2 & 40 |
||
− | \end{bmatrix} |
||
− | \begin{bmatrix} |
||
− | x_{1} \\ |
||
− | x_{2} |
||
− | \end{bmatrix}</math> Prove whether or not it is stable.</p></li> |
||
− | <li><p>You have a linear system a) <math display="block">\begin{bmatrix} |
||
− | \dot x_{1} \\ |
||
− | \dot x_{2} |
||
− | \end{bmatrix} = |
||
− | \begin{bmatrix} |
||
− | 1 & 10 \\ |
||
− | -3 & 4 |
||
− | \end{bmatrix} |
||
− | \begin{bmatrix} |
||
− | x_{1} \\ |
||
− | x_{2} |
||
− | \end{bmatrix} + |
||
− | \begin{bmatrix} |
||
− | u_{1} \\ |
||
− | u_{2} |
||
− | \end{bmatrix}</math> b) <math display="block">\begin{bmatrix} |
||
− | \dot x_{1} \\ |
||
− | \dot x_{2} |
||
− | \end{bmatrix} = |
||
− | \begin{bmatrix} |
||
− | -2 & 1 \\ |
||
− | 2 & 40 |
||
− | \end{bmatrix} |
||
− | \begin{bmatrix} |
||
− | x_{1} \\ |
||
− | x_{2} |
||
− | \end{bmatrix}+ |
||
− | \begin{bmatrix} |
||
− | u_{1} \\ |
||
− | u_{2} |
||
− | \end{bmatrix}</math> Your controller is: a) <math display="inline">\begin{bmatrix} |
||
− | u_{1} \\ |
||
− | u_{2} |
||
− | \end{bmatrix} = |
||
− | \begin{bmatrix} |
||
− | 100 & 1 \\ |
||
− | 1 & 20 |
||
− | \end{bmatrix} |
||
− | \begin{bmatrix} |
||
− | x_{1} \\ |
||
− | x_{2} |
||
− | \end{bmatrix}</math> b) <math display="inline">\begin{bmatrix} |
||
− | u_{1} \\ |
||
− | u_{2} |
||
− | \end{bmatrix} = |
||
− | \begin{bmatrix} |
||
− | 7 & 2 \\ |
||
− | 2 & 5 |
||
− | \end{bmatrix} |
||
− | \begin{bmatrix} |
||
− | x_{1} \\ |
||
− | x_{2} |
||
− | \end{bmatrix}</math> Prove whether the control system is stable.</p></li> |
||
− | <li><p>You have linear dynamics:</p> |
||
− | <div class="center"> |
||
− | |||
− | {| |
||
− | | a) <math display="inline">2 \ddot q + 3 \dot q - 5 q = u</math> |
||
− | | b) <math display="inline">10 \ddot q - 7 \dot q + 10 q = u</math> |
||
|- |
|- |
||
+ | | Question || Write algebraic Riccati equation for a standard additive quadratic cost. || 1 |
||
− | | c) <math display="inline">15 \ddot q + 17 \dot q + 11 q = 2u</math> |
||
− | | d) <math display="inline">20 \ddot q - \dot q - 2 q = -u</math> |
||
− | |} |
||
− | |||
− | |||
− | </div> |
||
− | <ol> |
||
− | <li><p>If <math display="inline">u = 0</math>, which are stable (a - d)?</p></li> |
||
− | <li><p>Find <math display="inline">u</math> that makes the dynamics stable.</p></li> |
||
− | <li><p>Write transfer functions for the cases <math display="inline">u = 0</math> and <math display="inline">u = -100x</math>.</p></li></ol> |
||
− | </li> |
||
− | <li><p>What is the difference between exponential stability, asymptotic stability and optimality?</p></li></ol> |
||
− | |||
− | === Section 3 === |
||
− | |||
− | ==== Section title: ==== |
||
− | |||
− | Sensing, observers, Adaptive control |
||
− | |||
− | ==== Topics covered in this section: ==== |
||
− | |||
− | * Modelling digital sensors: quantization, discretization, lag. |
||
− | * Modelling sensor noise. Gaussian noise. Additive models. Multiplicative models. Dynamic sensor models. |
||
− | * Observability. |
||
− | * Filters. |
||
− | * State observers. |
||
− | * Optimal state observer for linear systems. |
||
− | * Linearization of nonlinear systems. |
||
− | * Linearization along trajectory. |
||
− | * Linearization of Inverted pendulum dynamics. |
||
− | * Model errors. Differences between random disturbances and unmodeled dynamics/processes. |
||
− | * Adaptive control. |
||
− | * Control for sets of linear systems. |
||
− | * Discretization, discretization error. |
||
− | * Control for discrete linear systems. |
||
− | * Stability of discrete linear systems. |
||
− | |||
− | === What forms of evaluation were used to test students’ performance in this section? === |
||
− | |||
− | {| |
||
− | !align="center"| |
||
− | !align="center"| '''Yes/No''' |
||
|- |
|- |
||
+ | | Question || Derive algebraic Riccati equation for a given additive quadratic cost. || 1 |
||
− | |align="center"| Development of individual parts of software product code |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Derive differential Riccati equation for a standard additive quadratic cost. || 1 |
||
− | |align="center"| Homework and group projects |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || What is the meaning of the unknown variable in the Riccati equation? What are its property in case of LTI dynamics. || 1 |
||
− | |align="center"| Midterm evaluation |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What is a frequency response? || 1 |
||
− | |align="center"| Testing (written or computer based) |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || What is a phase response? || 1 |
||
− | |align="center"| Reports |
||
− | |align="center"| 1 |
||
|- |
|- |
||
+ | | Question || Design control for an LTI system using pole placement. || 0 |
||
− | |align="center"| Essays |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Design control for an LTI system using Riccati (LQR). || 0 |
||
− | |align="center"| Oral polls |
||
− | |align="center"| 0 |
||
|- |
|- |
||
+ | | Question || Simulate an LTI system with LQR controller. || 0 |
||
− | |align="center"| Discussions |
||
+ | |} |
||
− | |align="center"| 0 |
||
+ | ==== Section 3 ==== |
||
− | |} |
||
+ | {| class="wikitable" |
||
− | |||
+ | |+ |
||
− | === Typical questions for ongoing performance evaluation within this section === |
||
+ | |- |
||
− | |||
+ | ! Activity Type !! Content !! Is Graded? |
||
− | # What are the sources of sensor noise? |
||
+ | |- |
||
− | # How can we combat the lack of sensory information? |
||
+ | | Question || What are the sources of sensor noise? || 1 |
||
− | # When it is possible to combat the lack of sensory information? |
||
+ | |- |
||
− | # How can we combat the sensory noise? |
||
+ | | Question || How can we combat the lack of sensory information? || 1 |
||
− | # What is an Observer? |
||
+ | |- |
||
− | # What is a filter? |
||
+ | | Question || When it is possible to combat the lack of sensory information? || 1 |
||
− | # How is additive noise different from multiplicative noise? |
||
+ | |- |
||
− | |||
+ | | Question || How can we combat the sensory noise? || 1 |
||
− | ==== Typical questions for seminar classes (labs) within this section ==== |
||
+ | |- |
||
− | |||
+ | | Question || What is an Observer? || 1 |
||
− | # Simulate an LTI system with proportional control and sensor noise. |
||
+ | |- |
||
− | # Design an observer for an LTI system with proportional control and lack of sensory information. |
||
+ | | Question || What is a filter? || 1 |
||
− | |||
+ | |- |
||
− | ==== Test questions for final assessment in this section ==== |
||
+ | | Question || How is additive noise different from multiplicative noise? || 1 |
||
− | |||
+ | |- |
||
+ | | Question || Simulate an LTI system with proportional control and sensor noise. || 0 |
||
+ | |- |
||
+ | | Question || Design an observer for an LTI system with proportional control and lack of sensory information. || 0 |
||
+ | |} |
||
+ | === Final assessment === |
||
+ | '''Section 1''' |
||
+ | # Convert a linear differential equation into a state space form. |
||
+ | # Convert a transfer function into a state space form. |
||
+ | # Convert a linear differential equation into a transfer function. |
||
+ | # What does it mean for a linear differential equation to be stable? |
||
+ | '''Section 2''' |
||
+ | # You have a linear system: <math>{\displaystyle {\dot {x}}=Ax+Bu}</math> and a cost function: a) <math>{\textstyle J=\int (x^{\top }Qx+u^{\top }Iu)dt}</math> b) <math>{\textstyle J=\int (x^{\top }Ix+u^{\top }Ru)dt}</math> Write Riccati eq. and find LQR gain analytically. |
||
+ | # You have a linear system a) <math>{\textstyle {\begin{bmatrix}{\dot {x}}_{1}\\{\dot {x}}_{2}\end{bmatrix}}={\begin{bmatrix}1&10\\-3&4\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}}</math> b) <math>{\textstyle {\begin{bmatrix}{\dot {x}}_{1}\\{\dot {x}}_{2}\end{bmatrix}}={\begin{bmatrix}-2&1\\2&40\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}}</math> Prove whether or not it is stable. |
||
+ | # You have a linear system a) <math>{\displaystyle {\begin{bmatrix}{\dot {x}}_{1}\\{\dot {x}}_{2}\end{bmatrix}}={\begin{bmatrix}1&10\\-3&4\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}+{\begin{bmatrix}u_{1}\\u_{2}\end{bmatrix}}}</math> b) <math>{\displaystyle {\begin{bmatrix}{\dot {x}}_{1}\\{\dot {x}}_{2}\end{bmatrix}}={\begin{bmatrix}-2&1\\2&40\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}+{\begin{bmatrix}u_{1}\\u_{2}\end{bmatrix}}}</math> Your controller is: a) <math>{\textstyle {\begin{bmatrix}u_{1}\\u_{2}\end{bmatrix}}={\begin{bmatrix}100&1\\1&20\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}}</math> b) <math>{\textstyle {\begin{bmatrix}u_{1}\\u_{2}\end{bmatrix}}={\begin{bmatrix}7&2\\2&5\end{bmatrix}}{\begin{bmatrix}x_{1}\\x_{2}\end{bmatrix}}}</math> Prove whether the control system is stable. |
||
+ | # You have linear dynamics: |
||
+ | a) <math>{\textstyle 2{\ddot {q}}+3{\dot {q}}-5q=u}</math> |
||
+ | b) <math>{\textstyle 10{\ddot {q}}-7{\dot {q}}+10q=u}</math> |
||
+ | c) <math>{\textstyle 15{\ddot {q}}+17{\dot {q}}+11q=2u}</math> |
||
+ | d) <math>{\textstyle 20{\ddot {q}}-{\dot {q}}-2q=-u}</math> |
||
+ | If <math>{\textstyle u=0}</math> , which are stable (a - d)? |
||
+ | Find <math>{\textstyle u}</math> that makes the dynamics stable. |
||
+ | Write transfer functions for the cases <math>{\textstyle u=0}</math> and <math>{\textstyle u=-100x}</math> . |
||
+ | # What is the difference between exponential stability, asymptotic stability and optimality? |
||
+ | '''Section 3''' |
||
# Write a model of a linear system with additive Gaussian noise. |
# Write a model of a linear system with additive Gaussian noise. |
||
# Derive and implement an observer. |
# Derive and implement an observer. |
||
# Derive and implement a filter. |
# Derive and implement a filter. |
||
+ | |||
+ | === The retake exam === |
||
+ | '''Section 1''' |
||
+ | |||
+ | '''Section 2''' |
||
+ | |||
+ | '''Section 3''' |
Latest revision as of 13:05, 13 July 2022
Control Theory
- Course name: Control Theory
- Code discipline: [S20]
- Subject area: Sensors and actuators; Robotic control.
Short Description
This course covers the following concepts: Introduction to Linear Control, Stability of linear dynamical systems; Controller design; Sensing, observers, Adaptive control.
Prerequisites
Prerequisite subjects
- CSE204 - Geometry And Linear Algebra II: Semidefinite matrices, Eigenvalues, Eigendecomposition (weak prerequisite), matrix exponentials (weak prerequisite), SVD (weak prerequisite)
- CSE205 - Differential Equations
Prerequisite topics
Course Topics
Section | Topics within the section |
---|---|
Introduction to Linear Control, Stability of linear dynamical systems |
|
Controller design. |
|
Sensing, observers, Adaptive control |
|
Intended Learning Outcomes (ILOs)
What is the main purpose of this course?
Linear Control Theory is both an active tool for modern industrial engineering and a prerequisite for most of the state-of-the-art level control techniques and the corresponding courses. With this in mind, the Linear Control course is both building a foundation for the following development of the student as a learner in the fields of Robotics, Control, Nonlinear Dynamics and others, as well as it is one of the essential practical courses in the engineering curricula.
ILOs defined at three levels
Level 1: What concepts should a student know/remember/explain?
By the end of the course, the students should be able to ...
- methods for control synthesis (linear controller gain tuning)
- methods for controller analysis
- methods for sensory data processing for linear systems
Level 2: What basic practical skills should a student be able to perform?
By the end of the course, the students should be able to ...
- State-space models
- Eigenvalue analysis for linear systems
- Proportional and PD controllers
- How to stabilize a linear system
- Lyapunov Stability
- How to check if the system is controllable
- Observer design
- Sources of sensor noise
- Filters
- Adaptive Control
- Optimal Control
- Linear Quadratic Regulator
Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?
By the end of the course, the students should be able to ...
- Turn a system of linear differential equations into a state-space model.
- Design a controller by solving Algebraic Riccati eq.
- Find if a system is stable or not, using eigenvalue analysis.
Grading
Course grading range
Grade | Range | Description of performance |
---|---|---|
A. Excellent | 85-100 | - |
B. Good | 70-84 | - |
C. Satisfactory | 50-69 | - |
D. Poor | 0-49 | - |
Course activities and grading breakdown
Activity Type | Percentage of the overall course grade |
---|---|
Labs/seminar classes | 30 |
Interim performance assessment | 20 |
Exams | 50 |
Recommendations for students on how to succeed in the course
Resources, literature and reference materials
Open access resources
- Ogata, K., 1994. Solving control engineering problems with MATLAB. Englewood Cliffs, NJ: Prentice-Hall.
- Williams, R.L. and Lawrence, D.A., 2007. Linear state-space control systems. John Wiley & Sons.
- Ogata, K., 1995. Discrete-time control systems (Vol. 2, pp. 446-480). Englewood Cliffs, NJ: Prentice Hall.
Closed access resources
Software and tools used within the course
Teaching Methodology: Methods, techniques, & activities
Activities and Teaching Methods
Learning Activities | Section 1 | Section 2 | Section 3 |
---|---|---|---|
Homework and group projects | 1 | 1 | 1 |
Testing (written or computer based) | 1 | 0 | 0 |
Reports | 1 | 1 | 1 |
Midterm evaluation | 0 | 1 | 0 |
Discussions | 0 | 1 | 0 |
Formative Assessment and Course Activities
Ongoing performance assessment
Section 1
Activity Type | Content | Is Graded? |
---|---|---|
Question | What is a linear dynamical system? | 1 |
Question | What is an LTI system? | 1 |
Question | What is an LTV system? | 1 |
Question | Provide examples of LTI systems. | 1 |
Question | What is a MIMO system? | 1 |
Question | Simulate a linear dynamic system as a higher order differential equation or in state-space form (Language is a free choice, Python and Google Colab are recommended. Use built-in solvers or implement Runge-Kutta or Euler method. | 0 |
Section 2
Activity Type | Content | Is Graded? |
---|---|---|
Question | What is stability in the sense of Lyapunov? | 1 |
Question | What is stabilizing control? | 1 |
Question | What is trajectory tracking? | 1 |
Question | Why the control for a state-space system does not include the derivative of the state variable in the feedback law? | 1 |
Question | How can a PD controller for a second-order linear mechanical system can be re-written in the state-space form? | 1 |
Question | Write a closed-loop dynamics for an LTI system with a proportional controller. | 1 |
Question | Give stability conditions for an LTI system with a proportional controller. | 1 |
Question | Provide an example of a LTV system with negative eigenvalues that is not stable. | 1 |
Question | Write algebraic Riccati equation for a standard additive quadratic cost. | 1 |
Question | Derive algebraic Riccati equation for a given additive quadratic cost. | 1 |
Question | Derive differential Riccati equation for a standard additive quadratic cost. | 1 |
Question | What is the meaning of the unknown variable in the Riccati equation? What are its property in case of LTI dynamics. | 1 |
Question | What is a frequency response? | 1 |
Question | What is a phase response? | 1 |
Question | Design control for an LTI system using pole placement. | 0 |
Question | Design control for an LTI system using Riccati (LQR). | 0 |
Question | Simulate an LTI system with LQR controller. | 0 |
Section 3
Activity Type | Content | Is Graded? |
---|---|---|
Question | What are the sources of sensor noise? | 1 |
Question | How can we combat the lack of sensory information? | 1 |
Question | When it is possible to combat the lack of sensory information? | 1 |
Question | How can we combat the sensory noise? | 1 |
Question | What is an Observer? | 1 |
Question | What is a filter? | 1 |
Question | How is additive noise different from multiplicative noise? | 1 |
Question | Simulate an LTI system with proportional control and sensor noise. | 0 |
Question | Design an observer for an LTI system with proportional control and lack of sensory information. | 0 |
Final assessment
Section 1
- Convert a linear differential equation into a state space form.
- Convert a transfer function into a state space form.
- Convert a linear differential equation into a transfer function.
- What does it mean for a linear differential equation to be stable?
Section 2
- You have a linear system: and a cost function: a) b) Write Riccati eq. and find LQR gain analytically.
- You have a linear system a) b) Prove whether or not it is stable.
- You have a linear system a) b) Your controller is: a) b) Prove whether the control system is stable.
- You have linear dynamics:
a) b) c) d) If , which are stable (a - d)? Find that makes the dynamics stable. Write transfer functions for the cases and .
- What is the difference between exponential stability, asymptotic stability and optimality?
Section 3
- Write a model of a linear system with additive Gaussian noise.
- Derive and implement an observer.
- Derive and implement a filter.
The retake exam
Section 1
Section 2
Section 3