Тёмный

Inverted Pendulum on a Cart [Control Bootcamp] 

Steve Brunton
Подписаться 364 тыс.
Просмотров 244 тыс.
50% 1

In this video, we introduce an example system to control: an inverted pendulum on a cart. We describe the state-space, find the fixed points, and simulate the system in Matlab. Because the linearized system is controllable, we will be able to arbitrarily place the eigenvalues of the closed-loop system through feedback in the next two videos.
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

Опубликовано:

 

19 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 80   
@CyberSinke
@CyberSinke 3 года назад
Skipping the part how mechanical equations were derived was fine, but I would have found it useful if we were shown how Jacobian was solved and matrix A was created, based on those mechanical equations. Too big part of the story is missing, and suddenly we are again discussing controllability which was explained perfectly in previous videos.
@a1fr3
@a1fr3 Год назад
I know it's a year later (maybe it wasn't the case back then). This can be followed in chap. 8.7 of the book shared in the description,
@Miguel-mv5yc
@Miguel-mv5yc Год назад
@@a1fr3 The whole deduction of the equations is there? From 0 to 100?
@a1fr3
@a1fr3 Год назад
@@Miguel-mv5yc Not 0 to 100, it looks like a good idea to create a video with that.
@sreejithkarangat
@sreejithkarangat 4 года назад
Hello Professor, thank you very much for this Bootcamp series. The explanations are amazingly intuitive and simple to grasp. I am starting to watch all your videos from this end. God bless you.
@gordonsowner
@gordonsowner 4 года назад
Thanks for these resources on control theory, I'm finding them clear and very illuminating (I do not have a background in this, just in math, physics, and now data science, which is how I found these lectures). One comment on this video... you talk about theta = 0 as the pendulum down position, but your drawing is suggestive of theta = 0 is in the pendulum up position. I can get by, but if you ever redo this with edits, that's one I'd suggest making. I don't know which should switch though -- your drawing, or your algebra. Thanks again.
@Eigensteve
@Eigensteve 4 года назад
Thanks for the feedback... yeah, this is always a tough choice to be clear and consistent.
@mac-jb7zh
@mac-jb7zh 4 года назад
Thank you very much for this great lesson. Greetings from Poland.
@cola175
@cola175 3 года назад
Dear Professor, thank You very much for Your work! Individuals like You show us that the theory and practice are the same. Your work brings fun in Engineering!
@josuemanuelparejacontreras3443
@josuemanuelparejacontreras3443 4 года назад
7:17 I was actually waiting you to "boring" me with the details of how you got those dynamics hahahaa, great series Professor, I am learning a lot!!!
@swat_katz_tbone
@swat_katz_tbone 3 года назад
Josue Manuel Pareja Contreras It’s a Controls boot camp and not dynamics boot camp ? Deriving the equations of motion is a beast of a task.
@juxyper
@juxyper 3 года назад
check the lagrange-euler equations for the inverted pendulum on a cart, it's virtually everywhere.
@josuemanuelparejacontreras3443
@josuemanuelparejacontreras3443 3 года назад
looks like people think that I am claiming for the EOM to the professor, easy boys, I already derived it by lagrange and newton :P
@ernmz6800
@ernmz6800 4 года назад
Absolute Beauty! This is all explained so well, clearly and the code is perfectly organized
@Drone.Robotics
@Drone.Robotics 4 года назад
Thank you Sir....I have seen the whole series and it have cleared lot of my concepts about control theory. Your videos are just great and your way of teaching complex things in simple manner is appreciable. Thanks Again.
@daniyalwahid8996
@daniyalwahid8996 3 года назад
The best teacher I never had😪
@bobmckellar8349
@bobmckellar8349 3 года назад
I derived the equations of motion using Euler-Lagrange which are almost identical to yours but oddly a couple of components had different sign. After linearising, when I plugged in the constants you use and checked the eigs of A I got pendulum up = stable and pendulum down = unstable! It took me ages to find out its because you set g=-10 rather than +10. If I set g=+10 I get the expected eigs.
@anonym0usplatypus
@anonym0usplatypus 3 года назад
The movie is a fantastic touch. Thanks!
@josealbertiangulo4634
@josealbertiangulo4634 4 года назад
Excellent series on Control! I have a master in ME and this is helping me to get around a lot of things I couldn't understand in class. I just wrote a code to get the Equations of Motion of the inverted pendulum, using the matlab symbolic toolbox, and now I got to use this equations and it's linearized form to simulate different control methods. But I don't know how to draw a plot. Where could I download your code to take a look at the 'drawcartpend_bw' function? I know you mentioned that there's a link below, but I just see the link to your webpage. Thanks you so much for the lessons, I have really learned A LOT!
@tiaanesterhuyse126
@tiaanesterhuyse126 2 года назад
Hi @Steve Brunton. This is very well defined code and clear on what should happen so i would like to know, In the video at 9:20 you say one can download the matlab code? Is this still possible and is it open source code?
@DheerajSingh-ze4ji
@DheerajSingh-ze4ji 4 года назад
Thanks a lot for explaining these topics in detail. I have been trying to learn control systems in detail and your playlist has certainly pushed in the right directions. I was curious about the MATLAB code from this example. Please provide the link to the code for us to read and understand by testing things by ourselves. Thanks
@Eigensteve
@Eigensteve 4 года назад
All code can be found at databookuw.com under the CODE.zip link (in Matlab and Python)
@pradiptabiswas2393
@pradiptabiswas2393 4 года назад
@@Eigensteve I was also searching for the code to play with it. Some how the link is broken. Is the link still available in the website? Thank you.
@RugnirSvenstarr
@RugnirSvenstarr 2 года назад
@@Eigensteve Hi there Steve, thank you for the excellent lectures and book. It would be super useful for future students if you could put this comment into the description of this video and the next one (about pole placement)
@arunagiriharish4121
@arunagiriharish4121 3 года назад
Dear Prof, Your contribution is enormous for learners , I personally started to learn from your videos. Looking forward to do learn more. Thanks' a lot and kudos!! Where can I find the code of pendulum example and hence forth what you gonna use in the upcoming lectures of Control Boot camp Course?
@frustratedengineeringstude8593
Thank you so much for this lecture video, sir! this really helped me in my thesis.
@BlosHaterz
@BlosHaterz 3 года назад
Thank you for the video, the explanation is very easy to understand for someone who is new in control system like me. May I know where is the download link to your program to further understand the inverted pendulum system? Thank you.
@АндрейЧегуров-ц8з
@АндрейЧегуров-ц8з 4 года назад
Thanks, Professor!
@Eigensteve
@Eigensteve 4 года назад
You're welcome!
@elumixor
@elumixor 2 года назад
THANK GOD YOU EXIST!
@piotr780
@piotr780 Год назад
how to find B matrix ?
@jmcvazUNLV
@jmcvazUNLV 4 года назад
Dr Brunton, Thank you for the lecture. I have couple questions. I derived all the equations of motion and I am trying to simulate in Matlab I am using (b = 0.1; % Coefficient of friction for the cart (N/m/sec) I = 0.006; % Mass moment of inertia of the pendulum (kg*m^2)) in your example you use a "damping" factor on what exactly this constant is based upon? Can I replace that to b and I? why are you using this damping factor "d"? Also 2 - How can I calculate from the Matlab simulation what motor parameters are (e.g. accelerations, running current, etc). 3- In addition, how may I estimate the (pendulum angular) resolution needed given the pendulum’s height? Thank you
@what_on_arth
@what_on_arth 4 года назад
Thank you for the lecture series.
@ayushpatel535
@ayushpatel535 Год назад
How do we get the B matrix after linearizing? Like the Jacobian yields A matrix after we substitute fixed points in it, but how do we get the B matrix?
@harshkaushal7076
@harshkaushal7076 4 года назад
Sir, you wrote theta = 0, for the pendulum down case. But according to the diagram its pendulum up case.
@kariminem
@kariminem 11 месяцев назад
how can i get the draw_cartpend script ?
@Haider_Waseem_445
@Haider_Waseem_445 2 года назад
Thank you so much for everything Steve. #pakistan
@JohnDoe-qg1pj
@JohnDoe-qg1pj 3 года назад
Why do you compute the Jacobian around the fixed points? Shouldn't it be computed around wherever you want your system to be? Hypothetically, if you wanted to have your cart move so that the pendulum stays at a 45 degree angle (probably impossible but let's say it could work), should you then calculate the Jacobian for theta=45?
@mjausome
@mjausome 4 года назад
Thank you for your fantastic videos. But one of the eigenvalues is zero, doesn't that make the linearization "invalid" according to Hartman-Grobman? It obviously works in practice but I thought you'd say something about that
@sooooleh
@sooooleh 4 года назад
Thank you Dr. Brunton for your great efforts. Does finding the fixed points of the system means we linearize it? what if i have a nonlinear quarter car model, how can I approximate the fixed points? Thanks
@cihant5438
@cihant5438 3 года назад
Thanks for the video, very helpful. theta=pi would be down right? The professor misstated that both times.
@Eigensteve
@Eigensteve 3 года назад
Thanks. I define theta=0 as pendulum down, so theta=pi is pendulum up
@VictorPalamim
@VictorPalamim 4 года назад
Thanks Professor! How can I get the transfer function of the open loop and the controller separeted? I want to put the separeted blocks in Simulink and try to discretize the controller transfer function to see how it behaves in the continuous system.
@reemalshanbari
@reemalshanbari 3 года назад
Where can we find the code? thanks!
@rajatbaldha9375
@rajatbaldha9375 3 года назад
Where do i get the MATLAB code? The lectures are amazing and now I am also watching content not of my courses aswell
@Eigensteve
@Eigensteve 3 года назад
Thanks! matlab code at github.com/dynamicslab/databook_matlab
@jeetdand3019
@jeetdand3019 Месяц назад
how can we refer the codes you have used, i didnt get it. i want to look at drawcart pent system code can you help me with this.
@frf3ed439
@frf3ed439 Год назад
how do I find the equlibrium point and lineriaze the system
@paulobessa1906
@paulobessa1906 Год назад
Hello, professor. thank you for the video and brilliant clarity. I have a question. As one of the eigenvalues of the system is zero, wouldn't the Hartman-Grobman theorem imply that the analysis of the linearization of the system doesn't necessarily match with the original system?
@zohrabsoussani1224
@zohrabsoussani1224 Год назад
Hello, I wanted to download the codes but I couldn't find them. I'd appreciate it if you could help me find them. Thanks!
@motherbear55
@motherbear55 4 года назад
To find the B matrix, do you linearize the system dynamics around some "ubar" in addition to "xbar"? Also, how do you create separate A and B matrixes if the control is not linearly separate from x in the system dynamics? (For example, xdot = x * u)
@felixbrandle9398
@felixbrandle9398 4 года назад
The procedure is the same. If you want to linearize a general nonlinear system xdot=f(x, u), you can calculate the A and B matrix like this A=df/dx (xbar, ubar) B=df/du (xbar, ubar) In your example this would correspond to A=ubar and B=xbar
@cypictronic
@cypictronic 3 года назад
teacher sorry, how to draw in MATLAB the car?
@Gattomorto12
@Gattomorto12 3 года назад
What if I want to control the cart with the keyboard?
@Geewhombee
@Geewhombee 3 года назад
are you writing on your board backwards?
@damiengates7581
@damiengates7581 Год назад
What is (-d/M)*velocity? At d=-1 that is like velocity divided by mass, what is that?
@damiengates7581
@damiengates7581 Год назад
Maybe I got it; it is a damping term? How much speed is absorbed by friction?
@BilalAwad-d8x
@BilalAwad-d8x Год назад
where is the link for Matlab?
@frf3ed439
@frf3ed439 Год назад
HI where can i get the matlab library
@mohammedaminaissou2285
@mohammedaminaissou2285 4 года назад
hi sir i'm making a double inverted pendulum can you help me and show me how you did this animation i wish you could help me the files and codes for animation
@lucasantagata4551
@lucasantagata4551 4 года назад
Which program did you use?
@octaviodeshays9845
@octaviodeshays9845 4 года назад
Hey professor! your videos are amazing, I would like to know where can I download the matlab code that you use in this video? It would be very helpful for a proyect I'm working on at my university in Argentina. Thanks for everything!!
@jcsjcs2
@jcsjcs2 4 года назад
Someone pasted some of the code to stackoverflow.com/questions/58895639/i-have-tried-to-plot-in-matlab-but-matlab-plot-is-not-working because he had a question. @Steve: Do you think you can provide a link to all of the code you're using? I think in your video you're mentioning that the link should be in the description, but I can't find it.
@jcsjcs2
@jcsjcs2 4 года назад
Found a git repository with the code: github.com/AllSparks2848/Inverted-Pendulum
@ravikiran4495
@ravikiran4495 7 месяцев назад
@@jcsjcs2Yoo thanks mate!
@zrmsraggot
@zrmsraggot 2 года назад
Now imagine your goal is too drive the cart only to the right of the screen ( no backward just speed and brakes game). If thêta becomes negative ( too fast .. you crash) But if theta goes past 90 degres , the cart exploses ! What do you do ? What do you do ?? That’s right, you are Keanu Reeves in the movie Speed
@piotr780
@piotr780 Год назад
7:00 WTF is y here ? some change in notation, is y=x or y=x' ?
@aynurarustemova9274
@aynurarustemova9274 2 года назад
Hi) who knows where can I download the code?
@frihyounes7179
@frihyounes7179 2 года назад
i didn't find the code
@vladfalcon
@vladfalcon 3 года назад
Good day Mr. Steve Brunton. Thanks for your knowledge about linear algebra, it helped me to discover covariant tensor machine (CTM). See my video about CTM.
@alaaomer840
@alaaomer840 2 года назад
💓
@3131ilyes
@3131ilyes 4 года назад
sorry I couldn't find the codes 😔
@54egg
@54egg 4 года назад
See his "Chapters available at ..." link ( databookuw.com/databook.pdf) which is about 600 page text, Chapter 8, Linear Control Theory - includes Pendulum Cart example with MatLab code.
@3131ilyes
@3131ilyes 4 года назад
@@54egg you are my brother
@gustavoexel3341
@gustavoexel3341 2 года назад
Now the rubber is gonna hit the road
@andreybashkin9030
@andreybashkin9030 Год назад
I hope you've all seen this practical demonstration of 3-pendulum: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-I5GvwWKkBmg.html
@perceptronsaber4479
@perceptronsaber4479 3 года назад
Lazy pendulum
Далее
Everything You Need to Know About Control Theory
16:08
Просмотров 550 тыс.
Control Bootcamp:  Kalman Filter Example in Matlab
22:12
What Is Linearization?
14:01
Просмотров 90 тыс.
Linearizing Around a Fixed Point [Control Bootcamp]
30:46