KInemATICTrainer

VR/MR Training for physical therapy students.

Primary vision

Our primary vision for this mixed reality project was to create a physical therapy training aid for those entering the field of physical therapy. In our project, physical therapy students will engage with a virtual dummy. The virtual dummy, acting as a stand in for a physical therapy patient, will allow students and trainees to practice techniques that would otherwise be practiced on expensive medical manikins. Upon starting the program, trainees will be presented with the option of choosing which physical therapy techniques they’d like to practice. These could include a variety of different exercises such as shoulder rotations, scaptions (the elevation of the scapular plane), shoulder extensions, and possibly more. From here, users will be placed into a physical therapy room where they will see a manikin in which they can manipulate and another manikin which will be demoing the movement and techniques for each specific scenario. Our current model allows for an internal shoulder rotation exercise used for strengthening and shoulder injury prevention.

 

When the trainee approaches the manikin they will be prompted through the use of visual cues where to place their hands on the dummy. As the trainee manipulates the manikin and follows the training exercise they will be informed of techniques to remember (such as reminding the trainee to keep the patients elbow close to their body). Upon successfully completing the training exercise the user will be notified with an auditory cue and returned to the starting screen.

 

The use of a virtual manikin and a virtual environment come with many affordances not found in traditional training methods. The virtual mannequins will help alleviate the exorbitant costs of a providing medical manikins (ranging from $1500-$3000 per manikin) for students. Further, costs found in hiring trainers and providing training locations can be cut through the affordances of distance based and virtual learning.

 

Process

MODELING

RIGGING

All modeling was first completed in Maya 2018 prior to importing the models into Unity.

SCRIPTING

WORLD BUILDING

THE Team

Andrew Pham

Lead Programmer/Researcher/Version Control

Email: Andrew.Pham(at)wsu.edu 

Linkedin: https://www.linkedin.com/in/andrew-pham-27515612a

The primary content that I contributed to this project was the programming of the game logic,  ui elements, audio triggers, etc. The game logic included unity elements such as raycasts, modifying gamecomponents, transform values, and more. The goal was to create a multitude of exercises based off the framework of one exercise, but due to time  constraints it could not be implemented in the given window.

John Alexander (Team Leader)

Conceptual Design/3D Modeling /Programming/Researcher

Email: JohnAlexanderDesigns(at)gmail.com

Over the course of this project, I wore many different hats. From the conceptual design of the project and user interaction, 3D modeling the environment and assets, to scripting and creating the game logic I learned an incredible amount about Mixed reality development and human centered design.  

 

Royner Mendoza

UX/UI/Concept/Webpage Designer/Researcher

Email: Mendor92(at)gmail.com

Linkedin: https://www.linkedin.com/in/royner-mendoza

This project I provided the conceptual scope and the UX/UI interface for the menu interface and text placement. My intent with the next version is to implement a tutorial with a fade in fade out effect (effective transition).

David Schneider

3D Modeler/Content Creation

Email: D.Schneider.wsu(at)gmail.com
A Washington State University Graduate, Vancouver Wa local, David is emmersed in 3d modeling and texturing, with a focus in Virtual Reality. 

"For this project I provided 3d modeling ,content creation and verification." 

Keaton Burnett

UX/UI Designer/Researcher

Email: BurnettKeaton@yahoo.com

"For this project, I worked on the start, tutorial and menu interface. While it wasn't implemented in the final version, I hope to tweak it further to create a usable interface for users that also keeps them immersed in the environment that my other teammates created."

 

Video

 

Resource Links

Physical Therapy Resources - 

https://www.physiospot.com/2016/06/22/what-is-mixed-reality-and-how-can-it-transform-physiotherapy/ 

https://www.physiospot.com/opinion/virtual-reality-applications-in-physiotherapy/ 

http://www.onyourmark.nyc/single-post/2016/10/20/11-Exercises-for-Shoulder-Rehab-and-Injury-Prevention 

http://journals.sagepub.com/doi/pdf/10.1177/0269215516640320 

 

Reference Images -  

http://www.vintagecraftpatterns.info/templates/19388-19389 

https://www.pinterest.com/pin/88735055138261129/ 

http://lgrotationsjournal.blogspot.com/2014/05/physical-therapy-rotation.html 

http://www.pediatricadvancedtherapy.com/clinic.php 

https://briahs.com/location/palos-hills-strive-center-for-rehabilitation/ 

 

Scripting Resources - 

UI: 

https://answers.unity.com/questions/940565/movietexture-in-ui-panel.html 

Positioning: 

https://answers.unity.com/questions/1162889/how-do-i-freeze-an-objects-position.html 

https://answers.unity.com/questions/515640/freeze-objects-position-and-rotation.html 

https://docs.unity3d.com/ScriptReference/Transform-forward.html 

https://answers.unity.com/questions/156989/how-get-position-from-a-game-object.html 

https://answers.unity.com/questions/444484/freezing-transforms.html 

https://docs.unity3d.com/ScriptReference/Transform-position.html 

https://docs.unity3d.com/ScriptReference/Transform.LookAt.html 

https://docs.unity3d.com/540/Documentation/ScriptReference/Transform.Rotate.html 

https://answers.unity.com/questions/60332/raycast-positioning.html  

https://answers.unity.com/questions/1042223/finding-vector3-position-of-gameobject.html 

https://answers.unity.com/questions/1259770/raycast-transform-position.html 

https://forum.unity.com/threads/locking-x-and-z-axis-in-the-transform-lookat-command-making-npc-face-player.75031/ 

https://docs.unity3d.com/ScriptReference/Vector3-ctor.html 

Object Interaction: 

https://docs.unity3d.com/ScriptReference/GameObject-rigidbody.html 

https://forum.unity.com/threads/vive-object-interaction.437359/ 

https://answers.unity.com/questions/51401/any-way-to-lock-an-object-from-changes-in-the-edit.html 

https://answers.unity.com/questions/467399/make-object-react-to-certain-triggers-only.html 

https://docs.unity3d.com/Manual/OpenVRControllers.html 

https://www.youtube.com/watch?v=vhRKKAngvAA  


Mesh: 

https://docs.unity3d.com/455/Documentation/ScriptReference/MeshFilter-mesh.html 

https://docs.unity3d.com/ScriptReference/MeshFilter-mesh.html 

https://docs.unity3d.com/560/Documentation/Manual/class-State.html 

Collision: 

https://docs.unity3d.com/ScriptReference/Collider.OnTriggerEnter.html 

https://answers.unity.com/questions/528831/collision-with-specific-object.html 

https://docs.unity3d.com/455/Documentation/ScriptReference/MeshFilter-mesh.html 

https://docs.unity3d.com/ScriptReference/MeshFilter-mesh.html 

https://docs.unity3d.com/560/Documentation/Manual/class-State.html 

 

Maya -  

https://answers.unity.com/questions/616916/root-node-bone-turns-character-sideways.htm 

https://forum.unity.com/threads/guide-exporting-complex-rigs-from-maya-to-unity.83159/l 

https://docs.unity3d.com/Manual/FBXImporter-Rig.html 

 

© 2018 Kinematic Trainer

This site was designed with the
.com
website builder. Create your website today.
Start Now