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

Ғылым және технология

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
    @higasa243512 жыл бұрын

    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
    @alanzhus27302 жыл бұрын

    Can't believe serious topic as this can have thousands of views hours after release. KZread 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💕

  • @charlescai6672
    @charlescai66723 ай бұрын

    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)...

  • @ecologypig
    @ecologypig2 жыл бұрын

    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
    @ailsani87492 жыл бұрын

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

  • @sounghwanhwang5422
    @sounghwanhwang54222 жыл бұрын

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

  • @mingyucai6559
    @mingyucai65592 жыл бұрын

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

  • @amaarquadri
    @amaarquadri2 жыл бұрын

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

  • @dmitry.bright
    @dmitry.bright2 жыл бұрын

    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!

  • @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.

  • @blitzkringe
    @blitzkringe2 жыл бұрын

    Please do more of this content. Thank you.

  • @Eigensteve

    @Eigensteve

    2 жыл бұрын

    Glad you like it!

  • @aiwithhamzanaeem
    @aiwithhamzanaeem2 ай бұрын

    Thanks Professor Steve, Finally I completed the playlist.

  • @hfkssadfrew
    @hfkssadfrew2 жыл бұрын

    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...

  • @tuptge
    @tuptge2 жыл бұрын

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

  • @ramanujanbose6785
    @ramanujanbose67852 жыл бұрын

    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?

  • @boldirio
    @boldirio2 жыл бұрын

    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

  • @SRIMANTASANTRA
    @SRIMANTASANTRA2 жыл бұрын

    Lovely, Professor Steve

  • @Eigensteve

    @Eigensteve

    2 жыл бұрын

    Thanks!

  • @mohammadabdollahzadeh268
    @mohammadabdollahzadeh268 Жыл бұрын

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

  • @G12GilbertProduction
    @G12GilbertProduction2 жыл бұрын

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

  • @InfernalPasquale
    @InfernalPasquale4 ай бұрын

    Excellent communication

  • @rajanisingh1148
    @rajanisingh11482 ай бұрын

    @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!

  • @ronbackal
    @ronbackal5 ай бұрын

    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

  • @nitishabordoloi3987
    @nitishabordoloi3987 Жыл бұрын

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

  • @sounakmojumder5689
    @sounakmojumder56892 жыл бұрын

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

  • @Silva98122
    @Silva981222 жыл бұрын

    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?

  • @qiguosun129
    @qiguosun1294 ай бұрын

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

  • @Connect.2source
    @Connect.2source Жыл бұрын

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

  • @emmab5151
    @emmab51512 жыл бұрын

    Amazing!

  • @djredrover
    @djredrover Жыл бұрын

    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.

  • @chinamatt
    @chinamatt2 жыл бұрын

    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.

  • @Eigensteve

    @Eigensteve

    2 жыл бұрын

    Yes, good call

  • @mamadoupathely9369

    @mamadoupathely9369

    2 жыл бұрын

    yeah it must be dx/dt = f(x,u)

  • @vietanhle6321
    @vietanhle6321 Жыл бұрын

    Good instructor

  • @CoffeeVector
    @CoffeeVector2 жыл бұрын

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

  • @leventguvenc917
    @leventguvenc9172 жыл бұрын

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

  • @jameschen2308

    @jameschen2308

    2 жыл бұрын

    I was about to say

  • @user-en1kz2ew6n

    @user-en1kz2ew6n

    Жыл бұрын

    I second that!

  • @prantel1
    @prantel12 жыл бұрын

    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

    Жыл бұрын

    @@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

    2 ай бұрын

    @@BarDownBoys Thanks

  • @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)

  • @amirhosseinafkhami2606
    @amirhosseinafkhami26062 жыл бұрын

    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 жыл бұрын

    @@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
    @qejacwa2 жыл бұрын

    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

  • @clairecheung5388
    @clairecheung5388 Жыл бұрын

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

  • @justinting1422
    @justinting14222 жыл бұрын

    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"

  • @julienriou4511
    @julienriou45112 жыл бұрын

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

  • @Eigensteve

    @Eigensteve

    2 жыл бұрын

    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!

  • @qiangli4022
    @qiangli40223 ай бұрын

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

  • @RGDot422
    @RGDot422 Жыл бұрын

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

  • @batoolalhashemi1167
    @batoolalhashemi1167 Жыл бұрын

    Please give us some examples to more understanding

  • @peasant12345
    @peasant123452 жыл бұрын

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

  • @matouspikous7489
    @matouspikous74892 жыл бұрын

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

  • @CupuycA
    @CupuycA2 жыл бұрын

    1:35 mistake in the equation

  • @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
    @CupuycA2 жыл бұрын

    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_mjr2 ай бұрын

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

  • @ctrlaltdebug
    @ctrlaltdebug Жыл бұрын

    Your trajectory x(t) is not a function.

  • @__--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..💫

  • @KHMakerD
    @KHMakerD2 жыл бұрын

    Lol solving PDE’s is heinous by definition 😂😂

  • @beaglesnlove580
    @beaglesnlove580 Жыл бұрын

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

Келесі