In case it is helpful, here are all my Control Theory videos in a single playlist ru-vid.com/group/PLxdnSsBqCrrF9KOQRB9ByfB0EUMwnLO9o. Please let me know what you think in the comments. Thanks for watching!
Chris, thanks for the comment. Yes, Steve Brunton is great (he is also at the University of Washington). Thanks for watching and for your helpful comments.
Dude!!! I think you are the king of the kings in control systems videos on youtube! Keep up the good work, you are doing an excellent job! I like the way you explain the topics, and the fact that you give us many practical examples, my University need teachers like you!
Andrei, thank you for the kind words, I hope this was helpful. If you subscribe, I will be releasing more videos on controls in the near future. I hope to see you again at one of these videos. Thanks for watching!
AE511: Great comprehensive lecture despite the topic being quite abstract! I think the examples/graph/dog really helped to visualize this concept. That "orth" function is definitely a game changer, that I dont believe I learned about in any of my previous undergrad linear algebra/controls courses.
Overall very helpful and informative. Thank you! One nitpick feedback about Example 4 and 5. The drawing of a single thruster attached to the mass is a little bit misleading because the control input is allowed to be negative, but a single thruster couldn't do that. Maybe it would be better to draw two opposing thrusters on each side of the block.
That is a very good point, I will update the notes. Your attention to detail almost makes it sounds like you want to go into designing real space systems or something 😀
AE511. Thanks professor. I like that you provided the Matlab commands that correspond to the lecture material. The 'orth' command would have saved me some time in previous courses.
AE511. Seeing the Matlab eig() function and syntax was a great refresher. For me, if i don't use a certain matlab function regularly (which i don't, really), it'll get lost in the weeds and make coding much less efficient. thanks.
Hi Shengye, Thanks for the kind words, I'm glad you enjoyed the video. Also, thank you for joining as a channel subscriber. While RU-vid memberships are nice, if you find these videos helpful, I hope you'll consider supporting the channel via Patreon instead at www.patreon.com/christopherwlum as this is much easier for me to interact with viewers directly. Given your interest in this topic, I'd love to have you a as a Patron as I'm able to talk/interact personally with all Patrons. I can also answer any questions, provide code, notes, downloads, etc. on Patreon. Thanks for watching! -Chris
I think that there is a problem with the example at 46:01 with the A matrix. As written it does not have full rank. This should be obvious from the fact that one of it's eigenvalues (and thus its determinant) is equal to zero. Also orth(A) gives only 2 linearly independent eigenvectors (at 53:20) which confirms this. Are the controllability criteria valid if the system matrix does not have full rank? In that case it seems like all 3 state variables are not linearly independent and thus cannot each be determined individually, thus making the system uncontrollable. Also consider the B matrix to equal v1 + v2. As someone noted below this system is controllable per the ctrb criteria as rank( ctrb ( A, v1+v2 ) ) = 3. However v1 + v2 FAILS the PBH test at lambda = 5 because rank([ A - 5*I, v1 + v2]) = 2. So these results are inconsistent.
I think that I figured out the discrepancy. Matlab seems to be storing matrix entries as floating point numbers. As a result two "identical" columns may have slightly different floating point representations. When I do rank ( ctrb ( a, b ) ) in the above case I sometimes get an answer of 2 and sometimes 3 even though the matrix entries to 4 decimals which are displayed has 2 identical columns. I wonder if there is some way to force matlab to store entries as rational numbers which would avoid this problem. Also performing a similarity transformation on this system to diagonal form results in a b matrix of inv(M)*b = [1;1;0] where M is the matrix of eigenvectors of A thus confirming that the 'direction' associated with lambda = 5 is uncontrollable.
AE511: I liked the mention of the concept that a random vector B would likely be controllable, certainly helps to put things in perspective. Does the degree of separation from the ranges impact the ease of controllability at all?
Hi Matteo, Thanks for the kind words, I'm glad you enjoyed the video. If you find these videos helpful, I hope you'll consider supporting the channel via Patreon at www.patreon.com/christopherwlum or via the 'Thanks' button underneath the video. Given your interest in this topic, I'd love to have you a as a Patron as I'm able to talk/interact personally with all Patrons. I can also answer any questions and provide code/downloads on Patreon. Thanks for watching! -Chris
What an amazing video this was Professor Lum. I just had a question regarding the PBH test in case when A has m repeated eigenvalues with geometric multiplicity smaller than the algebraic multiplicity. I was wondering what should the structure of B be in that situation? Should the dimension of rank (B) be still greater than or equal to n - m?
Hi Sir.. This lecture is interesting, but can you clear one thing.... v1 + V2 + v3 is controllable. Thats great, I also tried plugging in other combinations that is ctrb(A, v1+v2) even this is controllable and has a rank 3 but the other combinations ctrb(A , v2+v3) and ctrb(A, v1+v3) does not satisfy and has a rank 2. Is there a reason that the ctrb(A (v1 + v2)) has a rank 3 and is controllable. Please let me know why?? Hopefully waiting for your reply