Nonlinear Control: Hamilton Jacobi Bellman (HJB) and Dynamic Programming

Поділитися
Вставка
  • Опубліковано 10 чер 2024
  • This video discusses optimal nonlinear control using the Hamilton Jacobi Bellman (HJB) equation, and how to solve this using dynamic programming.
    Citable link for this video: doi.org/10.52843/cassyni.4t5069
    This is a lecture in a series on reinforcement learning, following the new Chapter 11 from the 2nd edition of our book "Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Brunton and Kutz
    Book Website: databookuw.com
    Book PDF: databookuw.com/databook.pdf
    Amazon: www.amazon.com/Data-Driven-Sc...
    Brunton Website: eigensteve.com
    This video was produced at the University of Washington
  • Наука та технологія

КОМЕНТАРІ • 79

  • @higasa24351
    @higasa24351 2 роки тому +13

    This is the first time I've ever seen the explanation of HJB-DP in a intuitive and fashionable way, not by following the text book lines one by one. Thank you so much for the great talk.

  • @alanzhus2730
    @alanzhus2730 2 роки тому +9

    Can't believe serious topic as this can have thousands of views hours after release. UA-cam is really a magic place.

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

      It's pretty wild to me how many people like hard math :)

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

      @@Eigensteve we love math💕

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

    Excellent. Can see a lot of connections with Control and how the essence of Bellman equation are all over the place in different fields. Thanks Prof. Brunton!

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

    I am a follower from his 'control bootcamp' series. Just trying to tell everyone new here that his video is life-saving.

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

    Clear tutorial. Thanks Prof. Steve. Keep following your steps.

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

    One of the best lectures that I've ever seen!

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

    Wow it's so cool that these concepts from reinforcement learning apply so perfectly to nonlinear control.

  • @aiwithhamzanaeem
    @aiwithhamzanaeem Місяць тому

    Thanks Professor Steve, Finally I completed the playlist.

  • @blitzkringe
    @blitzkringe 2 роки тому +6

    Please do more of this content. Thank you.

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

    thanks Steve for a great lecture; looking forward to more lectures on RL and non-linear control if possible with some simple examples. thank you very much!

  • @hfkssadfrew
    @hfkssadfrew 2 роки тому +27

    Hey Steve, on 9:11 it should be integration from t to t_f, then that’s where the - comes from.

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

      Yes, you are right.

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

      But then shouldn’t there also be an integral going from t0 to t?

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

      @@MBronstein I guess it is because such t can varying arbitrarily from t0 to tf. And the whole point is to analyze the derivative wrt anyway. so there is no need to derive another one from t0 to t.

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

      @@hfkssadfrew But the definition of V goes from t_0 to t_f.. So, we have V= integral of L going from t_O to t and from t to t_f +Q. Notice, if we take derivative now, we get -L from the first integral and +L from the second integral. I don't understand why we can just ignore the second integral

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

      Good catch, thanks! I caught this in the 2nd edition book proofs, but not before the video...

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

    A Great Lecture. I hope the next lecture will open asap. In particular, I'm interest in detailed relationship between RL and optimal control.

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

    More on non linear control please! Im trying to make up my mind on topics for my postgrad thesis!

  • @ramanujanbose6785
    @ramanujanbose6785 2 роки тому +2

    Steve I follow all of your lectures. Being a mechanical engineer I really got amazed by watching your turbulence lectures. I personally worked with CFD using scientific python and visualization and computation using python and published a couple of research articles. I'm very eager to work under your guidance in the field of CFD and Fluid dynamics using Machine learning specifically simulation and modelling of turbulence fluid flow field and explore the mysterious world of turbulence. How should I reach you for further communication?

  • @InfernalPasquale
    @InfernalPasquale 2 місяці тому

    Excellent communication

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

    Great as always Steve! I was wondering if you have any experience in transfer learning, specifically domain adaptation? If so it would be a cool topic to go through! /J

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

    Thanks dear steve for this wonderful tutorial
    I was wondering would it be ok if you solving an example for that?

  • @prantel1
    @prantel1 2 роки тому +6

    At 11:47 the bounds of the integral should be from “t” to “tf”; not from 0 to tf. If you make that change then the derivative of the integral wrt to t will be -L(.,.)

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

      Can you please tell how changing lower limit changes the sign?

    • @BarDownBoys
      @BarDownBoys Рік тому +2

      @@BalajiSankar I’m happy I can answer as I came here to ask the same question, and Behzad cleared it up for me.
      As behzad stated, it should be integral (t to tf). Then you agree that you can write this as negative the integral (tf to t). Then simply look at the fundamental theorem of calculus - the lower limit being a constant drops out and the upper limit being the variable you’re differentiation is with respect to just means that what’s inside (-L) is your output

    • @kirar2004
      @kirar2004 Місяць тому

      @@BarDownBoys Thanks

  • @charlescai6672
    @charlescai6672 2 місяці тому

    Very good explanation to derivative of HJB equation. But there's a point I may have to add that I think there may be a typo in 'DERIVING HJB EQUATION': In dV/dt, minimizing the integral of L(x,u), the lower limits of integral should be t instead of 0. Only by the case, we can conclude in the second last equation that -L(x(t), u(t)) can be obtained from the time derivative of integral of function L(x,u)...

  • @SRIMANTASANTRA
    @SRIMANTASANTRA 2 роки тому +2

    Lovely, Professor Steve

  • @rajanisingh1148
    @rajanisingh1148 26 днів тому

    @Eigensteve, Thanks for such a nice and interesting videos. I've seen all your videos on reinforcement learning. It would be really helpful if you could do a lecture on how dynamic games (either discrete or continuous time) can be solved using reinforcement learning with a walkthrough example. For now, the theoretical concepts on reinforcement learning are clear from your videos, but how it's actually implemented to solve problems is still unclear. Also if you can recommend some resource that would be bonus!

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

    it would be lovely if you could do a MATLAB demo of an ONC using HJB for a hovercraft/drone with full 6-DOF model.

  • @sounakmojumder5689
    @sounakmojumder5689 2 роки тому +1

    thank you, I have a request if you can please upload a lecture on infinite horizon model predictive control......

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

    This Hilbert space is include in f(x(k),u(k) * (x(0),y(k)-0) or outside the x(k) - (without double equation)?

  • @chinamatt
    @chinamatt 2 роки тому +3

    Hi Steve, thanks for the lecture. At the beginning, should the differential equation be dx/dt = f(x,u,t)? As in the derivation of the HJB equation, the subsitution of dx/dt to f(x,u) is made.

  • @qiguosun129
    @qiguosun129 2 місяці тому

    Great Lecture, could you think about discusing HJB with variational inequality? thanks!

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

    Good instructor

  • @ronbackal
    @ronbackal 4 місяці тому

    Thanks! That is very interesting. I have the book Data driven science and engineering, which I want to get to sometime to learn more deeply

  • @leventguvenc917
    @leventguvenc917 2 роки тому +2

    Very nice video. In deriving the HJB equation, the lower limit of the integral should be t instead of 0.

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

    Hello Steve, can you please comment on the necessity of terminal cost in the performance index

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

    Amazing!

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

    In general, if DP algorithm depends on discretization and interpolation in continuous state space and input space when solving a discrete time, finite time optimal control problem, does it yield a suboptimal solution?

  • @CoffeeVector
    @CoffeeVector 2 роки тому +2

    In the equation, dx/dt = f(x(t), u(t), t), why is there an extra dt at the end?

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

    Is there any way I can learn from you in more detail? Any programs you offer by chance? Thanks so much!!

  • @amirhosseinafkhami2606
    @amirhosseinafkhami2606 2 роки тому +1

    Hi Dr. Brunton, thanks for your excellent lecture.
    Do you have any good code examples of solving the HJB equation for non-linear systems?
    And what resources do you suggest for getting more depth into this field?

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

      I don't have a good recent code... way back in grad school I remember solving these numerically as a two point boundary value problem... but all of that code is deprecated. Will look into a better example

    • @amirhosseinafkhami2606
      @amirhosseinafkhami2606 2 роки тому +1

      @@Eigensteve Actually, I took a look into chapter 11 of your book, but unfortunately, unlike other chapters, I did not find any sample code in it. I think it would be great if an example code for solving the HJB of a non-linear system was added to the book! This could be a great complementary to this chapter!
      Thank you so much again for making such great contents

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

      @@amirhosseinafkhami2606 Totally agree, but this will need to wait for an updated version. Definitely in the works though.

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

      @@Eigensteve I look forward to the updated version of the book then

  • @qejacwa
    @qejacwa 2 роки тому +2

    This is a fantastic video on the derivation. However, there are quite some typos in the video. Hopefully, Steve can correct them. For example, the lower limit in the integral is supposed to be t instead of 0 in the derivation of HJB equation.

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

      Yep, without this correction -L(x, u) derivation doesn't make sense

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

    16:58, shoud the V at RHS of Discrete time HJB be associated with n, not n-1? Because cost to go (from k to n) should be equal to current cost plus cost to go (from k+1 to n)

  • @julienriou4511
    @julienriou4511 2 роки тому +12

    that's weird not to talk about Pontryagin Maximum Principle in an introduction to optiaml control

    • @Eigensteve
      @Eigensteve  2 роки тому +10

      That's a great point. There are a lot of things conspicuously missing from these intro lectures. A lot of it is that I'm still learning more about these topics myself. Maybe a topic for another day!

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

    What's the purpose of the terminal cost? It just disappears when you take the time derivative at 9:22, since it's just a constant, so it shouldn't affect the trajectory of u(t). Also, isn't the cost of the final state already taken into account in the integral, since it integrates all the way to tf anyway?

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

      The terminal cost term will appear as a boundary condition in the PDE that HJB gives us, as V(x(t_f),t_f,t_f)=Q(x(t_f),t_f).
      The terminal cost cannot be taken inside the integral (without breaking all the other math by including delta functions as valid cost functions).
      The formulas in the video are derived with the idea of a fixed tf, so if t_f doesn't vary the final cost function will probably look like "After attempting to control the dynamical system, did it end where I wanted it to? eg Q=(x(t_f)-x_target)^2"

  • @qiangli4022
    @qiangli4022 Місяць тому

    actor-critic seems to be categorized as a model-free rl in other literatures.

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

    The lower bound of the integral for V(x(t),t,t_f) should be t instead of 0.

  • @RGDot422
    @RGDot422 11 місяців тому

    Why d ( integral ( L(x,u)dt )/dt = - L(x,u)?... Specifically, why is the negative sign?

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

    7:10 the bellman opt must include Q(x(t),t)

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

    Please give us some examples to more understanding

  • @CupuycA
    @CupuycA 2 роки тому +1

    1:35 mistake in the equation

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

    min(L) != -min(-L), I don't know how to cancel these minus signs.

  • @wikipiggy0.0
    @wikipiggy0.0 Рік тому

    the derivation is not clear. maybe it is due to the typos metioned in other comments I find it hard to follow

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

    9:15 it's not obvious, that the operators min and d/dt commute. In general this of course is not true.

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

      I think there shouldn't be the minimum. V is just what is in the minimum. You do the calculations and then, you say that some V* is the optimal, which has the minimum in the equation.

  • @canis_mjr
    @canis_mjr Місяць тому

    Шикарный ролик (нет) пример где? Идею прдзода понятнати примитивна, как наипрактике жто применить?

  • @__--JY-Moe--__
    @__--JY-Moe--__ 2 роки тому

    👍I don't know why I see super mario Bros!! I love Calculus though!! this goes well, with my jacobian meshing geometries! Rosey the Robot was so over worked! X0-Xn= Cello...ha..ha..💫

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

    Your trajectory x(t) is not a function.

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

    Lol solving PDE’s is heinous by definition 😂😂

  • @beaglesnlove580
    @beaglesnlove580 11 місяців тому

    Crap ur 100x better than this horrible professor I had who was teaching hjb equation without any background.