I think I solved it by forcing a constraint on the Sensitivity function and the Complementary sensitivity function seperately with TuningGoal.MinLoopGain and TuningGoal.MaxLoopGain instead.
% Reference Sensitivity Functions
tau = 0.2;
v = 0.5;
s = tf("s");
T_max = 1/(tau*s);
Sinv_min = frd([10 v v],[0.01 0.1 10]);
% Constraints
Hardreq1 = TuningGoal.MaxLoopGain("u",T_max);
Hardreq2 = TuningGoal.MinLoopGain("u",Sinv_min);
The constraint equations are basically converted to the following:
, which ensures that the norm of is always smaller than .
and
, which is similar to the previously mentioned constrained equation.
Using viewGoal, I then verified that this works as intended.
It is also possible to manually check if the constraints are met.
% Reference System
sys = ...;
% Get System Functions
T = getCompSensitivity(sys,"u");
S = getSensitivity(sys,"u");
s = tf("s");
% Constraint Equation Terms
H1 = 1/norm(s*T,Inf);
H2 = 1/norm(S,Inf);
Which seemed to attain the correct values after tuning. I hope this helps others that had a similar issue.