What is Model Predictive Control? | Understanding MPC, Part 2

Поділитися
Вставка
  • Опубліковано 5 вер 2024
  • Using a simple car example, this video provides insight into an MPC controller’s strategy for finding the optimal steering wheel angle to control the car’s longitudinal speed. At each time step, the MPC controller makes predictions about the future lateral positions of the car.
    To drive the predicted path of the car as close to the reference as possible, the MPC controller formulates the control problem as an optimization problem. It tries to minimize the errors between the lateral positions of the car and the reference as well as steering wheel angle increments. The cost function is represented as a weighted squared sum of these two terms.
    The solution to this optimization problem provides the optimal steering wheel angle sequence. At the current time step, MPC only applies the first step of this optimal sequence to the car and disregards the rest. In the next time step, it gets a new measurement of the car’s lateral position. The prediction horizon shifts by one time step, and the controller repeats the same cycle to calculate the next optimal steering wheel angle.
    Watch all of the videos in this series about Understanding Model Predictive Control: • Understanding Model Pr...
    Download this hands-on MPC virtual lab to practice design of model predictive controllers for an autonomous vehicle steering system: bit.ly/MPC-vir...
    Learn how model predictive control (MPC) works.
    - Model Predictive Control Toolbox: bit.ly/2xgwWvN
    - What Is Model Predictive Control Toolbox?: bit.ly/2xfEe2M
    - Getting Started with Model Predictive Control Toolbox: bit.ly/2GskEY4
    MPC uses a model of the plant to make predictions about future plant outputs. It solves an optimization problem at each time step in order to find the control action that drives the predicted plant output as close to the desired reference as possible.
    - Optimization Problem: bit.ly/2Gx0OuI
    - How to Design an MPC Controller with Simulink and Model Predictive Control Toolbox: bit.ly/2Gvv0qe
    - Adaptive MPC Design with Simulink and Model Predictive Control Toolbox: bit.ly/2GsL5Nu
    Watch more MATLAB Tech Talks: bit.ly/2rTc8Yp
    Get a free MATLAB Trial: goo.gl/ZHFb5u
    Learn more about MATLAB: goo.gl/8QV7ZZ
    Learn more about Simulink: goo.gl/nqnbLe
    See What's New in MATLAB and Simulink: goo.gl/pgGtod
    © 2018 The MathWorks, Inc. MATLAB and Simulink are registered
    trademarks of The MathWorks, Inc.
    See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names may be trademarks or registered trademarks of their respective holders.

