LMIs in Control/Applications/Mixed H2 and Hinf Satellite Attitude Control

The System

Using the same formulation of the problem as in the H2 and Hinf feedback applications (linked below) the system is of the form:

{\displaystyle {\begin{aligned}I_{x}{\ddot {\phi }}+4(I_{y}-I_{z})\omega _{0}^{2}\phi +(I_{y}-I_{z}-I_{z})\omega _{0}{\dot {\psi }}&=T_{cx}+T_{dx}\\I_{y}{\ddot {\theta }}+3(I_{x}-I_{z})\omega _{0}^{2}\theta &=T_{cy}+T_{dy}\\I_{z}{\ddot {\psi }}+(I_{x}+I_{z}-I_{y})\omega _{0}{\dot {\psi }}&=T_{cz}+T_{dz}\\\end{aligned}}}

This formulation comes from the process described in Duan, page 371-373, steps 12.1 to 12.8.

• Tc and Td are the flywheel torque and the disturbance torque respectively.
• Ix, Iy, and Iz are the diagonalized inertias from the inertia matrix Ib.
• ω0 = 7.292115 x 10-5 rad/s is the rotational angular velocity of the Earth, and θ, Φ, and ψ are the three Euler angles.

The LMI below utilizes the state space representation of the above system, which is described on the H2 and Hinf pages as well:

${\displaystyle {\begin{cases}{\dot {x}}=Ax+B_{1}u+B_{2}d\\z_{\infty }=C_{1}x+D_{1}u+D_{2}d\\z_{2}=C_{2}x\end{cases}}}$

{\displaystyle {\begin{aligned}A={\begin{bmatrix}0&0&0&1&0&0\\0&0&0&0&1&0\\0&0&0&0&0&1\\{\frac {-4\omega _{0}^{2}I_{yz}}{I_{x}}}&0&0&0&0&{\frac {-\omega _{0}I_{yzx}}{I_{x}}}\\0&{\frac {-3\omega _{0}^{2}I_{xz}}{I_{y}}}&0&0&0&0\\0&0&{\frac {-\omega _{0}^{2}I_{yx}}{I_{z}}}&{\frac {\omega _{0}I_{yzx}}{I_{x}}}&0&0\end{bmatrix}}\\\\B_{1}=B_{2}={\begin{bmatrix}0&0&0\\0&0&0\\0&0&0\\{\frac {1}{I_{x}}}&0&0\\0&{\frac {1}{I_{y}}}&0\\0&0&{\frac {1}{I_{z}}}\\\end{bmatrix}}\\\\C_{1}=10^{-3}\times {\begin{bmatrix}-4\omega _{0}^{2}I_{yz}&0&0&0&-\omega _{0}I_{yxz}\\0&-3\omega _{0}^{2}I_{xz}&0&0&0&0\\0&0&-\omega _{0}^{2}I_{yx}&\omega _{0}I_{yxz}&0&0\end{bmatrix}}\\\\C_{2}={\begin{bmatrix}I_{3x3}&0_{3x3}\end{bmatrix}}\\\\D_{1}=10^{-3}\times L_{1},D_{2}=10^{-3}\times L_{2}\end{aligned}}}

• Iab = Ia - Ib, Iabc = Ia - Ib - Ic
• ${\displaystyle q={\begin{bmatrix}\phi \\\theta \\\psi \end{bmatrix}}}$ , x = [q q']T , M = diag(Ix, Iy, Iz), zinf = 10-3 M q''', z2 = q

These formulations are found in Duan, page 374-375, steps 12.10 to 12.15.

The Data

Data required for this problem include the moment of inertias and angular velocities of the system. Knowledge of expected disturbances d would be beneficial.

The Optimization Problem

There are two requirements of this problem:

• Closed-loop poles are restricted to a desired LMI region
• Where ${\displaystyle \mathbb {D} =\{s|s\in \mathbb {C} ,L+sM+{\bar {s}}M^{T}<0\}}$ , L and M are matrices of correct dimensions and L is symmetric
• Minimize the effect of disturbance d on output vectors z2 and zinf.

Design a state feedback control law

u = Kx

such that

1. The closed-loop eigenvalues are located in ${\displaystyle \mathbb {D} }$ ,
• λ(A+BK) ${\displaystyle \subset \mathbb {D} }$
2. That the H2 and Hinf performance conditions below are satisfied with a small ${\displaystyle \gamma _{\infty }}$  and ${\displaystyle \gamma _{2}}$ :
• ${\displaystyle \lVert G_{{z_{\infty }}d}\rVert _{\infty }=\lVert (C_{1}+N_{2}K)(sI-(A+B_{1}K))^{-1}B_{2}+N_{1}\rVert _{\infty }\leq \gamma _{\infty }}$
• ${\displaystyle \lVert G_{{z_{2}}d}\rVert _{2}=\lVert C_{2}(sI-(A+B_{1}K))^{-1}B_{2}\rVert _{\infty }\leq \gamma _{2}}$

The LMI: Mixed H2/Hinf Feedback Control

min ${\displaystyle c_{\infty }\gamma _{\infty }+c_{2}\rho }$

s.t.

• ${\displaystyle {\begin{bmatrix}-Z&C_{2}X\\XC_{2}^{T}&-X\end{bmatrix}}<0}$
• trace(Z) < ${\displaystyle \rho }$
• AX + B1W + (AX + B1W)T + BBT < 0
• ${\displaystyle L\otimes X+M\otimes (AX+B_{1}W)+M^{T}\otimes (AX+B_{1}W)^{T}<0}$
• ${\displaystyle {\begin{bmatrix}(AX+B_{1}W)^{T}+AX+B_{1}W&B_{1}&(C_{1}X+D_{2}W)^{T}\\B&-\gamma _{\infty }I&D_{1}^{T}\\(C_{1}X+D_{2}W)&D_{1}&-\gamma _{\infty }I\end{bmatrix}}<0}$

Gives a set of solutions to ${\displaystyle \gamma _{\infty },\rho }$ , and W, Z and X > 0, where ${\displaystyle \rho }$  is equal to ${\displaystyle \gamma _{2}^{2}}$ .

Conclusion

Once the solutions are calculated, the state feedback gain matrix can be constructed as K = WX-1, and ${\displaystyle \gamma _{2}}$  = ${\displaystyle {\sqrt {\rho }}}$

Implementation

This LMI can be translated into MATLAB code that uses YALMIP and an LMI solver of choice such as MOSEK or CPLEX.