Inspiration

After an injury, people are often traumatized into avoiding the same movements that led to such outcome. How to make sure they recover healthily and efficiently? LimbVR proposes a new, VR-based method of physical therapy, by combining Oculus Rift, Myo bands, and state-of-the-art software to recreate that person’s movements in VR and compare it to the ideal motion. By helping the person see themselves doing the movements on VR and juxtaposing that against the ideal motion, we can provide quantitative measurements on how far people are in their recovery, keep track of their progress and provide a tool for them to learn the physical motion.

What it does

Buckle up and get ready for action. Once you put the headset on, you are immersed into your healthy, ideal body. Wary of moving in some way that might get you injured again? LimbVR shows you how to perfect your moves and build trust in yourself once again. Using the Myo band, we recreate the movements of your arm and compare it to the ideal motion in VR and provide quantitative measurements how close to the ideal motion you currently are. This can vastly speed up physical therapy and injury recovery.

How we built it

Oculus Rift. Myo. Unity. The three structural pillars of our product are integrated seamlessly, capturing the best that each element has to offer. We designed a virtual reality atmosphere where the user can feel as comfortable as if he/she were in a clinic with a therapist. Unity was our main development platform, where we outlined the structure of the environment, designed the main menu and integrated the animations of the ideal motion. Myo’s data is streamed via JavaScript bindings, parsed and processed by three.js, vectorizes human arm movement in real time and logs that data into our database. This data will then be compared to the movement depicted in Oculus, as seen by the user, to provide useful feedback. In a further stage, Myo would also be used to program Oculus’ animations.

Tools: in Unity, we used mainly C# scripts to control the animations and design the user interface. With Myo, we used Myo's JavaScript API and three.js for calculation and visualization of vectors. For the animations on Oculus, we used Python in Blender to dissect and plot every move and have a Python Flask back-end.