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

Поділитися
Вставка
  • Опубліковано 4 чер 2018
  • 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.
  • Наука та технологія

КОМЕНТАРІ • 187

  • @BrianBDouglas
    @BrianBDouglas 6 років тому +377

    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 6 років тому +6

      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 6 років тому +2

      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 років тому +1

      You are an amazing instructor.

  • @michaelpeacock5144
    @michaelpeacock5144 4 роки тому +85

    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 .

    • @ookook33
      @ookook33 Місяць тому +3

      that explains...a lot...

  • @teebee3881
    @teebee3881 23 дні тому

    Hands down the best man to explain control thoery on the internet!!!!

  • @DennisZIyanChen
    @DennisZIyanChen 4 роки тому +8

    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.

  • @shibumeher5044
    @shibumeher5044 5 років тому +1

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

  • @Omo_Mohd
    @Omo_Mohd 6 місяців тому +2

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

  • @plinioferreira4255
    @plinioferreira4255 5 років тому +4

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

  • @crashpilot5006
    @crashpilot5006 4 роки тому +9

    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!

  • @dsrabelo
    @dsrabelo 6 років тому +2

    Great job Brian! Keep up the good work!

  • @baruch4401
    @baruch4401 4 роки тому +1

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

  • @emlmm88
    @emlmm88 3 роки тому +2

    These MATLAB tech talks are absolutely fantastic.

  • @stewartparkinson5290
    @stewartparkinson5290 5 років тому +1

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

  • @vheisshu
    @vheisshu 3 роки тому +1

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

  • @varunrajshedge5562
    @varunrajshedge5562 5 років тому +2

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

  • @AntenainaLand
    @AntenainaLand 5 років тому +3

    Really, thank you from the bottom of my heart.

  • @olivertrzcinski1320
    @olivertrzcinski1320 6 місяців тому +1

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

  • @chayakumar1210
    @chayakumar1210 5 років тому +1

    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.

  • @drleighmj
    @drleighmj Рік тому +1

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

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

  • @amal717
    @amal717 5 років тому

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

  • @wiloberlies9598
    @wiloberlies9598 6 років тому +2

    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.

  • @Saath_Chale_toh_Jeetenge
    @Saath_Chale_toh_Jeetenge 5 років тому +6

    You really a great lecturer
    ..loves from INDIA

  • @EL.3000
    @EL.3000 5 років тому +13

    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.

  • @fehrsadu-gyamfi7139
    @fehrsadu-gyamfi7139 5 років тому

    Thank you Sir, the videos are very helpful.

  • @pratikranjanraul4178
    @pratikranjanraul4178 3 роки тому

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

  • @MrMegaman111
    @MrMegaman111 5 років тому

    Amazing lecture !!!

  • @yossee614
    @yossee614 2 роки тому

    Amazing Lecture! Thank you Brian!

  • @jlleluc4s
    @jlleluc4s 3 роки тому

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

  • @feliwx4087
    @feliwx4087 Рік тому +1

    Beautifully explained! Thankssss!

  • @gameover3522
    @gameover3522 2 роки тому

    Very well delivered and thanks a tonne!

  • @tongwu4412
    @tongwu4412 5 років тому

    So amazing, awesome!

  • @jnv1971
    @jnv1971 5 років тому +26

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

  • @arashrahmani8372
    @arashrahmani8372 Місяць тому

    Thank you so much. It is a great explanation. I was thinking about this problem and now I got my answer :).

  • @nikitasarkar5816
    @nikitasarkar5816 Рік тому

    Brian you are AWESOME!

  • @aakashdewangan7313
    @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
      @nadiaakter9351 11 місяців тому

      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

  • @braintechlifestyle8244
    @braintechlifestyle8244 3 роки тому

    i like all your videos.Continue like that guy

  • @dimitris_g5651
    @dimitris_g5651 4 роки тому

    Thank you very much excellent tutorial !

  • @hussainhussain5153
    @hussainhussain5153 2 роки тому

    Thank you for making this simple

  • @user-ki1zt5fh5v
    @user-ki1zt5fh5v 5 місяців тому

    very clear video showing the principle of PID controller

  • @davesmith8255
    @davesmith8255 5 років тому +4

    Your videos turn it up to 11, cheers!

  • @Jackchalm
    @Jackchalm 5 років тому +6

    Nice cheeky little Spinal Tap reference

  • @dhananjaykumar5114
    @dhananjaykumar5114 4 роки тому +1

    Very Good Lecture

  • @matiasperz
    @matiasperz Рік тому

    Amazing explanation

  • @gustavduplessis1024
    @gustavduplessis1024 2 роки тому

    Great video, thank you.

  • @viveknandan5502
    @viveknandan5502 8 місяців тому

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

  • @lasithaamarasinghe9251
    @lasithaamarasinghe9251 Місяць тому

    great video🔥🔥

  • @yeasirarafat1003
    @yeasirarafat1003 2 роки тому

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

  • @Antonioqwert3868
    @Antonioqwert3868 Рік тому

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

  • @sivabalaji5341
    @sivabalaji5341 5 років тому

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

  • @AbdUlrahman-po1xk
    @AbdUlrahman-po1xk 9 місяців тому

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

  • @uygarglk
    @uygarglk Місяць тому

    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.

  • @brd8764
    @brd8764 4 роки тому +1

    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.

  • @FredoCorleone
    @FredoCorleone 6 років тому +1

    Clamping was the first thing I was thinking about.

  • @radoslavradoslavov3528
    @radoslavradoslavov3528 Рік тому

    Thank you very much!

  • @AhmedSamir-ov5yi
    @AhmedSamir-ov5yi 4 роки тому +2

    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

  • @mnada72
    @mnada72 3 роки тому

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

  • @amey97
    @amey97 7 місяців тому

    Thank You!

  • @KaptainLuis
    @KaptainLuis Рік тому

    thank you so much!

  • @xiaofenglin470
    @xiaofenglin470 2 роки тому

    So cool!

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

  • @sovanjitpuhan2665
    @sovanjitpuhan2665 4 роки тому

    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?

  • @chhayaseng6304
    @chhayaseng6304 4 роки тому

    Thank you

  • @anelrastoder5441
    @anelrastoder5441 3 роки тому

    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?

  • @oliverjohn2852
    @oliverjohn2852 Рік тому

    nice and great

  • @rodericksibelius8472
    @rodericksibelius8472 2 роки тому +1

    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.

  • @PHLTHS
    @PHLTHS 5 років тому

    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.

  • @peterazer4671
    @peterazer4671 5 років тому +2

    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 ?

  • @Saath_Chale_toh_Jeetenge
    @Saath_Chale_toh_Jeetenge 5 років тому +1

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

  • @GryffieTube
    @GryffieTube 3 місяці тому

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

  • @invoker969
    @invoker969 2 роки тому

    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.

  • @KIXEMITNOG
    @KIXEMITNOG 4 роки тому

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

  • @MahmoudMohamed-gu2mh
    @MahmoudMohamed-gu2mh 2 роки тому

    amazing pro

  • @jordannovek2911
    @jordannovek2911 4 роки тому

    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

  • @Yamahog
    @Yamahog 3 роки тому

    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

  • @manojsaladi8886
    @manojsaladi8886 5 років тому

    perfect

  • @azizurrehman6632
    @azizurrehman6632 6 років тому +1

    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 🤣🤣🤣

  • @danieltrigo2928
    @danieltrigo2928 3 роки тому

    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

  • @kurious-design
    @kurious-design 4 роки тому

    you rock!

  • @mohamedayoub1449
    @mohamedayoub1449 2 роки тому

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

  • @baruch4401
    @baruch4401 4 роки тому +1

    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

  • @askinc102
    @askinc102 5 років тому +2

    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 років тому +1

      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.

  • @jayeshjahagirdar9589
    @jayeshjahagirdar9589 2 роки тому

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

  • @DanielA-cp2vh
    @DanielA-cp2vh 3 роки тому

    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?

  • @Vathorst2
    @Vathorst2 3 роки тому

    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?

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

  • @abhijitkumar5696
    @abhijitkumar5696 4 роки тому

    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?

  • @AlDumbrava
    @AlDumbrava 4 роки тому +5

    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 роки тому +1

      This comment cleared my confusion, thank you !

    • @fab4andthejkflipflops6
      @fab4andthejkflipflops6 2 роки тому +1

      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.

  • @heyjianjing
    @heyjianjing 2 роки тому +1

    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 Рік тому

      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.

  • @TEFPV
    @TEFPV 2 роки тому

    thnx ALOOOOOOOOT

  • @mynameis74406
    @mynameis74406 4 роки тому +1

    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 4 роки тому +2

      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.

  • @Rafaverdad
    @Rafaverdad 4 роки тому

    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 роки тому +2

      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

  • @tinfever
    @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
      @madhumathi1255 Рік тому

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

  • @pnachtwey
    @pnachtwey 5 років тому

    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.

  • @guygillmore2970
    @guygillmore2970 2 роки тому

    respect to the speaker amplifier that goes up to 11!

  • @kazutokirigaya7518
    @kazutokirigaya7518 3 роки тому

    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  3 роки тому +1

      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.

  • @abhishekmittal7213
    @abhishekmittal7213 3 роки тому +1

    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 роки тому +1

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

  • @OttoGebb
    @OttoGebb 3 місяці тому

    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 2 місяці тому +1

      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 2 місяці тому

      @@BrianBDouglas Right. Thank you!

  • @JRabba1995
    @JRabba1995 4 дні тому

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

  • @securitysystemsandsecurity4757
    @securitysystemsandsecurity4757 5 років тому

    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 ?

  • @youknowme892
    @youknowme892 5 місяців тому

    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 5 місяців тому +1

      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 5 місяців тому

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