Next Article in Journal
Reputation-Driven Dynamic Node Consensus and Reliability Sharding Model in IoT Blockchain
Previous Article in Journal
Using Graph Embedding Techniques in Process-Oriented Case-Based Reasoning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Spacecraft Attitude Determination and Control Algorithm for Solar Arrays Pointing Leveraging Sun Angle and Angular Rates Measurements

by
Andrea Colagrossi
* and
Michèle Lavagna
Department of Aerospace Science and Technology, Politecnico di Milano, 20156 Milano, Italy
*
Author to whom correspondence should be addressed.
Algorithms 2022, 15(2), 29; https://doi.org/10.3390/a15020029
Submission received: 18 December 2021 / Revised: 12 January 2022 / Accepted: 13 January 2022 / Published: 18 January 2022

Abstract

:
The capability to orient the solar arrays of a spacecraft toward the Sun is an ultimate asset for any attitude determination and control subsystem (ADCS). This ability should be maintained in any operative circumstance, either nominal or off-nominal, to avoid the loss of the entire space-borne system. The safe mode implementation should guarantee a positive power generation from the solar arrays, regardless of the health status of the satellite platform. This paper presents a solar array pointing algorithm, to be executed on-board, with a minimal set of sensors and actuators. In fact, the sensors are limited to the solar arrays, exploiting the current/voltage sensing capacity of the electrical power subsystem to measure the Sun angle with respect to the arrays normal, and to the angular rates sensors. The actuators are required to provide a torque only along two axes and, thus, a reduced actuation capacity is still manageable by the proposed algorithm. The paper describes the algorithm, both in the Sun direction determination and in the Sun pointing control capacity. The achieved performance is outlined, considering either an ideal system or a realistic one, being the latter affected by sensors and actuators limitations. The actuation by means of momentum exchange devices or magnetic torquers is discussed, with the purpose to prove the wide applicability range of the presented algorithm, which is capable to guarantee solar array orientation with a minimal hardware set.

1. Introduction

The generation of electric power on board a spacecraft is fundamental to guarantee the survival of the space system. Whenever a satellite is powered by exploiting the electricity generated from the solar arrays, the capability to orient them to the Sun is a vital requirement for the system design. Solar array orientation can be achieved with a solar array drive assembly (SADA), with a proper rotation of the spacecraft, or with a combination of these two. However, the SADA cannot fully orient the solar panel in three-dimensional space, and many spacecraft are even not equipped with these orientation devices. Thus, the solar arrays pointing to the Sun are commonly demanded to the attitude determination and control subsystem (ADCS) of the spacecraft, which rotates the satellite body in a way to generate the proper electric power with the available solar cells. Given the relevance of this ability for the maintenance of the spacecraft health status, the ADCS should be capable to orient the solar panels to the Sun even after multiple failures have occurred on-board. Hence, the most dramatic safe mode-or survival mode-should guarantee a minimum power generation to support the basic functions of the space system. For these reasons, the availability of a robust and fault-tolerant ADCS, with an emergency Sun pointing mode, is crucial for the resilience of the entire system with respect to unexpected circumstances.
The paper presents an attitude determination and control subsystem design for solar arrays pointing to the Sun, with a minimal set of sensors and actuators. The sensors are limited to the solar arrays and to the angular rates sensing devices, and the actuators are required to provide a torque only along two orthogonal axes. The proposed ADCS exploits the current/voltage sensing capacity of the electrical power subsystem to measure the Sun angle with respect to the arrays normal. In fact, this research work considers a spacecraft with the solar arrays orthogonal to one direction in a body reference frame. As a consequence, the complete Sun direction unit vector cannot be estimated from the electric measurements. This assumption is motivated by the fact that common spacecraft have the Solar arrays deployed along a single axis of the spacecraft, with all the solar cells lying in a single plane. Even if this is not always the case, and additional secondary solar cells may be pointed in other directions, the larger primary solar panels area commonly has a unique normal direction. The determination and control algorithms compute the angle of the Sun with respect to the solar arrays normal and command the actuators to rotate the spacecraft in a way that this angle is minimized, having the Sun perpendicular to the solar arrays. The rotation of the spacecraft around the direction orthogonal to the solar panels is not controlled, being not relevant for electric power generation. The control algorithm is based on sequenced pulsed rotation commands modulating a proportional-derivative (PD) control scheme. The angular rate measurements are needed to have a proper derivative control implementation. The proportional control direction is unknown from the solar arrays data, and the algorithm is capable to find the necessary rotation until the correct Sun pointing is achieved. If the Sun is behind the solar arrays, a constant rotation is commanded until the Sun is in the visibility of the solar cells, producing the electric power that is needed to drive the proposed ADCS. The constant rotation is not commanded if the spacecraft is in eclipse, when the spacecraft is controlled to maintain null angular velocity. The methods to detect the eclipse condition are briefly described in the paper as well. The outcome of the research work is the sequenced and pulsed modulation algorithm, superimposed to a classic PD control, to implement an ADCS capable to orient the spacecraft solar arrays to the Sun by exploiting an incomplete Sun direction estimation. The only data available from the determination section is the angle of the Sun with respect to the solar arrays normal, and the control direction is guessed by a properly sequenced and pulsed control modulation algorithm. The purpose of the research is to have a very basic ADCS, capable to work with a minimal hardware set, in a way to sustain the spacecraft power generation even in the worst-case survival mode scenario. This is motivated by the need to increase the spacecraft reliability, especially when many redundant components cannot be installed on-board, such as in small satellite platforms [1,2].
The problem of spacecraft ADCS is technologically mature, and existing literature contains many references and dedicated handbooks [3,4]. Classical attitude determination methods are based on vector measurements of known physical quantities and celestial objects locations [5]. At least two vector measurements are needed to determine the complete three-dimensional attitude state [6,7], with different estimation methods [8]. This is well established in-flight applications [9,10], even with very basic sensor components [11]. Analogously, attitude control has an endorsed heritage since the 70’s of the last century [12]. Various control methods have been proposed [13,14,15], and applications to small spacecraft have become very common [16]. Moreover, diverse actuation methods have been deeply investigated [17,18,19,20]. However, according to previous literature, a spacecraft with only Sun angle and angular rates measurements would be not capable to align its solar arrays to the Sun. Existing works already exploited solar cells as sources of Sun direction information [21,22], and even common industrial applications retrieve the Sun angles in body reference frame from the electric power data to have a coarse Sun direction estimation. This is commonly accomplished by exploiting solar cells oriented towards all the six reference frame directions (i.e., positive, and negative axes directions). In this way, by combining all the independent power measurements, the complete three-dimensional Sun direction unit vector is easily available, and a standard attitude determination and control subsystem can be implemented. Indeed, solar cells data have been exploited to implement a complete attitude determination subsystem [23], but incomplete Sun direction information always introduced complexity in the mathematical formulation of the attitude determination problem [24]. The application of the proposed algorithm to a non-nominal operative scenario, or to extremely simple small satellites, cannot rely on computationally expensive estimation techniques. Furthermore, the attitude determination problem could not be completely solved with respect to the full attitude state, if only mono-directional solar array data are available, as assumed in this research work. Namely, the incomplete Sun direction estimation is the single output of the proposed determination algorithm, to be used by the control section. The solar arrays and angular rates only ADCS algorithm presented in this work has been also included in a complete multi-mode ADCS for small satellite platforms developed by the authors [25,26], which underwent a complete validation, verification, and testing campaign to assess the performance of the proposed methods.
The paper briefly introduces the mathematical formulation behind attitude dynamics, determination, and control for spacecraft orbiting around planetary bodies in Section 2. This is done to support the discussion of the proposed algorithms with a larger audience of readers, who can refer to classic spacecraft attitude books for further references [3,4]. The proposed attitude determination and control architecture is then described in Section 2.1, with a specific focus on the developed solar arrays pointing attitude determination and control algorithms, which are detailed in Section 3. The Sun pointing performance is first outlined in Section 3.3 for the ideal case, without measurement noise and actuation errors. Finally, Section 4 discusses model-in-the-loop (MIL) verification results to demonstrate the applicability of the proposed methods to realistic cases, which are affected by sensors and actuators limitations. The actuation by means of momentum exchange devices or magnetic torquers is discussed, highlighting the limits of the latter in producing the desired torques in sequential alternative directions.

