Over the course of a weekend, I received a crash course in haptic interactions. As a part of that experience, we were asked to experiment with a few different haptic mechanisms and record our findings.
Haptic feedback or haptic interaction works with the sense of touch. Whereas most computer interfaces rely on a monitor to convey visual information through pixels and light, haptic interfaces are quite varied. At the moment, the most common element of a haptic interface is a vibrating motor. These are how cell phones notify users of incoming notifications while in silent mode. They are also the way the video game controllers provide “force-feedback.” Recently, Apple has begun to use advanced versions of these motors in their laptops, iPhones, and tablets to provide users with the illusion that they are using functioning buttons instead of touch-capacitive non-moving pieces of glass. This is all to say that haptic devices are growing in ubiquity and sophistication.
During our weekend session, we ran a number of experiments looking into how to work with this powerful tool. The main motor we used was an eccentric rotating mass (ERM) motor. This means that they have an unbalanced mass attached to the axel of the motor so that when it rotates, it can be felt moving.
Working with Nick Wallace, I set out to gain a better understanding of how haptics might be utilized in future projects.
One ERM Motor
Beginning with a single ERM motor, we began a series of simple experiments to familiarize ourselves with its strengths, weaknesses, and unique qualities.
Our first test was simply to observe and record our reactions to a motor turning on and turning off. The particular Arduino code we used was repurposed from their famous Blink Test code. Our main takeaway from this was that haptic feedback mechanisms need, perhaps more than other feedback mechanisms, to feel organic. Otherwise, the sensation will be jarring and unpleasant.
The Haptic Motor Controller
￼This was roughly translated into the following effects:
89: Transition ramp up long sharp 2 — 0 to 100%
1: Strong click — 100%
94: Transition ramp down long smooth 1 — 50 to 0%
44: Long double sharp tick 1 — 100%
83: Transition ramp up long smooth 2 — 0 to 100%
1: Strong click — 100%
100: Transition ramp down long sharp 1 — 50 to 0%
- Spacing: the motors felt uniform when too close and felt unrelated when too far. We found a spacing of about 1 every 1/2″ seemed about right.
- Timing: If the motors each turned on and off without any overlap, it would be read as three unrelated events. I even felt as though there was a gap in time between the former motor turning off and the latter motor turning on even though there wasn’t.
- Envelope: We found that tweaking the envelope helped in regard to imitate the feeling of there being a motor in the gaps between motors. About 150ms of overlap did the trick. This helped to create the impression that the vibration was gliding across the skin instead of each motor vibrating separately. It also removed the “time gap” feeling I had encountered.