Open cnpcshangbo opened 6 years ago
From the figure above I think the P parameter should be reduced because the overshoot is too large, So let's cut it to half and see. Speed loop P=1, I=6, D=0.324786114614273, N=19.7366420228035, ITAE=3.66.
Since getting the P smaller makes the curve worse. I am going to make P larger. Speed loop P=4, I=6, D=0.324786114614273, N=19.7366420228035, ITAE=1.95.
Getting P larger really works. It gets overshoot smaller, so let try to get P even larger. P=8, I=6, D=0.324786114614273, N=19.7366420228035, ITAE=1.66.
P = 8 is really better. Since we already got some oscillation, we shouldn't get P larger. We'll try to get integrator larger and see what will happen. P=8, I=10, D=0.324786114614273, N=19.7366420228035, ITAE=1.78
Since increasing I makes the system worse, we'll try to decrease I. P=8, I=3, D=0.324786114614273, N=19.7366420228035, ITAE=2.35
I=3 makes the overshoot less, but it also makes the static error converge slower. So we think this is the best we can get: P=8, I=6, D=0.324786114614273, N=19.7366420228035, ITAE=1.66
I think the speed loop is much better than before. Therefore I want to test whether IOPID and FOPD is getting better.
ZPos PID continous P=6.25, I=4.81, D=1.81 anti-windup is used. Kb=1. The altitude ITAE is 1.13 for IOPID controller. I am going to tune the altitude loop now. I have created a new issue for the altitude loop tuning. https://github.com/cnpcshangbo/simscapeFOPD/issues/7
ZPos PID Discrete-time P=3.2, I=2, D=0, no N, ITAE=0.99 Kb=1, output limit [-10, 10]
The next step is to re-identify the plant model for ZPos(altitude) control. I plan to finish that by using the PID tune APP (refer to the webinar from Mathworks).
So the ZPos plant transfer function is: 0.99217/s/(0.2486*s+1).
PID Tuner is not able to tune this plant. So I plan to tune it using my code from FOPD tunner.
By using this project: https://github.com/cnpcshangbo/FOPD-tunner I am able to get the optimal IOPID parameters. C =
1
Kp + Ki --- + Kd s s
with Kp = 8.55, Ki = 8.79, Kd = 1.85
Continuous-time PID controller in parallel form.
info =
struct:
Stable: 1
CrossoverFrequency: 7.1642
PhaseMargin: 83.8783
Hi everyone? I am having difficulties tuning the speed loop PID parameters. I followed https://github.com/cnpcshangbo/simscapeFOPD/issues/2 to get a speed curve and then I changed the speed setpoint to step function according to this: https://github.com/cnpcshangbo/simscapeFOPD/issues/4. After that I was able to get speed loop step response like this: Speed loop P=2, I=6, D=0.324786114614273, N=19.7366420228035, ITAE=2.35