Degrees of Controllability and Gramians [Control Bootcamp]

Поделиться
HTML-код
  • Опубликовано: 8 сен 2024
  • This lecture discusses degrees of controllability using the controllability Gramian and the singular value decomposition of the controllability matrix.
    These lectures follow Chapter 8 from:
    "Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Brunton and Kutz
    Amazon: www.amazon.com...
    Chapters available at: databookuw.com/...
    Book Website: databookuw.com
    Brunton Website: eigensteve.com
    This video was produced at the University of Washington

Комментарии • 33

  • @gideonprior4842
    @gideonprior4842 2 года назад +39

    I have a PhD in controls and I learn from every one of these videos. Steve, you are such a fantastic teacher.

    • @EEAMD-co6nw
      @EEAMD-co6nw Год назад +3

      what

    • @muhammadalgifari2349
      @muhammadalgifari2349 Год назад +1

      what(2)

    • @federicocalzoni3243
      @federicocalzoni3243 8 месяцев назад +1

      @@muhammadalgifari2349 maybe he/she has a PHD because he doesn't have the presumption of having understood or remembered everything...

  • @jonathanuis
    @jonathanuis 3 года назад +12

    Dear Professor Steve, I really love your explanations, they are sooooo clear. I am thankful to you for ever!

  • @benjaminfrank9294
    @benjaminfrank9294 4 года назад +26

    This playlist is so good i put it as my firefox homepage.

  • @FrancescoBazzani
    @FrancescoBazzani 4 года назад +7

    Thank you for this series.

    • @Eigensteve
      @Eigensteve  4 года назад +1

      Glad you enjoy it!

    • @FrancescoBazzani
      @FrancescoBazzani 4 года назад +1

      Steve Brunton I’m an engineer and you basically saved my life 😂😃

  • @rahulbball9395
    @rahulbball9395 4 года назад +1

    This video is amazing! Super cool and intuitive explanation of the controllability grammian.

  • @sharanyashastry8926
    @sharanyashastry8926 Год назад +1

    What a beautiful explanation!

  • @gazzamgazzam4371
    @gazzamgazzam4371 3 года назад +5

    Hi Steve, your explanation is amazing!
    Please tell me where I can find some references that discuss this topic ( degree of controllability using SVD)
    Thank you in advance

  • @IoannaVasilakopoulou-Trapali
    @IoannaVasilakopoulou-Trapali 11 месяцев назад

    Extremely helpful! Thank you very much!

  • @azizhanazizoglu1343
    @azizhanazizoglu1343 4 года назад +5

    end of the video is funny xd and.. thank you so much for sharing with us

  • @aaansari97
    @aaansari97 4 года назад +3

    Hi Steve, can you please elaborate on what directions would mean in the case of a pendulum? An example would help in visualizing this concept.
    Great set of videos, by the way!

    • @thebuzzcutboy
      @thebuzzcutboy Год назад

      Not sure if anyone ever replied to this, but for an inverted pendulum that is balanced by a cart that can be driven back and forth (in 1-D), one direction would be the "x", the linear location of the cart, and the other direction would be the "theta", the angle of the pendulum. Moving the cart has the ability to affect both "directions"

  • @ahmedrista164
    @ahmedrista164 3 года назад

    thank you, professor, I hope that you'll make these theories real for example a pendulum with all the steps because I try it many times and I failed, and I'm grateful for your efforts :)

  • @raincloud763
    @raincloud763 3 года назад

    Really amazing explanation

  • @alimolavi1336
    @alimolavi1336 Год назад

    You teach amazing! 😍😍

  • @honey-py9pj
    @honey-py9pj 3 года назад

    this is so great! you are such talented and pleasurable to watch . I have a question: My linear algebra is not that strong, what does this eliplosid volume represent? and why do eigen vectors have radious coressponding to it's surface?

  • @francogassibe978
    @francogassibe978 3 года назад

    hi Steve, love your series. This one is been the most difficult video so far. I was wondering if you could give us some other concrete real life example where we can see more in detail the interpretation of these eigen values and eigen vectors.
    I have searched and cant find a physical interpretation to 'most controllable state space directions'. My question I guess is:
    How those eigenvectors should change the way I am implementing my control to make it so I can control my system easier or with less energy.

  • @joostdejong2677
    @joostdejong2677 4 года назад

    Hi Steve - many thanks for all your brilliant work and for sharing these lectures. One quick question though; why do you have the next system state x_k+1 in discreet time; x_k+1 = A*k, while you have the derivative ('velocity') in continuous time; xdot = A*x? In continuous time there is obviously no time step, but thinking about this, I can't place the Delta t or dt, such that it make sense to me.. If you have time, please give me a quick line - would be massively appreciated. Many thanks! Best regards, Joost

  • @alexboche1349
    @alexboche1349 Месяц назад

    Does the book give all the rigorous details? If not, where to find those? Thanks

  • @akanguven114
    @akanguven114 7 месяцев назад

    Sweet baby G. Idk if there is an example to Controllb. Gram. in matlab of yours? thanks Sir!

  • @eventhatsme
    @eventhatsme 2 года назад

    I would also be interested in getting a real world example of how to use this; I am trying with the inverted pendulum example used later in this series. If I use "[U,S,V]=svd(ctrb(A,B),'econ')" and then "Udom=abs(U(:,1)*S(1,1))" to get the absolute value of the most dominant eigenvector. This results in Udom=[0.21;0.24;0.47;0.51]. Would this mean that the last state variable, dTheta (rotation velocity), is the most important to control? So a motor controlling the rotation velocity of the pendulum would be the best single choice? Is this the reason that Theta and dTheta have the highest penalization (Q values) for your LQR setup? Could the results of such an analysis also be used as a guide to place the poles for a full state feedback controller?

    • @boxiao6830
      @boxiao6830 2 года назад

      Very good question, really hope to see some examples, I tried several examples myself, none of the give me any clue of this SVD most controllable theory

  • @burakyesilyurt9544
    @burakyesilyurt9544 4 года назад +1

    Hi Steve! First of all I want to thank you for all of your lecture series they are really amazing!
    I have a question. Does matlab compute gramian matrix differently than that we assume approximately CC* ?
    Here is the code I wrote. I couldn't figure out why wC1 and wC2 gramians are different, should not they have been same?
    clear all; close all; clc;
    A = [-2 0; 1 -3];
    B = [1; 0];
    C = [1 1];
    D = 0;
    cM = ctrb(A,B);
    rank(cM) %sys is controllable
    sys = ss(A,B,C,D);
    isstable(sys) %sys is stable
    wC1 = gram(sys, 'c')
    wC2 = cM*cM'
    %i tried to integrate myself instead of using built-in command 'gram'
    wfun = @(tau) expm(A*tau)*B*B'*expm(A'*tau);
    wint = @(t) quadv(wfun, 0, t);
    wc3 = wint(5) %i randomly select integration boundary.
    %eigendecomposition of controllability gramian
    [R1, T1] = eigs(wC1)
    [R2, T2] = eigs(wC2)
    [U, S, V] = svd(cM, 'econ') %in here, cols of left singular vector
    ... is different than eigenvectors of ctrb gramian wc1 but the same with wc2.
    ... Also S is related to squared root of eigenvalues of wc2 but not related to wc1's.

    • @Eigensteve
      @Eigensteve  4 года назад +1

      Great question, and nice work checking these implementations yourself! I think... and I'm not sure... but I think that the difference is because the gramian is actually equal to cM*cM', where cM = ctrb(Atilde,Btilde) and Atilde,Btilde are for the discrete-time system. So Atilde=e^{A*dt} and Btilde=\int_0^dt (e^{A*tau}*B*dtau)... you can get these using "c2d" in matlab.

    • @adeeljamal6846
      @adeeljamal6846 4 года назад +1

      Using c2d with Tustin method and Ts=1, the Wc's (= cM*cM' *in discrete) eigenvectors just come out equal to the controllability gramian eigenvectors computed through gram(). Using other methods and Ts values other than 1, it's not equal, really don't know why. But in the documentation of gram(), I didn't see it anywhere if this command is first discretizing the state space system. I think it computes in the continuous time domain but still not sure!

  • @GusTheWolfgang
    @GusTheWolfgang 3 года назад

    Hello! Do you think you can tell me where I can find more about the use of SVD in controllability analysis?

  • @johnwu5908
    @johnwu5908 3 года назад

    is this guy writing backwards? what a legend