Электронный журнал «Труды МАИ». Выпуск № 34
www.mai.ru/science/trudy/
Sub-optimal control to perform station-keeping for a satellite in a
constelation
Antonio Fernando Bertachini de Almeida Prado
Abstract
This paper considers the problem of orbital maneuvers that use a low thrust sub-optimal control to perform station-keeping in a satellite that is part of a constellation. The main idea is to assume that the position of a satellite that belongs to a constellation is given, as well as a nominal orbit for this satellite, not far from the initial orbit. Then, it is necessary to maneuver this satellite from its current position to the nominal specified orbit. The control available to perform this maneuver is the application of a low thrust to the satellite and the objective is to perform this maneuver with minimum fuel consumption. A sub-optimal approach will be used, to allow a simple implementation of the hardware.
1. Introduction
The spacecraft is supposed to be in Keplerian motion controlled only by the thrusts, whenever they are active. This means that there are two types of motion:
i) A Keplerian orbit, that is an orbit obtained by assuming that the Earth's gravity (assumed to be a point of mass) is the only force acting on the spacecraft. This motion occurs when the thrusts are not firing;
ii) The motion governed by two forces: the Earth's gravity field (also assumed to be a point of mass) and the force delivered by the thrusts. This motion occurs during the time the thrusts are firing.
The thrusts are assumed to have the following characteristics:
i) Fixed magnitude: The force generated by them is always of constant magnitude during the maneuver. The value of this constant is a free parameter (an input for the algorithm developed here) that can be high or low;
ii) Constant Ejection Velocity: Meaning that the velocity of the gases ejected from the thrusts is constant;
iii) Constrained angular motion: This means that the direction of the force given by the thrusts can be modified during the transfer. This direction can be specified by the angles a and P, called pitch (the angle between the direction of the thrust and the perpendicular to the line Earth-spacecraft) and yaw (the angle with the orbital plane). The motion of those angles are constrained (constant, linear variations, forbidden regions for firing the thrusts, etc.);
iv) Operation in on-off mode: It means that intermediate states are not allowed. The thrusts are either at zero or maximum level all the time.
2 Definition of the problem
The objective of this problem is to perform station-keeping in a satellite that is in orbit and is part of a constellation. It has to go to a specific position in a final orbit. In the case considered in this paper, an initial and a final orbit around the Earth is completely specified. The problem is to find how to transfer the spacecraft between the first of those two orbits to a specific position in a final orbit, in such way that the fuel consumed is minimum. There is no time restriction involved here and the spacecraft can leave from any point in the initial orbit. The maneuver is performed with the use of an engine that is able to deliver a thrust with constant magnitude and linearly variable direction. The mechanism, time and fuel consumption to change the direction of the thrust is not considered in this paper.
This is a typical optimal control problem, and it is formulated as follows:
Objective Function: Mf,
where Mf is the final mass of the vehicle and it has to be maximized with respect to the control u(.);
Subject to: Equations of motion, constraints in the state (initial and final orbit) and control (limits in the angles of "pitch" and "yaw", forbidden region of thrusting and others);
And given: All parameters (gravitational force field, initial values of the satellite and
others).
The equations of motion are the ones suggested by Biggs [1],[2] and used before by Prado and Rios-Neto [3], that avoid the singularities in circular and/or planar orbits. They are given by:
dXi/ds = fi = SiXiFi (1)
dX2/ds = f2 = Si([(Ga+1)cos(s)+X2]Fi+vF2sin(s)}
dX3/ds = f3 = Si{[(Ga+i)sin(s)+X3]Fi-vF2cos(s)}
dXVds = f4 = SivF(i-X4)/(XiW)
dXs/ds = f5 = Siv(i-X4)mo/Xi
dX6/ds=f6 = - SiF3[X7cos(s)+Xgsin(s)]/2
dXy/ds = f7 = SiF3[X6cos(s)-X9sin(s)]/2
dXg/ds = f8 = SiF3[X9cos(s)+X6sin(s)]/2
dX9/ds = f9 = SiF3[X7sin(s)-X8cos(s)]/2
where:
Ga = i + X2cos(s) + X3sin(s)
Si = (^ Xi4)/[Ga3mo(i-X4)]
F = F cos(a) cos(P)
F2 = Fsin(a)cos(P)
F = Fsin(P)
(2)
(3)
(4)
(5)
(6)
(7)
(8) (9)
(10)
(11) (i2)
(13)
(14)
and F is the magnitude of the thrust, W is the velocity of the gases when leaving the engine, v is the true anomaly of the spacecraft.
In those equations the state was transformed from the Keplerian elements (a = semi-major axis, e = eccentricity, i = inclination, Q = argument of the ascending node, ш = argument of periapsis, v = true anomaly of the spacecraft), in the variables Xi, to avoid singularities, by the relations:
X1 = [a(1-e2)/|]1/2
X2 = ecos^-ф)
X3 = esin^-ф)
X4 = (Fuel consumed)/m0
X5 = t = time
X6 = cos(i/2)cos((n+4)/2)
X7 = sin(i/2)cos((Q^)/2)
X8 = sin(i/2)sin((Q^)/2)
X9 = cos(i/2)sin((n+4)/2)
ф = v +ш - s
(15)
(16)
(17)
(18)
(19)
(20) (21) (22)
(23)
(24)
and s is the range angle of the spacecraft.
The number of state variables defined above is greater than the minimum required to describe the system, which implies that they are not independent and relations between than exist,
X2 + X2 + X2 + X2 = 1
like: 6 7 8 9 . This system is also subject to the constraints in state and some of the
Keplerian elements of the initial and the final orbit. All the parameters (gravitational force field, initial values of the satellite, etc...) are assumed to be known.
In the suboptimal approach [i].[4], a linear parameterization is used as an approximation for the control law (angles of pitch (a) and yaw (P)):
a = ao + a' * ( s - ss ) (25)
P = Po + P' * ( s - ss ) (26)
where ag, Po, a', P' are parameters to be found, s is the instantaneous range angle and ss is the range angle when the motor is turned-on.
These equations are the mathematical representation of the "a priori" hypothesis that a and P vary linearly with the "range angle" s. This is done to explore the possibility of having a model easy to implement in terms of hardware development.
Considering these assumptions, there is a set of six variables to be optimized (start and end of thrusting and the parameters ao, Po, a', P') for each "burning arc" in the maneuver. Note that this number of arcs is given "a priori" and it is not an "output" of the algorithm. This is the control available to maneuver the satellite.
By using parametric optimization, this problem is reduced to one of nonlinear programming, which can be solved by several standard methods.
In the references cited before ([3],[4]) the gradient projection method was used to solve the numerical problem. It showed to be a useful tool, but convergence was difficult in some situations. In the present paper, the Powell's Quadratically Convergent method was used for the optimization steps of the algorithm. This method showed to be better, in terms of convergence, in the simulations performed.
3 Results
To test the algorithm developed three maneuvers were simulated. The first two are planar maneuvers with different values for the desired change in semi-major axis. The third one is to change the inclination. Tables i to 9 show the results.
Initial Orbit Final Orbit
Semi-major axis = 7059.650 km Semi-major axis = 7059.770 km
Eccentricity = 0.07 Eccentricity = 0.07
Inclination = 45e Perigee argument = 15e
Ascending Node = 10e
Perigee argument = 15e
Table 2 - Initial data for Maneuver 1.
Initial data Total mass = 500 kg
Force = 1 N
Initial position = 0
True anomaly = 0e
Initial guess for solution Start of engine = 0e
End of engine = 5e
Initial pitch angle = 0e
Initial yaw angle = 0e
Taxa inicial de varia3ro em pitch = 0
Taxa inicial de varia3ro em yaw = 0
Final orbit Optinal method Suboptimal method
Semi-major axis (km) 7059.77 7059.77
Eccentricity 0.07 0.07
Inclination (°) 45 45
Ascending Node (°) 10 10
Perigee argument (°) 15 15
Fuel (kg) 0.0520 kg 0.0590 kg
Duration (min) 120.8 200.2
Table 4 - Orbits involved in Maneuver 2.
Initial Orbit Final Orbit
Semi-major axis = 7738.87 km Semi-major axis = 7707.43 km
Eccentricity = 0.00371677 Eccentricity = 0.0011589
Inclination = 45e Perigee argument = 90e
Ascending Node = 10e
Perigee argument = 128.059e
Table 5 - Initial data for Maneuver 2.
Initial data Total mass = 500 kg
Force = 1 N
Initial position = 0
True anomaly = 0e
Initial guess for solution Start of engine = 0e
End of engine = 5e
Initial pitch angle = 0e
Initial yaw angle = 0e
Taxa inicial de varia3ro em pitch = 0
Taxa inicial de varia3ro em yaw = 0
Final orbit Optinal method Suboptimal method
Semi-major axis (km) 7707.430 7707.430
Eccentricity 0.0011589 0.0011589
Inclination (°) 45 45
Ascending Node (°) 10 10
Perigee argument (°) 90 90
Fuel (kg) 0.0120 kg 0.0130 kg
Duration (min) 24.8 40.2
Table 7 - Orbits involved in Maneuver 3.
Initial Orbit Final Orbit
Semi-major axis = 8o52.34 km Semi-major axis = 8052.34 km
Eccentricity = o.o2 Eccentricity = 0.02
Inclination = 30e Inclination = 29.9e
Ascending Node = 10e
Perigee argument = 30e
Table 8 - Initial data for Maneuver 3.
Initial data Total mass = 500 kg
Force = 1 N
Initial position = 0
True anomaly = 0e
Initial guess for solution Start of engine = 0e
End of engine = 5e
Initial pitch angle = 0e
Initial yaw angle = 0e
Taxa inicial de varia3ro em pitch = 0
Taxa inicial de varia3ro em yaw = 0
Final orbit Optinal method Suboptimal method
Semi-major axis (km) 8052.34 8052.34
Eccentricity 0.02 0.02
Inclination (°) 29.9 29.9
Ascending Node (°) 10 10
Perigee argument (°) 30 30
Fuel (kg) 0.0020 kg 0.0022 kg
Duration (min) 5.8 8.2
The results showed that the methods can be used for the station-keeping problem of a satellite in a constellation, as well as in different conditions. The differences, in terms of fuel consumption, are not large and justify the simple implementation of the hardware in the majority of the situations.
4 Conclusions
Suboptimal and optimal control were explored to generate algorithms to obtain solutions for the problem of minimum fuel consumption to make station-keeping of a satellite in a constellation.
Both methods have a good numerical behavior, but they can not be used in real time in the current implementation. Process time (CPU) may take several minutes, specially when two or more orbital parameters need to be constrained at the final orbit.
Acknowledgments
The author is grateful to CNPq (National Council for Scientific and Technological Development) - Brazil and to FAPESP (Foundation to Support Research in Sro Paulo State).
References
1. Biggs, M.C.B. (1978). The Optimization of Spacecraft Orbital Manoeuvres. Part I: Linearly Varying Thrust Angles. The Hatfield Polytechnic, Numerical Optimization Centre, England.
2. Biggs, M.C.B. (1979). The Optimization of Spacecraft Orbital Manoeuvres. Part II: Using Pontryagin's Maximum Principle. The Hatfield Polytechnic, Numerical Optimization Centre, England.
3. Prado, A.F.B.A. & A. Rios-Neto (1993). Um Estudo Bibliográfico sobre o Problema de Transferencias de Yrbitas. Revista Brasileira de CiKncias Mecenicas, Vol. XV, no. 1, pp 6578.
4. Prado, A.F.B.A. (1989), AnGlise, Sele3ro e Implementa3ro de Procedimentos que Visem Manobras Ytimas em Yrbitas de Satñlites Artificiáis. Master Thesis, INPE, Sro Josñ dos Campos, Brazil.
Authors
Antonio Fernando Bertachini de Almeida Prado, Instituto Nacional de Pesquisas Espaciais -INPE, Av. dos Astronautas 1758 - S.J.Campos - SP - 12227-010 Contacts: prado@dem.inpe.br