Haptic Glove, Proof of Concept
I have been thinking about creating a haptic glove for a while now, and been very happy to collaborate with Pete, who also has a keen interest in VR innovation and is pretty nifty when it comes to writing code.
Such haptic glove allows interacting with virtual objects and receiving physical feedback to the tip of one’s fingers.
What we 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.
First steps we made were connecting Leap Motion, importing Leap Motion Unity assets into the Unity scene, and ensuring that hand tracking works well in Unity3D.
We then created a simple 3D environment in Unity3D that had objects with the colliders in it. This allowed us to virtually interact with those objects in the scene.
For the next step, we moved to setting up Arduino:
We 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.
- 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