{"id":645,"date":"2014-12-17T23:44:30","date_gmt":"2014-12-17T23:44:30","guid":{"rendered":"http:\/\/blogs.discovery.wisc.edu\/wearable14\/?p=645"},"modified":"2014-12-17T23:44:30","modified_gmt":"2014-12-17T23:44:30","slug":"typesafe-final-post","status":"publish","type":"post","link":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/2014\/12\/17\/typesafe-final-post\/","title":{"rendered":"TypeSafe final post"},"content":{"rendered":"<p><a href=\"http:\/\/blogs.discovery.wisc.edu\/wearable14\/files\/2014\/12\/ShowcasePoster.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-646\" src=\"http:\/\/blogs.discovery.wisc.edu\/wearable14\/files\/2014\/12\/ShowcasePoster-300x225.jpg\" alt=\"ShowcasePoster\" width=\"300\" height=\"225\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/wearable14\/files\/2014\/12\/ShowcasePoster-300x225.jpg 300w, https:\/\/blogs.discovery.wisc.edu\/wearable14\/files\/2014\/12\/ShowcasePoster.jpg 1024w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/blogs.discovery.wisc.edu\/wearable14\/files\/2014\/12\/Prototype2.jpg\"><img loading=\"lazy\" class=\"alignnone size-medium wp-image-647\" src=\"http:\/\/blogs.discovery.wisc.edu\/wearable14\/files\/2014\/12\/Prototype2-225x300.jpg\" alt=\"Prototype2\" width=\"225\" height=\"300\" srcset=\"https:\/\/blogs.discovery.wisc.edu\/wearable14\/files\/2014\/12\/Prototype2-225x300.jpg 225w, https:\/\/blogs.discovery.wisc.edu\/wearable14\/files\/2014\/12\/Prototype2.jpg 768w\" sizes=\"(max-width: 225px) 100vw, 225px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>TypeSafe is a hand-worn device designed to improve the wearer&#8217;s computer usage habits by discouraging uncomfortable wrist\u00a0postures and encouraging \u00a0regular periods of rest during prolonged keyboard typing. \u00a0The idea is to help the wearer avoid long-term health\u00a0problems that can result from excessive and unhealthy computer usage, such as Carpal tunnel syndrome.<\/p>\n<p>The device consists of a finger-worn\u00a0inertial measurement unit (IMU) and a wristband containing an Arduino microcontroller, vibrating component, and battery. The IMU\u00a0tracks the orientation of the wearer&#8217;s hand. The Arduino program analyzes the orientation data and infers the wearer&#8217;s hand posture and typing activity. When the hand posture is inferred to be&#8221;bad&#8221; (uncomfortable), the device alerts the wearer with\u00a0vibration. Moreover, the device keeps track of how long the wearer has been typing and produces\u00a0vibration to let the wearer know\u00a0when\u00a0they should take a break.<\/p>\n<p>Both hand posture and activity inference are accomplished by performing\u00a0analysis of the orientation signal. Current posture is classified as bad when orientation\u00a0significantly departs from the neutral (healthy) hand posture, while typing activity is inferred from high-frequency content of the orientation signal.<\/p>\n<p>The device currently exists as a fairly crude prototype. Although most of the planned features of the device are supported\u00a0in the prototype, their implementation is still very basic and lacking in robustness. The original project plan foresaw several iterations on the prototype,\u00a0during which\u00a0I would have performed\u00a0more principled collection and analysis of IMU data during everyday computer usage and development of more sophisticated inference machinery for postures and activities. However, these steps never occurred due to lack of time.<\/p>\n<p>A technical hurdle which proved quite costly in terms of time was getting the IMU to work with the chosen microcontroller (Arduino LilyPad) and obtaining reliable orientation data. \u00a0The solutions to this hurdle were relatively simple &#8211; changing the configuration of the microcontroller&#8217;s SDA and SCL pins, and making sure connections between the microcontroller and IMU were properly soldered.\u00a0However,\u00a0diagnosing and fixing these issues took long enough that less than\u00a0two weeks remained\u00a0for other steps on the project &#8211; data analysis, development of inference models, and user testing.<\/p>\n<p>Given more time, I would make several improvements to the device:<\/p>\n<p>&#8211; Use better sensors for posture tracking. IMU seems to be quite prone to drift, which makes it difficult to reliably track absolute posture. Flex sensors (https:\/\/www.sparkfun.com\/products\/10264) may be a better &#8211; and cheaper &#8211; alternative for this purpose.<\/p>\n<p>&#8211; Introduce additional sensors for tracking postures of the elbows, shoulders, and the back, as these are also prone to repetitive strain during computer usage.<\/p>\n<p>&#8211; Collect and analyze sensor data during real computer usage and\u00a0develop trained models for posture and activity classification. This poses\u00a0an interesting challenge, because these models must be fast and compact enough to run on a microcontroller with limited memory capacity and computing power.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; TypeSafe is a hand-worn device designed to improve the wearer&#8217;s computer usage habits by discouraging uncomfortable wrist\u00a0postures and encouraging \u00a0regular periods of rest during prolonged keyboard typing. \u00a0The idea is to help the wearer avoid long-term health\u00a0problems that can result from excessive and unhealthy computer usage, such as Carpal tunnel syndrome. The device consists &hellip; <a href=\"https:\/\/blogs.discovery.wisc.edu\/wearable14\/2014\/12\/17\/typesafe-final-post\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">TypeSafe final post<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":90,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[18],"tags":[],"_links":{"self":[{"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/posts\/645"}],"collection":[{"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/users\/90"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/comments?post=645"}],"version-history":[{"count":1,"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/posts\/645\/revisions"}],"predecessor-version":[{"id":648,"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/posts\/645\/revisions\/648"}],"wp:attachment":[{"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/media?parent=645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/categories?post=645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.discovery.wisc.edu\/wearable14\/wp-json\/wp\/v2\/tags?post=645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}