Hey everyone, thanks for watching! If you have any questions, leave them here and I'll try to answer them when I can. Cheers!
@killemaster9996 жыл бұрын
nice work this help me a lot . Please brian, I ask you if you can add the option of subtitles even in automatic English, because I speak in Spanish but I can read in English.
@BrianBDouglas6 жыл бұрын
Hi Androi, I'll talk to the folks at MATLAB who actually posted the video and see if the script can be added to the subtitles.
@benlee936 жыл бұрын
I am not sure you would answer questions since it's already 5 month gone,but i really want to know what clamping saturation limit do. If it already limited under actuators Output why do we need to do Clamping?
@ikhmal27166 жыл бұрын
How to design a PID controller for a microgrid?
@vaibhavahire36365 жыл бұрын
You are an amazing instructor.
@michaelpeacock51444 жыл бұрын
35 years in engineering Boeing , airbus , and Hamilton jet Nz . Wish your lectures were around in my learning years . But hey your never to old to learn and you make both easy and a pleasure .thats a real gift Brían . Well done you . Mike peacock Bsc .
@ookook336 ай бұрын
that explains...a lot...
@DennisZIyanChen4 жыл бұрын
I wish I can live my life all over again so i can spend my life doing control systems. Just looking at how a PID works in detail just gives me so much delight.
@crashpilot50064 жыл бұрын
No questions, just wanted to say thank you for this refresher, it has been over 14 years I last handled a PID regulator and this simple but effective video brought me right back up to speed. Simulation is done, and in a couple of weeks I can test my code and settings against the real world. Great video series!
@emlmm883 жыл бұрын
These MATLAB tech talks are absolutely fantastic.
@EL.30006 жыл бұрын
Hi, Brian. Firstly, congratulations on this excellent series of videos. Talking about the clamping algorithm, I just want to say that the condition number two depends on whether the PID action is direct or reverse. If the PID is in a DIRECT mode, the condition will be: 2)The error is the opposite sign to the controller output. To illustrate, just think in a valve in the outlet of a tank, if the level is high (negative error), the control signal should be positive, because we need to open that valve. However, due to the windup, the integral action could stay adding a positive signal indefinitely, and this should be avoided.
@pratikranjanraul41783 жыл бұрын
Probably the best prof for Control Systems..... Love from India!!!❤️.... Thanks!!!
@teebee38815 ай бұрын
Hands down the best man to explain control thoery on the internet!!!!
@Omo_Mohd10 ай бұрын
Mathwork is so lucky and honored to have Brian in its team
@BrianBDouglas10 ай бұрын
😊
@brd87644 жыл бұрын
Clamping. Clamping will always work. It detects when there is integrator overflow and sets the integral path of the PID-controller to zero to avoid windup by using a simple switch. Clamping is a commmonly used anti windup method, especially in case of digital control systems.
@Saath_Chale_toh_Jeetenge5 жыл бұрын
You really a great lecturer ..loves from INDIA
@plinioferreira42555 жыл бұрын
How come this only have 800 likes? This guy is awesome! Thank you Brian, I learn so much with your lectures!
@olivertrzcinski132011 ай бұрын
Thank you Brian! I wasn't aware I was so strong. Love the vids!
@baruch44014 жыл бұрын
Thanks Brian, the calculus classes I took 100 years ago now have meaning! AM
@aakashdewangan7313 Жыл бұрын
thanks brian, this is really one of the most important things we should remember in our control systems. It actually is very important in hardware control.
@nadiaakter9351 Жыл бұрын
Can anyone please explain, why after controlling it became walking speed? At first it was error between reference point and altitude. Then why it became speed after using PID controller. Please explain
@drleighmj2 жыл бұрын
Brilliant explanation - wish I had these 30 yrs ago. (Love the spinal tap reference!)
@vheisshu3 жыл бұрын
i love how well the technicals being elaborated and explained. Awesome! i am prepping myself for interview on PID, this will be helpful.
@yeasirarafat10032 жыл бұрын
I am watching this on 15 th february . Awesome video . thanks .
@johncorson65992 жыл бұрын
The beauty in engineering is focus on simplicity and fundamentals to accomplish an objective and implementation of such simplicity to successfully tackle complexities, which then appears complex when not understood and is, in fact, not complex at all. A dichotomy .. love these videos .. I love what Mathworks has done in the past 12-14 years with their product and documentation / examples .. I’m going back to matlab / simulink controls dev after a 10 year hiatus into flight test which removed me from the simulink end of things and had more of the matlab .m scripting activity for data analysis ., thanks so much
@stewartparkinson52905 жыл бұрын
Very clear and intuitive Brian...great job with a flawless delivery!
@郑歆蕾10 ай бұрын
very clear video showing the principle of PID controller
@shibumeher50445 жыл бұрын
Thank you, Brian. This series of videos are amazing and simple to understand.
@baruch44014 жыл бұрын
Question: Why would clamping "integrator windup". If the output of the and gate is a "1" (positive) could this be a the integrator attempt to remove the steady state error? It seems like the error becoming negative after reaching the reference point would be the first indication of integral windup, and that when the error and the integrator outputs are "negative" making it necessary to apply clamping. Not sure why the "positive" value of the comparison would be used to make the clamping decision? Please explain. AM
@jnv19716 жыл бұрын
2:40 Turning it up to eleven. Nice touch :D
@eclipse0274 күн бұрын
I know it's 6 years later but The moment I saw it I dropped to comments to see if someone recognized. You are my hero, stranger.
@uvadroid24 күн бұрын
Man, these lessons are awesome. Control systems are finally making sense to me! My professor in college really is a disaster! haha.
@MATLAB22 күн бұрын
Glad you're finding these lessons helpful!
@chayakumar12105 жыл бұрын
Hi Brain, I enjoy watching your videos and it's very informative for the students like me who are interested in controls field. Thanks a lot for making these kind of videos.
@viveknandan5502 Жыл бұрын
I love this lecture. It's interesting and so satisfying to brain.
@feliwx4087 Жыл бұрын
Beautifully explained! Thankssss!
@jlleluc4s4 жыл бұрын
Very precise in the explanation. I liked the example of the drone.
@dsrabelo6 жыл бұрын
Great job Brian! Keep up the good work!
@AntenainaLand6 жыл бұрын
Really, thank you from the bottom of my heart.
@davesmith82555 жыл бұрын
Your videos turn it up to 11, cheers!
@AhmedSamir-ov5yi5 жыл бұрын
Hi Brian, It would be great if you illustrate how to model a process control loop, for instance a control valve controlling flow rate downstream a centrifugal pump. Using pump curve, valve characteristics and fluid equation
@wiloberlies95986 жыл бұрын
Great job on this Brian, and I'd like to recommend the video content on your channel for those interested in the topic, as I think they compliment each other really well. Thanks for making this possible MATLAB.
@amal7176 жыл бұрын
Thank you so much. You are so genious and terrific. I am shocked because of your wonderful lessons on KZbin. Thank you a lot.
@varunrajshedge55626 жыл бұрын
Great Job!! Thank you for teaching us the basics of PID :)
@dhananjaykumar51144 жыл бұрын
Very Good Lecture
@Jackchalm5 жыл бұрын
Nice cheeky little Spinal Tap reference
@yossee6143 жыл бұрын
Amazing Lecture! Thank you Brian!
@AlDumbrava5 жыл бұрын
The sign part confused me but i think I may have gotten it after rewatching the video. The confusion I had was that I mistakenly understood that when the two conditions are met, the weight Ki is set to zero. Effectively reducing the actuator signal to zero. If I now understand correctly, this is not the case. The integrator contribution to the actuator signal still remains at its maximum/minimum value when the switch is turned off, but it's input for integration (the perceived error value) drops to zero. So any new addition at a time t does not change the integrator's output value. However, when I start thinking about how the derivative may affect this, everything goes whack xD
@jainamshroff49982 жыл бұрын
This comment cleared my confusion, thank you !
@fab4andthejkflipflops62 жыл бұрын
Also cleared my confusion, I was initially clearing the entire integrator, which is not what needs to happen, the summed integrator value remains, however, any new adds are ignored.
@askinc1026 жыл бұрын
I'm working on an electric vehicle and I can't find a way to implement all these theoretical concepts on a controller board. I would be very grateful to you if you make a video on how to implement all these topics on a software/hardware.
@supershaye6 жыл бұрын
Have a look at AN964 - Implementing a PID Controller on PIC16F684 and AN937 - Implementing a PID Controller Using a PIC18 MCU. They describe how to implement PID on a microcontroller. Brian has some videos on his channel about designing discrete controllers which help to understand the MCU version of PID.
@arashrahmani83726 ай бұрын
Thank you so much. It is a great explanation. I was thinking about this problem and now I got my answer :).
@uygarglk6 ай бұрын
better than uni professors, honestly no need to take a 6 month course, just watch these videos, then solve like 10 exercises on the subject lol for improving math.
@peterazer46715 жыл бұрын
Thank you. Kindly I have a question, why we do not only limit the integrator output (add saturation limits) without using using anti-windup ?. I think we solve the problem by adding saturation limits only. Is that right ?
@Antonioqwert38682 жыл бұрын
Hi, Brian your videos about control theory is great, I hope you will talk about MPC controller
@glenngoysens8372 Жыл бұрын
Just wondering (please correct me if I'm wrong) in this particular example of holding on and then letting go... Imagine 3 scenarios: the first with a linear actuator that doesn't saturate (or saturation happens at very high levels of actuation). The second with an actuator that does saturate but there is no anti windup implemented. And finally the third scenario with a saturating actuator and anti windup implemented. In this particular example, i think scenario one will give the worst results, worse than scenario 2. Just because in scenario one the propellers will just keep on spinning faster and once you let go it takes a while for the integrator to "unwind". In the second scenario the integrator also winds up, but the propeller can't go any faster so once you let go it will shoot up less strongly than in the first example. Of course the third scenario will be even better. Want i want to say is that for this particular example, it doesn't feel like we're solving an issue caused by saturation of the actuator, but rather an issue caused by the "initial situation".
@hussainhussain51533 жыл бұрын
Thank you for making this simple
@sivabalaji53416 жыл бұрын
Hey brain happy to see you that you are associating with Matlab .Along with the Clamping it's also recommended to use the filter.
@nikitasarkar5816 Жыл бұрын
Brian you are AWESOME!
@mnada723 жыл бұрын
Thank you for the great video, would you explain the back calculation method or suggest a source for that .
@tinfever Жыл бұрын
Edit: Nevermind. The video is right. I wasn't considering that the AND gate with the output bejng saturated. It makes sense to null the integrator input if the error is positive and the actuator command is positive, if the integrator is just going to continue trying to push the actuator command further past the saturation point. I think there might be an error in the video. As described if the drone is at 0m and the target is 50m, the error is +50m and the desired motor RPM is positive to drive the drone higher. Positive error and positive actuator command seem to be a desired state, which I don't think would be a trigger case for nulling the input to the integrator. It would make more sense that if the error is negative (drone went to 55m, so error is -5m) and the actuator command is still positive (driving the drone even higher, i.e. overshooting) should cause the integrator clamping to kick in.
@madhumathi1255 Жыл бұрын
I can't understand the AND gate and it confuses me, could you please explain it
@pnachtwey5 жыл бұрын
Brian has just described my biggest complain with people that use Matlab. Matlab doesn't seem too consider that the controller has an output of +/- 10 volts ow +/- 20 ma. However, how does Brian propose to control a hydraulic actuator. The closed loop transfer function is K*omega^2/(s*(s^2+2*zeta*omega*s +omega^2)) where K is the open loop gain, zeta is the damping factor and omega is the natural frequency. A PID does not work. There should be one gain for every pole but the integrator gain does not count because the integrator has its own pole.
@lasithaamarasinghe92516 ай бұрын
great video🔥🔥
@heyjianjing2 жыл бұрын
at 9:15, when 1000 rpm is reached, cmd is immediately clamped. I can understand that the saturation condition is met here. But I struggle to understand the condition regarding the sign. At that time, the drone is below 50 m and the speed of propeller works in the direction of reducing that position error, how is the condition of sign is also met to trigger the clamping?
@tinfever Жыл бұрын
Edit: Nevermind, I think the video is right. I posted another comment with a bit more detail on why. I think this might be an error in the video. As described if the drone is at 0m and the target is 50m, the error is +50m and the desired motor RPM is positive to drive the drone higher. Positive error and positive actuator command seem to be a desired state, which I don't think would be a trigger case for nulling the input to the integrator. It would make more sense that if the error is negative (drone went to 55m, so error is -5m) and the actuator command is still positive (driving the drone even higher, i.e. overshooting) should cause the integrator clamping to kick in.
@thinkingaloud18332 жыл бұрын
The series is awsome, well drafted and narrated, easy to follow. I'm just wondering what is the drawing and animation tool that is used here?
@AbdUlrahman-po1xk Жыл бұрын
thanx man this was better than my in 4 yaers in electrical engineering trying to understand this
@braintechlifestyle82444 жыл бұрын
i like all your videos.Continue like that guy
@FredoCorleone6 жыл бұрын
Clamping was the first thing I was thinking about.
@gameover35223 жыл бұрын
Very well delivered and thanks a tonne!
@azizurrehman66326 жыл бұрын
Great job done. Pleasure from Pakistan!
@diegoforlan89286 жыл бұрын
fuck you
@scr_scr4 жыл бұрын
Now you goint to use this control technology for bomb balst 🤣🤣🤣
@JRabba19954 ай бұрын
To check if "the integrator is making things worse" i.e. what Brian computes as "Sign(error) == Sign(u)", I think should be "Sign(error) == Sign(u - Sat(u))". Where u is the controller output and Sat() is the saturation function. In other words, the condition "is the integrator is making things worse" has to consider at what side of the allowed band of values the variable u is. Is u hitting the upper saturation limit or the lower one? that matters to determine if things are getting worse I have tested this on a real implementation and had problems until I fixed this. By the way, this assumes that the Integral Gain is positive (Ki > 0). If it is negative then the condition should be: "Sign(error) != Sign(u - Sat(u))"
@sovanjitpuhan26654 жыл бұрын
Hi, Thank you so much for describing in details about PID controller. but i want to know whether the same PID logic is used in Power Train Devision?
@failranch95422 ай бұрын
I love that he drew the volume control at 11. Spinal Tap.
@MATLAB2 ай бұрын
Yes, Brian is awesome.
@matiasperz Жыл бұрын
Amazing explanation
@invoker9692 жыл бұрын
Hi Brian Douglas, I might say these are one of the best videos I have watched explaining this topic. Please could you let us know what software/lib/tool you used to crate the videos? the style is just perfect for teaching and explaining
@Adhithya10022 жыл бұрын
I think he uses photoshop software + His amazing drawing skill. Check his channel about page.
@Yamahog4 жыл бұрын
Brian, Have you touched on Reset Wind-Up yet? ( where the error in the process control causes the control to over shoot in increasing amounts when the process approaches set-point, like this [1,-1] [2,-2] [5, -5] [14, -14], etc .... kinda like 1/4 wave damping in reverse....?). Thanks
@Saath_Chale_toh_Jeetenge5 жыл бұрын
Sir please elaborate the explanation of same sign of error and controller output at 8:02
@fehrsadu-gyamfi71395 жыл бұрын
Thank you Sir, the videos are very helpful.
@jordannovek29115 жыл бұрын
It seems very similar to the logic used in Betaflight but would learning this help me better understand the Pid controller in Beataflight. Im trying to understand Pid controller fundamentals to help me better tune my Quadcopter. Thank you
@PHLTHS5 жыл бұрын
Hi Brian, is there any chance you could create a video applying this to an engines idle rpm using a PID controller functions? Thank you.
@DanielA-cp2vh3 жыл бұрын
In this video, you put a AND gate for the sign of ERROR and COMMAND. Can you explain a situation that the sign of ERROR is positive and the sign of COMMAND is negative or vice versa?
@Brynnhlder2 жыл бұрын
Thanks for the info im Mechanical a from Philippines currently working in Hongkong it helps me a lot in my costing . thanks .
@anelrastoder54413 жыл бұрын
Hey Brian. Great video! Why do you evaluate the signs of controller in and output? Is that only necessary for a PID controller, as the D-part can create negative control, or would you also do that for a PI-controller?
@Vathorst23 жыл бұрын
So I have a question, When the actuator is wound up and the drone is released and reaches the desired altitude, the integrator would very quickly decrease, but if the total height gained was large enough, would the decreasing of the integrator wind up negative and wind up in the other direction, thereby once the drone is at the desired 50m from falling, it would already be wound up in the other direction, thus causing it to not spin back up its motor in time and crashing into the ground?
@danieltrigo29283 жыл бұрын
Hi brian. I have been following you since a while. I honestly love your work, I would like you a question about the wind up, shouldn't we just can't use a derivative in order to avoid the big overshoot we obtain in the wind up effect? I say this according to the idea of the derivative of PID contoller you said in the your las video. Congrats again and honestly, thank you for all the contributions you do.
@asdfkjhlk343 жыл бұрын
I think the the derivative might not be sensitive enough to compensate. Imagine a wind up that lasted for 10 hours, the integral would become so huge that the derivative would never be negative enough to remove it before it caused a massive overshoot
@rodericksibelius84723 жыл бұрын
This is very interesting Theoretical and practical information. I have 20 years experience Thermal Vacuum Testing at Lockheed Environmental Laboratories. I have wired A SOPHISTICATED Industry High Grade PID controller, the relays, solenoids, heaters, build piping for the Liquid Nitrogen lines for Thermal cycling test for materials for SPACE. I had a hands on on its operations how all these instrumentations are put together along with data recorders / dataloggers storing data. I have always wanted to know the engineering mathematical physics of CONTROL Systems Theory as HOW REALLY does the PID controller circuits work. I would like to learn HOW It is DONE electronically. I would like to learn how it is done on an ARDUINO to fully understand how PID WORKS.
@KIXEMITNOG4 жыл бұрын
Can you implement a Linear-Quadratic-Regulator on a Line follower?
@guygillmore29702 жыл бұрын
respect to the speaker amplifier that goes up to 11!
@mohamedayoub14492 жыл бұрын
@7:57 why would the clamping saturation limit equal to 0 mean no saturation and vice versa ?
@gustavduplessis10242 жыл бұрын
Great video, thank you.
@MrMegaman1116 жыл бұрын
Amazing lecture !!!
@Rafaverdad4 жыл бұрын
Hello Brian, I have a question You said that the maximum velocity is 1000 rpm, but why in 6:08 you also said that the drone will sky up over the 50 meters. Is the motor spinning over 1000 rpm at that time?
@dielaughing734 жыл бұрын
Yes, as seen when the pink line reaches zero.The reason is that until this time the integral error has been _increasing_ therefore increasing the command (above 2000 at this point). It is only after the negative error matches the positive error that the drone will start coming down
@ktuluflux2 жыл бұрын
Probably far too late but: if you have a PI controller with anti-windup , do you need derivative control? It appears to be doing the same thing i.e. putting the brakes on overshoot.
@mrinalgupta15643 жыл бұрын
People disliking please comment what you didn't like..a possible explanation is that you were searching for cartoon and mistakenly ended here
@abhijitkumar56965 жыл бұрын
when the drone propeller are saturated to a particular speed, why would it shoot up and go out of sight during the integral wind up. Shouldnt it remain stable at a constant speed at a particular height?
@abhishekmittal72134 жыл бұрын
To counter the integral windup can't I just increase Kd,as the drone rises up the derivative or the change in error is huge(has a negative sign) and so high Kd will ensure that the drone doesn't go too fast.
@asdfkjhlk343 жыл бұрын
The wind up could be arbitrarily large depending on how long it lasted so no
@OttoGebb8 ай бұрын
When deciding whether to stop accumulating the integral term, should we not consider the sign of the integral term instead of the sign of the entire sum (output)?
@BrianBDouglas7 ай бұрын
No it's the sign of the output. Imagine that the integral output is a negative term but P and D outputs are both really positive making the summation of all three positive and saturating. Since the error is still positive (which we know because of the positive proportional output) this means that the integral is going in the positive direction - in this case getting less negative. Do we want that? Well, we're already saturating in the positive direction so moving the integral less negative will continue to make the whole PID output more positive and therefore more saturated. So, even thought the sign of the integral is negative, we still want to clamp it with a positive output of the PID controller. Did that make sense?
@OttoGebb7 ай бұрын
@@BrianBDouglas Right. Thank you!
@dimitris_g56515 жыл бұрын
Thank you very much excellent tutorial !
@NEoXeditor4 жыл бұрын
learned more in 10min than 1 year at UNI about PID regulator..what a sad story!
@jayeshjahagirdar95893 жыл бұрын
Can someone plz tell me why are we comparing the signs of the error and the controller output in clamping?
@jateenbhagat54964 жыл бұрын
how controller output can be negative???
@asdfkjhlk343 жыл бұрын
Exactly I feel like it's a mistake, and it should be the derivative of the controller output
@Thomas-nc9fz2 жыл бұрын
A servo in the middle is at a 0 position. Moving the arm right means the controller output is positive, moving the arm to the left means the controller output is negative.
@brd87644 жыл бұрын
Integral windup, also known as integrator windup[1] or reset windup,[2] refers to the situation in a PID feedback controller where a large change in setpoint occurs (say a positive change) and the integral term accumulates a significant error during the rise (windup), thus overshooting and continuing to increase as this accumulated error is unwound (offset by errors in the other direction). The specific problem is the excess overshooting.
@radoslavradoslavov35282 жыл бұрын
Thank you very much!
@kazutokirigaya75183 жыл бұрын
hi. good video. really helping me. do you mind to allow auto generate english substitle? I need to watch the video fast.. the initial of the video got the translation, but it stopped showing in the middle of the video though. Thanks!
@MATLAB3 жыл бұрын
Hello. There was an error with the initial subtitle file. Hopefully, you should be able to watch the entirety of the video with translated subtitles now.
@youknowme8929 ай бұрын
Sir, can you please explain that what is the sign of the controll which you ment in the video as comparison with the sign of error ( at 8:01 minutes) 🥲 please sir .
@BrianBDouglas9 ай бұрын
sign() is a function in MATLAB and the documentation will help you understand. In the video, I'm just saying that if the integral is saturated in the positive direction (a sign of 1), and the error is trying to make it more positive (a sign of 1), then we want to clamp the integral and not allow it to add any more error to the summation. However, if the error is trying to make it more negative (a sign of -1), then we don't want to clamp because the error is actually trying to remove the saturation in the integral and we want that to happen. Does that make sense?
@youknowme8929 ай бұрын
@@BrianBDouglas thank you so much sir 😊, i have understand now . I am so glad that you replied me😊
@GryffieTube8 ай бұрын
I love how the speaker goes to "11", this is obviously a nod at Spinal Tap.
@chriswong10704 жыл бұрын
as a Chinese, want to use an idiom to describe my feelings now : 茅塞頓開
@amey9711 ай бұрын
Thank You!
@sharafsatishkumar4 жыл бұрын
Hi Brian, nicely articulated explanation. Really appreciate and really helped in understanding the concept better. By the way, when do we turn on the integral input again? Is it something like we need to continuously monitor the integral input?
@rahulbhatia39604 жыл бұрын
I'm no Brian, but according to my understanding, the clamping of the integral input (and thus the switching off) only happens in the case that the actuator is in the saturation state. Only the clamper detects that the actuator is no longer in saturation (and that the error sign is the same in both actuator and controller output), it would turn the switch on again. So no constant monitoring of the integral would be required.
@mariovladuttino774211 ай бұрын
What I don’t understand is the following. Since the error would be the difference between the measured rpm and the wanted rpm, how do we reach the 2000 rpm if we are never actually reading more than a 1000 rpm, in other words, at what point does the motor receive the 2000 rpm order?
@Omo_Mohd10 ай бұрын
In this example the measured value and hence the error is the drone altitude not the motor speed, hence as long as the height difference exists the integrator keeps accumulating the error value and therefore sending larger and larger actuating signal
@BrianBDouglas10 ай бұрын
@@Omo_Mohd Thanks for answering!
@mariovladuttino774210 ай бұрын
Okay I get it now, thank you very much for your response, much appreciated@@Omo_Mohd