# LMIs in Control/Applications/Hinf LMI SatelliteAttitudeControl

LMIs in Control/Applications/Hinf LMI SatelliteAttitudeControl

This is a ${\displaystyle 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 ${\displaystyle H_{2}}$  Satellite Attitude Control. The link to that page is at the bottom with the references.

Continuous Time:

{\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}}}

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: ${\displaystyle I_{x},I_{y},I_{z}}$
• Euler Angles: ${\displaystyle \phi ,\theta ,\psi }$
• Disturbance Torques (flywheel, gravitational, and disturbance): ${\displaystyle T_{c},T_{g},T_{d}}$
• Rotational-angular velocity of the Earth: ${\displaystyle \omega _{0}=7.292115x10^{-5}{\text{ [rad/s]}}}$

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

{\displaystyle {\begin{aligned}x&={\begin{bmatrix}q&{\dot {q}}\end{bmatrix}}^{T},&z_{\infty }=10^{-3}M{\ddot {q}},&z_{2}=q,\\\end{aligned}}}

Introduce the notations

{\displaystyle {\begin{aligned}I_{\alpha \beta }&=I_{\alpha }-I_{\beta },&I_{\alpha \beta \gamma }=I_{\alpha }-I_{\beta }-I_{\gamma }\\\end{aligned}}}

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

{\displaystyle {\begin{aligned}{\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{aligned}}}

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

{\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}}}

## 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

${\displaystyle u=Kx}$

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

${\displaystyle G_{z_{\infty }d}(s)=(C_{1}+D_{1}K)(sI-(A+B_{1}K))^{-1}B_{2}+D_{2}}$

satisfies

${\displaystyle ||G_{z_{\infty }d}(s)||_{\infty }=(C_{1}+D_{1}K)(sI-(A+B_{1}K))^{-1}B_{2}+D_{2}}$

for a minimal positive scalar ${\displaystyle \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: ${\displaystyle H_{\infty }}$ Feedback Control of the Satellite System

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

{\displaystyle {\begin{aligned}\\&min\gamma _{\infty }\\\\&{\text{s.t. }}X>0\\\\&{\begin{bmatrix}(AX+B_{1}W)^{T}+AX+B_{1}W&B_{2}&(C_{1}X+D_{1}W)^{T}\\B_{2}^{T}&-\gamma _{H\infty }I&D_{2}^{T}\\C_{1}X+D_{1}W&D_{2}&-\gamma _{H\infty }I\end{bmatrix}}<0\\\end{aligned}}}

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

## Conclusion:

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

{\displaystyle {\begin{aligned}I_{x}=1030.17kg\cdot m^{2},I_{y}=3015.65kg\cdot m^{2},I_{Z}=3030.43kg\cdot m^{2}\\\end{aligned}}}

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

{\displaystyle {\begin{aligned}&-I<{\begin{bmatrix}(AX+B_{1}W)^{T}+AX+B_{1}W&B_{2}&(C_{1}X+D_{1}W)^{T}\\B_{2}^{T}&-\gamma _{H\infty }I&D_{2}^{T}\\C_{1}X+D_{1}W&D_{2}&-\gamma _{H\infty }I\end{bmatrix}}<0\\\end{aligned}}}

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