Satellite modelling

advertisement
1.1.1
satellite dynamic model
A rigid-body satellite is used in this application as the slave satellite. It is being
symmetric about all three axes. Therefore, the equation of motioncan be obtained for
the attitude of the satellite using the Euler's equation of motion for a rigid body as
described in Eq.1.
π‘‡π‘π‘‘π‘Ÿπ‘™ + 𝑇𝑔 +𝑇𝑑 = πΌπœ”Μ‡ 𝑆/𝑁 + πœ”π‘†/𝑁 × πΌπœ”π‘†/𝑁 ,
(1)
whereI is the inertia matrix of the satellite, πœ”S/N and πœ”Μ‡ S/N are the angular rate and the
angular acceleration of the satellite respectively in reference to the inertial system.
π‘‡π‘π‘‘π‘Ÿπ‘™ is the control torque applied to the satellite by actuator and 𝑇𝑑 is the total
disturbance. 𝑇𝑔 is the linearized gravity gradient disturbance.
The πœ”π‘†/𝑁 × πΌπœ”π‘†/𝑁
component represents a gyroscopic terms between angular velocity vectors. The body
coordinate system axes being the same as the main inertia axes, therefore, Eq.1 can be
written in the scalar form:
πœ”Μ‡ 𝑆/𝑁π‘₯ 𝐼π‘₯ = πœ”π‘†/𝑁𝑦 πœ”π‘†/𝑁𝑧 (𝐼𝑦 − 𝐼𝑧 ) + 𝑇π‘₯
πœ”Μ‡ 𝑆/𝑁𝑦 𝐼𝑦 = πœ”π‘†/𝑁π‘₯ πœ”π‘†/𝑁𝑧 (𝐼𝑧 − 𝐼π‘₯ ) + 𝑇𝑦
πœ”Μ‡ 𝑆/𝑁𝑧 𝐼𝑧 = πœ” 𝑆 πœ” 𝑆 (𝐼π‘₯ − 𝐼𝑦 ) + 𝑇𝑧 .
𝑁π‘₯
(2)
𝑁𝑦
Ix,Iyand Iz are the inertia of the satellite about the x, y and z-axis; and Tx , Ty and Tz are
the total toques about three axes respectively. An angular momentum in the
coordinates of the orbital coordinate system can be expressed as
𝐴𝐷𝐢𝑀
πœ”π‘†/𝑁
⏞1
= πœ”π‘†/𝑅 + (−πœ‘
πœƒ
πœ‘ −πœƒ
0
1
∅ ) (−πœ”π‘œ ) ,
0
−∅ 1
(3)
where ∅, πœƒ and πœ‘are the Euler angles for three channels and ADCM is the approximate
result of the direction cosine matrix (DCM) for small angles(Vallado 2001, Jiro
Funamoto 2012).πœ”π‘†/𝑅 is the angular velocity of the reference attitude system and πœ”π‘œ
is the rotational velocity of the satellite.The quadratic terms can be ignored since they
are of a low order. By denoting each axis inπœ”π‘†/𝑅 as πœ”π‘₯ , πœ”π‘¦ , πœ”π‘§ respectively and by
substituting Eq.3 into Eq.2, the linearized equation of motion can then be expressed as
Eq.4
πœ”Μ‡ π‘₯ = −σ1 πœ”π‘œ2 πœ‘ + (1 − σ1 )πœ”π‘œ πœ”π‘§ +
πœ”Μ‡ 𝑦 =
𝑇π‘₯
𝐼π‘₯
𝑇𝑦
𝐼𝑦
πœ”Μ‡ 𝑧 = σ3 πœ”π‘œ2 πœ‘ − (1 + σ3 )πœ”π‘œ πœ”π‘₯ +
where 𝜎1 =
𝐼𝑦 −𝐼𝑧
𝐼π‘₯
; 𝜎2 =
𝐼𝑧 −𝐼π‘₯
𝐼𝑦
; 𝜎3 =
𝐼π‘₯ −𝐼𝑦
𝐼𝑧
𝑇𝑧
𝐼𝑧
(4)
. Before continuing to build the state space
model, we use Psiaki’s idea(Vallado 2001) to implement thelinearized gravity gradient
disturbance.
−𝜎1 ∅
𝑇𝑔 = 3πΌπœ”π‘œ2 ( 𝜎2 πœƒ )
0
(5)
From Eq.3toEq.4, the linear satellite dynamic model can be derived:
π‘₯Μ‡ = 𝐴π‘₯ + [
03,3
] π‘‡π‘π‘‘π‘Ÿπ‘™
𝐼 −1
(6)
where:
0
0
0
𝐴 = −4πœ”2 𝜎
π‘œ 1
0
[ 0
0
0
0
0
3πœ”π‘œ2 𝜎2
0
0
0
0
0
0
2
πœ”π‘œ 𝜎3
1
0
0
0
0
−πœ”π‘œ (1 + 𝜎3 )
0
0
1
0
0
1
0 πœ”π‘œ (1 − 𝜎1 ) ;
0
0
0
0
]
The state vector is given asx = (∅ πœƒ πœ‘ πœ”x πœ”y πœ”z)T. The inputs to the model have units
in [Nm].
1.1.2
Design your controller
Google PID:
Matlab auto tuning is not recommended as the numbers are for idea model, where Kp is too
small to be applied to the actual physical systems
1.1.3
Discretize your controller
After you have designed your control system, you then need to convert it into a form
that is directly implementable in the source code. In practice there are numerous ways
in which this can be achieved. Examples include the “Approximate” digital
implementation, the z-domain method (We will consider this) and the canonical form
method. In all of these techniques, the ultimate aim is to convert your continuous
control law into discrete form since your source code is discrete based.
In our case, we shall use the z-operator method. The z-operator method consists of a
difference equation where the coefficients are determined by the z-operator equation
that describes your controller. The difference equation (Shown on following page) is
one that approximately simulates your control law and can be directly written into
your source code.
Difference Equation:
y[n] = a0 x[n] + a1 x[n − 1] + a1 x[n − 2] + β‹― + b1 y[n − 1] + b2 y[n − 2]
+ b3 y[n − 1] + β‹―
Where your controller represented in z-domain is:
K(z) =
a0 + a1 z −1 + a2 z −2 + β‹―
1 − b1 z −1 − b2 z −2 − β‹―
In these equations, n is the current sample step, (n-1) is the previous sample step (n-2)
is the second previous sample step etc. In your case, x would be yaw angle error and y
is the PWM signal to be fed to the motors.
There is a function called “c2d” on MATLAB that allows you to convert from
s-domain to z-domain. It is recommended that you use a sampling time of 0.1 seconds,
and use the ‘tustin’ method to evaluate your z-domain function. Make sure the
sampling time in your source code matches that used to find your z-domain
function.
1.1.4
Environmental models
The environmental models can be modeled as disturbance in your
Simulink model.
1) Solar pressure:
The solar pressure will instantly jump to the highest value once the satellite comes out
of the shadow of the earth and as soon as the satellite will reach the earth shadow
again it will also vanish nearly instantly. This would be the worst case scenario for the
controller. The force of the solar pressure is calculated with the following formula
from (Vallado 2001, Jiro Funamoto 2012):
πΉπ‘†π‘œπ‘™π‘Žπ‘Ÿ = 𝑝𝑆 𝑐𝑅 π΄π‘ π‘Žπ‘‘
(7)
where𝑝𝑆 is the solar pressure,π΄π‘ π‘Žπ‘‘ is the solar illuminated cross section area of the
satellite and𝑐𝑅 = 2 is the reflection coefficient. Then the moment of solar disturbance
can then be presented as
𝐹
𝑑
𝑠𝑖𝑛 𝛽 90π‘œ ≤ 𝛽 ≤ 270π‘œ
π‘‡π‘†π‘œπ‘™π‘Žπ‘Ÿ = { π‘†π‘œπ‘™π‘Žπ‘Ÿ π‘†π‘œπ‘™π‘Žπ‘Ÿ
,
0
𝑒𝑙𝑠𝑒
(8)
where𝛽 is the angle of the latitude of the satellite, π‘‘π‘†π‘œπ‘™π‘Žπ‘Ÿ is the torsion arm. The
torque generated through the solar pressure normally just affects the attitude in the
y-axis. However, if we have bigger attitude changes, with respect to the reference
coordinate system, also the x-axis of the satellite might be affected. The z-axis is
unaffected as long as the center of gravity is near the z-axis.
2) Aerodynamic drag
The acceleration due to aerodynamic drag can be estimated as
1
2
πΉπ‘Žπ‘’π‘Ÿπ‘œ = − 2 𝑐𝐷 π΄π‘ π‘Žπ‘‘ πœŒπ‘£π‘Ÿπ‘’π‘™
π‘‡π‘Žπ‘’π‘Ÿπ‘œ = πΉπ‘Žπ‘’π‘Ÿπ‘œ × π‘‘π‘Žπ‘’π‘Ÿπ‘œ
(9)
where𝑐𝐷 is the coefficient of drag;𝜌 is the density of the air and vrel is the relative
velocity of the air and π‘‘π‘Žπ‘’π‘Ÿπ‘œ is the torsion arm of aerodynamic drag.In this work, we
assume both disturbances are constant in the simulation.
Download