LMIs in Control/D-Stability/Controller D-Stability

In some control problems, people are still interested in designing a controller whose poles are located in specific regions of a complex plane, also known as D-stability.

The System
Suppose we were given the continuous-time system



\begin{align} \dot x(t)&=Ax(t)+Bu(t)\\ y(t)&=Cx(t)+Du(t) \end{align}$$

whose stability was not known. Then the controller that simultaneously stabilizes the above system while ensuring that the poles are at their desired location can be achieved by the controller $$u(t)=Kx(t)$$.

The Data
In order to properly define the acceptable region of the poles in the complex plane, we need the following pieces of data:


 * matrices $$A$$, $$B$$, $$C$$, $$D$$
 * rise time ($$t_r$$)
 * settling time ($$t_s$$)
 * percent overshoot ($$M_p$$)

Having these pieces of information will now help us in formulating the optimization problem.

The Optimization Problem
Using the data given above, we can now define our optimization problem. In order to do that, we have to first define the acceptable region in the complex plane that the poles can lie on using the following inequality constraints:

Rise Time: $$\omega_n{\leq}{1.8 \over t_r}$$

Settling Time: $$\sigma{\leq}{-4.6 \over t_s}$$

Percent Overshoot: $$\sigma{\leq}{-ln({M_p}) \over {\pi}}|{\omega_d}|$$

Assume that $$z$$ is the complex pole location, then:

\begin{align} {\omega_n}^2=\|z\|^2&=z^{*} z\\ {\omega_d}=Im{z}&={(z-z^{*}) \over 2}\\ {\sigma}=Re{z}&={(z+z^{*}) \over 2} \end{align}$$

This then allows us to modify our inequality constraints as:

Rise Time: $$z^{*} z-{1.8^2 \over {t_r}^2}{\leq}0$$

Settling Time: $${(z+z^{*}) \over 2}+{4.6 \over t_s}{\leq}0$$

Percent Overshoot: $$z-z^{*}+{{\pi} \over ln({M_p})}|z+z^{*}|{\leq}0$$

The LMI: The Continuous-Time Controller D-Stability
Keeping the above inequalities in mind, we observe the following:

Suppose there now exists a symmetric matrix $$X>0$$ and matrix $$Z$$, we can now determine the controller the following LMIs:



\begin{align} \begin{bmatrix} -rP&&AP+BZ\\(AP+BZ)^T&&-rP\end{bmatrix}&<0\\ AP+BZ+(AP+BZ)^T +2\alpha P&<0, and\\ \begin{bmatrix} AP+BZ+(AP+BZ)^T&&c(AP+BZ-(AP+BZ)^T)\\c((AP+BZ)^T -(AP+BZ))&&AP+BZ+(AP+BZ)^T\end{bmatrix}&<0 \end{align}$$

where the resulting controller matrix is $$K=ZP^{-1}$$.

Conclusion:
Given the resulting controller $$K$$, we can now determine that the pole locations $$z\in\mathbb{C}$$ of $$A+BK$$ satisfies the inequality constraints $$|x|{\leq}r$$, $$Re(x){\leq}-{\alpha}$$ and $$z+z^{*}{\leq}-c|z-z^{*}|$$.

Implementation

 * CodeOcean Link - An implementation of the LMI.

Related LMIs

 * ../Observer D-Stability/ - Equivalent D-stability LMI for a continuous-time observer.