Technology > Systems: Network Autonomy > Energy Scavenging
Sensor networks differ from traditional wireless networks in several respects. Unlike handheld wireless devices which can be recharged at reasonable frequent intervals, sensor nodes must operate autonomously for much longer durations. Energy supply thus remains an open challenge in sensor networks because unfettered deployment rules out traditional wall socket supplies and batteries with acceptable form factor and cost constraints do not yield the lifetimes desired by most applications.
One method to improve the battery lifetime of such systems is to supplement the battery supply with environmental energy. Several technologies exist to extract energy from the environment such as solar, thermal, kinetic energy, and vibration energy. However, we lack system level methods to efficiently exploit these resources for optimal performance. Sensor networks are expected to be deployed for several mission critical tasks and operate unattended for extended durations. The autonomous nature of operation makes it imperative that the system learn its own energy environment and adapt its power consumption accordingly. In distributed systems, not only does the energy source vary in time, but also the energy available at different locations, and thus at different nodes of the sensor network differs. In this situation, the performance can be improved by scheduling tasks according to the spatio-temporal characteristics of energy availability. The problem then, is to find scheduling mechanisms that can adapt the performance to the available energy profile.
Load Matching:
We are currently exploring a method for extremely efficient power-scaling (EEP) and task scheduling for harvesting devices. One of the reasons for harvesting methods to loose efficiency is the storage efficiency of the battery used. Thus, harvesting can provide more energy if the harvested energy is directly used by the system rather than stored in a battery first. Since the energy availability may not have any strong correlation with the consumption profile, this is hard to achieve. We have a two phase solution to solve this problem:
Several performance adjustment strategies ranging from DVS, DPM and duty cycling are exploited for this.
Distributed Performance Scaling:
We have developed a fully distributed approach which enables system-wide performance to be adapted to the spatio-temporal characteristics of energy availability based on only local measurements. Our approach does not rely on the availability of underlying services such as time synchronization or localization. Different nodes in the network scale their performance asynchronously and the system gradually enters the optimal performance mode as various nodes complete the initial environmental energy learning process at the local level. Even with this distributed approach, our method can give performance estimates for crucial system wide parameters, such as worst case path latencies. Our complete set of performance control primitives designed for distributed systems is named distributed performance scaling (DPS). We have currently included the following primitives in DPS:
While the DPS framework is generally applicable to any distributed system which has one or more energy harvesting components available to it, the above control primitives have been optimized for the special constraints and capabilities of the currently available sensor nodes.
Harvesting Theory:
DPS is based on an abstract mathematical model for the energy scavenging process which allows us to determine a bound on the achievable performance for a particular energy source. This mathematical framework, referred to as Harvesting Theory, is based on a simple model for energy sources. This model can capture a wide variety of energy sources, both environmental and artificial (such as robotic energy delivery) in just three parameters. Despite its simplicity, the model is powerful enough to model the fundamental characteristics of the energy source. Thus it can be used to derive performance bounds using a set of theorems that we have proven as part of the basic harvesting theory.
Significant system development has been carried out for developing the enabling hardware required for energy scavenging, developing the software drivers and protocol implementations for DPS, and carrying out large scale simulations for performance evaluation.
The complete set of hardware schematics, operating system drivers and test software developed is available through the NESL CVS at NESL CVS Heliomote page for the deprecated version and at NESL CVS HeliomoteR page for the revised version.
Hardware:
A complete test-bed, named the Heliomote, has been developed. This testbed not only allows harvesting energy from the environment but also enables the sensor network to learn the characteristics of the available energy and hence use task scheduling and load sharing methods which can adat performance to the availabl resources. The key hardware component developed as part of the test-bed effort is an embedded circuit that can be added to a low power sensor node (the Berkeley mote) for extracting energy from the environment. This hardware performs the following scavenging functions:
A schematic view of the circuit is presented below (higher resolution CAD files are available through the CVS link given above).


Figure 1: Heliomote: an energy scavenging sensor node.

Figure 2. Energy data collected using Heliomote
A picture of the developed hardware, integrated with the Berkeley mote is shown in Figure 1.
Solar energy data collected using our hardware over a period of 9 days is plotted in Figure 2.
Software:
Extensive software has been developed for the harvesting test-bed. The software is not only distributed, but also spans multiple platforms. The mote parts of the software have been written in nesC which runs on TinyOS. The monitoring tool is written in Java and runs on Linux. The software consists of three major components:
A screenshot from the GUI based monitoring tool is shown in Figure 3. The red circles represent nodes and the small boxes next to the circles show the tracked battery status.

Figure 3. The monitoring tool GUI, seen when four nodes were part of the test network.
Battery Modeling:
The behavior of batteries at different charging profiles was studied to develop an understanding of battery efficiency in response to energy availability characteristics of the environment. The measured data is represented in Figure 4. The data indicates the battery characteristics which govern the scheduling decisions as to how the charging rate affects battery lifetime.

Figure 4. Effect of charging Current on Battery Energy Stored
Evaluations:
The DPS methods are designed for distributed operation on energy constrained nodes. However, these methods do not achieve the theoretically optimal performance of centralized methods or methods assuming free communication. The optimal communication intensive methods are very expensive in terms of energy to be implemented in a distributed setting. We compare the performance of these methods with DPS using simulations.
For instance, the event based data gathering application in DPS finds the achievable latency for the worst case paths. However, the paths it finds may be suboptimal in some cases. In the simulation we allow more communication and find the optimal path with shortest delay. The worst case latencies are compared for several network densities for both the DPS and the optimal method, and plotted in Figure 5. The results show that the performance of the distributed method does not deviate significantly from the optimal method and hence our method is preferred due to its practicality for a distributed system.

Figure 5. Worst case path latencies for our distributed method and the optimal method.
The project accomplishments include:
A complete network implementation of the proposed scheduling and networking methods is underway using the newly devloped hardware testbed. Future work also includes developing a completely energy neutral application for environmental monitoring using the harvesting test-bed. We plan to deploy a test system in a realistic outdoor environment to validate the theoretical and simulation results.
New circuit design considerations to enhance the efficency of energy harvesting systems are beng studied.
On the theoretical front, while the theorems derived as part of the harvesting theory yield exact performance levels for single server harvesting, such achievable bounds are not available in closed form for the distributed multi-server harvesting case. Further work is required in this direction as well.
FACULTY
Prof. Mani B Srivastava
GRADUATE STUDENTS
Aman Kansal
Jason Hsu
Vijay Raghunathan
Jonathan Friedman
PAST CONTRIBUTORS
Steven Butt (worked on the project as part of EE202A course project)
John Curnette (worked on the project as part of CS218 course project)
Shane Erickson (worked on the project as part of EE202A course project)
Gautam Kachroo (worked on the project as part of CS218 course project)
Dunny Potter (Summer Intern at CENS, UG Researcher at NESL Fall 2003.)
Jue Wang (worked on the project as part of EE202A course project)
Qiuyu Zhang (worked on the project as part of EE202A course project)