Patent ID: 12241649

DETAILED DESCRIPTION

Model predictive control (MPC) may be used to control a building's HVAC apparatus with improved efficiency and comfort. However, MPC is much more complicated to implement than traditional control techniques. MPC uses a thermal model of a building with constraints and disturbances to account for various factors that influence HVAC operations. Complex thermal models, while accurate, may be impractical to implement at scale. In addition, the computational resources required to execute MPC with as complex model can be excessive. A high amount of processing resources may be required. In addition, network bandwidth and outages may become limiting factors when MPC is performed remote from the building.

The present invention concerns techniques to reduce computational resources required to operate MPC while retaining accuracy and other benefits of MPC. The present invention uses linear thermal models and selects a given thermal model for operation for a particular setpoint, operating mode, or time. This also allows MPC to be performed at a resource-limited computing device at the building (i.e., at the edge of a network) in a cost-effective and efficient manner.

FIG.1shows an example device100to control an HVAC apparatus102at a building104. The device100may be capable of controlling a furnace, air conditioner, humidifier, dehumidifier, vent, electric heater, boiler, fan, filter, pump, heat exchanger, diffuser, duct, pipe, or combination of such (generally referred to as “HVAC apparatus”). When intended to control the internal temperature of a building104, the device may be referred to as a thermostat. Despite its name, a thermostat may also control other HVAC conditions, such as humidity and ventilation.

The device100includes memory106and a processor108connected to the memory106. The memory106may include a combination of volatile and non-volatile memory, which may be generally referred to as a non-transitory machine-readable medium. The memory106may include random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory, or similar device capable of storing information. The processor108cooperates with the memory106to execute instructions to carry out the functionality discussed herein. The processor108may include a central processing unit (CPU), a microcontroller, a microprocessor, a field-programmable gate array (FPGA), an application-specific integrated circuit (ASIC), or similar device capable of executing instructions. Instructions may include directly executed instructions, such as a binary sequence or machine code. Instructions may include interpretable code, bytecode, source code, or similar instructions that may undergo additional processing to be executed. All of such examples may be considered processor-executable instructions.

The device100may be relatively small and may take the form of a digital thermostat attachable to a wall of the building104or placeable on a surface, such as a table or shelf, inside the building104. The processor108and memory106, particularly the non-volatile memory, may be limited in computational resources and processing speed due to the size constraints of the device100and cost-constraints when the device100is intended to be deployed to a large number of buildings104.

The memory106stores a first thermal model110and a second thermal model112of the building104. Each of the thermal models110,112is a model predictive control (MPC) model. Any suitable number of thermal models110,112may be used with two merely being an example. In various examples, each of the thermal models110,112is a linear MPC model, which is particularly useful with the limited computational resources provided by the device100.

Each of the thermal models110,112may model a building envelope of the building104, an operational output of the HVAC apparatus102, and any suitable number of disturbances. Objectives and constraints may be applied to MPC performed with a thermal model110,112.

A building envelope may be modeled to account for heat transfer between the building and environment via conduction, convection, and radiation. The building envelope may be specific to the building104or specific to a class of buildings to which the building104belongs (e.g., apartment, detached two-story house, etc.).

The operational output of the HVAC apparatus102may be modelled as an input and/or output of energy and/or mass in the form of heating of mass present at the building, cooling of mass present at the building, input of heated mass into the building, output of heated mass from the building, input of cooled mass into the building, output of cooled mass from the building, where such mass may have constituents, such as air, water, water vapor, heat exchange fluid, etc. The operational output of the HVAC apparatus102may also consider other characteristics of the HVAC apparatus102, such as operational modes (e.g., on/off, degrees of heating/cooling).

Examples of disturbances include solar heating of the building104, outdoor ambient temperature, wind in the vicinity of the building104, the presence or absence of occupants of the building104, heat generation by appliances present in the building104, and the opening/closing of internal and/or external doors of the building104. Some disturbances may be referred to as internal gains or internal generation, and these typically concern heat generated by people or appliances within the building.

