0
$\begingroup$

I am trying to design an auto-tuning controller in matlab with the help of the paper from Astrom and Hagglund: Design of PI Controllers based on Non-Convex Optimization* (1998). They use the maximum sensitivity and maximum complementary sensitivity as design parameters. They derive formulas for the center $C$ and radius $R$ that depend on max sensitivity $(M_s)$ and max comp. sensitivity $(M_t)$. They give the following function:

$$f(k,k_i,w) = \left|C + \left(k+\frac{k_i}{\omega i}\right)G(i\omega)\right|^2$$

And the sensitivity constraint:

$$f(k,k_i,\omega) \geq R^2$$

The objective is to maximize $k_i$, so the objective function

$$J = \dfrac{1}{k_i}\quad\text{or}\quad J = -k_i$$

The latter seems more robust to me, so I use that one. In the paper they do not give more constraints than this one, but obviously there are more constraints necessary.

I have found that the following constraints are necessary as well:

$$M_s \leq M_s^+\quad\text{and}\quad M_t \leq M_t^+$$

But with these two added, I still do not get the same results as in the paper. Am I missing another constraint?

I also tried adding these constraints from equation 12 in the paper.

$$\begin{align} \dfrac{\partial f}{\partial \omega} &\leq 0 \\ \dfrac{\partial f}{\partial k} &\leq 0 \end{align}$$

These did not work either.

I am trying to implement it with fmincon in matlab.

Is there anyone who is familiar with this method and able to help me out? I can share my code if necessary.

I have also tried solving equation 16 with fsolve, but it did not give me the same results as in the paper either. So I am clueless right now.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.