КОМЕНТАРІ • 59

  • @MATLAB
    @MATLAB  7 місяців тому

    Download this hands-on MPC virtual lab to practice design of model predictive controllers for an autonomous vehicle steering system: bit.ly/MPC-virtual-lab

  • @h.matiin
    @h.matiin 2 роки тому +4

    Besides MPC, this video series implies: "TEACHING SKILL IS AN ART".
    Thank you.

  • @JayD3luxe
    @JayD3luxe 5 років тому +34

    The person who created the animations deserves an oscar! Very good work!

    • @SaeedAcronia
      @SaeedAcronia 4 роки тому

      It's actually not that difficult.

    • @chris-px8qc
      @chris-px8qc 4 роки тому

      @@SaeedAcronia which software must be used to make them?

    • @SaeedAcronia
      @SaeedAcronia 4 роки тому

      I meant you can create animations with matlab easily

    • @chantholtouch129
      @chantholtouch129 3 роки тому

      Hi

    • @esraasheikhdaoud6039
      @esraasheikhdaoud6039 10 місяців тому

      could you please tell me how to simulate the results (the possible trajectories) in a road model?@@SaeedAcronia

  • @omidagheb1979
    @omidagheb1979 2 роки тому

    a great description on MPC using a very simple example...that helped me a lot. wish the bests for you

  • @manigoyal4872
    @manigoyal4872 Рік тому +1

    at 2:10 the best predictive path is talked about, but how can we make the predictive path by car dynamics

  • @kerrimac31
    @kerrimac31 5 років тому

    this teacher is the best

  • @kumarrahulbhadani
    @kumarrahulbhadani 6 років тому +1

    It would be great if you can demonstrate this example with MPC toolbox, clearly stating the problem, its formulation, assumptions and results.

    • @meldaulusoy8389
      @meldaulusoy8389 6 років тому +2

      Thanks for the feedback. We'll definitely have a demo video in this series where we'll show you how to use MPC Designer to design your controllers.

  • @jonathanuis
    @jonathanuis 4 роки тому +1

    The explanation is super clear!!!! thanks a lot

  • @MinhVu-fo6hd
    @MinhVu-fo6hd 5 років тому +1

    How one can solve the online optimization problem around 2.55? With non-linear dynamics (resulting in a non-convex objective function) and complex constraints, this problem can very much become non-convex, or even very hard to solve for local optimality.

  • @bonginkosingwenya4291
    @bonginkosingwenya4291 6 місяців тому

    Hi please can you explain the formular used for cost function

  • @misonnayak6265
    @misonnayak6265 4 роки тому

    Awesome explanations....high clarity...enjoyed it!!!!!

  • @vernonrajman5378
    @vernonrajman5378 2 роки тому

    Well done 👏. You really bring understanding to this concept. Thank you.

  • @harikrishnachalla435
    @harikrishnachalla435 2 роки тому

    you are the best. thank you so much for sharing.

  • @pocopoco3468
    @pocopoco3468 Рік тому

    Can I use this in line follower robot?

  • @badrlaamri9028
    @badrlaamri9028 6 років тому

    Clear and simple, thanks a lot. Can't wait to watch the next video.

  • @uditgupta3962
    @uditgupta3962 2 роки тому

    what are the states of the plant in this example?

  • @gustavovargas6299
    @gustavovargas6299 5 років тому +1

    Which textbooks would you recommend to learn all basics about mpc and to go in depth about the subject?

    • @sivadharshinia5384
      @sivadharshinia5384 2 роки тому

      Hii.. did you followed any book?

    • @gio-yj3en
      @gio-yj3en 2 місяці тому

      I believe learning about the basics and building towards making your own controller involves understanding the theory and formulations that make MPC what it is. There is a lot of documentation in learning how cost functions, weights, and constraints work. Remember if you want to build the actual controller yourself, you have to take into account the plant and system dynamics you are trying to control. The best way to do this is to acquire pieces of example codes that could be useful for your controller, in any other way you will be lost in where to start. This book will help: Model Predictive Control System Design and Implementation Using MATLAB

  • @serkanozkan-ksadankodlama4356
    @serkanozkan-ksadankodlama4356 5 років тому

    Hi, how to apply mpc on system which has faults? I apply mpc via toolbox on my system and it works well, but when I apply faults than I can't obtain suitable results? maybe it's about blocks I couldn't figure it out. Could you give me a hint? Thanks.

  • @deebo7276
    @deebo7276 2 роки тому

    Very well done, thanks!

  • @patilshubham3129
    @patilshubham3129 3 роки тому

    Extremely helpful!! Thank you

  • @ahmetmutlu3779
    @ahmetmutlu3779 6 років тому

    Ty for very nice Explanation..

  • @MarcusVinicius-lq3fe
    @MarcusVinicius-lq3fe 3 роки тому

    Amazing video. Thanks a lot!

  • @guidefreitas
    @guidefreitas 6 років тому +1

    Very very nice work!

  • @bdasama7893
    @bdasama7893 4 роки тому

    I need document with MPC and cascade please

  • @totoilongo6132
    @totoilongo6132 6 років тому

    Good presentation it's helpful

  • @dongtonthat6961
    @dongtonthat6961 6 років тому

    It's very useful for me! Thanks a lot...!

  • @Hermis14
    @Hermis14 3 роки тому

    I love Ulusoy.

  • @autome4374
    @autome4374 5 років тому

    how the controller gets the new measurements
    and how we define the feedback from MPC

    • @meldaulusoy8389
      @meldaulusoy8389 5 років тому +1

      Hi, this is explained at 4:11. MPC finds an optimal sequence for the steering angle but only applies the first step to the car. With this input the car travels some distance. Next we take a measurement and this loop repeats itself. The output of MPC is the steering angle which drives the car.

  • @laszlokovacs5297
    @laszlokovacs5297 3 роки тому

    Thanks! Very helpful! :)

  • @erickfernandoalves6746
    @erickfernandoalves6746 5 років тому +2

    Kudos! Best explanation about MPC ever :-)

  • @najnanazeer2590
    @najnanazeer2590 5 років тому

    Thank u maam for your valuable points about MPC.Best explanation about MPC .

  • @anacosta1421
    @anacosta1421 5 років тому

    I'm impressed!!! Very good!!!

  • @javierquiroga6922
    @javierquiroga6922 6 років тому

    Very helpful!

  • @charifall8311
    @charifall8311 3 роки тому

    why MPC applies only the first the first step of the optimal sequence and disregrds the rest ???
    why doesn't use the average value of all steps ??!

    • @makita3680
      @makita3680 3 роки тому

      Why would it? Look at 2:31. Do you think the input at time k+3 is the same as the input at time k?

  • @alizidan7
    @alizidan7 6 років тому

    i need exemple , simulation (matab code) of NMPC , please

    • @meldaulusoy8389
      @meldaulusoy8389 6 років тому

      Hi, I recommend checking out the following examples: www.mathworks.com/help/mpc/examples/swing-up-control-of-a-pendulum-using-nonlinear-model-predictive-control.html
      www.mathworks.com/help/mpc/ug/nonlinear-model-predictive-control-of-exothermic-chemical-reactor.html

  • @alexandrpetrov1110
    @alexandrpetrov1110 3 роки тому

    Very good!!!

  • @fernando.liozzi.41878
    @fernando.liozzi.41878 6 років тому

    Excellent!, thanks!

  • @benisonbesra
    @benisonbesra 5 років тому

    Very well explained. Please use mic.

  • @actfootball7437
    @actfootball7437 5 років тому

    Thanks alot ,teacher how can I find out the full course

    • @meldaulusoy8389
      @meldaulusoy8389 5 років тому

      Here's the link to the "Understanding Model Predictive Control" series: ua-cam.com/video/8U0xiOkDcmw/v-deo.html

    • @vishnutheja1
      @vishnutheja1 3 роки тому

      @@meldaulusoy8389 hello hi...can you explain how apply in process automation

  • @goodwords.5645
    @goodwords.5645 6 років тому

    please do a video on adaptive mpc for dc dc converters

  • @ahmedismail1018
    @ahmedismail1018 6 років тому

    we need more thank u
    i have to make project in MPC with deep learning

    • @meldaulusoy8389
      @meldaulusoy8389 6 років тому +1

      Hi Ahmed, you may also want to check out MATLAB Tech Talks on Deep Learning: www.mathworks.com/videos/series/introduction-to-deep-learning.html

  • @mohemahmoude3356
    @mohemahmoude3356 5 років тому +1

    when she say "plant " did she mean "the system""

    • @meldaulusoy8389
      @meldaulusoy8389 5 років тому +3

      Hi, with plant I'm referring to the system you're trying to control. The input to the plant the computed by the controller to keep the plant output at a desired value.

  • @ahmedismail1018
    @ahmedismail1018 6 років тому

    we need text book and contact to you pls
    i have next month v to give my projekt to the professor