Anti-windup for PID control | Understanding PID Control, Part 2

Ғылым және технология

The first video in this series described a PID controller, and it showed how each of the three branches help control your system.
- Download Code Examples to Learn How to Automatically Tune PID Controller Gainshttps: bit.ly/2HKBh12
That seemed simple enough and appeared to work. However, in practice, an ideal PID controller introduces several problems that you need to protect against when dealing with imperfect systems. This includes saturation, which is a common nonlinear problem found in real-life situations.
This video expands beyond a simple integral and discusses anti-windup methods to prevent integral wind-up in PID control.
PID Control with MATLAB and Simulink: bit.ly/2Qg57y8
PID Control Made Easy: bit.ly/2Q7Hhor
Anti-Windup Control Using a PID Controller: bit.ly/2QauNMQ
Watch more MATLAB Tech Talks: bit.ly/2rTc8Yp
Check out more control system lectures on Brian's Channel: bit.ly/2IUlvkw
-------------------------------------------------------------------------------------------------------------------------------------
Get a free MATLAB Trial: goo.gl/ZHFb5u
Learn more about MATLAB: goo.gl/8QV7ZZ
Learn more about Simulink: goo.gl/nqnbLe
See What's new in MATLAB and Simulink: goo.gl/pgGtod
© 2018 The MathWorks, Inc. MATLAB and Simulink are registered
trademarks of The MathWorks, Inc.
See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names maybe trademarks or registered trademarks of their respective holders.

