Satellite Orbits Guidance Using State Space Neural

Network
12

Mohamed A. Zayan
The Egyptian Satellites Company (Nilesat), Alexandria, EGYPT
+2012-3942832
m_zayan@yahoo.com
Abstract—This paper develops a State-Space Neural
Network (SSNN) to predict the satellite thruster force and
control osculating orbital elements during maneuvers. An
adequate mathematical satellite model is implemented to
simulate the satellite orbit trajectory. When using SSNN for
control, the system identification Adaptive Neural Network
(ANN) model is implemented to represent the forward
dynamics of the satellite. The prediction error between the
implemented satellite model output and the ANN output is
used as the ANN training's signal. In the system control
stage the SSNN model is used to predict future satellite
responses to potential control signals. Neural Predictive
Control (NPC) is basically a type of Model-Based
Predictive Control, where the model for predictions is a
neural network. Incorporating neural-network models in
Model Based Predictive Control (MBPC) algorithms
providing a NPC. The neural network for obtaining the
predictions in the MBPC scheme is called State-Space
Neural Network (SSNN). State-space candidate models,
which are likely to need less arguments than input-output
models, this is clearly an advantage when small data sets
only are available.

the desired path and location. Aside from the natural
perturbation forces, the motion of a spacecraft is also
affected by the action of an onboard thruster system [1].
Thrusters are frequently applied for orbit control, attitude
control, or combination of both. After a spacecraft has been
placed in an operational orbit about the earth, subsequent
maneuvers will be required to correct the satellite orbit [2].
In this paper, the Model Predictive Control (MPC) and
ANN [3, 4] techniques have been used successfully to
control the satellite orbits during thrusting maneuvers. MPC
was conceived in the 1970s primarily by industry. Its
popularity steadily increased throughout the 1980s. Model
Predictive Control has developed considerably over the last
few years. At present, there are many applications of
predictive control successfully in use not only in the process
industry but also applications to the control of a diversity of
processes ranging from robot manipulators [5, 6] to
aerospace industry. The reason for this success can be
attributed to the fact that the MPC is the most general way
of posing the process control problem in the time domain.
MPC formulation integrates optimal control, stochastic
control, control of processes with dead time, multi-variable
control, and future references when available. Another
advantage of MPC is handling the finite control horizon
used constraints and in general non-linear processes, which
are frequently found in industry. The capabilities of the
multi-layer Neural Network (NN) [7, 3] with non-linear
function have been applied very successfully in the
identification and modeling of dynamic systems. Combing
both techniques of the MPC and ANN [8, 9] makes it a
popular choice for modeling non-linear systems and for
implementing general-purpose non-linear controllers. The
work in neural black-box modeling has been performed
making the assumption that the process to be modeled can
be described accurately by input-output models, and using
the corresponding input-output neural predictors. Since
state-space models constitute a larger class of nonlinear
dynamical models, there is an advantage in making the
assumption of a state-space description, and in using the
corresponding state-space neural predictors.

TABLE OF CONTENTS
…………………………………………………….
1. INTRODUCTION ................................................. 1
2. OSCULATING ELEMENTS VARIATION .............. 1
3. SATELLITE MANEUVER SIMULATION MODEL. 5
4. SATELLITE ORBITS GUIDANCE USING SSNN.. 9
5. CONCLUSION ................................................... 12
ACKNOWLEDGEMENT ........................................ 12
REFERENCES ....................................................... 16

1. INTRODUCTION
Neural network black-box modeling is usually performed
using nonlinear input-output models. The goal of this paper
is to show that there are advantages in using nonlinear statespace models, which constitute a larger class of nonlinear
dynamical models, and their corresponding state-space
neural predictors to model the satellite orbits motion. The
satellite motion is affected by different disturbance forces
depending on the satellite altitude, which lead to change of

2

2. OSCULATING ELEMENTS VARIATION
The satellite orbit is an ellipse, parabola or hyperbola if it is
influenced only by the gravitational field of a point mass or

0-7803-9546-8/06/$20.00© 2006 IEEE
IEEEAC paper #1092, Version 1, Updated Nov, 1 2005

1

spherical body. The orbit elements can be calculated from
position and velocity vector at any time but these elements
will be invariant. Practically, the satellite motion is
perturbated by different forces and the calculation of the
orbit elements will yield a different set of values over an
interval of time. This orbit with varying parameters is called
an osculating orbit. The orbital elements can be treated as
the dependent variables of a set of first order differential
equations. Conversely, the position and velocity vectors can
be calculated directly from the set of evolving parameters at
any time. In the following analysis [1], [20] let ∂ indicate a
change in an orbital variable due to the application of a
vector f of acceleration other than due to the spherically
symmetrical central gravitational field. The change in the
energy per unit mass over a time interval ∂ t is as follows:

1 2
v
2
−μ
E potentialper unit mass = (
)
r
−μ
Etotalper unit mass = (
)
2a
μ∂a
∂E = 2 = v.f∂t .
2a
E kinematicper unit mass =

where p is the semi-latus rectum

p = h2 / μ
Now to calculate out- of -plan elements (i, Ω, ω)

⎡ sin i sin Ω ⎤
h = r × v = h ⎢ − sin i cos Ω⎥ .


cos i
⎣⎢
⎦⎥

Where i is the inclination, Ω is the right ascension of the
ascending node and ω is the argument of perigee.
Differentiate this equation and arrange the result in the form

(1)
(2)
(3)

(13)

⎡cos Ω − sin Ω cos i sin Ω sin i ⎤
Γ2 = ⎢ sin Ω cos Ω cos i − cos Ω sin i ⎥ ,


sin i
cos i
⎢⎣ 0
⎥⎦

(14)

which is an orthogonal matrix, transpose equals the inverse.
Therefore

(4)

⎡h sin idΩ / dt ⎤
⎢ − hdi / dt ⎥ = Γ T (r × f )
2


⎣⎢ dh / dt ⎦⎥

.
(15)
Note that the elements i and Ω refer to the same axes as the
vectors on the right hand side of the above equation in the
inertial Geocentric Equatorial Axes (i, j, k) [1, 10]. The
final form depends on the final axes in use. The rate of
change of the true anomaly θ and the rate of change due

