Sleep is a large contributor to a person’s health and well-being. Since sleep posture is a factor that may affect the quality of sleep, we investigate ways to encourage people to sleep in certain positions that may lead to better sleep quality. HeyPillow is a fabricated sensing pillow that processes the position and orientation of a person’s head and recommends certain sleep positions (e.g. their left side, right side, back, or stomach) based on the user and their usage of the pillow. In addition to using HeyPillow as a means to investigate methods on whether this system can improve sleep quality, we also aim to explore whether a person’s sleep positions can be influenced subconsciously through the recommendation system.
HeyPillow's sensors are composed of two parts: A 4 × 5 matrix of Force Sensitive Resistors (FSR) functioning as the pressure grid and an absolute orientation sensor combining an accelerometer and a gyroscope. This setup allows us to accurately track the user's head position and orientation on the pillow.
An Arduino Uno reads in the data captured by these sensors and then sends them to a a Raspberry Pi for processing. Voice interactions are enabled through the use of a speaker and a microphone.
Upon first use, HeyPillow asks the user to lie down in 4 different positions to learn their sleeping habits (the calibration phase). Afterwards, it collects sleep data when the user is asleeep.
Data from the calibration phase is used to train a Support Vector Machine (SVM) in order to detect sleep positions from sleep data.
Classified data are processed via the SleepCoacher server to give recommendations about sleep quality improvement. They will be delivered to the user via text or voice. HeyPillow continues to monitor the user's sleep and gives them more tips for further sleep improvement.
Powered by Google's Cloud Speech-to-Text API, HeyPillow’s voice user interface (VUI) is constantly listening to the user's commands. To awake the pillow, simply say “Hey Pillow”. To let the pillow learn sleeping habits, say “recalibrate” to enter calibration mode.
@inproceedings{Daskalova2019heypillow, author = {Daskalova, Nediyana and Ma, Jiaju and Chen, Tiffany and Nguon, Valerie and Qian Jing and Chen Chonghui, and Huang, Jeff}, title = {HeyPillow: Computationally Guided Sleep Behavior Study Through Sensing}, year = {2019}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, booktitle = {Symposium: The Workgroup on Interactive Systems in Health (WISH)}, location = {Glasgow, Scotland, UK}, series = {WISH@CHI '22} }