Пікірлер: 180

  • @BrianBDouglas
    @BrianBDouglas6 жыл бұрын

    Hey everyone, thanks for watching! If you have any questions, leave them here and I'll try to answer them when I can. Cheers!

  • @killemaster999

    @killemaster999

    5 жыл бұрын

    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.

  • @BrianBDouglas

    @BrianBDouglas

    5 жыл бұрын

    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.

  • @benlee93

    @benlee93

    5 жыл бұрын

    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?

  • @ikhmal2716

    @ikhmal2716

    5 жыл бұрын

    How to design a PID controller for a microgrid?

  • @vaibhavahire3636

    @vaibhavahire3636

    5 жыл бұрын

    You are an amazing instructor.

  • @michaelpeacock5144
    @michaelpeacock51443 жыл бұрын

    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 .

  • @shibumeher5044
    @shibumeher50445 жыл бұрын

    Thank you, Brian. This series of videos are amazing and simple to understand.

  • @plinioferreira4255
    @plinioferreira42555 жыл бұрын

    How come this only have 800 likes? This guy is awesome! Thank you Brian, I learn so much with your lectures!

  • @stewartparkinson5290
    @stewartparkinson52904 жыл бұрын

    Very clear and intuitive Brian...great job with a flawless delivery!

  • @vheisshu
    @vheisshu2 жыл бұрын

    i love how well the technicals being elaborated and explained. Awesome! i am prepping myself for interview on PID, this will be helpful.

  • @emlmm88
    @emlmm883 жыл бұрын

    These MATLAB tech talks are absolutely fantastic.

  • @DennisZIyanChen
    @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.

  • @Omo_Mohd
    @Omo_Mohd4 ай бұрын

    Mathwork is so lucky and honored to have Brian in its team

  • @BrianBDouglas

    @BrianBDouglas

    4 ай бұрын

    😊

  • @baruch4401
    @baruch44014 жыл бұрын

    Thanks Brian, the calculus classes I took 100 years ago now have meaning! AM

  • @crashpilot5006
    @crashpilot50063 жыл бұрын

    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!

  • @chayakumar1210
    @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.

  • @dsrabelo
    @dsrabelo5 жыл бұрын

    Great job Brian! Keep up the good work!

  • @johncorson6599
    @johncorson6599 Жыл бұрын

    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

  • @wiloberlies9598
    @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.

  • @varunrajshedge5562
    @varunrajshedge55625 жыл бұрын

    Great Job!! Thank you for teaching us the basics of PID :)

  • @AntenainaLand
    @AntenainaLand5 жыл бұрын

    Really, thank you from the bottom of my heart.

  • @pratikranjanraul4178
    @pratikranjanraul41782 жыл бұрын

    Probably the best prof for Control Systems..... Love from India!!!❤️.... Thanks!!!

  • @drleighmj
    @drleighmj Жыл бұрын

    Brilliant explanation - wish I had these 30 yrs ago. (Love the spinal tap reference!)

  • @abdelkaderbelabed3868
    @abdelkaderbelabed3868 Жыл бұрын

    Hi, Brian your videos about control theory is great, I hope you will talk about MPC controller

  • @amal717
    @amal7175 жыл бұрын

    Thank you so much. You are so genious and terrific. I am shocked because of your wonderful lessons on KZread. Thank you a lot.

  • @user-ki1zt5fh5v
    @user-ki1zt5fh5v3 ай бұрын

    very clear video showing the principle of PID controller

  • @jlleluc4s
    @jlleluc4s3 жыл бұрын

    Very precise in the explanation. I liked the example of the drone.

  • @olivertrzcinski1320
    @olivertrzcinski13204 ай бұрын

    Thank you Brian! I wasn't aware I was so strong. Love the vids!

  • @EL.3000
    @EL.30005 жыл бұрын

    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.

  • @yossee614
    @yossee6142 жыл бұрын

    Amazing Lecture! Thank you Brian!

  • @fehrsadu-gyamfi7139
    @fehrsadu-gyamfi71395 жыл бұрын

    Thank you Sir, the videos are very helpful.

  • @sivabalaji5341
    @sivabalaji53415 жыл бұрын

    Hey brain happy to see you that you are associating with Matlab .Along with the Clamping it's also recommended to use the filter.

  • @AhmedSamir-ov5yi
    @AhmedSamir-ov5yi4 жыл бұрын

    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

  • @viveknandan5502
    @viveknandan55026 ай бұрын

    I love this lecture. It's interesting and so satisfying to brain.

  • @feliwx4087
    @feliwx408710 ай бұрын

    Beautifully explained! Thankssss!

  • @MrMegaman111
    @MrMegaman1115 жыл бұрын

    Amazing lecture !!!

  • @brd8764
    @brd87643 жыл бұрын

    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.

  • @aakashdewangan7313
    @aakashdewangan731310 ай бұрын

    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

    @nadiaakter9351

    9 ай бұрын

    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

  • @yeasirarafat1003
    @yeasirarafat10032 жыл бұрын

    I am watching this on 15 th february . Awesome video . thanks .

  • @hussainhussain5153
    @hussainhussain51532 жыл бұрын

    Thank you for making this simple

  • @LEVELUPAXOM
    @LEVELUPAXOM4 жыл бұрын

    You really a great lecturer ..loves from INDIA

  • @matiasperz
    @matiasperz11 ай бұрын

    Amazing explanation

  • @mnada72
    @mnada723 жыл бұрын

    Thank you for the great video, would you explain the back calculation method or suggest a source for that .

  • @nikitasarkar5816
    @nikitasarkar581611 ай бұрын

    Brian you are AWESOME!

  • @jnv1971
    @jnv19715 жыл бұрын

    2:40 Turning it up to eleven. Nice touch :D

  • @rodericksibelius8472
    @rodericksibelius84722 жыл бұрын

    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.

  • @gameover3522
    @gameover35222 жыл бұрын

    Very well delivered and thanks a tonne!

  • @FredoCorleone
    @FredoCorleone5 жыл бұрын

    Clamping was the first thing I was thinking about.

  • @dhananjaykumar5114
    @dhananjaykumar51143 жыл бұрын

    Very Good Lecture

  • @gustavduplessis1024
    @gustavduplessis1024 Жыл бұрын

    Great video, thank you.

  • @dimitris_g5651
    @dimitris_g56514 жыл бұрын

    Thank you very much excellent tutorial !

  • @thinkingaloud1833
    @thinkingaloud1833 Жыл бұрын

    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?

  • @davesmith8255
    @davesmith82555 жыл бұрын

    Your videos turn it up to 11, cheers!

  • @AbdUlrahman-po1xk
    @AbdUlrahman-po1xk7 ай бұрын

    thanx man this was better than my in 4 yaers in electrical engineering trying to understand this

  • @tongwu4412
    @tongwu44125 жыл бұрын

    So amazing, awesome!

  • @sovanjitpuhan2665
    @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?

  • @braintechlifestyle8244
    @braintechlifestyle82443 жыл бұрын

    i like all your videos.Continue like that guy

  • @KaptainLuis
    @KaptainLuis Жыл бұрын

    thank you so much!

  • @Jackchalm
    @Jackchalm5 жыл бұрын

    Nice cheeky little Spinal Tap reference

  • @PHLTHS
    @PHLTHS4 жыл бұрын

    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.

  • @radoslavradoslavov3528
    @radoslavradoslavov3528 Жыл бұрын

    Thank you very much!

  • @anelrastoder5441
    @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?

  • @amey97
    @amey974 ай бұрын

    Thank You!

  • @kishanpradhan6669
    @kishanpradhan66692 жыл бұрын

    Thank you

  • @GryffieTube
    @GryffieTubeАй бұрын

    I love how the speaker goes to "11", this is obviously a nod at Spinal Tap.

  • @oliverjohn2852
    @oliverjohn2852 Жыл бұрын

    nice and great

  • @jordannovek2911
    @jordannovek29114 жыл бұрын

    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

  • @xiaofenglin470
    @xiaofenglin4702 жыл бұрын

    So cool!

  • @Yamahog
    @Yamahog3 жыл бұрын

    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

  • @KIXEMITNOG
    @KIXEMITNOG3 жыл бұрын

    Can you implement a Linear-Quadratic-Regulator on a Line follower?

  • @invoker969
    @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

  • @Adhithya1002

    @Adhithya1002

    Жыл бұрын

    I think he uses photoshop software + His amazing drawing skill. Check his channel about page.

  • @peterazer4671
    @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 ?

  • @LEVELUPAXOM
    @LEVELUPAXOM4 жыл бұрын

    Sir please elaborate the explanation of same sign of error and controller output at 8:02

  • @danieltrigo2928
    @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.

  • @asdfkjhlk34

    @asdfkjhlk34

    3 жыл бұрын

    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

  • @MahmoudMohamed-gu2mh
    @MahmoudMohamed-gu2mh2 жыл бұрын

    amazing pro

  • @guygillmore2970
    @guygillmore29702 жыл бұрын

    respect to the speaker amplifier that goes up to 11!

  • @manojsaladi8886
    @manojsaladi88865 жыл бұрын

    perfect

  • @baruch4401
    @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

  • @DanielA-cp2vh
    @DanielA-cp2vh2 жыл бұрын

    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?

  • @glenngoysens8372
    @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".

  • @pnachtwey
    @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.

  • @askinc102
    @askinc1025 жыл бұрын

    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.

  • @supershaye

    @supershaye

    5 жыл бұрын

    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.

  • @mohamedayoub1449
    @mohamedayoub1449 Жыл бұрын

    @7:57 why would the clamping saturation limit equal to 0 mean no saturation and vice versa ?

  • @Vathorst2
    @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?

  • @azizurrehman6632
    @azizurrehman66325 жыл бұрын

    Great job done. Pleasure from Pakistan!

  • @diegoforlan8928

    @diegoforlan8928

    5 жыл бұрын

    fuck you

  • @scr_scr

    @scr_scr

    3 жыл бұрын

    Now you goint to use this control technology for bomb balst 🤣🤣🤣

  • @kurious-design
    @kurious-design4 жыл бұрын

    you rock!

  • @tinfever
    @tinfever10 ай бұрын

    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

    @madhumathi1255

    10 ай бұрын

    I can't understand the AND gate and it confuses me, could you please explain it

  • @AlDumbrava
    @AlDumbrava4 жыл бұрын

    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

  • @jainamshroff4998

    @jainamshroff4998

    2 жыл бұрын

    This comment cleared my confusion, thank you !

  • @fab4andthejkflipflops6

    @fab4andthejkflipflops6

    Жыл бұрын

    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.

  • @jayeshjahagirdar9589
    @jayeshjahagirdar95892 жыл бұрын

    Can someone plz tell me why are we comparing the signs of the error and the controller output in clamping?

  • @abhijitkumar5696
    @abhijitkumar56964 жыл бұрын

    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?

  • @TEFPV
    @TEFPV2 жыл бұрын

    thnx ALOOOOOOOOT

  • @manikjang1815
    @manikjang18154 жыл бұрын

    Hi Brian Thanks for your great explaination about PID controller. I am a student studying Mechatronics, I recently came across complementary sensitivity transerfer function from reference to output. Could you explain what it is really standing for? Thanks a lot!

  • @kazutokirigaya7518
    @kazutokirigaya75182 жыл бұрын

    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!

  • @MATLAB

    @MATLAB

    2 жыл бұрын

    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.

  • @heyjianjing
    @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

    @tinfever

    10 ай бұрын

    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.

  • @Rafaverdad
    @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?

  • @dielaughing73

    @dielaughing73

    3 жыл бұрын

    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

  • @mynameis74406
    @mynameis744063 жыл бұрын

    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?

  • @rahulbhatia3960

    @rahulbhatia3960

    3 жыл бұрын

    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.

  • @youknowme892
    @youknowme8923 ай бұрын

    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 .

  • @BrianBDouglas

    @BrianBDouglas

    2 ай бұрын

    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?

  • @youknowme892

    @youknowme892

    2 ай бұрын

    @@BrianBDouglas thank you so much sir 😊, i have understand now . I am so glad that you replied me😊

  • @OttoGebb
    @OttoGebbАй бұрын

    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)?

  • @BrianBDouglas

    @BrianBDouglas

    22 күн бұрын

    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?

  • @OttoGebb

    @OttoGebb

    21 күн бұрын

    @@BrianBDouglas Right. Thank you!

  • @ktuluflux
    @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.

  • @abhishekmittal7213
    @abhishekmittal72133 жыл бұрын

    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.

  • @asdfkjhlk34

    @asdfkjhlk34

    3 жыл бұрын

    The wind up could be arbitrarily large depending on how long it lasted so no

  • @securitysystemsandsecurity4757
    @securitysystemsandsecurity47575 жыл бұрын

    What's is the softwarebyoubuse to explain and animate stuff?

  • @invoker969

    @invoker969

    2 жыл бұрын

    I have the same question? anyone knows what was the software/tool/lib used to make these kind of animated videos ?

  • @mariovladuttino7742
    @mariovladuttino77424 ай бұрын

    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_Mohd

    @Omo_Mohd

    4 ай бұрын

    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

  • @BrianBDouglas

    @BrianBDouglas

    4 ай бұрын

    @@Omo_Mohd Thanks for answering!

  • @mariovladuttino7742

    @mariovladuttino7742

    3 ай бұрын

    Okay I get it now, thank you very much for your response, much appreciated@@Omo_Mohd

  • @mpc3003
    @mpc30032 жыл бұрын

    I hope that speaker volume dial drawing was an intentional Spinal Tap reference…

  • @jateenbhagat5496
    @jateenbhagat54964 жыл бұрын

    how controller output can be negative???

  • @asdfkjhlk34

    @asdfkjhlk34

    3 жыл бұрын

    Exactly I feel like it's a mistake, and it should be the derivative of the controller output

  • @Thomas-nc9fz

    @Thomas-nc9fz

    Жыл бұрын

    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.