Content uploaded by Robert Fonod

Author content

All content in this area was uploaded by Robert Fonod on Oct 23, 2018

Content may be subject to copyright.

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.

IAC-18-C1.3.11

Magnetic Detumbling of Fast-tumbling Picosatellites

Robert Fonoda∗, Eberhard Gilla

aDepartment of Space Engineering, Delft University of Technology, Kluyverweg 1, Delft, The Netherlands 2629 HS

∗Corresponding Author: r.fonod@tudelft.nl

Abstract

The problem of pure magnetic detumbling of a fast-tumbling picosatellite is considered. A new

weighted B-dot control algorithm is proposed. The algorithm enables power reduction while not sacri-

ﬁcing detumbling performance. Analytical expressions relating the maximal expected rotational rate to

the minimum sampling time required are presented. Simulation results demonstrate the practical beneﬁts

of the proposed approach for picosatellites.

Keywords: Picosatellite, magnetic detumbling, B-dot, attitude control, stability

1. Introduction

The work presented in this paper is motivated by the

development of Delﬁ-PQ satellite [1]. With Delﬁ-PQ,

Delft University of Technology has entered the class of pi-

cosatellites and aims at pushing the boundaries of satellite

miniaturisation further. This next level of satellite minia-

turisation generates new research challenges and offers

innovation opportunities. The attitude control and deter-

mination subsystem of the Delﬁ-PQ is an essential corner-

stone and is, among others, responsible for the mission-

critical detumbling. It is anticipated, that the deployment

of Delﬁ-PQ satellite to low Earth orbit (LEO) will be ac-

complished by a newly designed, spring-loaded and not

in-ﬂight tested, deployment system. Therefore, high ini-

tial angular rates up to 180 [deg/s] can be expected. Such

high rates will severely impact the communication and

power subsystem’s functionalities.

In the past decades, a fully magnetic attitude con-

trol became a viable and interesting option, especially for

low-cost nanosatellites [2–5]. However, developments of

fully magnetic control for highly miniaturised picosatel-

lites are still in their infancy. Only recently, preliminary

simulation results on successful magnetic detumbling of a

slow-tumbling (≤6[deg/s]) picosatellite (5×5×5[cm])

have been reported in [6].

Pure magnetic detumbling of a fast spinning picosatel-

lite creates new challenges, especially due to limited on-

board processing and sensing capabilities, magnetorquers

saturation, scarce power resources, and inherent under-

actuation. Driven by these constraints, it is obvious that

the detumbling shall be done in a robust and efﬁcient way.

The widely adopted and simple-to-implement B-dot

algorithm [7] is, in theory, able to detumble a rotating

satellite from any initial angular rate down to approxi-

mately twice the orbital rate. However, if the sensing or

actuation cycle of the detumbling algorithm is not sufﬁ-

ciently small, the satellite might actually spin up instead

of detumbling. Based on Nyquist criterion and rigorous

controllability analysis, we provide analytic expressions

relating the critical rotational rate of the satellite to the

minimum sampling time of the control and sensing loop

necessary for successful detumbling.

The B-dot algorithm was recently modiﬁed by

Avanzini and Giulietti [8] and a reasonable static B-dot

gain was derived yielding a quasi-minimum detumbling

time. However, for fast tumbling satellites, this B-dot gain

needs to be parametrised to efﬁciently utilise the mag-

netorquers duty cycle throughout the entire detumbling

phase. In this work, we propose a new weighted B-dot

control algorithm, where the B-dot gain does not remain

constant, but is parametrised by a so-called tumble pa-

rameter. This parameter is able to estimate the satellite’s

absolute tumbling rate using magnetometer readings only.

Additionally, the vector version of this parameter is able,

in a robust manner, to indicate whether the satellite is

detumbled or not. A simple sensor ﬁltering approach is

introduced to mitigate the impact of sensor noises and bi-

ases caused by on-board electronics. Monte Carlo simula-

tion results are presented to demonstrate the effectiveness

of the proposed detumbling algorithm.

Notations: In this paper, bold italic face denotes vec-

tors and matrices; (·)Tstands for transposition; Rn×mde-

notes a set of n×mreal matrices, Rnrepresents the set

of ndimensional real column vectors; Nthe set of natural

numbers (including {0}); k·kstands for Euclidean vector

norm; |·|denotes absolute value; and N(µ,Σ)denotes a

density function of a multivariate normal distribution with

a mean vector µand covariance matrix Σ.

IAC-18-C1.3.11 Page 1 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.

2. Background

In this section, we will introduce the essential back-

ground that allows to study and design a magnetically

controlled satellite.

2.1 Coordinate Frames

To represent satellite dynamics, we will use two main

reference frames, namely an Earth centred inertial (ECI)

reference frame and a satellite body-ﬁxed (body) refer-

ence frame.

The origin of the ECI frame is located in the centre

of mass (CoM) of the Earth. The z-axis of this reference

frame points to the north pole of the ecliptic, the x-axis

points towards the vernal equinox (ﬁrst point of Aries),

and the y-axis completes the right-handed orthogonal sys-

tem. This reference frame will be denoted as FI.

The origin of the body frame is located in the CoM

of the satellite. The axes of this frame coincide with the

satellite’s principal axes of inertia. Hereafter, the body

frame will be denoted as FB.

2.2 Rotational Dynamics

The rotational dynamics of a rigid body satellite

around its CoM are given by Euler’s moment equation:

I˙

ωB

B/I (t) = −ωB

B/I (t)×IωB

B/I (t) + τB

ext(t),(1)

where ×denotes the cross product, ωB

B/I ∈R3repre-

sents the angular velocity vector of frame FBrelative to

FIdecomposed in FBcoordinates, I∈R3×3is the in-

ertia matrix, and τB

ext ∈R3is the vector of total external

torque acting on the satellite in FBcoordinates. To avoid

extensive notation, the angular velocity vector, ωB

B/I , will

be simpliﬁed to ωB,[ωB

xωB

yωB

z]T.

