Degrees of Controllability and Gramians [Control Bootcamp]

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

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/Data-Driven-Sc...
Chapters available at: databookuw.com/databook.pdf
Book Website: databookuw.com
Brunton Website: eigensteve.com
This video was produced at the University of Washington

Пікірлер: 32

  • @gideonprior4842
    @gideonprior48422 жыл бұрын

    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

    Жыл бұрын

    what

  • @muhammadalgifari2349

    @muhammadalgifari2349

    Жыл бұрын

    what(2)

  • @federicocalzoni3243

    @federicocalzoni3243

    6 ай бұрын

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

  • @benjaminfrank9294
    @benjaminfrank92944 жыл бұрын

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

  • @jonathanuis
    @jonathanuis3 жыл бұрын

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

  • @rahulbball9395
    @rahulbball93954 жыл бұрын

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

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

    What a beautiful explanation!

  • @IoannaVasilakopoulou-Trapali
    @IoannaVasilakopoulou-Trapali9 ай бұрын

    Extremely helpful! Thank you very much!

  • @raincloud763
    @raincloud7632 жыл бұрын

    Really amazing explanation

  • @ahmedrista164
    @ahmedrista1643 жыл бұрын

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

  • @gazzamgazzam4371
    @gazzamgazzam43713 жыл бұрын

    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

  • @alimolavi1336
    @alimolavi133611 ай бұрын

    You teach amazing! 😍😍

  • @FrancescoBazzani
    @FrancescoBazzani4 жыл бұрын

    Thank you for this series.

  • @Eigensteve

    @Eigensteve

    4 жыл бұрын

    Glad you enjoy it!

  • @FrancescoBazzani

    @FrancescoBazzani

    4 жыл бұрын

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

  • @honey-py9pj
    @honey-py9pj3 жыл бұрын

    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?

  • @azizhanazizoglu1343
    @azizhanazizoglu13434 жыл бұрын

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

  • @Eigensteve

    @Eigensteve

    4 жыл бұрын

    Thank you so much!

  • @francogassibe978
    @francogassibe9783 жыл бұрын

    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.

  • @GusTheWolfgang
    @GusTheWolfgang3 жыл бұрын

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

  • @joostdejong2677
    @joostdejong26774 жыл бұрын

    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

  • @aaansari97
    @aaansari974 жыл бұрын

    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"

  • @akanguven114
    @akanguven1145 ай бұрын

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

  • @eventhatsme
    @eventhatsme2 жыл бұрын

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

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

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

    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!

  • @johnwu5908
    @johnwu59083 жыл бұрын

    is this guy writing backwards? what a legend

  • @willtipton1698

    @willtipton1698

    4 ай бұрын

    No, he's just left handed.

Келесі