# Model Predictive Control: Theory and Applications

- Institution: IIT Madras
- Department: Multidisciplinary
- Teacher: Prof. Niket Kaisare
- Level: Undergraduate
- Language: English
- Source: [NPTEL](https://nptel.ac.in/courses/127106225)
- Licence: [CC BY-NC-SA](https://nptel.ac.in/faq) (Non-commercial use only.)
- Syllabus: [at the source](https://nptel.ac.in/courses/127106225)
- Who can watch: Teens profiles and older (sources give no ratings; placed by Invisible Network from the source's own words)

## Lectures

1. [Course Background: Model Predictive Control](https://invisiblenetwork.ai/learn/nptel/127106225/4e8b6e223d86) (Video)
2. [Course Outline](https://invisiblenetwork.ai/learn/nptel/127106225/b4f7c3b1c097) (Video)
3. [Additional MATLAB Video - Array Operations](https://invisiblenetwork.ai/learn/nptel/127106225/d1dc7a7072f3) (Video)
4. [Additional MATLAB Video - Array Operations](https://invisiblenetwork.ai/learn/nptel/127106225/f530f3f84752) (Video)
5. [Recap: Linear Algebra](https://invisiblenetwork.ai/learn/nptel/127106225/c6c5abc08cdf) (Video)
6. [Recap: Differential and Difference Equations](https://invisiblenetwork.ai/learn/nptel/127106225/edddcc63442a) (Video)
7. [Recap: Process Control Basics](https://invisiblenetwork.ai/learn/nptel/127106225/75e9dfbe84cb) (Video)
8. [Introduction to Model Predictive Control](https://invisiblenetwork.ai/learn/nptel/127106225/38d12bef87f5) (Video)
9. [MPC: Salient Features](https://invisiblenetwork.ai/learn/nptel/127106225/6b5f84f39074) (Video)
10. [MPC: Historical Perspective](https://invisiblenetwork.ai/learn/nptel/127106225/bf8fd10bf181) (Video)
11. [Vectors & Matrices](https://invisiblenetwork.ai/learn/nptel/127106225/6c6aec21c639) (Video)
12. [Vector Spaces](https://invisiblenetwork.ai/learn/nptel/127106225/ff4f049f7bf8) (Video)
13. [Linear Operation](https://invisiblenetwork.ai/learn/nptel/127106225/19f705dc35f4) (Video)
14. [Null and Image Spaces](https://invisiblenetwork.ai/learn/nptel/127106225/00e3d092c897) (Video)
15. [Eigenvalues and Eigenvectors](https://invisiblenetwork.ai/learn/nptel/127106225/054868204918) (Video)
16. [Eigenvalue Decomposition and Tutorial](https://invisiblenetwork.ai/learn/nptel/127106225/fd0a72771113) (Video)
17. [Recap of Week-2](https://invisiblenetwork.ai/learn/nptel/127106225/40912cd8f290) (Video)
18. [Model Classification](https://invisiblenetwork.ai/learn/nptel/127106225/215ddf84647a) (Video)
19. [Discrete-Time Models Overview](https://invisiblenetwork.ai/learn/nptel/127106225/4c471422cc16) (Video)
20. [Discrete-Time Models](https://invisiblenetwork.ai/learn/nptel/127106225/5177cbbd6746) (Video)
21. [Finite Impulse Response Models](https://invisiblenetwork.ai/learn/nptel/127106225/544b4a0c0a2f) (Video)
22. [Finite Step Response Models](https://invisiblenetwork.ai/learn/nptel/127106225/63ff9d3d6c4c) (Video)
23. [Recap and Plan for Week-4](https://invisiblenetwork.ai/learn/nptel/127106225/cf0cb9af1419) (Video)
24. [State Space and Step Response Models](https://invisiblenetwork.ai/learn/nptel/127106225/c1781465b0d3) (Video)
25. [Nonlinear Models and Model Linearization](https://invisiblenetwork.ai/learn/nptel/127106225/ba1dba0e83c2) (Video)
26. [Model Types and Model Conversion](https://invisiblenetwork.ai/learn/nptel/127106225/bed64e8f394d) (Video)
27. [Model Conversion - 2](https://invisiblenetwork.ai/learn/nptel/127106225/37852d490027) (Video)
28. [Model Conversion: TF to SS](https://invisiblenetwork.ai/learn/nptel/127106225/0f09f9fcb9d9) (Video)
29. [How to handle MIMO systems](https://invisiblenetwork.ai/learn/nptel/127106225/fed871b06629) (Video)
30. [Discretization of State-Space Models](https://invisiblenetwork.ai/learn/nptel/127106225/89a06a79bd47) (Video)
31. [Introduction to Dynamic Matrix Control (DMC)](https://invisiblenetwork.ai/learn/nptel/127106225/52df14a8465a) (Video)
32. [The DMC Algorithm: Future Predictions](https://invisiblenetwork.ai/learn/nptel/127106225/8ce539caf18a) (Video)
33. [The DMC Algorithm: Objective & Constraints](https://invisiblenetwork.ai/learn/nptel/127106225/3f5a008851be) (Video)
34. [The DMC Algorithm: Optimization](https://invisiblenetwork.ai/learn/nptel/127106225/37f8d703c3ac) (Video)
35. [Coding for DMC Algorithm: Setup](https://invisiblenetwork.ai/learn/nptel/127106225/745a528e0c57) (Video)
36. [Coding for DMC Algorithm: Populate Matrices](https://invisiblenetwork.ai/learn/nptel/127106225/caf55ab4ee0f) (Video)
37. [Recap of DMC Algorithm](https://invisiblenetwork.ai/learn/nptel/127106225/ac41b0d1c5e4) (Video)
38. [Extensions of DMC Algorithm](https://invisiblenetwork.ai/learn/nptel/127106225/b18f9d58a4a6) (Video)
39. [LTI Models and Coordinate Transform](https://invisiblenetwork.ai/learn/nptel/127106225/23c844b446a9) (Video)
40. [LTI Models: Stability](https://invisiblenetwork.ai/learn/nptel/127106225/d41be8652068) (Video)
41. [LTI Models: Controllability](https://invisiblenetwork.ai/learn/nptel/127106225/68728531fcdc) (Video)
42. [LTI Models: Conditions for controllability](https://invisiblenetwork.ai/learn/nptel/127106225/afb6fd78cfb4) (Video)
43. [Tutorial by Arvind (Recap of Controllability)](https://invisiblenetwork.ai/learn/nptel/127106225/81ceac1d57bd) (Video)
44. [LTI Models: Observability](https://invisiblenetwork.ai/learn/nptel/127106225/48bd6f99ecc0) (Video)
45. [Linear Control: Introduction](https://invisiblenetwork.ai/learn/nptel/127106225/2587a06351b2) (Video)
46. [Pole Placement Controller](https://invisiblenetwork.ai/learn/nptel/127106225/18f0b5145aca) (Video)
47. [Linear Quadratic Regulator: Batch Solution](https://invisiblenetwork.ai/learn/nptel/127106225/2f924dc8e431) (Video)
48. [LQR: Dynamic Programming Solution](https://invisiblenetwork.ai/learn/nptel/127106225/521bd0c9e778) (Video)
49. [State Estimation: Introduction](https://invisiblenetwork.ai/learn/nptel/127106225/2cc3eb14d4d2) (Video)
50. [Stochastic Processes and Random Variables](https://invisiblenetwork.ai/learn/nptel/127106225/a798c3059c28) (Video)
51. [State Estimation: Pole Placement Observer](https://invisiblenetwork.ai/learn/nptel/127106225/15d64f01926d) (Video)
52. [Kalman Filter: Terminology](https://invisiblenetwork.ai/learn/nptel/127106225/88f1f3d46913) (Video)
53. [Kalman Filter: Derivation](https://invisiblenetwork.ai/learn/nptel/127106225/dfa67692efa9) (Video)
54. [Recap of Modules 7-9](https://invisiblenetwork.ai/learn/nptel/127106225/8cf159a1bf94) (Video)
55. [Recap and Plan for this week](https://invisiblenetwork.ai/learn/nptel/127106225/b0aa4f6e2066) (Video)
56. [Part-1. Linear Quadratic Gaussian](https://invisiblenetwork.ai/learn/nptel/127106225/01d30f17a38d) (Video)
57. [Part-1. LQG Derivation and Separation Principle](https://invisiblenetwork.ai/learn/nptel/127106225/2f41161cd749) (Video)
58. [Part-2. Setpoint Tracking in LQ Control](https://invisiblenetwork.ai/learn/nptel/127106225/45566e9a207d) (Video)
59. [Part-2. Disturbance Rejection in LQ Control](https://invisiblenetwork.ai/learn/nptel/127106225/390d7b29a2f8) (Video)
60. [Part-3. Disturbance Modeling for Estimation](https://invisiblenetwork.ai/learn/nptel/127106225/300ec03ffc7f) (Video)
61. [Part-3: Estimation with Disturbance Modeling](https://invisiblenetwork.ai/learn/nptel/127106225/b807f2523fae) (Video)
62. [Recap and Plan for this week.](https://invisiblenetwork.ai/learn/nptel/127106225/1e387f58e1c9) (Video)
63. [State-Space MPC: Deterministic case](https://invisiblenetwork.ai/learn/nptel/127106225/edc87b628847) (Video)
64. [Extension to Measured Disturbances](https://invisiblenetwork.ai/learn/nptel/127106225/4d6134f8b8dc) (Video)
65. [Offset-Free State Space MPC](https://invisiblenetwork.ai/learn/nptel/127106225/5d3b37dfe1fe) (Video)
66. [Comparison of State-Space MPC with DMC](https://invisiblenetwork.ai/learn/nptel/127106225/ab9668be1fe5) (Video)
67. [State-Space MPC: Disturbance Modeling](https://invisiblenetwork.ai/learn/nptel/127106225/0d9dd8d33039) (Video)
68. [Disturbance Modeling: Background and Setup](https://invisiblenetwork.ai/learn/nptel/127106225/93399d79c458) (Video)
69. [Stochastic Output-Feedback State-Space MPC](https://invisiblenetwork.ai/learn/nptel/127106225/1ad4f66bf5b5) (Video)
70. [Bonus Video: Disturbance Modeling for State Space MPC](https://invisiblenetwork.ai/learn/nptel/127106225/61bff22c68b9) (Video)
71. [Self-Guided Tutorial of MPC Toolbox](https://invisiblenetwork.ai/learn/nptel/127106225/2a7bf0dc417e) (Video)
72. [Help Session: Using MPC Toolbox](https://invisiblenetwork.ai/learn/nptel/127106225/379407c6c3b5) (Video)
73. [Recap of LQ Control and Linear MPC](https://invisiblenetwork.ai/learn/nptel/127106225/a21b6eb0af09) (Video)
74. [Linear MPC - Key Features and Results](https://invisiblenetwork.ai/learn/nptel/127106225/4c645c8bcba6) (Video)
75. [Practical Issues: Inferential Control](https://invisiblenetwork.ai/learn/nptel/127106225/0aebf0634ca6) (Video)
76. [Practical Issues: Measurement Delay](https://invisiblenetwork.ai/learn/nptel/127106225/c1f201af2c0a) (Video)
77. [Other Practical Issues](https://invisiblenetwork.ai/learn/nptel/127106225/e22c905db607) (Video)
78. [Some Classical Examples of MPC](https://invisiblenetwork.ai/learn/nptel/127106225/bc688626be7e) (Video)
79. [Live Session 28-01-2021](https://invisiblenetwork.ai/learn/nptel/127106225/4e8b6e223d86-2) (Video)
80. [Live Session 11-02-2021](https://invisiblenetwork.ai/learn/nptel/127106225/b4f7c3b1c097-2) (Video)
81. [Live Session 25-02-2021](https://invisiblenetwork.ai/learn/nptel/127106225/d1dc7a7072f3-2) (Video)
82. [Live Session 18-03-2021](https://invisiblenetwork.ai/learn/nptel/127106225/f530f3f84752-2) (Video)
83. [Live Session 01-04-2021](https://invisiblenetwork.ai/learn/nptel/127106225/c6c5abc08cdf-2) (Video)
84. [Live Session 08-04-2021](https://invisiblenetwork.ai/learn/nptel/127106225/edddcc63442a-2) (Video)