The total external torque in (1) can be decomposed as1

τB

ext =τB

c+τB

d,(2)

where τB

cis the net disturbance torque and τB

dis the con-

trol torque. The net disturbance torque is divided into the

following four components:

τB

d=τB

a+τB

s+τB

g+τB

m,(3)

where

τB

a- is the torque due to residual atmospheric drag,

τB

s- is the torque due to solar and albedo radiation pres-

sure,

τB

g- is the gravity gradient torque due to asymmetric

distribution of the mass moment of inertia,

τB

m- is the torque due to residual magnetic dipole and

Lorenz forces.

The explicit physical model of the above disturbance

torques can be found, for instance, in [9, 10].

2.3 Magnetic Actuation

A magnetic dipole vector mB

c∈R3in FB, generated

by 3 orthogonally mounted electromagnetic coils aligned

with the satellite’s principal axes of inertia, can be mod-

elled with reasonable accuracy as [11]

mB

c,

mB

c;x

mB

c;y

mB

c;z

=

NxAxix

NyAyiy

NzAziz

,(4)

where Njis the number of windings around the j-th coil,

ijis the current provided in the j-th coil, and Ajis the

area of the j-th coil. More accurate magnetic dipole

model can be found in [12].

A non-zero magnetic dipole vector (4), generated by

satellite body-ﬁxed magnetorquers, will interact with the

local magnetic ﬁeld and generate a control torque vector

τB

caccording to

τB

c=mB

c×bB

E,(5)

where bB

E∈R3is the local Earth magnetic ﬁeld vector

expressed in terms of FBcoordinates.

The torque τB

ccan be used, among others, to damp

the angular momentum of the satellite close to zero or to

de-spin reaction wheels.

2.4 Sensor Model

The local Earth magnetic ﬁeld bB

Ecan be measured

on-board the satellite using a triaxial magnetometer sen-

sor. In this paper, for noise ﬁltering purposes and with-

out loss of generality, we assume availability of multiple

magnetometers on-board. The model of the i-th magne-

tometer reading, z(i)

raw ∈R3, at discrete time instances

tk,kTs,k∈N, can be expressed as follows:2

z(i)

raw (tk) = hT(i)

B/S bB

E(tk) + b(i)

bias +v(i)(tk)iLSB ,(6)

where v(i)∈R3is a random vector satisfying

v(i)∼ N(0,Σi)and aiming at modelling sensor noise

of the i-th magnetometer, b(i)

bias ∈R3is the true static bias

of the i-th magnetometer, and T(i)

B/S ∈R3×3is a rotation

matrix from FBto the i-th sensor frame. Note that TB /S

can be also used to account for sensor misalignment and

scaling errors. Finally, [·]LSb denotes a rounding function

driven by the resolution of the magnetometer with respect

to the least signiﬁcant bit (LSB).

1To further simplify notation, the time-dependency ”(t)” of variables will be omitted if there is no ambiguity.

2Readings from multiple sensors are assumed to occur simultaneously or with minimum delay. The sampling time Tswill be deﬁned in Section 4.

IAC-18-C1.3.11 Page 2 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.

It is important to note that the above model excludes

time-varying biases and assumes magnetorquers being

switched off and properly desaturated when taking mea-

surements3. The effect of the magnetorquers on the mea-

surements can be easily incorporated into (6) by adding a

coupling matrix multiplied by the commanded magnetic

dipole moment mB

cas done in [13].

2.5 Problem Formulation

In this paper, we aim at reducing the angular rate

of the satellite from a non-zero initial value ωB(t0),

ωB

06=0below a desired absolute angular rate ωdes >0

for all three axes, i.e.,

ωB

i(tdet)≤ωdes ,∀i∈ {x, y, z},(7)

where tdet ≥0denotes the detumbling time deﬁned as the

time when the condition (7) is satisﬁed for the ﬁrst time.

The above aim is to be achieved using a pure magnetic

control and feedback provided from the three-axis magne-

tometers only. The resulting algorithm shall be simple to

implement on a low-performance on-board computer and

shall take into account physical limitations of the actua-

tors and sensors. The algorithm shall also be able to “as-

sess” the rotational speed of the satellite and shall be able

to make efﬁcient use of the magnetorquers (especially at

the beginning of the detumbling phase) while not increas-

ing the detumbling time signiﬁcantly.

Note that, due to physical limitations of the considered

setup (pure magnetic actuation and sensing), the satel-

lite’s angular rate can be decreased only until it reaches

values of approximately twice the orbital rate [14]. Re-

cent research suggests that a rotational rate of about 1.8

of the orbital rate can be achieved around the axis of max-

imum moment of inertia [15]. To make (7) realistic for all

axes, we suggest ωdes to be selected such that it satisﬁes

ωdes ≥2ωo, where ωois the orbital rate.

3. Controller Design and Stability

In this section, we introduce a new weighted B-dot

controller and brieﬂy summarise the well-know Lyapunov

stability results applied on a rigid-body satellite dynamics

actuated by the proposed control law.

3.1 Weighted B-dot Control Algorithm

Many variants of the B-dot controller have been pre-

sented in the literature. The simplest one is given by a

static linear feedback of the form [7]

mB

d=−kc

˙

b˙

bB

E,(8)

where kc

˙

b>0is the constant controller gain, ˙

bB

Eis the

time derivative of bB

E(hence the name B-dot), and mB

d

is the desired dipole moment to be generated by the mag-

netorquers. In an ideal case mB

c=mB

d. In practice,

however, the commanded dipole moment might be differ-

ent from the desired one. This is due to magnetorquers’

physical limitations (e.g., saturation) which need to be ad-

dressed. Control efﬁciency of the B-dot controller im-

proves as the orbit inclination angle increases [16].

Although (8) is simple to implement [17], the choice

of the control gain kc

˙

bis not straightforward. A high

value may lead to frequent saturation of the magnetor-

quers, whereas a low value might lead to an inefﬁcient use