A disturbance may be a measured disturbance, such as a disturbance directly measured at the building104or a disturbance defined by data measured by another party or by data that generally characterizes a known quantity or trend. For example, solar heating may be measured by a solar panel present at the building104(e.g., by its reported power output), a photodiode at the building104, solar intensity data that may be captured by another party and provided to the device100, or historic solar intensity data that may be provided to the device100. Wind and ambient temperature may be similarly directly measured or characterized whether contemporaneously or historically. Online data sources may be connected to the device100to provide this data. The presence/absence of building occupants, heat generation by appliances, and the opening/closing of doors may be measured by respective sensors, such as motion sensors, door sensors, and sensors at the appliance, or may be approximated by proxy sensors (e.g., a motion sensor in a kitchen may indicate kitchen appliance usage) or characterized by time or day and/or day of week/month/year (e.g., heat generation at the building by occupants may be considered to be absent or reduced during the work day). In any case, a disturbance may be directly measured or may be indirectly measured or characterized by known or inputted quantities or trends, whether seasonal, scheduled, or otherwise.

Occupancy disturbances may be considered at the room level and the thermal models110,112may be configured accordingly. Sensors, such as motion sensors, and scheduling data may be used to measure or estimate room occupation to account for internal gains due to occupant body heat.

A thermal model110,112may model the thermal mass of furniture in the building104. The mass of furniture may be specific to the building104or specific to a class of buildings to which the building104belongs.

Each of the thermal models110,112may be implemented with further considerations as discussed by Drgoňa et al. in “All you need to know about model predictive control for buildings,”Annual Reviews in Control50 (2020) 190-232, which is incorporated herein by reference.

The memory106may store control instructions114executable by the processor108to execute MPC with a selected one of the first and second thermal models110,112to control the HVAC apparatus102. The control instructions114may provide a control signal to the HVAC apparatus102based on MPC using the selected thermal model110,112.

The control instructions114may select the first or second thermal model110,112for operational use based on the setpoint of the HVAC apparatus102. For example, an HVAC apparatus102, such as a furnace or air conditioner (AC), may have a temperature setpoint that is dictated by a schedule or manual input, which may accord to the wishes of the building occupant. If such a temperature setpoint exceeds a threshold, then the control instructions114select the first thermal model110. If the temperature setpoint does not exceed the threshold, then the control instructions114select the second thermal model110. As any suitable number of thermal models110,112may be used, a corresponding number of setpoint thresholds may be established to select one of the thermal models110,112for MPC. Selecting from among multiple linear thermal models110,112may provide simplified MPC computation while maintaining control accuracy.

In an illustrative example of an office AC system operated during summer months in a northern latitude, a “cool” thermal model may be established for times when occupants desire cooling, such as during weekday office hours, and a “warm” thermal model may be established for times when cooling is less desired or not desired, such as at night or on weekends. The temperature setpoint for the AC system may be compared to a model-select threshold to switch between of the cool thermal model and the warm thermal model. The model-select threshold may be set between two normally expected setpoints. For example, the model-select threshold may be set at 74 F (about 23 C), so that when the AC setpoint is low (e.g., 70 F or about 21 C) the cool thermal model is selected, and when the AC setpoint is high (e.g., 77 F or 25 C) the warm thermal model is selected. As such, the cool and warm thermal models may provide specific MPC depending on the desired HVAC conditions inside the building.

The instructions114may configure the MPC with a comfort constraint and an objective to minimize an operating cost of the HVAC apparatus102due to the price of energy. The comfort constraint may limit acceptable deviation from a setpoint of the HVAC apparatus, time allowed to reach the setpoint, and similar factors that provide comfort to the occupants. The price of energy may be provided to the device100via user input or may be automatically obtained from a server via a network.

The instructions114may configure the MPC with a comfort constraint and an objective to minimize an operating cycle frequency of the HVAC apparatus102. Minimizing on/off cycles of the HVAC apparatus102may extend its service life.

The instructions114may configure the MPC with a combination of reducing or minimizing both operating cost and operating cycle frequency of the HVAC apparatus102.

The instructions114may execute the MPC at predetermined intervals, such as every 10 seconds, 15 seconds, 30 seconds, one minute, or five minutes. This may reduce the overall demand on the processor108and memory106while maintaining sufficient control accuracy for the HVAC apparatus102.

