A Novel Concept for Guidance and Control of Spacecraft Orbital Maneuvers

The purpose of this paper is the design of guidance and control algorithms for orbital space maneuvers. A 6-dof orbital simulator, based onClohessy-Wiltshire-Hill equations, is developed in C language, considering cold gas reaction thrusters and reactionwheels as actuation system. The computational limitations of on-board computers are also included. A combination of guidance and control algorithms for an orbital maneuver is proposed: (i) a suitably designed Zero-Effort-Miss/Zero-Effort-Velocity (ZEM/ZEV) algorithm is adopted for the guidance and (ii) a linear quadratic regulator (LQR) is used for the attitude control. The proposed approach is verified for different cases, including external environment disturbances and errors on the actuation system.


Introduction
Space systems often need to be controlled by actuators with limited output level, enforcing strict requirements in terms of relative position and attitude. In the past years, autonomous spacecraft rendezvous and docking (RVD) maneuvers have been extensively studied, in order to obtain controlled trajectories during which the Chaser (active) tries to dock a passive Target spacecraft. The goal of this mission is to safely and efficiently approach the Target vehicle to within a few centimeters (surface-to-surface), following a predefined path, which is generated by the guidance algorithm. In these maneuvers, the control system has to maintain the strict requirements, despite the limitations imposed in the actuation system and the external environment disturbances.
In order to overcome inherent difficulties to achieve the desired objectives, it can be seen as a cooperation of several complex subsystems, with their own dynamics. In this paper, a combination of guidance and control algorithms is proposed, to obtain a potentially flight compliant algorithm in which some on-board limitations and errors/disturbances are taken into account. This research is based on the previous works of [1,2], in which a GNC system of a ground testbed for spacecraft rendezvous and docking experiments is designed. The novelty of this approach is the design and validation of a suitably designed guidance system based on Zero-Effort-Miss/Zero-Effort-Velocity (ZEM/ZEV) theory for a complete orbital maneuver, reducing the fuel consumption.
Guidance algorithms should be divided into two classes: (i) a predictive guidance scheme and (ii) a feedback-based guidance law, which also uses on-off pulses (see Algorithm 1). In the first class, the following guidance laws are investigated: (i) the Lambert guidance [3] and (ii) time-varying state transition matrix (STM) guidance [4]. Other guidance laws, based on the same theory, have been derived to follow defined path to the Target, for example [5], or to intercept an asteroid with terminal velocity direction constraints [6]. Considering the results obtained in [3], in which a simple 3 DOF simulator is considered for the validation of the proposed guidance, it is demonstrated that the computational effort is too high for the implementation on-board. For this reason, in this paper, the second class of guidance laws is considered, in which the well-known Proportional Navigation (PN) algorithm and the ZEM/ZEV theory are included. The PN law issues 2 International Journal of Aerospace Engineering [Waypoint Initialization] (i) set 0 position with current position (ii) set 1, 2 and 3 positions as Table 1 (iii) start tracking Target position and set 4 position (iv) compute Δ 1 2 [Initialization and Coefficients evaluation] (i) set 0,man = s, Δ = 1 Hz if 1-2 compute Δ , 1 2 if 2-3 compute Δ , 2 3 (ii) compute 1 , 1 , 1 , 1 , 2 , 2 , 3 , 3 , 3 according to (19)  acceleration commands, perpendicular to the instantaneous Chaser-Target Line-Of-Sight (LOS), which are proportional to the LOS rate and closing velocity [7].
Bryson and Ho [6] also discussed optimal feedback control laws for a simple rendezvous problem and the relationship between optimal feedback control and PN guidance algorithm. Ebrahimi et al. [8] proposed the new concept of the Zero-Effort-Velocity (ZEV) error, analogous to the Zero-Effort-Miss (ZEM) distance. Both these feedback guidance laws can be implemented with on-off thrusters using a simple Schmitt trigger or other pulse-modulation devices as described in [9]. As clearly explained in [10], these algorithms are usually used for asteroid intercept and rendezvous missions, even if different mission requirements International Journal of Aerospace Engineering 3  [11][12][13][14]. LQR controllers are very effective in controlling linear systems, but, applying a model linearization, LQR can be also used in controlling nonlinear systems, as in the case of spacecraft attitude dynamics. Since LQR belongs to the class of optimal controller, attitude control could be optimized to reach and maintain its goal orientation with minimum time or energy used more easily than PID controller, even though this aspect is not covered by the scope of this paper. The advantage of this proposed approach lies in its simplicity, and, in our case, the information in terms of velocity and position of the target are taken into account, despite the classical implementation. Using a short term prediction of terminal condition instead of the classical terminal conditions of the complete maneuver guarantees a more precise trajectory control and earlier trajectory error recovery. Moreover, a reduction of the fuel consumption is guaranteed, in particular on curvilinear maneuvers like Hohmann transfer.
The paper is organized as follows. In Section 2, a detailed spacecraft model is analyzed, including actuator models, position, and attitude dynamics. The proposed GNC strategy is developed in Section 3. The simulation results are in Section 4. Conclusions are drawn in Section 5.

