13 double maxJ, minJ, minVal, temp;
14 double kR = controller->
gain_kR;
15 double kc = controller->
gain_kc;
16 double kw = controller->
gain_kw;
23 temp = sqrt(kR * minJ);
24 if (temp < minVal) minVal = temp;
25 temp = 4.0 * kw * kR * minJ * minJ;
26 temp /= (maxJ * kw * kw + 4.0 * minJ * minJ * kR);
27 if (temp < minVal) minVal = temp;
29 TRACE(5, (
"The controller parameters do not result in a feasible controller\n"));
38 double maxJ, minJ, minVal, temp;
39 double kR = controller->
gain_kR;
40 double kc = controller->
gain_kc;
41 double kw = controller->
gain_kw;
48 temp = 2.0 * sqrt(kw * minJ);
49 if (temp < minVal) minVal = temp;
50 temp = 4.0 * kw * kR * minJ * minJ;
51 temp /= (maxJ * kw * kw + minJ * minJ * kR);
52 if (temp < minVal) minVal = temp;
54 TRACE(5, (
"The controller parameters do not result in a feasible controller\n"));
65 double tol = 0.000001;
66 double kR = controller->
gain_kR;
67 double kc = controller->
gain_kc;
68 double kw = controller->
gain_kw;
78 TRACE(5, (
"The inertia matrix must be symmetric\n"));
88 TRACE(5, (
"The inertia matrix must be positive definite\n"));
99 TRACE(5, (
"The controller parameters must be positive\n"));