Sloshing-aware MPC for upper stage attitude control

Preview:

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= κ

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.

Recommended