Spacecraft Model
The spacecraft model, analyzed in this work, is a 6-degree-offreedom (dof) model in which actuator errors, nonlinearities, and external disturbances are taken into account. As discussed in the Introduction, a complete rendezvous maneuver is considered (see Figure 1), in which a Chaser vehicle has to reach the Target spacecraft, initially moving along a different altitude orbit [15]. A detailed description of maneuver phases and waypoint positions will be provided in Section 4.

Position Mathematical Model.
For circular orbits, the translational dynamics is written in local-vertical localhorizontal (LVLH) frame (see Figure 2). The -axis bar is in the direction of the orbital velocity vector and the -axis bar is in the opposite direction of the angular momentum vector of the orbit, while the -axis bar is radial from the spacecraft center of mass to the Earth center of mass. International Journal of Aerospace Engineering Clohessy-Wiltshire-Hill equations [15] are implemented to describe the relative motion of the two bodies in neighboring orbits:̈= where = [ , , ] ∈ R 3 is the position vector, ∈ R is the Chaser mass (known and varying with time), 0 = √ / ∈ R is the angular velocity of the LVLH frame at a distance from center of Earth, is the gravitational parameter of Earth (known and constant), and = [ , , ] ∈ R 3 is the total force vector, which is the sum of the forces due to the thrusters and the forces due to the action of the external environment disturbances affecting the system; that is, where thr ∈ R 3 is the time-varying vector of the forces by the thrusters (it will be described later) and Δ ex ∈ R 3 is the time-varying vector of the forces related to external disturbances. This last contribution includes the environment aerodynamics force and the 2 effect. The Chaser mass varies depending on the decrease of fuel mass, according to the model in [16] and its function of the total force acting on the system (2), of the gravity gradient vector at sea level, and of the thruster specific impulse. The forces obtained from the thrusters and the external disturbances are transformed from body frame to LVLH frame. Hence, we have where * ∈ R 3 represents the vector of force in body frame ( frame, see Figure 3), ∈ R 3 represents the force vector in LVLH frame (see (2)), and ( , , ) ∈ R (3,3) is the transformation matrix between these two reference frames. This transformation matrix couples the position and the attitude dynamics.

