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
I have a PhD in controls and I learn from every one of these videos. Steve, you are such a fantastic teacher.
what
what(2)
@@muhammadalgifari2349 maybe he/she has a PHD because he doesn't have the presumption of having understood or remembered everything...
Dear Professor Steve, I really love your explanations, they are sooooo clear. I am thankful to you for ever!
This playlist is so good i put it as my firefox homepage.
Thank you for this series.
Glad you enjoy it!
Steve Brunton I’m an engineer and you basically saved my life 😂😃
This video is amazing! Super cool and intuitive explanation of the controllability grammian.
What a beautiful explanation!
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
Extremely helpful! Thank you very much!
end of the video is funny xd and.. thank you so much for sharing with us
Thank you so much!
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!
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"
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 :)
Really amazing explanation
You teach amazing! 😍😍
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?
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.
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
Does the book give all the rigorous details? If not, where to find those? Thanks
Sweet baby G. Idk if there is an example to Controllb. Gram. in matlab of yours? thanks Sir!
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?
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
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.
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.
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!
Hello! Do you think you can tell me where I can find more about the use of SVD in controllability analysis?
is this guy writing backwards? what a legend
No, he's just left handed.