2. Spacecraft Attitude Dynamics, Determination and Control

The research work considers a spacecraft orbiting around a planetary body, namely the Earth, whose generic configuration is shown in Figure 1. The spacecraft attitude motion is described as the rotation of the rigid body frame, B, with respect to an inertial reference frame, I. Without loss of general applicability, the inertial reference frame can be selected to be an Earth-centered inertial (ECI) coordinate frame. In this paper, the I frame coincides with the J2000 ECI reference frame, which is defined with the Earth’s mean equator and equinox at 12:00 terrestrial time on 1 January 2000 [27]. The rigid body frame B is centered in the spacecraft’s center of mass, O B , and it is aligned with the spacecraft’s body axes, b ^ 1 , b ^ 2 and b ^ 3 . Without loss of generality, the solar arrays are aligned with b ^ 2 , and their normal direction, n ^ S , has components in b ^ 1 and b ^ 3 . Note that n ^ S is fixed in B, since the research assumes no SADA to rotate the plane of the solar arrays.
The spacecraft attitude dynamics is described according to the Euler equation of rigid body motion as:
I ω ˙ + ω × I ω = t d + t c ,
where ω = [ ω 1 , ω 2 , ω 3 ] T is the vector of spacecraft angular velocities, expressed in body frame and representing the rotation of B with respect to I. I is the inertia tensor of the spacecraft body, which is, in general, a full 3 × 3 matrix, because the axes of B are not always coincident with the principal axes of inertia. Note that the inertia tensor is assumed to be constant in time (e.g., I ˙ = 0 ), since mass variations, flexibility effects, or component movements are not considered. Finally, t d is the vector of disturbance torques, and t c is the vector of control torques. The disturbance torques considered in this research work are due to both external and internal effects. They are modeled according to the international standards for system simulation and algorithms verification [28,29]. In particular, gravity, magnetic, atmospheric drag, radiation pressure torques are considered, as well as internal micro-vibrations induced torques and electro-magnetic interaction disturbances. The control torque is expressed in Equation (1) according to the actuation device that is applying the control action to the system. The paper considers both momentum exchange devices and magnetic torquers as possible alternative actuators.
The momentum exchange devices are assumed to be reaction wheels, whose control action is executed by varying the spin rate of a rotating mass contained inside the spacecraft body. This assumption is motivated by analyzing existing space systems, being the reaction wheels the most common typology of momentum exchange actuators for spacecraft, either small or large classes. An i-th reaction wheel applies a relative torque to a spacecraft thanks to the exchange of its angular momentum, h w i , with the main body. The angular momentum of the reaction wheel is expressed as:
h w i = I w i ω w i ,
where I w i is the moment of inertia of the i-th reaction wheel around its spin axis, and ω w i is the relative angular velocity of the i-th wheel with respect to B. With this formulation, the inertia of the non-spinning wheel is already included in the inertia tensor of the spacecraft, I , and Equation (2) represents the additional angular momentum of the wheel due to its spinning state. To fully control the three-dimensional state of a spacecraft, at least three reaction wheels are needed, with the components of the spinning axes along any orthogonal body frame direction. Then, the overall angular momentum of n identical reaction wheels becomes:
h w = i = 1 n h w i = I w W w Ω w ,
where W w is a 3 × n matrix representing the n spin axes in B, and Ω w is a column vector containing the spin rates of the n wheels around their spin axes. Including the angular momentum exchange of the reaction wheels in Equation (1) it can be seen that the control torque is applied to the system as:
t c R W L = ω × h w h ˙ w = ω × I w W w Ω w I w W w Ω ˙ w ,
where the actuation is executed by commanding a proper variation of the reaction wheel spin, Ω ˙ w , which can be computed inverting the previous equation, knowing the desired control torque t c R W L .
The actuation by means of magnetic torquers, the control torque is generated by the interaction between a desired magnetic dipole moment, d , and an external magnetic field. In fact, magnetic torquers create a dipole moment by letting an electric current flow in electromagnetic coils, according to Ampère’s circuital law. Then, the control torque results in Equation (1) as:
t c M T Q = d × b ,
where b is the external magnetic field vector interfaced with the magnetic torquers. As evident from the previous equation, the magnetic torque is always perpendicular to both dipole moment and magnetic field vector. If the dipole moment can be in any desired direction, with at least three orthogonal magnetic torquers, the external magnetic field typically limits the feasible control torque directions. Namely, a magnetic control torque must lie in the plane orthogonal to b , and the system is under-actuated unless full actuation is achieved in an integral sense along an entire orbit [30].
The control torque t c is the final output of the proposed ADCS, which is applied to the system according to Equation (4) or to Equation (5), depending on the used actuation method. The torque t c is computed with a pulse modulated PD control on the angle the Sun has with respect to the solar arrays. In fact, the solar arrays generate an electrical current almost proportional to the cosine of the Sun angle with respect to the sensor normal, α S , as:
I S I 0 cos ( α S ) ,
where I 0 is the maximum current produced when the Sun is perfectly perpendicular above the solar arrays, being α S expressed as:
α S = arccos ( s ^ · n ^ S ) ,
where s ^ is the Sun direction unit vector, as seen in body frame B. Thus, the solar arrays are correctly oriented to the Sun, producing the maximum electric power, when:
α S = 0 I S I 0 = 1 .
Note that α S 0 since the angle direction is unknown, and the domain of the angle is α S [ 0 , 90 ] deg . The PD control is designed to have a null α S angle, being:
t c = k P f ( α S ) m ^ k D ω ,
where f ( α S ) is a function of the Sun angle that is equal to zero whenever α S = 0 , or I S = I 0 ; m ^ is the control modulation term, which defines the control axis according to a pulsed modulation sequence; k P and k D are positive scalar gains. The proportional action drives the solar arrays to be aligned with the Sun, with a derivative term directly dependent from the angular velocity of the spacecraft. Inserting Equation (9) in Equation (1), and neglecting the disturbance torques, the dynamics can be expressed as:
ω ˙ = I 1 ω × I ω + k P f ( α S ) m ^ + k D ω ,
which has an equilibrium point only for α S = 0 and ω = 0 . Note that this control formulation assumes the Sun as fixed in the inertial reference frame. This assumption is motivated by the slow rotation of the Sun, as seen from the ECI, when compared with the characteristic time of the rotational dynamics of the spacecraft. The PD control structure is motivated since the proposed algorithms are inherently proportional to the Sun angle, with derivative terms given by the angular rates. Being the proportional term direction not completely known in three-dimensional space, the steady-state error cannot be asymptotically eliminated. Thus, the integrator term cannot be directly included in the present control structure. Moreover, the presence of the integrator term would reduce the stability of the closed-loop system.

