L7.3 Time-optimal control for linear systems using Pontryagin's principle of maximum

Поділитися
Вставка
  • Опубліковано 5 жов 2024

КОМЕНТАРІ • 15

  • @aa4cc
    @aa4cc  4 роки тому +2

    Typo at 6:43: should be lambda2 = -c1 t + x2. The minus sign was missing in the text and video. Fortunately, it had no impact on the validity of subsequent development because, in fact, knowing that the costate lambda2 is a linear function was enough (perhaps combined with the information that at the end of the time interval it was either 1 or -1 thanks to the condition that Hamiltonian is vanishing there).

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

    Full of practical knowleges. Thanks for this magnificant course!

  • @NoNTr1v1aL
    @NoNTr1v1aL 3 роки тому +1

    Amazing lecture series!

  • @aa4cc
    @aa4cc  4 роки тому +2

    At 11:39 there was an omission in the prescription for an optimal controller. I omitted for each value of the control (1 and -1) the second if part. Somehow this happened while copy&pasting the formulas from the lecture notes (in the lecture notes on page 12 this formula with the vertical curly is full and correct).
    This omission is, however, still present in the subsequent boxed formula that is claimed as "the more compact version" in the slides. Unfortunately, it was also stated in the lecture notes (equation 78). Here I cannot just blaim the copy&pasting-induced typo...
    The trouble with both the omission and the boxed formula is that it misses the instruction for the controller as for how to slide along the switching curve, that is, when y+1/2v|v| is zero. This trouble is finally projected into the Simulink implementation of the code.
    Well, strictly speaking, the block diagram on which our Simulink model is based, can also be found in the authoritative textbooks such as Athans&Falbe (Fig.7-5) and Kirk (Fig. 5-22). The reason why the results of the simulation did not reveal any problems (and they really did not) is that in general in numerical algorithms the program paths that are only entered if something equals to zero EXACTLY are NEVER actually entered (remember, it is all just finite precision arithmentics). In our case, the controller initially detected that the state vector is above the switching curve, it set the control to -1 and the system started moved towards the switching curve in the lower right quadrant. Once the controller detected reaching the switching curve, it actually detected not that the expression y+1/2v|v| is zero, but that that it changed its sign. The other polarity of the control signal was set and since then the system slided nicely a tiny tiny tiny litle bit BELOW the switching curve. The chattering problems only appeared once the system approached the origin (and the steepness of the switching curve became close to infinity).
    I will upload corrected versions of both the video and the lecture notes soon.

  • @alexpilloni
    @alexpilloni 9 місяців тому

    Nice lecture! May I ask you from which textbook did u took this treatment? Particularly I'm interested in the closed-loop form part of slide 32. Thanks for replying :-)

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

    Very useful video. Thank you. At the end you mention a next lecture that covers "numerical optimal control". I can't find it on your channel though. Does it still exist?

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

      Well, sorry, not yet. Instead, have a look at a list of other resources for the corresponding lecture (or the whole course) at moodle.fel.cvut.cz/course/view.php?id=6589. In particular, the block for the topic of numerical optimal control is at moodle.fel.cvut.cz/course/view.php?id=6589#section-8. I hope you will find some bits useful even if no video is available.

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

    Finally, what is the value of min J?

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

    How do you plot the trajectory on the switching curve

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

    6:43 there should be lambda2=-c2... no??

    • @aa4cc
      @aa4cc  11 місяців тому +1

      If you mean that c1 in the formula should be replaced with c2, then no. Note that lambda2 is obtained as (minus) the integral of lambda1. And lambda1 has previously been determined to be a constant c1. Integrating a constant amounts to multiplying it by the time (and allowing for a nonzero initial condition brings in the constant c2). Does it help?

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

      sorry I wanted to tell that there is a minus sign missing in c1... lambda2=-c1*t+c2, because \dot{lambda2}=-lambda1@@aa4cc , no!?

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

      True, but this I acknowledged three post below (and some three years ago) :-) Indeed, after collecting a few typos these videos should be remade. Or perhaps I should at least create some kind of Errata list for each video because navigating in these responses is not convenient.@@sardorisrailov1376

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

      thanks for the content, you can also pin the comments, so that they appear at the top with verified account

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

      Thanks for this advice, @sardorisrailov1376, I was not aware of this possibility. Back then it was possible to pin some kind of "sticky notes" to the particular time in the video (as a quick fix for some typos), but such possibility was later removed, which is a pity.