Design and Management of Satellite Power Systems
Design and Management of Satellite Power Systems
Abstract—Satellites are indispensable for broadcast, weather Since no physical fuel can be supplied to power satellites
forecast, navigation, and many other applications, but their design from earth, they are usually equipped with solar panels and
entails a number of stringent requirements, such as limited space rechargeable battery cells, which entail unique characteristics
and weight, impossible/costly online repairs, severe radiation, of power supply, as explained below. According to the rev-
and a wide range of temperature they have to withstand. These olution of a satellite around the earth, solar panels generate
requirements can only be met by an effective, robust co-design of
power and charge battery cells when it is exposed to the sun or
physical and computing (control) parts of each satellite, making
them prototypical cyber-physical systems (CPSes). Of the various during the “sun phase,” while they cannot during the “eclipse
CPS issues related to satellites, this paper focuses on offline design phase” (without sunlight). The amount of power generated
and online management of satellite power systems. Specifically, we depends on the satellite’s position, the efficiency of solar panels
analyze and model unique characteristics of power supply and (which degrades with time), and temperature. On the other
demand of a satellite, which are dictated by the periodicity of hand, battery cells supply power during the eclipse phase
power generation from solar panels and the nonlinear behavior or the sun phase in case of a peak power demand. Their
of rechargeable battery cells. Based on the understanding of discharge behaviors are known to be non-linear [9–11], e.g.,
these characteristics, we first propose how to find the best discharge efficiency—higher discharge rate, less deliverable
configuration (e.g., the number, the arrangement, and the type) power, and recovery efficiency—resting a battery cell will
of solar panels and battery cells at design time, such that all
recover its voltage that was temporarily dropped. Battery cells’
tasks can be executed without power shortage throughout the
satellite’s mission lifetime. Second, we propose how to manage performance also varies with their efficiency and operating
power online so as to execute the highest QoS versions of tasks temperature.
(thus yielding the most power-effective performance) without
As to power demand, each sub-system (e.g., on-board
compromising the power-sufficiency guarantee under a given
configuration. As a case study, we study cubic-shaped nano- computer, receiver, transmitter, camera, magnetorquer, and
satellites, which have been launched multiple times since 2004. magnetometer) consumes power, and is modeled with periodic
We borrow their architecture, configuration and parameters, and power-consumption tasks with different versions,1 e.g., a task
demonstrate the effectiveness of our design and management of that periodically takes and transmits pictures with different
satellite power systems. resolutions; a higher resolution consumes more power.
Considering the unique characteristics of satellite power
I. I NTRODUCTION
supply and demand, we would like to achieve the following
Satellites have become essential for many applications, goals.
such as broadcast and communications, weather forecast, nav-
igation, earth/space observation, and scientific experiments. G1. Design: we want to find the best configuration (e.g.,
Due to their significant impact on human lives, business the number, the arrangement, and the type) of solar
and scientific exploration, satellites have been widely studied, panels and battery cells, which can guarantee offline
mainly focusing on their physical and communication aspects, (i.e., pre-launch) the execution of all tasks without
respectively from the aerospace and networking communities power deficiency until the end of the satellite’s mission
[1–3]. Unlike other systems operating on the earth, all sub- lifetime.
systems of a satellite should be accommodated within a limited G2. Management: we want to manage power online (i.e.,
budget of space and weight, resilient to severe radiation and post-launch) so as to execute tasks with as high QoS
a wide range of temperature, and ultra-reliable since it is versions as possible, without compromising the power
impossible or very costly to replace (failed) physical parts sufficiency guaranteed by G1.
after its launch. This calls for effective, robust design of
physical parts and sophisticated controls thereof, addressing G1 is important in that we can not only reduce the production
the issues of co-designing physical and computing (control) cost, but also allocate more weight and space budget for
parts simultaneously. That is, satellites are a prototypical payloads. G2 is also significant because we can maximize
example of Cyber-Physical System (CPS), typified by tight mission performance for a given power systems design.
integration and coordination between physical and computing
parts [4–6]. As a result, the CPS community has recently paid Existing studies on satellite systems have addressed G1 by
considerable attention to satellites [7, 8]. over-designing power supply units [12–19]. As to G2, there
Of the various CPS issues of satellites, this paper focuses 1 Note that the notion of periodic power-consumption tasks has nothing to
on the design and management of satellite power systems. do with deadlines.
have also been a line of studies on systems with regenerative The rest of this paper organized as follows. Section II
energy [20–22]. In particular, the authors of [20] provided investigates characteristics of a satellite’s power supply and
a general problem formulation with an abstracted model of demand. Section III proposes our design and management of
energy, deadlines and task rewards, where all tasks compete power systems. Section IV focuses on a nano-satellite, and
for the temporal resource of a computing unit, which is not validates our solutions. Finally, Section V concludes the paper.
the case for a satellite’s sub-systems that share energy resource
only. In contrast to these existing studies, we address both G1 II. C HARACTERISTICS OF S ATELLITES ’ P OWER S UPPLY
and G2 by thoroughly investigating the characteristics of a AND D EMAND
satellite’s power supply and demand.
Satellites are usually equipped with solar panels and
To achieve G1, we analyze and model the characteristics rechargeable battery cells as their energy source and storage.
of a satellite’s power supply and demand, and derive lower- Both are complementary to each other during two alternate
bounds of generated power from solar panels as well as the phases. First, when a satellite faces the sun, photovolatics
SoC (State of Charge) of the entire battery cells, and an upper- in solar panels convert sunlight into electrical energy; the
bound of power demand, e.g., the generated power during the generated power is supplied to the satellite’s sub-systems, and
sun phase is at least as much as 2.3W throughout the satellite’s then the remaining power is stored in battery cells. On the
mission lifetime. We also derive a relationship between power other hand, during the eclipse phase (or the sun phase with a
sufficiency and the SoC level: a positive level of SoC implies peak power demand), the stored energy in battery cells is used
that no sub-system suffers from power shortage. Applying to operate the satellite sub-systems.
these bounds and relationship to the execution of tasks with
fixed versions, we find a fixed value X of SoC such that To achieve G1 and G2, we need to know the amount of
X ≤ X 0 holds where X and X 0 are SoC values at the supplied and consumed power, thus requiring a good under-
beginning and end of a satellite’s orbit period.2 We prove standing of the unique characteristics of supplied power from
that power sufficiency is guaranteed as long as there exists solar panels and battery cells, and consumed power by the sub-
such a fixed value of SoC. Then, we calculate fixed points systems. We first analyze the characteristics of power supplied
for different configurations of solar panels and battery cells, by the solar panels, and then examine power demand from the
and choose the best configuration, thus addressing G1. Since sub-systems. Finally, we investigate the physical characteristics
there is a gap between the lower-bound of SoC and actual of a rechargeable battery cell, and express its SoC (State of
SoC (which is available online only), we can execute higher Charge) using the supplied and demanded power.
versions of tasks by exploiting this gap. To this end, we
propose dynamic-version execution, which adaptively raises A. Power Supply from Solar Panels
the execution versions, thus addressing G2. The underlying Since a satellite revolves around the earth, its solar panels
principle of the dynamic-version execution is to find the supply power periodically. That is, the sun and eclipse phases
highest versions of tasks that yield SoC at the end of each alternate, and each panel can generate power only during the
orbit period at least as high as the fixed point that guarantees sun phase. The amount of power generated by a solar panel at t
power sufficiency. depends on the angle between sunlight and the solar panel, and
To demonstrate the effectiveness of the proposed ap- the angle is determined by the satellite’s position and attitude
proaches, we use cubic-shaped nano-satellites, called Cube- (denoted by s(t)). Then, the amount of power generated by
Sats, and borrow configurations from two actually-deployed all solar panels in a satellite at t is a function of s(t) and
CubeSats. For rechargeable batteries, we use a popular bat- nS , where nS is the configuration of solar panels at design
tery simulator, Dualfoil [23]. Our simulation results from time (e.g., the number, the arrangement, and the type of solar
actual/realistic configurations and Dualfoil show that we can panels). Fig. 1 shows an example of the amount of generated
find the Pareto optimal configurations of solar panels and bat- power over time, which will be detailed in Section IV.
tery cells, achieving G1. Also, the proposed dynamic-version Another characteristic is the efficiency degradation of solar
execution effectively exploits online information, allowing panels. Due to ultraviolet degradation, redication degradation,
execution of tasks with higher versions without compromising fatigue (thermal cycling) and micrometeoroid loss, the effi-
power-sufficiency guarantees (achieving G2). ciency of solar panels decreases over time. Also, a rise in
In summary, this paper makes the following contributions: temperature decreases the amount of power generated by solar
panels. For example, the amount of power generation by a
• Thorough investigation of the unique characteristics of solar panel in [17] is 1.2 W at −20◦ C, which drops to 1.1
power supply and demand of a satellite, and derivation W at 20◦ C. Let eS (t) and θ(t) denote the efficiency of solar
of their properties; panels and temperature at t.
• Design and management of satellite power systems, Taken together, the amount of power generation at t
and derivation of solutions to achieve the goals G1 (denoted by Sup(t)) can be expressed as a function of nS ,
and G2; and s(t), eS (t) and θ(t) as:
• Case study of an actual nano-satellite, and demonstra-
tion of the effectiveness of our solutions. Sup(t) = Fsup nS , s(t), eS (t), θ(t) . (1)
2 A satellite periodically revolves around the earth; each orbit period starts
at the beginning of an eclipse phase, and ends at the end of the corresponding As mentioned earlier, Sup(t) is an increasing (likewise,
sun phase. See Fig. 5. decreasing) function of eS (t) (likewise, θ(t)). We will present
4.2
3.5 Sampled power
C
4 2C
3 3C
Generated power (W) 3.8 4C
2 3.4
3.2
1.5
3
1
2.8
0.5 2.6
0 2.4
0 100 200 300 400 500 0 10 20 30 40 50 60
Time (minute) Time (minute)
(a) Discharge efficiency
Fig. 1. Generated power from 10 solar panels; the eclipse and sun phases
last 38 and 62 minutes, and the details are given in Section IV. 4.2
4
4C or 0C
3.8
an example of Fsup in Section IV-B. Note that all parameters
TABLE I. PARAMETERS
between the reactants and products, but also takes time to finish A. Properties of Power Supply and Demand
the remaining chemical reactions that did not follow a high
discharge rate, thus alleviating the polarization effect. To achieve G1 and G2, we should know (i) the amount of
power generated by solar panels and stored in battery cells, and
Similar to solar panels, battery cells are also affected by (ii) the amount of power dissipated by sub-systems. Eqs. (1),
their efficiency and temperature. The efficiency of battery cells (2) and (3) express what we need to know, but their exact
at t (denoted by eB (t)) degrades with time according to the values are available only at runtime, not at a pre-launch time.
calendar fade effect. A temperature change also influences Therefore, we need to derive a lower-bound of (i) and an upper-
deliverable capacity. bound of (ii), and use the bounds for achieving G1 and G2.
We represent the battery cells’ charge status using State of Based on an offline analysis, we determine the thresholds
Charge (SoC). The SoC at a given time is proportional to the for relevant variables eS (t), eB (t) and s(t) that hold for all
amount of charge available at the time, and it is expressed in t ∈ [0, t+ ), where 0 (t+ ) is the time at the beginning (end) of
percent, from 0% when there is no charge, to 100% when it the satellite life (and, 0 and t+ are assumed to be the beginning
is fully charged. In this paper, we define SoC for the entire of an orbit period). Here, we use the superscripts X + and X −
battery system, not for each cell. Then, we express SoC at t+∆ to represent upper and lower bounds of X, respectively, and
as a function of SoC at t, the amount of charged or discharged define the thresholds such that eS (t) ≥ e− −
S , eB (t) ≥ eB , and
+ + 3
power during [t, t + ∆) (i.e., ∆ · (Dem(t) − Sup(t)), nB , eB , ci (t, vi ) ≤ ci (t%`ORB , vi ) hold for all t ∈ [0, t ). Recall that
and θ(t), as: all parameters used in this paper are summarized in Table I.
In Section IV, we will present specific threshold values for a
satellite.
SoC(t + ∆) =
Using the thresholds, we can calculate lower bounds of
Fsoc SoC(t), ∆ · Dem(t) − Sup(t) , nB , eB (t), θ(t) , (3) Sup(t) and SoC(t), and an upper bound of Dem(t) as:
Fig. 3. An example of the minimum fixed point of SoC− (t) (i.e., SoC∗ ) with C. Online Power Management for Higher Version Execution
three configurations (with v5 = v6 = 1), which are detailed in Section IV. (achieving G2)
Note that the three configurations satisfy SoC− (t) > 0 for t ∈ [0, 100).
We can achieve G1 with fixed-version execution by The-
orem 1, which involves the worst case of all situations, ab-
no sub-system suffers from power shortage in [t0 , t0 + `ORB ), stracted by SoC− (t). However, we can execute higher versions
under fixed-version execution. of tasks by exploiting the difference between the worst-case
and the actual situations available online only. Here we develop
dynamic-version execution that addresses G2. Note that the
Proof: SoC∗ from Algorithm 1 satisfies (i) and (ii), by
system is assumed to be able to measure the current SoC at
Steps 5 and 6, respectively. By Lemma 1, SoC(t) ≥ SoC− (t)
any time, i.e., SoC(t) is measurable at any time t.
for all t ∈ [0, t+ ). Therefore, SoC(t0 + `ORB ) ≥ SoC− (t0 +
`ORB ) ≥ SoC∗ holds, and SoC(t) ≥ SoC− (t) > 0 holds for The underlying principle of dynamic-version execution is
all t ∈ [t0 , t0 + `ORB ). By Lemma 2, this proves the lemma. to execute tasks with the highest versions as long as power-
sufficiency is guaranteed. This can be realized by making SoC
Extending Lemma 3 to the entire interval of [0, t+ ), we at the end of each orbit period at least as much as SoC∗ ,
finally guarantee power sufficiency as follows. because Lemma 3 ensures power-sufficiency for the next orbit
period. The remaining issue is then how to determine the
Theorem 1. Suppose that SoC∗ exists (i.e., not INFEASIBLE) maximum versions of tasks to be executed in the current orbit
in Algorithm 1. If SoC(0) ≥ SoC∗ holds, no sub-system period. For this, we divide an orbit period of `ORB into sub-
suffers from power deficiency at t ∈ [0, t+ ) under fixed-version periods, each of length δ; in Section IV-B, we will discuss how
execution. to select the sub-periods. At the beginning of each sub-period,
we calculate the highest versions of tasks4 in the current sub-
Proof: This is proved by mathematical induction. For each period, such that SoC at the end of the current orbit period is
orbit period with its beginning time t0 , we prove the following no smaller than SoC∗ , provided that fixed-version execution is
proposition: if SoC(t0 ) ≥ SoC∗ is satisfied, SoC(t0 + `ORB ) ≥ applied to other sub-periods than the current sub-period in the
SoC∗ holds and SoC(t) > 0 holds for all t ∈ [t0 , t0 + `ORB ). current orbit period.
|τ |
(The basis) Since SoC(0) ≥ SoC∗ holds, the proposition Let {vi0 }i=1 denote the versions of tasks in the current
holds for t0 = 0 by Lemma 3. sub-period (each of which satisfies vi0 ≥ vi ), and t0 and t00
denote the beginning of the current sub-period and the end of
(The inductive step) We will prove that if the proposition the current orbit period. Then, Sup(t), Dem(t) and SoC(t) are
holds for the k-the orbit period (whose beginning is t0 ), then upper- or lower-bounded by Sup0 (t), Dem0 (t) and SoC0 (t) for
the proposition holds for the (k + 1)-th orbit period (whose all t ∈ [t0 , t00 ), respectively, where
beginning is t0 + `ORB ). Satisfying the proposition for the k-
th orbit period implies SoC(t0 + `ORB ) ≥ SoC∗ . Therefore, by
Sup0 (t) = Sup(t) | nS , s− , eS (t), θ(t), (7)
Lemma 3, the proposition holds for the (k + 1)-th orbit period.
By the basis and inductive steps, the lemma holds. Dem0 (t) =
(
0 |τ |
Theorem 1 is useful because we make a power-sufficiency Dem(t) | {c+ 0 0
i (t%`ORB , vi )}i=1 , if t ∈ [t , t + δ),
guarantee without investigating all intervals [0, t+ ); instead, + |τ |
Dem(t) | {ci (t%`ORB , vi )}i=1 , if t ∈ [t + δ, t00 ),
0
what we need to do is to find SoC∗ by looking at a single (8)
orbit period in Algorithm 1.
Using Theorem 1, we test all possible configurations of SoC0 (t) = SoC(t) | Dem0 (t), Sup0 (t), nB , eB (t), θ(t). (9)
solar panels and battery cells, and choose one of the Pareto
optimal configurations, which addresses G1. Section IV will
provide an example. 4 We assume that task-level priorities for executing higher versions are given.
100
Sunlight
80
CubeSat* orbit
60
SoC (%)
62 minutes
The earth Sun phase
40
38 minutes
SoC‘(t) with v5=v6=1
20 SoC‘(t) with v5=v6=2
SoC‘(t) with v5=v6=3 Eclipse phase
SoC‘(t) with v5=v6=4
0
20 25 30 35 40 45 50 55 60 Fig. 5. CubeSat∗ ’s orbit—100-minute orbit with 38-minute eclipse phase
Time (minute)
and 62-minute sun phase
Fig. 4. An example of Algorithm 2: at t0 = 20, the version in [20, 40) is
calculated, and only versions 1, 2 and 3 are feasible since version 4 does not
satisfy Step 5. gorithm 2 investigates the current orbit period only. The
efficiency of the algorithm is important because dynamic-
version execution makes decisions online. In Section IV, we
Unlike Eqs. (4) and (6), Sup0 (t) and SoC0 (t) require non- will evaluate the effectiveness of dynamic-version execution in
deterministic online information, such as eS (t) and eB (t). This terms of average executed versions of tasks. As expected, the
should be addressed because at t0 , we should know Sup0 (t) and sub-period length of δ affects performance; the smaller δ, the
SoC0 (t) for all t ∈ [t0 , t00 ). However, we can regard eS (t) and higher performance and the cost of more overhead.
eB (t) as constants in t ∈ [t0 , t00 ) since their change during
an orbit period is negligible. eS (t0 ) and eB (t0 ) are measured
from sensors, or calculated by using the history of Sup(t) and IV. C ASE S TUDY: C UBE S AT∗
SoC(t). Therefore, Eqs. (7), (8) and (9) for all t ∈ [t0 , t00 ) are In this section, we study a cubic-shaped nano-satellite,
|τ | |τ |
available at t0 for given {vi }i=1 and {vi0 }i=1 . called CubeSat∗ , to exploit its simple, manipulable architec-
ture. We first present its architecture, power supply units, and
Algorithm 2 summarizes what we have discussed so far,
sub-systems that consume power, with specific configuration
representing dynamic-version execution for each sub-period.
and parameters. Then, we evaluate the effectiveness of the
The algorithm tests the highest version first, and in each loop,
design and management of power systems proposed in Sec-
it investigates (i) SoC at the end of orbit period is no smaller
tion III.
than SoC∗ in Step 4 and (ii) SoC is always positive during the
current orbit period in Step 5. Fig. 4 illustrates an example of
dynamic-version execution in Algorithm 2, in which t0 = 20, A. Architecture, Power Supply and Demand
t00 = 100 and δ = 20. That is, the current time is 20, and we CubeSat is a nano-scale satellite, which has a cubic shape
calculate the versions of tasks in [20, 40), given the versions of and weighs about 1kg. It was proposed by Robert Twiggs
tasks in [40, 100) (which are the smallest versions). We focus at Stanford University, and originated from an educational
on determining the versions of two tasks (v5 and v6 ), which intent. Due to its low cost and short production time, many
will be detailed in Section IV. As shown in the figure, if the CubeSats were launched since 2004, and now they can perform
version is 1, 2 or 3, Steps 4 and 5 hold. However, there exists commercial experiments (see a survey [24]). Examples of
t such that SoC0 (t) = 0 with version 4. Therefore, the highest CubeSats include CADRE [18, 19], SwissCube [16, 17], and
possible version in [20, 40) is 3. CanX [14, 15]. CubeSat is a proper target system for the design
The following lemma presents a power-sufficiency guaran- and management of power systems of satellites; its simple,
tee for dynamic-version execution. manipulable architecture eases the design and management of
power systems as well as the demonstration of their effective-
Theorem 2. Suppose that SoC∗ exists (i.e., not INFEASIBLE) ness, and it is a “real” system.
in Algorithm 1. If SoC(0) ≥ SoC∗ holds, no sub-system suffers
from power deficiency at t ∈ [0, t+ ) under dynamic-version Of many CubeSats, we target SwissCube [16, 17] and
execution in Algorithm 2. CanX [14, 15], and borrow their system architecture, configu-
rations and parameters. We call our target CubeSat, CubeSat∗ .
Proof: The proof is similar to that of Theorem 1. For each
CubeSat∗ revolves around the earth every 100 minutes, i.e.,
orbit period starting at t0 , Algorithm 2 guarantees (i) SoC0 (t0 +
`ORB = 100. As shown in Fig. 5, the eclipse and sun phases
`ORB ) ≥ SoC∗ and (ii) SoC0 (t) > 0 for all t ∈ [t0 , t0 + `ORB ).
last 38 and 62 minutes, respectively. In CubeSat∗ , solar panels
By definition, we can easily show that SoC0 (t) is no smaller
can be attached to five of six sides; one side is reserved for a
than SoC(t). Therefore, by Lemma 2, we prove the lemma for
channel for the camera. The inside of CubeSat∗ is occupied by
t ∈ [t0 , t + `ORB ). Similar to Theorem 1, the guarantee with
battery cells, an onboard computer, a magnetorquer, a magne-
an orbit period is extended to the entire interval [0, t+ ), since
tometer, a receiver, a transmitter, and a camera. The onboard
SoC(t) at the beginning of each orbit period is no smaller than
computer is responsible for controlling all sub-systems, and
SoC∗ .
the magnetorquer and magnetometer stabilize CubeSat∗ , with
By Theorem 2, we achieve G2 efficiently because Al- attitude control. The receiver and the transmitter communicate
Task τi Period pi (Min) Maximum power consumption c+i (t, vi ) (W )
τ1 : Onboard computer 100.0 0.38
τ2 : Receiver 100.0 0.15
τ3 : Magnetorquer 10.0 1.00, if 8.0 ≤ t%10.0 ≤ 9.0
τ4 : Magnetometer 10.0 0.23, if 0.0 ≤ t%10.0 ≤ 5.0
τ5 : Transmitter 10.0 1.11, if 4.0 ≤ t%10.0 ≤ 4.0 + v (v4 = 1, 2, 3 or 4)
τ6 : Camera 10.0 0.3, if 0.0 ≤ t%10.0 ≤ v (v5 = 1, 2, 3 or 4)
TABLE II. C UBE S AT∗ ’ S SUB - SYSTEMS MODELED AS PERIODIC TASKS
3.5 2.5
40 Temperature (battery cells) Dem+(t)
Temperature (solar panels) 3 Dem(t)
30 2
Temperature (Celsius)
2.5
20
Power (W)
Power (W)
1.5
10 2
0 1.5
1
Sup(t)
-10 1 Sup-(t)
0.5
-20 0.5
-30 0 0
0 20 40 60 80 100 0 20 40 60 80 100 0 20 40 60 80 100
Time (minute) Time (minute) Time (minute)
− +
(a) Temperature (θ(t)) for battery cells and solar (b) Sup(t) and Sup (t) under nS = 2 and eS (t) = (c) Dem (t) and Dem(t)
panels e−
S
Fig. 6. Profiles of temperature, power supply from solar panels and power demand from sub-systems
with the ground. The camera periodically takes pictures, which Power supply from solar panels. According to [17], the
is the mission objective of CubeSat∗ . worst-case generated power is between wmin = 2.30W and
wmax = 3.26W under nS = 2. Based on the analysis of power
We express each sub-system as a periodic task τi . Ta-
generation with different temperature and efficiency in [17], we
ble II summarizes task parameters, which can be deter-
determine Sup(t) and Sup− (t) during the sun phase as:
mined/measured offline (before launching the satellite). Note
that the magnetorquer, magnetometer, transmitter and camera eS (t) −0.00261 · θ(t) + 1.161 nS
are actual periodic tasks, while the onboard computer and Sup(t) = w(t) · · · ,
receiver can consume power at any time, thus assigning e−S
−0.00261 · 41 + 1.161 2
p1 = p2 = `ORB = 100. −0.00261 · θ(t) + 1.161 nS
Sup− (t) = wmin · · ,
−0.00261 · 41 + 1.161 2
Due to the limited budget of space and weight, we only
consider two configurations of solar panels: one or two solar where w(t) is a random variable in [wmin , wmax ), which
panels are attached on each side. We use nS as the number of varies with s(t). Fig. 6(b) illustrates Sup(t) and Sup− (t) under
solar panels on each side, and therefore nS = 1 or 2. Each solar nS = 2 and eS (t) = e− S (which means that the time is near
panel is triple-junction gallium-arsenide. Up to three battery the end of lifetime). There is no power generation during
cells can be accommodated, and the number of battery cells is 0 ≤ t < 38 (the eclipse phase), and after t = 38, Sup− (t)
denoted as nB . Each battery cell is a polystor lithium-ion cell, decreases with time, due to temperature increase.
and all battery cells are connected in parallel.
Power demand from sub-systems. Since c+ i (·) is deter-
∗ +
A mission lifetime of CubeSat is 2 years, i.e., t = ministic as shown in Table II, Dem+ (t) is simply calculated by
1051200 minutes. using Eq. (5).
P6 We calculate the actual power consumption as:
Dem(t) = i=1 c+ i (t%100, vi ) ∗ y(t), where y(t) is a random
B. Evaluation variable in [0, 1). Fig. 6(c) illustrates Dem+ (t) and Dem(t).
To evaluate our design and management of CubeSat∗ , SoC of battery cells. To simulate SoC of battery cells,
we need actual data and simulation tools for its operation we use a popular battery simulator, Dualfoil [23], which
environments, power supply from solar panels, power demand simulates the behavior of rechargeable battery cells including
from sub-systems, and SoC of battery cells. a lithium-ion battery cell, based on an electro-chemical model
that expresses its charge/discharge [9]. By setting the load
Temperature. To reflect a harsh thermal environment,
profile as a sequence of constant current steps, we can obtain
we assume that the temperature of solar panels ranges from
the physical and electrical states of battery cells until the
−27◦ C (when each eclipse phase ends) to 41◦ C (when each
voltage is dropped below the cutoff voltage. Dualfoil effec-
eclipse phase starts). Since battery cells are shielded with
tively addresses physical characteristics of rechargeable battery
insulators, we assume that their ambient temperature varies
cells, including discharge efficiency, recovery efficiency and
within [0◦ C, 30◦ C). We assume that both temperatures vary
temperature’s effect.
linearly, and Fig. 6(a) shows temperature transition during an
orbit period, where t = 0 and t = 38 are the beginning and The input of Dualfoil (load profile) is current, so we
end of the eclipse period. calculate current from power and nominal voltage, i.e., power
Configuration Power-sufficiency guarantee
name (nS , nB ) with v5 = v6 = 1, 2, 3, 4 100
A (1,1) XXXX
B (1,2) XXXX 80
C (1,3) XXXX
D (2,1) OXXX
60
SoC (%)
E (2,2) OOOO
F (2,3) OOOO
TABLE III. P OWER - SUFFICIENCY GUARANTEE WITH DIFFERENT 40
CONFIGURATIONS OF SOLAR PANELS AND BATTERY CELLS WITH
DIFFERENT VERSIONS OF τ5 = τ6 , UNDER FIXED - VERSION EXECUTION
20
SoC-(t): configuration C
SoC-(t): configuration B
SoC-(t): configuration A
0
= current × voltage. That is, using the profiles of demand 0 20 40 60 80 100
and supply, we calculate the amount of power demanded or Time (minute)
supplied, and translate it to current. We feed the current with Fig. 7. SoC− (t) with SoC− (0) = 100 under configurations A, B and C
temperature profile to Dualfoil, and then obtain the output with v5 = v6 = 1
voltage, which is converted to SoC.
Now, we present the evaluation results using the settings
discussed so far. of τ5 and τ6 without experiencing power shortage, if we
employ configuration D which incurs less cost. We can choose
Design of CubeSat∗ ’s power system. We have two configuration E for the execution of the highest version of τ5
configurations of solar panels (nS = 1 and 2) and three and τ6 , at the expense of more design cost. We do not choose
configurations of battery cells (nB = 1, 2, and 3), implying configuration F, since it incurs more cost than configuration E,
a total of six configurations as shown in Table III. We test while yielding the same guarantee on the executed version.
Algorithm 1 for all configurations A–F when the version of
τ5 and τ6 is fixed at 1, 2, 3 and 4, in total 24 cases. Once Online management of CubeSat∗ ’s power system.
there exists SoC∗ derived by the algorithm, Theorem 1 proves While configuration D is design-time Pareto optimal, we can
the power-sufficiency guarantee. Note that the version of τ5 execute higher-version tasks using online information. Thus,
depends on that of τ6 , because a higher resolution picture we focus on configuration D, and evaluate the effectiveness of
entails a large amount of data to be transmitted. Therefore, dynamic-version execution described in Algorithm 2, in terms
we only consider the same version of τ5 and τ6 . of average executed versions of v5 = v6 . As mentioned in
Section III, the effectiveness depends on δ, the frequency of
As shown in Table III, the power-sufficiency guarantee triggering the calculation of the highest possible version. Since
cannot be made even with the lowest version, if there is the period of τ5 and τ6 is 10 and the orbit period is 100, we
only one solar panel on each side (see configurations A, choose δ as 10, 20, 50, and 100. For Sup(t), we are interested
B and C), because there does not exist SoC∗ with these in the time instant near the end of lifetime, thus setting eS (t)
configurations. As shown in Fig. 7, when SoC− (t) at t = 0 to e−
S.
(the beginning of an orbit period) is set to 100.0%, SoC− (t)
at t = 100 (the end of an orbit period) is only 84.3%, 92.5%, Table IV presents the executed version of v5 and v6 in each
and 97.3% for configurations A, B and C; for any given interval during an orbit period. With δ = 100, the decision
SoC− (0), there does not exist SoC∗ with the configurations. on the executed version is made only at t = 0, resulting in
On the other hand, when the number of solar panels on each v5 = v6 = 1 for the entire orbit period. Since the sun phase
side is two, (i.e., nS = 2), we can make power-sufficiency starts at 38, every decision after 38 is v5 = v6 = 4, e.g., at
guarantees. If we focus on configuration D, SoC∗ exists only t = 50 with δ = 50, at t = 40, 60 and 80 with δ = 20, and
with v5 = v6 = 1. Also, configurations E and F make power- t = 40, 50, · · · , 90 with δ = 10. During the eclipse phase,
sufficiency guarantees with any v5 = v6 . the cases of δ = 20 and 10 can execute higher versions. As
a result, while the average number of versions with δ = 100
This can be interpreted as follows: (i) the case of nS = 1 is 1.0, those with δ = 50, 20, and 10 are 2.5, 3.2 and 3.7,
cannot supply sufficient power even for v5 = v6 = 1 (the respectively. In particular, we can execute the highest version
smallest demand); and (ii) the case of nS = 2 can for v5 = most of the time with δ = 10. Since the smaller δ, the higher
v6 = 4 (the largest demand). Further credibility to (i) is given computation overhead, there is a tradeoff between performance
by the fact that the initial SoC does not recover at the end (average executed version) and overhead.
of the orbit period with nS = 1, regardless nB in Fig. 7. On
the other hand, if nS = 2, the bottleneck is the performance One may wonder if Algorithm 2 requires a simulation of
of battery cells. That is, as shown in Fig. 3 in Section III, if Dualfoil, which is not suitable when the computing power of
nB = 1, SoC∗ barely exists with v5 = v6 = 1; if we demand a satellite is low. In this case, we can choose a finite number
more power (v5 = v6 ≥ 2), SoC∗ does not exist. However, if of simulation inputs and store the results offline. During the
we increase the number of battery cells (i.e., nB = 2 or 3), we operation, we calculate SoC by applying the nearest (but safely
can guarantee power-sufficiency with any version of v5 = v6 . upper-bounded) simulation input.
Based on the results presented in Table III, the Pareto Summary. Using actual/realistic profiles and simulator, we
optimal points are configurations D and E. That is, at design demonstrated that the proposed design can find the Pareto opti-
time, we can guarantee the execution of the lowest version mal configurations D and F. We also showed that the proposed
Interval [0,10) [10,20) [20,30) [30,40) [40,50) [50,60) [60,70) [70,80) [80,90) [90,100) Average
δ =100 1 1 1 1 1 1 1 1 1 1 1.0
δ =50 1 1 1 1 1 4 4 4 4 4 2.5
δ =20 1 1 3 3 4 4 4 4 4 4 3.2
δ =10 1 4 4 4 4 4 4 4 4 4 3.7
TABLE IV. V ERSION OF τ5 AND τ6 UNDER DYNAMIC - VERSION EXECUTION WITH VARIOUS δ
dynamic-version execution can exploit online information, and [5] E. A. Lee, “Cyber-physical systems - are computing foundations ade-
guarantee higher-version operations of tasks. quate?” in NSF Workshop on Cyber-Physical Systems, 2006.
[6] ——, “Cyber physical systems: Design challenges,” in Proceedings of
the 11th IEEE International Symposium on Object Oriented Real-Time
V. C ONCLUSION Distributed Computing (ISORC), 2008, pp. 363–369.
[7] A. Kandhalu and R. Rajkumar, “Qos-based resource allocation for next-
In this paper, we proposed the design and management of generation spacecraft networks,” in Proceedings of IEEE Real-Time
satellite power systems. Based on the analysis of characteristics Systems Symposium (RTSS), 2012, pp. 163–172.
of power supply and demand, we first proposed a solution to [8] A. T. Klesh, J. W. Cutler, and E. M. Atkins, “Cyber-physical chal-
judge at design time whether or not power-sufficiency with a lenges for space systems,” in Proceedings of IEEE/ACM International
given configuration is guaranteed, and this solution is used to Conference on Cyber-Physical Systems (ICCPS), 2012, pp. 45–52.
find the best configuration. Second, we developed an online [9] T. F. Fuller, M. Doyle, and J. Newman, “Simulation and optimization
dynamic-version execution policy, which executes the highest of the dual lithium ion insertion cell,” Journal of the Electrochemical
Society, vol. 141, no. 1, pp. 1–10, 1994.
possible versions of tasks without compromising the power-
[10] D. Linden and T. Reddy, Handbook of Batteries, the third edition.
sufficiency guarantee. Using a case study of CubeSat∗ , we McGraw-Hill Companies, 2001.
demonstrated the effectiveness of our design and management [11] H. Kim and K. G. Shin, “Scheduling of battery charge, discharge, and
of satellite power systems. rest,” in Proceedings of IEEE Real-Time Systems Symposium (RTSS),
2009, pp. 13–22.
While our solution is dedicated to a small number of battery
[12] J. C. Pemberton and F. Galiber, “A constraint-based approach to satellite
cells that are connected in parallel, large-scale satellites need a scheduling,” in Proceedings of the DIMACS Workshop on Contraint
battery management system (BMS) to handle a large number Programming and Large Scale Discrete Optimization, 2001, pp. 101–
of battery cells. In such a case, a reconfigurable architecture is 114.
promising in that it precludes a BMS from the failure caused by [13] S. Waydo, D. Henry, and M. Campbell, “Cubesat design for leo-
a single-cell failure, and enables the BMS to form an efficient based earth science mission,” in Proceedings of the IEEE Aerospace
Conference, 2002, pp. 435–445.
configuration based on external conditions and electrical states
of battery cells. The BMS should then address how to control [14] G. J. Wells, L. Stras, and T. Jeans, “Canada’s smallest satellite: The
canadian advanced nanospace experiment (CanX-1),” in Proceedings of
charge, discharge, and rest of individual battery cells. In future, the 16th Annual AIAA/USU Conference on Small Satellites, 2002.
we would like to develop the BMS associated with solar [15] G. Bonin, D. Sinclair, and R. E. Zee, “Peak power tracking on a
panels, which achieves our design and management goals for nanosatellite scale: The design and implementation of digital power
large-scale satellites. electronics on the sfl generic nanosatellite bus,” in Proceedings of the
23th Annual AIAA/USU Conference on Small Satellites, 2009.
We have made some implicit assumptions for concise [16] “SwissCube,” http://swisscube.epfl.ch/ [Accessed 3 May, 2013].
presentation; for example, task periods are no longer than the [17] F. Jordan, “SwissCube: Electrical power system, final report,”
orbit period, and the orbit period is an integer multiple of each http://ctsgepc7.epfl.ch/03%20-%20Power%20system/S3-A-EPS-1-0-
task period. In future we would like to relax these assumptions. EPS.pdf [Accessed 3 May, 2013].
[18] “CADRE: Cubesat investigating atmospheric density response to ex-
treme driving,” Aerospace Engineering 483 Final Report, University of
ACKNOWLEDGEMENT Michigan, pp. 1–126, April 15, 2011.
[19] J. W. Cutler, A. Ridley, and A. Nicholas, “Cubesat investigating atmo-
We are grateful to Justin M. Bradley and Ella M. Atkins spheric density response to extreme driving (CADRE),” in Proceedings
of University of Michigan Aerospace Engineering for helpful of the 25th Annual AIAA/USU Conference on Small Satellites, 2011.
references and comments on CubeSat. The work reported in [20] C. Rusu, R. Melhem, and D. Mosse, “Multi-version scheduling in
this paper was supported in part by the NSF under grants CNS- rechargeable energy-aware real-time systems,” Jounral of Embedded
0930813, CNS-1138200, and CNS-1329702. Computing, pp. 2–11, 2004.
[21] C. Moser, D. Brunelli, L. Thiele, and L. Benini, “Real-time scheduling
with regenerative energy,” in Proceedings of Euromicro Conference on
R EFERENCES Real-Time Systems (ECRTS), 2006, pp. 261–270.
[1] P. Fortescue, G. Swinerd, and J. Stark, Spacecraft Systems Engineering. [22] S. Liu, Q. Qui, and Q. Wu, “Energy aware dynamic voltage and
Wiley, the 4th edition, 2011. frequency selection for real-time systems with energy harvesting,” in
Proceedings of Design, Automation & Test in Europe Conference &
[2] A. C. Fu, E. Modiano, and J. N. Tsitsiklis, “Optimal energy alloca- Exhibition (DATE), 2008, pp. 236–241.
tion and admission control for communications satellites,” IEEE/ACM
Transactions on Networking, vol. 11, no. 3, pp. 488–500, 2003. [23] J. Newman, “FORTRAN programs for the simulation of electrochecmi-
cal systems,” http://www.cchem.berkeley.edu/jsngrp/fortran.html [Ac-
[3] F. Alagoz and G. Gur, “Energy efficiency and satellite networking: A cessed 3 May, 2013].
holistic overview,” Proceedings of the IEEE, vol. 99, no. 11, pp. 1954–
1979, 2011. [24] M. Polaschegg, “Study of a cube-sat mission,” The degree of Master of
Sciences of the Post-Graduate University Course Space Sciences, Karl
[4] National Science Foundation (NSF), “Cyber-physical systems (CPS),” Franzens University of Graz, pp. 1–103, 2005.
http://www.nsf.gov/pubs/2008/nsf08611/nsf08611.htm [Accessed 3
May, 2013].