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-
ficing detumbling performance. Analytical expressions relating the maximal expected rotational rate to
the minimum sampling time required are presented. Simulation results demonstrate the practical benefits
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 Delfi-PQ satellite [1]. With Delfi-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 Delfi-PQ is an essential corner-
stone and is, among others, responsible for the mission-
critical detumbling. It is anticipated, that the deployment
of Delfi-PQ satellite to low Earth orbit (LEO) will be ac-
complished by a newly designed, spring-loaded and not
in-flight 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 efficient 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 suffi-
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 modified 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 efficiently 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 filtering 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-fixed (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 (first 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 simplified 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-fixed magnetorquers, will interact with the
local magnetic field and generate a control torque vector
τB
caccording to
τB
c=mB
c×bB
E,(5)
where bB
E∈R3is the local Earth magnetic field 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 field bB
Ecan be measured
on-board the satellite using a triaxial magnetometer sen-
sor. In this paper, for noise filtering 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 significant 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 defined 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 defined as the
time when the condition (7) is satisfied for the first 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 efficient use of the magnetorquers (especially at
the beginning of the detumbling phase) while not increas-
ing the detumbling time significantly.
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 satisfies
ω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 briefly 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 efficiency 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 inefficient 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 field, 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 modified
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 field vector bB
E, expressed in FB. In practice,
the time derivative of ˙
ˆ
bB
Eis difficult to measure directly.
However, as will be shown in the next section, ˙
ˆ
bB
Ecan
be estimated by differentiating the magnetic field 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 modified 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
2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.
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 field 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 sacrificing 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 influence during the detum-
bling phase is usually very minor. Hence, for τB
d=0,
the equation of motion (1) simplifies 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 define a positive definite 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 definite 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 field 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-definite, 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 field vector direction, ˆ
bB
E, does not re-
main fixed 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
2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.
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 field, 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-efficient way to filter 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 filtered Earth’s magnetic field 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 fields 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 field 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 filter
p(tk) = αTs
2k˙
ˆ
bB
E(tk)k+ (1 −α)p(tk−1),(23)
where α > 0is the filter time-constant, ˙
ˆ
bB
Eis computed
as in (22), and the initial value of the filter, p0,p(t0),
satisfies 0≤p0≤1.
It is obvious from (22) and (23) that
0≤ k˙
ˆ
bB
Ek ≤ 2/Ts⇒p∈[0,1],(24)
thus (23) satisfies 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
2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.
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 field in FB. From the Nyquist crite-
rion [10], the maximum frequency of changes in the mag-
netic field 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 field 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 field 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
2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.
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 satisfied 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) defined 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 satisfied (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 confirmation 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 Delfi-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
Delfi-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 field (IGRF)
model was used to model the Earth’s magnetic field 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 field 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
2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.
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 coefficient 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 confirmation window Nwwas
selected to reflect a 30 minutes confirmation 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 satisfied
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 confirmed detumbling with a delay
of approximately half an hour. During the confirmation
period, the satellite was still in active detumbling mode.
Therefore, the angular rates around the detumbling con-
firmation 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 field
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
2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.
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 field 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 fit 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
2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.
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 significant 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 modified 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 efficiency 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
2018 by Dr. Robert Fonod. Published by the IAF, with permission and released to the IAF to publish in all forms.
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 significantly 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 sacrificing 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
Delfi-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. Delfi-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 Delfi-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. Efficiency
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 Delfi-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