Euler Equations.
For the evaluation of the spacecraft attitude angular velocities and angles, the body reference frame is considered, the origin of which is the center of mass of the spacecraft (see Figure 3). In this reference frame, the body tensor ∈ R 3,3 of inertia is considered diagonal and it is updated taking into account the center of mass (CoM) change of position. The angular velocities are defined from the Euler equation aṡ where = [ , , ] ∈ R 3 is the vector of Chaser angular velocities, RW is the RW moment of inertia (known ∈ R 3 is the total moment acting on the Chaser and is given by the sum where Δ ex ∈ R 3 is the external disturbance moment, due to gravity gradient effect and the solar radiation pressure.

Kinematic Equations.
The quaternions are used for the attitude evaluation:̇= where = [ 0 , 1 , 2 , 3 ] ∈ R 4 is the vector of quaternions and Σ( ) ∈ R (4,4) is defined as where Ω is the skew-symmetric matrix, The attitude is obtained by the time integration of (6). The attitude is propagated with respect to the Earth Centered Inertial (ECI) frame. The ECI frame is centered in the Earth's CoM and the -axis lies in the equatorial plane, pointing toward the mean of the vernal equinox. The -axis is normal to the equatorial plane pointing north and the -axis is defined to form a right-handed system. A quaternion in the form = [1, 0, 0, 0] represents the body frame aligned with ECI one. magnitude. As will be detailed in the following, in each required control direction a pair of actuators is used and these thrusters coupled by direction are always switched on together. This precise choice of design for the actuation system guarantees a nominal zero moment due to the thrusters in the ideal case, when no thrusters errors occur. Each thruster is characterized by a fixed output and the individual thruster can provide either the maximum amount of thrust when switched on or no force when switched off. Further characteristics of each thruster are given by the time duration of the pulse width on and the thruster zero time before turning on again off . In fact, if the controller switches on the th thruster at time 0 , this actuator provides the maximum thrust max for a time on and then the same thruster cannot be turned on again for a time off , as shown in Figure 4 and according to the following:

Actuation
where on and off are known and constant for each thruster. The constant = on + off can be computed and its inverse constitutes the maximum allowed frequency at which the th thruster can be switched on.
To model the different sources of uncertainty, the total thruster force of the th thruster is described as where thr is the total number of thrusters. The vector ∈ R thr is a Boolean vector related to the thruster switching on/off. The magnitude mag ∈ R of the force applied by the th thruster is modeled considering the maximum thrust and a magnitude error applied by each thruster. The vector thr ∈ R 3 is the vector representing the shoot direction of the th thruster: that is, where 0 thr ∈ R 3 is the vector of the nominal direction of thrust for each individual thruster and Δ thr ∈ R 3 is the shooting direction error due to nonperfect assembly. The design of both shooting and magnitude thruster errors is based on the theory of [17] and it includes bias and random components.
The resulting total force applied by thrusters is given by The total moment due to the thrusters is evaluated as where ℓ ∈ R 3 is the th thruster position vector for = 1, . . . , thr . The vector ℓ changes during the maneuver, due to the variation of the spacecraft CoM position, and it is defined in terms of , , position with respect to the CoM in body reference frame. To model this variation, we write where ℓ 0 ∈ R 3 represents the vector of initial position of the thrusters and Δℓ ∈ R 3 is due to CoM position variation. See Figure 5 for the thruster distribution on the spacecraft and for the scheme of thruster positions.
The attitude control is based on three axial reaction wheels with inertia RW , driven by electric motors powered by the spacecraft electrical power supply. They are managed and controlled by the on-board attitude control computer. A reaction wheel actuator produces a moment RW , causing its angular momentum to increase. A saturation on the maximum-minimum torque assigned by the RWs is also included. The angular velocities of the reaction wheels RW and the moment RW are calculated in body reference frame (described in Section 2.2).

Guidance, Navigation, and Control Algorithms
Proximity operations and docking require extremely delicate and precise translational and rotational maneuvering. During the orbital maneuver and, in particular, in the final approach of the proximity operations phase, the relative position, velocity, attitude, and angular rates between the two spacecrafts must be precisely controlled in order to obtain the required docking interface conditions. Thus, we propose an on-board Guidance, Navigation, and Control (GNC) concept to perform various rendezvous functions including translational and rotational control, targeting, and relative navigation, automatically and with extreme precision.
As first approximation, we assume that an extended Kalman filter is implemented that filters all the sensor noise and all the measurement disturbances. The role of each element of the GNC system is (i) to receive and elaborate signals from sensors (Navigation),  (ii) to compute the required acceleration or force needed to change, if required, the actual orbit and to follow a predefined path (Guidance), (iii) to control the actuators enforcing the correct trajectory of the Chaser spacecraft pointing to the Target vehicle (Control).
In the next section each function of the GNC software, developed in the present work, is deeply described.

Guidance Algorithm.
The guidance function can be conceptualized as the trajectory generator. If a simple example is considered, the guidance law defines the trajectory that the spacecraft has to follow to reach the desired final position. The selected algorithm is the ZEM/ZEV, extensively discussed in [10,18], and it corresponds to an optimal control only in the presence of uniform gravitational field, as in the case of Low Earth Orbit environment. The general formulation of the ZEM/ZEV control law is where ∈ R 3 is the required control acceleration, go = − is the time-to-go, and is the final maneuver time. The time go represents a parameter related to the expected time, the maneuver is concluded, and it is chosen a priori. The time is the elapsing simulation time.
Expanding the ZEM and ZEV terms we obtain ZEM = −̃, where ∈ R 3 and V ∈ R 3 are the desired final position and velocity and̃∈ R 3 andṼ ∈ R 3 are the predicted position and velocity at = go .
Choosing properly the final maneuver time is not a trivial task; indeed, a bad choice of could cause extremely high values of the command acceleration, since 1/ go tends to infinity as the time increases. To fix this behaviour it is possible to set a limiting value to go , once it becomes smaller than a specific limit value.
The approach proposed in the present paper is as follows. Instead of computing the final position and velocity vectors required as terminal conditions of the entire maneuver, the ZEM/ZEV terms in (16) are implemented as positions and velocities that the spacecraft should have while it is following an ideal maneuver. As a consequence, and V are the position and velocity vectors propagated foreword by a defined and constant Δ using the Clohessy-Wiltshire equations [15]. Considering where 0 = [ 0 , 0 , 0 ] ∈ R 3 is the initial position vector of the spacecraft anḋ0 = [̇0,̇0,̇0] ∈ R 3 is the initial linear velocity vector. Note that pred = ( − 0,man ) + Δ is the elapsed time from the beginning of the maneuver ( 0,man ) and Δ is the prediction horizon.
The ideal trajectory and speed profiles are computed from (17) to (18). To compute the predicted position and velocity, respectively,̃andṼ , Clohessy-Wiltshire equations are propagated over Δ , so we havẽ where all the coefficients are computed by (19) using the actual position and velocity as initial conditions.
In order to generate the ideal trajectory that the Chaser shall follow for the phase of rendezvous and docking maneuver, Clohessy-Wiltshire equations have to be propagated forward with time from a starting time 0 to a finish time which varies according to the specific maneuver. In the ideal case, an impulsive maneuver of orbit altitude raising ends after half an orbital period, while a continuous thrust maneuver (with the same initial and terminal orbit altitude) ends after one orbital period. As depicted in Figure 1 the whole maneuver is composed of different phases (Hohmann, R-bar pulse (radial boost), etc.). This means that the initial conditions of the generated ideal maneuver have to be changed when a different phase is considered [15]. As a consequence, the GNC software has to compute the coefficients of (19) using different initial conditions for each phase before starting running the ZEM/ZEV algorithm and to generate the guidance law. So, 0,man is initialized at each waypoint after the station keeping conditions are reached. Finally, it is possible to generate the trajectory and the velocity profile that the Chaser should have Δ steps forward the current elapsed time − 0,man from the beginning of the maneuver.
To compute ZEM and ZEV errors, it is required to estimate the predicted terminal conditions, which, in this proposed approach, are the positioñand the velocityṼ computed forward in time by Δ . In this case, differently from the generation of the ideal trajectory, initial conditions used to compute coefficients of (19) are position and velocity vectors of the Chaser at the current simulation time . Thus, it is possible to predict positions and velocities of the spacecraft after Δ in free dynamics (no control action and disturbances are applied). The coefficients of (20) are computed continuously during each phase of the simulation.

Attitude Control. Attitude control is performed by both activating reaction wheels and reaction control thrusters or
Reaction Control System (RCS). Usually, fine and continuous attitude control is executed by RW, while the use of RCS, due to its impulsive behaviour, is required when the control torque is high (compared to the maximum torque generated RW) or to desaturate RW.
Our idea, to satisfy pointing requirements and constraints, is to implement a LQR control system. For the definition of the LQR gains, a standard continuous timeinvariant state-space formulation is evaluated: where ∈ R 6,6 is the state matrix, ∈ R 6,3 is the control matrix, and the state is defined by = [ 1 , 2 , 3 , 1 , 2 , 3 ] ∈ R 6 , with 1 , 2 , and 3 being the vectors of the first three components of the vector (defined in Section 2.3). 1 , 2 , 3 are, respectively, the , , and components of the angular speed vector of the spacecraft. The control vector ∈ R 3 is the control torque. Note that rel and rel are relative quaternion and angular rates written in LVLH frame. Since the attitude dynamics model of the spacecraft is computed relative to the ECI frame, rel and rel have to be derived in the inertial frame. The angular speed of the spacecraft relative to the ECI frame is where is the angular speed of the LVLH frame relative to ECI and is the angular speed of the spacecraft with respect to LVLH frame. Rewriting the equation and expressing the rotation matrix from LVLH to body frame we obtain where 0 is the angular velocity of the LVLH frame, as defined in Section 3.1. The rotation matrix ( ) can be defined using the quaternion rel ] . (26) In order to design the LQR controller, a linearization of the dynamic equations has to be applied. Bryson's rule [19] is considered for the evaluation of the controller gains. The desired quaternion rel id is then and the resulting rotation matrix is ] . (28) The linearized angular velocities and are with time derivativė The time derivative of the relative quaternion iṡ and, after linearization, the result iṡ The linearized dynamic model is obtained substituting (30) and (31) in (4). Then, it is possible to use the state-space representation (22) defining ∈ R 6,6 and ∈ R 6,3 matrix by 14  in which gyroscopic torque due to RW is neglected due to limitation in software implementation. The other elements of the state and control matrices are zero. The design of the LQR controller consists in generating a control torque equal to where is the state and = −1 is the static gain obtained by the solution of the associated Algebraic Riccati Equation (ARE): where and are weighting matrix of suitable dimensions.

