Figure 5: Two degree-of-freedom PID controllers.
By default, looptune only tunes the feedback loop and does not "see" the feedforward
component. This can be confirmed by verifying that the parameters of the PI controllers
remain set to their initial value (type showTunable(ST1) to see the tuned values).
To take advantage of the feedforward action and reduce overshoot, replace the bandwidth
target by an explicit step tracking requirement from reference angles to joint angles.
TR = TuningGoal.StepTracking(RefSignals,Measurements,0.5);
ST2 = looptune(ST0,Controls,Measurements,TR);
Final: Peak gain = 0.766, Iterations = 13
Achieved target gain value TargetGain=1.
The 2-DOF tuning eliminates overshoot and improves the Bicep response.
T2 = getIOTransfer(ST2,RefSignals,Measurements);
stepplot(T1,'r--',T2,'g',4,opt)
legend('1-DOF tuning','2-DOF tuning','location','SouthEast')
13 Control System Tuning Examples