AUTO SHUTDOWN
This function carries out detection of human presence in a room and shutdown AC if the room is left empty for a certain amount of time.
Our control logic includes two PIR movement sensors (one installed near the door and one installed in the room). Room sensor surveils movements in the room while door sensor detects events of people walking pass the door. Coordination of two sensors provides a robust solution that can handle various scenarios including: activities with different scales of movement, activities with undetectable movement e.g. sleeping, people walking out of the room and leaving the room empty/occupied, etc.
Our control logic includes two PIR movement sensors (one installed near the door and one installed in the room). Room sensor surveils movements in the room while door sensor detects events of people walking pass the door. Coordination of two sensors provides a robust solution that can handle various scenarios including: activities with different scales of movement, activities with undetectable movement e.g. sleeping, people walking out of the room and leaving the room empty/occupied, etc.
Smart Mode
Our solution of "Smart Control" implements a system integrating data collection, machine learning model, model updating mechanism and automatic predictive control strategy which learns users' preference of temperature and carries out automatic control based on user's historical data.
Model Designing: We applied a Shrinkage Regression model considering various features in regard to user's usage of AC and environmental scenario: time interval of using, indoor/outdoor relative humidity, weather condition, outdoor temperature, clothing factor, etc. The response, i.e. what we intend to predict, is the difference between desired temperature set by user and the temperature that people generally feel most comfortable computed by an empirical model. Our assumption here is that people generally have similar preference of temperature in a certain environment while each individual's preference varies around this ideal value. Hence the empirical model provides a mean of temperature that average human being will feel most comfortable with, and our model is trying to learn the variation in desired temperature of a specific user.
Model Designing: We applied a Shrinkage Regression model considering various features in regard to user's usage of AC and environmental scenario: time interval of using, indoor/outdoor relative humidity, weather condition, outdoor temperature, clothing factor, etc. The response, i.e. what we intend to predict, is the difference between desired temperature set by user and the temperature that people generally feel most comfortable computed by an empirical model. Our assumption here is that people generally have similar preference of temperature in a certain environment while each individual's preference varies around this ideal value. Hence the empirical model provides a mean of temperature that average human being will feel most comfortable with, and our model is trying to learn the variation in desired temperature of a specific user.
As for the empirical model, we applied the Predicted Mean Vote (PMV) model, which incorporates multiple variables and computes the PMV value (between -3 and 3, 0 is the ideal comfort value) to measure people's general thermo comfort, it was originally developed by Fanger and it is an ISO standard nowadays. Note that in this model, current temperature (indicated by ta in the following equation) is included, hence if we set PMV as 0 and reform this equation as a function of current temperature(set other features as collected value or constant), we can obtain a quartic equation of temperature and solve the ideal temperature that human will feel most comfortable with under a certain environmental setting. With this empirical value as a baseline for our prediction, our model will not give unreasonable predictions and we can also incorporate authorized prior knowledge about thermo comfort in our model.
In PMV equation, there are plenty of variables and some of them are coupled with the current temperature variable. Due to the limitation in sensors, in our current solution we set most of the variables in this equation as constant and our simulation results indicates that it works for most cases except for mean radiant temperature (tr). Ideally mean radiant temperature can be collected by black-globe thermometer (apparently not applicable in our solution), and according to our simulation results, mean radiant temperature should be very close to clothing temperature (tcl) or we will obtain very unreasonable solution. Here we simply assume that tcl equals to ta and our simulation results are quite stable under this assumption.
With the available predictive model, our Data Collection Schema is shown bellow:
With the available predictive model, our Data Collection Schema is shown bellow:
We collect data (defined above) every 5 mins, use the necessary features to solve the the empirical ideal temperature and obtain the response by subtracting user desired temperature of AC at this moment. The response will be added to the training dataset with other necessary features for our machine learning model.
Training: training of our model can be done locally in a batch fashion, analytical solution for Ridge Regression is shown below:
Training: training of our model can be done locally in a batch fashion, analytical solution for Ridge Regression is shown below:
Implementation: after we trained the model we can start to implement automatic control based on our model's predictions on users' preference. The schema is quite similar as we collect necessary features every 10 mins, and apply our model to predict the difference between users' preference temperature and ideal temperature in current environment, ideal temperature can be computed with the equation derived from PMV model. In order to prevent constantly changing temperature in a short period of time, our thermo will change the temperature to the predicted value only when the absolute value of predicted temperature and current temperature is greater than 1 degree Celsius.
We've also added a Model Updating Mechanism in our implementation to deal with the circumstance that user is not satisfied with the temperature set by our model's prediction and change the current temperature. If such incidence happens, our system will collect the data point as this moment and add this data point to the existing dataset after given it a weight that monotonically increases with time. Our system will re-train the model with the updated dataset. The idea is that during implementation of smart control, user's change of temperature is an important information that we need to add into our model, to emphasis its importance we add a weight which will make it contributes more to the total loss hence the model will overcome it in the next turn of training. The weight increases exponentially with time to deal with the worst-case scenarios, e.g. our model still cannot make satisfying prediction after a week, then our system will assign large weights to new data points to force our model to adapt our users' preference.
Ideally, our model can be designed and trained in online fashion, since we are adding new data in a sequence during implementation. However consider the fact that incoming data is not streaming sequence hence time interval between two incoming data points is much larger than the time we need to train our model in an off-line way, we simply implement our retraining process off-line.
Our Implementation framework is shown below.
We've also added a Model Updating Mechanism in our implementation to deal with the circumstance that user is not satisfied with the temperature set by our model's prediction and change the current temperature. If such incidence happens, our system will collect the data point as this moment and add this data point to the existing dataset after given it a weight that monotonically increases with time. Our system will re-train the model with the updated dataset. The idea is that during implementation of smart control, user's change of temperature is an important information that we need to add into our model, to emphasis its importance we add a weight which will make it contributes more to the total loss hence the model will overcome it in the next turn of training. The weight increases exponentially with time to deal with the worst-case scenarios, e.g. our model still cannot make satisfying prediction after a week, then our system will assign large weights to new data points to force our model to adapt our users' preference.
Ideally, our model can be designed and trained in online fashion, since we are adding new data in a sequence during implementation. However consider the fact that incoming data is not streaming sequence hence time interval between two incoming data points is much larger than the time we need to train our model in an off-line way, we simply implement our retraining process off-line.
Our Implementation framework is shown below.
Remote Startup
When users are not at home, e.g. about to leave work for home, he/she might prefer the room to be heat up/cool down before he/she gets home. If the AC starts right away when user sends the command, it might cost some unnecessary energy consumption. However, it might be difficult for our user to accurately estimate the time they need to get home (so that our system can compute a reasonable time it needs to prepare the room with ideal temperature while not waste energy ) due to unpredicted incidence such as traffic jam or detour.
There are generally two ways to solve this problem: apply outer resource such as Google Map API to estimate the time for user to get home; use distance of user to home instead of a certain time to trigger the start of AC.
The second solution first calculates a distance which is the product of time AC needs to warm up/cool down the room and average speed, with this distance as radius we can define a range around user's house. Our system can check our user's location in real time and start AC as soon as user has reached this range.
Currently we have implemented the remote startup function by setting up estimated startup time. We are still working on the outer resource solution and the distance triggering solution.
There are generally two ways to solve this problem: apply outer resource such as Google Map API to estimate the time for user to get home; use distance of user to home instead of a certain time to trigger the start of AC.
The second solution first calculates a distance which is the product of time AC needs to warm up/cool down the room and average speed, with this distance as radius we can define a range around user's house. Our system can check our user's location in real time and start AC as soon as user has reached this range.
Currently we have implemented the remote startup function by setting up estimated startup time. We are still working on the outer resource solution and the distance triggering solution.
Smartphone APP
We developed an Android-based application which integrates most of the functions of our system so that our users can control and apply various functions freely with their smartphone. Besides the basic AC control functions such as changing temperature, advanced functions mentioned above are nested in two modules: Customization and Schedule.
Customization includes:
(1)Manual mode, which allows our user to customize their needs in control (e.g. set temperature, turn off AC at a certain time, etc.) and save these customized working modes in a list for reuse in the future.
(2)Smart mode, which conducts automatic control based on our Smart Control solution mentioned above, while applying smart control our user can still change the temperature if he/she is not satisfied with our mode's prediction.
(1)Manual mode, which allows our user to customize their needs in control (e.g. set temperature, turn off AC at a certain time, etc.) and save these customized working modes in a list for reuse in the future.
(2)Smart mode, which conducts automatic control based on our Smart Control solution mentioned above, while applying smart control our user can still change the temperature if he/she is not satisfied with our mode's prediction.
Schedule carries out remote startup function mentioned above, our user can schedule the estimated time for the AC to start so that he/she can cool down/warm up the room before getting home.