2.1. Attitude Determination and Control Architecture

The attitude determination and control architecture is implemented to guarantee the correct execution of the proposed attitude determination and control subsystem. The proposed ADCS architecture scheme is reported in Figure 2 highlighting the main data interfaces at the element level, and the algorithm process. The ADCS algorithm is sequential and continuously running whenever the system is active. The subsystem architecture foresees a close integration of the ADCS with the electrical power subsystem (EPS) of the spacecraft, which is responsible for the management of the solar arrays and the generation of the associated telemetry data. In fact, the power generation of the solar arrays is subjected to a closed-loop control action from the EPS to have proper regulation and conditioning of the incoming electrical current. Moreover, the solar arrays may be subdivided into different sections or strings, and multiple current readings may be available. Anyhow, N current measurements from independent groups of solar cells, I S i , shall be available for the ADCS processing. Each current value must be associated with a group of primary solar cells with a unique n ^ S .
The ADCS processes these data to obtain the Sun angle with respect to the primary solar arrays:
α S = f ( I S 1 , , I S M ) , with { n ^ S 1 , , n ^ S M } = n ^ S and M N .
This is done by knowing the way in which the solar cells are grouped and oriented. The maximum current values for each group of solar cells, I 0 i , shall be known by ground characterization and testing. Moreover, these parameters could be also updated along the mission lifetime in a way to re-calibrate the algorithms and account for solar arrays degradation and aging. Although, it shall be noted that the proposed algorithm is not very sensitive to a calibration error in these values, being the control logic designed to minimize the Sun angle. In fact, a wrong value for I 0 i would result in the algorithm not reaching α S = 0 , but a different minimum numerical value, always associated with the maximum power generation. The sole negative effect is associated with slightly larger oscillations around the correct pointing state. This is due to a non-exact scaling term f ( α S ) . Furthermore, relative errors between different groups of solar cells are not relevant since they are averaged along the process in Equation (11), and they are associated with a single normal direction.
The electric measurements of secondary solar panels, I S i with M < i N (i.e., solar cells aligned in other directions), are not directly used from the ADCS and Equation (11), but they can be exploited together with the primary measurements to detect if the spacecraft is currently shadowed by the Earth and no Sun pointing shall be commanded. In fact, the ADCS shall be capable to detect the eclipse condition and issuing an eclipse flag, e c l . The proposed algorithms achieve this by comparing the overall power generation of all the available solar cells with respect to a minimum threshold:
e c l = 1 , if i = 1 N I S j < I S e c l ,
where I S e c l is a calibration parameter very close to zero to reduce the number of false eclipse events. Moreover, the presence of solar cells shall not leave uncovered directions. If this is not the case, or if no secondary solar cell is available, the eclipse condition shall be detected on-board with a proper orbital model or GNSS sensor, or by exploiting Sun presence sensors placed on the external surfaces of the spacecraft. When the eclipse flag is active, the proportional term of the control in Equation (9) is set equal to zero, and the control is only proportional to the angular velocity to maintain the inertial position of the spacecraft until the Sun is back in view. A wrong eclipse condition would not set the spacecraft in danger since, after a predefined eclipse windows time, the system would receive a warning and a complete Sun searching rotation would be performed. The ADCS shall be also equipped with angular rate sensors, such as gyroscopes, or magnetometers with angular rate estimation methods [31]. This is necessary to have an estimation of the angular velocity of the spacecraft, ω , which is needed to compute the derivative action of the control in Equation (9).
The control section processes the Sun angle, the angular rates, and the eclipse flag to obtain the control torque capable to minimize α S . The control algorithm assesses the variation of α S and modulates the proportional term of the control with the modulation vector, m ^ . The modulation vector selects the body axis around which the rotation shall be performed to minimize α S as:
m ^ = ± v ^ 1 or ± v ^ 2 , if α ˙ s > 0 0 , if α ˙ s 0 ,
where v ^ 1 and v ^ 2 are two orthogonal direction unit vectors in body frame. In order to align the solar arrays to the Sun, both v ^ 1 and v ^ 2 shall be orthogonal to n ^ S . For instance, with reference to Figure 1, v ^ 1 and v ^ 2 may be selected as:
v ^ 1 = n ^ S × b ^ 2
v ^ 2 = n ^ S × v ^ 1 .
Note how the rotation around n ^ S is not controlled since it is not relevant to achieve the pointing of the solar arrays. The control algorithm modulates the proportional control action by searching for the right m ^ according to the time variation of α s (i.e., α ˙ s ). This is done with a pulsed sequence spanning the possible values of m ^ until the Sun angle is increasing. When the time derivative of α s is non-positive, the proportional term is zeroed, being m ^ = 0 , and the system evolves under the derivative action control until the Sun angle decreases. Between two control pulses, the proportional control is zeroed to have some time to detect the effect of the last control action. Moreover, when the Sun is not in front of the primary Solar arrays, the pulsed modulation is maintained with the last commanded direction to perform even a full rotation until the Sun is in view of the Solar panels. In this case, to account for possible eclipses not detected, the Sun searching rotation would be performed up to two times around two different axes. If the Sun is not yet in view, the system is posed in eclipse mode with a warning, until the Sun is visible again or the maximum eclipse time has passed.
The specific algorithms implementation shall consider the noise in the measurements and the disturbances affecting the dynamics. Hence, the Sun angle variation is detected over a finite interval of time, to be synchronized with the pulse frequency, to have an integral overview of the dynamics.

