Hi Brian; I have a question. How does a PID controller differ from lead/lag compensators? Are lead/lag compensators simply an alternative to PID if PID doesn't work? What would be an advantage/disadvantage of one over the other? Btw thank you very much for these videos; it really helps me to organise all the different concepts of control theory
Hi Aldo, lead/lag compensators are similar to PID in the sense that you are adding poles and zeros and adjusting the gain of your closed loop system to get the desired effect. Basically, using the additional poles and zeros to shape the loop response. For lead/lag you are adding one pole and one zero (the relative frequencies determine if it is lead or lag) rather than the pole at the origin and two zeros of PID. So, if you think of them just in that sense then they are pretty similar. In fact, with loop shaping you could add even more zeros or poles to your controller beyond what is in these standard frameworks if you need to really tweak the response, however, PID and lead/lag frameworks are pretty good for the majority of problems. With that being said, they each have their strengths that I'll summarize very briefly. PID is powerful because of the intuitive nature of Kp, Ki, and Kd allowing someone to tune the controller with some basic rules of thumb. Lead compensators are good for increasing phase margin without distrupting the speed of the system too much. Lag compensators are good for increasing phase margin by slowing the system down. Hope that helps a bit. Cheers!
Hi Brian thanks very much for your reply. Another question if I may; I paused the video and saw that you linearised the system at t=2, and it turns out that the output of the linearised transfer function model obtained seems to follow the actual motor speed plot at t values far from t=2. Is this because the actual motor speed was not actually "actual" i.e. you obtained it from the nonlinear model, and since the linearized model was also from the same nonlinear model then they agree very well? This would not be the case had the actual motor speed data been taken from a real life motor right?
Wow. That's awesome man. It's getting really exciting and I'm looking forward to watching the next video. Thank you very much and keep up the good work.
pretty good. In over 35 years of doing motion control I have NEVER come across a system with a transfer function. The first 15 years I tuned system by the seat of my pants. Then I got Mathcad and that opened up my eyes. The text books and most instructors do not teach controls correctly. First one must find a model. Brian doesn't say how but there are algorithms like Levenberg-Marquardt and BFGS that can find the coefficients for the differential equations for models. If you use differential equations, you can model non-linear systems fairly accurately. There are algorithms like Ackermann's method that can be used for pole placement. The result is not always a PID. Sometimes it is a PI, PD, PID, PD with second derivative gain or even PID with second derivative gain. PID is not always the correct choice. I use pole pole placement for tuning on I have done the system identification. It is easy to simply place the closed loop poles on the negative real axis in the s domain or on the positive z axis in the z domain.
You can't imagine how useful it is. But please mention the analyzer should be ODE3 with fixed step 0.001. Because I was using ODE45 and the results was very disappointed. But after changing the solver I got a perfect results. Thank you Brian very much.
How is the input to the PID controller a speed variable, but the output is a voltage? Where and how does this transformation take place? You enter the error in the speed of the motor into the PID controller that it tries to minimise. How does that convert to voltage?
Hey Brian, The lecture series is really helping me proceed in my project! Even the reference links are awesome too. Here you are using a sensor block to get the feedback from the motor, how can I model the Sensor Block that you have used here? Thanks!
Well, that was an eye opener moment! Now I know how to model a system. Or at least on how to begin in the first place. That's where most of the budding control engineers get stuck. Great work man, loved it. However I had a concern regarding, modelling a system using physical system, although you mentioned it you still carried out the process using your non linear model. Let's assume I have the physical hardware, how do I go about it, Give different signal input and obtain the output! But isn't that risky since I know very less of the behaivour of the physical hardware! Also I would love to dwell in to the intricasies on how matlab system identification toolbox finds a TF using input and output curve. Any resources for that ? Or Maybe a video just on that topic. If that is sorted anybody could tackle any control problem!
Hi Brian thanks very much for this series . I'm working on the example that you explained in simulink . I need to know what the block (sensor) contain.
Hello Brian! You must have to take a real motor and then using identify the parameters of the model. Because you are living in a developed country you can buy or someone sponser you. I live in a developing country and can't buy all the hardware required.
Thanks for watching! As always, if you have any questions on this video leave them here and I'll try my best to answer them. Cheers!
Awesome! Thank you so much!
You are awesome bro!. I've learnt a lot thanks to you and your useful channel. Greetings from Ecuador.
Hi Brian; I have a question. How does a PID controller differ from lead/lag compensators? Are lead/lag compensators simply an alternative to PID if PID doesn't work? What would be an advantage/disadvantage of one over the other? Btw thank you very much for these videos; it really helps me to organise all the different concepts of control theory
Hi Aldo, lead/lag compensators are similar to PID in the sense that you are adding poles and zeros and adjusting the gain of your closed loop system to get the desired effect. Basically, using the additional poles and zeros to shape the loop response. For lead/lag you are adding one pole and one zero (the relative frequencies determine if it is lead or lag) rather than the pole at the origin and two zeros of PID. So, if you think of them just in that sense then they are pretty similar. In fact, with loop shaping you could add even more zeros or poles to your controller beyond what is in these standard frameworks if you need to really tweak the response, however, PID and lead/lag frameworks are pretty good for the majority of problems. With that being said, they each have their strengths that I'll summarize very briefly. PID is powerful because of the intuitive nature of Kp, Ki, and Kd allowing someone to tune the controller with some basic rules of thumb. Lead compensators are good for increasing phase margin without distrupting the speed of the system too much. Lag compensators are good for increasing phase margin by slowing the system down. Hope that helps a bit. Cheers!
Hi Brian thanks very much for your reply. Another question if I may; I paused the video and saw that you linearised the system at t=2, and it turns out that the output of the linearised transfer function model obtained seems to follow the actual motor speed plot at t values far from t=2. Is this because the actual motor speed was not actually "actual" i.e. you obtained it from the nonlinear model, and since the linearized model was also from the same nonlinear model then they agree very well? This would not be the case had the actual motor speed data been taken from a real life motor right?
This guy Brian is great, he really knows his stuff.
Wow. That's awesome man. It's getting really exciting and I'm looking forward to watching the next video.
Thank you very much and keep up the good work.
pretty good. In over 35 years of doing motion control I have NEVER come across a system with a transfer function. The first 15 years I tuned system by the seat of my pants. Then I got Mathcad and that opened up my eyes. The text books and most instructors do not teach controls correctly. First one must find a model. Brian doesn't say how but there are algorithms like Levenberg-Marquardt and BFGS that can find the coefficients for the differential equations for models. If you use differential equations, you can model non-linear systems fairly accurately.
There are algorithms like Ackermann's method that can be used for pole placement. The result is not always a PID. Sometimes it is a PI, PD, PID, PD with second derivative gain or even PID with second derivative gain. PID is not always the correct choice.
I use pole pole placement for tuning on I have done the system identification. It is easy to simply place the closed loop poles on the negative real axis in the s domain or on the positive z axis in the z domain.
How much information have you given! I loved the video. Thank you very much.
Yet another really well done video Brian, on a really important topic. Nicely illustrating the capabilities of MATLAB/Simulink as well. Thank you.
You can't imagine how useful it is. But please mention the analyzer should be ODE3 with fixed step 0.001. Because I was using ODE45 and the results was very disappointed. But after changing the solver I got a perfect results. Thank you Brian very much.
Thank you Brian for these great videos. Best wishes and regards! Stay blessed
@9:04 the yellow waves shows noise compared to the blue line(our model) ??????
Can you please make a full detailed video on how to control a motor's speed using PID? Thanks!
These videos are amazing thanks!
I'm glad you like them! :)
Hi, Brian your videos about control theory is great, I hope you will talk about MPC controller
good explanation. nice job. thanks you
How is the input to the PID controller a speed variable, but the output is a voltage? Where and how does this transformation take place? You enter the error in the speed of the motor into the PID controller that it tries to minimise. How does that convert to voltage?
Hey Brian, The lecture series is really helping me proceed in my project! Even the reference links are awesome too.
Here you are using a sensor block to get the feedback from the motor, how can I model the Sensor Block that you have used here?
Thanks!
Well, that was an eye opener moment! Now I know how to model a system. Or at least on how to begin in the first place. That's where most of the budding control engineers get stuck. Great work man, loved it. However I had a concern regarding, modelling a system using physical system, although you mentioned it you still carried out the process using your non linear model. Let's assume I have the physical hardware, how do I go about it, Give different signal input and obtain the output! But isn't that risky since I know very less of the behaivour of the physical hardware!
Also I would love to dwell in to the intricasies on how matlab system identification toolbox finds a TF using input and output curve. Any resources for that ? Or Maybe a video just on that topic.
If that is sorted anybody could tackle any control problem!
I know I'm 3 years late to comment, hope you reply to your older videos. Looking forward to your reply!
Thanks! Huge Fan!
Can I see the first principles model of your sensor ? Thank you for your commitment!
did you get anything ?
Of course no, because he too busy to reply
great video!
Hi Brian thanks very much for this series .
I'm working on the example that you explained in simulink .
I need to know what the block (sensor) contain.
You get anything ?
So you have to wait 4 years for 1 question. But still no reply
Love this, thx.
Excelent video Brian, Hope you can share all code including simulink, thanks.
very detailed explanation video tutorials
Perfect !
4:03// 7:09 // 11:15
Hello Brian!
You must have to take a real motor and then using identify the parameters of the model. Because you are living in a developed country you can buy or someone sponser you. I live in a developing country and can't buy all the hardware required.
5:40
Video on PID control:
th-cam.com/video/71o4lFRBZnk/w-d-xo.html