of the magnetorquers and very long detumbling time tdet.

Additionally, a static gain is not a good practical solution

for both, very high and at the same time low angular rates,

as the desired dipole moment is proportional to the abso-

lute change of the magnetic ﬁeld, i.e., kmB

dk ∝ k˙

bB

Ek,

which directly relates to the angular rate of the satellite.

In this paper, we adopt the structure of the modiﬁed

B-dot controller proposed by Avanzini and Giulietti [8],

where the desired dipole moment is computed as

mB

d=−k˙

b(p)

kbB

Ek

˙

ˆ

bB

E,(9)

where ˙

ˆ

bB

Eis the time derivative of the unit vector ˆ

bB

E=

bB

E/kbB

Ek. This unit vector is parallel to the Earth’s

magnetic ﬁeld vector bB

E, expressed in FB. In practice,

the time derivative of ˙

ˆ

bB

Eis difﬁcult to measure directly.

However, as will be shown in the next section, ˙

ˆ

bB

Ecan

be estimated by differentiating the magnetic ﬁeld vector

obtained from the body-mounted magnetometers.

In (9), instead of using a static control gain as in [8],

we parametrised the control gain by p, the so called tum-

ble parameter, as follows

k˙

b(p) = k∗

˙

b

ϕp +ε,0≤p≤1,(10)

where 0≤ϕ < ∞is the rate factor, 0< ε ≤1is the

tuning parameter, and k∗

˙

bis the sub-optimal static gain de-

rived in [8] as

k∗

˙

b= 2ωo(1 + sin(ξ)) Imin,(11)

where ω0is the orbital rate (mean motion), ξis the incli-

nation of the orbit plane relative to the geomagnetic equa-

tor and Imin is the minimum mass moment of inertia of

the satellite. It is obvious that for ϕ= 0 and ε= 1,

(9) becomes equivalent with the modiﬁed B-dot law of

Avanzini and Giulietti [8]. A pure static gain k˙

b(p) = k∗

˙

b

results in a quasi-minimum detumbling time [8].

3This assumption arises from the fact that we limit the magnetorquers duty cycle and allow extra time for the magnetorquers to desaturate, see

the discussion in Section 4.

IAC-18-C1.3.11 Page 3 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

The tumble parameter prepresents the satellite’s abso-

lute sensable angular rate and can be related to the satel-

lite angular velocity as (if |ωB

i|≤|ωmax |,∀i∈ {x, y, z})

p≈kωBk

√3|ωmax|,(12)

where ωmax is the maximal absolute rotational rate of the

satellite that the on-board magnetic sensor suite is able to

sense without aliasing effects, see the discussion on ωmax

in Section 4. The on-board computation of pusing mag-

netometer data will be detailed in the next section.

Note that the sign of the desired moment (9), on a

per-axis basis, is opposite to the rate of change of the

magnetic ﬁeld along the respective axis and its magni-

tude is inversely proportional to the tumbling parameter

p. The motivation behind this design choice is to reduce

the power consumption of the magnetorquers, especially

during the early stages of the detumbling mode (most

critical phase), while not sacriﬁcing the detumbling per-

formance measured by tdet. As will be shown later, by

proper choice of ε, the variable control gain k˙

b(p)can be

tuned to approach the sub-optimal gain k∗

˙

bas the detum-

bling phase approaches its end (t→tdet).

Remark 1. Similarly as the classical B-dot controller

given in (8), the weighted B-dot controller (9) does not re-

quire any knowledge of the inertia Iand is able to detum-

ble the satellite to approximately twice the orbital rate.

3.2 Stability Sketch of the Weighted B-dot Controller

We will neglect the disturbance torques (3) from the

following analysis as their inﬂuence during the detum-

bling phase is usually very minor. Hence, for τB

d=0,

the equation of motion (1) simpliﬁes to

I˙

ωB=−ωB×IωB+τB

c.(13)

From a Lyapunov stability perspective, the aim is to

drive ωB→0as t→ ∞ for any ωB

06=0(asymptotic

stability). To proceed, we deﬁne a positive deﬁnite Lya-

punov function candidate as

V(ωB) = 1

2(ωB)TIωB,(14)

where the right hand side of (14) represents the true ki-

netic energy over the rigid body. Note that the inertia

matrix Iis symmetric positive deﬁnite and has positive

eigenvalues called principal moments of inertia [9].

To apply the 2-nd theorem of Lyapunov, we take the

time-derivative Bd/dt(·)of the kinetic energy (14) as

(note that Iis constant in FBand the right hand side of

the Lyapunov function is frame-independent)

˙

V(ωB) = 1

2(˙

ωB)TIωB+ (ωB)TI˙

ωB

= (ωB)T−ωB×IωB+τB

c

= (ωB)TτB

c.

(15)

It is obvious from (15) that, if τB

d=0, the change

of kinetic energy is due to the control torque only and it

decreases only if the dot product of the angular velocity

and control torque is negative, i.e., (ωB)TτB

c<0.

Using the basic theorem of kinematics, we have

˙

ˆ

bB

E=

Bd

dtTI/B ˆ

bI

E=TI/B ˙

ˆ

bI

E−ωB×ˆ

bB

E,(16)

where TI/B is a transformation matrix from FIto FB.

Since ˙

bI

Evaries at most at angular rate of approximately

2ωo, for high angular rates ωB, the rate of change of the

magnetic ﬁeld in the body frame is mainly due to the ro-

tation of the satellite. Hence, for kωBk 2ωo, the right

hand side of (16) can be approximated as

˙

ˆ

bB

E≈ −ωB×ˆ

bB

E.(17)

Substituting the control torque (5) into (15) and using the

fact that aT(b×c) = −bT(a×c), yields

˙

V(ωB) = −(mB

c)T(ωB×bB

E).(18)

Substituting (17) in (9) and assuming mB

c=mB

d(ideal

case), the time derivative of Lyapunov function yields

˙

V(ωB) = −ωB×ˆ