FIG.2shows a generalized selection from among an ensemble of thermal models202-208based on an input210, such as setpoint. A mapping212of input210to thermal model202-208may be established and stored at an MPC control device, such as device100. The input210may be applied to the mapping212to select a thermal model202-208for operational use. A threshold is one example of a mapping212. A thermal model202-208may be thus selected at predetermined intervals (e.g., periodically, regularly) during operation of an HVAC apparatus that is controlled by MPC.

Other model-selection inputs210that may be used include HVAC apparatus operational mode, time of day, day of week, and day of year. Distinct modes of operation may exist in HVAC devices such as a combination heating and AC unit, or in an HVAC device that uses different energy sources, such as a heater that uses different types of fuels. Time of day and day of week may be useful for buildings, such as offices, that have distinct periods of usage during the day or week. Day of year may be useful when seasonal differences are distinct. In any case, selection of a thermal model202-208from an ensemble based on an input210allows for a more precise matching of thermal model202-208to an expected set of conditions.

A mapping212may define a combination logic for plurality of different model-selection inputs210. For example, a setpoint threshold may be different depending on the time of year. In such example, the mapping212may define a time-of-year threshold and a setpoint threshold that are respectively compared to a current time and a current setpoint of an HVAC apparatus to select a thermal model202-208, which may number up to four, in this example, due to the four unique combinations provided by two independent thresholds.

FIG.3shows generally the selection of thermal models202-208using combination logic for two inputs302,304for which an example has been given above. Naturally, this concept may be extended to any suitable number of inputs304,306. In addition, the thermal models202-208need not all be different. Various different combinations of inputs304,306may select the same thermal model202-208.

With reference back toFIGS.1-3, the thermal models110,112,202-208are preferably linear thermal models to reduce the computational resources demanded of the device100. The device100may thus be made compact and may be less obtrusive in the building. A large fleet of devices100may be deployed more efficiently with lower cost. Moreover, lower computational requirements reduce power consumed by the device100, so the use of linear thermal models110,112,202-208provides a direct energy savings that may be significant.

FIG.4shows another example HVAC control device400to control an HVAC apparatus102of a building104. The device400includes various components, such as a processor108and memory106, already discussed with regard to the device100. The device400further includes a network interface402, a user interface404, and an HVAC input/output (I/O) circuit406. The components of the device400may be interconnected via a bus408or similar circuit.

The processor108, memory106, and other components402-408of the device400are contained within a housing412that is positionable within the building104. The housing412may be configured to be attached to a wall of the building104or be placed on a surface inside the building104, such as a table or shelf. As will be discussed below, the device400is capable of communications via a wide-area network but performs MPC internally with the processor108and memory106. This provides greater efficiency, in that MPC computations are performed at the location where MPC control is performed, and less reliance network resources, which can free up network bandwidth for other uses and can provide robustness against network outages.

The network interface402may include hardware and software components, such as a network adaptor and driver, to provide for data communications with a server414via a wide-area computer network416such as the internet. The network interface402may connect to the wide-area computer network416via a local-area network (e.g., Wi-Fi) that serves the building104. An example server414may provide information to the device400, such as a price of energy, disturbance data (e.g., weather data), template or fully configured thermal models, orchestration commands or constraints to operate a group of devices400with large-scale constraints or objectives, such as avoiding undue load to an electrical grid.

The user interface404may include a touchscreen, physical buttons, a microphone and speaker, or other device capable of communication with an occupant of the building104.

The HVAC I/O circuit406connects to the HVAC apparatus102and communicates signals between the device400and the HVAC apparatus102, such as a setpoint, mode select, and/or other operational parameters for the HVAC apparatus102. The HVAC I/O circuit406may include wiring terminals and signaling hardware compatible with the HVAC apparatus102.

The device400includes operational instructions418that control the overall operations of the device400, such as network communications, user interface operations, scheduling, selection of an MPC model, generation of an MPC model, training of an MPC model, and/or handoff between MPC and reactive control.

The device400includes MPC instructions420that implement model predictive control for the HVAC apparatus102with a thermal model422that may be selected from an ensemble of thermal models422. The MPC instructions420execute a simulation based on a given thermal model422. The MPC instructions420may execute a plurality of simulation based on respective thermal models422.

The operational instructions418may generate or download a thermal model422after the device400is deployed to the building104, may select a thermal model422for execution by the MPC instructions420, may set an interval for execution of the MPC instructions420, may disable MPC if a thermal model422is ineffective or erroneous, and may provide other management functions to the device400with regard to MPC.

