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.


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.