bB

ETk˙

b(p)ωB×ˆ

bB

E.(19)

Despite the fact that k˙

b(p)>0for all p∈[0,1], it is ob-

vious from (19) that ˙

Vis only negative semi-deﬁnite, i.e.,

˙

V≤0. The kinetic energy associated with the compo-

nent of ωBparallel to bB

E(or equivalently to ˆ

bB

E) cannot

be reduced. In other words, the control law (9) can effec-

tively remove the satellite’s angular momentum whenever

ωBis not parallel to bB

E, while leaving it unchanged when

ωTbB

Eis zero [18]. This is due to the fact that the mag-

netorquers cannot provide torque along bB

Eas well as the

magnetometer cannot sense this motion [7].

Thanks to the the orbital motion of the satellite, the

Earth’s magnetic ﬁeld vector direction, ˆ

bB

E, does not re-

main ﬁxed and global asymptotic stability (i.e., kinetic

energy strictly decreasing) of the weighted B-dot con-

troller can be proven by averaging-based analysis [18],

by Lyapunov-like lemma derived from corollary to Bar-

balat’s lemma [8], or by Krasovskii-LaSalle theory of pe-

riodic systems [2, 18].

Remark 2. A natural design choice of τB

cin (15) could

be to generate torque according to

τB

c=−kωωB, kω>0.(20)

This choice ensures that (15) is strictly negative, thus

asymptotic stability guaranteed. However, a control law

based on (20) would require angular rate measurements

or its estimate. The latter can be accomplished by a

IAC-18-C1.3.11 Page 4 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

computationally simple estimator based on magnetome-

ter data only [19]. Unfortunately, (20) is not applicable

in combination with pure magnetic actuation as the mag-

netorquers are only able to generate torques orthogonal

to the Earth’s magnetic ﬁeld, see (5).

4. Discretised Algorithm

The weighted B-dot control law (9) needs to be imple-

mented in the satellite’s on-board computer as a discrete-

time algorithm. In this section, the most important aspects

of the on-board implementation are discussed.

4.1 Noise Filtering

One of the most cost-efﬁcient way to ﬁlter out noise

from the raw measurements (6) is to take the (weighted)

average as follows

˜

bB

E(tk) =

ns

X

i=1

wi˜

T(i)

S/Bz(i)

raw (tk) + ˜

b(i)

bias,(21)

where nsis the total number of available sensors, ˜

bB

E(tk)

is the ﬁltered Earth’s magnetic ﬁeld in FBat discrete

time tk,wi≥0are non-negative weights satisfying

w1+. . . +wns= 1,˜

T(i)

S/B ∈R3×3is an estimate of the

rotation matrix from the i-th sensor frame to FB, i.e., of

(T(i)

B/S )−1, and ˜

b(i)

bias ∈R3is an estimate of the i-th sen-

sor bias vector b(i)

bias. Both ˜

T(i)

S/B and ˜

b(i)

bias need to be esti-

mated by an adequate calibration technique. The weights

wican be used to reward or penalise measurements based

on the accuracy of the respective sensor or fully disregard

faulty sensors by setting the respective weight to zero.

Ideally, sensors shall be placed apart to allow averaging

out undesired magnetic ﬁelds generated by various on-

board electronics.

4.2 Normalised B-dot Computation

If two consecutive measurements at tk−1and tk

are available and the Nyquist criterion holds (see Sec-

tion 4.5), then the normalised B-dot vector in (9) can be

computed as

˙

ˆ

bB

E(tk) = ˆ

bB

E(tk)−ˆ

bB

E(tk−1)

Ts

,(22)

where Ts,tk−tk−1is a constant sampling time be-

tween two consecutive measurements and ˆ

bB

E(·)is the

normalised magnetic ﬁeld computed as

ˆ

bB

E(·) = ˜

bB

E(·)/k˜

bB

E(·)k.

Clearly, both ˙

ˆ

bB

Eand ˆ

bB

Eare estimates. The tilde symbol

is left out above these vectors to simplify notation.

4.3 Tumble Parameter

To compute the scalar tumble parameter pfor (9), we

use the following discrete-time ﬁlter

p(tk) = αTs

2k˙

ˆ

bB

E(tk)k+ (1 −α)p(tk−1),(23)

where α > 0is the ﬁlter time-constant, ˙

ˆ

bB

Eis computed

as in (22), and the initial value of the ﬁlter, p0,p(t0),

satisﬁes 0≤p0≤1.

It is obvious from (22) and (23) that

0≤ k˙

ˆ

bB

Ek ≤ 2/Ts⇒p∈[0,1],(24)

thus (23) satisﬁes the condition on pin (10). Thanks to

the utilisation of the normalised B-dot vector in (23), the

tumble parameter becomes altitude insensitive.

4.4 Discrete-time Controller

In this paper, we will assume constant currents for

each axis. Only the current direction and duration will

be controlled. Therefore, the absolute dipole moment

achievable in any direction and per axis is

¯

m,

¯mx

¯my

¯mz

=

NxAx|ix|

NyAy|iy|

NzAz|iz|

.(25)

Once the desired magnetic dipole moment vector

mB

d,[mB

d;xmB

d;ymB

d;z]Tis computed using (9), the

amount of time each magnetorquer shall be activated is

determined by

ton

i=δTsmin 1,|mB

d;i|

¯mi!, i ∈ {x, y, z},(26)

where ton

i≥0is the “on-time” (duration) of the i-th mag-

netorquer and 0< δ < 1is the duty cycle of the magne-

torquers within one control loop. To simplify implemen-

tation, we assume that one control cycle equals exactly to

the duration of the measurement sampling time Ts.

The current direction in which the respective magne-

torquer shall be activated is given by

don

i=mpol

isign mB

d;i, i ∈ {x, y, z},(27)

where don

i∈ {−1,0,1}is the i-th magnetorquer’s cur-

rent direction and mpol

iaccounts for the winding polarity