With reference toFIG.5, the operational instructions418, MPC instructions420, and thermal models422may cooperate to execute MPC simulations in a control environment500that may reside in memory106and be executed by the processor108of the HVAC control device400.

Different MPC simulations502,504may be executed as selected by a model select input506, which, as discussed above, may reference HVAC apparatus setpoint, mode, time information, or a combination of such. While any suitable number of MPC simulations502,504may be provided, it is preferable that one MPC simulation502,504be executed at a given time, so as to reduce the computational resources consumed.

Each MPC simulation502,504includes a thermal model508of the building104, disturbances510, and a controller512. A particular thermal model508, set of disturbances510, and controller512may be used in multiple different simulations502,504, but each MPC simulation502,504should have a unique set of: thermal model508, disturbances510, and controller512.

Disturbances510, as discussed above, may include weather514, occupancy516, changes in energy price518, and internal gains520. A disturbance510may be measured, approximated, or otherwise characterized.

A thermal model508may be configured with thermal properties of the building104and its envelope, operational output characteristics of the HVAC apparatus102, and the disturbances510. The model508may accept an HVAC actuation signal522from the controller512, perform a simulated step524to compute a simulated result of the HVAC actuation signal522on the thermal model508, and provide a corresponding output526to the controller512. The HVAC actuation signal522may, for example, be a command to turn on or off the HVAC apparatus102or drive the HVAC apparatus102to a specified level of output. The output526may be, for example, the resulting state or condition in the building104, such as its indoor temperature.

The controller512may include a proportional (P) controller, proportional-integral (PI) controller, proportional-integral-derivative (PID) controller, or other class of controller. For purposes of simulation, the controller may provide an HVAC actuation signal522to the model508and take as input a resulting output526condition from the model.

Output528may be taken from the selected simulation502,504to effect MPC for the HVAC apparatus102. Output528may include an HVAC actuation522generated by the controller512and the HVAC actuation522may be provided to the HVAC apparatus102.

Output528may further include the output526of a sequence of simulated steps524of the selected simulation502,504. If the output526of the sequence of simulated steps524conforms to expected, then the HVAC actuation522corresponding to the first step524of the sequence of simulated steps524may be considered valid and thus provided to the HVAC apparatus102to effect MPC of the HVAC apparatus102. The selected simulation502,504may continue to generate the sequence of simulated steps524and the HVAC actuation522corresponding to the oldest step524may be taken as the control input for the HVAC apparatus102, provided that the sequence of simulated steps524continues to provide expected or reasonable output526.

There may be situations where MPC is not suitable. The output528may be analyzed to compute an error between a sensed HVAC condition of the building104a predicted HVAC condition predicted by the selected simulation502,504. When the error is determined to exceed an error tolerance, MPC may be disabled and a traditional reactive control algorithm may be enabled to control of the HVAC apparatus102. For example, a controller512of a simulation502,504may be operated without the model508, such that a measured HVAC condition of the building104may be provided to the controller512and an HVAC actuation522outputted by the controller512may be taken as a command to the HVAC apparatus102. The controller512may thus be operated in a reactive manner to directly control operation of the HVAC apparatus102without use of the model508. It may be useful to fallback to reactive control if MPC results in error. A simulation502,504may be attempted at intervals during reactive control to determine whether the error is sufficiently reduced to switch back to MPC.

Error may also be a basis for switching among simulations502,504. If a selected simulation502,504results in error, then another simulation502,504may be selected. If all simulations502,504result in error, then reactive control may take over, as discussed above.

Orchestration530may be applied to the simulations502,504of a control environment500of an HVAC control device400or the control environments500of a plurality (fleet) of devices400. Orchestration530may include directives to the controllers512and/or the thermal models508concerning price of energy, load shaping, and other factors that affect a group of simulations502,504and/or devices400. Orchestration530may provide for energy/cost savings with a large number of devices400irrespective of individual savings or lack thereof at a particular device400.

With reference toFIG.6, a plurality of linear thermal models may be generated at an HVAC control device100,400installed within a building104.

At block602, the device may be initially installed and operated during a training period. The training period may span one week, two weeks, one month, or similar duration. The intent of the training period is to characterize the thermal response of the building and to quantify disturbances, such as disturbances due to occupancy, for example, internal gains due to occupants coming and going, heat losses/gains due to doors being opened/closed, etc.