~

only to f is ∂θ are derived by applying the perturbation to
the following equation

h2

(5)

r=

h 2 = (r × v ).(r × v ) .

(6)
Where h is the angular momentum per unit mass and the
absolute value h= |h| is known as areal velocity. The rate of
change of angular momentum is

~

de 2h dh
= r cos θ

re sin θ
dt
dt μ dt
h(r.v ) = rμe sin θ .

(8)
(9)

de
1
=
[( pa − r 2 )( v.f ) + (r.v )(r.f ) ,
dt μae

(11)

(17)
(18)

(19)
(20)

By differentiating

In order to obtain the rate of change of eccentricity (e)
(10)

(16)

In the limit

(7)

h 2 = μa (1 − e 2 ) .

μ

1 + e cos θ
a = p /(1 − e 2 )
~
r∂e cos θ − re sin θ∂θ = 2h∂h / μ .

Since

dh
= (r × v ).(r × f ) / h
dt
= r × (f × r ).v / h
= [ r 2 ( v.f ) − (r.v )(r.f )] / h . 


⎡h sin iΩ


r × f = Γ2 ⎢ − hi ⎥ ,
⎢ h ⎥


where

Referring to the orbital plane axes (ir, iθ, iz) where:
• ir is along the radius vector, away from
the center of attraction.
• iθ is perpendicular to r in the plane of the
motion and in the direction of increasing
the true anomaly (θ).
• iz is the normal to the plane motion.
Where the satellite mass is m, velocity vector is v, position
vector is r, the ellipse major-axis of orbit is a, and the Earth
gravitational coefficient is μ. In the limit this gives the rate
of change of energy as

da 2a 2
=
( v.f ) .
dt
μ

(12)

~
1 dh ⎤

de p ⎡
re cos θ
= − r sin θ
+ ⎢(r.f ) + (r.v )
dt
dt h ⎣
h dt ⎥⎦

By differentiate

2

~
⎡p
⎤ dh

2h
re
= ( p / h ) cosθ (r.f ) + ⎢ 2 cosθ (r.v ) − sin θ ⎥
dt
μ
⎣h
⎦ dt

v.f = μ / p [ef r sin θ + (1 + e cosθ ) fθ ]
=

⎡p

2h
⎢ 2 cos θ (r.v ) − sin θ ⎥ = − sin θ [ p + r (1 + e cos θ ) − er cos θ ] / h
h
μ

μe
h

sin θf r +

The required transformation from i j k axes to r θ z axes

= − sin θ ( p + r ) / h ,

⎡h sin idΩ / dt ⎤
⎢ − hdi / dt ⎥ = Γ T (r × f ) .
2
ijk


⎢⎣ dh / dt ⎥⎦
= Γ2T Γ2 Γ1 (r × f ) rθz

and finally

~
1 ⎡
dh ⎤

=
p cos θ (r.f ) − ( p + r ) sin θ ⎥ . (21)

dt ⎦
dt
reh ⎣

The variation of the argument of perigee ω is obtained by
i x .r = [cos Ω sin Ω 0].r = r cos(θ + ω ) .

⎡ 0 ⎤
= Γ1 ⎢ − rf z ⎥


⎢⎣ rfθ ⎥⎦

Differentiation results in


[ − sin Ω cos Ω 0].r
dt
.
~
⎛ dθ dω ⎞

= − r sin(θ + ω )⎜⎜
+
dt ⎟⎠
⎝ dt

Use of Tangential and Normal Component (t, n, z) in orbital
plane

⎡r⎤
[ − sin Ω cos Ω 0].r = [− sin Ω cos Ω 0] Γ2 Γ1 ⎢0⎥
⎢ ⎥
⎢⎣0⎥⎦
= cos i sin(θ + ω )r

v=

~

dΩ dθ
= − cos i

.
dt
dt
dt

(1 + 2e cosθ + e 2 )

μ
p

e sin θ

μ

(1 + e cosθ
p
r.f = r ( f t sin γ − f n cos γ )

=

(23)

μre

sin θf t −

vh
v.f = vf t

h
fn
v

by means of transformation from t n z axes to r θ z

(24)

⎡sin γ
Γ3 = ⎢sin γ

⎢⎣ 0

− cos γ
sin γ
0

0⎤
0⎥ ,

1⎥⎦

since

Tangential and Normal Components
From the orbital plane axes (ir, iθ, iz) then
r.f = rf r ,
and
r.v = rv sin γ ,
where γ is the angle between the velocity vector v and iθ
measured clockwise from the latter

Also

p

v cos γ =

We now have the required equations for variations of the
orbital elements. The final form of the equations depends on
the axes in use.

tan γ =

μ

v sin γ =

where

or

(25)

(22)

Therefore

⎡cos(θ + ω ) − sin(θ + ω ) 0⎤
Γ1 = ⎢ sin(θ + ω ) cos(θ + ω ) 0⎥


0
0
1⎥⎦
⎢⎣
~
⎛ dθ dω ⎞

⎟,
= −⎜⎜
+
cos i

dt
dt
dt

.

h

r

(r × f ) tnz = [− rf z cos γ − rf z sin γ − rf z sin γ ]T ,

then

0
⎡h sin idΩ / dt ⎤


⎢ − hdi / dt ⎥ = Γ r ⎢
⎥.
− fz
1 ⎢



⎢⎣ dh / dt ⎥⎦
⎢⎣ f n sin γ + f t cos γ ⎥⎦

e sin θ
.
1 + e cos θ

3

(26)

f(u )

1

x1

fn

f(u )

2

x2

ft

f(u )

3

x3

fz

f(u )
x4
f(u )
x5
f(u )
x6
f(u )
x7
f(u )
x8
f(u )
x9

M ux

SysM u x

1 /s
In te g 1
1 /s
In te g 2
1 /s
In te g 3
1 /s
In te g 4
1 /s
In te g 5
1 /s
In te g 6
1 /s
In te g 7
1 /s
In te g 8
1 /s
In te g 9

u (4 )

1

y1

a

u (5 )

2

y2

e

u (6 )

3

y3

h

f(u )

4

y4

T HET A

f(u )

5

y5

theta

f(u )

6

y6

OMEGA

f(u )

7

y7

i

f(u )

8

y8

omega

f(u )

9

y9

T HET A+OMEGA

Figure 1- Satellite Orbits Trajectory Model during Thrusting Maneuver (Satellite Plant Model) Using SIMULINK [20]

~
dθ * dθ dθ dω

=
+
+
= h / r 2 − cos i
dt
dt
dt
dt
dt
~

r
1
= − [2 sin θf t + ( 2e + cosθ ) f n ]
dt
ev
a
dΩ r sin(ω + θ )
=
fz
dt
h sin i
di r cos(ω + θ )
=
fz
dt
h
~

dΩ dθ
= − cos i

dt
dt
dt

Summary Of Equations In Tangential-Normal (t, n, z) Axes
[20]

da 2a 2v
=
f
μ t
dt

de 1
r
= [2( e + cos θ ) f t − sin θf n ]
dt v
a
dh rh p
=
[ f t + e sin θf n ]
dt pv r
θ∗ =θ +ω

(27)
(28)
(29)
(30)

4

(31)
(32)
(33)
(34)
(35)

3. SATELLITE MANEUVER SIMULATION MODEL

f=

Satellite Orbits Correction [20]

Integration over the burn time Δt, the total velocity
increment is given by

The three component of a corrective velocity (vn, vt, vz)
maneuver affect the 6 orbital elements, and therefore, it is
not common to require the adjustment of all the orbital
elements. Geostationary satellite orbits [11] are assumed to
be equatorial orbits with a period equal to the sidereal day
(86164.1 s), i.e. corresponding to the daily rotation of the
Earth relative to the stars. A satellite of a circular orbit with
radius of approximately 42164 km will appear stationary to
an observer on the earth. Although the perturbations on
satellites in geostationary orbits are very small, they become
important due to the tight tolerance arising from the mission
requirements. Station keeping, therefore has to be
performed, and the spacecraft is maneuvered in order to
keep it within strict latitude and longitude limit defining a
dead-zone. The magnitude of the dead-zone depends upon
the characteristics of the communication antennas and
transponders. It is common with modern communication
satellites to require that the satellite remains stationary
relative to the ground within ± 0.1 degree in both latitude
and longitude due to narrow antenna beam width of the
ground transmitter. If the inclination of the orbits drifts
away from the Equator then the satellite will appear to have
a daily oscillation in latitude equal to the magnitude of the
non-zero inclination. The changes in the inclination of a
geostationary orbit arise from the effects of the gravitational
attraction of the Moon and the Sun. The perturbations
caused by the Sun and the Moon are predominantly out-ofplane effects causing a change in the inclination and in the
right ascension of the orbit’s ascending node. In-plane
perturbations also occur, but these are second order effects
and need to be considered when extremely tight tolerance,
i.e. about ± 0.03 degree, is required.

t 0 + Δt

Δv =

∫ f (t )dt = − v

t0

m ( t 0 + Δt )
1
e
m
m0

Δv = −

dm = − v e ln

m(t 0 + Δt )
m0 

Δt
m
F
ln(1 −
). 

m0
m

Assuming that a mass has a constant flow rate and making
use of the total velocity increment Δv, the acceleration may
be expressed [10] as

f (t ) =

m

1

m(t )

m Δt ⎞


− ln⎜⎜1 −

m
0 ⎠

Δv
Δt

(37)

Satellite Maneuver Modeling [20]
An adequate mathematical satellite orbit trajectory model
during thrusting maneuver is implemented by treating the
orbital elements as the dependent variables of a set of first
order differential equations in (t, n, z) axes using numerical
integration methods. Due to very small interval time of the
propulsion system burning required for the satellite
maneuver the equations of Tangential-Normal axes are
applicable to simulate the satellite maneuver during
thrusting period. A model is implemented, using SIMULINK
[12], to simulate the satellite maneuver. There are three
inputs, which represent the three corrective acceleration
vectors samples in Tangential-Normal axes (fn, ft, fz), and
nine outputs, which describe the orbital elements states (a,

~

e, h, θ*(THETA), θ (theta), Ω (OMEGA), ω (omega), i, and
θ*+Ω (THETA+OMEGA) ) as shown in Figure 1.

Thrust Forces

Case Study (Satellite Maneuver Simulation)[20]

The maneuver may conveniently be treated as instantaneous
velocity increments Δv occurring at the impulsive maneuver
time tm whenever the thrust duration is small as compared to
the orbital period.

v(t m+ ) = v(t m− ) + Δv(t m ) .

F m
=
ve .
m m

The following case study contains the information of the
typical satellite data history in geostationary orbit, which is
used in the implementing of the North-South maneuvers.
The main object of the simulated maneuver is to correct the
non-zero inclination of a geostationary satellite, which is
called North-South maneuver. North-South maneuver is
defined also as the main Station-Keeping maneuver, which
is accomplished by firing one or several thrusters for the
period of time required to achieve the change in orbital
velocity. The main maneuver is occurring in routine
schedule to compensate the perturbation forces. Premaneuver is applied to the satellite in advance of the
maneuver with 10% of the full thrust capacity (offmodulation thrust) in order to estimate disturbing torques
variations. After fluids of the propulsion system have been
relocated and the estimator has converged, the open loop
compensation is modified according to estimations done and

(36)

A substantial amount of propellant is consumed during a
single maneuver, which results in continuous change of the
spacecraft mass along the burn. Despite the variety of the
spacecraft propulsion systems, a simple, constant thrust
model is sufficient to describe the motion of a spacecraft
during thrust. The propulsion system eject a mass of
propellant per time interval dt at a velocity ve.

dm = m dt .
A space craft mass m experiences a thrust

F = m v e .
And the acceleration
5

Table 1 - Orbit Bulletin Epoch, Before Maneuver
in Adaptive Keplerian Elements at 16/3/2002
12:06:40 UTC with m=1083.255 kg
42166.35× 103 meter
a
e_x
0.00036276
e_y
-0.000007898
i_x
-0.00049069 degree
i_y
0.00026083 degree
353.006504 degree
L
Table 2 - The Velocity Increment Vectors in
Tangential Normal Axes during Pre-Maneuver
with 50 s Pulse Duration
-0.00119 m/s
vn pre-maneuver
vt pre-maneuver
-0.00146 m/s
vz pre-maneuver
-0.25767 m/s
Table 3 - The Velocity Increment Vectors in
Tangential Normal Axes during Maneuver with
57.094 s Pulse Duration
-0.00644 m/s
vn maneuver
vt maneuver
-0.00794 m/s
vz maneuver
-1.39760 m/s

-4

0

x 10

fn

-0.5
-1
-1.5
0
-4
x 10
0

20

40

60

80

100

120

20

40

60

80

100

120

20

40

60

80

100

120

ft

-0.5
-1
-1.5
0
-0.005
-0.01

fz

-0.015
-0.02
-0.025
0

time in sec

Figure 2- Acceleration Vectors in Tangential-Normal
Axes (fn, ft, and fz) in m/s2

then full thrust is used. Orbit bulletin before maneuver in
adaptive Keplerian elements are shown in Table 1 where

orbital elements. Reviewing the previous differential
equations (27~35), it is seen that the value of the inclination
will be very sensitive to sign value of the cos(θ*). Increasing
the value of the velocity increment in -z direction is not
sufficient to guarantee the decreasing in the inclination
angle because it is important to supervise and predict all
other parameters related to the satellite orbit during
maneuver. Tables 4 and 5 contain the initial and final values
of orbital elements during pre-maneuver and total maneuver
(pre-maneuver + maneuver). It is shown that small changes
in inclination leads to large amount changes in the perigee
location and the right ascension of the ascending node. The
simulated satellite plant model has succeeded to achieve the
main object of the maneuver and produces a typical
scenario of the satellite maneuver.

e x = e cos(Ω + ω )
e y = e sin(Ω + ω )
i x = sin i cos Ω
i y = sin i sin Ω
L ≈ Ω + ω + θ − GMST = True-Longitude.

Where GMST=Greenwich Mean Sidereal Time which
denotes the angles between the mean Vernal equinox of
date and the Greenwich meridian. The velocity increments
vectors in Tangential-Normal axes during pre-maneuver
with 50 s pulse duration are shown in Table 2. The velocity
increment vectors in Tangential-Normal axes during
maneuver with 57.094 s pulse duration are shown in Table
3.
Results of Maneuver Simulation
Applying the velocity increment at 19/03/2000 9:08:57
UTC and propagating the orbital parameters starting from
the last orbital determination process to get the epoch of the
orbital elements at the thrusting time [13]. Using the
implemented model in SIMULINK with sampling time =
0.57094 s and plotting the orbital elements during premaneuver and maneuver, Figure 2 shows the acceleration
samples of the pre-maneuver and maneuver respectively.
Figures 3, 4, and 5 describe the variation in the orbital
elements due to the thrusting forces. It is shown that
influence of the thrusting forces decrease the inclination and
semi-major axis values. Also, it is clear that the direction of
the velocity increment is very important in adjusting the
6

x 10

7

x 10

4 .2 1 6 6

-4

x 10

3.72

11

1.29 64

4 .2 1 6 6

1.29 64

4 .2 1 6 6

h

1.29 64

e

3 .715

a

4 .2 1 6 6

1.29 64

40

60

310

THE TA

305

300

1.29 64
0

20

40

60

0.2

160

0.15

158

0.1

156

0.05

295

154

0
0

20

40

60

0.032

20

40

60

om ega

i

0

98.3

192

0.03

98.2

190

20

40

60

60

20

40

60

20

40

60

98.1

188
0

40

98.4

194

0.029

20

152
0

196

0.031

0

THE TA + O M E G A

20

OMEGA

3.71
0

theta

4 .2 1 6 6

0

20

t im e

40

60

0

Figure 3 - Satellite Orbital Variation during Pre-maneuver (a in m, h in m2/s, angles in degree, and time in s)
7

x 10

4 .2 1 6 6

x 10

11

1.29 64
1.29 64

3.74

1.29 64

e

a

4 .2 1 6 6

-4

3.76

h

x 10
4 .2 1 6 6

3.72
1.29 64

150

280

260

THE TA

300

3.7
50

100

150

0.8

220

0.6

200

0.4

180

0.2

240
50

100

150

0.03

1.29 64
50

160

0
50

100

150

200

140
50

0.026

0.024
50

98.5

om ega

i

160

98.4

140

100

150

120
50

150

100

150

100

150

98.6

180
0.028

100

100

150

98.3
50

THE TA + O M E G A

100

theta

4 .2 1 6 6
50

OM EGA

4 .2 1 6 6

t im e

Figure 4 - Satellite Orbital Variation during Maneuver (a in m, h m2/s, angles in degree, and time in s)

7

7

x 10

4 .2 1 6 6

x 10
1 .2 9 6 4

3 .7 4

1 .2 9 6 4

3 .7 2

1 .2 9 6 4

3 .7
0

50

100

150

0

50

100

150

1 .2 9 6 4
0
220

300

0 .6

200

280

theta

0 .8

THE TA

320

0 .4

260

180

0 .2

160

0
0

50

100

150
200

0 .0 3

180

0 .0 2 8

160

i

0 .0 3 2

0 .0 2 6

50

100

150

0

9 8 .4

9 8 .2

50

100

150

50

100

150

50

100

150

98

120
0

150

9 8 .6

140

0 .0 2 4

100

140
0

om ega

240

50

OM EGA

4 .2 1 6 6
4 .2 1 6 6

11

h

e

a

4 .2 1 6 6

-4

3 .7 6

THE TA O M E G A

x 10
4 .2 1 6 6

0

50

100

150

0

t im e

Figure 5 - Satellite Orbital Variation during Total Maneuver Period (Pre-Maneuver + Maneuver) (a in m, h m2/s, angles in
degree, and time in s)

Satellite Orbit Elements

Table 4 – Satellite Orbital Variation during Pre-maneuver
Initial Value at t=0
Final Value at t= 50
Amount of Change

a in meter
42166.35×103
42166310.21
-39.78
e
0.00037125
0.00037195
0.00000069
2
11
11
h in m /s
1.296438395×10
1.2964377831994×10
-61180.057
THETA in degree
306.2
298.85
-7.34
theta in degree
0
0.11526
0.11526
OMEGA in degree
152.00
159.55
7.54
i in degree
0.03183960
0.02926856
-0.00257103
Omega in degree
195.71
188.04
-7.66
THETA+OMEGA in degree
98.12
98.33
0.20
Table 5 - Satellite Orbital Variation during Total Maneuver Period (Pre-Maneuver + Maneuver)
Satellite Orbit Elements
Initial Value at t=0
Final Value at t= 50
Amount of Change
a in meter
42166.35×103
42166.0935837467×103
-256.41
e
0.00037125
0.00037575
0.00000449
h in m2/s
1.29643839500×1011
1.2964344514864×1011
-394351.35
THETA in deg
306.2
245.50
-60.69
theta in deg
0
0.73377979
0.73377979
OMEGA in deg
152.0067823
213.152167139785
61.14
i in deg
0.03183960
0.02816396
-0.00367563
Omega in deg
195.7104787
133.831320930936
-61.87
THETA+OMEGA in deg
98.1295
98.57543008
0.44593008
8

the CFM block. The selection of the minimization algorithm
affects the computational efficiency of the algorithm. There
are several minimization algorithms that have been
implemented in MPC such as Non-gradient [5], Simplex
[8], and Successive Quadratic Programming [4, 8]. The
selection of a minimization method can be based on several
criteria such as; number of iterations to a solution,
computational costs and accuracy of the solution. In general
these approaches are iteration intensive thus making realtime control difficult. To improve the usability, a faster
optimization algorithm is needed. Newton-Raphson [8] is a
quadratically converging algorithm while the others have
less than a quadratic convergence. The improved
convergence rate of Newton-Raphson is computationally
costly, but is justified by the high convergence rate of
Newton-Raphson. In using Newton-Raphson as the
optimization algorithm, the number of iterations to
convergence is significantly reduced from other techniques.
The main cost of the Newton-Raphson algorithm is in the
calculation of the Hessian, but even with this overhead the
low iteration numbers make Newton-Raphson a faster
algorithm for real-time control [8].
The general aim is that the future output on the considered
horizon should follow a determined set point or desired
(reference) signal and, at the same time, the control effort
(Δu) necessary for applying. The general expression for
such a cost function will be:

4. SATELLITE ORBITS GUIDANCE USING SSNN
Model and Neural Network Predictive Control( MNNPC)
Many physical plants exhibit nonlinear behavior. These
relationships may be approximated by linear models, but
often a nonlinear model would be more desirable. Nonlinear
systems exhibit many phenomena that are not seen in linear
systems such as an asymmetry between a step increase and
decrease and the law of superposition does not hold. The
quality of the plant’s model affects the accuracy of a
prediction. A reasonable model of the plant is required to
implement MPC. With a linear plant there are tools and
techniques available to make modeling easier, but when the
plant is nonlinear this task is more difficult. Currently there
are two techniques used to model nonlinear plants. One is to
linearize the plant about a set of operating points. If the
plant is highly nonlinear the set of operating points can be
very large. The second technique involves developing a
non-linear model, which depends on making assumptions
about the dynamics of the non-linear plant. If these
assumptions are incorrect the accuracy of the model will be
reduced.
Models using ANN have been shown to have the capability
to capture nonlinear dynamics [8]. For nonlinear plants, the
ability of the MPC to make accurate predictions can be
enhanced if a neural network is used to learn the dynamics
of the plant instead of standard modeling techniques.
Improved predictions affect rise time, over-shoot, and the
energy content of the control signal. The Adaptive Neural
Predictive Control (NPC) system can be seen in Figure 6. It
consists of three components, the plant to be controlled, the
neural network that models the plant, and the Cost Function
Minimization (CFM), or optimization, algorithm that
determines the input needed to produce the plant’s desired
performance. The NPC is approximately working as inverse
transfer function of the controlled plant. The set points or
desired output target trajectory work as an input to the
CFM. The CFM algorithm produces an output, which is
either used as an input to the plant or the plant’s model. The
NPC algorithm has the following important steps:
1.Generate a desired output target trajectory (from desired
future response), tracking trajectory, or reference trajectory
(from set point window constraints, or available history
data). If the future trajectory is unknown, keep the desired
signal constant for the future trajectory.
2.Start with the previous calculated control input vector, and
predict the performance of the plant using the model.
3.Calculate a new control input that minimizes the cost
function,
4.Repeat steps 2 and 3 until desired minimization is
achieved,
5.Send the first control input, to the plant,
6.Repeat entire process for each time step.

Nu

N2

J(N1, N2, Nu ) = β( j)( yh (n + j) − yn (n + j)) + λ_w( j)(Δu(t + j −1)) ,(38)
j =N1

2

2

j =1

where
N1 is the minimum-costing horizon,
N2 is the maximum costing horizon,
Nu is the control horizon,
yh set point or desired output target trajectory,
yn is the predicted output of the neural network,
β and λ_w are the control output and input weighting
factors,
Δu(n+j) is the change in u and is defined as u(n+j)- u(n+j1),
This cost function minimizes not only the mean squared
error between the set point or desired (reference) signal and
the plant’s model, but also the weighted squared rate of
change of the control input with it’s constraints. When this
cost function is minimized, a control input that meets the
constraints is generated that allows the plant to track the set
points or desired (reference) trajectory within some
tolerance.
There are five tuning parameters in the cost function, N1, N2,
Nu, β, and λ. The predictions of the plant will run from N1 to
N2 future time steps. The bound on the control horizon is Nu.
The only constraint on the values of Nu and N1 is that these
bounds must be less than or equal to N2.
The output and input weighting factors, β (j) and λ_w(j) are
sequences that consider the future behavior, usually
constant values or exponential sequences are considered.
The output weighting factor, β (j), is defined as follows:

Cost Function
The computational performance of a MPC implementation
is largely based on the minimization algorithm chosen for
9

β ( j) = α N

2−

j

If the parameter α is a value between 0 and 1, the errors
farthest from instant t are penalized more than those nearest
to it, giving rise to smoother control with less effort. If α>1
the first errors are more penalized and a tighter control is
occurred. The weighting factor λ_w(j) acts as a damper on
the predicted control. Normally bounds in the amplitude and
in the slew rate of the control signal and limits in the output
will be considered and adding these constrained to the cost
function to be minimized. The control law is imposed by the
use of the control horizon Nu, which consists of considering
that after a certain interval Nu<N2 there is no variation in the
proposed control signals. When the condition that the output
attains the desired (reference) value at a determined instant,
stability results are guaranteed.

Figure 6 – Neural Network Predictive Control
Process

The Cost Function Minimization Algorithm
The objective of the CFM [8] algorithm is to minimize J in
with respect to [u(n+1), u(n+2), ...,u(n+Nu)]T, denoted U.
This is accomplished by setting the Jacobian to zero and
solving for U. With Newton-Rhapson (sometimes called
Netwon) used as the CFM algorithm [8], J is minimized
iteratively to determine the best U. An iterative process
yields intermediate values for J denoted J(k). For each
iteration of J(k) an intermediate control input vector is also
generated and is denoted as
⎛ u (n + 1) ⎞


⎜ u (n + 2) ⎟
U( k ) = ⎜
(39)
⎟ , k = 1,..., # iteration.
#


⎜ u (n + N ) ⎟
u ⎠

Figure 7- State-Space Neural Network
If J"(u(k))>0, then guarantees that the initially segment
[u(k), u(k+1)] points towards decreasing values of J( in the
direction of the ‘descending gradient’), Therefore,
backtracking from u(k+1) to u(k) leads to a point u(k)+ with
better value than u(k) and this point can be chosen as a next
iterate of the Netwon-Raphson method. If J"(u(k))<0, then
the method must be updated to take a step in the opposite
direction. Here again, searching along the direction of the
descending gradient -J'(u(k) allows to locate a point with
better value than J(u(k)). If the point u(k+1) defined by
Newton's iterate does not get us closer to 0, then backtrack
on the segment from u(k+1) to u(k) until a better point than
u(k) is found (such a point always exists). Therefore,
backtracking from u(k+1) to u(k) eventually leads to a point
u(k)+ with better value than u(k) and this point can be
chosen as the next iterate of the Newton-Raphson method.
The backtracking algorithm is a linear search routine that
begins with a step multiplier of 1 and then backtracks until
an acceptable reduction in the performance is obtained.
Such strategies combine global convergence with the fast
local convergence properties of Newton's method. In
practice all processes are subject to constraints. The
operational conditions are normally defined by the
intersection of certain constraints for basically economic,
safety, and stability reasons, so that the control system will
operate close to the boundaries. All of this makes the

The Netwon-Raphson rule for U(k+1) is
−1

⎛ ∂ 2J
⎞ ∂J
U(k + 1) = U(k ) − ⎜⎜ 2 (k ) ⎟⎟
(k ) ,
⎝∂ U
⎠ ∂U
(where the Jacobian is denoted as
∂J




u
(
n
1
)

+


∂J
(k ) ≡ ⎜
#

∂U
∂J


⎜ ∂u (n + N ) ⎟
u ⎠

(40)

(41)

and the Hessian as


∂ 2J
∂ 2J


"
2
∂u(n + 1)∂u(n + N u ) ⎟

u
(
n
1
)

+
2
∂ J

(k ) ≡ ⎜
#
%
#


2
2
∂U 2
∂ J
∂ J


"
2

⎜ ∂u(n + N u )∂u(n + 1)
u
(
n
N
)

+
u


In this approach, to design an ANNPC to control the
satellite motion, the Newton methods optimization uses a
technique of backtracking algorithm, which searches in a
given direction to locate the minimum of the performance
function in that direction, based on the following idea:
10

introduction of constraints in the function to be minimized
necessary. Many predictive algorithms inherently take into
account constraints and therefore have been very successful
in industry. Normally bounds in the amplitude and in the
slew rate of the control signal and limits in the output will
be considered:
u min ≤
u(t)
≤ u max
∀t
y min ≤

y( t )

≤ y max

3. Definition and training of the SSNN neural network.
4. Definition of a steady state for the model representing the
plant, to become the initial condition for simulation.
5. Definition of the NPC parameters and application of the
control algorithm in simulation.
Simulink Model and Inputs

∀t

The first step is to select the simulink model that will
represent the MIMO (Multi-Input((fn, ft, fz), and MultiOutput (a, e, THETA, OMEGA, i, omega) satellite plant to
be controlled. Satellite orbit trajectory model during
thrusting maneuver (satellite plant model), which has been
simulated in the previous section, is used to develop the NN
model by generating training data. This network is trained
off-line in batch mode The SSNN is implemented using
NPC tool-box [21] to predict the acceleration vectors (fn, ft,
fz) increment in (t, n, z) axes required to control the, the
major axis (a), and the inclination (i) respectively. The NPC
will guide the satellite orbits parameters during maneuvers.
The NPC calculates the control inputs that will optimize
satellite parameters over a specified future time horizon.
Any poor performance and instability due to the interactions
between processes variables can be avoided thanks to the
setting constraints of the input and the output. The variation
of the perturbation forces depends on the time of the year
and therefore the velocity increment will be varied
according to this change and is limited by the thruster
characteristics. The input and output constraints are
depending on the satellite application and thruster
characteristics.

Modeling and No-Linear Predictions using SSNN [21]
This paper will use the Neural Predictive Control Toolbox
For Cacsd In Matlab Environment [21].
A deterministic non-linear system can be represented in
discrete state-space form as:
x(k+1)=f1(x(k),u(k),d(k))
y(k)=f2(x(k))
where x is the state vector, u is the control input vector, d is
the measurable disturbance vector, y is the output vector,
and f1, and f2 are two static nonlinear mappings. In case of
stochastic State-Space Models Both state and output noise
are assumed to be present. The neural-network has the
ability to represent any arbitrary non-linear function. Thus,
the proposed SSNN architecture [21], with suitable hidden
layers to obtain f1 and f2, can be actually used to represent
(SSNN):
⎛ u(t − 1) ⎞  

⎟⎟ + B h )
x(t ) = W h ⋅ f1 ( W r ⋅ x(t − 1) + W i ⋅ ⎜⎜
⎝ d(t − 1) ⎠  

y (t ) = W o ⋅ f 2 ( W h 2 ⋅ x(t ) + B h 2 )

(42)

(43)
where the first equation takes into account the possible
nonlinear dynamics of the states, and the second is a
nonlinear mapping from the states to the output. This NN
can be represented as a block diagram (Figure 7). The
parameters W and B are properly dimensioned matrices and
vectors, respectively, which must be estimated to fit the
SSNN and the real plant response, given an ordered
temporal sequence for the inputs. The sum squared error
(SSE) between the real output and the simulated one can be
used as a criterion to adjust the weights and bias in the NN
using a Gradient-Based technique [21]. All of the
predictions from the system are obtained from the actual
state of the system, the actual and future values of u (the last
vector produced by the optimization algorithm) and the
actual and future values of the disturbances (in the actual
version, future values are assumed constant). Whenever the
controller is called (at every sampling time), the SSNN must
obtain the next state in order to keep up to date when the
predictions are needed. For NPC design, a CACSD is
convenient. This allows to simulate the process, training of
the neural network based on input/output data collection,
and tuning of the parameters of the controller to obtain an
appropriate response. The application of the tool box has
been divided into five steps:
1. Definition of the model to be controlled and inputs for
identification purposes.
2. Normalization of the input/output data for feeding in to
the neural network.

Training data for maneuver phase

A set of collective cycles from typical history data of
implemented North-South maneuvers for a current
operating geostationary satellite is used to the set
constraints of the SSNN system.
• The parameters and characteristic of the controllers are
as follows:
¾ The network has 2 hidden layer containing six
hidden nodes that use a tan-sigmoid transfer
function.
¾ The output node uses a linear output function with
a slope of one for scaling the output.
¾ The network has six neurons in the state layer
¾ Training function is traingmr, which is a network
training function that updates weight and bias
values.
¾ The control, prediction, and constraints horizon
are set to 5, the control weighting factor is 0.5.
The sampling time = 0.57094 s.
The simulated satellite plant model, which has been
developed before, is used to generate training data for the
NN models. The training data is generated by applying a
series of constrained step inputs to the SIMULINK plant
model. The response of the plant is compared to the
response of the trained network and the corresponding error
between the plant and the network. Figure 8 represents the
11

sum squares errors of the training algorithm versus the
number of epochs.. The maneuver parameters and
constraints are as follows:
¾ The maximum and minimum input samples of the
acceleration vector fn during pre maneuver are set
to value -0.0001228 and -0.0001028 m/s2
respectively.
¾ The maximum and minimum input samples of the
acceleration vector ft during pre- maneuver are set
to value -0.00014907 and -0.00012907 m/s2
respectively.
¾ The maximum and minimum input samples of the
acceleration vector fz during pre maneuver are set
to value -0.026479 and -0.022479 m/s2
respectively.

consumption can be minimized, which is the main issue
during satellite lifetime, because of the NPC optimization
technique. Using Kalman filters for on-line parameters
estimation [20], the NPCs can be used on-board, which will
handle the maneuver in autonomous way, eliminating the
need of human calculations and introduce a robustness
controller. It can be used to control any kind of earth
satellite orbits including geostationary because it is ability
to handle a great variety of processes, from those with
relatively simple dynamics to other more complex ones,
including systems with long delay times or of non-minimum
phase or unstable ones. NPC permits on-board maneuver
planning, calculation, and introduces safety condition when
the Earth Control Stations (ECS) is out of order, which will
recover the absence of ECS and subsequently downgrade
the operation costs. The open methodology of the NPC
based on certain basic principles, which allow for future
extensions. NPC is a major element in introducing the
philosophy of "robustness, better, faster, safety, cheaper" to
next generations of ECS and spacecraft operation. Using
SSNN in cooperative with MBPC, in orbit control, will
optimize the thrusts’ forces and satellite parameters due to
its inherent characteristic and non-linearity performance.
NPC will be efficient in the autonomous satellite
generations. Autonomous on-board orbit control can change
the way space segment operate.

Maneuver Simulation using NPC
Defining the set point for geostsationry orbit where a=
42164 km, and i= 0, the sampling time = 0.57094 s. The
NPC tool-box calculate and optimize the acceleration
vectors samples (fn, ft, fz) in (t, n, z) axes and input to the
satellite plant model as shown in Figure11. The simulation
is performed over the time of the maneuver, which is set to
57.094 s.
NPC Simulation Results
As shown in Figures 9, 10, 11, and 12 which represent the
acceleration Vector Samples in m/s2 (fn) and (ft) (input)
calculated by the NPC, and Reference Simulated Maneuver
model in Comparison with Output of SSNN for a, and i, the
NPCs can follow and trace the reference simulated signals,
or the output setpoint, required for controlling the satellite
orbit parameters. It is shown that the high efficiency that the
NPC could be achieved during maneuver simulation. The
NPC has applied the required rehearsal of the satellite
maneuver with stable and good performance. The NPCs can
be tuned easily to satisfy satellite application and operation
requirements, and in this case NPC can minimize the fuel
consumption because of its optimization technique.
Increasing the available training data will refine and
enhanced the SSNN model. The flexibility and inherent
characteristics of the SSNN in representing non-linear and
dynamic models permit realizing high efficiency maneuver
and improve the performance of the controllers. Using
SSNN with MPC technique is a very good solution due to
its strength in dealing with non-linearity system.

ACKNOWLEDGEMENT
I would like to thank the Egyptian Satellite company Nilesat
(one of the Egyptian Radio and TV Union companies) for
providing working and training in the field of aerospace.

5. CONCLUSION
Using SSNN and NPC in satellite orbits control will
optimize the satellite orbits parameters and the thrust forces
and due to its main strength when applied to problems with
a large number of manipulated and controlled multivariable. Also, the SSNN have the ability to impose the
constraints on both the manipulated and controlled
variables. It is very efficient when future references are
known, as in case of the satellite maneuver. The fuel
12

Figure 8 – Maneuver Training Data for SSNN
13

-4

x 10

-1

-1.1

-1.2

-1.3

-1.4

-1.5
0

10

20

30

40

50

10

20

30

40

50

7

x 10

4.2166

4.2166

4.2166

4.2166

4.2166
0

Figure 9 – Acceleration Vector Samples in m/s2 (fn) and (ft) (input) calculated by the NPC, and Reference Simulated
Maneuver model in Comparison with Output of SSNN for a, time in s
-4

x 10

-1

-1.1

-1.2

-1.3

-1.4

-1.5
0

10

20

30

40

50

0

10

20

30

40

50

0.03

0.029

0.028

0.027

0.026

Figure 10 – Acceleration Vector Samples in m/s2 (fn) and (ft) (input) calculated by the NPC, and Reference Simulated
Maneuver model in Comparison with Output of SSNN for a, time in s

14

-0.0225
-0.023
-0.0235
-0.024
-0.0245
-0.025
-0.0255
-0.026
-0.0265
0

10

20

30

40

50

10

20

30

40

50

7

x 10
4.2166

4.2166

4.2165

4.2165

4.2165

4.2164
0

Figure 11 – Acceleration Vector Samples in m/s2 (fz) (input) calculated by the NPC, and set-point in Comparison with
Output of SSNN for a, time in s
-0.0225
-0.023
-0.0235
-0.024
-0.0245
-0.025
-0.0255
-0.026
-0.0265
0

10

20

30

40

50

0

10

20

30

40

50

0.03
0.025
0.02
0.015
0.01
0.005
0

Figure 12 – Acceleration Vector Samples in m/s2 (fz) (input) calculated by the NPC, and set-point in Comparison with
Output of SSNN for i, time in s
15

Determination to Control the Satellite Motion “, paper #164,
Volume 5 Track 7.07 page 2231-2248, IEEE AC, 2002.

REFERENCES
[1] Maxwell Noton; Space Craft Navigation and Guidance
,”Advances in Industrial Control Series”, Springer-Verlage
London Limited, 1998.

[14] Eduardo F. Camacho and Carlos Bordons; ”Model
Predictive Control”, Springer Verlag, London, 1999.

[2] Gwynne Gurevich, Robert Bell, James R. Wertz;
Autonomous On Board Orbit Control, ” Flight Results and
Applications”, American Institute of Aeronautics and
Astronautics (AIAA), pp 5226-52644, 2000.

[15] D.W. Clarke and C. Mohatadi; “Properties of
Generalized Predictive Control”, Automatica, 25(6): 1989.
[16] Long A.C.; Mathematical Theory of the Goddard
Trajectory Determination System, Goddar Space Flight
Center; Greenbelt, Maryland (1989).

[3] Narendra, K. S. and S. Mukhopadhyay; “Adaptive
Control Using Neural Networks and Approximate Models”,
IEEE Transactions on Neural Networks Vol. 8, pp. 475-485,
1997.

[17] Allgowe E. L., George K.; Numerical Continuation
Methods, SMC13, Springer Verlag, New York (1990).

[4] Hagan, M.T. and H.B. Demuth, “Neural Networks for
Control”, Proceedings of the 1999 American Control
Conference, San Diego, CA, pp. 1642-1656,1999.

[18] McCarthy J. J., Rowton S.; GEODYN ΙΙ Systems
Description, NASA Goddard Space Flight Center, Green belt
Maryland (1993).

[5] M. A. Lelic and P. E. Wellstead; Generalized Pole
Placement Self Tuning Controller. Part 1.Basic Algorithm.
Int. J. Control, 46(2):547-568.1987.

[19] Tapley B. D; Precision Orbit Determination for
TOPEX/POSEIDON, 99, (1994).
[20] M.A. Zayan; Satellite Orbits Control using Adaptive
Neural Predictive Control“, paper #1218, 6-2671, IEEE
AC, 2003.

[6] D. A. Linkers and M. Mahfonf; Advances in Model-Based
Predictive Control, chapter Generalized Predictive Control in
Clinical Anaesthesia, Oxford University Press, 1994.

[21] Zamarreٌo J.M., P. Vega (1999); Neural Predictive
Control. Application to a Highly Non-Linear System.
Engineering Applications of Artificial Intelligence, 12, 149158.

[7] M. A. Zayan; “Noise Cancellation Using Adaptive Digital
Filters and Neural Network”, Master thesis; Electrical Dep.,
Communication Section, Faculty of Engineering, Alexandria
University, Egypt, 1998.

[22] Camacho, E. F. and Bordons, C. (1998); Model
Predictive Control. Springer, Berlin.

[8] Soloway, D. and P.J. Haley; “Neural Generalized
Predictive Control” Proceedings of the 1996, IEEE
International Symposium on Intelligent Control, pp. 277-281,
1996.

BIOGRAPHY

[9] Hagan, M.T., O. De Jesus, and R. Schultz; ”Training
Recurrent Networks for Filtering and Control,” Chapter 12 in
Recurrent Neural Networks; Design and Applications,
L.Medsker and L. C. Jain, Eds., CRC Press, pp. 311-340,
1999.

Dr. Eng. Mohamed A.
Zayan was born in 1969, He
received the B.Sc. in 1991,
M.Sc. degree in 1998 in
digital
Communication
Engineering from the Faculty
of Engineering, Alexandria
University,
Egypt.
He
received the Ph.D degree in
2005 in Automatic Control, at
the Department of Electrical Engineering, Alexandria
University. Currently, he is working as a Satellite Control
Engineer for The Egyptian Satellite Company (Nilesat) (one
of the Egyptian Radio and TV Union companies). His
current research involves Artificial intelligence, Fuzzy
logic, genetic algorithm, Satellite Control and Orbit
Determination.

[10] Oliver Motenbruck, Eberhard Gill; “Satellite Orbit
(Models,
Methods,
Application)”,
Springer-Verlag
Heidelburg New York (2000).
[11] Pocha, J. J. (Jehangir. J.); An Introduction to Mission
Design For Geostationary Satellites, Published by D. Reidel
Publishing Company, Holland; 1987.
[12] MATLAB Soft Ware Package “The Technical Language
of Technical Computing”; Version 6.0.0.88 Release 12, Math
Work Inc, 2000.
[13] A.F. Aly, M. Nguib Aly, M. E. Elshishtawy, M.A.
Zayan; ”Optimization Techniques for Orbit Estimation and
16