PID Tuner couldn't find a stabilizing controller

50 views (last 30 days)
The PID block in the attached Simulink file stabilizes the plant (the plant is defined in the call back). However, the PID Tuner failed to find a stabilizing controller through the Tune button in the PID block. Why? How can I sepcify the initial controller for the PID tuner?
  1 Comment
Matt Rich
Matt Rich on 14 Jul 2022
The controller in the attached model only appears to stabilize the plant for 20 seconds. If you run the model for 200 seconds, you will see that it does not stabilize the plant.

Sign in to comment.

Answers (1)

Arkadiy Turevskiy
Arkadiy Turevskiy on 12 Jan 2024
Your sysr system is somewhat tricky - several unstable poles.
PID Tuner tries to come up with a guess/estimate for response time/bandwidth to use, but does not always come up with something that creates a stable design.
In that case I recommend changing the value of response time/bandwidth to see if you can come up with a stable reponse.
I was able to do it in about 2 mins.
Here is what i did:
pidTuner(sysr); % launch pidTuner app
You can also do it from Smulink as you have been doing.
I changed controller type to PIDF (gives you more tuning knobs than a PI).
PID Tuner shows desired response time of 12240, which is obviously very long.
Try to change response time to something more reasonable (guess):
I tried response time of 1 sec, that did not come up with stable design. Tried making it slower - 10 secs, 100 secs- no stable response.
Then tried decreasing the response time. 0.1 secs - still unstable, but at 0.01 secs I got a stable design. It seems that I can keep increasing how fast I want it to be and pidTuner is able to produce a stable design. The question is then what sort of controller effort signals are reasonable - something for you to decide.
HTH
  3 Comments
Sam Chak
Sam Chak on 5 Jul 2024
Edited: Sam Chak on 5 Jul 2024
If you are having difficulty stabilizing the 4th-order ball and beam system, I would suggest opening a new thread by clicking on "Ask a Question". The reason for this is that your system may differ from the one that @J Chen was working with.
Additionally, if you attempt to auto-tune the PID control gains, you may find it challenging to stabilize the ball and beam system. This is because your r-output-based PID controller can only manipulate the coefficients of r and , while the θ and terms cannot be directly controlled.
open('Q.slx');
print('-sQ', '-djpeg', 'Mehdi_Model');
img = imread("Mehdi_Model.jpg");
imshow(img)

Sign in to comment.

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!