3. Solar Arrays Pointing Algorithms

The ADCS architecture described above is implemented in the onboard software as a sequential algorithm, which is dedicated to computing the desired torque level according to the time evolution of the Sun angle on the solar arrays. The starting point of the algorithm coincides with the activation of the system, and it is concluded only when the system is deactivated. The ADCS algorithm is divided into two well-defined states, the operative one and the error one. The error state output an error flag and no control torque whenever the input data from the solar arrays are numerically corrupted or not available. The operative state is composed of the determination and control sections. The former takes the input from the electric power subsystem and computes the input for the following control section, whose final output is the control torque to be commanded. These sequential operations are continuously carried out until the system is switched off, or a transition to the error state happens. The visual representation of the operative state algorithm is reported in Figure 2. The algorithm complexity is linear with the dimension of the batch of sampled current measurements, as will be described in the next section. The proposed algorithm has been entirely conceived and developed to achieve the pointing of the solar arrays to the Sun by only exploiting Sun angle and angular rates measurements. The theoretical foundations used for the implementation of these algorithms are those introduced in Section 2.

3.1. Determination Algorithm

The determination algorithm is dedicated to computing the Sun angle from the current measurements coming from the EPS, detecting the eclipse condition, and providing a good representation of the Sun angle time derivative. Concerning this last point, current measurements are affected by the signal and processing noise and, thus, the time derivative cannot be computed from the raw data. For this reason, the time derivative is practically substituted by a direct numerical comparison on the time-averaged value of the Sun angle at two different times:
α ˙ s 0 if α ¯ s ( t 0 , , t K + 1 ) α ¯ s ( t K , , t 2 K + 1 ) ,
where
α ¯ s ( t 0 , , t K + 1 ) = 1 K i = K + 1 0 α s ( t i )
α ¯ s ( t K , , t 2 K + 1 ) = 1 K i = 2 K + 1 K α s ( t i ) .
The time average of the Sun angle values is performed over the last two batches of K samples of the raw measurements, which are sampled with a fixed and constant time step. Good performances have been achieved with K equal to 100, which corresponds to the last sampling batches across 10 s, for and ADCS running at 10 Hz. The pseudo-code of the determination algorithm is reported in Algorithm 1, which is the first section of the operative state. It elaborates the current measurements preparing the input for the successive control section.
Algorithm 1: Determination Algorithm.
Algorithms 15 00029 i001

3.2. Control Algorithm