Results
The simulation model is tested for a generic Chaser-Target combination involved in sequential flight phases, as in Figure 1. The Chaser is considered in stable initial conditions along an orbit of height ℎ = 500 km and the Target center of mass is located at the origin of the LVLH reference frame, and it is 12 km far from the Chaser. A cubic-shape Chaser (1.2 m) is considered with an initial mass of 600 kg. The layout adopted for thrusters is as in Figure 5, as discussed in Section 2.4. The parameters and the initial conditions are selected according to [1] and to the approaching maneuver examples in [15], including safety requirements. Position of waypoints relative to LVLH frame is summarized in Table 1, while the complete rendezvous and docking maneuver is divided into four leading phases as summarized in Table 2.
International Journal of Aerospace Engineering   Note that, with the exception of the starting point of the Hohmann maneuver ( 1), the initial points of free drift, radial boost, and straight line maneuvers correspond to the position of the waypoints, respectively, 0, 2, and 3. The position of 1 results from computing Δ , 1 2 required to raise the orbit of the Chaser to the Target orbit (3 km in this case). When Δ , 1 2 is known, we evaluate the distance along bar that the Chaser will cover during the maneuver, and bar position of 1 is computed as Δ 1 2 behind 2. Δ , 1 2 and Δ 1 2 are calculated in the following form: using the value of 0 corresponding to 1-2. Once the distance between two consecutive waypoints 2 and 3 is fixed, it is possible to compute the required Δ , 2 3 to complete the radial boost maneuver, so The following cases are analyzed: (1) Ideal case: in the ideal case, no external disturbances due to the LEO environment and errors induced by RCS are considered (see Table 3). The maneuver described in Table 2 is executed completely, including reaching station keeping conditions before switching to the next phase, as described in the guidance algorithm. The frequency of the guidance control loop is 1 Hz and both the attitude control and the simulation frequency are set to 100 Hz. The results obtained are presented in Figure 6. As shown in Figure 6(d) ideal trajectories (green and magenta dashed lines) are well followed. The performance of the control law can be evaluated by analyzing Figure 6(g): except for initial acceleration boosts, the trajectory is controlled with few pulses along bar ( ) and bar ( ), with the presence of disturbance thrusts along bar ( ) due to attitude misalignment. The two-sided chattering is due to the magnitude and sign of the control acceleration command of (15). The deadband is managed by the PWM function: the thrusters are switched on only if the acceleration required by the guidance algorithm is higher than the minimum feasible acceleration pulse.   (2) Real case: in the second case both atmospheric drag disturbances and RCS errors are activated. The same maneuver as in the ideal case is analyzed. In the next considered cases, the frequency of the guidance control loop is 1 Hz. We analyze two subcases: (2.A) We set the frequency of the control loop at 100 Hz (as in case (1)), to evaluate the performance of GNC algorithms as in the ideal case but introducing leading disturbances. See Table 4 for the results. In Figures 7(a) and 7(c) the effort required by the attitude control to counteract disturbance torque due to thrust errors is shown. Such misalignment causes also a greater effort for the guidance loop with respect to the ideal case, mainly highlighted by the presence of pulsed thrust along bar in Figure 7(g). The request of a larger control activation is translated into a larger consumption of fuel (see Table 4). Better results are obtained in terms of Δ̇as the control along bar is active, instead of the ideal case, in which ZEM/ZEV errors along bar are not large enough (free dynamics motion) to require the activation of the control law. (2.B) The control loop frequency is 50 Hz. The simulation frequency is 100 Hz and the guidance loop frequency is 1 Hz. As it is shown in Figures  8(a), 8(c), and 8(g) the required control effort by both guidance and control is greater than the two previous cases, even though the Chaser is able to complete the entire maneuver even with a degradation of performance. This is due to the "low" update frequency of the controller in comparison with the high dynamics variation occurring during the maneuver. This is also  translated in a high consumption of fuel (see Table 5) that summarizes the numerical results.

Conclusions
In the present work, a new approach for the development of a GNC algorithm has been proposed. The implementation of a modified version of ZEM/ZEV algorithm is novel as this innovative guidance method still finds limited application among the available references. The guidance design is combined with a classical LQR attitude control. This solution is novel and also very effective in driving a Chaser spacecraft along a complete rendezvous and docking maneuver, even in presence of disturbances due to external perturbations  and to the imperfections of the actuation system. The impact of these disturbances and modeling errors was investigated simulating a reference maneuver with different controller frequency. The results confirm that the proposed solution is promising in terms of disturbance rejection, robustness, and performance, providing strict compliance of terminal conditions with nominal reference states, as a major achievement of ZEM/ZEV algorithm implementation.