(mpol

i∈ {−1,1})or failure (mpol

i= 0) of the i-th mag-

netorquer.

We assume that all the computations related to (26)

and (27) are done with minimum delay and the magnetor-

quers are commanded immediately after that. The mag-

netorquers are switched off once the time they were sup-

posed to be active has passed. The duty cycle δshall be

IAC-18-C1.3.11 Page 5 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

selected carefully to allow enough time, (1 −δ)Ts, for

the magnetorquers to de-saturate and to account for the

delayed control phenomenon. For the latter, see the dis-

cussion in the next subsection.

4.5 Sampling Time Selection

It is evident from (16) that the satellite’s angular rate

is directly linked with the change of the normalised vector

of the Earth magnetic ﬁeld in FB. From the Nyquist crite-

rion [10], the maximum frequency of changes in the mag-

netic ﬁeld that can be sensed without experiencing alias-

ing is 1/(2Ts). Therefore, the maximal rotational rate that

can be measured from two consecutive measurements is

π/Ts[rad/s], which yields to the following sampling time

selection criterion

Ts≤π

|ωmax|,(28)

where ωmax is the maximal expected rotational rate of the

satellite in any axis and any direction.

From a control theory perspective, we need to care-

fully analyse the effect of the sampling time Tsand the

duty cycle δon the stability of the discretised B-dot con-

trol loop. In the subsequent analysis, we will follow sim-

ilar steps as done in [17]. First, we will assume a rotation

around the z-axis only, i.e., ωB= [0 0 ωB

z]T. In ad-

dition to that, we also assume the measurements being

error-free, i.e., ˜

bB

E(·) = bB

E(·), and that (17) is a valid

approximation. Then, we can analytically expressed two

consecutive magnetic ﬁeld measurements as:

bB

E(tk−1) =

bB

E;x(tk−1)

bB

E;y(tk−1)

bB

E;z(tk−1)

,

bB

E(tk) =

cos(ωB

zTs) sin(ωB

zTs) 0

−sin(ωB

zTs) cos(ωB

zTs) 0

0 0 1

bB

E(tk−1).

Subtracting the above two vectors yields

∆bB

E(tk),bB

E(tk)−bB

E(tk−1)

=

cos(ωB

zTs)−1 sin(ωB

zTs) 0

−sin(ωB

zTs) cos(ωB

zTs)−1 0

0 0 0

bB

E(tk−1).

It is clear that the above measurement vectors have the

same magnitude, i.e., kbB

E(tk)k=kbB

E(tk−1)k. Hence,

the normalised B-dot vector can be expressed as

˙

ˆ

bB

E(tk) = 1

Ts

∆bB

E(tk)

kbB

E(tk)k.(29)

The instantaneous torque at time t=tk, generated by

the desired magnetic dipole moment mB

d(tk), is given by

(32). By examining the last row, it is evident that in or-

der the torque τB

c;zbeing opposite to the angular rate ωB

z,

|ωB

zTs|needs to be smaller than π. This leads again to the

Nyquist criteria (28).

Suppose that the dipole moment mB

d(tk)is applied

for the entire duty cycle of the magnetorquers, i.e., during

the interval t∈[tk, tk+δTs). By the end of this inter-

val, the magnetic ﬁeld in the body frame has changed to

bB

E(tk+δTs)as well as the instantaneous torque gener-

ated by the magnetorquers changes to τB

c(tk+δTs). In

order to reduce the rotation, the integral of the torque ap-

plied over the entire period t∈[tk, tk+δTs)should be

negative. Suppose that k˙

b(p)is constant during this in-

terval, then for the z-axis, the negative torque condition

becomes

δTs

Z

0

τB

c;z(t)dt=κ

δTs

Z

0

[sin(ωzt)−sin (ωz(δTs+t))] dt

= 2κcos2(ωzδTs)−cos(ωzδTs)

ωz

<0,

(30)

where

κ=k˙

b(p)(bB

x(tk−1))2+ (bB

y(tk−1))2

TskbB

E(tk)k2>0.

Suppose that the z-axis is rotating at rate ωmax, i.e.,

ωz=ωmax. Then, to satisfy the inequality (30), the sam-

pling time Tsneeds to satisfy the following condition

Ts<π

2δ|ωmax|.(31)

τB

c(t) = mB

d(tk)×bB

E(t) = −k˙

b(p)

TskbB

E(tk)k2∆bB

E(tk)×bB

E(t)

=k˙

b(p)

TskbB

E(tk)k2

bB

z(tk−1)bB

y(tk−1)(1 −cos(ωB

zTs)) + bB

x(tk−1) sin(ωB

zTs)

bB

z(tk−1)bB

x(tk−1)(cos(ωB

zTs)−1) + bB

y(tk−1) sin(ωB

zTs)

−sin(ωB

zTs)(bB

x(tk−1))2+ (bB

y(tk−1))2

.

(32)

IAC-18-C1.3.11 Page 6 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

Note that the above process can be repeated for rota-

tions around the remaining two axes.

To summarise the above analysis, in order to avoid

aliasing and to be able to apply (on average) a torque in

opposite direction to ωB, the sampling time Tsshall be

selected such that both conditions, (28) and (31), are si-

multaneously satisﬁed for the maximal expected rotation

rate ωmax. For δ= 0.5, the two conditions become equiv-

alent. The negative torque criterion becomes a driving

factor if δ > 0.5.

4.6 Stopping Criterion and Tuning

To decide when the detumbling mode shall stop, one

can use a simple threshold logic applied on the scalar

tumble parameter pgiven by (23). However, in order to

make sure that all axes have detumbled below a desired

rate ωdes, we propose a vector version of (23) deﬁned as

follows

pv(tk) = αTs

2|˙

ˆ

bB

E(tk)|+ (1 −α)pv(tk−1),(33)

where pv,[pv

xpv

ypv

z]Tis the vector-valued tumble

parameter satisfying pv(t0),pv

0. The rest of the param-

eters are the same as in (23). Note that the absolute value