The control algorithm is dedicated to sequencing the pulsed modulation to select the correct control axis to rotate the spacecraft and align the solar arrays. The control algorithm is successive to the determination section algorithm, and it is driven by the output of the previous section to compute the proportional term in Equation (9). This is done by selecting the proper modulation vector, m ^ . The derivative control action is not affected by the algorithm since it is always driven by the estimation of the angular rates of the spacecraft. The pulsed modulation is designed in a way that after an active proportional control action, a period with only derivative control is present. This is done to assess the evolution of the Sun angle before applying the next proportional control pulse, and it shall be synchronized with the determination logic. Then,
m ^ = m ^ , if t 0 < t i < t W 0 , if t W + 1 < t i < t 2 K 1 ,
where W < K is the number of time steps when the proportional control is active. Then, it defines the duty cycle of the proportional control. The intensity of the pulsed proportional control is scaled according to the amplitude of the error with respect to the target pointing. This is done to avoid the Sun angle flickering when α S 0 can introduce large control pulses leading to an unstable target pointing. In fact, small fluctuations of the Sun angle around the zero value are accepted as normal, and the control shall not intervene to immediately correct them. Hence, the scaling term in the proportional control is:
f ( α S ) = 1 cos α S , with f ( α S ) [ 0 , 1 ] .
Whenever the proportional control is not zeroed, the control algorithm applies a torque around one axis according to the following repeating sequence:
S m ^ = { + v ^ 1 v ^ 1 + v ^ 2 v ^ 2 } ,
which is a constant parameter for the algorithm. When the system is activated, the repeating sequence starts from the beginning, + v ^ 1 . This is achieved by initializing the last commanded direction as v ^ 2 . The entire control logic explained above is summarized in the pseudo-code of the control algorithm reported in Algorithm 2, which is the second and final section of the operative state. The final output of the ADCS is the control torque, t c , actuated by the specific onboard actuators. For reaction wheels and magnetic torquers, the actuation commands are obtained inverting, respectively, Equations (4) and (5).
Algorithm 2: Control Algorithm.
Algorithms 15 00029 i002

3.3. Control Performance

The performance of the ADCS is assessed at first with numerical simulations on an ideal system. In the ideal case, the dynamic of the spacecraft is realistic, with all the disturbance environmental torques. However, the current measurements are ideal, with no errors or noise. Similarly, the actuators are ideal and capable to apply the desired torque commanded by the ADCS. In fact, the control torques discussed in this section are directly experienced by the satellite in the simulations. The performance is assessed in terms of the specific electrical current generated by the solar arrays, I S / I 0 , which corresponds to the Sun angle, α S , according to Equation (8). The numerical simulations account for the discrete-time nature of the ADCS algorithms, which are integrated with continuous-time dynamics, kinematics, and environment simulator.
Figure 3 and Figure 4 show a simulation of 2 orbital periods in a Sun-synchronous orbit with local time of ascending node (LTAN) at 06:00. Thus, the orbit is not affected by eclipses and the solar arrays can generate electrical power continuously. The simulation is initialized in a random attitude state, with random initial angular rates of the spacecraft. The angular rates are dispersed on the three-body axes in a way that the magnitude of ω is ten times the orbital angular rate at 3 σ . The ADCS is designed to work at 10 Hz , with K = 100 and W = 50 number samples. Hence, each ADCS cycle lasts for 200 sample along 20 s, and each pulse of the proportional control action is active for 5 s. In this way, the duty cycle of the proportional control is 25%. The solar arrays alignment is achieved in less than 2000 s and then maintained with very little control pulses. The control modulation experienced by the satellite is evident in Figure 4, both in terms of the pulsed control axis sequence and of the scaling coefficient term, f ( α S ) . The lack of any measurement or actuator noise and error makes the control very sharp, with just a short Sun acquisition period at the beginning of the simulation. During this period, the Sun is also lost from the front of the solar arrays, but eventually, the control is capable to get to the correct target. Note that I S / I 0 goes down to 1 , which is associated to α s = 180 deg when the Sun is not in front of the solar arrays.
Figure 5 and Figure 6 show a simulation of 2 orbital periods in an equatorial orbit, which has an eclipse period of t e c l 30 min. The simulation is initialized as in the previous case, with the ADCS that shall acquire and point the Sun with the solar arrays. Analogously, the ADCS is the same as the previous simulation. Also, in this case, the ideal determination and control are capable of sharply orienting the spacecraft and maintaining the pointing across the different eclipse windows. Along with the eclipses, the control with respect to the angular rates only maintains a constant spacecraft attitude in the inertial reference frame, which is approximately equal to Sun pointing for short time periods. This allows a fast re-pointing of the panels from a quasi-aligned condition that is typically completed in less than 500 s, as shown in Figure 5. Further simulation results supporting this claim will be discussed in the followings. In Figure 6, reporting the control torques applied to the satellite in these ideal system simulations, the alternation between the full control and the purely derivative control is evident, in particular during the eclipses. The typical behavior of the proposed control algorithm can be appreciated in the first simulation time, during the Sun acquisition phase, for both simulations in Figure 3 and Figure 5. The Sun angle decreases (i.e., I S / I 0 increases) and approaches the perfect alignment with some small wobbles. In fact, when the Sun angle increases (i.e., I S / I 0 decreases), the algorithm starts looking back again for the correct rotation axis to point to the Sun. This is reflected in the small oscillations that can be seen in the available simulation plots.

4. MIL Verification

