LMIs in Control/Applications/Hinf LMI SatelliteAttitudeControl

This is a $$H_{\infty}$$ LMI for Satellite Attitude Control. Satellite attitude control is necessary to allow satellites in orbit accomplish their mission. Poor satellite attitude control results in poor pointing performance which can result in increased cost, delayed service, and reduced lifetime of the satellite.

The System
The full derivation of the system from first principles is accomplished in the companion LMI for $$H_2$$ Satellite Attitude Control. The link to that page is at the bottom with the references.

Continuous Time:

\begin{align} 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{align}$$

The above model was derived by substituting satellite attitude kinematics into the attitude dynamics of a satellite. The following are definitions of the variables above:


 * Moments of inertia about the corresponding axis: $$I_x, I_y, I_z $$
 * Euler Angles: $$\phi,\theta,\psi $$
 * Disturbance Torques (flywheel, gravitational, and disturbance): $$T_c, T_g, T_d $$
 * Rotational-angular velocity of the Earth: $$ \omega _0 = 7.292115x10^{-5} \text{ [rad/s]} $$

The state-space representation of the system can be found by the following steps. Let



\begin{align} x &= \begin{bmatrix} q & \dot{q} \end{bmatrix}^T,& z_{\infty} = 10^{-3}M\ddot{q},& z_2 = q,\\ \end{align}$$

Introduce the notations



\begin{align} I_{\alpha \beta}&=I_{\alpha}-I_{\beta}, & I_{\alpha \beta \gamma} = I_{\alpha} - I_{\beta} - I_{\gamma}\\ \end{align}$$

where $$ \alpha, \beta, \gamma $$ stand for any element in $${x,y,z}$$. Then the state-space system is:



\begin{align} \dot{x} &= Ax + B_1u+B_2d \\ z_{\infty} &= C_1x+D_1u+D_2d \\ z_2 &= C_2x \\ \end{align}$$

where the matrices in the above state-space representation are defined as follows:



\begin{align} 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^2I_{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{align}$$

The Data
Data required for this LMI include moments of inertia of the satellite being controlled and the angular velocity of the earth. Any knowledge of the disturbance torques would also facilitate solution of the problem.

The Optimization Problem
The idea is to design a state feedback control law for the previous satellite state-space system of the form



u = Kx $$

This control law is designed so that the closed-loop system is stable and the transfer function matrix from disturbance to output



G_{z_\infty d}(s) = (C_1+D_1K)(sI-(A+B_1K))^{-1}B_2+D_2 $$

satisfies



$$
 * G_{z_\infty d}(s)||_{\infty} = (C_1+D_1K)(sI-(A+B_1K))^{-1}B_2+D_2

for a minimal positive scalar $$\gamma_{\infty}$$ which represents the minimum attenuation level.

The idea here is to attenuate the disturbances as much as possible while still maintaining the ability of the satellite to track. This minimum attenuation level is found from the LMI in the following section.


 * Objective: Hinf norm
 * Variables: Controller Gains
 * Constraints: Satellite Attitude Dynamics and Kinematics. Maximum safe rotational rate of Satellite, maximum jet pulse thrust

The LMI: $$H_{\infty}$$ Feedback Control of the Satellite System
Duan and Yu approach the $$H_{\infty}$$ satellite system as follows. The minimum attenuation level from disturbance to output can be found by solving the following LMI optimization problem.



\begin{align} \\ &min \gamma_{\infty} \\ \\ &\text{s.t. } X > 0 \\ \\ &\begin{bmatrix} (AX+B_1W)^T+AX+B_1W & B_2 & (C_1X+D_1W)^T \\ B_2^T & -\gamma_{H\infty} I & D_2^T \\ C_1X+D_1W & D_2 & -\gamma_{H\infty} I \end{bmatrix} < 0 \\

\end{align}$$

which is the same as Theorem 8.1 in Duan and Yu's Book, the solution to the $$ H_{\infty} $$ problem.

Conclusion:
The Duan and Yu textbook takes as typical values of the satellite moment of inertias as:



\begin{align}

I_x = 1030.17 kg\cdot m^2, I_y = 3015.65kg\cdot m^2, I_Z = 3030.43kg\cdot m^2\\

\end{align}$$

They then proceed to solve the optimization problem to find a controller gain that yields an attenuation level of 0.0010. Though this value is very small and represents very good attenuation the optimized controller pushes the poles of the closed loop system very close to the imaginary axis, resulting in slow oscillatory behavior with a very long settling time.

To address this a second approach was used by the authors which involves modifying the final LMI in the expression above and requiring that it be constrained as follows



\begin{align} &-I < \begin{bmatrix} (AX+B_1W)^T+AX+B_1W & B_2 & (C_1X+D_1W)^T \\ B_2^T & -\gamma_{H\infty} I & D_2^T \\ C_1X+D_1W & D_2 & -\gamma_{H\infty} I \end{bmatrix} < 0 \\ \end{align}$$

These results are planned verified in the linked code implementation using YALMIP, whereas the authors took advantage of the MATLAB LMI Toolbox to achieve their results.

Implementation
A link to CodeOcean or other online implementation of the LMI

Related LMIs
Links to other closely-related LMIs


 * H2_LMI_SatelliteAttitudeControl
 * Optimal_Output_Feedback_Hinf_LMI
 * Full-State_Feedback_Optimal_Control_Hinf_LMI