sloshing-aware mpc for upper stage attitude control

29
Sloshing-aware attitude control of impulsively actuated spacecraft P. Sopasakis a , D. Bernardini a,c , H. Strauch b , S. Bennani d and A. Bemporad a,c a Institute for Advanced Studies Lucca, b Airbus DS, c ODYS Srl d European Space Agency July 14, 2015

Upload: pantelis-sopasakis

Post on 12-Aug-2015

38 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Sloshing-aware MPC for upper stage attitude control

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

Page 2: Sloshing-aware MPC for upper stage attitude control

CFD computations...

Sloshing cannot be ignored!

1 / 16

Page 3: Sloshing-aware MPC for upper stage attitude control

CFD computations...

Sloshing cannot be ignored!

1 / 16

Page 4: Sloshing-aware MPC for upper stage attitude control

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

Page 5: Sloshing-aware MPC for upper stage attitude control

I. Modelling

Page 6: Sloshing-aware MPC for upper stage attitude control

Fixed Body Frame

3 / 16

Page 7: Sloshing-aware MPC for upper stage attitude control

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

Page 8: Sloshing-aware MPC for upper stage attitude control

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

Page 9: Sloshing-aware MPC for upper stage attitude control

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

Page 10: Sloshing-aware MPC for upper stage attitude control

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

Page 11: Sloshing-aware MPC for upper stage attitude control

II. State Estimation andLinearisation

Page 12: Sloshing-aware MPC for upper stage attitude control

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

Page 13: Sloshing-aware MPC for upper stage attitude control

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

Page 14: Sloshing-aware MPC for upper stage attitude control

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

Page 15: Sloshing-aware MPC for upper stage attitude control

III. Minimum Impulse Effect

Page 16: Sloshing-aware MPC for upper stage attitude control

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

Page 17: Sloshing-aware MPC for upper stage attitude control

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

Page 18: Sloshing-aware MPC for upper stage attitude control

IV. Hybrid Model PredictiveControl

Page 19: Sloshing-aware MPC for upper stage attitude control

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

Page 20: Sloshing-aware MPC for upper stage attitude control

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

Page 21: Sloshing-aware MPC for upper stage attitude control

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

Page 22: Sloshing-aware MPC for upper stage attitude control

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

Page 23: Sloshing-aware MPC for upper stage attitude control

Thank you for your attention

Page 24: Sloshing-aware MPC for upper stage attitude control

V. Appendix

Page 25: Sloshing-aware MPC for upper stage attitude control

Sloshing dynamics

The motion of the rotating mass is given by

d2α

dt2= κ

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α).

Page 26: Sloshing-aware MPC for upper stage attitude control

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 ′(α)βω.

Page 27: Sloshing-aware MPC for upper stage attitude control

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.

Page 28: Sloshing-aware MPC for upper stage attitude control

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

Page 29: Sloshing-aware MPC for upper stage attitude control

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.