The present disclosure relates to leveraging fine-grained occupancy estimation patterns for effective heating, ventilation, and air conditioning (HVAC) control.
HVAC is a major source of energy consumption in the U.S. In 2017, approximately 30% of energy consumption for commercial buildings in the U.S. was used for HVAC. Usually, building operators use a static schedule for controlling HVAC systems without having a deeper understanding of how many people use the building at different times of the day. In addition, many HVAC systems operate by assuming maximum occupancy in each room. This can lead to significant energy waste, e.g., an HVAC system providing ventilation for thirty people when there are only ten people in a room. Such widely used HVAC control designs miss opportunities to perform more accurate and efficient control.
In one or more illustrative examples, a method for controlling HVAC operation of a building to minimize energy consumption using predicted occupant-counts and accounting for misprediction cost, includes updating a thermal state of a plurality of zones of the building according to a building thermal model and information received from temperature sensors of the building; updating predicted occupant counts for an upcoming plurality of time slots for each of the plurality of zones using actual occupancy counts for each of the plurality of zones; updating a misprediction type distribution for the upcoming plurality of time slots for each of the plurality of zones, the misprediction type distribution indicating misprediction for true negatives, false positives, false negatives, and true positives; updating a total misprediction cost expectation according to the predicted occupant counts and the misprediction type distribution; determining HVAC power for each of the plurality of zones to optimize occupant thermal comfort weighted according to the predicted occupant counts while minimizing the total misprediction cost expectation, the determining being constrained to a heat exchange configuration of the building and minimum and maximum HVAC power available to each of the plurality of zones; and controlling HVAC operation of the building according to the HVAC power determined for each of the plurality of zones.
In one or more illustrative examples, a system for controlling HVAC operation of a building to minimize energy consumption using predicted occupant-counts and accounting for misprediction cost, includes an HVAC controller programmed to update a thermal state of a plurality of zones of the building according to a building thermal model and information received from temperature sensors of the building; update predicted occupant counts for an upcoming plurality of time slots for each of the plurality of zones using actual occupancy counts for each of the plurality of zones; update a misprediction type distribution for the upcoming plurality of time slots for each of the plurality of zones, the misprediction type distribution indicating misprediction for true negatives, false positives, false negatives, and true positives; update a total misprediction cost expectation according to the predicted occupant counts and the misprediction type distribution; determine HVAC power for each of the plurality of zones to optimize occupant thermal comfort weighted according to the predicted occupant counts while minimizing the total misprediction cost expectation, the determining being constrained to a heat exchange configuration of the building and minimum and maximum HVAC power available to each of the plurality of zones; and control HVAC operation of the building according to the HVAC power determined for each of the plurality of zones.
In one or more illustrative examples, a non-transitory computer readable medium includes instructions for controlling heating, ventilation, and air conditioning (HVAC) operation of a building to minimize energy consumption using predicted occupant-counts and accounting for misprediction cost, that, when executed by an HVAC controller, cause the HVAC controller to update a thermal state of a plurality of zones of the building according to a building thermal model and information received from temperature sensors of the building; update predicted occupant counts for an upcoming plurality of time slots for each of the plurality of zones using actual occupancy counts for each of the plurality of zones; update a misprediction type distribution for the upcoming plurality of time slots for each of the plurality of zones, the misprediction type distribution indicating misprediction for true negatives, false positives, false negatives, and true positives; update a total misprediction cost expectation according to the predicted occupant counts and the misprediction type distribution; determine HVAC power for each of the plurality of zones to optimize occupant thermal comfort weighted according to the predicted occupant counts while minimizing the total misprediction cost expectation, the determining being constrained to a heat exchange configuration of the building and minimum and maximum HVAC power available to each of the plurality of zones; and control HVAC operation of the building according to the HVAC power determined for each of the plurality of zones.
Embodiments of the present disclosure are described herein. It is to be understood, however, that the disclosed embodiments are merely examples and other embodiments can take various and alternative forms. The figures are not necessarily to scale; some features could be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the embodiments. As those of ordinary skill in the art will understand, various features illustrated and described with reference to any one of the figures can be combined with features illustrated in one or more other figures to produce embodiments that are not explicitly illustrated or described. The combinations of features illustrated provide representative embodiments for typical applications. Various combinations and modifications of the features consistent with the teachings of this disclosure, however, could be desired for particular applications or implementations.
Some buildings include coarse-grained occupancy sensors that provide binary data related to building occupancy patterns (e.g., whether a space is occupied or not). Fine-grained occupancy sensors are increasingly being deployed in modern commercial buildings. These fine-grained occupancy sensors provide occupancy count information in real-time, as opposed to simply whether or not a space is occupied. This occupancy count information can benefit building HVAC control to improve building energy efficiency, provide occupant thermal comfort, and enhance building management. By using the fine-grained occupancy sensor data, predictive models can be designed that capture the spatiotemporal nature of occupancy dynamics. Using such a predictive model, a model predictive control algorithm for HVAC control can be implemented that achieves significant energy savings.
The building 102 may be an enclosed structure in which a climate is controlled by the occupancy-aware HVAC control system 100. In many examples, the building 102 has walls, a roof, windows, and in many cases more than one level. The building 102 may include one or more rooms as well as doors or other openings through which occupants may enter and exit. In some examples, the building 102 may be divided into logical zones. Each zone may include a subset of the one or more rooms or other areas of the building 102. In some systems 100, the zones of the building 102 are defined or otherwise relate to areas of the building 102 under separate HVAC control.
The building HVAC 104 refers to the heating, ventilation, and air conditioning systems in the building 102 that are used to heat, vent, and/or cool the zones of the building 102. In addition to temperature and humidity control, the building HVAC 104 may also be used to improve the quality of environmental conditions inside the building 102, such as the removal of smoke, odors, dust, airborne bacteria, carbon dioxide, as well as to perform oxygen replenishment.
The HVAC controller 106 includes one or more devices configured to direct the building HVAC 104 to control the environment of the building 102. The HVAC controller 106 may include one or more processors configured to perform instructions, commands, and other routines in support of the processes described herein. Such instructions, and other data, may be maintained in a non-volatile manner using a variety of types of computer-readable storage medium. The data may be loaded from the storage medium into a memory to be accessed by the processor. The computer-readable storage medium (also referred to as a processor-readable medium or storage) includes any non-transitory medium (e.g., a tangible medium) that participates in providing instructions or other data that may be read by the processor of the telematics controller. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies, including, without limitation, and either alone or in combination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl, and PL/SQL.
The occupancy sensors 108 may include various types of devices configured to detect the presence or absence of occupants in rooms of the building 102. As some examples, the occupancy sensors 108 may include one or more of ultrasonic sensors, passive infra-red (PIR) sensors, or reg-green-blue (RGB) cameras. As one specific example of a motion sensor, a depth sensor (e.g., such as the KINECT sensor for the MICROSOFT XBOX) may be used, e.g., mounted on the ceiling near a doorway to estimate occupancy. The depth sensor may be used in combination with an occupancy estimator algorithm (e.g., the Fine-grained Occupancy estimatoR using Kinect (FORK)). In such an example, real-time depth frames from occupancy sensors 108 placed at each doorway are provided to the algorithm, allowing the algorithm to estimate and update occupancy counts for the rooms (or zones) responsive to occupants entering or exiting through the doorways.
The building thermal model 110 may be a dynamic model that describes how the building 102 thermal state changes. These changes may be based on factors such as HVAC power and number of occupants. One example model is shown in the following equation:
x(k+1)=Ax(k)+Buu(k)+Bdd(k),y(k)=Cx(k)
where:
It is noted that these fixed parameters not only describe how the state of one zone i is affected by the state, action, and disturbance of this zone, but also consider the heat exchange among zones. For instance, xi(k+1) may be determined by a linear model of x(k), u(k), and d(k), where the parameters are the i-th row of matrix A, Bu, and Bd. Some elements of d(k) represent the heat load due to occupant heat emission, while others describe the heat exchange with surrounding environment. Suppose each occupant emits the same amount of heat, and the indoor human heat emission is formulated as eheat×Occi(k), where eheat is the heat emitted by an occupant during one time slot, and Occi(k) is the actual number of occupants in zone i for time slot k. For a zone that does not exchange heat directly with the ambient, the corresponding elements in Bd may be set to zero.
The occupant count predictive model 112 is a model configured to receive the number of occupants information from the occupancy sensors 108, and to predict future occupancy counts in zone i for the next N time slots. In an example, the occupant-count is a forcing-function that does not depend on any state variables except time. The effect of occupants appears in the dynamics as an internal heat gain to the thermal state of the building. By using the occupant count predictive model 112 to predict the number of occupants accurately for a time horizon, the HVAC controller 106 can make informed decisions to counteract this disturbance and stabilize the thermal condition of the building 102. As described herein, statistical models may be trained on real-world data that can be leveraged to predict occupancy changes, such that at the end of the current time slot t and with previous occupancy counts, the model 112 can predict the future occupancy counts in zone i for the next N time slots. This is denoted herein as (t+1), (t+2), . . . , (t+N).
P((t+1)=m2|Occi(t)=m1)
In an example, a fixed time slot duration of 30 minutes and an occupant count within a range from 0 to 50 (max count) may be used, such that the time-inhomogeneous Markov Chain can be unrolled temporally as shown in
Using historical occupancy data to estimate the transition probability, an N-step prediction may be made by taking the expectation of future counts after N steps as follows:
(t+N)=Σm
It is possible that some states do not appear once in the training data but occur after training. In that case, the closest state transition may be utilized.
The Markov Chain requires that the occupancy dynamics obey such assumptions as the Markov property, which may not be true in practice. Therefore, a linear regression model may further be implemented to make predictions, such as follows:
(t+1)=ΣjTβjOcci(t−j)+bias
The predicted occupancy at t+1 can be fed into the regression function again to predict the occupancy at t+2. After unrolling for N steps, N future occupant counts may be predicted. In this model, there are T coefficients βj and a bias term as the parameter to be trained on.
With a neural network, the prediction may be cast as a regression problem. The recurrent part of a neural network is a function that takes the occupant count in T previous time slots as input and connects to the final N neurons, which represented the value of the future occupancy counts of the next N time slots. This recurrent function is shown as the rectangular box in
The occupancy-aware model predictive HVAC controller 106 has two objectives: minimizing HVAC energy consumption and optimizing occupant thermal comfort. At the beginning of time slot t, the model predictive HVAC controller 106 considers the HVAC control for future N time slots and computes the HVAC power sequence in this horizon to optimize these two objectives.
With respect to the first goal, the occupancy-aware HVAC controller 106 may reduce energy waste based on occupancy prediction, especially when zero occupancy is correctly predicted during working hours, e.g., occupants arrive late in the morning or leave early in the evening. The HVAC power for one zone i during time slot k may be constrained as follows:
U
i
≤ui(k)≤
where Ui and
With respect to the second goal, the occupancy-aware HVAC controller 106 may optimize occupant thermal comfort. Predicted mean vote (PMV) is a common comfort measurement, which is standardized in ISO 7730. The PMV model estimates the average occupant comfort level using a function as follows:
PMV(·):PMV(M,Ta,Tr,v,Pa,Icl)
where
The range of PMV may be defined herein as being between −3 (representing cold) and 3 (representing hot), where 0 is neutral. However, this is arbitrary and other scales may be used. To simplify the description, let PMVi(k) to describe the individual occupant comfort for zone i in time slot k.
To make HVAC work efficiently, the weighted occupant comfort is considered, meaning: (i) occupant thermal comfort is ensured if the zone of the building 102 is occupied, and (ii) the more occupants there are in the zone, the more comfortable the indoor environment becomes. An objective for providing group occupant comfort may therefore be formulated as Σk=tt+N-1 Σi=1n Occi (k)|PMVi (k)|.
There exists a trade-off between the two objectives. For example, if the outside weather is cold, e.g., below 0° C., to make occupants comfortable, HVAC should heat the zones. However, this would induce high energy cost. Therefore, one weight β is used to sum up and balance the two objectives, and the problem for the model predictive HVAC controller 106 is therefore formulated as equation (1) as follows:
where Ui≤ui(k)≤
Based on the previous description, the predictive HVAC controller 106 uses the occupancy-aware model predictor 112 to determine the power for each zone i of the building 102 based on the predicted occupancy count for future time slots. However, this performance may be affected by prediction accuracy due to occupancy pattern uncertainty.
To analyze this performance, misprediction and misprediction on occupant-count may be defined. Misprediction refers to the predictor mis-predicting the occupied or unoccupied status for the future time slots, and the misprediction on occupant-count refers to where the predictor estimates the number of occupants in one zone for the future time slots incorrectly. Accordingly, there may be two measurement metrics: misprediction type distribution and prediction error to measure the performance of one predictor. The misprediction may be classified into one of four categories: false positive, false negative, true positive and true negative, which is shown in Table 1.
If both truth and prediction of occupancy are occupied, the misprediction type is marked as true positive. If both truth and prediction of occupancy are unoccupied, the misprediction type is marked as true negative. If the predictor mis-predicts occupied as unoccupied or unoccupied as occupied, the misprediction is noted as being as false negative or false positive, respectively. The prediction error may be used to measure the misprediction on occupant-count, and is equal to the absolute value of the difference between the predicted number of occupants and the ground truth.
Based on the prediction accuracy of the three predictors, performance of an occupancy-aware HVAC controller 106 with any of the three predictors may be identified. To measure the performance, a measurement metric may be defined as the energy efficiency times effective PMV improvement to measure the combination of energy efficiency and how much occupant comfort is offered. To calculate energy efficiency and effective PMV improvement for time slot k: (i) based on the actual detection of occupant-count in time slot k, Occi(k) and the initial building state x(k−1), the one time slot version of Equation (1) is solved to determine the optimal HVAC power ui(k) and comfort value PMVi(k); and (ii) the energy efficiency and effective PMV improvement are computed as follows:
where F is the extreme value of PMV (e.g., −3 for cold and 3 for hot). Using measurement metrics, if HVAC consumes the energy while the zone is unoccupied, its efficient energy consumption ratio is 0 because the optimal energy consumption is 0, and if there are occupants, the control performance is determined by the PMV improvement and energy efficiency regarding the model predictive HVAC control using true occupant-count.
As described above, there are two objectives of HVAC control, minimizing energy consumption and maximizing group occupant comfort, and there exists a tradeoff between these two objectives. The HVAC controller 106 should aim at minimizing energy consumption if there is no occupant in one time slot and consider minimizing one weighted sum of energy consumption and group occupant comfort for a time slot with occupants. However, due to the misprediction, the HVAC controller 106 using predicted occupant-count optimizes HVAC control with incorrect objectives. Therefore, in order to handle the misprediction, especially the random false positive/negative case, the HVAC controller 106 should determine the HVAC power, which is robust to the misprediction and introduces a minimum misprediction cost.
The control diagram is shown as a closed control loop. As shown, the HVAC controller 106 determines the HVAC power, which further changes the temperature of manipulated airflow and building thermal states. The occupancy sensors 108 sense the occupant events and calculate the actual occupant count, which is used to predict the future number of occupants by the predictor 112. Environmental sensors of the building 102 detect and output the real-time building thermal state. This information from occupant-count predictor 112 and environmental sensors of the building 102 is forwarded to the HVAC controller 106 as feedback to improve control efficiency. In particular, for one upcoming time slot the HVAC controller 106 generates a misprediction type distribution by sampling the historical prediction and true occupant-count information. Based on the misprediction type distribution and predicted occupant-count information for a given time slot, the HVAC controller 106 determines the HVAC power by minimizing the misprediction cost expectation.
Regarding misprediction classification and distribution, the misprediction type distribution may be updated in the different time slots of the day based on the real-time collected prediction and actual occupant-count data. For the upcoming N time slots, the historical prediction and true occupancy status data are sampled at the same time of day and the frequency of different types of misprediction are counted. Let pitn (k), pifp (k), pifn (k) and pitp(k) be the probability that the misprediction types true negative, false positive, false negative and true positive exist in zone i for time slot k, respectively. The distribution of these four types of misprediction may be forwarded to the misprediction cost optimization part.
Notably, the HVAC controller 106 calculating P((t)) may be sensitive to the misprediction when there is a large probability of false positive/negative misprediction due to the incorrect weight between two objectives. Hence, the misprediction cost optimization part aims at determining the HVAC power to minimize the misprediction cost expectation based on the probability of predicting the occupancy status correctly or incorrectly for a given predicted status.
Recalling that the model predictive HVAC control objective with true occupant-count Occi(k) for zone i in time slot k is defined as:
J
i(k)=|ui(k)|+βOcci(k)|PMVi(k)|
Significantly, at the beginning of time slot k, the computation only has the predicted occupant-count for future N time slots and n zones.
Let (k) and (k) be the energy consumption and PMV when using (k) to solve equation (1) for zone i and time slot k. Here, the control objective value with (k) and (k) is defined as
J
i(k)=|(k)|+βOcci(k)|(k)|
Then the misprediction cost may be defined as ΔJi(k)=(k)−Ji(k).
The misprediction cost expectation for zone i and region k may be defined as:
According to the predicted occupancy status information, these different mathematical equations of misprediction cost expectation may be defined. ΔJifp(k), ΔJifn(k), ΔJitp(k), and ΔJitn(k) may refer the misprediction cost of the corresponding different types of misprediction (false positive, false negative, true positive, and true negative, respectively). These may be calculated as described herein.
As shown in Table 1, for both true negative and false positive misprediction, there is no occupant in the zone, so the misprediction cost should be the wasted energy, which may be represented as:
ΔJitn(k)=|(k)|,ΔJifp(k)=|(k)| (3)
For the true positive prediction, the objective value determined by a control decision (k) is (k)=|(k)|+β(k)|(k)|, where the predicted value (k) is used as the actual value since the predictor makes true positive prediction. If the occupancy status is correctly predicted as occupied, the optimal HVAC power in zone i during time slot k is also influenced by the other nN−1 decision variables. Therefore, the optimal objective value of zone i and time slot k may be defined with true positive prediction as the expected optimal objective value with 2nN-1 possible cases. For case 1≤j≤2nN-1, let Pj be the probability that this case exists. Given the case with certain correct or incorrect prediction information, the problem formulation may be determined, and the optimal objective value may be calculated, denoted by Ji,j(k). This leads to Jitp (k)=Σj=1nN-1 PjJi,j(k|Ii(k)=true positive), where Ii (k) is one indicator function to show the misprediction type. The misprediction cost may be defined as:
ΔJitp(k)=|(k)|+β(k)|(k)|−Σj=1n
In the above function, Jitp(k) is one pre-computed constant value for given prediction and misprediction distribution of n zones and N time slots and (k) is also one linear function related to (k). Therefore, ΔJitp (k) is one linear function of (k).
For false negative prediction, (k)=|(k)|+β|(k)|, where Occi(k)=1 is used since the predictor infers the status as unoccupied. The optimal objective value of time slot k and zone i, denoted as Jifn (k), is also one expected optimal objective value. This equation may be defined as:
ΔJifn(k)=|(k)|+β(k)|−Σj=12
This equation (5) is also a linear equation related to HVAC power (k), 1≤i≤n, 1≤k≤N.
The total misprediction cost expectation may be minimized over N time slots and n zones, defined as Σi=1n Σk=tt+N-1 E(ΔJi(k)). According to Equation (2), E(ΔJi(k)) is linear to ΔJifp (k) and ΔJitp(k) or ΔJitn (k) and ΔJifn (k). Based on the previous definition of these four variables, they are linear to the control decision variables (k). Therefore, the objective function is linear to HVAC power (k). The problem of determining the HVAC power to minimize the total misprediction cost may thus be formulated as follows:
Since the objective function of the total misprediction cost minimization problem is linear to the decision variables, and as all the constraints are also linear, equation (6) is convex and can be solved using a convex optimizer.
The pseudo-code of the adaptive model predictive HVAC controller 106 algorithm is shown in Algorithm 1. At the beginning of each time slot t, the building thermal state is updated and the occupant-count is predicted for the future N time slots in n zones. Then, the misprediction classification and distribution part updates the probability of the different types of misprediction for N time slots and n zones. According to the predicted occupant-count and misprediction type distribution, the objective of minimizing the total misprediction cost expectation is updated. The equation (6) may then be solved to determine the optimal HVAC power, which is robust to the random misprediction.
Based on the empirical performance analysis of predictors and control using the HVAC controller 106, during the time slots with small misprediction probability, the occupancy-aware control shows very close performance compared with using true occupant count. However, for time slots with large misprediction probability, due to the small true number of occupants, it is hard to estimate the occupancy status with high accuracy. Here, the probability-based adaptive HVAC controller 106 approach essentially offers a probabilistic guarantee that if ∈ percentage of all misprediction type data follows the sampled misprediction type distribution, our solution can minimize the total misprediction cost of ∈ percentages of future time slots. According to the law of large numbers, with long-term occupancy data, the e percentage of time slots' mispredictions gets close to the true distribution. Therefore, this approach can minimize the misprediction cost expectation over time.
At operation 1002, the HVAC controller 106 updates a thermal state of a plurality of zones of the building 102 according to a building thermal model 110 and information received from temperature sensors of the building 102. In an example, the building thermal model 110 is a dynamic model that describes how the building thermal state changes based on building-internal and building-external temperature disturbances during the plurality of time slots and the heat exchange configuration of the plurality of zones of the building 102.
At operation 1004, the HVAC controller 106 updates predicted occupant counts for an upcoming plurality of time slots for each of the plurality of zones using actual occupancy counts for each of the plurality of zones. In an example, the HVAC controller 106 may determine the current occupancy counts using occupancy sensors 108 near each doorway of the building, such that real-time depth frames from the occupancy sensors 108 are provided to that estimates occupancy counts for the zones responsive to occupants entering or exiting through the doorways. The predicted occupant counts may be modeled using a predictor 112 that includes one or more of a time-inhomogeneous Markov Chain, where each state represents an occupant count, a transition between states refers to occupancy change temporally, and a probability distribution of a next state depends on a current state and a current time; a linear regression model using a regression function to predict a next occupancy count from a current occupancy count; or a recurrent neural network that combines temporal and contextual features to predict the next occupancy count from the current occupancy count.
At operation 1006, the HVAC controller 106 updates a misprediction type distribution for the upcoming plurality of time slots for each of the plurality of zones, the misprediction type distribution indicating misprediction for true negatives, false positives, false negatives, and true positives. For instance, the misprediction type distribution may be updated for a plurality of time slots for each of the plurality of zones based on the predicted occupant counts and actual occupancy counts for the plurality of time slots as later measured.
At operation 1008, the HVAC controller 106 updates a total misprediction cost expectation according to the predicted occupant counts and the misprediction type distribution. In an example, the misprediction cost expectation is updated for the plurality of time slots for each of the plurality of zones using a set of linear equations related to the HVAC power for each of true negatives, false positives, false negatives, and true positives.
At operation 1010, the HVAC controller 106 determines HVAC power for each of the plurality of zones to optimize occupant thermal comfort weighted according to the predicted occupant counts while minimizing the total misprediction cost expectation. This determination may be constrained to factors such as the heat exchange configuration of the building 102 and minimum and maximum HVAC power available to each of the plurality of zones.
At operation 1012, the HVAC controller 106 controls HVAC operation of the building 102 according to the HVAC power determined for each of the plurality of zones. After operation 1012, the process 1000 ends. It should be noted, however, that the process 1000 is iterative and some or all of the described operations of the process 1000 may be performed simultaneously, and/or may repeat in a loop-wise iterative manner to control operation of the HVAC system over time.
Thus, the real-time occupant count received from the occupancy sensors 108 and the predicted future occupant count in each zone of the building 102 determined using the predictive model 112 are useful for providing efficient HVAC control. In one aspect, accurate binary occupancy status, e.g., occupied or not, informs the HVAC controller 106 to determine when to turn on or off the building HVAC 104. In another aspect, due to the heat emissions of the occupants themselves, the HVAC controller 106 may utilize the occupant counts to save energy and perform precise heating and cooling accordingly. In this framework, occupancy sensors 108 may collect the real-time occupant counts of different zones of the building 102, where this dataset may be used to design the predictive model 112 and create a predictive HVAC controller 106.
For the model predictive control (MPC) based HVAC controller 106, one MPC-based optimization problem is solved to determine the HVAC power for the future time slots. The MPC controller 106 discretizes the timeline into multiple time slots and considers the power control for future N time slots at the beginning of time slot t. One time slot may be indexed by k, (k=t, . . . , t+N−1). It may be assumed for modeling that there are n zones in one building 102 and that u(k) refers to length n column vector to describe control input, e.g., heating/cooling power during time slot k for n zones.
The processor 1104 may be configured to read into memory 1102 and execute computer-executable instructions residing in program instructions 1108 of the non-volatile storage 1106 and embodying algorithms and/or methodologies of one or more embodiments. The program instructions 1108 may include operating systems and applications. The program instructions 1108 may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies, including, without limitation, and either alone or in combination, Java, C, C++, C#, Objective C, Fortran, Pascal, Java Script, Python, Perl, and PL/SQL.
Upon execution by the processor 1104, the computer-executable instructions of the program instructions 1108 may cause the computing device 1100 to implement one or more of the algorithms and/or methodologies disclosed herein. The non-volatile storage 1106 may also include data 1110 supporting the functions, features, and processes of the one or more embodiments described herein.
The processes, methods, or algorithms disclosed herein can be deliverable to/implemented by a processing device, controller, or computer, which can include any existing programmable electronic control unit or dedicated electronic control unit. Similarly, the processes, methods, or algorithms can be stored as data and instructions executable by a controller or computer in many forms including, but not limited to, information permanently stored on non-writable storage media such as ROM devices and information alterably stored on writeable storage media such as floppy disks, magnetic tapes, CDs, RAM devices, and other magnetic and optical media. The processes, methods, or algorithms can also be implemented in a software executable object. Alternatively, the processes, methods, or algorithms can be embodied in whole or in part using suitable hardware components, such as Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), state machines, controllers or other hardware components or devices, or a combination of hardware, software and firmware components.
While exemplary embodiments are described above, it is not intended that these embodiments describe all possible forms encompassed by the claims. The words used in the specification are words of description rather than limitation, and it is understood that various changes can be made without departing from the spirit and scope of the disclosure. As previously described, the features of various embodiments can be combined to form further embodiments of the invention that may not be explicitly described or illustrated. While various embodiments could have been described as providing advantages or being preferred over other embodiments or prior art implementations with respect to one or more desired characteristics, those of ordinary skill in the art recognize that one or more features or characteristics can be compromised to achieve desired overall system attributes, which depend on the specific application and implementation. These attributes can include, but are not limited to cost, strength, durability, life cycle cost, marketability, appearance, packaging, size, serviceability, weight, manufacturability, ease of assembly, etc. As such, to the extent any embodiments are described as less desirable than other embodiments or prior art implementations with respect to one or more characteristics, these embodiments are not outside the scope of the disclosure and can be desirable for particular applications.
This invention was made with government support under DE-EE0007682 awarded by the Department of Energy and CNS-1553273 awarded by the National Science Foundation. The government has certain rights to the invention.