ECO: Enabling Energy-Neutral IoT Devices through Runtime Allocation of Harvested Energy
11 ECO: Enabling Energy-Neutral IoT Devices throughRuntime Allocation of Harvested Energy
Yigit Tuncel, Ganapati Bhat, Jaehyun Park, and Umit Ogras
Abstract —Energy harvesting offers an attractive and promis-ing mechanism to power low-energy devices. However, it aloneis insufficient to enable an energy-neutral operation, which caneliminate tedious battery charging and replacement require-ments. Achieving an energy-neutral operation is challenging sincethe uncertainties in harvested energy undermine the qualityof service requirements. To address this challenge, we presenta rollout-based runtime energy-allocation framework that opti-mizes the utility of the target device under energy constraints.The proposed framework uses an efficient iterative algorithmto compute initial energy allocations at the beginning of aday. The initial allocations are then corrected at every intervalto compensate for the deviations from the expected energyharvesting pattern. We evaluate this framework using solar andmotion energy harvesting modalities and
American Time UseSurvey data from 4772 different users. Compared to state-of-the-art techniques, the proposed framework achieves 34.6% higherutility even under energy-limited scenarios. Moreover, measure-ments on a wearable device prototype show that the proposedframework has less than 0.1% energy overhead compared toiterative approaches with a negligible loss in utility.
Index Terms —Energy harvesting, IoT, energy efficiency, re-source allocation, optimization, battery management.
I. I
NTRODUCTION I NTERNET of things (IoT) and wearable devices haveprevailed in recent years. Their number is expected togrow to 30 billion by 2025 with the ever-reducing powerconsumption of technology nodes and with new and emerg-ing applications [2], [3]. Battery charging and replacementrequire significant manual effort and environmental waste.Furthermore, recent studies show that frequent rechargingrequirements hinder the adoption of wearable IoT devices inhealthcare [4], [5]. Therefore, harvesting ambient energy hasbecome an attractive solution to power low-power IoT andwearable devices.Energy harvesting (EH) is the ability to transform ambi-ent energy into usable electrical energy [6]. EH solutionsideally target for energy neutrality , which ensures that theenergy consumption in a given period, such as a day, isequal to the energy harvested during the same period. Hence,
Y. Tuncel and U. Ogras are with the Department of Electrical and ComputerEngineering, University of Wisconsin-Madison, Wisconsin, WI, 53706 USA.e-mail: { tuncel, uogras } @wisc.eduG. Bhat is with the School of Electrical Engineering and ComputerScience, Washington State University, Pullman, WA, 99164, USA. e-mail:[email protected]. Park is with the Department of Electrical, Electronic and ComputerEngineering, University of Ulsan, 93 Daehak-ro, Mugeo-dong, Nam-gu,Ulsan, Republic of Korea. e-mail: [email protected] earlier version of this paper was presented at the 2017 IEEE/ACMInternational Conference on Computer-Aided Design (ICCAD) [1] and waspublished in its proceedings (doi: 10.1109/ICCAD.2017.8203801). energy-neutral operation can eliminate battery charging andreplacement requirements. Achieving energy-neutral operationis challenging due to the conflict between the uncertainty inharvested energy and quality of service (QoS) requirementsof the target device. For example, consider a wearable healthapplication where the target device must collect the vitalsignals and process them locally to detect abnormalities. Onthe one hand, the device needs a steady and sufficient amountof energy to perform its intended operation, e.g., analyzingthe collected signals within a specified amount of time. Onthe other hand, the harvested energy may fluctuate widely oreven vanish entirely during the same period. Our goal is tomaximize the utilization of the target device (i.e., the amountof time QoS requirements are satisfied) under dynamic energyconsumption requirements that guarantee energy neutrality.This paper proposes a runtime framework to enable energy-neutrality through constrained optimization (ECO) of theharvested energy optimally over a finite horizon divided intouniform time intervals. ECO computes the amount of energythat the device can consume in each time interval to maximizeits utility and guarantee an energy-neutral operation. Thefundamental components of ECO are illustrated in Figure 1.It takes the initial battery energy at the beginning of eachday and the expected amount of harvested energy during eachtime interval of the finite horizon (e.g., 24-hour) as inputs. Weobtain the expected amount of harvested energy from a novelEH model that combines light EH and piezoelectric motionEH modalities, as described in Section V. We also specifytwo constraints on the battery energy: i) the minimum batteryenergy level allowed at any point in time, ii) the battery energytarget at the end of the day. Setting the target level to the initialbattery energy enables energy-neutrality by starting each dayat the same level.The proposed framework maximizes a utility function underthe battery energy constraints. The utility function can beconstructed to model design metrics, such as device throughputand classification accuracy. Unlike prior work that requires alogarithmic utility function [1], ECO can handle an arbitraryfunction, which can be constructed by measured data. Itfirst finds the energy that the device can consume duringeach time interval using the harvested energy profile. Forexample, suppose that the finite horizon is one whole daydivided into 24 one-hour intervals. At the beginning of eachday, ECO allocates the expected amount of harvested energyduring a day into one-hour intervals to maximize the utilityfunction under the battery energy constraints. This solutionis not optimum due to the variations in harvested energy.Therefore, the initial allocations are corrected after each time a r X i v : . [ ee ss . S Y ] F e b 𝑬 𝒕 𝑨 ( J ) . . . . . . . . . 𝑬 𝑬 . . . . . . . . . 𝑬 𝑨 Target B. E. EH Model(Sec V)
Expected EH 𝑬 𝒕𝑯 Finite Horizon
Optimization(Sec IV-B)
Energy
Allocations 𝑬 𝒕𝑨 Corrected Energy Allocations 𝑬 𝒕 𝑨 Initial B. E. 𝑬 𝒕 𝑩 Current B. E.
Rollout based
Runtime
Optimization(Sec IV-D)
Actual EH 𝑬 𝒕 𝑯 𝜟 𝒕𝑯 = 𝑬 𝒕𝑯 − 𝑬 𝒕𝑯 𝜟 𝒕𝑨 = 𝑬 𝒕𝑨 − 𝑬 𝒕𝑨 𝑬 𝑻𝑩 Final B. E. (t=T)Each Horizon Each IntervalMin B. E.* t=Tyes no
IoT Device(Sec VI-A)
Time (hr) 𝑬 𝑩 𝑬 𝒕 𝑩 ( J ) . . . . . . . . . 𝑬 𝒎𝒊𝒏 𝑬 𝑩 . . . . . . . . . 𝑬 𝑻𝑩 = 𝑬 𝑬 = 𝑬 + 𝑬 − 𝑬 𝑬 𝒕𝒂𝒓𝒈𝒆𝒕 energy-neutral 𝑬 𝑨 𝑬 𝑨 𝑬 𝑩 Figure 1. The proposed energy allocation framework (ECO). *B.E.: Battery Energy interval using the actual harvested energy. To find the optimalamount of corrections for the remaining intervals, we proposea lightweight runtime optimization algorithm. As a result,the proposed framework adapts to the deviations from theexpected EH values with negligible runtime overhead.We demonstrate the proposed framework on a low-powerwearable IoT device prototype with a dataset that consists ofexpected and actual energy harvesting values of 4772 users. Toestablish a concrete reference, our results are compared againstan iterative gradient projection algorithm. ECO achieves anaverage utility within 2% of the iterative gradient projectionalgorithm with 1000 × smaller overhead. When compared tothe state-of-the-art approach in literature [1], it achieves 34.6%higher average utility while maintaining negligible runtimeoverhead. The major contributions of this work are as follows: • We present an energy allocation framework (ECO) thatenables energy-neutral operation under varying EH con-ditions while maximizing the device utility, • ECO supports arbitrary utility functions extracted fromreal applications, • To enable realistic evaluations, we construct a noveldataset with the help of light/motion EH modalities andthe American Time Use Survey [7] data of 4772 users, • ECO achieves 34.6% higher utility than prior runtimetechniques [1] and only 2% lower utility than an optimaliterative algorithm with negligible runtime overhead.The rest of the paper is organized as follows. We reviewthe related work in Section II. We present an overview of theproblem in Section III. Section IV gives detailed explanationsand mathematical formulations for each of the components inFigure 1. In Section V, we explain the steps we took to pre-process the ATUS dataset and obtain the EH model. Finally,we evaluate and discuss the results in Section VI and concludethe paper in Section VII.II. R
ELATED W ORK
Research and development of the internet of things havegrown considerably in the recent past [8]. This growth hasbeen enabled by advances in sensor technologies, low-powerprocessing, and communication technologies. IoT devices haveapplications in a wide range of fields such as wearable healthmonitoring, environmental monitoring, digital agriculture, androbotics [9]–[13]. IoT devices are deployed either as a network of multiple devices or single nodes, depending on the appli-cation requirements. For instance, environmental monitoringapplications typically use a wide-area network to cover thearea of interest [9], [12]. Similarly, health monitoring appli-cations use a single node or smaller body area networks [14],[15].One of the challenges of IoT devices is limited battery sizedue to small-form, especially in wearable devices. The smallbattery severely constrains the energy budget of the device andbattery lifetime. Recent work has proposed harvesting energyfrom ambient sources, such as light, motion, electromagneticwaves, and body heat, to alleviate the issue. Studies haveshown that ambient light has the highest potential for EH withpower levels of > < µ W in outdoor and indoorconditions, respectively. Similarly, piezoelectric human motionEH can yield about 15 µ W [16], while body heat and RF EHhave lower power levels of < µ W, respectively [13].Energy harvesting requires algorithms that allocate theharvested energy to the device so that sufficient energy isavailable at all times of the day [17], [18]. For instance,light energy is typically available during the day. Thus, thedevice has to store sufficient energy for use during the night.Kansal et al. [17] present the general framework of energy-neutral operation for energy harvesting devices. Energy-neutraloperation (ENO) ensures that the total energy consumed in agiven period, such as a day, is equal to the energy harvestedduring the same period. To achieve this, the authors proposea linear programming approach that adapts the device’s dutycycle under energy constraints. The work in [19] proposes along-term energy management algorithm, referred to as longterm-ENO, that aims to achieve energy neutrality for oneyear or more. Similarly, Geissdoerfer et al. [20] propose afeedback controller to achieve long-term-ENO. While theseapproaches are helpful, they do not consider the applicationrequirements, user activity patterns, or the stochastic nature ofenergy harvesting.The stochastic nature of energy harvesting has promptedresearchers to investigate approaches that aim to account forthe stochasticity [21]–[24]. These approaches typically modelstochastic optimization as a Markov decision process anddevelop policies to perform the energy management. Unfortu-nately, these approaches still do not consider the stochasticityarising from user activities. For example, the harvested energychanges significantly if the user moves indoors after being inthe sun. User and context-aware approaches aim to address this issue by leveraging knowledge about the user’s activitiesto reduce the power consumption of the device [25], [26].These approaches focus only on power management and donot account for energy harvesting. Therefore, there is a needfor approaches that account for variations in harvested energydue to environmental conditions and user activities.This work presents a novel approach to enable energy-neutral operation under varying energy harvesting conditions.Our prior work addressed a similar problem [1]. However,it relaxes the minimum battery energy constraints and as-sumes an impractical logarithmic utility function to derive aclosed-form solution. In contrast, the ECO framework usesa light-weight rollout technique that supports arbitrary utilityfunctions and finds the energy allocations without relaxingany constraints. The rollout phase implicitly accounts for theharvested energy variations due to environmental conditionsand user activities. Specifically, we start with an initial energyallocation using the expected EH values. Then, we use therollout algorithm at runtime to make adjustments to the energyallocation as a function of the deviations in energy harvesting.Furthermore, the proposed technique is evaluated using ATUSdata of 4772 users with light and motion EH modalities.III. O
VERVIEW
This section introduces the battery energy dynamics andthe corresponding optimization constraints. It also presents thenotion of the utility function for an arbitrary application.
Battery energy dynamics:
The proposed allocation algorithmdetermines the amount of energy that can be consumed in agiven interval based on the current battery level and harvestedenergy. Let T denote the finite time horizon of interest.We divide the time horizon into uniform time intervals t .For example, if we consider a one-day horizon divided into24 one-hour intervals, T = 24 hours and t ∈ S T =[0 , , [1 , , . . . , [23 , , as illustrated in Figure 1. Using thisnotation, we denote the battery energy at the beginning ofinterval [ t, t + 1) as E Bt . The battery energy at the end ofinterval t ∈ S T depends on three factors:1) The starting battery energy E Bt
2) The harvested energy during the current interval (cid:98) E Ht
3) The allocated energy during the current interval (cid:98) E At The battery energy level at the end of interval t equals tothe level at the beginning of interval t + 1 . Similarly, thebattery energy level at the end of finite horizon is carried to thenext finite horizon (e.g. next day). Hence, the battery energydynamics can be expressed as: E Bt +1 = E Bt + (cid:98) E Ht − (cid:98) E At , t ∈ S T and E BT = E B (1)The battery level must be bounded from below to ensure thatthe target device has sufficient reserves ( E min ) to execute anemergency task. To achieve this objective, we introduce thefollowing minimum energy constraint: E Bt ≥ E min t ∈ S T (2)To achieve energy-neutral operation, we also need to ensurethat the battery energy level in the beginning of each finitehorizon is greater than or equal to a specified target. For A cc u r a c y ( % ) Real studies Utility function
Figure 2. The generalized logarithmic utility function and utility curves fromreal studies. example, if the battery energy level in the beginning of eachday satisfies this condition, the device can power itself withoutany manual charging requirements. Hence, we introduce thefollowing condition for finite horizon boundaries: E B ≥ E target (3)Figure 1 summarizes the battery energy dynamics and theconstraints presented above. We also list the parameters andnotation used throughout the work in Table I. Utility function:
We define the utility as the QoS that thetarget application provides to the user. Although the proposedframework does not depend on any particular application,we demonstrate it on health monitoring and activity trackingapplications. Any application has an energy requirement to runcorrectly, such as guaranteeing a certain number of measure-ments per unit time. We denote the minimum energy requiredby the target application by M E . If we fail to allocate M E tothe device, the device cannot provide useful output even if itis active. In general, the device can deliver higher utility (i.e.,better QoS) with larger allocated energy. However, allocatingmore energy has a diminishing rate of return since excessiveenergy does not necessarily improve the QoS. To capture thisbehavior, one can employ the following utility function: u ( E At ) = α ln (cid:18) E At M E (cid:19) γ (4)where the parameters α and γ are used to tune the utilityfunction for a specific user or application. Since this functionis concave, it simplifies finding the optimal solution using theKarush-Kuhn-Tucker conditions [1]. However, such a genericutility function might not capture the behavior of the specificapplications. For example, Figure 2 shows the utility of dif-ferent applications according to the energy consumption alongwith the generalized utility function in Equation 4. Actualenergy consumption and utility (measured by recognitionaccuracy) of real studies exhibit varying patterns [27], [28].For example, the dashed lines in Figure 2 show data fromtwo real applications, which significantly deviate from thelogarithmic utility function. To address this issue, the proposedapproach works with both logarithmic and arbitrary utilityfunctions, as described in Section IV-D. Table IN
OTATION TABLE . Symbol Description T The finite time horizon t The time interval [ t, t + 1) S T Set of uniform time intervals t in the horizon TE At , E Ht Allocated and expected harvested energy in interval tE Bt Battery energy at the beginning of interval tE min , E target Minimum and target battery energy constraints (cid:98) E At The corrected allocation at interval t (cid:98) E Ht The actual harvested energy at interval t ∆ At , ∆ Ht Deviation from the expected values of allocatedand harvested energy in interval t ∆ t Cumulative deviation from the actual values until tu ( . ) , (cid:126)u ( . ) Utility function and vector valued utility function M E Minimum energy required for positive utility α , γ Parameters to tweak the shape of the utility function β Discounting factor for utility L Coefficient matrix. Please see Equation 6 E A [ E A E A ··· E AT − ] T ∈ R T E H [ E B + E H E H ··· E HT − ] T ∈ R T E B [ E B E B ··· E BT ] T ∈ R T B L [ E min ··· E min E target ] T ∈ R T λ Vector of Lagrange Multipliers ∇ (cid:126)u ( . ) , ∇ (cid:126)u − ( . ) Gradient of the vector valued utility functionand its inverse N Number of nodes in rollout ˜ U ( . ) Heuristic function to compute future utility
IV. O
PTIMAL E NERGY M ANAGEMENT
A. Problem Formulation
Our goal is to maximize the total utility over a finitehorizon with the battery dynamics explained in Section IIIto guarantee an energy-neutral operation. The energy allo-cated to each interval can be expressed as a vector as: E A = [ E A E A ··· E AT − ] T ∈ R T . Similarly, let E H =[ E B + E H E H ··· E HT − ] T ∈ R T be the extra energy added ineach interval. Note that the first interval carries over theinitial battery energy, while the rest contain only the energyharvested during that interval. Finally, we express the lower-bound energy level to obtain a concise problem formulation: B L = [ E min ··· E min E target ] T ∈ R T . Using this notation, theoptimization problem can be formulated as follows: maximize T − (cid:88) t =0 β t u ( E At ) subject to L ( E H − E A ) − B L ≥ (5)The optimization objective is the total utility expressed asa function of the energy allocations over the horizon andthe discount factor < β ≤ that enables de-emphasizingfuture intervals. The set of constraints given in Equation 1–Equation 3 are written in matrix form using vectors E H , E A , B L , and a coefficient matrix L ∈ R T × T : L = ···
01 1 0 ···
01 1 1 ··· ... ... ... ... ... ··· ∈ R T × T (6) B. Optimal Solution using Iterative Gradient Projection
The optimal solution to the problem given in Equation 5can be obtained by writing the Lagrangian as: L = (cid:126)u ( E A ) + λ T ( L E H − L E A − B L ) (7)where λ ∈ R T are the Lagrange multipliers and (cid:126)u ( E A ) : R T → R T is a vector function defined as fol-lows: (cid:2) β u ( E A ) β u ( E A ) · · · β T − u ( E AT − ) (cid:3) T . Usingthe Lagrangian, we can write the following Karush-Kuhn-Tucker conditions [29]: ∇ (cid:126)u ( E A ) − λ T L = 0 (8) λ T ( L E H − L E A − B L ) = 0 , λ ≥ where ∈ R T is a vector of zeros and ∇ (cid:126)u ( E A ) : R T → R T is the gradient of (cid:126)u ( E A ) defined as follows: (cid:104) β ∂u ( E A ) ∂E A β ∂u ( E A ) ∂E A · · · β T − ∂u ( E AT − ) ∂E AT − (cid:105) . Challenge:
Finding the optimal solution is challenging inreal application scenarios for two reasons. First, the set ofequations in Equation 8 does not have a closed-form solutionfor an arbitrary utility function. Second, the solution requiresthe energy values that will be harvested in future time intervals . Finding the optimal solution offline:
Due to the challengesmentioned above, the optimal energy allocation can only beobtained using iterative algorithms and expected values of theenergy that will be harvested in future intervals.
To obtain theoptimal solution as point of reference , we adapt an iterativegradient projection algorithm used recently in network utilitymaximization problems [30]. It starts with random allocationsand Lagrange multipliers λ , as depicted in Algorithm 1 lines2–4. At each iteration, the algorithm finds the optimal allo-cations E A using the inverse of the gradient function andthe latest Lagrange multipliers (line 7). Then, the Lagrangemultipliers are updated following a feasible descent directiongiven by the optimization constraints (line 8). The iteration inlines 5–8 continues until λ converges within desired tolerancebounds. The proof of convergence can be found in [30]. Algorithm 1. Iterative gradient projection algorithm.1: output: E A and λ ∗ E A ← rand ( T, λ ← rand ( T, λ ∗ ← rand ( T, while || λ ∗ − λ || > tolerance do λ ← λ ∗ E A ← ∇ (cid:126)u − ( λ T L ) (follows from Equation 8) λ ∗ ← max { λ + stepSize × ( L E A − L E H + B L ) , } ( stepSize = 0 . in our implementation) end while The need for a runtime solution:
The actual energy har-vested in each time interval differs from the expected valuesused by offline algorithms. Therefore, the energy allocationsmust be recomputed after each interval to account for thesedeviations. Iterative algorithms cannot be used repeatedly forthis purpose due to their significant runtime overhead. Forexample, the execution time of iterative gradient projectionalgorithm (Algorithm 1) is 70.3 seconds on TI CC2652R micro-controller [31], as detailed in Section VI-A. In contrast,the light-weight energy allocation algorithm presented in [1]takes only 2 ms, resulting in over four orders of magnitudeenergy consumption savings, albeit with a significant loss inoptimality. Since significant energy overhead is prohibitive,there is a strong need for runtime solutions that can approachthe performance of the iterative algorithms.
The followingsections present our runtime solutions to the optimizationproblem in Equation 5. We start with a constant time solutionfor logarithmic utility function. Then, we present a novelrollout algorithm for arbitrary utility functions.
C. Light-Weight Algorithm for Logarithmic Utility Functions
The energy allocation problem given in Equation 5 does nothave a closed-form solution for two reasons: 1) Arbitrary shapeof the utility function, 2) The minimum energy constraint inEquation 2. One can derive a closed-form expression by usinga logarithmic utility function and relaxing the minimum energyconstraint. When the utility function is defined as u ( E At ) =ln( E At M E ) , the optimal energy allocations are given by:Firstinterval : E A = E B − E target + (cid:80) T − t =0 E Ht β + β + . . . + β T − (9)Subsequentintervals : E At +1 = βE At ≤ t ≤ T − where E Ht is the energy expected to be harvested in interval t and β is the discount factor [1]. Correcting the initial allocations:
The initial energy allo-cations are found at the beginning of the finite horizon usingEquation 9. These allocations must be corrected to account forthe difference between the actual and expected energy values.Let ∆ Ht denote the difference between the expected and actualenergy harvested in interval t ∈ S T . Similarly, let ∆ At be thedifference between the initial and corrected allocated energyin the same interval. Using these definitions, the cumulativedeviation from the actual values can be expressed as: ∆ t = t − (cid:88) τ =0 (∆ Hτ + ∆ Aτ ) (10)This differences must be compensated at runtime by perturbingthe initial allocations since they can lead to under- or over-utilization of harvested energy. The following lemma gives there-allocations that maintain the optimality. Lemma 1.
The initial allocation E At t ∈S T must be perturbedaccording to the following equation to redistribute the energysurplus/deficit and maintain the optimality. (cid:98) E At = E At + ∆ t (1 − β )1 − β T − t (11)In Equation 11, (cid:98) E At denotes the corrected allocation at interval t . Note that ∆ t defined in Equation 10 represents the cumu-lative deviation until the current interval, where positive andnegative values imply a surplus or deficit, respectively. Hence,a portion of the cumulative deviation is added to the initialallocation. The derivation of Lemma 1 is given in Appendix A. Equation 11 can cause the battery to drain below E min since this constraint was relaxed to find a closed-form solution.Hence, the final consideration is enforcing the minimumenergy constraint at runtime. To achieve this, we project theremaining battery energy E Bt +1 at runtime using Equation 1,and compare it against E min before committing to a solution.If there is a violation, we allocate the maximum energy thatsatisfies E Bt +1 = E min . That is, the allocation becomes: (cid:98) E At = E At + ∆ t − β − β T − t E Bt +1 ≥ E min E Bt + E Ht − E min otherwise (12) Insight:
When the battery energy is abundant (i.e. E Bt >>E min ), the minimum energy constraint is always satisfied andthe solution obtained by Equation 12 is optimal. Otherwise,the piecewise nonlinearity in Equation 12 is triggered when E Bt ≤ E min and the solution becomes sub-optimal. D. Runtime Rollout Algorithm for Arbitrary Utility Functions
The energy allocation technique presented in the previoussection is valid only for the logarithmic utility function definedin Section III. In real applications, the “utility” is often rep-resented as measured metrics such as accuracy or throughput,which may not follow a logarithmic trend with the allocatedenergy, as shown in Figure 2. In fact, target devices mayhave a finite set of operating points with different energyconsumption vs. utility trade-offs [27]. In these cases, theallocation algorithm should choose the operating points thatmaximize the accuracy under the overall energy harvestingbudget over the horizon. Therefore, practical energy allocationalgorithms must support arbitrary and discrete utility functions.This section presents a rollout algorithm to achieve optimalruntime energy allocation under arbitrary utility functions.To achieve this objective, the proposed algorithm first findsthe initial allocations at the beginning of the finite horizon,as illustrated in Figure 3. At the end of each interval, itdetermines the deviations from the actual and expected energyvalues (i.e., ∆ Ht and ∆ At ). Then, it uses this information toperform a rollout phase before the start of the next timeinterval. Finally, it updates the energy allocations and startsthe next interval. These three steps are repeated until the endof the finite horizon, as shown in Figure 3. The rest of thissection describes each of these steps in detail. Find the initial allocations Apply rollout Update energy allocationsEnd of
Horizon
Yes
NoWait until current interval ends
Figure 3. The overview of the proposed rollout algorithm.
1) Finding the Initial Allocations:
The first step of ECOis computing the initial energy allocations in the beginningof the time horizon. This can be done using any technique,including the closed-form solution given in Equation 9. In thiswork, we employ the iterative gradient projection algorithmpresented in Section IV-B for two reasons. First, it supportsarbitrary utility functions. Second, its runtime overhead canbe hidden since it runs only once per finite horizon (e.g., aday) using the expected energy values. Since the subsequentrollout phase corrects the initial allocations at runtime, wecan increase the tolerance threshold in Algorithm 1 withoutdecreasing the utility considerably. For example, the imple-mentation on our hardware prototype takes 0.993 seconds tofind the initial allocations. This execution time amounts toonly 0.03% of a one-hour interval (or 1.6% of a one-minuteinterval). Combined with the efficient rollout phase that runsevery interval, the total overhead is less than 0.1% of runningAlgorithm 1 in each interval. At the end of this step, we obtainthe initial allocations E A .
2) The Rollout Phase:
At the end of each interval, ECOadjusts the energy allocations using ∆ t defined in Equation 10,that is, the cumulative difference between the expected andactual energy values. Suppose that the current time interval is t = τ , as illustrated in Figure 4. ECO starts with the initialenergy allocation to the next interval and explores different re-allocation strategies, represented by different branches. Morespecifically, the proposed rollout strategy replaces the − β − β T − t term in Equation 12 with a coefficient as follows: E Aτ ( n ) = E A [ τ ] + ∆ τ (1 − η + 2 ηN n ) , ≤ n ≤ N (13)Each different value of n leads to a different reallocation, i.e.,branch, as illustrated in Figure 4. The parameter N can be thenumber of operating points or can be a finite number (e.g.,10) that controls the exploration space. Then, the algorithmfollows each branch and uses the initial allocations as the basepolicy for the rest of the intervals to find the expected utility.The total future utility at the end of the horizon is computedas follows: ˜ U ( n ) = −∞ E Bt>τ ( n ) ≤ E min −∞ E BT ( n ) ≤ E target (cid:80) Tt = τ +1 u ( E A [ t ]) otherwise (14)The first two conditions check if the allocation violates theminimum battery level constraint during the remaining timeinterval or the target battery energy constraints at the end of theday. These checks eliminate aggressive allocations and hencereduce over-allocation. Δ 𝑡<𝜏 known Initial allocations 𝑡 = = = 𝜏 𝑡 = 𝜏 + = 𝑇 𝑬 𝝉 𝑩 𝐸 𝐸 𝐴 𝐸 𝐵 𝑬 𝝉+𝟏 𝑩 (𝟎) 𝑬 𝝉 𝑨 (𝒏) 𝑬 𝝉+𝟏 𝑩 (𝒏) 𝑬 𝝉+𝟏 𝑩 (𝑵) Figure 4. Illustration of the rollout phase.
3) Updating the Energy Allocations:
The rollout phase cal-culates the expected utility achieved by each branch. Using thisinformation, the revised energy allocations (cid:98) E At are obtainedfrom a modified version of Equation 12 as follows: (cid:98) E At = argmax E At ( n ) u (cid:0) E At ( n ) (cid:1) + ˜ U (cid:0) n (cid:1) E Bt +1 ≥ E min E Bt + E Ht − E min otherwise (15)where u ( . ) is the utility function and ˜ U ( . ) is the heuristicthat gives the future utility when the base policy is applied.If the battery constraint is not violated, the algorithm followsthe arc ( E At ( n ) ) that maximizes the sum of immediate utilityand future utility u (cid:0) E At ( n ) (cid:1) + ˜ U (cid:0) n (cid:1) . Otherwise, the batteryconstraint is enforced as explained in Equation 12. Thissequential optimization technique guarantees an improvementover the base policy it is initially supplied with [32].V. E NERGY H ARVESTING M ODEL
This work employs a combination of light and motionenergy as the ambient energy sources and a flexible Li-ionbattery as the energy storage unit. We use American TimeUse Survey (ATUS) dataset [7] to extract the location andactivity patterns of 4772 users. Then, we apply our light andmotion EH models to the extracted data and generate 24-hourEH estimates per user. In what follows, we describe the datapre-processing steps we apply to the ATUS dataset and the EHmodels. Finally, we present example EH values from differentusers to illustrate the final EH model.
A. ATUS 2018 dataset pre-processing
American Time Use Survey conducted by the US Depart-ment of Labor [7] is a comprehensive dataset that containsthe amount of time people spend doing various activities.The dataset consists of daily activity patterns of 9593 userswith 18 different categories of activities, such as personalcare, working, or eating. 4772 users completed the surveyon weekdays, whereas the remaining 4821 users completedit during weekends. We reduce the number of activity labelsto 10 by grouping the infrequent activities, such as religiousactivities and eldercare, under the title “Other”. The precisemapping of ATUS activity labels to our labels is provided inAppendix B. Figure 5a shows the reduced set of activity labelsand the percentage of 4772 users doing a particular activitythroughout the day.The location information is required to estimate the amountof energy harvesting from the light because the irradianceaffects light EH efficiency. We assign a location label from theset of { ‘home’,‘office’,‘store’,‘outdoors’ } to each activity fol-lowing common sense. For example, sleep activity is assigned‘home’ as the location, ‘work’ is assigned ‘office’, ‘shopping’is ‘store’, ‘eat’ is assigned ‘home’ or ‘office’ depending ontime of day. The mapping of location labels to activities isprovided in Appendix B. Figure 5b shows the percentage of4772 users being at the corresponding locations as a functionof time. As a result, we obtain hourly activity and locationinformation per user for a typical day in their lives. Activity (Weekdays)
SleepHouseworkPeople CareWorkShopEatLeisureExerciseTravelOther
0 0.5 0.1 0.150.2 0.3 0.4 0.5 0.6 0.7 1 (a)
Location (Weekdays)
HomeOfficeStoreOutdoors
0 0.10.20.30.40.50.60.70.80.91 (b)Figure 5. Percentage of 4772 users a) doing different activities b) at different locations throughout the day.
B. Light energy harvesting model
A light energy harvester uses a photovoltaic cell (PV-cell) totransduce the environment’s light energy into usable electricalpower. FlexSolarCells SP3-37, a lightweight, flexible, andsmall form-factor PV-cell, is used as the transducer [33].We identified the I-V characteristics of SP3-37 in a previousstudy through a set of controlled experiments with a halogenlamp [1], [34]. This information is used to compute theharvested light energy when the irradiance is known.PV-cells generate relatively high power in outdoor lightingconditions (over 1 mW/cm ) where the irradiance is high [35].To obtain the outdoors irradiance, we first estimate the sun’sposition at a given date and time using Sandia’s Ephemerismodel [36]. Then, we convert the position information toradiation using Ineichen’s model [37]. The output correspondsto the irradiance around the user when the user is outdoors.The energy generated by a PV-cell quickly reduces forindoor lighting conditions where the irradiance is lower [34].Furthermore, previous studies showed that indoor lightingconditions at the home, office, and store environments signifi-cantly differ from each other. The work in [38] provides mea-surements of irradiance in a typical office lighting condition.Besides, the component information from FlexSolarCells [39]shows that on average, store lighting intensity is 3 × of officelighting and home lighting is 0.5 × of office lighting. We usethis information to find the irradiance when the user is athome, at an office, or at a store. Therefore, we combine thehourly location information obtained from the ATUS dataset,the irradiance amounts, and the I-V characteristics of SP3-37to estimate hourly light energy harvesting estimates per user. C. Motion energy harvesting model
A piezoelectric energy harvester transduces mechanical en-ergy into usable electrical power. We use joint bending as thesource of mechanical energy, which is enabled by advances inflexible piezoelectric transducers, such as Polyvinylidene Flu-oride (PVDF) and Macro-Fiber Composite (MFC). A recentstudy analyzes piezoelectric EH from joint bending motion andshows that 7.8 µ J per step can be harvested from the knee withan MFC8528P2 piezoelectric element during walking [16]. Weuse this knowledge to compute the harvested motion energyfrom the user’s activity information.Piezoelectric transducers generate higher power with in-creasing piezoelectric material [16]. Thus, we can use largerpiezoelectric elements or connect multiple components inparallel to increase harvested power. Furthermore, MFC piezo-electric elements can be stacked on top of each other as long as they do not cause user discomfort. Following this, we considerten elements per knee, where five MFC8528P2 elements lieacross the knee, and another five sits on top. In addition, weassume 1800 steps/hour for activities that involve walking. Wecombine this with the activity information obtained from theATUS dataset and compute 7.8 µ J/step × ×
10= 0.14 J for activities that involve walking. For the sake ofsimplicity, we assume 2 × the walking energy for activities thatinvolve exercise and no harvesting for activities with little tono movement, such as working and sleeping. D. Combined light and motion energy harvesting model
We combine the hourly light and motion EH values bysuperimposing them. For example, consider a user who isperforming an exercise outdoors between 3-4 PM. The lightEH from the outdoor irradiance at 3 PM and motion EH fromexercising are added together to find the expected EH between3-4 PM. This operation is performed for each hour to generatethe 24-hour EH of a user. These values constitute the expectedEH for a user, as shown with black markers on Figure 6. Anyother day of the same user is generated from these values. Tomodel random variations, we add deviations from the expectedEH values by considering each hour as a rectified Gaussiandistribution. The variance of each distribution is found by amoving variance filter with a window size of 7. For example,the variance at 2 PM is computed by taking the movingvariance of EH values between 11 AM to 5 PM. This approachinherently accounts for sleeping, as illustrated with the low-variance levels in the early hours of the day in Figure 6. Wealso introduce a normalization factor to the model to controlthe maximum standard deviation in the day. In Section VI-A,we sweep this factor from 0% to 25% to observe the effectof the uncertainty in EH on performance. Finally, we do thisprocedure for every user in the dataset and obtain 4772 EHmodels in total.Figure 6 shows the EH models for three users in thedataset as examples. These three plots show that the dailyenergy pattern can be very different across different users. Forexample, the user in Figure 6a has spent the day inside andhas an EH of typically less than 5 J. In contrast, the usersin Figure 6b and 6c have gone outside once or twice duringthe day and have much higher harvested energy. Furthermore,the color-code shows the probability distribution of EH forthe same hour across different days. The variance of thedistributions is low for early hours in the day, as expected.In contrast, the variances of the distributions between 10 AMto 6 PM are much more significant. H a r v e s t e d E n er gy ( J ) (a) H a r v e s t e d E n er gy ( J ) (b) (c)Figure 6. EH models of three users a) User 555 b) User 2400 c) User 4500 VI. E
XPERIMENTAL E VALUATION
This section evaluates the performance of the proposedECO framework and compares it to the prior work in theliterature [1]. We demonstrate the proposed framework on awearable hardware prototype designed for health and activitymonitoring as the driver applications. However, we stress thatthe proposed approach does not depend on any particularapplication and can be applied to any energy harvesting device.
Experiment parameters:
We employ the prototype shownin Figure 7 to demonstrate the proposed ECO frameworkunder realistic scenarios. It consists of an MPPT charger(TI BQ25504 [40]), a microprocessor (TI CC2652R [31]),an inertial measurement unit (InvenSense ICM-20948 [41]),and various additional sensors that can be useful for wearablehealthcare applications. We use a 12 mAh Li-Po battery GMB031009 [42] as the energy storage element. The IoT deviceparameters, such as E min and M E , are obtained from thisprototype and listed in Table II. The amount of energy storedin the battery is 160 J when it is full. We consider 10%and 50% of the battery capacity as scarce energy level andabundant energy level, respectively. Moreover, we sweep thestandard deviation in energy harvesting from 0% to 25% with5% intervals. Table IIP
ARAMETER VALUES USED DURING EVALUATIONS
Parameter Value Parameter Value E min
10 J M E T β E begin , E target Scarce: 16 JAbundant: 80 J EH standarddeviation 0%, 5%, 10%,15%, 20%, 25%
A. Implementation Overhead
The execution times and energy consumption of the ECOframework and the prior approach [1] are measured on theprototype. We also execute the iterative gradient projectionalgorithm (Algorithm 1) at every interval t to obtain a refer-ence utility and measured its energy consumption (tolerance:1 × − , stepSize =1 × − ).Table III shows the execution time, energy consumption,and utility for the three approaches for a typical user. ECOachieves nearly the same utility as the iterative algorithmwhile having significantly less execution time and energy MCU
Antenna
BatteryEH Input
IMU
Charger(a) (b) (c)
PV-Cell Piezoelectric
Element
Figure 7. a) IoT Device Prototype b) SP3-37 c) MFC8528P2 consumption. The initial run of the iterative algorithm in ECOuses larger tolerance and step size (1 × − , 5 × − ), sincethe rollout phase makes up for the loss in optimality. Theexecution time of the correction in each interval is only 25ms. The approach in [1] takes virtually zero time to executesince it is a closed-form solution. However, it suffers from lowutility, which renders it impractical. These results show thatthe ECO framework achieves the same utility as the iterativealgorithm while having less than 0.1% of its energy overhead. Table IIIE
XEC . TIME AND ENERGY MEASUREMENTS OF THE THREE ALGORITHMS . Iterative ECO [1]Time(s) once N/A 9.93 × − N/Aevery t 7.03 × × − × − Energy(mJ) once N/A 3.48 N/Aevery t 2.46 × × − × − Normalized Utility ∗ ∗ The utility is normalized with respect to the iterative technique.
B. Energy Allocation Results
This section demonstrates the performance of the ECOframework in multiple steps. We first compare the energyallocations and evolution of battery energy obtained by ECOto those obtained by the iterative approach and prior work [1].Moreover, the proposed framework’s effectiveness is demon-strated by the increase in average utility over the prior ap-proach across all 4772 users in the dataset. Finally, we applyECO to a non-logarithmic utility function to demonstrate thatit can support arbitrary functions.
1) Evaluations using logarithmic utility function:
We firstuse the logarithmic utility function defined in Section III todemonstrate the performance of ECO. To this end, we first use
Algorithm 1 at each interval to recompute the optimal energyallocations as the day progresses. Second, we use the state-of-the-art prior approach in the literature [1]. Finally, we runECO and compare the obtained energy allocation and batteryenergy curves with the other two solutions.
Energy allocations and battery energy throughout the day:
Figure 8 compiles the results for user “283”, who is chosenrandomly among the 4772 users in the dataset. The threecolumns in the figure show the hourly energy allocations, bat-tery energy and EH values throughout the day, respectively. Tohighlight the shortcomings and advantages of either approach,we focus on three days with different battery energy and EHconditions. The rows in Figure 8 correspond to these differentdays. Specifically, the first row corresponds to the case withabundant initial battery energy and high standard deviation inenergy harvesting as shown in Figure 8-1c. In this case, therelaxed E min constraint is not triggered from Figure 8-1b, dueto the abundant starting energy at the beginning of the day. Infact, Figure 8-1a shows that the energy allocations are nearly identical for all approaches. Therefore, the prior approachin the literature and ECO framework behave similarly whenbattery energy is abundant.The second row in Figure 8 corresponds to scarce initialbattery energy and low standard deviation in EH. In thiscase, the prior work over-allocates energy at the beginningof the day and triggers the minimum energy constraint onlya couple of hours into the day due to the amount of energyexpected to be harvested later. In contrast, ECO behaves moreconservatively and follows the energy allocation and batteryenergy curves obtained by the iterative approach much closer,as depicted in Figures 8-2a and 2b, respectively.The third row in Figure 8 corresponds to the scenario withscarce initial battery energy and high standard deviation inEH. Similar to the previous case, the prior approach behavesaggressively initially, causing battery energy to hit the E min quickly. The proposed ECO framework behaves much moreconservatively and, as a result, follows the iterative solution,as shown in Figures 8-2a and 2b. Energy Allocations Battery Energy Energy Harvesting H i g hS t d . D e v ., A bund a n t E n er gy A ll o c . E n er gy ( J ) [1] ECO Iterative B a tt . E n er gy ( J ) [1] ECO Iterative H a r v . E n er gy ( J ) Expected Actual (1a) (1b) (1c) L o w S t d . D e v ., S c a rce E n er gy A ll o c . E n er gy ( J ) [1] ECO Iterative B a tt . E n er gy ( J ) E min [1] ECO Iterative H a r v . E n er gy ( J ) Expected Actual (2a) (2b) (2c) H i g hS t d . D e v ., S c a rce E n er gy A ll o c . E n er gy ( J ) [1] ECO Iterative B a tt . E n er gy ( J ) E min [1] ECO Iterative H a r v . E n er gy ( J ) Expected Actual (3a) (3b) (3c)Figure 8. Comparison of energy allocations and battery energy (b.e.) evolution under different conditions for the same user: 1 st row) 25% standard deviationin EH and 80 J initial b.e., 2 nd row) 5% standard deviation in EH and 16 J initial b.e., 3 rd row) 25% standard deviation in EH and 16 J initial b.e. A bund a n t E n er gy
0% 5% 10% 15% 20% 25% Avg U tilit y Standard Deviation [1] ECO Iterative E m i n V i o l a ti on ( % ) Standard Deviation[1] ECO Iterative (1a) (1b) S c a rce E n er gy U tilit y Standard Deviation [1] ECO Iterative 0
10 0% 5% 10% 15% 20% 25% Avg E m i n V i o l a ti on ( % ) Standard Deviation[1] ECO Iterative (2a) (2b)Figure 9. Comparison of Utility and E min violation occurrence percentage: 1 st row) 80 J initial battery energy, 2 nd row) 16 J initial battery energy. The effect of increased uncertainty in energy harvestingis reflected in the increased gap between battery energies,as seen in going from Figure 8-2b to 8-3b. Therefore, ECObehaves much closer to the optimal than prior work whenbattery energy is scarce. This capability of ECO is enabledby the rollout phase, which avoids the piecewise nonlinearityby being less aggressive. In contrast, the prior approach over-allocates energy aggressively and triggers the nonlinearity thatis enforced at runtime.
Utility and E min violations throughout the day: Next, wecompare the proposed ECO framework’s performance to theprior work in the literature across all 4772 users. For this, weanalyze the average utility and the E min violation occurrencesfor the two approaches. First, the EH model generates sevenseparate days per user for each standard deviation value. Foreach day, we obtain the results from the ECO framework andthe prior approach as well as the iterative solution. Then, theaverage utility of each approach is found across each dayand user. For example, for the day shown in the 3 rd row inFigure 8, ECO achieves 0.97 normalized utility, whereas theprior work barely reaches 0.31. This behavior occurs becausethe prior approach shuts down the device between 5 AM A cc u r a c y % Design Points Fit y=ax b + c Figure 10. Design points for a gesture recognition application and the fittedenergy vs. accuracy curve. and 8 AM, which is very punishing in the logarithmic utilityfunction. To obtain the number of minimum energy violations,we count the number of intervals the piecewise nonlinearityin Equations 12 and 15 are triggered and divide them tototal number of intervals (i.e. 24 × E min violation occurrences in the second column for allthree approaches, as a function of standard deviation in EH.The rows correspond to abundant and scarce battery energyconditions, respectively. When the battery energy is abundant,the proposed ECO framework and the prior approach obtainessentially the same utility as the iterative approach, as shownin Figure 9-1a. In addition, ECO causes slightly fewer numberof E min violations than the prior work as shown in Figure 9-1b. Under scarce battery energy conditions, both approachesobtain less utility, however, the proposed ECO frameworksignificantly outperforms the prior approach as depicted inFigure 9-2a. Specifically, it obtains about 34.6% more util-ity on the average. Moreover, Figure 9-2b shows the priorwork does significantly more E min violations when batteryenergy is scarce. On the contrary, ECO remains pretty muchunaffected, and it achieves close to 3% lower E min violationsthan the prior work.
2) Evaluations using an arbitrary utility function:
One ofthe key advantages of the proposed ECO framework over theprior approach is its general applicability to arbitrary utilityfunctions. Next, we use the energy vs. accuracy relationshipof a gesture recognition application from the literature todemonstrate the performance of the ECO framework with anarbitrary utility function.Figure 10 shows 12 design points for a gesture recognitionapplication from the literature [28]. A function with the form y = ax b + c fits much better to these data points than the A bund a n t E n er gy
0% 5% 10% 15% 20% 25% Avg A cc u r ac y ( % ) Standard Deviation
ECO Iterative [1] is not applicable.
0% 5% 10% 15% 20% 25% Avg E m i n V i o l a ti on ( % ) Standard DeviationECO Iterative [1] is not applicable. (1a) (1b) S c a rce E n er gy
0% 5% 10% 15% 20% 25% Avg A cc u r ac y ( % ) Standard DeviationECO Iterative [1] is not applicable.
0% 5% 10% 15% 20% 25% Avg E m i n V i o l a ti on ( % ) Standard DeviationECO Iterative [1] is not applicable. (2a) (2b)Figure 11. Comparison of Accuracy and E min violation occurrence percentage: 1 st row) 80 J initial battery energy, 2 nd row) 16 J initial battery energy. logarithmic function in Section III (i.e. R value for the twofunctions are 0.96 and 0.82, respectively). Therefore, one canuse the discrete points or the fit shown with the blue curve inFigure 10 as the utility function (i.e., the utility is defined asthe classification accuracy). Accuracy and E min violations throughout the day: Wefollow the same procedure used in generating Figure 9 todemonstrate the performance of the proposed ECO frameworkwith the utility function depicted in Figure 10. Figure 11 showsthe accuracy in the first column and E min violations across allusers in the second column. The rows correspond to abundantand scarce battery energy conditions, respectively.ECO obtains very similar accuracy to the iterative solutionwhen the battery energy is abundant, as shown in Figure 11-1a. More specifically, the accuracy difference between the twoapproaches is lower than 1% for all standard deviation valuesin energy harvesting. In addition, ECO causes E min violationsin less than 0.06% of the total 4772 × ×
24 intervals as shownin Figure 11-1b. Under scarce battery energy conditions, theperformance of the ECO framework deteriorates, as expected.However, it can still achieve less than 1% accuracy degradationcompared to the iterative solution. For example, Figure 11-2a shows that at 25% standard deviation in EH, the iterativesolution and the ECO framework achieve 79.87% and 79.17%accuracy, respectively. Moreover, Figure 11-2b shows that E min violation occurrences are within 1% of the optimalwhen battery energy is scarce. More specifically, ECO doesviolations in less than 6% of the total intervals.VII. C ONCLUSION
IoT devices enable novel applications in a wide rangeof fields, such as wearable health monitoring, environmentalmonitoring, and robotics. Despite this potential, their adoptionhas been hindered by frequent replacement and maintenance of the limited capacity batteries due to small form-factorconstraints. This paper presented ECO, a runtime frameworkthat allocated the energy harvested from ambient sourcesoptimally to these devices. The proposed ECO frameworkfirst uses an efficient iterative algorithm to compute initialenergy allocations at the beginning of a day. Then, it adjuststhese initial allocations at uniform intervals to compensate forthe deviations from the expected energy harvesting pattern.Experiments with data from 4772 users show that the ECOframework achieves 34.6% higher utility than the state-of-the-art techniques. Moreover, measurements on a wearable deviceprototype show that ECO has less than 0.1% energy overheadthan iterative approaches with a negligible loss in utility.A
PPENDIX AP ROOF OF L EMMA t = τ . Then, from Equation 9the initial allocation E Aτ is given by: E Aτ = β τ E A = β τ E B − E target + (cid:80) T − t =0 E Ht β + β + . . . + β T − = E B − E target + (cid:80) T − t =0 E Htβ T − β τ ( β − (16)Let (cid:98) E At denote the recalculated allocations and (cid:98) E Ht standfor the actual energy harvesting values. Following the samepattern in Equation 9, we can write (cid:98) E Aτ as follows: (cid:98) E Aτ = E Bτ − E target + (cid:80) T − t = τ E Ht β + β + . . . + β T − τ − = ( E B + (cid:80) τ − t =0 (cid:98) E Ht − (cid:80) τ − t =0 (cid:98) E At ) − E target + (cid:80) T − t = τ E Htβ T − β τ β τ ( β − (17) Let ∆ Hτ correspond to the sum of differences between actualand expected energy harvesting values until t = τ : ∆ Hτ = τ − (cid:88) t =0 ∆ Ht = τ − (cid:88) t =0 (cid:0) (cid:98) E Ht − E Ht (cid:1) (18)Similarly, let ∆ Aτ be the sum of differences between initialand corrected energy allocations until t = τ : ∆ Aτ = τ − (cid:88) t =0 ∆ At = τ − (cid:88) t =0 (cid:0) E At − (cid:98) E At (cid:1) (19)With these, Equation 17 can be written as: (cid:98) E Aτ = ( E B + (cid:80) τ − t =0 E Ht − (cid:80) τ − t =0 E At + ∆ Hτ + ∆ Aτ ) − E target + (cid:80) T − t = τ E Htβ T − β τ β τ ( β − (20)Further combining (cid:80) τ − t =0 E Ht + (cid:80) T − t = τ E Ht as (cid:80) T − t =0 E Ht and ∆ Hτ + ∆ Aτ as ∆ τ , we obtain the following: (cid:98) E Aτ = E B − E target + (cid:80) T − t =0 E Ht − (cid:80) τ − t =0 E At + ∆ τβ T − β τ β τ ( β − (21)We know from Equation 9 that (cid:80) τ − t =0 E At = E A (cid:80) τ − t =0 β t .Since < β < , we have: τ − (cid:88) t =0 E At = β τ − β T − E B − E target + T − (cid:88) t =0 E Ht ) (22)Next, we plug Equation 22 into Equation 21 to obtain: (cid:98) E Aτ = E B − E target + (cid:80) T − t =0 E Htβ T − β τ ( β − + ∆ τβ T − β τ β τ ( β − (23)The first term is nothing but E Aτ as shown in Equation 16.Therefore, we reach the solution provided in Lemma 1.A PPENDIX
BATUS D
ATA AND O UR P RE - PROCESSING
Table IV summarizes the activity categories in the ATUSdataset as shown in the ATUS coding lexicons document [7].We have reduced the number of categories to 10 by groupingsome of the ATUS categories together and assigned themlocation labels as shown in Table V.R
EFERENCES[1] G. Bhat, J. Park, and U. Y. Ogras, “Near-optimal energy allocation forself-powered wearable systems,” in
IEEE/ACM International Conferenceon Computer-Aided Design (ICCAD) , 2017, pp. 368–375.[2] Lueth, Knud Lasse, “State of the IoT 2020: 12 billion IoTconnections, surpassing non-IoT for the first time,” 2020,https://iot-analytics.com/state-of-the-iot-2020-12-billion-iot-connections-surpassing-non-iot-for-the-first-time/, accessed 25 October2020.[3] TechJury, “2020 IoT Insights,” 2020, https://techjury.net/blog/how-many-iot-devices-are-there/, accessed 25 October 2020.[4] A. Ozanne et al. , “Wearables in Epilepsy and Parkinson’s disease-AFocus Group Study,”
Acta Neurologica Scandinavica , vol. 137, no. 2,pp. 188–194, 2018. Table IVATUS C
ATEGORY ID S AND L ABELS
ATUS Major CategoriesID Label
UR ASSIGNED ID S , LABELS AND LOCATIONS . Our CategoriesID Label ATUS IDs Location − −
1) & 12 home8 Exercise 13 store9 Travel 9 outdoors10 Others 8, 9, 10, 14, 15, 16 & 50 home[5] D. Johansson, K. Malmgren, and M. A. Murphy, “Wearable Sensors forClinical Applications in Epilepsy, Parkinson’s Disease, and Stroke: AMixed-Methods Systematic Review,”
Journal of Neurology , vol. 265,no. 8, pp. 1740–1752, 2018.[6] J. A. Paradiso and T. Starner, “Energy scavenging for mobile andwireless electronics,”
IEEE Pervasive computing
Computer Networks , vol. 54, no. 15, pp. 2787–2805, 2010.[9] F. Sutton, R. D. Forno, J. Beutel, and L. Thiele, “Blitz: Low latencyand energy-efficient communication for event-triggered wireless sensingsystems,”
ACM Transactions on Sensor Networks (TOSN) , vol. 15, no. 2,pp. 1–38, 2019.[10] A. Abdelgawad and K. Yelamarthi, “Structural health monitoring:Internet of things application,” in
IEEE 59th International MidwestSymposium on Circuits and Systems (MWSCAS) , 2016, pp. 1–4.[11] M. Hassanalieragh, A. Page, T. Soyata, G. Sharma, M. Aktas, G. Mateos,B. Kantarci, and S. Andreescu, “Health monitoring and management us-ing internet-of-things (iot) sensing with cloud-based processing: Oppor-tunities and challenges,” in
IEEE International Conference on ServicesComputing , 2015, pp. 285–292.[12] P. P. Jayaraman, D. Palmer, A. Zaslavsky, A. Salehi, and D. Geor-gakopoulos, “Addressing information processing needs of digital agri-culture with openiot platform,” in
Interoperability and Open-SourceSolutions for the Internet of Things . Springer, 2015, pp. 137–152.[13] G. Bhat, U. Gupta, Y. Tuncel, F. Karabacak, S. Ozev, U. Y. Ogras et al. ,“Self-powered wearable iot devices for health and activity monitoring,”
Foundations and Trends® in Electronic Design Automation , vol. 13,no. 3, pp. 145–269, 2020.[14] J. Wan, M. A. Al-awlaqi, M. Li, M. O’Grady, X. Gu, J. Wang, andN. Cao, “Wearable iot enabled real-time health monitoring system,”
EURASIP Journal on Wireless Communications and Networking , vol.2018, no. 1, pp. 1–10, 2018.[15] Y. Khan et al. , “Flexible Hybrid Electronics: Direct Interfacing of Soft and Hard Electronics for Wearable Health Monitoring,”
AdvancedFunctional Materials , vol. 26, no. 47, pp. 8764–8775, 2016.[16] Y. Tuncel, S. Bandyopadhyay, S. V. Kulshrestha, A. Mendez, and U. Y.Ogras, “Towards wearable piezoelectric energy harvesting: modeling andexperimental validation,” in
Proceedings of the ACM/IEEE InternationalSymposium on Low Power Electronics and Design , 2020, pp. 55–60.[17] A. Kansal, J. Hsu, S. Zahedi, and M. B. Srivastava, “Power Managementin Energy Harvesting Sensor Networks,”
ACM Trans. Embedd. Comput.Syst. , vol. 6, no. 4, p. 32, 2007.[18] C. M. Vigorito, D. Ganesan, and A. G. Barto, “Adaptive Control of DutyCycling in Energy-Harvesting Wireless Sensor Networks,” in
Proc. ofIEEE Comm. Society Conf. on Sensor, Mesh and Ad Hoc Comm. andNetworks , 2007, pp. 21–30.[19] B. Buchli, F. Sutton, J. Beutel, and L. Thiele, “Dynamic Power Man-agement for Long-Term Energy Neutral Operation of Solar EnergyHarvesting Systems,” in
Proc. Conf. on Embedd. Network Sensor Syst. ,2014, pp. 31–45.[20] K. Geissdoerfer, R. Jurdak, B. Kusy, and M. Zimmerling, “Gettingmore out of energy-harvesting systems: Energy management under time-varying utility with preact,” in
Proceedings of the 18th InternationalConference on Information Processing in Sensor Networks , 2019, pp.109–120.[21] A. Pughat and V. Sharma, “A review on stochastic approach for dynamicpower management in wireless sensor networks,”
Human-Centric Com-puting and Information Sciences , vol. 5, no. 1, pp. 1–14, 2015.[22] N. Dang, R. Valentini, E. Bozorgzadeh, M. Levorato, and N. Venkatasub-ramanian, “A unified stochastic model for energy management in solar-powered embedded systems,” in
IEEE/ACM International Conferenceon Computer-Aided Design (ICCAD) , 2015, pp. 621–626.[23] I. Ahmed, I. Ahmed, and J. Hossain, “Optimal stochastic power alloca-tion and relay selection for energy harvesting systems,”
IEEE WirelessCommunications Letters , vol. 6, no. 4, pp. 546–549, 2017.[24] M.-L. Ku, Y. Chen, and K. R. Liu, “Data-driven stochastic models andpolicies for energy harvesting sensor communications,”
IEEE Journalon Selected Areas in Communications , vol. 33, no. 8, pp. 1505–1520,2015.[25] N. Starliper, F. Mohammadzadeh, T. Songkakul, M. Hernandez,A. Bozkurt, and E. Lobaton, “Activity-aware wearable system for power-efficient prediction of physiological responses,”
Sensors , vol. 19, no. 3,p. 441, 2019.[26] N. S. Alhassoun, M. Y. S. Uddin, and N. Venkatasubramanian, “Context-aware energy optimization for perpetual iot-based safe communities,”
Sustainable Computing: Informatics and Systems , vol. 22, pp. 96–106,2019.[27] G. Bhat, K. Bagewadi, H. G. Lee, and U. Y. Ogras, “Reap: Runtimeenergy-accuracy optimization for energy harvesting iot devices,” in , 2019, pp. 1–6.[28] J. Park, G. Bhat, C. S. Geyik, U. Y. Ogras, and H. G. Lee, “Energyper operation optimization for energy-harvesting wearable iot devices,”
Sensors , vol. 20, no. 3, p. 764, 2020.[29] H. W. Kuhn and A. W. Tucker, “Nonlinear Programming,” in
Proc. ofthe Second Berkeley Symp. on Mathematical Statistics and Probability .University of California Press, 1951, pp. 481–492.[30] N. Karakoc¸, A. Scaglione, A. Nedi´c, and M. Reisslein, “Multi-layerdecomposition of network utility maximization problems,”
IEEE/ACMTransactions on Networking
Handbook of Combinatorial Optimization, D. Zu and P. Pardalos, Eds.Springer
IEEE 38th VLSI Test Symposium (VTS) , 2020, pp. 1–5.[35] Y.-W. Chong, W. Ismail, K. Ko, and C.-Y. Lee, “Energy harvesting forwearable devices: A review,”
IEEE Sensors Journal , vol. 19, no. 20, pp.9047–9062, 2019.[36] Sandia National Laboratories, “Sandia’s Ephemeris Model,” 2020,https://pvpmc.sandia.gov/modeling-steps/1-weather-design-inputs/sun-position/sandias-code/, accessed 1 October 2020.[37] P. Ineichen and R. Perez, “A new airmass independent formulation forthe linke turbidity coefficient,”
Solar Energy , vol. 73, no. 3, pp. 151–157,2002. [38] W. S. Wang, T. O’Donnell, N. Wang, M. Hayes, B. O’Flynn, andC. O’Mathuna, “Design considerations of sub-mw indoor light energyharvesting for wireless sensor systems,”