During the training period, an HVAC apparatus may be controlled using reactive control and the response of the building's HVAC condition may be measured. The HVAC apparatus may be controlled to provide specific inputs to the building to evoke various responses from the building. As such, the building's HVAC response may be characterized over a range of HVAC operation and this information along with the HVAC apparatus inputs may be used to generate a thermal model of the building, at block604. Such a generated thermal model may be non-linear. Model generation may include applying specific parameters to a template model or using machine learning.

If the generated thermal model is non-linear, the device may perform a piecewise segmentation to generate a plurality of linear thermal models, at block606.

FIG.7shows an example system700configured to generate thermal models and deploy MPC experiments to HVAC control devices, such as devices100,400. A MPC experiment may be considered an MPC simulation that uses a linear model and that may include other techniques discussed herein. An example experiment may look ahead by about 1 to 12 hours.

The system700includes a thermal model trainer702, an enrollment service704, and an experiment runner backend706. The system700may be implemented by one or more cooperating computing devices, which may be termed servers and which each may include a processor and non-transitory machine-readable medium.

Data resources used the system700include telemetry data708, thermal models710, device settings712, and experiments714. Data may be stored in one or more databases and, if appropriate, regularly or periodically updated based on communications with HVAC devices that the system700serves.

Telemetry data708includes settings, sensor data, status messages, and other information that is provided by the HVAC devices.

The thermal model trainer702uses the telemetry data708to generate thermal models710. The thermal model trainer702may include instructions that implement a processor-executable method that includes reading telemetry data (block720), generating features (block722) from the data, training a thermal model (block724), validating the thermal model (block726), and storing the model and any associated metrics (block728) in the thermal model repository710.

Generating features, at block722, may include using deterministic algorithms to compute feature data from the telemetry data708, where such feature data describes variance in operations among a multitude of deployed HVAC devices. Alternatively or additionally, a machine learning model may be used to generate features from telemetry data708.

Training a thermal model, at block724, may be carried out as discussed elsewhere herein and may use other MPC techniques as well. A wide range of different thermal models710may thus be generated and stored based on telemetry data708from a population of deployed HVAC control devices.

The enrollment service704uses device settings712and thermal models710to implement experiments714at various HVAC control devices. The enrollment service704may include instructions that implement a processor-executable method that includes reading device settings, at block730, from a HVAC control device that is to run an experiment. Note that device settings712may be a subset of the telemetry data708and/or may be separated stored and curated from the telemetry data708. The method may further include determining a model, at block732, that is suitable for the particular HVAC control device. Thermal models710may be stored with associated metrics that describe their usability with HVAC control devices. Determining the model, at block732, may include comparing the settings of the HVAC control device in question with metrics associated the thermal models710to find a good fit. Determining the model, at block732, may also include determining whether the HVAC control device has hardware, software, and/or firmware suitable for executing an experiment. An experiment with a selected thermal model710may thus be allocated, at block734, to a HVAC control device and the result may be logged, at block736.

The experiment runner backend706may track a list740of experiments714and manage execution of the experiments714. The experiment runner backend706may include an application programming interface (API) or other interface to the database of experiments714. The experiment runner backend706may be configured to receive and respond to queries from deployed HVAC control devices. An HVAC control device may query the experiment runner backend706to determine whether an experiment714exists for the device and, if so, to initiate execution of the experiment714locally at the HVAC control device at the deployed location.

FIG.8shows an example experiment runner800and example method802to receive and conduct a model predictive control experiment with an HVAC control device. The experiment runner800may be executed by an HVAC control device, such as the device100,400, to operate as a host for executing experiments at an HVAC control device.

The experiment runner800may communicate with the experiment runner backend706at the system700ofFIG.7. This communication may be made via a wide-area computer network, such as the internet, that connects the system700to a fleet of HVAC control devices. The experiment runner800may obtain different experiments with different thermal models from the experiment runner backend706, where one such obtained experiment and thermal model may be selected for execution based on HVAC apparatus setpoint or other consideration, as discussed elsewhere herein.