|·|in (33) is applied element-wise.

The satellite is considered to be detumbled once the

following inequality is satisﬁed (in all axes)

pv

i(t)≤¯p, ∀i∈ {x, y, z},(34)

for a certain period of time t∈[tk−Nw, tk], where

Nw∈Nis a conﬁrmation window. Nwis introduced

to enhance robustness. In (34), ¯p > 0is a threshold pa-

rameter tuned such that the above inequality is met when

the angular rate of the satellite is approximately ωdes in

all axes. Care has to be taken when setting ¯pin order

not to exit the detumbling mode prematurely. Thanks to

the use of the normalised B-dot in (33), the tuning of ¯p

becomes altitude independent.

The threshold logic (34) provides some hints for the

variable control gain’s (10) parameters selection. A large

rate factor ϕ1shall be chosen to penalise power

consumption at the initial phase of the detumbling. If

ϕ < 1/√3¯p, then the parameter εcan be selected as

ε= 1 −√3ϕ¯p. This choice ensures that the B-dot gain is

close to the sub-optimal value, i.e., k˙p(p)≈k∗

˙p, when the

satellite is near to be detumbled.

5. Simulation Results for Delﬁ-PQ

In this section, we will demonstrated the performance

of the proposed B-dot algorithm to detumble a fast-

tumbling picosatellite. We consider the current picosatel-

lite project of the Delft University of Technology, the

Delﬁ-PQ project [1], as the baseline for our simulation

study.

5.1 Simulation Parameters

We simulate a LEO and Sun synchronous Keplerian

orbit and use the world geodetic system 1984 (WGS84)

standard. The orbit-related parameters are given in Ta-

ble 1. These orbital parameters imply an orbital period

of approximately 1h and 32 min. The 12-th generation

of the international geomagnetic reference ﬁeld (IGRF)

model was used to model the Earth’s magnetic ﬁeld vec-

tor in the body frame as

bB

E=TIGRF /B bIGRF

E,

where TIGRF /B is a rotation matrix from the IGRF to the

body frame FB.

Table 1: Orbit-related parameters

Parameter Value Unit

Altitude 350 [km]

Eccentricity 0 [-]

Inclination 96.85 [deg]

RAAN 310 [deg]

Earth magnetic ﬁeld IGRF 12 [T]

Air density (low solar) 2.01 ·10−12 [kg·m−3]

Table 2 gives an overview of the satellite-related pa-

rameters and their considered uncertainty ranges which

were considered for the Monte Carlo (MC) simulations.

The listed parameters represent realistic sensor and actu-

ator characteristics. We consider two identical-type sen-

sors being available on-board. Both sensors are corrupted

with noises and suffer from unknown biases and quantiza-

tion errors. For the magnetorquers, we model the effect of

fall/rise times on the resulting magnetic dipole moment.

IAC-18-C1.3.11 Page 7 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

Table 2: Satellite-related parameters

Parameter Nominal value Unit Uncertainty (1σ)

Mass 600 [g] 16.67%

Inertia principal moments {Ix, Iy, Iz} {1.731,1.726,0.264}[g·m2] 21.67%∗

Magnetorquer dipole moment∗∗ 0.002 [A·m2] 15%

Residual dipole moment vector∗∗∗ magnitude 0.0001 [A·m2] 10%

Centre of pressure offset from CoM [5.4 2.0−8.2] [mm] 10%

Drag coefﬁcient 2.1 [-] N/A

Cross-sectional area {x, y, z}face {92.1,122.9,25.2}[cm2] N/A

Rise/fall times of the magnetorquers 0.01 [s] N/A

Magnetometers’ noise rms∗∗ 500 [nT] N/A

Magnetometers’ resolution∗∗ 300 [nT/LSb] N/A

Magnetometers’ bias vector∗∗∗ magnitude 400 [nT] N/A

∗16.67% due to the mass variations plus 5% individual uncertainty per axis; ∗∗ for all three axes;

∗∗∗ direction uniformly distributed

The detumbling algorithm-related parameters are

given in Table 3. The selected sampling time complies

with both (28) and (31) criteria for our maximal expected

angular rate of 180 [deg/s]. The threshold parameter ¯p

was tuned such that detumbling shall stop when ωdes ≈5

[deg/s] in all axes. The conﬁrmation window Nwwas

selected to reﬂect a 30 minutes conﬁrmation time. We as-

sume that the magnetometers are not pre-calibrated, i.e.,

we do not account for the static biases which are present

in the simulations.

Table 3: Detumbling algorithm-related parameters

Parameter Value Parameter Value

Ts0.25 pv

0[TsTsTs]T

δ0.6 ¯p8.1250 ·10−3

α1/200 k∗

˙

b1.2074 ·10−6

ϕ4/Tsε1−√3ϕ¯p

p0√3TsNw1800/Ts

w1=w21/2 ˜

b(1)

bias =˜

b(2)

bias [0 0 0]T

For all simulations, the satellite is assumed to be de-

tumbled (tded) when the condition given in (7) is satisﬁed

for ωdes = 5 [deg/s] (for all axes simultaneously). Where

applicable, we also present the detumbling time estimated

by the algorithm, see Section 4.6.

5.2 Sample Run Demonstration

Before turning to a statistical MC analysis, we present

results from a sample run example. In this example, the

satellite has nominal parameters and an initial rate of 180

[deg/s] in all three axes. The simulation runs for 16 orbits.

Figure 1 depicts the time behaviour of satellite’s angu-

lar rates. It can be seen that the proposed algorithm is able

to detumble a fast-tumbling picosatellite within less than

a day. The algorithm conﬁrmed detumbling with a delay

of approximately half an hour. During the conﬁrmation

period, the satellite was still in active detumbling mode.

Therefore, the angular rates around the detumbling con-

ﬁrmation are actually smaller than the desired rate ωdes.

0 2 4 6 8 10 12 14 16

Number of orbits (1 orbit = 1.53 hours; 1 day = 15.73 orbits)