The proposed solar arrays and angular rates only ADCS has been developed for practical applications in real space software and hardware. Then, the verification of the control performance has been carried out with model-in-the-loop testing campaigns, exploiting a functional engineering simulator (FES) developed for small satellite applications in Earth orbits. In particular, the spacecraft considered in the verification campaign has moments of inertia in the order of 6 e 2 kg m 2 , dimensions of a 3 U CubeSat and solar arrays producing a maximum power of 32 W. The MIL results are analyzed and discussed in terms of generated power from the solar arrays, being the primary objective of the proposed ADCS. Moreover, a direct relationship between the power generation and the Sun angle is available. The actuators considered in the simulations are reaction wheels with a maximum torque of 2 mNm , or magnetic torquers with a maximum dipole moment of 0.5   A m 2 . The MIL verification exploited Monte Carlo analyses with dispersion on the simulation parameters. The verification has been conducted on more than 500 runs, but a reduced subset of the worst-performing 10 samples is reported in the figures of this paper. The simulation parameters affected by dispersion are all the initial conditions for the dynamics, the inertia, the position of the center of mass, the ballistic and the reflectivity coefficients, the measurement noise, the actuators errors. The dispersion is random at 50% of the nominal value at 3 σ for normal distributions, and at 25%
The effect of measurement noise is shown in Figure 7, where the input and the output of the attitude determination algorithms are reported. For coherence with all the results shown in this paper, the specific current is shown in the figure. Reminding Equation (8), a specific current equal to 1 corresponds to aligned solar arrays, with Sun angle equal to 0. The noisy current measurements are averaged over the last two batches of K samples to detect a rising or decreasing trend in the Sun angle. The output of the attitude determination is the two smoothed lines, whose direct numerical comparison allows the estimation of the derivative of the Sun angle, as discussed in the determination algorithm section.

4.1. Momentum Exchange Actuation

The verification of the solar arrays pointing ADCS exploiting momentum exchange actuation with reaction wheels is reported in Figure 8 and Figure 9. The simulations are on the two orbital typologies introduced above: an equatorial orbit with eclipses, and a Sun-synchronous orbit with LTAN at 06:00. The simulation time in the plots corresponds to 2 orbital periods. In both cases, the Sun pointing is always achieved in less than 15 min min, and few brief deviations with respect to the nominal optimal pointing are only present in the very worst scenarios. In all the cases the Sun is never lost from the front of the Solar arrays. The average produced power is ∼30 W, which corresponds to ∼93% of the maximum power. Note that the computation of the average produced power does not account for the eclipse periods.

4.2. Magnetic Actuation

The verification of the solar arrays pointing ADCS exploiting magnetic actuation with magnetic torquers is reported in Figure 10 and Figure 11. In these cases, the ADCS seems to be completely ineffective, and not capable to reach a stable Sun pointing. This is partially true, and it can be explained by reminding that the magnetic actuation is constrained to lie in the plane orthogonal to the external magnetic field vector. Hence, the control direction commanded by the pulsed modulation vector m ^ is in general not feasible. As a consequence, the under-actuation of magnetic torquers is an issue for the proposed ADCS, and this typology of actuators is not suitable for this pulsed modulation scheme. However, comparing the non-controlled case in Figure 12, the average produced power increases when the magnetic control is active. In fact, when the system is not controlled, the average produced power is 10 W, while it gets to 15– 20 W in Figure 10 and 10– 15 W in Figure 11. This corresponds to an improvement of 100% in Sun-synchronous orbits, and 50% in equatorial orbits. This difference between the two typologies of orbits is expected since the magnetic actuation is particularly low performing in an equatorial orbit. In fact, being the equatorial plane almost parallel to the magnetic equator, the control torque is constrained to lie on this plane. Therefore, the rotation around the body axis aligned with the north pole direction of the ECI is almost never possible. This has a dramatic influence on the available control performance with magnetic actuation in Earth equatorial orbits. In general, the solar arrays and angular rates only ADCS is not capable to achieve a stable Sun pointing with magnetic actuation methods. Although, the proposed control method is slightly effective in improving the electric power generation with respect to a non-controlled case. This result may be mitigated by integrating both magnetic torquers and other actuation methods, even if partially failed or not complete. For instance, the presence of a single reaction wheel with components in all the three body axes of the spacecraft might help to solve the controllability problem with magnetic actuation methods.

5. Discussion

The paper presented an attitude determination and control subsystem (ADCS) to align the solar arrays of a spacecraft to the Sun, exploiting only solar arrays and angular rates measurements with no information of the three-dimensional direction of the Sun. In fact, the system only exploits the Sun angle with respect to the unique solar arrays’ normal direction to orient the solar cells. This ADCS control method is not designed to provide support to a nominal phase of a space system, but to guarantee a positive electric power generation even after multiple failures have occurred. The power consumption to support the control effort is largely satisfied by the produced power, which can be only generated if the spacecraft attitude is controlled. The end-to-end process to achieve the pointing of the solar arrays with the imposed limited measurements is new, conceived, and developed as presented in this research work. The proposed determination and control algorithms guarantee the acquisition of the Sun in front of the solar arrays and a stable Sun pointing. This has been proven by extensive numerical simulation campaigns, which have been briefly summarized in this paper. The numerical verification of the ADCS performance with momentum exchange actuation has been conducted according to the international verification standards. In this case, the proposed ADCS is fully capable to satisfy its design requirements. This can be applied to any actuation method that guarantees full controllability on at least two body axes orthogonal to the solar arrays normal. For example, similar results can be obtained by exploiting thrusters in pairs. Whenever full controllability is not continuously available along the prescribed axes, such as with magnetic actuators, the ADCS does not achieve a stable Sun pointing. However, it is capable to improve the electric power generation capacity with respect to a non-controlled system. Even this claim has been verified with numerical simulations, executed according to international standards. The implementation of the presented algorithms is computationally efficient, and it does not impose demanding requirements on the computational resources to be available onboard. Thus, any class of spacecraft may exploit these control methods. The inherent discrete-time formulation of the algorithms allows an easy implementation on hardware working at various sampling frequencies. The presented results are valid for an ADCS working at 10 Hz, with a sampling time of 0.1 s. Positive results have been achieved with a maximum sampling time up to 2 s. Future works can be directed to assess the performance of the proposed methods with other actuation technologies or to theoretically demonstrate the properties of the control modulation. Anyhow, it shall be noted that the proposed attitude determination and control algorithms for solar array pointing are based on proportional-derivative control schemes, and they preserve their peculiar closed-loop features.

