# Hierarchical Model Updating Method for Vector Electric-Propulsion Satellites
## 2 Problem Formulation
### State Equations and State Variables  
The orbit dynamics equations are  
\[\left\{ \begin{array}{l}\frac{d\mathbf{r}}{dt}=\mathbf{v}\\ \frac{d\mathbf{r}}{dt}=\frac{1}{m}(\mathbf{F}_{E}+\mathbf{F}_{A}+\mathbf{F}_{C}+\mathbf{F}_{P}+\bm {F}_{T})\end{array} \right. \tag{5}\]  
where \(\mathbf{r}=\left[r_{x},r_{y},r_{z}\right]^{T}\) is the position vector, \(\mathbf{v}=\left[v_{x},v_{y},v_{z}\right]^{T}\) is the velocity vector, \(m\) is the total mass, \(\mathbf{F}_{E}\) is the Earth's gravitational force, \(\mathbf{F}_{A}\) is the drag force, \(\mathbf{F}_{C}\) is the perturbation force of the Sun and Moon, \(\mathbf{F}_{P}\) is solar radiation pressure, and \(\mathbf{F}_{T}\) is the force of thrusters. The attitude dynamics equations are  
\[\left\{ \begin{array}{l}\frac{d\mathbf{Q}}{dt}=\frac{1}{2}\Omega(\omega)\cdot\bm {Q}\\ \frac{d\mathbf{w}}{dt}=\mathbf{I}^{-1}(\mathbf{M}_{gg}+\mathbf{M}_{A}+\mathbf{M}_{P}+\mathbf{M}_{T}+ \mathbf{M}_{W}-\mathbf{\omega}\times\mathbf{H})\end{array} \right. \tag{6}\]  
where \(\mathbf{Q}=\left[q_{0},q_{1},q_{2},q_{3}\right]^{T}\) is the attitude quaternions of the body with respect to the inertial system, and \(\mathbf{\omega}=\left[\omega_{x},\omega_{y},\omega_{z}\right]^{T}\) is the angular velocity of the satellite's body frame with respect to the inertial frame. \(\Omega(\omega)\) is a matrix with respect to \(\mathbf{\omega}\):  
\[\Omega(\omega)= \begin{bmatrix}0&\omega_{z}&-\omega_{y}&\omega_{x}\\ -\omega_{z}&0&\omega_{x}&\omega_{y}\\ \omega_{y}&-\omega_{x}&0&\omega_{z}\\ -\omega_{x}&-\omega_{y}&-\omega_{z}&0\end{bmatrix}  \tag{7}\]  
\(\mathbf{I}\) is the inertia matrix, \(\mathbf{M}_{gg}\) is the gravity gradient moment, \(\mathbf{M}_{A}\) is the drag moment, \(\mathbf{M}_{P}\) is the solar pressure moment, \(\mathbf{M}_{T}\) is the thrusters moment, \(\mathbf{M}_{W}\) is the wheels moment, and \(\mathbf{H}\) is the angular momentum of the total satellite. The details of force and moment can be found in Reference [23]. Usually, the Euler angles are used to describe the attitude of the body relative to the orbit frame, which contain the roll angle \(\varphi\), pitch angle \(\theta\), and yaw angle \(\psi\). They can be calculated by \(\mathbf{Q}\), \(\mathbf{r}\), and \(\mathbf{v}\)[23]. The rotation of solar wing can be described by  
\[\left\{ \begin{array}{l}\frac{d\theta_{wing}}{dt}=\dot{\theta}_{wing}\\ \frac{d\theta_{wing}}{dt}=\mathbf{M}_{wing}\end{array} \right. \tag{8}\]where \(\theta_{wing}\) and \(\dot{\theta}_{wing}\) are the angle and angular speed of the solar wing related to the satellite body, respectively, and \(M_{wing}\) is the driving moment. The output power of each solar array is  
\[P_{Wing}=C_{shadow}S_{0}A_{sat}\eta_{w}X_{Wing}\text{cos}(\theta_{SW})\big{(} \beta_{P}\Delta T_{wing}+1\big{)} \tag{9}\]  
where \(C_{shadow}\) is the shadow area sign, \(S_{0}\) is the solar constant, \(A_{sa}\) is the area of the solar array, \(\eta_{w}\) is the photoelectric conversion efficiency, \(X_{Wing}\) is the other coefficient, \(\theta_{SW}\) is the angle between the normal direction of the solar array and the direction of sunlight, \(\beta_{P}\) is the power temperature coefficient, and \(\Delta T_{wing}\) is the difference between the working temperature of the solar array and the standard temperature; for a detailed calculation, see Reference [24]. When the output voltage of the solar wing \(U_{Wing}\) is known, the current can be calculated by  
\[I_{Wing}=\frac{P_{wing}}{U_{wing}} \tag{10}\]  
The total electric load power is  
\[P_{Device}=\sum_{i=1}^{N_{PD}}P_{D_{i}} \tag{11}\]  
where \(N_{PD}\) is the number of working devices, and \(P_{D_{i}}\) is the power of the \(i\)-th device. When the difference between the output power and the load power is greater than the maximum charging power of the battery, the power consumed by the shunt regulator is  
\[P_{Loss}=\left\{ \begin{array}{ll}P_{Wing}-P_{Device}-P_{MaxCharge},&P_{Wing}- P_{Device}>P_{MaxCharge}\\ 0&else\end{array} \right.