-300

-200

-100

0

100

200

300

Angular rates [deg/s]

Detumbled after: 12.2 orbits = 18.6 hrs

Algorithm confirmed after: 12.5 orbits = 19.1 hrs

x

B-4 [deg/s]

Figure 1: Satellite angular rate in body frame and detum-

bling performance from 180 [deg/s] in all three axes.

The weight that multiplies the sub-optimal B-dot gain,

i.e., k˙p(p)/k∗

˙p= (ϕp+ε)−1, and the scalar tumble param-

eter are depicted in Fig. 2. The measured magnetic ﬁeld

vector and the vector-valued tumble parameter together

with the threshold parameter are shown in Fig. 3.

IAC-18-C1.3.11 Page 8 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

0 2 4 6 8 10 12 14 16

Number of orbits (1 orbit = 1.53 hours; 1 day = 15.73 orbits)

0

0.5

1Weighting of the optimal B-dot gain

0 2 4 6 8 10 12 14 16

Number of orbits (1 orbit = 1.53 hours; 1 day = 15.73 orbits)

0

0.2

0.4

0.6

Scalar tumble parameter

Figure 2: Sub-optimal B-dot gain weight (top) and scalar

tumble parameter (bottom).

0 2 4 6 8 10 12 14 16

Number of orbits (1 orbit = 1.53 hours; 1 day = 15.73 orbits)

-50

0

50

0 2 4 6 8 10 12 14 16

Number of orbits (1 orbit = 1.53 hours; 1 day = 15.73 orbits)

10-4

10-2

100

Figure 3: Measured magnetic ﬁeld vector (top) and

vector-valued tumble parameter (bottom, y-axis in log

scale).

It is obvious from (25) and (26) that the magnetor-

quers power consumption is proportional to the amount of

on-times. Hence, summing the magnetorquers on-times,

Ton

tot;i=

tdet

X

tk=0

ton

i(tk), i ∈ {x, y, z },

can give us an indication about the power consumption of

the algorithm. Figure 4 shows the commanded on-times

per axis. The total opening time value, Ton

tot, is also shown

for each axis.

0 2 4 6 8 10 12 14 16

0

0.5

1

0 2 4 6 8 10 12 14 16

0

0.5

1

0 2 4 6 8 10 12 14 16

Number of orbits (1 orbit = 1.53 hours; 1 day = 15.73 orbits)

0

0.5

1

Figure 4: Normalised magnetorquer ON-times and sum

of the opening ON-times until tdet.

5.3 Monte Carlo Analysis

In this subsection, we will present results based on

500 Monte Carlo simulation runs. For each run, we used

different noise seeds and varied some satellite-related pa-

rameters according to the normal distribution and uncer-

tainty characteristics given in Table 2. All simulations

started with an initial angular rate of 180 [deg/s] in all

three axes.

Table 4 shows the worst-case magnitudes estimate for

various disturbance torques. It can be seen that the so-

lar radiation pressure and gravity gradient disturbances

have the lowest magnitude, hence they will not be con-

sidered for the MC analysis. Note that the considered at-

mospheric disturbance corresponds to a low solar activity

scenario (air density: ρlow = 2.01 ·10−12 [kg·m−3]).

Table 4: Worst-case disturbance torque magnitudes

Disturbance Magnitude [N·m]

Aerodynamic drag 1.91 ·10−8

Gravity gradient 2.31 ·10−9

Residual dipole 5.03 ·10−9

Solar radiation 8.82 ·10−10

Figure 5 depicts the histogram and a Gaussian ﬁt of

true detumbling times tdet obtained from the MC simula-

tions. It can be observed, than on average, the proposed

weighted B-dot law is able to detumble the satellites in

less than 15 orbits.

IAC-18-C1.3.11 Page 9 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

5 10 15 20 25

Number of orbits (1 orbit = 1.53 hours; 1 day = 15.73 orbits)

0

10

20

30

40

50

60

70

80

Frequency

Median:

Mean:

Std:

14 orbits / 21.4 hours

14.8 orbits / 22.6 hours

3.2 orbits / 4.8 hours

Detumbling time

Gaussian fit

Figure 5: Histogram of the true detumbling time tdet .

Figure 6 depicts the detumbling time correlations with

the principal moments of inertia and respective maximal

dipole moments of the magnetorquers. As expected, there

is a signiﬁcant positive correlation with increasing mass

moment of inertia, but relatively small negative correla-

tion with the available dipole moment of the magnetor-

quers.

1 1.5 2 2.5

10-3

10

15

20

25

30

R = 0.55

Samples

Correlation

1 2 3

10-3

10

15

20

25

30

R = 0.47

1 2 3 4

10-4

5

10

15

20

25

30

R = 0.52

1.5 2 2.5

10-3

10

15

20

25

30

R = -0.02

1.6 1.8 2 2.2

10-3

10

15

20

25

30

R = -0.03

1.5 2 2.5

10-3

10

15

20

25

30

R = -0.12

Figure 6: Detumbling time correlation with principal mo-

ments of inertia (top subplots) and with maximal dipole

moments of the magnetorquers (bottom subplots).

In order to compare the proposed B-dot controller

with the modiﬁed B-dot controller of Avanzini and Giuli-

etti [8], we run additional 500 MC simulations for the

same scenario as described above, but employing (9) with

k˙p(p) = k∗

˙p. The results are compared in Table 5. As can

be seen from this table, there is only a slight increase in

the mean detumbling time, namely 0.45%, while the aver-

age power consumption of the magnetorquers is reduced

noticeably.

Table 5: Detumbling performance comparison for k˙p(p)

and k∗

˙pfrom 180 [deg/s] (around all three axes). Results

are given in hours.

Method/

Metric

Weighted B-dot B-dot of [8]

µ σ µ σ η

tdet 22.63 4.83 22.52 4.85 0.45 %

Ton

tot;x10.98 2.50 11.72 2.51 -6.32 %

Ton

