Haptic Glove, Proof of Concept
I have been thinking about creating a haptic glove for a while to allow interacting with virtual objects and receiving physical feedback to the tip of one’s fingers.
What was used
- Leap Motion to track hand movements;
- Arduino to communicate with vibrating motors on the glove;
- Unity3D to create a virtual environment and send signals to be picked up by the Arduino;
- Online documentation and tutorials on Leap Motion, Arduino, Unity, as well as how to communicate from Unity 3D to Arduino;
- Glove, thread, needle.
Process
First steps made was connecting Leap Motion, importing Leap Motion Unity assets into the Unity scene, and ensuring that hand tracking works well in Unity3D.
I then created a simple 3D environment in Unity3D that had objects with the colliders in it. This allowed me to virtually interact with those objects in the scene.
For the next step, I moved to setting up Arduino:
Then connected Arduino with the vibrating motors and wrote a script to send information from Unity to Arduino — through the objects collision in the Unity environment. In other words, the virtual Leap Motion hand touching an object in Unity3D would trigger the motors to vibrate:
After experimenting with a few variations, we decided to synchronise the motor vibration time with the length of time that the virtual objects were colliding for.
Overall, I am very happy with what we’ve achieved, and it’s been a lot of fun to play with it.
Next steps
- Control Arduino via Bluetooth rather than USB port
- Attach Arduino to the glove
- Do research on palm sensors to match and place more vibrating motors to the glove
- Add more motors to the rest of the fingers
- Explore alternative ways to attach motors to the palm (fingers) rather than a glove