Till now, I have worked both on software and hardware side of computer science. My projects involved state-of-the-art technologies and various research components. Currently, I am involved with a startup Zenatix and working on a couple of exciting projects about which I will soon update the information. There is a list of some projects and their description along with its current status.
Portable+: A Ubiquitous and Smart Way Towards Comfortable Energy Savings
Description: An air conditioner (AC) consumes a significant proportion of the total household power consumption. Primarily used in developing countries, decentralized AC has an inbuilt thermostat to cool the room to a temperature, manually set by the users. However, residents are incapable of specifying their goal through these thermostats – maximize their comfort or save AC energy. State-of-the-art portable thermostats emulate AC remotes and assist occupants in remotely changing the thermostat temperature, through their smartphones. We propose extending such thermostats to portable+ by adding a Comfort-Energy Trade-off (CET) knob, realized through an optimization framework to allow users to balance their comfort and the savings without worrying about the right set temperature. Analysis based on real data, collected from a controlled experiment (across two rooms for two weeks) and an in-situ deployment (across ve rooms for three months), indicates that portable+ thermostats can reduce residents’ discomfort by 23% (CET selection for maximal comfort) and save 26% energy when CET is set for maximising savings.
Technologies Used: Python, AMPL, MATLAB
Non-Intrusive Estimation and Prediction of Residential AC Energy Consumption
Description: Residential buildings account for a significant proportion of overall energy consumption across the world. Decentralized room level Air Conditioners (ACs) are a commonplace in developing countries such as India, contributing a significant share (34% in India) of the total residential energy consumption. Option to independently control each AC presents a prime opportunity for an energy saving system. Thus, we propose PACMAN to non-intrusively (using only the temperature information) predict AC energy consumption prior to usage and estimate energy consumption post-usage. We discuss various possible applications and use cases of such feedback for the occupants. To empirically validate the performance of PACMAN, we conducted an in-situ study across seven homes in Delhi (India). We collected around 2200 hours of usage data from the different ACs, room types, and thermostat temperatures. We achieved an average accuracy of 85.3% and 83.7% with the best accuracy of 97.0% and 93.3% for the estimation and prediction of AC energy consumption respectively, across all homes. Towards the end, we discuss various outlier scenarios, opening up multiple directions for further research in this domain. The code is available on my GitHub account.
Technologies Used: Python
FMSM: Fusion Move Stereo Matcher Implementation (Assignment – PGM)
Description: FMSM (Fusion Move Stereo Matcher) is an implementation of fusion move algorithm and QBPO minimization in the existing code which can be downloaded from their website. Here you can find the faster implementations of the global methods (graph cuts and belief propagation) which are part of their MRF library. Here is C++ source code for MRF minimization and all benchmarks. The code in the first three files compiles with GCC 4 under Linux and Cygwin on 64-bit machines. 64-bit code is assumed by default; edit the Makefile for 32-bit machines. QPBO code was available from here. You can use this link to download the actual copy of the assignment.
We updated the code with the implementation of fusion move algorithm for stereo matcher problem as part of an assignment for PGM (Probabilistic Graphical Model) course offered by Dr. Chetan Arora in IIIT Delhi. Existing code had max flow and graph cut implemented, but fusion move includes submodular terms. Therefore we have also implemented QPBO to find out min-cut and energy minimization. The code is available on my GitHub account.
Technologies Used: C++
Wind Forecasting – Zenatix (Research Intern).
Description: The Wind, a major alternative source of energy, provides dynamic output due to frequent weather changes, which introduces one of the biggest challenges in integrating it with the existing power system. Commercial wind power forecasters vary in their prediction accuracies both across the wind farms and for different time periods within a farm. Therefore, the wind power generators (WPGs) employ multiple such forecasters and heuristically choose day-ahead-prediction from one of them (baseline model). In this work, we combine multiple forecasters to generate a superforecast for the day-ahead-prediction which is, expected to be better than individual forecasters regarding penalty – the cost a WPG has to pay for inaccurate predictions. Performance evaluation using six months of SCADA and forecaster data, from a WPG, of a wind farm located in India, shows that superforecast reduced the penalty by 7% and 13% when compared with the least penalized forecaster for each month and the baseline model.
Technologies Used: Python, Pandas, Numpy (Python Packages)
PACMAN – Predicting AC Consumption and Minimizing Aggregate eNergy Cost.
Description: Buildings account for a significant proportion of overall energy consumption across the world. Heating Ventilation and Air Conditioning (HVAC) typically consumes a major portion (e.g. 32% in India) of the total building energy consumption. While centralized HVAC systems are more prevalent in developed countries, separate room level Air Conditioners (ACs) are commonplace in developing countries, such as India. Poor building insulation in developing countries, together with an option to easily control room level air conditioning, presents a significant opportunity for energy conservation in these countries. We propose PACMAN – a novel approach for predicting the energy consumption of room-level AC. PACMAN involves learning a thermal model of the room from historical usage and combines this model with the weather forecast for user’s location to guide the user towards optimised AC settings to balance user comfort and energy efficiency. Empirical validation was performed using a real world study, conducted across seven homes in India, with aggregate data for a duration of 2200 hours in total. PACMAN achieved more than 90% accuracy in predicting the energy consumption across different ACs, room types and set temperatures used during the data collection. We further describe a prototype realization of the proposed PACMAN system towards achieving reduced AC energy consumption with better feedback and control.
Technologies Used: Python
Programmable system for monitoring of electrical parameters and intelligent control of electrical appliances – TCIL
Description: Raspberry Pi (SBC – Single Board Computer) was used as a web server to host an application that acts as a user interface. This web server provides (to the users) access to real time AC power consumption, room temperature and weather updates. The user can then select from any of the set temperatures, and a corresponding message is relayed to the AC using HSK-200Z, an IR sensor capable of emulating buttons of any IR-based remote. Message relay occurs via HSC48 (Z-Wave based power module for monitoring power consumption of AC and switching it on or off) that takes the command on WiFi and encodes it as a Z-Wave command before broadcasting it to the Z-Wave network, for the end node. Web interface from current realization can easily be extended to mobile phones as well.
CarSafe-Q: Computation Offloaded (Course Project – ATMC)
Description: CarSafe is a proposed Android based application that aims to help the user avoid dangerous driving. But it requires high computations in a smartphone which makes it unusable for smartphones with limited computation powers. Thus CarSafe-Q is a quick solution in which we offload its computation to a dedicated portable server within the car. This project is currently under development phase.
Technologies Used: Android, Python, OpenCV (Haar-Cascade to extract various facial features)
Data Collection using Z-Wave based network
Description: Z-Wave is a proprietary wireless communication protocol designed for home automation and works in the frequency range of around 900 MHz. The aim was to set up a Z-Wave based network to collect sense temperature, light, motion data. Along with this we also monitored appliance level power consumption and status of the door to check whether it is close or open.
Hardware Used: Plug Computer (Single Board Computer), Aeon Z-Stick, Everspring AN158 (Power Monitor), EZ Motion 3-in-1 Multisensor (Light, Temperature, and Motion), Everspring HSM02 ZWave Mini Door/Window Detector
Technologies Used: OpenZWave Stack (C++), PHP based Web Interface to debug, analyze data collected from all sensors. Can also actuate the Plugs, Python script to create CSV and upload it to Dropbox, MySQL Database.
Flyport installation and server-side data collection.
Description: This project was part of Embedded System Course (CSE537) taught by Dr Amarjeet Singh. In this project, we installed a Flyport having PIR, Light and Temperature sensors in one of the rooms of boy’s dormitory of our campus. Flyport was sending data to the local server (established by us) which was buffering the data and forwarding it to various Internet of Things (IoT) services. For further information: Embedded Systems 2013
Hardware Used: Flyport (Ethernet-based microcontroller), PIR Sensor (For motion detection), Maxim DS18B20 (1-Wire temperature sensor), APDS9300 (Light Sensor), Relay (To check if window is open/close)
Technologies Used: OpenPicus IDE (For flyport), Python (Server-side scripting – the web)
Teammate: Anil Sharma
Projects related to Ad-Hoc Networks
- Description: As part of Ad Hoc Systems Course taught by Dr. Sanjit Kaul, I completed a couple of projects related to networking.
- The first project was linked to the concept of MIMO (Multiple-Input and Multiple-Output) in which we need to find out best “k” antennas in our neighborhood. An antenna is best for me which contains a maximum number of packets which were not captured by my antenna. “k” varied from 1 to 4. We collected the data during the classroom.
- Another project was to find noise in the AC ducts of MUC wing of Indraprastha Institute of Information Technology Delhi (IIITD). We kept two laptops, where one acted as a sender and other as a receiver, at multiple distances to study the variation of SNR values.
Technologies Used: MATLAB (Data processing), Wireshark (Data collection), Python (Data preprocessing)
Teammate: Anil Sharma
Mobile Mouse (Course Project – Mobile Computing)
Description: Mobile Mouse was a course project in which aim we had the vision to develop an android based application through which we can simulate various functionalities of a Mouse. We also incorporated features to operate the presentation slides within the same mobile application. The application was a simple client-server based application.
Technologies Used: Java (Server), Android (Client Side)
Teammates: Amit, Rohit Romley
Theftware (B-Tech Project)
Description: Theftware is an initiative inspired by an incident in which laptops of three of the four students, involved in this project, were stolen from their residences. It was a C++ based daemon process which monitors the functioning of your laptop on regular intervals. In the case of any unusual/malicious activity, Theftware reports to the server through an FTP connection. Currently, this project is on hold and has a scope of significant improvement.
Technologies Used: C++
Teammates: Prabhat Kumar (Professor, NIT Patna), Abhishek, Avinash Thakur, Niraj Upadhyay
Along with these projects, I have also worked on simple scalar in which aim was to implement direct associative cache as part of an assignment in computer architecture course. From last few months, my work is extensively based on solutions involving Raspberry Pi and my research is focused on stochastic modeling and theories revolving around prediction and forecasting models. Further, I would be more than happy to discuss my projects and research in detail.