Upload
pantelis-sopasakis
View
38
Download
1
Embed Size (px)
Citation preview
Sloshing-aware attitude control ofimpulsively actuated spacecraft
P. Sopasakisa, D. Bernardinia,c, H. Strauchb,S. Bennanid and A. Bemporada,c
a Institute for Advanced Studies Lucca,b Airbus DS, c ODYS Srld European Space Agency
July 14, 2015
CFD computations...
Sloshing cannot be ignored!
1 / 16
CFD computations...
Sloshing cannot be ignored!
1 / 16
Outline
1. Derivation of a sloshing-aware dynamical model
2. State estimation and model linearisation
3. Modelling of minimum impulse effect
4. Model predictive control & simulations
2 / 16
I. Modelling
Fixed Body Frame
3 / 16
Modelling sloshing
The concept of a rotating mass is used tomodel the sloshing dynamics. UsingLagrangian arguments we arrive at:
α = β,
β = κβ +θ(α, ω)
mfr2
where θ is a nonlinear functiona whichdepends of parameters p and r.
aGiven in the appendix
4 / 16
Modelling sloshing
The inertia tensor J of the upper stage is:
J(α) = J0 + Jmf (α)
I J0: diagonal inertia tensor without sloshing,
I Jmf (α) contribution of the moving mass given by
Jmf (α)=mf
r2 pr cosα pr sinα∗ p2 + r2 sin2 α − sinα cosα∗ ∗ p2 + r2 cos2 α
.
5 / 16
Modelling sloshing
The system dynamics is given by:
α = β,
β = κβ + θ(α,ω)mf r2
Sloshing
ω = ψ(ω)ω + J−1τext − J−1J ′(α)βω
εy = ωy + εzωx,
εz = ωz − εyωx
Pitch and yaw errors
where ψ(ω) = J−1Ω(ω)J with
Ω(ω) =
0 ωz −ωy−ωz 0 ωxωy −ωx 0
.
6 / 16
System dynamics
The attitude dynamics is described by the statevector z ∈ R7
z(t) = (εy, εz, ωx, ωy, ωz, α, β)′
with input u(t) = (τext,x, τext,y, τext,z)′ as follows
dz(t)
dt= F (z(t), u(t)).
The above system is discretised with samplingperiod h > 0:
zk+1 = zk + hF (zk, uk) =: fh(zk, uk)
* We measure only the five first coordinates of z,that is yk = Czk.
7 / 16
II. State Estimation andLinearisation
Ext. Kalman Filter
Using the EKF the estimates zk are updated as
zk+1 = (I −KkCfh(zk, uk)) +Kkyk
where Kk is computed using first-order information of the system:
Fk =∂fh∂z
∣∣∣∣(zk,uk)
.
8 / 16
Ext. Kalman Filter
0 20 40 60 80 100
1
2
3
4
5
6
7
8
9
10x 10
−4
Time [s]
Sta
te e
stim
ate
ion e
rror
(norm
)
9 / 16
Linearisation
At time kj we linearise the system around the current estimated state zkjand input ukj :
zk+1 = Akjzk +Bkjuk + fkj , for k > kj
where Akj , Bkj and fkj are functions of zkj and ukj as follows
Akj = I + h∂F
∂z
∣∣∣∣(zkj ,ukj )
Bkj = h∂F
∂u
∣∣∣∣(zkj ,ukj )
fkj = fh(zkj , ukj )
10 / 16
III. Minimum Impulse Effect
Minimum impulse effect
Minimum impulse effect: thrusters cannot produce arbitrarily smalltorques, thus uk is constrained in
U = [−umax,−umin] ∪ 0 ∪ [umin, umax]
We introduce the binary vectors δ−k and δ+k so that1
δ−k = [uk ≤ −umin],
δ+k = [uk ≥ umin],
and the auxiliary variable ηk defined as
ηk,i = [δ−k,i ∨ δ+k,i] · uk,i
1Here ≤ and ≥ are element-wise comparison operators.
11 / 16
Minimum impulse effect
To detect thruster activations we use the variable
vk = [δ−k ∨ δ+k ]
and we recast the system dynamics as
zk+1 = Azk +Bηk + f,
γk+1 = γk + [ 1 1 1 ] vk,
where γk is the total actuation count up to time k on which we impose:
γk ≤ γmax.
12 / 16
IV. Hybrid Model PredictiveControl
Control scheme
Control objectives:
I BBQ mode: Track a desiredspin rate 5deg/sec
I with a low actuation count
I and steer the pitch and yawerrors to 0.
HMPC
EKF
Online Linearisa2on
(A, B, f)
z
u y
z
13 / 16
Hybrid Model Predictive Control
MPC problem2:
P(x0, γ0, A,B, f) : minπN
VN (πN , γ0)
s.t. x(0) = x0, γ(0) = γ0,
Hybrid dynamics for k ∈ N[0,Nu−1],
Assume U = [−umax, umax] for k ∈ N[Nu,N−1],
where
VN (πN , γ0)=‖QNzN‖p + ρ(γN − γ0)︸ ︷︷ ︸Penalises the tot.
actuation count alongthe horizon
+
N−1∑k=0
‖Qzk‖p + ‖Rηk‖p
2Optimisation with respect to the sequence of control actions uk , δk , vk and ηk .
14 / 16
Simulation results3
−0.2 0 0.2 0.4 0.6 0.8 1 1.2−0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
Pitch error [deg]
Yaw
err
or
[deg]
50 100 150 200 250 300
0
0.2
0.4
0.6
0.8
Pitch e
rror
[deg]
50 100 150 200 250 300
0
0.5
1
Yaw
err
or
[deg]
Time [s]
0 50 100 150 200 250 300−6
−4
−2
0
2
4
6
Time [s]
Spin
rate
[deg/s
]
0 50 100 150 200 250 3000
1000
2000
Tx
0 50 100 150 200 250 300−2000
0
2000
4000
Ty
0 50 100 150 200 250 300−2000
0
2000
4000
Tz
Time [s]
3Simulation parameters: Nu = 8, N = 20, ρ = 0.0515 / 16
Simulation results
Choosing Nu = 2 we get:
50 100 150 200 250 300
−1
0
1P
itch e
rror
[deg]
50 100 150 200 250 300
−1
0
1
Yaw
err
or
[deg]
Time [s]
16 / 16
Thank you for your attention
V. Appendix
Sloshing dynamics
The motion of the rotating mass is given by
d2α
dt2= κ
dα
dt+θ(α, ω)
mfr2,
And function θ is given by
θ(α, ω) = r2(ω2y − ω2
z) sinα cosα− prωxωy sinα
+ prωxωz cosα− r2ωyωz cos(2α).
Attidute dynamics
The torque τ given by
τ = τext +
0 ωz −ωy−ωz 0 ωxωy −ωx 0
· l,where l = Jω is the angular momentum and τext is the torque applied bythe thrusters. Differentiating l and by virtue of the above we have
l = Jω + Jω = J ′(α)αω + Jω,
and given that τ = l, we have that
τ = J ′(α)αω + Jω.
The attitude dynamics is now described by
ω = J−1ΩJω + J−1τext − J−1J ′(α)βω.
Performance indicators and assessment
Performance indicators: (i) the pointing-accuracy indicator
JKpa =
Tsim∑k=Tsim−K
ε2y,k + ε2z,k,
Tsim: simulation time, K: parameter; (ii) the total squared error indicator
Jtse =
Tsim∑k=0
ε2y,k + ε2z,k,
(iii) the actuation count Jyact and Jzact along the y and z axes and (iv) thetotal actuation count Jact.
Performance indicators and assessment
Evaluation of the closed-loop performance by simulations over an periodTsim = 300s - effect of ρ
ρ Jact J40pa Jtse
0.005 168 0.0001 0.0510
0.05 84 0.0018 0.0834
0.1 80 0.0349 0.2988
0.2 79 0.1279 1.6862
Extended Kalman Filter
The state estimates zk are updated according to
zk+1 = (I −KkCfh(zk, uk)) +Kkyk,
where Kk is determined by
Kk = GkC′(CGkC
′ +R)−1,
Pk+1 = (I −KkC)Pk,
with
Fk =∂fh∂z
∣∣∣∣(zk,uk)
,
Gk = FkPkF′k +Q.