tot;y11.36 2.88 12.02 2.87 -5.43 %

Ton

tot;z12.48 2.83 12.87 2.86 -3.05 %

PiTon

tot;i34.82 7.17 36.61 7.72 -4.88 %

µ= mean; σ= standard deviation; η= relative mean error

To better appreciate the power consumption reduction,

we have calculated the average sum of ON-times per orbit

basis, denoted as µ(Ton

orb;i), where

Ton

orb;i=X

k∈{orb}

ton

i(tk), i ∈ {x, y, z }

The values of µ(Ton

orb;i)for each axis are compared in Fig-

ure 7 for the two considered B-dot laws. A reduction in

average power consumption can be observed (especially

at the beginning of the detumbling) for the weighted B-

dot controller. It shall be noted that no tuning has been

performed to optimise ϕand εfor power efﬁciency or de-

tumbling time.

0 5 10 15 20 25 30

0.4

0.6

0.8

1

Weighted B-dot

B-dot of G.Avanzini & F.Giulietti

0 5 10 15 20 25 30

0.6

0.8

1

0 5 10 15 20 25 30

Number of orbits (1 orbit = 1.53 hours; 1 day = 15.73 orbits)

0.7

0.8

0.9

1

Figure 7: Comparison of the average on-times per orbit

basis.

IAC-18-C1.3.11 Page 10 of 11

69th International Astronautical Congress (IAC), Bremen, Germany, 1-5 October 2018.

Copyright c

6. Conclusions

The problem of pure magnetic detumbling of a fast-

tumbling picosatellite was studied. A new weighted B-

dot controller has been proposed. This controller enables

power consumption reduction while not signiﬁcantly in-

creasing the time it takes to detumble. Monte Carlo sim-

ulation results have revealed that it is possible to save al-

most 5% of power while sacriﬁcing only about 0.5% of

the detumbling performance when compared to the same

control strategy with constant control gain.

Acknowledgements

The authors would like to thank the members of the

Delﬁ-PQ team for their helpful discussions on practical

aspects of the detumbling algorithm implementation.

References

[1] S. Radu, M. S. Uluda ˘

g, S. Speretta, J. Bouwmeester,

E. Gill, and N. Chronas Foteinakis. Delﬁ-PQ: The

First Pocketqube of Delft University of Technol-

ogy. In International Astronautical Congress, 2018.

IAC-18-B4.6B.5.

[2] R. Wisniewski. Satellite attitude control using only

electromagnetic actuation. PhD thesis, Aalborg

University, December 1996.

[3] J. T. Gravdahl. Magnetic attitude control for satel-

lites. In Conference on Decision and Control, vol-

ume 1, pages 261–266. IEEE, 2004.

[4] C.D. Maclean, D. Pagnozzi, and J. Biggs. Com-

putationally light attitude controls for resource lim-

ited nano-spacecraft. In International Astronautical

Congress, 2011. Paper IAC–11-C1.6.8.

[5] M. Yu. Ovchinnikov, D.S. Roldugin, and V.I.

Penkov. Three-axis active magnetic attitude control

asymptotical study. Acta Astronautica, 110:279–

286, 2015.

[6] D. Baldacchino, D Debattista, R Rotin, D. Cachia,

M. A. Azzopardi, S. G. Fabri, and M. K. Bugeja. Re-

view and Feasibility of Active Attitude Control and

Detumbling for the UoMBSat-1 PocketQube Pico-

Satellite. In Mediterranean Conference on Control

and Automation, pages 1237–1243. IEEE, 2017.

[7] A.C. Stickler and K. T Alfriend. Elementary mag-

netic attitude control system. Journal of Spacecraft

and Rockets, 13(5):282–287, 1976.

[8] G. Avanzini and F. Giulietti. Magnetic detumbling

of a rigid spacecraft. Journal of Guidance, Con-

trol, and Dynamics, 35(4):1326–1334, 2012. doi:

10.2514/1.53074.

[9] M. J. Sidi. Spacecraft dynamics and control: a prac-

tical engineering approach, volume 7. Cambridge

University Press, 2000.

[10] J. R. Wertz. Spacecraft attitude determination and

control, volume 73. Springer Science & Business

Media, 2012.

[11] L.J. Kamm. Magnetorquer-a satellite orientation de-

vice. ARS Journal, 31(6):813–815, 1961.

[12] J. Li, M. Post, T. Wright, and R. Lee. Design of atti-

tude control systems for cubesat-class nanosatellite.

Journal of Control Science and Engineering, 2013:

4, 2013.

[13] F.L. Markley. Attitude control algorithms for the

solar maximum mission. In Guidance and Control

Conference, pages 59–69. AIAA, August 1978.

[14] J. Reijneveld and D. Choukroun. Attitude control

system of the Delﬁ-n3Xt satellite. Progress in Flight

Dynamics, GNC, and Avionics, 6:189–208, 2013.

[15] M. Yu Ovchinnikov, D.S. Roldugin, S.S. Tkachev,

and V.I. Penkov. B-dot algorithm steady-state mo-

tion performance. Acta Astronautica, 146:66–72,

2018.

[16] H.C. Chang, W.L. Chiang, and Y.Y. Lian. Efﬁciency

investigation of conventional satellite initial acquisi-

tion control with the consideration of orbital motion.

Procedia Engineering, 67:128–139, 2013.

[17] P. Reijneveld. Design of the Attitude Determination

and Control Algorithms for the Delﬁ-n3Xt. Mas-

ter’s thesis, Delft University of Technology, January

2012.

[18] M. Lovera. Magnetic satellite detumbling: The b-

dot algorithm revisited. In American Control Con-

ference, pages 1867–1872. IEEE, 2015.

[19] P. Tortora, Y. Oshman, and F. Santono. Space-

craft angular rate estimation from magnetometer

data only using an analytic predictor. Journal of

Guidance, Control, and Dynamics, 27(3):365–373,

2004.

IAC-18-C1.3.11 Page 11 of 11