Author Contributions

Conceptualization, A.C.; methodology, A.C.; software, A.C.; validation, A.C.; formal analysis, A.C.; writing—original draft preparation, A.C.; writing—review and editing, A.C.; funding acquisition, M.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Abbreviations

The following abbreviations are used in this manuscript:
ADCSAttitude Determination and Control Subsystem
ECIEarth-Centered Inertial
EPSElectrical Power Subsystem
FESFunctional Engineering Simulator
LTANLocal Time of Ascending Node
MILModel-In-the-Loop
PDProportional-Derivative
SADASolar Array Drive Assembly

References

  1. Pandi Perumal, R.; Voos, H.; Dalla Vedova, F.; Moser, H. Small Satellite Reliability: A decade in review. In Proceedings of the 35 Annual Small Satellite Conference, Logan, UT, USA, 7–12 August 2021. number SSC21-WKIII-02. [Google Scholar]
  2. Raghunath, K.; Kang, J.S. An Exploration of the Small Satellite Value Chain and the Future of Space Access. In Proceedings of the AIAA/USU Conference on Small Satellites: Mission Operations & Autonomy, Logan, UT, USA, 7–12 August 2021. number SSC21-P1-29. [Google Scholar]
  3. Wertz, J.R. Spacecraft Attitude Determination and Control; Springer Science & Bussiness Media: Berlin/Herdelberg, Germany, 1978; Volume 73. [Google Scholar]
  4. Markley, F.L.; Crassidis, J.L. Fundamentals of Spacecraft Attitude Determination and Control; Springer: Berlin/Herdelberg, Germany, 2014. [Google Scholar]
  5. Shuster, M.D.; Oh, S.D. Three-axis attitude determination from vector observations. J. Guid. Control 1981, 4, 70–77. [Google Scholar] [CrossRef]
  6. Markley, L. Attitude determination using two vector measurements. In NASA Conference Publication; NASA: Washington, DC, USA, 1999; pp. 39–52. [Google Scholar]
  7. Wahba, G. A least squares estimate of satellite attitude. SIAM Rev. 1965, 7, 409. [Google Scholar] [CrossRef]
  8. Crassidis, J.L.; Markley, F.L.; Cheng, Y. Survey of nonlinear attitude estimation methods. J. Guid. Control Dyn. 2007, 30, 12–28. [Google Scholar] [CrossRef]
  9. Springmann, J.C.; Sloboda, A.J.; Klesh, A.T.; Bennett, M.W.; Cutler, J.W. The attitude determination system of the RAX satellite. Acta Astronaut. 2012, 75, 120–135. [Google Scholar] [CrossRef]
  10. Slavinskis, A.; Ehrpais, H.; Kuuste, H.; Sünter, I.; Viru, J.; Kütt, J.; Kulu, E.; Noorma, M. Flight results of ESTCube-1 attitude determination system. J. Aerosp. Eng. 2016, 29, 04015014. [Google Scholar] [CrossRef] [Green Version]
  11. Springmann, J.C.; Cutler, J.W. Flight results of a low-cost attitude determination system. Acta Astronaut. 2014, 99, 201–214. [Google Scholar] [CrossRef]
  12. Roberson, R.E. Two decades of spacecraft attitude control. J. Guid. Control 1979, 2, 3–8. [Google Scholar] [CrossRef]
  13. Show, L.L.; Juang, J.C.; Lin, C.T.; Jan, Y.W. Spacecraft robust attitude tracking design: PID control approach. In Proceedings of the 2002 American Control Conference, Anchorage, AK, USA, 8–10 May 2002; Volume 2, pp. 1360–1365. [Google Scholar]
  14. Lo, S.C.; Chen, Y.P. Smooth sliding-mode control for spacecraft attitude tracking maneuvers. J. Guid. Control Dyn. 1995, 18, 1345–1349. [Google Scholar] [CrossRef]
  15. Hegrenæs, Ø.; Gravdahl, J.T.; Tøndel, P. Spacecraft attitude control using explicit model predictive control. Automatica 2005, 41, 2107–2114. [Google Scholar] [CrossRef] [Green Version]
  16. Li, J.; Post, M.; Wright, T.; Lee, R. Design of attitude control systems for CubeSat-class nanosatellite. J. Control Sci. Eng. 2013, 2013. [Google Scholar] [CrossRef] [Green Version]
  17. Froelich, R.; Papapoff, H. Reaction wheel attitude control for space vehicles. IRE Trans. Autom. Control 1959, 4, 139–149. [Google Scholar] [CrossRef]
  18. Kim, B.; Lee, H.; Choi, S. Three-axis reaction wheel attitude control system for Kitsat-3 microsatellite. Space Technol. 1996, 5, 291–296. [Google Scholar] [CrossRef]
  19. Stickler, A.C.; Alfriend, K. Elementary magnetic attitude control system. J. Spacecr. Rocket. 1976, 13, 282–287. [Google Scholar] [CrossRef]
  20. Lovera, M.; Astolfi, A. Global magnetic attitude control of inertially pointing spacecraft. J. Guid. Control Dyn. 2005, 28, 1065–1072. [Google Scholar] [CrossRef]
  21. Zahran, M.; Aly, M. A solar cell based coarse sun sensor for a small leo satellite attitude determination. J. Power Electron. 2009, 9, 631–642. [Google Scholar]
  22. Nygren, M.; Birkeland, R.; Gravdahl, J.T. Using Solar Panels as Sun Sensors on NTNU Test Satellite. Ph.D. Thesis, Norwegian University of Science and Technology, Trondheim, Norway, 2012. [Google Scholar]
  23. Baroni, L. Attitude determination by unscented Kalman filter and solar panels as sun sensor. Eur. Phys. J. Spec. Top. 2020, 229, 1501–1506. [Google Scholar] [CrossRef]
  24. Davydov, A.A. Determination of parameters of attitude motion of a small communication satellite using the data of measurements of current of solar panels. Cosm. Res. 2011, 49, 335. [Google Scholar] [CrossRef]
  25. Colagrossi, A.; Prinetto, J.; Silvestrini, S.; Orfano, M.; Lavagna, M.; Fiore, F.; Burderi, L.; Bertacin, R.; Pirrotta, S. Semi-analytical approach to fasten complex and flexible pointing strategies definition for nanosatellite clusters: The HERMES mission case from design to flight. In Proceedings of the 70th International Astronautical Congress (IAC 2019), Washington, DC, USA, 21–25 October 2019; pp. 1–8. [Google Scholar]
  26. Colagrossi, A.; Silvestrini, S.; Prinetto, J.; Lavagna, M. HERMES: A CubeSat Based Constellation for the New Generation of Multi-Messenger Astrophysics. In Proceedings of the 2020 AAS/AIAA Astrodynamics Specialist Conference, South Lake Tahoe, CA, USA, 9–12 August 2020; pp. 1–20. [Google Scholar]
  27. Vallado, D.A. Fundamentals of Astrodynamics and Applications; Springer Science & Business Media: Herdelberg, Germany, 2001. [Google Scholar]
  28. ECSS. Space Engineering: Space Environment; Technical Report ECSS-E-ST-10-04C; European Cooperation for Space Standardization: Noordwijk, The Netherlands, 2008. [Google Scholar]
  29. ECSS. Space Engineering: System Modelling and Simulation; Technical Report ECSS-E-TM-10-21A; European Cooperation for Space Standardization: Noordwijk, The Netherlands, 2010. [Google Scholar]
  30. Colagrossi, A.; Lavagna, M. Fully magnetic attitude control subsystem for picosat platforms. Adv. Space Res. 2018, 62, 3383–3397. [Google Scholar] [CrossRef]
  31. Carletta, S.; Teofilatto, P.; Farissi, M.S. A Magnetometer-Only Attitude Determination Strategy for Small Satellites: Design of the Algorithm and Hardware-in-the-Loop Testing. Aerospace 2020, 7, 3. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Spacecraft body reference frame.
