@@John-eh2zc not doesnt like music, doesnt like annoying background music in tech videos. Usually because one either cant listen to it atm or is already listening to their own music, or because the music used is really bad stock music
I'm glad you found it helpful! I actually built this for a mechatronics class demonstration at Georgia Tech where I did my teaching practicum (TA) during grad school.
I watched this video 4 years ago and now I'm doing my master's thesis on control and just today as I was thinking about it, it popped back into my recommended. Love it!
I heard about PID control from people in the BBQ world, but had no idea what it actually meant. Now, I am weeks away from getting a degree in Mechanical Engineering and I have a much better understanding. Your video really solidified everything and provides an excellent explanation of PID control. As a side project, I am going to build a PID controller to regulate temperatures of a smoker with the use of a fan.
I was a Motion Control Engineer in my very first job 25 years ago, long before robots were cool like they are today. I worked on streamlined robotic arms inside wind tunnels, satellite tracking TV transmission vans, formula 1 racing car "4 poster" testing rigs, air-to-air missile testing systems, and tank tracked robots that would crawl inside nuclear reactors using neodymium magnets that hugged the surface so they could drive upside down held up by magnetism! At their core, all those projects worked because of PID control of DC motors. Some days I wish I'd staying in that industry... :-/
The idea of using a pendulum to demonstrate this is genius as it's so easy to imagine the movement in relation with underdamped and critically damped graphs in your minds eye
This is such a good demonstration about understanding the PID. I really wish I found out this video quite earlier when I was having a project in my Control System subject so that it would be less bloodier for my group.
Currently working on a DIY PID controller for homebrewing, I have just finished some tests and also ran some auto-tuning methods (Ziegler-Nichols), now I have the maximum overshoot down to 0,1K, which is really nice. But boy, it takes time! The output is used as PWM control for an SSR with a cycle time of 5 seconds. It must be fun to work with a system that reacts so fast like yours, you get instant feedback and can tweak more or less in realtime. I think, I'll build something similar, just for fun!
I never quit knew how to prevent windup properly, i used to just reset the error when target was reached and it "worked" but was not how it should be done. Had a look at your code and now have a better understanding of how to do it
Very well explained video. It's a great project Maybe you should do a basic tutorial for dummies on the P, I and D effects on the control system, it would be a great idea
Excellent stuff! I would add one extra feature: u = Kp*error + Ki*error_i + Kd*error_d + offset; Sometimes we have a deadband or the axis is fighting gravity; In reality, the Ki can never stabilise the axis.
I don't see why it couldn't? The I term just keeps accumulating error and would end up reeling in that offset or deadband on its own right? And if it's oscillating over the point then the D term is supposed to dampen those oscillations.
@@thegreatzoom5073 Ki*Error_i can and will be enough to get to reference with propper Anti-windup, or, if necessary, with some sort of adaptive PID gain. Never heard of this "+offset", but it might be a thing, i just never heard of
well it kinda is, you have to find the right parameters for it to work really well for your application, though once you find them it can be hella tight, though finding these controll parameters is an art and not really a science
For high speed servos, it is common for the PID to be clocked at 6MHZ or more. Some applications are analog using 3 summed op amps. One for each component of PID. They are more difficult to tune. The Proportional is simple and can use a pot for gain. Derivative and Integral have both gain and time components which must be timed to the motor and load to be properly tuned. The gain is simple with a pot, but the time, involves changing capacitors, or changing the clock rate on a switched capacitor low pass filter, or other adjustable low pass filter.
Thank you so much Mr.Gregory L. Holst , I salute you for such a great heart to share everything , it will help us to understand working and implementation of PID controller. You are at place of my professors. I will start working on your efforts . Thank you thank u again.
I do take requests. :) thanks for the comment. As soon as I hit 1000 subscribers I’ll make another video. Which would you prefer 1) how to build and program a PID controller or 2) a more in depth run through of what I showed in this video? Reply with a 1 or 2 and I’ll make the one with the most votes.
@@arduinoNube both, but if I had to pick just one I'd say #2. There's tons of libraries and example codes of PID controls for Arduino and other controllers out there, and it would be nice to have a good walk through explaining how to set it all up, but having the deepest and best understanding of the PID system itself can help with tuning and optimizing of any of those systems.
Wow. Thanks for the video. Actually, my Final Project when in college is similar to this, but only Software simulation. And you make my dream come true!
Amazing this system can control multi-copters with so much noise, multiple motors wind drag and infinite different forces at work. Now when this system wigs out, your drone is hell on blades.
@@cetyl2626 modern multirotor code has way more pid controller improvements than just windup, but for curiosity reasons here you go: github.com/betaflight/betaflight/search?q=windup&unscoped_q=windup
Very nice demonstration. Thank you. Many commented, that it's a good explanation, but it does not explain anything, it just shows it in operation. Is there more information about the exact setup, the motor, position sensor, controller, software?
wish we had this in college. Control was my least favourite subject because it was not very practical best explaintion of the material I have ever seen!!!!!!!!!!
+technoshamanarchist Hey, no problem. I'm glad you liked it. Maybe if there's enough interest, I'll do another video on how to build and program it. :)
awesome awesome, awesome, awesome. My question is: Can the controller automatically characterise the motor and thus pre-calculate the optimal parameter values based on max torque, inertia etcetc ?
The magic comes from the right set of parameters. You need to find the right values for your device, either empirically or by using (automated) heuristic methods. But once these parameters match your use case, you can pretty much surprise your system with all kind of weird situations and it will react as desired.
very cool thanks for sharing. it would be helpful and educational if you showed the physical result of each parameter being way too low , barely too low, wait to high, and barely too high, as well as holding all variables the same, then adjusting the sampling frequency.
Thank you for not using any music
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
@@John-eh2zc not doesnt like music, doesnt like annoying background music in tech videos. Usually because one either cant listen to it atm or is already listening to their own music, or because the music used is really bad stock music
Man this is the best summary of PIDs an engineering student could get. Thank you!
Forastieri I second you.
This demo is simply amazing. I loved it a lot .
I'm glad you found it helpful! I actually built this for a mechatronics class demonstration at Georgia Tech where I did my teaching practicum (TA) during grad school.
Thank you very much for sharing it with us!
That is a very expressive hand
Yeah..its like its got a life of its own !!
I read it as 'expensive' and wondered why a prosthetic arm looked so real
I read expensive too ^^😄
I watched this video 4 years ago and now I'm doing my master's thesis on control and just today as I was thinking about it, it popped back into my recommended. Love it!
Nicolas S. Thank you for taking time to leave a note. I hope your thesis goes well! Glad you found the video helpful!
I wrote a final paper on this concept for one of my math courses, yet this video explains the main idea in 3 minutes
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
I heard about PID control from people in the BBQ world, but had no idea what it actually meant. Now, I am weeks away from getting a degree in Mechanical Engineering and I have a much better understanding. Your video really solidified everything and provides an excellent explanation of PID control. As a side project, I am going to build a PID controller to regulate temperatures of a smoker with the use of a fan.
It's amazing.
till now we seen only formulas and heard something like PID. But, now we can understand practically how it's work
Thank you so much
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
*Finally in 2020 I found a hand that talks. Way explanatory video than people actually talking to explain*
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
I was a Motion Control Engineer in my very first job 25 years ago, long before robots were cool like they are today.
I worked on streamlined robotic arms inside wind tunnels, satellite tracking TV transmission vans, formula 1 racing car "4 poster" testing rigs, air-to-air missile testing systems, and tank tracked robots that would crawl inside nuclear reactors using neodymium magnets that hugged the surface so they could drive upside down held up by magnetism!
At their core, all those projects worked because of PID control of DC motors. Some days I wish I'd staying in that industry... :-/
Hi! Thanks for sharing your experience. Why did you leave the industry and where are you now?
The idea of using a pendulum to demonstrate this is genius as it's so easy to imagine the movement in relation with underdamped and critically damped graphs in your minds eye
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
This is phenomenal. So cool that you've shared the code, etc. Thanks so much.
Np. Let me know if you find it useful. -G
At GeorgiaTech, Atlanta, I've had the change to physical watch this demo in ME6405 course with J. Rogers. Great job Gregory ! 👍
Phenomenal, and congratulations, this will help our students to understand PID and closed loop control systems.
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
This is such a good demonstration about understanding the PID. I really wish I found out this video quite earlier when I was having a project in my Control System subject so that it would be less bloodier for my group.
Currently working on a DIY PID controller for homebrewing, I have just finished some tests and also ran some auto-tuning methods (Ziegler-Nichols), now I have the maximum overshoot down to 0,1K, which is really nice. But boy, it takes time! The output is used as PWM control for an SSR with a cycle time of 5 seconds. It must be fun to work with a system that reacts so fast like yours, you get instant feedback and can tweak more or less in realtime. I think, I'll build something similar, just for fun!
Hey man. Can you give some insigths and maybe some articles or content to implement a self tuning pid?
hey man please help me with this project
i kinda now want just this youtube channel to have loads of videos of strange electroprojects with this talketive hand.
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Damn this is the best explanation of PID I've ever seen and it's in under 3 minutes
Very clear, great job!
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
I never quit knew how to prevent windup properly, i used to just reset the error when target was reached and it "worked" but was not how it should be done.
Had a look at your code and now have a better understanding of how to do it
This perfectly bridged the gap between the math and real world output! Thank you :)
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
man i never understand the pids but now with ur video it looks really easy
Very well explained video. It's a great project
Maybe you should do a basic tutorial for dummies on the P, I and D effects on the control system, it would be a great idea
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Excellent stuff!
I would add one extra feature: u = Kp*error + Ki*error_i + Kd*error_d + offset;
Sometimes we have a deadband or the axis is fighting gravity; In reality, the Ki can never stabilise the axis.
I don't see why it couldn't? The I term just keeps accumulating error and would end up reeling in that offset or deadband on its own right? And if it's oscillating over the point then the D term is supposed to dampen those oscillations.
@@thegreatzoom5073 Ki*Error_i can and will be enough to get to reference with propper Anti-windup, or, if necessary, with some sort of adaptive PID gain. Never heard of this "+offset", but it might be a thing, i just never heard of
Great video, clear shows the function of PID.
It is much better than many explanation videos with too many words and formulas.
I worked at a company where the PID control was referred to as Pissing In the Dark.
Man those guys sucked. You rock!
hehehe what is the name of that company?
well it kinda is, you have to find the right parameters for it to work really well for your application, though once you find them it can be hella tight, though finding these controll parameters is an art and not really a science
This is one of the best Explanations for PID With practical meaning I have ever seen and understood. Thankyou !
One button, controls so many gains, frequency code... amazed.
Best video on PIDs ! Short, well explained and covers all aspects of the subject.
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
For high speed servos, it is common for the PID to be clocked at 6MHZ or more. Some applications are analog using 3 summed op amps. One for each component of PID. They are more difficult to tune. The Proportional is simple and can use a pot for gain. Derivative and Integral have both gain and time components which must be timed to the motor and load to be properly tuned. The gain is simple with a pot, but the time, involves changing capacitors, or changing the clock rate on a switched capacitor low pass filter, or other adjustable low pass filter.
Best explanation of PID I've ever seen.
best PID illustration video I have ever seen.
Finally a great demonstration to help us visualize these ideas!
you saved my day. I couldn't wish more. Now I saw all these constants working, their effects in real time. thank you very much
Thank you so much Mr.Gregory L. Holst , I salute you for such a great heart to share everything , it will help us to understand working and implementation of PID controller. You are at place of my professors. I will start working on your efforts . Thank you thank u again.
Dude, you nailed that! That looks perfect, and you didn't even fine tune the parameters but it still works so good...
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Finally after watching lot of videos about pid, your video helped me to understand pid easily.
Thankyou
I love control theory, it's my favorite branch of electronic engineering
Greetings from Colombia
Thank you. The missing info is found..... And all the code to build and explore further. Legend!
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
UA-cam was made for this kind of videos. GREAT!!!
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Awesome. 10 hour version pls.
Ok, just a little bit more would be enough.
I do take requests. :) thanks for the comment. As soon as I hit 1000 subscribers I’ll make another video. Which would you prefer 1) how to build and program a PID controller or 2) a more in depth run through of what I showed in this video? Reply with a 1 or 2 and I’ll make the one with the most votes.
@@arduinoNube both, but if I had to pick just one I'd say #2. There's tons of libraries and example codes of PID controls for Arduino and other controllers out there, and it would be nice to have a good walk through explaining how to set it all up, but having the deepest and best understanding of the PID system itself can help with tuning and optimizing of any of those systems.
A brilliant video demonstration with clarity and simplicity...well done! Thanks for the contribution.
Probably the best PID Vid on UA-cam :)
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Awesome demo. For me this is very informative and I recommend that everyone, using PID controls should watch this video.
I couldn't understand PID controller how to use in real life. Perfect work! Thanks a lot :)
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Best explanation for a PID controller. Very practical and amazing.
You actually deserve more than a million views until now :)
Wow. Thanks for the video.
Actually, my Final Project when in college is similar to this, but only Software simulation. And you make my dream come true!
Great illustration. I'll share it with my fellow techs.
Excellent example of PID controller
I don't do control systems but I did IT work in refineries. Why control systems engineers needed advanced degrees makes a lot more sense now.
I don't think I've ever seen better explanation of PID :)
Very Nice !
Excellent teaching! Practical, hands-on and playful.
Love it. Great logical explanation. Makes control systems look easy
Amazing this system can control multi-copters with so much noise, multiple motors wind drag and infinite different forces at work.
Now when this system wigs out, your drone is hell on blades.
IIRC almost every drone controller already uses PID in their software.
I have no idea what it is or what you said but it was fun to watch
If only my multi rotor was tuned so well.
I wonder if windup is a problem in multi rotors? I don't recall seeing that parameter.
@@cetyl2626 modern multirotor code has way more pid controller improvements than just windup, but for curiosity reasons here you go: github.com/betaflight/betaflight/search?q=windup&unscoped_q=windup
I just have to say.i have not learned all this in control systems in 6 months in my semester,as from this 3 mins video..Thanks man!
Very useful video for learning PID technology.
I just made Minecraft thermostat with it, thanks!
Oh! Can you make a video/screencast and post a link?
Working in progress
This demonstration is what they must be showing in classrooms.
Very good demo of PID control nice demo hardware well made and executed
Thank you very much for sharing your excellent work with all of us.
Extremely awsome demonstration, great job!
I dont know why i am here but is so satisfying
so satisfying when it is set up correctly :)
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Your demonstration is FAB. 👌 Thank you !
This is on par with a 400 level course I spent $3000 on... cool
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Very nice demonstration. Thank you. Many commented, that it's a good explanation, but it does not explain anything, it just shows it in operation. Is there more information about the exact setup, the motor, position sensor, controller, software?
Awesome. Wish i had seen this when i was making a pid out if an arduino.
Great, clean and instructive demo! Thank you.
Video so good you did all the teaching my proof needed when showing this to our entire lecuture lol
This is very cool thanks for demonstrating!
An absolutely amazing demonstration and final result!!!
A masterpiece! It's good you made it silent, because if its needed we could be put on pause without having half a sentence ;)
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Now that is an awesome video. Thank you for doing this.
Thanks for a video where every second tells! 3 min. of PID essence.
Fantastic work, thank you for taking the time to make this
great demonstration! the best on summary I've ever seen :)
Amazing! Your videos are helping me a lot in control theory!
Thanks for sharing your design and code!
you bring to light for my embedded project! Thank you!
Holy shit the last one is really satisfying
wish we had this in college. Control was my least favourite subject because it was not very practical best explaintion of the material I have ever seen!!!!!!!!!!
Awesome presentation of control theories.. Loved it..!!
Great demonstration. Suitable for an introduction course in control. I subscribed your channel.
Great demo!
Great work Gregory
Very nice and explanatory demonstration. Thank you :)
+technoshamanarchist Hey, no problem. I'm glad you liked it. Maybe if there's enough interest, I'll do another video on how to build and program it. :)
+Gregory L. Holst That would be great :)
+1 I would love that!
super helpful! though god pids are such hell to make and account for the numerous errors and stuff!
Amazing execution, well done
ua-cam.com/video/aOl4YwAGyVw/v-deo.html
Thank you! Really awesome and very good to understand the concept!
Yup. This is the best example
Excellent demonstration.
Your force is strong.
Thank you for this great demostration.
Best demonstration on youtube!! Thanks a lot
awesome
awesome, awesome, awesome.
My question is: Can the controller automatically characterise the motor and thus pre-calculate the optimal parameter values based on max torque, inertia etcetc ?
The magic comes from the right set of parameters. You need to find the right values for your device, either empirically or by using (automated) heuristic methods. But once these parameters match your use case, you can pretty much surprise your system with all kind of weird situations and it will react as desired.
@@W00PIE since then i learned that there are other methods, more appropriate, for complex system. This is not a complex system, though.
very cool thanks for sharing. it would be helpful and educational if you showed the physical result of each parameter being way too low , barely too low, wait to high, and barely too high, as well as holding all variables the same, then adjusting the sampling frequency.
Good function to use on autopilot to help stabilise an aircraft run by granny. Can you also do a tuning for heating application?
Thank you so much for this video!
Good Example of PID Control system.