The initiate an experiment, the experiment runner800may poll the experiment list740, at block804, maintained by the experiment runner backend706to determine whether an experiment exists for the HVAC control device. If an experiment exists, the experiment may be downloaded, at block806, and run, at block808.

An experiment may include four phases: initialization (block810), observation (block820), orientation (block830), decision (block840), and action (block850). The observation, orientation, decision, and action phases may be performed in sequence periodically after the initialization phase and according to a period860, such as 10, 15, 30 seconds, or similar interval.

Initialization at block810may include reading experiment and thermal model parameters, initializing components of the HVAC control device that will perform the experiment, and allocating memory. After initialization, the observation phase, at block820, is performed.

The observation phase, at block820, includes collecting data, such as polling sensors (block822), polling HVAC runtime (block824), polling settings (block826), and polling weather (block828).

Block822may include obtaining current and historic sensor data, such as temperature, humidity, and similar sensor data collected by the HVAC control device.

Block824may include obtaining current and historic state of the HVAC apparatus controlled by the HVAC control device, such as whether the apparatus is on or off.

Block826may include obtaining current and historic settings for the HVAC control device, such as a setpoint and commanded operational mode for the HVAC apparatus.

Block828may include obtaining current and historic weather information, such as outdoor ambient temperature, humidity, wind speed, solar radiation, and so on.

After the observation phase, the orientation phase, at block830, is performed.

The orientation phase, at block830, puts the observed data into context by transforming information collected during the observation phase, at block820, into a form compatible with the experiment.

At block832, a state of the building controlled by the HVAC control device is estimated using the data collected during the observation phase, at block820. A predetermined time range of historic data may be selected, such as the 5, 10, 15, 20, or 25 minutes, to conform with the time range considered by the thermal model that underpins the experiment. The data may be resampled, for example, from the period860(e.g., 15 seconds) to the period considered by the thermal model (e.g., 300 seconds).

At block834, the operational mode of the HVAC apparatus is determined. For example, the HVAC apparatus may be in a heating mode, a cooling mode, or a recovery mode where a heating/cooling mode is switched early to anticipate a setpoint. Mode may be directly reported by the collected data or may be derived from the collected data.

At block836, the oriented data is then validated. If anomalous or erroneous data is detected, then the experiment may be halted.

After the orientation phase, the decision phase, at block840, is performed. The decision phase includes optimal control problem (OCP) formulation (block842), solving (block844), and post processing (block846).

At block842, the experiment may be structured as a constrained linear quadradic OCP with a linear thermal model, as discussed elsewhere herein, including constraints and a cost function. This provides a simplified MPC simulation that is readily solvable by the HVAC control device at the location of the HVAC apparatus without requiring server-based processing capabilities. The experiment and thermal model may be structured to predict the next 1 to 12 hours of operation of the HVAC apparatus.

At block844, the problem is solved to obtain a decision variable, such as an on/off command for the HVAC apparatus or a runtime (e.g., operate for 1 minute) for the HVAC apparatus.

At block846, non-modeled constraints that are not part of the thermal model may be applied. Providing such constraints outside the thermal model may allow for greater simplification of the model to allow the OCP to be solved at the HVAC control device. Examples of non-modeled constraints include a minimum runtime of the HVAC apparatus and a maximum runtime of the HVAC apparatus, which may be established to limit cycling of the HVAC apparatus to reduce wear and prolong service life.

After the decision phase, the action phase, at block850, is performed.

At block852, a trajectory message may be generated for the control circuitry of the HVAC control device. The trajectory message may include a setpoint, desired runtime, or similar information. The trajectory message may be communicated to the control circuitry to effect control of the HVAC apparatus based on the experiment and thermal model.

Data related to the experiment and its results may be logged, at block854.

After the decision phase, the observation phase, at block820, may be performed again. The phases820,830,840,850may repeat in a cycle governed by the period860. The experiment may thus be continuously performed to effect MPC of the HVAC apparatus.

In view of the above it should be apparent that MPC can be facilitated for HVAC by selecting a thermal model from among various thermal models, particularly linear thermal models. This realizes the advantages of MPC while controlling its drawbacks, such as the required computational resources.

It should be recognized that features and aspects of the various examples provided above can be combined into further examples that also fall within the scope of the present disclosure. In addition, the figures are not to scale and may have size and shape exaggerated for illustrative purposes.