Figure 1. Spacecraft body reference frame.
Algorithms 15 00029 g001
Figure 2. Solar arrays pointing ADCS scheme, with data interfaces and visual algorithm schema.
Figure 2. Solar arrays pointing ADCS scheme, with data interfaces and visual algorithm schema.
Algorithms 15 00029 g002
Figure 3. Specific solar arrays current, with no eclipses.
Figure 3. Specific solar arrays current, with no eclipses.
Algorithms 15 00029 g003
Figure 4. Control torques, with no eclipses.
Figure 4. Control torques, with no eclipses.
Algorithms 15 00029 g004
Figure 5. Specific solar arrays current, with eclipses.
Figure 5. Specific solar arrays current, with eclipses.
Algorithms 15 00029 g005
Figure 6. Control torques, with eclipses.
Figure 6. Control torques, with eclipses.
Algorithms 15 00029 g006
Figure 7. Effect of measurement noise on the determination output.
Figure 7. Effect of measurement noise on the determination output.
Algorithms 15 00029 g007
Figure 8. Solar arrays power Monte Carlo analysis, with no eclipses and momentum exchange actuators.
Figure 8. Solar arrays power Monte Carlo analysis, with no eclipses and momentum exchange actuators.
Algorithms 15 00029 g008
Figure 9. Solar arrays power Monte Carlo analysis, with eclipses and momentum exchange actuators.
Figure 9. Solar arrays power Monte Carlo analysis, with eclipses and momentum exchange actuators.
Algorithms 15 00029 g009
Figure 10. Solar arrays power Monte Carlo analysis, with no eclipses and magnetic actuators.
Figure 10. Solar arrays power Monte Carlo analysis, with no eclipses and magnetic actuators.
Algorithms 15 00029 g010
Figure 11. Solar arrays power Monte Carlo analysis, with eclipses and magnetic actuators.
Figure 11. Solar arrays power Monte Carlo analysis, with eclipses and magnetic actuators.
Algorithms 15 00029 g011
Figure 12. Solar arrays power Monte Carlo analysis, with no control action.
Figure 12. Solar arrays power Monte Carlo analysis, with no control action.
Algorithms 15 00029 g012
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Colagrossi, A.; Lavagna, M. A Spacecraft Attitude Determination and Control Algorithm for Solar Arrays Pointing Leveraging Sun Angle and Angular Rates Measurements. Algorithms 2022, 15, 29. https://doi.org/10.3390/a15020029

AMA Style

Colagrossi A, Lavagna M. A Spacecraft Attitude Determination and Control Algorithm for Solar Arrays Pointing Leveraging Sun Angle and Angular Rates Measurements. Algorithms. 2022; 15(2):29. https://doi.org/10.3390/a15020029

Chicago/Turabian Style

Colagrossi, Andrea, and Michèle Lavagna. 2022. "A Spacecraft Attitude Determination and Control Algorithm for Solar Arrays Pointing Leveraging Sun Angle and Angular Rates Measurements" Algorithms 15, no. 2: 29. https://doi.org/10.3390/a15020029

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop