No video

Inverted Pendulum on a Cart [Control Bootcamp]

  Рет қаралды 241,825

Steve Brunton

Steve Brunton

Күн бұрын

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

Пікірлер: 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.
@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!
@mac-jb7zh
@mac-jb7zh 4 жыл бұрын
Thank you very much for this great lesson. Greetings from Poland.
@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!!!
@abhinavraghunandankannan3546
@abhinavraghunandankannan3546 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😪
@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?
@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!
@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?
@user-dz6vl5eq8v
@user-dz6vl5eq8v 4 жыл бұрын
Thanks, Professor!
@Eigensteve
@Eigensteve 4 жыл бұрын
You're welcome!
@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.
@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)
@elumixor
@elumixor 2 жыл бұрын
THANK GOD YOU EXIST!
@frustratedengineeringstude8593
@frustratedengineeringstude8593 Жыл бұрын
Thank you so much for this lecture video, sir! this really helped me in my thesis.
@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
@jeetdand3019
@jeetdand3019 21 күн бұрын
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.
@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.
@Haider_Waseem_445
@Haider_Waseem_445 2 жыл бұрын
Thank you so much for everything Steve. #pakistan
@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.
@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
@JohnDoe-qg1pj
@JohnDoe-qg1pj 2 жыл бұрын
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?
@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!
@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
@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
@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
@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?
@frf3ed439
@frf3ed439 Жыл бұрын
how do I find the equlibrium point and lineriaze the system
@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
@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
@kariminem
@kariminem 10 ай бұрын
how can i get the draw_cartpend script ?
@Gattomorto12
@Gattomorto12 3 жыл бұрын
What if I want to control the cart with the keyboard?
@cypictronic
@cypictronic 3 жыл бұрын
teacher sorry, how to draw in MATLAB the car?
@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
@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?
@frf3ed439
@frf3ed439 Жыл бұрын
HI where can i get the matlab library
@piotr780
@piotr780 Жыл бұрын
7:00 WTF is y here ? some change in notation, is y=x or y=x' ?
@user-ki7ov9du1f
@user-ki7ov9du1f Жыл бұрын
where is the link for Matlab?
@lucasantagata4551
@lucasantagata4551 4 жыл бұрын
Which program did you use?
@aynurarustemova9274
@aynurarustemova9274 2 жыл бұрын
Hi) who knows where can I download the code?
@frihyounes7179
@frihyounes7179 2 жыл бұрын
i didn't find the code
@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 6 ай бұрын
@@jcsjcs2Yoo thanks mate!
@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 жыл бұрын
💓
@gustavoexel3341
@gustavoexel3341 2 жыл бұрын
Now the rubber is gonna hit the road
@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
@andreybashkin9030
@andreybashkin9030 Жыл бұрын
I hope you've all seen this practical demonstration of 3-pendulum: kzfaq.info/get/bejne/f5t3qdqIsNGmnZs.html
@perceptronsaber4479
@perceptronsaber4479 3 жыл бұрын
Lazy pendulum
Pole Placement for the Inverted Pendulum on a Cart [Control Bootcamp]
12:55
Equations of Motion for the Inverted Pendulum (2DOF) Using Lagrange's Equations
15:25
Good Vibrations with Freeball
Рет қаралды 98 М.
Harley Quinn's plan for revenge!!!#Harley Quinn #joker
00:49
Harley Quinn with the Joker
Рет қаралды 33 МЛН
7 Days Stranded In A Cave
17:59
MrBeast
Рет қаралды 81 МЛН
CHOCKY MILK.. 🤣 #shorts
00:20
Savage Vlogs
Рет қаралды 29 МЛН
Everything You Need to Know About Control Theory
16:08
MATLAB
Рет қаралды 533 М.
Self-correcting Inverted Pendulum Defies Gravity
5:45
The Action Lab
Рет қаралды 173 М.
Making an Inverted Pendulum - Part 1 of 4: Design and Assembly
16:34
Philippe Francois
Рет қаралды 19 М.
What Is Linearization?
14:01
MATLAB
Рет қаралды 89 М.
Modeling Dynamic Systems
13:34
MATLAB
Рет қаралды 16 М.
Classic Inverted Pendulum - Equations of Motion
23:01
Brianno Coller
Рет қаралды 153 М.
Harley Quinn's plan for revenge!!!#Harley Quinn #joker
00:49
Harley Quinn with the Joker
Рет қаралды 33 МЛН