with Kp = -3.07, Ki = -0.425
Name: PI_V
Continuous-time PI controller in parallel form.
This is due to the negative signs in the second input channels of the plant. In addition,
the tunable elements are over-parameterized because multiplying DM by two and dividing
the PI gains by two does not change the overall controller. To address these issues, fix the
(1,1) entry of DM to 1 and the (2,2) entry to -1.
DM = getBlockParam(ST0,'DM');
DM.Gain.Value = diag([1 -1]);
DM.Gain.Free = [false true;true false];
setBlockParam(ST0,'DM',DM)
Re-tune the controller for the reduced set of tunable parameters.
[ST,gam,Info] = looptune(ST0,Controls,Measurements,wc,OS,DR);
Final: Peak gain = 0.988, Iterations = 78
Achieved target gain value TargetGain=1.
The step responses look similar but the values of DM and the PI gains are more suitable
for implementation.
figure('Position',[0,0,700,350])
subplot(121)
Ttrack = getIOTransfer(ST,'r','y');
step(Ttrack,40), grid, title('Setpoint tracking')
subplot(122)
Treject = getIOTransfer(ST,{'dV','dL'},'y');
step(Treject,40), grid, title('Disturbance rejection')
12 Loop-Shaping Design